Repository: dotnet/eShopSupport Branch: main Commit: 1a772ff84f75 Files: 302 Total size: 22.5 MB Directory structure: gitextract_9atq3bqx/ ├── .config/ │ └── dotnet-tools.json ├── .editorconfig ├── .gitignore ├── CODE_OF_CONDUCT.md ├── Directory.Build.props ├── Directory.Packages.props ├── LICENSE ├── README.md ├── SECURITY.md ├── docs/ │ └── Architecture.pptx ├── eShopSupport.sln ├── nuget.config ├── seeddata/ │ ├── DataGenerator/ │ │ ├── .gitignore │ │ ├── ChatCompletionServiceExtensions.cs │ │ ├── DataGenerator.csproj │ │ ├── Generators/ │ │ │ ├── CategoryGenerator.cs │ │ │ ├── EvalQuestionGenerator.cs │ │ │ ├── GeneratorBase.cs │ │ │ ├── LocalTextEmbeddingGenerator.cs │ │ │ ├── ManualGenerator.cs │ │ │ ├── ManualPdfConverter.cs │ │ │ ├── ManualTocGenerator.cs │ │ │ ├── ProductGenerator.cs │ │ │ ├── TicketGenerator.cs │ │ │ ├── TicketSummaryGenerator.cs │ │ │ └── TicketThreadGenerator.cs │ │ ├── Model/ │ │ │ ├── Category.cs │ │ │ ├── EvalQuestion.cs │ │ │ ├── Manual.cs │ │ │ ├── ManualPdf.cs │ │ │ ├── ManualToc.cs │ │ │ ├── Product.cs │ │ │ ├── Role.cs │ │ │ ├── Ticket.cs │ │ │ ├── TicketThread.cs │ │ │ └── TicketThreadMessage.cs │ │ ├── Program.cs │ │ └── appsettings.json │ ├── dev/ │ │ ├── categories.json │ │ ├── customers.json │ │ ├── evalquestions.json │ │ ├── manual-chunks.json │ │ ├── products.json │ │ └── tickets.json │ └── test/ │ ├── categories.json │ ├── customers.json │ ├── evalquestions.json │ ├── manual-chunks.json │ ├── products.json │ └── tickets.json ├── src/ │ ├── AppHost/ │ │ ├── .gitignore │ │ ├── AppHost.csproj │ │ ├── Ollama/ │ │ │ ├── OllamaResource.cs │ │ │ └── OllamaResourceExtensions.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── Python/ │ │ │ └── PythonUvicornAppResourceBuilderExtensions.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── Backend/ │ │ ├── Api/ │ │ │ ├── AssistantApi.cs │ │ │ ├── CatalogApi.cs │ │ │ ├── TicketApi.cs │ │ │ └── TicketMessagingApi.cs │ │ ├── Backend.csproj │ │ ├── Data/ │ │ │ ├── AppDbContext.cs │ │ │ ├── AsyncEnumerableExtensions.cs │ │ │ ├── Customer.cs │ │ │ ├── ManualChunk.cs │ │ │ ├── Message.cs │ │ │ ├── Product.cs │ │ │ ├── ProductCategory.cs │ │ │ └── Ticket.cs │ │ ├── HttpContextUserIdentityExtensions.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── Services/ │ │ │ ├── ProductManualSemanticSearch.cs │ │ │ ├── ProductSemanticSearch.cs │ │ │ └── TicketSummarizer.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── CustomerWebUI/ │ │ ├── Components/ │ │ │ ├── App.razor │ │ │ ├── Layout/ │ │ │ │ ├── FooterBar.razor │ │ │ │ ├── FooterBar.razor.css │ │ │ │ ├── HeaderBar.razor │ │ │ │ ├── HeaderBar.razor.css │ │ │ │ ├── MainLayout.razor │ │ │ │ ├── MainLayout.razor.css │ │ │ │ ├── UserMenu.razor │ │ │ │ └── UserMenu.razor.css │ │ │ ├── Pages/ │ │ │ │ ├── Error.razor │ │ │ │ ├── Home.razor │ │ │ │ └── Support/ │ │ │ │ ├── Ticket.razor │ │ │ │ ├── Ticket.razor.css │ │ │ │ ├── TicketCreate.razor │ │ │ │ ├── TicketCreate.razor.css │ │ │ │ ├── TicketList.razor │ │ │ │ └── TicketList.razor.css │ │ │ ├── Routes.razor │ │ │ └── _Imports.razor │ │ ├── CustomerWebUI.csproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot/ │ │ └── css/ │ │ ├── app.css │ │ └── normalize.css │ ├── DataIngestor/ │ │ ├── DataIngestor.csproj │ │ ├── EvalQuestionIngestor.cs │ │ ├── ManualIngestor.cs │ │ ├── ManualZipIngestor.cs │ │ ├── PathUtils.cs │ │ ├── ProductCategoryIngestor.cs │ │ ├── ProductIngestor.cs │ │ ├── Program.cs │ │ └── TicketIngestor.cs │ ├── Evaluator/ │ │ ├── .gitignore │ │ ├── EvalQuestion.cs │ │ ├── Evaluator.csproj │ │ ├── Program.cs │ │ └── appsettings.json │ ├── IdentityServer/ │ │ ├── .gitignore │ │ ├── Config.cs │ │ ├── HostingExtensions.cs │ │ ├── IdentityServer.csproj │ │ ├── Pages/ │ │ │ ├── Account/ │ │ │ │ ├── AccessDenied.cshtml │ │ │ │ ├── AccessDenied.cshtml.cs │ │ │ │ ├── Create/ │ │ │ │ │ ├── Index.cshtml │ │ │ │ │ ├── Index.cshtml.cs │ │ │ │ │ └── InputModel.cs │ │ │ │ ├── Login/ │ │ │ │ │ ├── Index.cshtml │ │ │ │ │ ├── Index.cshtml.cs │ │ │ │ │ ├── InputModel.cs │ │ │ │ │ ├── LoginOptions.cs │ │ │ │ │ └── ViewModel.cs │ │ │ │ └── Logout/ │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ ├── LoggedOut.cshtml │ │ │ │ ├── LoggedOut.cshtml.cs │ │ │ │ ├── LoggedOutViewModel.cs │ │ │ │ └── LogoutOptions.cs │ │ │ ├── Ciba/ │ │ │ │ ├── All.cshtml │ │ │ │ ├── All.cshtml.cs │ │ │ │ ├── Consent.cshtml │ │ │ │ ├── Consent.cshtml.cs │ │ │ │ ├── ConsentOptions.cs │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ ├── InputModel.cs │ │ │ │ ├── ViewModel.cs │ │ │ │ └── _ScopeListItem.cshtml │ │ │ ├── Consent/ │ │ │ │ ├── ConsentOptions.cs │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ ├── InputModel.cs │ │ │ │ ├── ViewModel.cs │ │ │ │ └── _ScopeListItem.cshtml │ │ │ ├── Device/ │ │ │ │ ├── DeviceOptions.cs │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ ├── InputModel.cs │ │ │ │ ├── Success.cshtml │ │ │ │ ├── Success.cshtml.cs │ │ │ │ ├── ViewModel.cs │ │ │ │ └── _ScopeListItem.cshtml │ │ │ ├── Diagnostics/ │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ └── ViewModel.cs │ │ │ ├── Extensions.cs │ │ │ ├── ExternalLogin/ │ │ │ │ ├── Callback.cshtml │ │ │ │ ├── Callback.cshtml.cs │ │ │ │ ├── Challenge.cshtml │ │ │ │ └── Challenge.cshtml.cs │ │ │ ├── Grants/ │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ └── ViewModel.cs │ │ │ ├── Home/ │ │ │ │ └── Error/ │ │ │ │ ├── Index.cshtml │ │ │ │ ├── Index.cshtml.cs │ │ │ │ └── ViewModel.cs │ │ │ ├── IdentityServerSuppressions.cs │ │ │ ├── Index.cshtml │ │ │ ├── Index.cshtml.cs │ │ │ ├── Log.cs │ │ │ ├── Redirect/ │ │ │ │ ├── Index.cshtml │ │ │ │ └── Index.cshtml.cs │ │ │ ├── SecurityHeadersAttribute.cs │ │ │ ├── ServerSideSessions/ │ │ │ │ ├── Index.cshtml │ │ │ │ └── Index.cshtml.cs │ │ │ ├── Shared/ │ │ │ │ ├── _Layout.cshtml │ │ │ │ ├── _Nav.cshtml │ │ │ │ └── _ValidationSummary.cshtml │ │ │ ├── Telemetry.cs │ │ │ ├── TestUsers.cs │ │ │ ├── _ViewImports.cshtml │ │ │ └── _ViewStart.cshtml │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── launchSettings.json │ │ ├── appsettings.json │ │ └── wwwroot/ │ │ ├── css/ │ │ │ ├── site.css │ │ │ └── site.scss │ │ ├── js/ │ │ │ ├── signin-redirect.js │ │ │ └── signout-redirect.js │ │ └── lib/ │ │ ├── bootstrap/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── dist/ │ │ │ ├── css/ │ │ │ │ ├── bootstrap-grid.css │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ └── bootstrap.css │ │ │ └── js/ │ │ │ ├── bootstrap.bundle.js │ │ │ └── bootstrap.js │ │ ├── bootstrap4-glyphicons/ │ │ │ ├── LICENSE │ │ │ ├── css/ │ │ │ │ └── bootstrap-glyphicons.css │ │ │ └── maps/ │ │ │ ├── glyphicons-fontawesome.css │ │ │ └── glyphicons-fontawesome.less │ │ └── jquery/ │ │ ├── LICENSE.txt │ │ ├── README.md │ │ └── dist/ │ │ ├── jquery.js │ │ └── jquery.slim.js │ ├── PythonInference/ │ │ ├── PythonInference.pyproj │ │ ├── main.py │ │ ├── requirements.txt │ │ └── routers/ │ │ ├── classifier.py │ │ └── embedder.py │ ├── ServiceDefaults/ │ │ ├── Clients/ │ │ │ ├── Backend/ │ │ │ │ ├── CustomerBackendClient.cs │ │ │ │ ├── DevToolBackendClient.cs │ │ │ │ └── StaffBackendClient.cs │ │ │ ├── ChatCompletion/ │ │ │ │ ├── ChatCompletionServiceExtensions.cs │ │ │ │ ├── PreventStreamingWithFunctions.cs │ │ │ │ ├── ServiceCollectionChatClientExtensions.cs │ │ │ │ └── TestCachingChatClientBuilderExtensions.cs │ │ │ ├── HttpClientExtensions.cs │ │ │ ├── PythonInference/ │ │ │ │ └── PythonInferenceClient.cs │ │ │ └── QdrantHttpClientExtensions.cs │ │ ├── Extensions.cs │ │ └── ServiceDefaults.csproj │ └── StaffWebUI/ │ ├── Components/ │ │ ├── App.razor │ │ ├── Layout/ │ │ │ ├── LoginDisplay.razor │ │ │ ├── LoginDisplay.razor.css │ │ │ ├── MainLayout.razor │ │ │ ├── MainLayout.razor.css │ │ │ ├── ThemePicker.razor │ │ │ ├── ThemePicker.razor.css │ │ │ └── Title.razor │ │ ├── Pages/ │ │ │ ├── Account/ │ │ │ │ └── AccessDenied.razor │ │ │ ├── Error.razor │ │ │ ├── RedisSubscribingComponent.cs │ │ │ ├── Ticket/ │ │ │ │ ├── Ticket.razor │ │ │ │ ├── Ticket.razor.css │ │ │ │ ├── TicketAssistant.razor │ │ │ │ ├── TicketAssistant.razor.css │ │ │ │ ├── TicketAssistant.razor.js │ │ │ │ ├── TicketAssistantMessage.razor │ │ │ │ ├── TicketAssistantMessage.razor.css │ │ │ │ ├── TicketAssistantMessage.razor.js │ │ │ │ ├── TicketDetails.razor │ │ │ │ ├── TicketDetails.razor.css │ │ │ │ ├── TicketMessages.razor │ │ │ │ └── TicketMessages.razor.css │ │ │ └── Tickets/ │ │ │ ├── Columns/ │ │ │ │ ├── LinkPropertyColumn.cs │ │ │ │ └── LinkTemplateColumn.cs │ │ │ ├── SatisfactionIndicator.razor │ │ │ ├── SatisfactionIndicator.razor.css │ │ │ ├── Tickets.razor │ │ │ ├── Tickets.razor.css │ │ │ ├── TicketsFilter.razor │ │ │ └── TicketsFilter.razor.css │ │ ├── Routes.razor │ │ └── _Imports.razor │ ├── Program.cs │ ├── Properties/ │ │ └── launchSettings.json │ ├── StaffWebUI.csproj │ ├── appsettings.Development.json │ ├── appsettings.json │ └── wwwroot/ │ ├── app.css │ ├── manual.html │ ├── pdfjs-4.2.67-dist/ │ │ ├── LICENSE │ │ ├── build/ │ │ │ ├── pdf.mjs │ │ │ ├── pdf.sandbox.mjs │ │ │ └── pdf.worker.mjs │ │ └── web/ │ │ ├── viewer.css │ │ ├── viewer.html │ │ └── viewer.mjs │ └── theme-info.js └── test/ ├── E2ETest/ │ ├── ChatCompletionCache/ │ │ ├── 5AF0103EF2560BEC4FE94D21D18E3A1945C5202F7B452834A8FFC891322F321A.json │ │ ├── 6981B02D1211D89EAD2B18D2A00BC2CC55A0CAA06E294C0318ADBB35112EB9D7.json │ │ ├── 973247AA1FE93490986EF3435E4C6D88928EC469857A873D0899EB4389672BB0.json │ │ ├── C70A33FF52171DCD96D2BF8F41BC45DE1FA308FAF38030F5EFE5764FDA6F787A.json │ │ ├── E55E8743B91B9650A9C60E7DF7627B0B5C39C8CD35093DF9D6F6EE4CF476FE87.json │ │ └── F7F43C2AD0BFAB1D1CEECA1454D8C1DD286336B9E097A32FA1A8FFEEA785937E.json │ ├── E2ETest.csproj │ ├── GlobalUsings.cs │ ├── Infrastructure/ │ │ ├── AppHostFixture.cs │ │ ├── AppTestCollection.cs │ │ ├── LoginExtensions.cs │ │ └── PlaywrightTestBase.cs │ ├── TicketAssistantTest.cs │ └── TicketsListTest.cs └── EvaluationTests/ ├── AnswerScoringEvaluator.cs ├── EvalQuestion.cs ├── EvaluationTests.cs ├── EvaluationTests.csproj ├── README.md ├── Settings.cs └── appsettings.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .config/dotnet-tools.json ================================================ { "version": 1, "isRoot": true, "tools": { "microsoft.extensions.ai.evaluation.console": { "version": "9.3.0-preview.1.25126.9", "commands": [ "aieval" ], "rollForward": false } } } ================================================ FILE: .editorconfig ================================================ ############################### # Core EditorConfig Options # ############################### root = true # All files [*] indent_style = space # XML project files [*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] indent_size = 2 # XML config files [*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] indent_size = 2 # Code files [*.{cs,csx,vb,vbx}] indent_size = 4 insert_final_newline = true charset = utf-8-bom ############################### # .NET Coding Conventions # ############################### [*.{cs,vb}] # Organize usings dotnet_sort_system_directives_first = true # this. preferences dotnet_style_qualification_for_field = false:silent dotnet_style_qualification_for_property = false:silent dotnet_style_qualification_for_method = false:silent dotnet_style_qualification_for_event = false:silent # Language keywords vs BCL types preferences dotnet_style_predefined_type_for_locals_parameters_members = true:silent dotnet_style_predefined_type_for_member_access = true:silent # Parentheses preferences dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent # Modifier preferences dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent dotnet_style_readonly_field = true:suggestion # Expression-level preferences dotnet_style_object_initializer = true:suggestion dotnet_style_collection_initializer = true:suggestion dotnet_style_explicit_tuple_names = true:suggestion dotnet_style_null_propagation = true:suggestion dotnet_style_coalesce_expression = true:suggestion dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent dotnet_style_prefer_inferred_tuple_names = true:suggestion dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion dotnet_style_prefer_auto_properties = true:silent dotnet_style_prefer_conditional_expression_over_assignment = true:silent dotnet_style_prefer_conditional_expression_over_return = true:silent ############################### # Naming Conventions # ############################### # Style Definitions dotnet_naming_style.pascal_case_style.capitalization = pascal_case # Use PascalCase for constant fields dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style dotnet_naming_symbols.constant_fields.applicable_kinds = field dotnet_naming_symbols.constant_fields.applicable_accessibilities = * dotnet_naming_symbols.constant_fields.required_modifiers = const ############################### # C# Coding Conventions # ############################### [*.cs] # var preferences csharp_style_var_for_built_in_types = true:silent csharp_style_var_when_type_is_apparent = true:silent csharp_style_var_elsewhere = true:silent # Expression-bodied members csharp_style_expression_bodied_methods = false:silent csharp_style_expression_bodied_constructors = false:silent csharp_style_expression_bodied_operators = false:silent csharp_style_expression_bodied_properties = true:silent csharp_style_expression_bodied_indexers = true:silent csharp_style_expression_bodied_accessors = true:silent # Pattern matching preferences csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion csharp_style_pattern_matching_over_as_with_null_check = true:suggestion # Null-checking preferences csharp_style_throw_expression = true:suggestion csharp_style_conditional_delegate_call = true:suggestion # Modifier preferences csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion # Expression-level preferences csharp_prefer_braces = true:silent csharp_style_deconstructed_variable_declaration = true:suggestion csharp_prefer_simple_default_expression = true:suggestion csharp_style_prefer_local_over_anonymous_function = true:suggestion csharp_style_inlined_variable_declaration = true:suggestion ############################### # C# Formatting Rules # ############################### # New line preferences csharp_new_line_before_open_brace = all csharp_new_line_before_else = true csharp_new_line_before_catch = true csharp_new_line_before_finally = true csharp_new_line_before_members_in_object_initializers = true csharp_new_line_before_members_in_anonymous_types = true csharp_new_line_between_query_expression_clauses = true # Indentation preferences csharp_indent_case_contents = true csharp_indent_switch_labels = true csharp_indent_labels = flush_left # Space preferences csharp_space_after_cast = false csharp_space_after_keywords_in_control_flow_statements = true csharp_space_between_method_call_parameter_list_parentheses = false csharp_space_between_method_declaration_parameter_list_parentheses = false csharp_space_between_parentheses = false csharp_space_before_colon_in_inheritance_clause = true csharp_space_after_colon_in_inheritance_clause = true csharp_space_around_binary_operators = before_and_after csharp_space_between_method_declaration_empty_parameter_list_parentheses = false csharp_space_between_method_call_name_and_opening_parenthesis = false csharp_space_between_method_call_empty_parameter_list_parentheses = false # Wrapping preferences csharp_preserve_single_line_statements = true csharp_preserve_single_line_blocks = true ############################### # VB Coding Conventions # ############################### [*.vb] # Modifier preferences visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion ================================================ FILE: .gitignore ================================================ ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore # User-specific files *.rsuser *.suo *.user *.userosscache *.sln.docstates # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs # Mono auto generated files mono_crash.* # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ x64/ x86/ [Ww][Ii][Nn]32/ [Aa][Rr][Mm]/ [Aa][Rr][Mm]64/ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ [Ll]ogs/ # Visual Studio 2015/2017 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ # Visual Studio 2017 auto generated files Generated\ Files/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* # NUnit *.VisualState.xml TestResult.xml nunit-*.xml # Build Results of an ATL Project [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c # Benchmark Results BenchmarkDotNet.Artifacts/ # .NET Core project.lock.json project.fragment.lock.json artifacts/ # ASP.NET Scaffolding ScaffoldingReadMe.txt # StyleCop StyleCopReport.xml # Files built by Visual Studio *_i.c *_p.c *_h.h *.ilk *.meta *.obj *.iobj *.pch *.pdb *.ipdb *.pgc *.pgd *.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj *_wpftmp.csproj *.log *.tlog *.vspscc *.vssscc .builds *.pidb *.svclog *.scc # Chutzpah Test files _Chutzpah* # Visual C++ cache files ipch/ *.aps *.ncb *.opendb *.opensdf *.sdf *.cachefile *.VC.db *.VC.VC.opendb # Visual Studio profiler *.psess *.vsp *.vspx *.sap # Visual Studio Trace Files *.e2e # TFS 2012 Local Workspace $tf/ # Guidance Automation Toolkit *.gpState # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover # AxoCover is a Code Coverage Tool .axoCover/* !.axoCover/settings.json # Coverlet is a free, cross platform Code Coverage Tool coverage*.json coverage*.xml coverage*.info # Visual Studio code coverage results *.coverage *.coveragexml # NCrunch _NCrunch_* .*crunch*.local.xml nCrunchTemp_* # MightyMoose *.mm.* AutoTest.Net/ # Web workbench (sass) .sass-cache/ # Installshield output folder [Ee]xpress/ # DocProject is a documentation generator add-in DocProject/buildhelp/ DocProject/Help/*.HxT DocProject/Help/*.HxC DocProject/Help/*.hhc DocProject/Help/*.hhk DocProject/Help/*.hhp DocProject/Help/Html2 DocProject/Help/html # Click-Once directory publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml # Note: Comment the next line if you want to checkin your web deploy settings, # but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj # Microsoft Azure Web App publish settings. Comment the next line if you want to # checkin your Azure Web App publish settings, but sensitive information contained # in these scripts will be unencrypted PublishScripts/ # NuGet Packages *.nupkg # NuGet Symbol Packages *.snupkg # The packages folder can be ignored because of Package Restore **/[Pp]ackages/* # except build/, which is used as an MSBuild target. !**/[Pp]ackages/build/ # Uncomment if necessary however generally it will be regenerated when needed #!**/[Pp]ackages/repositories.config # NuGet v3's project.json files produces more ignorable files *.nuget.props *.nuget.targets # Microsoft Azure Build Output csx/ *.build.csdef # Microsoft Azure Emulator ecf/ rcf/ # Windows Store app package directories and files AppPackages/ BundleArtifacts/ Package.StoreAssociation.xml _pkginfo.txt *.appx *.appxbundle *.appxupload # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache !?*.[Cc]ache/ # Others ClientBin/ ~$* *~ *.dbmdl *.dbproj.schemaview *.jfm *.pfx *.publishsettings orleans.codegen.cs # Including strong name files can present a security risk # (https://github.com/github/gitignore/pull/2483#issue-259490424) #*.snk # Since there are multiple workflows, uncomment next line to ignore bower_components # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) #bower_components/ # RIA/Silverlight projects Generated_Code/ # Backup & report files from converting an old project file # to a newer Visual Studio version. Backup files are not needed, # because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm ServiceFabricBackup/ *.rptproj.bak # SQL Server files *.mdf *.ldf *.ndf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings *.rptproj.rsuser *- [Bb]ackup.rdl *- [Bb]ackup ([0-9]).rdl *- [Bb]ackup ([0-9][0-9]).rdl # Microsoft Fakes FakesAssemblies/ # GhostDoc plugin setting file *.GhostDoc.xml # Node.js Tools for Visual Studio .ntvs_analysis.dat node_modules/ # Visual Studio 6 build log *.plg # Visual Studio 6 workspace options file *.opt # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) *.vbw # Visual Studio 6 auto-generated project file (contains which files were open etc.) *.vbp # Visual Studio 6 workspace and project file (working project files containing files to include in project) *.dsw *.dsp # Visual Studio 6 technical files *.ncb *.aps # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts **/*.DesktopClient/ModelManifest.xml **/*.Server/GeneratedArtifacts **/*.Server/ModelManifest.xml _Pvt_Extensions # Paket dependency manager .paket/paket.exe paket-files/ # FAKE - F# Make .fake/ # CodeRush personal settings .cr/personal # Python Tools for Visual Studio (PTVS) __pycache__/ *.pyc # Cake - Uncomment if you are using it # tools/** # !tools/packages.config # Tabs Studio *.tss # Telerik's JustMock configuration file *.jmconfig # BizTalk build output *.btp.cs *.btm.cs *.odx.cs *.xsd.cs # OpenCover UI analysis results OpenCover/ # Azure Stream Analytics local run output ASALocalRun/ # MSBuild Binary and Structured Log *.binlog # NVidia Nsight GPU debugger configuration file *.nvuser # MFractors (Xamarin productivity tool) working folder .mfractor/ # Local History for Visual Studio .localhistory/ # Visual Studio History (VSHistory) files .vshistory/ # BeatPulse healthcheck temp database healthchecksdb # Backup folder for Package Reference Convert tool in Visual Studio 2017 MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ # Fody - auto-generated XML schema FodyWeavers.xsd # VS Code files for those working on multiple tools .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json *.code-workspace # Local History for Visual Studio Code .history/ # Windows Installer files from build outputs *.cab *.msi *.msix *.msm *.msp # JetBrains Rider *.sln.iml ================================================ FILE: CODE_OF_CONDUCT.md ================================================ # Microsoft Open Source Code of Conduct This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). Resources: - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns ================================================ FILE: Directory.Build.props ================================================ true enable ================================================ FILE: Directory.Packages.props ================================================ true true 8.6.0 8.2.2 9.4.4-preview.1.25259.16 9.4.4-preview.1.25259.16 ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) .NET Foundation. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE ================================================ FILE: README.md ================================================ # eShopSupport A sample .NET application showcasing common use cases and development practices for build AI solutions in .NET (Generative AI, specifically). This sample demonstrates a customer support application for an e-commerce website using a services-based architecture with .NET Aspire. It includes support for the following AI use cases: * Text classification, applying labels based on content * Sentiment analysis based on message content * Summarization of large sets of text * Synthetic data generation, creating test content for the sample * Chat bot interactions with chat history and suggested responses This sample also demonstrates the following development practices: * Developing a solution locally, using small local models * Evaluating the quality of AI responses using grounded Q&A data * Leveraging Python projects as part of a .NET Aspire solution * Deploying the application, including small local models, to the Cloud (coming soon) ## Architecture ![image](https://github.com/user-attachments/assets/3c339d0d-507a-416b-94ba-0e179d6ff2f5) ## Getting Started ### Prerequisites - A device with an Nvidia GPU (see [workaround for running on the CPU](https://github.com/dotnet/eShopSupport/issues/19)) - Clone the eShopSupport repository: https://github.com/dotnet/eshopsupport - [Install & start Docker Desktop](https://docs.docker.com/engine/install/) - [Install Python 3.12.5](https://www.python.org/downloads/release/python-3125/) #### Windows with Visual Studio - Install [Visual Studio 2022 version 17.10 or newer](https://visualstudio.microsoft.com/vs/) - Select the following workloads: - `ASP.NET and web development` workload. - `Python Development` workload. - `.NET Aspire SDK` component in `Individual components`. #### Mac, Linux, & Windows without Visual Studio - Install the latest [.NET 8 SDK](https://dot.net/download?cid=eshop) - Install the [.NET Aspire workload](https://learn.microsoft.com/dotnet/aspire/fundamentals/setup-tooling?tabs=dotnet-cli%2Cunix#install-net-aspire) with the following commands: ```powershell dotnet workload update dotnet workload install aspire dotnet restore eShopSupport.sln ``` - (Optionally) Install [Visual Studio Code](https://code.visualstudio.com) with the [C# Dev Kit extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) #### Install Python requirements From the Terminal, at the root of the cloned repo, run: ```powershell pip install -r src/PythonInference/requirements.txt ``` **Note:** If the above command doesn't work on Windows, use the following command: ```powershell py -m pip install -r src/PythonInference/requirements.txt ``` ### Running the solution > [!WARNING] > Remember to ensure that Docker is started. * (Windows only) Run the application from Visual Studio: - Open the `eShopSupport.sln` file in Visual Studio - Ensure that `AppHost` is your startup project - Hit Ctrl-F5 to launch .NET Aspire * Or run the application from your terminal: ```powershell dotnet run --project src/AppHost ``` then look for lines like this in the console output in order to find the URL to open the Aspire dashboard: ```sh Login to the dashboard at: http://localhost:17191/login?t=uniquelogincodeforyou ``` > You may need to install ASP.NET Core HTTPS development certificates first, and then close all browser tabs. Learn more at https://aka.ms/aspnet/https-trust-dev-cert # Contributing This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. # Sample data The sample data is defined in [seeddata](https://github.com/dotnet/eShopSupport/tree/main/seeddata). All products/descriptions/brands, manuals, customers, and support tickets names are fictional and were generated using [GPT-35-Turbo](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/chatgpt) using the included [DataGenerator](https://github.com/dotnet/eShopSupport/tree/main/seeddata/DataGenerator) project. ================================================ FILE: SECURITY.md ================================================ ## Security Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet) and [Xamarin](https://github.com/xamarin). If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below. ## Reporting Security Issues **Please do not report security vulnerabilities through public GitHub issues.** Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report). If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp). You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) * Full paths of source file(s) related to the manifestation of the issue * The location of the affected source code (tag/branch/commit or direct URL) * Any special configuration required to reproduce the issue * Step-by-step instructions to reproduce the issue * Proof-of-concept or exploit code (if possible) * Impact of the issue, including how an attacker might exploit the issue This information will help us triage your report more quickly. If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs. ## Preferred Languages We prefer all communications to be in English. ## Policy Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd). ================================================ FILE: eShopSupport.sln ================================================  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.0.31903.59 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{7306A281-C46A-4EE3-948D-513D56B1BD34}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Backend", "src\Backend\Backend.csproj", "{96F30B32-9DE5-450F-B54F-CFDFACC91AFF}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StaffWebUI", "src\StaffWebUI\StaffWebUI.csproj", "{D77F3443-68A2-4F6A-ABB8-0E7CA32643FA}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppHost", "src\AppHost\AppHost.csproj", "{BEE4A236-2112-44BF-8013-00542A07E4FE}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceDefaults", "src\ServiceDefaults\ServiceDefaults.csproj", "{D69799F9-BE09-4303-A67D-323A60AA8C0A}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataIngestor", "src\DataIngestor\DataIngestor.csproj", "{E0886BA7-F33C-4FB4-80D1-93FCC1C4A513}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "seeddata", "seeddata", "{2B17496A-5870-4676-927B-6B45871C7BBA}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dev", "dev", "{B3CDC49A-D71A-4C0D-945F-8DD69FC1B066}" ProjectSection(SolutionItems) = preProject seeddata\dev\categories.json = seeddata\dev\categories.json seeddata\dev\customers.json = seeddata\dev\customers.json seeddata\dev\evalquestions.json = seeddata\dev\evalquestions.json seeddata\dev\manual-chunks.json = seeddata\dev\manual-chunks.json seeddata\dev\manuals.zip = seeddata\dev\manuals.zip seeddata\dev\products.json = seeddata\dev\products.json seeddata\dev\tickets.json = seeddata\dev\tickets.json EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CustomerWebUI", "src\CustomerWebUI\CustomerWebUI.csproj", "{AAA2257C-D227-404A-8EDF-7BF6C5592D51}" EndProject Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "PythonInference", "src\PythonInference\PythonInference.pyproj", "{BAA14585-1716-40FB-A04E-F986F1038638}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{218618B1-A99C-4174-A13C-0C2CFD065D78}" ProjectSection(SolutionItems) = preProject Directory.Packages.props = Directory.Packages.props EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataGenerator", "seeddata\DataGenerator\DataGenerator.csproj", "{E2871C52-FBBF-44A4-A3CD-185E5F6AA7EB}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Evaluator", "src\Evaluator\Evaluator.csproj", "{A634C7D8-FD7D-49F5-A98E-626F0AEE145F}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{9E677D76-414B-492C-AF74-1B091F940D00}" ProjectSection(SolutionItems) = preProject seeddata\test\categories.json = seeddata\test\categories.json seeddata\test\customers.json = seeddata\test\customers.json seeddata\test\evalquestions.json = seeddata\test\evalquestions.json seeddata\test\manual-chunks.json = seeddata\test\manual-chunks.json seeddata\test\manuals.zip = seeddata\test\manuals.zip seeddata\test\products.json = seeddata\test\products.json seeddata\test\tickets.json = seeddata\test\tickets.json EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{51031120-B48D-4680-8808-26B64F235CB9}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "E2ETest", "test\E2ETest\E2ETest.csproj", "{F30843C3-AFB5-435E-8A7D-9B4C86A75E18}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityServer", "src\IdentityServer\IdentityServer.csproj", "{89404F66-90BC-4D45-9061-050334772CDC}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EvaluationTests", "test\EvaluationTests\EvaluationTests.csproj", "{6BE0D6D5-F251-4628-9FB9-B19C565FC5EB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {96F30B32-9DE5-450F-B54F-CFDFACC91AFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {96F30B32-9DE5-450F-B54F-CFDFACC91AFF}.Debug|Any CPU.Build.0 = Debug|Any CPU {96F30B32-9DE5-450F-B54F-CFDFACC91AFF}.Release|Any CPU.ActiveCfg = Release|Any CPU {96F30B32-9DE5-450F-B54F-CFDFACC91AFF}.Release|Any CPU.Build.0 = Release|Any CPU {D77F3443-68A2-4F6A-ABB8-0E7CA32643FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D77F3443-68A2-4F6A-ABB8-0E7CA32643FA}.Debug|Any CPU.Build.0 = Debug|Any CPU {D77F3443-68A2-4F6A-ABB8-0E7CA32643FA}.Release|Any CPU.ActiveCfg = Release|Any CPU {D77F3443-68A2-4F6A-ABB8-0E7CA32643FA}.Release|Any CPU.Build.0 = Release|Any CPU {BEE4A236-2112-44BF-8013-00542A07E4FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BEE4A236-2112-44BF-8013-00542A07E4FE}.Debug|Any CPU.Build.0 = Debug|Any CPU {BEE4A236-2112-44BF-8013-00542A07E4FE}.Release|Any CPU.ActiveCfg = Release|Any CPU {BEE4A236-2112-44BF-8013-00542A07E4FE}.Release|Any CPU.Build.0 = Release|Any CPU {D69799F9-BE09-4303-A67D-323A60AA8C0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D69799F9-BE09-4303-A67D-323A60AA8C0A}.Debug|Any CPU.Build.0 = Debug|Any CPU {D69799F9-BE09-4303-A67D-323A60AA8C0A}.Release|Any CPU.ActiveCfg = Release|Any CPU {D69799F9-BE09-4303-A67D-323A60AA8C0A}.Release|Any CPU.Build.0 = Release|Any CPU {E0886BA7-F33C-4FB4-80D1-93FCC1C4A513}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E0886BA7-F33C-4FB4-80D1-93FCC1C4A513}.Debug|Any CPU.Build.0 = Debug|Any CPU {E0886BA7-F33C-4FB4-80D1-93FCC1C4A513}.Release|Any CPU.ActiveCfg = Release|Any CPU {E0886BA7-F33C-4FB4-80D1-93FCC1C4A513}.Release|Any CPU.Build.0 = Release|Any CPU {AAA2257C-D227-404A-8EDF-7BF6C5592D51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AAA2257C-D227-404A-8EDF-7BF6C5592D51}.Debug|Any CPU.Build.0 = Debug|Any CPU {AAA2257C-D227-404A-8EDF-7BF6C5592D51}.Release|Any CPU.ActiveCfg = Release|Any CPU {AAA2257C-D227-404A-8EDF-7BF6C5592D51}.Release|Any CPU.Build.0 = Release|Any CPU {BAA14585-1716-40FB-A04E-F986F1038638}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BAA14585-1716-40FB-A04E-F986F1038638}.Release|Any CPU.ActiveCfg = Release|Any CPU {E2871C52-FBBF-44A4-A3CD-185E5F6AA7EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E2871C52-FBBF-44A4-A3CD-185E5F6AA7EB}.Debug|Any CPU.Build.0 = Debug|Any CPU {E2871C52-FBBF-44A4-A3CD-185E5F6AA7EB}.Release|Any CPU.ActiveCfg = Release|Any CPU {E2871C52-FBBF-44A4-A3CD-185E5F6AA7EB}.Release|Any CPU.Build.0 = Release|Any CPU {A634C7D8-FD7D-49F5-A98E-626F0AEE145F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A634C7D8-FD7D-49F5-A98E-626F0AEE145F}.Debug|Any CPU.Build.0 = Debug|Any CPU {A634C7D8-FD7D-49F5-A98E-626F0AEE145F}.Release|Any CPU.ActiveCfg = Release|Any CPU {A634C7D8-FD7D-49F5-A98E-626F0AEE145F}.Release|Any CPU.Build.0 = Release|Any CPU {F30843C3-AFB5-435E-8A7D-9B4C86A75E18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F30843C3-AFB5-435E-8A7D-9B4C86A75E18}.Debug|Any CPU.Build.0 = Debug|Any CPU {F30843C3-AFB5-435E-8A7D-9B4C86A75E18}.Release|Any CPU.ActiveCfg = Release|Any CPU {F30843C3-AFB5-435E-8A7D-9B4C86A75E18}.Release|Any CPU.Build.0 = Release|Any CPU {89404F66-90BC-4D45-9061-050334772CDC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {89404F66-90BC-4D45-9061-050334772CDC}.Debug|Any CPU.Build.0 = Debug|Any CPU {89404F66-90BC-4D45-9061-050334772CDC}.Release|Any CPU.ActiveCfg = Release|Any CPU {89404F66-90BC-4D45-9061-050334772CDC}.Release|Any CPU.Build.0 = Release|Any CPU {6BE0D6D5-F251-4628-9FB9-B19C565FC5EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6BE0D6D5-F251-4628-9FB9-B19C565FC5EB}.Debug|Any CPU.Build.0 = Debug|Any CPU {6BE0D6D5-F251-4628-9FB9-B19C565FC5EB}.Release|Any CPU.ActiveCfg = Release|Any CPU {6BE0D6D5-F251-4628-9FB9-B19C565FC5EB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {96F30B32-9DE5-450F-B54F-CFDFACC91AFF} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {D77F3443-68A2-4F6A-ABB8-0E7CA32643FA} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {BEE4A236-2112-44BF-8013-00542A07E4FE} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {D69799F9-BE09-4303-A67D-323A60AA8C0A} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {E0886BA7-F33C-4FB4-80D1-93FCC1C4A513} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {B3CDC49A-D71A-4C0D-945F-8DD69FC1B066} = {2B17496A-5870-4676-927B-6B45871C7BBA} {AAA2257C-D227-404A-8EDF-7BF6C5592D51} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {BAA14585-1716-40FB-A04E-F986F1038638} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {E2871C52-FBBF-44A4-A3CD-185E5F6AA7EB} = {2B17496A-5870-4676-927B-6B45871C7BBA} {A634C7D8-FD7D-49F5-A98E-626F0AEE145F} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {9E677D76-414B-492C-AF74-1B091F940D00} = {2B17496A-5870-4676-927B-6B45871C7BBA} {F30843C3-AFB5-435E-8A7D-9B4C86A75E18} = {51031120-B48D-4680-8808-26B64F235CB9} {89404F66-90BC-4D45-9061-050334772CDC} = {7306A281-C46A-4EE3-948D-513D56B1BD34} {6BE0D6D5-F251-4628-9FB9-B19C565FC5EB} = {51031120-B48D-4680-8808-26B64F235CB9} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B2E71FD9-E3D5-450C-A9E0-318DAA986F31} EndGlobalSection EndGlobal ================================================ FILE: nuget.config ================================================ ================================================ FILE: seeddata/DataGenerator/.gitignore ================================================ appsettings.Local.json output/ output-demo/ ================================================ FILE: seeddata/DataGenerator/ChatCompletionServiceExtensions.cs ================================================ using Microsoft.Extensions.DependencyInjection; using System.Data.Common; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.AI; using Azure.AI.OpenAI; using System.ClientModel; using OpenAI; namespace eShopSupport.DataGenerator; public static class ChatCompletionServiceExtensions { public static void AddOpenAIChatCompletion(this HostApplicationBuilder builder, string connectionStringName) { var connectionStringBuilder = new DbConnectionStringBuilder(); var connectionString = builder.Configuration.GetConnectionString(connectionStringName); if (string.IsNullOrEmpty(connectionString)) { throw new InvalidOperationException($"Missing connection string {connectionStringName}"); } connectionStringBuilder.ConnectionString = connectionString; var deployment = connectionStringBuilder.TryGetValue("Deployment", out var deploymentValue) ? (string)deploymentValue : throw new InvalidOperationException($"Connection string {connectionStringName} is missing 'Deployment'"); var endpoint = connectionStringBuilder.TryGetValue("Endpoint", out var endpointValue) ? (string)endpointValue : throw new InvalidOperationException($"Connection string {connectionStringName} is missing 'Endpoint'"); var key = connectionStringBuilder.TryGetValue("Key", out var keyValue) ? (string)keyValue : throw new InvalidOperationException($"Connection string {connectionStringName} is missing 'Key'"); builder.Services.AddSingleton(_ => new AzureOpenAIClient( new Uri(endpoint), new ApiKeyCredential(key))); builder.Services.AddChatClient(builder => builder.GetRequiredService().GetChatClient(deployment).AsIChatClient()) .UseFunctionInvocation(); } } ================================================ FILE: seeddata/DataGenerator/DataGenerator.csproj ================================================  Exe net8.0 enable enable eShopSupport.DataGenerator PreserveNewest PreserveNewest ================================================ FILE: seeddata/DataGenerator/Generators/CategoryGenerator.cs ================================================ using eShopSupport.DataGenerator.Model; using System.Text.RegularExpressions; namespace eShopSupport.DataGenerator.Generators; public class CategoryGenerator(IServiceProvider services) : GeneratorBase(services) { protected override string DirectoryName => "categories"; protected override object GetId(Category item) => item.CategoryId; protected override async IAsyncEnumerable GenerateCoreAsync() { // If there are any categories already, assume this covers everything we need if (Directory.GetFiles(OutputDirPath).Any()) { yield break; } var numCategories = 50; var batchSize = 25; var categoryNames = new HashSet(); while (categoryNames.Count < numCategories) { Console.WriteLine($"Generating {batchSize} categories..."); var prompt = @$"Generate {batchSize} product category names for an online retailer of high-tech outdoor adventure goods and related clothing/electronics/etc. Each category name is a single descriptive term, so it does not use the word 'and'. Category names should be interesting and novel, e.g., ""Mountain Unicycles"", ""AI Boots"", or ""High-volume Water Filtration Plants"", not simply ""Tents"". This retailer sells relatively technical products. Each category has a list of up to 8 brand names that make products in that category. All brand names are purely fictional. Brand names are usually multiple words with spaces and/or special characters, e.g. ""Orange Gear"", ""Aqua Tech US"", ""Livewell"", ""E & K"", ""JAXⓇ"". Many brand names are used in multiple categories. Some categories have only 2 brands. The response should be a JSON object of the form {{ ""categories"": [{{""name"":""Tents"", ""brands"":[""Rosewood"", ""Summit Kings""]}}, ...] }}."; var response = await GetAndParseJsonChatCompletion(prompt, maxTokens: 70 * batchSize); foreach (var c in response.Categories) { if (categoryNames.Add(c.Name)) { c.CategoryId = categoryNames.Count; c.Brands = c.Brands.Select(ImproveBrandName).ToArray(); yield return c; } } } } private static string ImproveBrandName(string name) { // Almost invariably, the name is a PascalCase word like AquaTech, even though we told it to use spaces. // For variety, convert to "Aqua Tech" or "Aquatech" sometimes. return Regex.Replace(name, @"([a-z])([A-Z])", m => Random.Shared.Next(3) switch { 0 => $"{m.Groups[1].Value} {m.Groups[2].Value}", 1 => $"{m.Groups[1].Value}{m.Groups[2].Value.ToLower()}", _ => m.Value }); } private class Response { public required List Categories { get; set; } } } ================================================ FILE: seeddata/DataGenerator/Generators/EvalQuestionGenerator.cs ================================================ using System.Text; using System.Threading.Channels; using eShopSupport.DataGenerator.Model; namespace eShopSupport.DataGenerator.Generators; public class EvalQuestionGenerator(IReadOnlyList products, IReadOnlyList categories, IReadOnlyList manuals, IServiceProvider services) : GeneratorBase(services) { protected override string DirectoryName => "evalquestions"; protected override object GetId(EvalQuestion item) => item.QuestionId; protected override async IAsyncEnumerable GenerateCoreAsync() { // If there are any questions already, assume this covers everything we need if (Directory.GetFiles(OutputDirPath).Any()) { yield break; } var numQuestions = 500; var questionId = 0; var outputChannel = Channel.CreateUnbounded(); var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = 10 }; CompleteOutputAfterTask(outputChannel.Writer, Parallel.ForAsync(0, numQuestions, parallelOptions, async (_, _) => { var item = await GenerateSingle(); if (!string.IsNullOrWhiteSpace(item.Question) && !string.IsNullOrEmpty(item.Answer)) { item.QuestionId = Interlocked.Increment(ref questionId); await outputChannel.Writer.WriteAsync(item); } })); await foreach (var item in outputChannel.Reader.ReadAllAsync()) { yield return item; } } private static void CompleteOutputAfterTask(ChannelWriter writer, Task task) { Task.Run(async () => { try { await task; writer.Complete(); } catch (Exception ex) { writer.Complete(ex); } }); } private async Task GenerateSingle() { var product = products[Random.Shared.Next(products.Count)]; var category = categories.Single(c => c.CategoryId == product.CategoryId); var manual = manuals.Single(m => m.ProductId == product.ProductId); var manualExtract = ManualGenerator.ExtractFromManual(manual); var isQuestionWrittenByAgent = Random.Shared.NextDouble() < 0.75; var questionPrompt = isQuestionWrittenByAgent ? """ Questions are short, typically 3-6 words, and are not always full sentences. They may look like search queries or things typed in a hurry by a support agent. They are not polite or verbose, since they are addressed to a machine. Example questions might be "weight", "what are the dimensions", "how to shut down", "can use on pets?", "what accessories does it come with?" """ : """ The question is actually an entire email written by a customer. It usually starts with a greeting, some description of their situation, and then their question. The whole thing may be up to 100 words long. It may contain spelling and grammar errors, and may be angry or rude. """; var question = await GetAndParseJsonChatCompletion($$""" There is an AI system used by customer support agents working for an online retailer. The AI system is used to help agents answer customer questions. Your task is to write question/answer pairs that will be used to evaluate the performance of that AI system. All the questions you write will be about actual products sold by that retailer, based on information from the product catalog and manuals. The questions should plausibly represent what customers and support agents will ask. In this case, you are to write a question/answer pair based on the following context: {{product.Model}} {{product.Brand}} {{category.Name}} {{manualExtract}} Questions are one of the following types: - A pre-purchase question to help a customer who wants to know about the product features, suitability for particular use cases, or other objective facts - A post-purchase question to help a customer resolve an issue or understand how to use the product You must select an OBJECTIVE FACT from the product manual and write a question to which that fact is the answer. Only select facts that are distinctive about this specific product, not generic information about any product or warranty terms. Always follow these style guidelines: - {{questionPrompt}} - Answers are short, typically a single brief sentence of 1-10 words. Never use more than 20 words for an answer. - The "verbatim_quote_from_manual" is 3-6 words taken EXACTLY from the manual which are the factual basis for the question and asnwer. - If the provided context does not contain a suitable fact, set all the response properties to null or empty strings. Respond as JSON in the following form: { "question": "string", "answer": "string", "verbatimQuoteFromManual": "string" } """); question.ProductId = product.ProductId; return question; } } ================================================ FILE: seeddata/DataGenerator/Generators/GeneratorBase.cs ================================================ using Microsoft.Extensions.AI; using Microsoft.Extensions.DependencyInjection; using System.Diagnostics; using System.Text; using System.Text.Json; using System.Threading.Channels; namespace eShopSupport.DataGenerator.Generators; public abstract class GeneratorBase { protected abstract string DirectoryName { get; } protected abstract object GetId(T item); public static string OutputDirRoot => Path.Combine(AppContext.BaseDirectory, "..", "..", "..", "output"); protected string OutputDirPath => Path.Combine(OutputDirRoot, DirectoryName); protected JsonSerializerOptions SerializerOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web) { WriteIndented = true }; public GeneratorBase(IServiceProvider services) { ChatClient = services.GetRequiredService(); } public async Task> GenerateAsync() { if (!Directory.Exists(OutputDirPath)) { Directory.CreateDirectory(OutputDirPath); } var sw = Stopwatch.StartNew(); await foreach (var item in GenerateCoreAsync()) { sw.Stop(); Console.WriteLine($"Writing {item!.GetType().Name} {GetId(item)} [generated in {sw.Elapsed.TotalSeconds}s]"); var path = GetItemOutputPath(GetId(item).ToString()!); await WriteAsync(path, item); sw.Restart(); } var existingFiles = Directory.GetFiles(OutputDirPath); return existingFiles.Select(Read).ToList(); } protected string GetItemOutputPath(string id) => Path.Combine(OutputDirPath, $"{id}{FilenameExtension}"); protected abstract IAsyncEnumerable GenerateCoreAsync(); protected IChatClient ChatClient { get; } protected async Task GetCompletion(string prompt) { // Instructing it to end the content with END_OF_CONTENT is beneficial because it often tries to add a suffix like // "I have done the task, hope this helps!". We can avoid that by making it stop before that. var response = await ChatClient.GetResponseAsync( prompt, new ChatOptions { Temperature = 0.9f, StopSequences = ["END_OF_CONTENT"] }); return response.Text ?? string.Empty; } protected async Task GetAndParseJsonChatCompletion(string prompt, int? maxTokens = null, IList? tools = null) { var options = new ChatOptions { // MaxOutputTokens = maxTokens, // TODO: Re-enable when https://github.com/dotnet/temp-ai-abstractions/issues/294 is fixed Temperature = 0.9f, ResponseFormat = ChatResponseFormat.Json, Tools = tools, }; var response = await RunWithRetries(() => ChatClient.GetResponseAsync(prompt, options)); var responseString = response.Text ?? string.Empty; // Due to what seems like a server-side bug, when asking for a json_object response and with tools enabled, // it often replies with two or more JSON objects concatenated together (duplicates or slight variations). // As a workaround, just read the first complete JSON object from the response. var parsed = ReadAndDeserializeSingleValue(responseString, SerializerOptions)!; return parsed; } private static async Task RunWithRetries(Func> operation) { var delay = TimeSpan.FromSeconds(5); var maxAttempts = 5; for (var attemptIndex = 1; ; attemptIndex++) { try { return await operation(); } catch (Exception e) when (attemptIndex < maxAttempts) { Console.WriteLine($"Exception on attempt {attemptIndex}: {e.Message}. Will retry after {delay}"); await Task.Delay(delay); delay += TimeSpan.FromSeconds(15); } } } private static TResponse? ReadAndDeserializeSingleValue(string json, JsonSerializerOptions options) { var reader = new Utf8JsonReader(Encoding.UTF8.GetBytes(json).AsSpan()); return JsonSerializer.Deserialize(ref reader, options); } protected virtual string FilenameExtension => ".json"; protected virtual Task WriteAsync(string path, T item) { var itemJson = JsonSerializer.Serialize(item, SerializerOptions); return File.WriteAllTextAsync(path, itemJson); } protected virtual T Read(string path) { try { using var existingJson = File.OpenRead(path); return JsonSerializer.Deserialize(existingJson, SerializerOptions)!; } catch (Exception ex) { Console.WriteLine($"Error reading {path}: {ex.Message}"); throw; } } protected IAsyncEnumerable MapParallel(IEnumerable source, Func> map) { var outputs = Channel.CreateUnbounded(); var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = 5 }; var mapTask = Parallel.ForEachAsync(source, parallelOptions, async (sourceItem, ct) => { try { var mappedItem = await map(sourceItem); await outputs.Writer.WriteAsync(mappedItem); } catch (Exception ex) { outputs.Writer.TryComplete(ex); } }); mapTask.ContinueWith(_ => outputs.Writer.TryComplete()); return outputs.Reader.ReadAllAsync(); } } ================================================ FILE: seeddata/DataGenerator/Generators/LocalTextEmbeddingGenerator.cs ================================================ using Microsoft.Extensions.AI; using SmartComponents.LocalEmbeddings; namespace eShopSupport.DataGenerator.Generators; public class LocalTextEmbeddingGenerator : IEmbeddingGenerator> { private readonly LocalEmbedder _embedder = new(); public EmbeddingGeneratorMetadata Metadata => new("local"); public void Dispose() => _embedder.Dispose(); public Task>> GenerateAsync(IEnumerable values, EmbeddingGenerationOptions? options = null, CancellationToken cancellationToken = default) { var results = values.Select(v => new Embedding(_embedder.Embed(v).Values)).ToList(); return Task.FromResult(new GeneratedEmbeddings>(results)); } public object? GetService(Type serviceType, object? key = null) => serviceType == typeof(IEmbeddingGenerator>) ? this : null; } ================================================ FILE: seeddata/DataGenerator/Generators/ManualGenerator.cs ================================================ using eShopSupport.DataGenerator.Model; using System.Text; namespace eShopSupport.DataGenerator.Generators; public class ManualGenerator(IReadOnlyList categories, IReadOnlyList products, IReadOnlyList manualTocs, IServiceProvider services) : GeneratorBase(services) { protected override string DirectoryName => $"manuals{Path.DirectorySeparatorChar}full"; protected override object GetId(Manual item) => item.ProductId; protected override IAsyncEnumerable GenerateCoreAsync() { // Skip the ones we already have var manualsToGenerate = manualTocs.Where(toc => !File.Exists(GetItemOutputPath(toc.ProductId.ToString()))); return MapParallel(manualsToGenerate, GenerateManualAsync); } private async Task GenerateManualAsync(ManualToc toc) { var product = products.Single(p => p.ProductId == toc.ProductId); var category = categories.Single(c => c.CategoryId == product.CategoryId); var result = new StringBuilder(); result.AppendLine($"# {product.Model}"); result.AppendLine(); var desiredSubsectionWordLength = 500; foreach (var section in toc.Sections) { Console.WriteLine($"[Product {product.ProductId}] Generating manual section {section.SiblingIndex}: {section.Title}"); var prompt = $@"Write a section of the user manual for the following product: Category: {category.Name} Brand: {product.Brand} Product name: {product.Model} Product overview: {product.Description} Manual style description: {toc.ManualStyle} (note: the text MUST follow this style, even if it makes the manual less helpful to reader) The section you are writing is ""{section.SiblingIndex}: {section.Title}"". It has the following structure: {FormatTocForPrompt(section)} Write in markdown format including any headings or subheadings. The total length is around 100 words. Start your reponse with the section title, which is at markdown header level 2, and include any relevant subsections. You response must start: ""## {section.SiblingIndex}. {section.Title}"" Besides the subsections mentioned in contents, you should deeper subsections as appropriate. Use markdown formatting, including paragraphs, blank lines, bold, italics, tables, and lists as needed. Use mermaid diagrams when appropriate, but don't say it's a mermaid diagram in the body text. Make the text specific to this individual product, not generic. Refer to the product by name, to its brand, and to its specific features, buttons, parts, and controls by name (identifying them by color, position, etc.). The output length should be around {desiredSubsectionWordLength * CountSubtreeLength(section)} words in total, or {desiredSubsectionWordLength} words per subsection. Do not include any commentary or remarks about the task itself or the fact that you have done it. Only output the markdown text for the section. At the end of the section, add the token END_OF_CONTENT. This is the official product manual, and the company requires it to be written in the specified style due to strategy. "; var response = await GetCompletion(prompt); result.AppendLine(response); result.AppendLine(); } return new Manual { ProductId = product.ProductId, MarkdownText = result.ToString() }; } private static string FormatTocForPrompt(ManualTocSection section) { var sb = new StringBuilder(); AppendSection(sb, section); return sb.ToString(); static void AppendSection(StringBuilder sb, ManualTocSection section, string ancestorSectionPrefix = "") { var fullSectionNumber = string.IsNullOrEmpty(ancestorSectionPrefix) ? section.SiblingIndex.ToString() : $"{ancestorSectionPrefix}.{section.SiblingIndex}"; sb.AppendLine($"{fullSectionNumber}: {section.Title}"); if (section.Subsections?.Any() == true) { foreach (var s in section.Subsections) { AppendSection(sb, s, fullSectionNumber); } } } } private static int CountSubtreeLength(ManualTocSection tocSection) { return 1 + tocSection.Subsections?.Sum(CountSubtreeLength) ?? 0; } protected override string FilenameExtension => ".md"; protected override Task WriteAsync(string path, Manual item) { return File.WriteAllTextAsync(path, item.MarkdownText); } protected override Manual Read(string path) => new Manual { ProductId = int.Parse(Path.GetFileNameWithoutExtension(path)), MarkdownText = File.ReadAllText(path) }; public static string ExtractFromManual(Manual manual) { // We don't want to push the entire manual text into the prompt as it may be arbitrarily long // Instead, pick a lengthy chunk at random. // TODO: Consider storing the markdown in a more structured, per-TOC-section way, so // we can more easily extract a coherent section of text. var approxExtractLengthInChars = 1500; var startChar = Random.Shared.Next(manual.MarkdownText.Length - approxExtractLengthInChars); // Find the line containing this char var lines = manual.MarkdownText.Split('\n', StringSplitOptions.RemoveEmptyEntries); var lineIndexContainingStartChar = 0; for (var numCharsSeen = 0; numCharsSeen < startChar; lineIndexContainingStartChar++) { numCharsSeen += lines[lineIndexContainingStartChar].Length; } // Add lines until we have enough text var extract = new StringBuilder(); for (var i = lineIndexContainingStartChar; i < lines.Length; i++) { extract.AppendLine(lines[i]); if (extract.Length >= approxExtractLengthInChars) { break; } } return extract.ToString(); } } ================================================ FILE: seeddata/DataGenerator/Generators/ManualPdfConverter.cs ================================================ using eShopSupport.DataGenerator.Model; using Markdown2Pdf; using Markdown2Pdf.Options; using System.Text.RegularExpressions; namespace eShopSupport.DataGenerator.Generators; public class ManualPdfConverter(IReadOnlyList products, IReadOnlyList manuals) { Markdown2PdfConverter CreateConverter(Product product) => new(new() { DocumentTitle = product.Model, MarginOptions = new() { Top = "80px", Bottom = "80px", Left = "75px", Right = "75px", }, TableOfContents = new() { ListStyle = ListStyle.None, MinDepthLevel = 2, MaxDepthLevel = 4, PageNumberOptions = new() { TabLeader = Leader.Dots, }, }, CustomHeadContent = @"", HeaderHtml = "", FooterHtml = $"
(c) {product.Brand}
", }); public async Task> ConvertAsync() { var results = new List(); foreach (var manual in manuals) { var outputDir = Path.Combine(GeneratorBase.OutputDirRoot, "manuals", "pdf"); var outputPath = Path.Combine(outputDir, $"{manual.ProductId}.pdf"); results.Add(new ManualPdf { ProductId = manual.ProductId, LocalPath = outputPath }); if (File.Exists(outputPath)) { continue; } Directory.CreateDirectory(outputDir); // Insert TOC marker after first level-1 heading var firstMatch = true; var markdown = Regex.Replace(manual.MarkdownText, "^(# .*\r?\n)", match => { if (firstMatch) { firstMatch = false; return match.Value + "\n[TOC]\n\n"; } else { return match.Value; } }, RegexOptions.Multiline); using var inputFile = new TempFile(markdown); var product = products.Single(p => p.ProductId == manual.ProductId); var converter = CreateConverter(product); await converter.Convert(inputFile.FilePath, outputPath); Console.WriteLine($"Wrote {Path.GetFileName(outputPath)}"); } return results; } private class TempFile : IDisposable { public string FilePath { get; } public TempFile(string contents) { FilePath = Path.GetTempFileName(); File.WriteAllText(FilePath, contents); } public void Dispose() => File.Delete(FilePath); } } ================================================ FILE: seeddata/DataGenerator/Generators/ManualTocGenerator.cs ================================================ using eShopSupport.DataGenerator.Model; namespace eShopSupport.DataGenerator.Generators; public class ManualTocGenerator(IReadOnlyList categories, IReadOnlyList products, IServiceProvider services) : GeneratorBase(services) { protected override string DirectoryName => $"manuals{Path.DirectorySeparatorChar}toc"; protected override object GetId(ManualToc item) => item.ProductId; protected override IAsyncEnumerable GenerateCoreAsync() { return MapParallel( products.Where(p => !File.Exists(GetItemOutputPath(p.ProductId.ToString()))), GenerateTocForProductAsync); } private async Task GenerateTocForProductAsync(Product product) { // An issue with current LLMs is that, unless strongly prompted otherwise, they tend to write // in a very insipid, bland style that is frustrating to read. A mitigation is to offer strong // and even surprising style guidance to vary the results. Some of the following styles may sound // silly or unprofessional, but this level of hinting is necessary to get the desired variety. var styles = new[] { "normal", "friendly", "trying to be cool and hip, with lots of emojis", "extremely formal and embarassingly over-polite", "extremely technical, with many references to industrial specifications. Require the user to perform complex diagnostics using specialized industrial and scientific equipment before and after use. Refer to standards bodies, formal industry specification codes, and academic research papers", "extremely badly translated from another language - most sentences are in broken English, grammatically incorrect, and misspelled", "confusing and often off-topic, with spelling mistakes", "incredibly negative and risk-averse, implying it would be unreasonable to use the product for any use case at all, and that it must not be used even for its most obvious and primary use case. Do not admit any design or manufacturing faults. Do not apologise that the product is unsuitable. No matter what the user may be trying to do, emphasize that the product must not be used in that specific way. Give examples of harms that came to prior users.", }; var chosenStyle = styles[Random.Shared.Next(styles.Length)]; var category = categories.Single(c => c.CategoryId == product.CategoryId); var prompt = @$"Write a suggested table of contents for the user manual for the following product: Category: {category.Name} Brand: {product.Brand} Product name: {product.Model} Overview: {product.Description} The manual MUST be written in the following style: {chosenStyle} The table of contents MUST follow that style, even if it makes the manual useless to users. The response should be a JSON object of the form {{ ""sections"": [ {{ ""title"": ""..."", ""subsections"": [ {{ ""title"": ""..."", ""subsections"": [...] }}, ... ] }}, ... ] }} Subsections can be nested up to 3 levels deep. Most sections have no subsections. Only use subsections for the most important, longest sections."; var toc = await GetAndParseJsonChatCompletion(prompt, maxTokens: 4000); toc.ManualStyle = chosenStyle; toc.ProductId = product.ProductId; PopulateSiblingIndexes(toc.Sections); return toc; } void PopulateSiblingIndexes(List sections) { for (var index = 0; index < sections.Count; index++) { var section = sections[index]; section.SiblingIndex = index + 1; if (section.Subsections is not null) { PopulateSiblingIndexes(section.Subsections); } } } } ================================================ FILE: seeddata/DataGenerator/Generators/ProductGenerator.cs ================================================ using eShopSupport.DataGenerator.Model; namespace eShopSupport.DataGenerator.Generators; public class ProductGenerator(IReadOnlyList categories, IServiceProvider services) : GeneratorBase(services) { protected override string DirectoryName => "products"; protected override object GetId(Product item) => item.ProductId; protected override async IAsyncEnumerable GenerateCoreAsync() { // If there are any products already, assume this covers everything we need if (Directory.GetFiles(OutputDirPath).Any()) { yield break; } var numProducts = 200; var batchSize = 5; var productId = 0; var mappedBatches = MapParallel(Enumerable.Range(0, numProducts / batchSize), async batchIndex => { var chosenCategories = Enumerable.Range(0, batchSize) .Select(_ => categories[(int)Math.Floor(categories.Count * Random.Shared.NextDouble())]) .ToList(); var prompt = @$"Write list of {batchSize} products for an online retailer of outdoor adventure goods and related electronics, clothing, and homeware. There is a focus on high-tech products. They match the following category/brand pairs: {string.Join(Environment.NewLine, chosenCategories.Select((c, index) => $"- product {(index + 1)}: category {c.Name}, brand: {c.Brands[Random.Shared.Next(c.Brands.Length)]}"))} Model names are up to 50 characters long, but usually shorter. Sometimes they include numbers, specs, or product codes. Example model names: ""iGPS 220c 64GB"", ""Nomad Camping Stove"", ""UX Polarized Sunglasses (Womens)"", ""40L Backpack, Green"" Do not repeat the brand name in the model name. The description is up to 200 characters long and is the marketing text that will appear on the product page. Include the key features and selling points. The result should be JSON form {{ ""products"": [{{ ""id"": 1, ""brand"": ""string"", ""model"": ""string"", ""description"": ""string"", ""price"": 123.45 }}] }}."; var response = await GetAndParseJsonChatCompletion(prompt, maxTokens: 200 * batchSize); var batchEntryIndex = 0; foreach (var p in response.Products!) { var category = chosenCategories[batchEntryIndex++]; p.CategoryId = category.CategoryId; } return response.Products; }); await foreach (var batch in mappedBatches) { foreach (var p in batch) { p.ProductId = ++productId; yield return p; } } } class Response { public List? Products { get; set; } } } ================================================ FILE: seeddata/DataGenerator/Generators/TicketGenerator.cs ================================================ using eShopSupport.DataGenerator.Model; namespace eShopSupport.DataGenerator.Generators; public class TicketGenerator(IReadOnlyList products, IReadOnlyList categories, IReadOnlyList manuals, IServiceProvider services) : GeneratorBase(services) { protected override string DirectoryName => "tickets/enquiries"; protected override object GetId(Ticket item) => item.TicketId; protected override async IAsyncEnumerable GenerateCoreAsync() { // If there are any tickets already, assume this covers everything we need if (Directory.GetFiles(OutputDirPath).Any()) { yield break; } var numTickets = 500; var batchSize = 10; var ticketId = 0; string[] situations = [ "asking about a particular usage scenario before purchase", "asking a specific technical question about the product's capabilities", "needs information on the product's suitability for its most obvious use case", "unable to make the product work in one particular way", "thinks the product doesn't work at all", "can't understand how to do something", "has broken the product", "needs reassurance that the product is behaving as expected", "wants to use the product for a wildly unexpected purpose, but without self-awareness and assumes it's reasonable", "incredibly fixated on one minor, obscure detail (before or after purchase), but without self-awareness that they are fixated on an obscure matter. Do not use the word 'fixated'.", "a business-to-business enquiry from another retailer who stocks the product and has their own customer enquiries to solve", ]; string[] styles = [ "polite", "extremely jovial, as if trying to be best friends", "formal", "embarassed and thinks they are the cause of their own problem", "not really interested in communicating clearly, only using a few words and assuming support can figure it out", "demanding and entitled", "frustrated and angry", "grumpy, and trying to claim there are logical flaws in whatever the support agent has said", "extremely brief and abbreviated, by a teenager typing on a phone while distracted by another task", "extremely technical, as if trying to prove the superiority of their own knowledge", "relies on extremely, obviously false assumptions, but is earnest and naive", "providing almost no information, so it's impossible to know what they want or why they are submitting the support message", ]; while (ticketId < numTickets) { var numInBatch = Math.Min(batchSize, numTickets - ticketId); var ticketsInBatch = await Task.WhenAll(Enumerable.Range(0, numInBatch).Select(async _ => { var product = products[Random.Shared.Next(products.Count)]; var category = categories.Single(c => c.CategoryId == product.CategoryId); var situation = situations[Random.Shared.Next(situations.Length)]; var style = styles[Random.Shared.Next(styles.Length)]; var manual = manuals.Single(m => m.ProductId == product.ProductId); var manualExtract = ManualGenerator.ExtractFromManual(manual); var prompt = @$"You are creating test data for a customer support ticketing system. Write a message by a customer who has purchased, or is considering purchasing, the following: Product: {product.Model} Brand: {product.Brand} Category: {category.Name} Description: {product.Description} Random extract from manual: {manualExtract} The situation is: {situation} If applicable, they can ask for a refund/replacement/repair. However in most cases they are asking for information or help with a problem. The customer writes in the following style: {style} Create a name for the author, writing the message as if you are that person. The customer name should be fictional and random, and not based on the support enquiry itself. Do not use cliched or stereotypical names. Where possible, the message should refer to something specific about this product such as a feature mentioned in its description or a fact mentioned in the manual (but the customer does not refer to having read the manual). The message length may be anything from very brief (around 10 words) to very long (around 200 words). Use blank lines for paragraphs if needed. The result should be JSON form {{ ""customerFullName"": ""string"", ""message"": ""string"" }}."; var ticket = await GetAndParseJsonChatCompletion(prompt); ticket.ProductId = product.ProductId; ticket.CustomerSituation = situation; ticket.CustomerStyle = style; return ticket; })); foreach (var t in ticketsInBatch) { t.TicketId = ++ticketId; yield return t; } } } } ================================================ FILE: seeddata/DataGenerator/Generators/TicketSummaryGenerator.cs ================================================ using eShopSupport.DataGenerator.Model; using System.Text.Json; using System.Text.Json.Serialization; namespace eShopSupport.DataGenerator.Generators; public class TicketSummaryGenerator(IReadOnlyList products, IReadOnlyList threads, IServiceProvider services) : GeneratorBase(services) { protected override object GetId(TicketThread item) => item.TicketId; protected override string DirectoryName => "tickets/threads"; protected override IAsyncEnumerable GenerateCoreAsync() { var threadsNeedingSummaries = threads.Where( thread => string.IsNullOrEmpty(thread.ShortSummary) || string.IsNullOrEmpty(thread.LongSummary) || !thread.TicketStatus.HasValue || !thread.TicketType.HasValue); return MapParallel(threadsNeedingSummaries, async thread => { await GenerateSummaryAsync(thread); return thread; }); } private async Task GenerateSummaryAsync(TicketThread thread) { // The reason for prompting to express satisfation in words rather than numerically, and forcing it to generate a summary // of the customer's words before doing so, are necessary prompt engineering techniques. If it's asked to generate sentiment // score without first summarizing the customer's words, then it scores the agent's response even when told not to. If it's // asked to score numerically, it produces wildly random scores - it's much better with words than numbers. string[] satisfactionScores = ["AbsolutelyFurious", "VeryUnhappy", "Unhappy", "Disappointed", "Indifferent", "Pleased", "Happy", "Delighted", "UnspeakablyThrilled"]; var product = products.Single(p => p.ProductId == thread.ProductId); var prompt = $@"You are part of a customer support ticketing system. Your job is to write brief summaries of customer support interactions. This is to help support agents understand the context quickly so they can help the customer efficiently. Here are details of a support ticket. Product: {product.Model} Brand: {product.Brand} Customer name: {thread.CustomerFullName} The message log so far is: {TicketThreadGenerator.FormatMessagesForPrompt(thread.Messages)} Write these summaries: 1. A longer summary that is up to 30 words long, condensing as much distinctive information as possible. Do NOT repeat the customer or product name, since this is known anyway. Try to include what SPECIFIC questions/info were given, not just stating in general that questions/info were given. Always cite specifics of the questions or answers. For example, if there is pending question, summarize it in a few words. FOCUS ON THE CURRENT STATUS AND WHAT KIND OF RESPONSE (IF ANY) WOULD BE MOST USEFUL FROM THE NEXT SUPPORT AGENT. 2. A shorter summary that is up to 8 words long. This functions as a title for the ticket, so the goal is to distinguish what's unique about this ticket. 3. A 10-word summary of the latest thing the CUSTOMER has said, ignoring any agent messages. Then, based ONLY on that, score the customer's satisfaction using one of the following phrases ranked from worst to best: {string.Join(", ", satisfactionScores)}. Pay particular attention to the TONE of the customer's messages, as we are most interested in their emotional state. Both summaries will only be seen by customer support agents. Respond as JSON in the following form: {{ ""longSummary"": ""string"", ""shortSummary"": ""string"", ""tenWordsSummarizingOnlyWhatCustomerSaid"": ""string"", ""customerSatisfaction"": ""string"", ""ticketStatus"": ""Open""|""Closed"", ""ticketType"": ""Question""|""Idea""|""Complaint""|""Returns"" }} ticketStatus should be Open if there is some remaining work for support agents to handle, otherwise Closed. ticketType must be one of the specified values best matching the ticket. Do not use any other value except the specified ones."; var response = await GetAndParseJsonChatCompletion(prompt); thread.ShortSummary = response.ShortSummary; thread.LongSummary = response.LongSummary; thread.CustomerSatisfaction = null; thread.TicketStatus = response.TicketStatus; thread.TicketType = response.TicketType; var satisfactionScore = Array.IndexOf(satisfactionScores, response.CustomerSatisfaction ?? string.Empty); if (satisfactionScore > 0) { var satisfactionPercent = (int)(10 * ((double)satisfactionScore / (satisfactionScores.Length - 1))); thread.CustomerSatisfaction = satisfactionPercent; } } private class Response { public required string LongSummary { get; set; } public required string ShortSummary { get; set; } public string? CustomerSatisfaction { get; set; } [JsonConverter(typeof(JsonStringEnumConverterWithFallback))] public TicketStatus? TicketStatus { get; set; } [JsonConverter(typeof(JsonStringEnumConverterWithFallback))] public TicketType? TicketType { get; set; } } private class JsonStringEnumConverterWithFallback : JsonConverterFactory { public override bool CanConvert(Type typeToConvert) => typeToConvert.IsEnum; public override JsonConverter? CreateConverter(Type typeToConvert, JsonSerializerOptions options) { var closedType = typeof(ErrorHandlingEnumConverter<>).MakeGenericType(typeToConvert); return (JsonConverter?)Activator.CreateInstance(closedType); } private class ErrorHandlingEnumConverter : JsonConverter where T: struct { public override bool CanConvert(Type typeToConvert) => typeToConvert.IsEnum; public override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType != JsonTokenType.String) { return default; } var enumString = reader.GetString(); return Enum.TryParse(enumString, ignoreCase: true, out var result) ? result : default; } public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options) => throw new NotImplementedException(); } } } ================================================ FILE: seeddata/DataGenerator/Generators/TicketThreadGenerator.cs ================================================ using eShopSupport.DataGenerator.Model; using System.Text; using System.ComponentModel; using System.Numerics.Tensors; using Microsoft.Extensions.AI; namespace eShopSupport.DataGenerator.Generators; public class TicketThreadGenerator(IReadOnlyList tickets, IReadOnlyList products, IReadOnlyList manuals, IServiceProvider services) : GeneratorBase(services) { private readonly IEmbeddingGenerator> embedder = new LocalTextEmbeddingGenerator(); protected override object GetId(TicketThread item) => item.TicketId; protected override string DirectoryName => "tickets/threads"; protected override IAsyncEnumerable GenerateCoreAsync() { // Skip the ones we already have var threadsToGenerate = tickets.Where(t => !File.Exists(GetItemOutputPath(t.TicketId.ToString()))).ToList(); return MapParallel(threadsToGenerate, GenerateThreadAsync); } private async Task GenerateThreadAsync(Ticket ticket) { var messageId = 0; var thread = new TicketThread { TicketId = ticket.TicketId, ProductId = ticket.ProductId, CustomerFullName = ticket.CustomerFullName, Messages = [new TicketThreadMessage { AuthorRole = Role.Customer, MessageId = ++messageId, Text = ticket.Message }] }; var product = products.Single(p => p.ProductId == ticket.ProductId); // Assume there's a 1-in-3 chance that any message is the last one in the thread // (including the first one, so we might not need to generate any more). // So the number of messages in a thread is geometrically distributed with p = 1/3. const double p = 1.0 / 3.0; var maxMessagesInThread = Math.Floor(Math.Log(1 - Random.Shared.NextDouble()) / Math.Log(1 - p)); for (var i = 0; i < maxMessagesInThread; i++) { var lastMessageRole = thread.Messages.Last().AuthorRole; var messageRole = lastMessageRole switch { Role.Customer => Role.Assistant, Role.Assistant => Role.Customer, _ => throw new NotImplementedException(), }; var response = messageRole switch { Role.Customer => await GenerateCustomerMessageAsync(product, ticket, thread.Messages), Role.Assistant => await GenerateAssistantMessageAsync(product, ticket, thread.Messages, manuals), _ => throw new NotImplementedException(), }; thread.Messages.Add(new TicketThreadMessage { MessageId = ++messageId, AuthorRole = messageRole, Text = response.Message }); if (response.ShouldClose) { break; } } return thread; } private async Task GenerateCustomerMessageAsync(Product product, Ticket ticket, IReadOnlyList messages) { var prompt = $@"You are generating test data for a customer support ticketing system. There is an open ticket as follows: Product: {product.Model} Brand: {product.Brand} Customer name: {ticket.CustomerFullName} The message log so far is: {FormatMessagesForPrompt(messages)} Generate the next reply from the customer. You may do any of: - Supply more information as requested by the support agent - Say you did what the support agent suggested and whether or not it worked - Confirm that your enquiry is now resolved and you accept the resolution - Complain about the resolution - Say you need more information Write as if you are the customer. This customer ALWAYS writes in the following style: {ticket.CustomerStyle}. Respond in the following JSON format: {{ ""message"": ""string"", ""shouldClose"": bool }}. Indicate that the ticket should be closed if, as the customer, you feel the ticket is resolved (whether or not you are satisfied). "; return await GetAndParseJsonChatCompletion(prompt); } private async Task GenerateAssistantMessageAsync(Product product, Ticket ticket, IReadOnlyList messages, IReadOnlyList manuals) { var prompt = $@"You are a customer service agent working for AdventureWorks, an online retailer. You are responding to a customer enquiry about the following product: Product: {product.Model} Brand: {product.Brand} The message log so far is: {FormatMessagesForPrompt(messages)} Your job is to provide the next message to send to the customer, and ideally close the ticket. Your goal is to help resolve their enquiry, which might include: - Providing information or technical support - Recommending a return or repair, if compliant with policy below - Closing off-topic enquiries You must first decide if you have enough information, and if not, either ask the customer for more details or search for information in the product manual using the configured tool. Don't repeat information that was already given earlier in the message log. Our policy for returns/repairs is: - Returns are allowed within 30 days if the product is unused - Defective products may be returned within 1 year of purchase for a refund - There may be other warranty or repair options provided by the manufacturer, as detailed in the manual Returns may be initiated at https://northernmountains.example.com/support/returns You ONLY give information based on the product details and manual. If you cannot answer based on the provided context, say that you don't know. Whenever possible, give your answer as a quote from the manual, for example saying ""According to the manual, ..."". If needed, refer the customer to the manufacturer's support contact detail in the user manual, if any. You refer to yourself only as ""AdventureWorks Support"", or ""Support team"". Respond in the following JSON format: {{ ""message"": ""string"", ""shouldClose"": bool }}. Indicate that the ticket should be closed only if the customer has confirmed it is resolved. It's OK to give very short, 1-sentence replies if applicable. "; var manual = manuals.Single(m => m.ProductId == product.ProductId); var tools = new AssistantTools(embedder, manual); var searchManual = AIFunctionFactory.Create(tools.SearchUserManualAsync); return await GetAndParseJsonChatCompletion(prompt, tools: [searchManual]); } public static string FormatMessagesForPrompt(IReadOnlyList messages) { var sb = new StringBuilder(); foreach (var message in messages) { sb.AppendLine($"{message.Text}"); } return sb.ToString(); } private class Response { public required string Message { get; set; } public bool ShouldClose { get; set; } } private class AssistantTools(IEmbeddingGenerator> embedder, Manual manual) { [Description("Searches for information in the product's user manual.")] public async Task SearchUserManualAsync([Description("text to look for in user manual")] string query) { // Obviously it would be more performant to chunk and embed each manual only once, but this is simpler for now var chunks = SplitIntoChunks(manual.MarkdownText, 200).ToList(); var embeddings = await embedder.GenerateAsync(chunks); var candidates = chunks.Zip(embeddings); var queryEmbedding = (await embedder.GenerateAsync([query])).Single(); var closest = candidates .Select(c => new { Text = c.First, Similarity = TensorPrimitives.CosineSimilarity(c.Second.Vector.Span, queryEmbedding.Vector.Span) }) .OrderByDescending(c => c.Similarity) .Take(3) .Where(c => c.Similarity > 0.6f) .ToList(); if (closest.Any()) { return string.Join(Environment.NewLine, closest.Select(c => $"{c.Text}")); } else { return "The manual contains no relevant information about this"; } } // Note: this is not very efficient. Consider using a chunking library. private IEnumerable SplitIntoChunks(string markdownText, int maxLength, SeparatorMode mode = SeparatorMode.Paragraph) { string[] separators = mode switch { SeparatorMode.Paragraph => ["\n\n", "\r\n\r\n"], SeparatorMode.Sentence => [". "], SeparatorMode.Word => [" "], _ => throw new NotImplementedException() }; var currentChunk = string.Empty; var blocks = markdownText.Split(separators, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries); for (var blockIndex = 0; blockIndex < blocks.Length; blockIndex++) { var block = blocks[blockIndex]; if (currentChunk.Length + block.Length <= maxLength) { if (!string.IsNullOrEmpty(currentChunk)) { currentChunk += separators.First(); } currentChunk += block; } else { if (currentChunk.Length > 0) { yield return currentChunk; currentChunk = string.Empty; } if (block.Length <= maxLength) { currentChunk = block; } else { // This block alone is too big to fit in one chunk, so use a narrower split SeparatorMode? nextMode = mode switch { SeparatorMode.Paragraph => SeparatorMode.Sentence, SeparatorMode.Sentence => SeparatorMode.Word, _ => null }; if (nextMode.HasValue) { foreach (var chunk in SplitIntoChunks(block, maxLength, nextMode.Value)) { yield return chunk; } } else { // Even a single word is too long for (var pos = 0; pos < block.Length;) { var chunkLength = Math.Min(maxLength, block.Length - pos); yield return block.Substring(pos, chunkLength); pos += chunkLength; } } } } } if (currentChunk.Length > 0) { yield return currentChunk; } } private enum SeparatorMode { Paragraph, Sentence, Word } } } ================================================ FILE: seeddata/DataGenerator/Model/Category.cs ================================================ namespace eShopSupport.DataGenerator.Model; public class Category { public int CategoryId { get; set; } public required string Name { get; set; } public required string[] Brands { get; set; } } ================================================ FILE: seeddata/DataGenerator/Model/EvalQuestion.cs ================================================ namespace eShopSupport.DataGenerator.Model; public class EvalQuestion { public int QuestionId { get; set; } public int? ProductId { get; set; } public required string Question { get; set; } public required string Answer { get; set; } public required string VerbatimQuoteFromManual { get; set; } } ================================================ FILE: seeddata/DataGenerator/Model/Manual.cs ================================================ namespace eShopSupport.DataGenerator.Model; public class Manual { public int ProductId { get; set; } public required string MarkdownText { get; set; } } ================================================ FILE: seeddata/DataGenerator/Model/ManualPdf.cs ================================================ namespace eShopSupport.DataGenerator.Model; public class ManualPdf { public int ProductId { get; set; } public required string LocalPath { get; set; } } ================================================ FILE: seeddata/DataGenerator/Model/ManualToc.cs ================================================ namespace eShopSupport.DataGenerator.Model; public class ManualToc { public int ProductId { get; set; } public string? ManualStyle { get; set; } public required List Sections { get; set; } } public class ManualTocSection { public int SiblingIndex { get; set; } public required string Title { get; set; } public List? Subsections { get; set; } } ================================================ FILE: seeddata/DataGenerator/Model/Product.cs ================================================ namespace eShopSupport.DataGenerator.Model; public class Product { public int CategoryId { get; set; } public int ProductId { get; set; } public string? Brand { get; set; } public required string Model { get; set; } public required string Description { get; set; } public decimal Price { get; set; } } ================================================ FILE: seeddata/DataGenerator/Model/Role.cs ================================================ namespace eShopSupport.DataGenerator.Model; public enum Role { Customer, Assistant }; ================================================ FILE: seeddata/DataGenerator/Model/Ticket.cs ================================================ namespace eShopSupport.DataGenerator.Model; public class Ticket { public int TicketId { get; set; } public int ProductId { get; set; } public required string CustomerFullName { get; set; } public required string Message { get; set; } public string? CustomerSituation { get; set; } public string? CustomerStyle { get; set; } } ================================================ FILE: seeddata/DataGenerator/Model/TicketThread.cs ================================================ using System.Text.Json.Serialization; namespace eShopSupport.DataGenerator.Model; public class TicketThread { public int TicketId { get; set; } public int ProductId { get; set; } public required string CustomerFullName { get; set; } public required List Messages { get; set; } public string? ShortSummary { get; set; } public string? LongSummary { get; set; } public int? CustomerSatisfaction { get; set; } [JsonConverter(typeof(JsonStringEnumConverter))] public TicketStatus? TicketStatus { get; set; } [JsonConverter(typeof(JsonStringEnumConverter))] public TicketType? TicketType { get; set; } } public enum TicketStatus { Open, Closed, } public enum TicketType { Question, Idea, Complaint, Returns, } ================================================ FILE: seeddata/DataGenerator/Model/TicketThreadMessage.cs ================================================ namespace eShopSupport.DataGenerator.Model; public class TicketThreadMessage { public int MessageId { get; set; } public required Role AuthorRole { get; set; } public required string Text { get; set; } } ================================================ FILE: seeddata/DataGenerator/Program.cs ================================================ using eShopSupport.DataGenerator; using eShopSupport.DataGenerator.Generators; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; var builder = Host.CreateApplicationBuilder(args); builder.Configuration.AddJsonFile("appsettings.json"); builder.Configuration.AddJsonFile("appsettings.Local.json", optional: true); builder.AddOpenAIChatCompletion("chatcompletion"); var services = builder.Build().Services; var categories = await new CategoryGenerator(services).GenerateAsync(); Console.WriteLine($"Got {categories.Count} categories"); var products = await new ProductGenerator(categories, services).GenerateAsync(); Console.WriteLine($"Got {products.Count} products"); var manualTocs = await new ManualTocGenerator(categories, products, services).GenerateAsync(); Console.WriteLine($"Got {manualTocs.Count} manual TOCs"); var manuals = await new ManualGenerator(categories, products, manualTocs, services).GenerateAsync(); Console.WriteLine($"Got {manuals.Count} manuals"); var manualPdfs = await new ManualPdfConverter(products, manuals).ConvertAsync(); Console.WriteLine($"Got {manualPdfs.Count} PDFs"); var tickets = await new TicketGenerator(products, categories, manuals, services).GenerateAsync(); Console.WriteLine($"Got {tickets.Count} tickets"); var ticketThreads = await new TicketThreadGenerator(tickets, products, manuals, services).GenerateAsync(); Console.WriteLine($"Got {ticketThreads.Count} threads"); var summarizedThreads = await new TicketSummaryGenerator(products, ticketThreads, services).GenerateAsync(); Console.WriteLine($"Got {summarizedThreads.Count} thread summaries"); var evalQuestions = await new EvalQuestionGenerator(products, categories, manuals, services).GenerateAsync(); Console.WriteLine($"Got {evalQuestions.Count} evaluation questions"); ================================================ FILE: seeddata/DataGenerator/appsettings.json ================================================ { // REMEMBER NOT TO COMMIT YOUR API KEYS TO SOURCE CONTROL // To reduce the risk, copy this file as appsettings.Local.json and make your changes there, // since that file overrides anything configured here and will be ignored by Git. "ConnectionStrings": { //"chatcompletion": "Endpoint=https://TODO.openai.azure.com/;Key=TODO;Deployment=TODO" } } ================================================ FILE: seeddata/dev/categories.json ================================================ [ { "CategoryId": 1, "Name": "Solar Power", "NameEmbeddingBase64": "SabWv7X47T8/yLw\u002B9FtpP3Tzpj7DYZM/yAmSP2rGgb9FhIc\u002Bzk8aP0LTqz8WMbe/YKWmO6o16T8bVYU/gRqDPjSqhD9jDRs/g/Sgv1sc6D4siCBAIk7\u002BvwwTwb\u002BWism\u002BJ4jSP0jxurwMhLY\u002Bn5Q1Pk2Ohb8rMCTADhzcvT7Ltb9a7Ym/bGfYPvSRUr4qm3y//leLvQamJ8D4ROy/VPfxPrURFr\u002BZZjXAX2lUvkgwZz45FBLAAEn2PiCIMD/mW4C\u002BwGy8P9ALPb\u002BRW\u002BU/MXk/v/jeEb8QUiE/eq5MPigjLD\u002BYCZI/dyLnPzbBDUCzWDq\u002Bmn67Pu3pCUDP3KrACiFsP4/zGEB6kZU\u002BsfCqvp\u002BBJT8dtVS/hA46vza2iT7cbGq9KfAzv0O\u002BZL9ppaa/sYe6P0ezG8AdcLm/8Dj9v62crb9EjGY\u002BmME0v1I/kr\u002BiJEY/JamqP35vAEDI73o/xlWbP9vtsz/QKAlAhPabvzK8Jr13ORq/jonaP49lvL\u002Bdh/u\u002BH6vEPwpQ3b/6GAW/NnunQMZ0o73McZc/6JlnP7Slp74Hwji\u002BT1Bov51/Xj5cwTY/eIaCPD77tr8f40G\u002BVcbAPp3WDb8k/aW/mnkGQGKRn76OZtm\u002BT2VNP1rcBMBgXiA/h6aNv5T7aj8KgTxA5u0YP0qSmT9Qn3O\u002B9mQUQFYW\u002Bz9RyZC\u002BvmGvPzg8Ij9yGc6/iamTv4Q5Oz8BIyw/7okJPzj6hD\u002BNLUq/k/S2P0SfpL4jEKo/4UV/PRVz1z7GKmPASHyaP41akr\u002BbwyE/g4qpPxiZq7\u002BygWw/6NhPveAZ7z\u002BlZ68/kVdGv8a/rj8lYl0/wm42voRpnz6ALZo\u002BSg2fvm6qmz\u002BROxBA5HWgvyYqM0AdLA4/3Qs3wP6MAD9EaQu/lzxIPhhiFz/3vN8/T34ZQAx3xDy48te/iIcfQGNEB79GDWS/JJaivluF079Vbso/9rq8Pa2fkD9KnWQ/aleiv6fa4z6kb0S9mtVhv55f/z7deuq/INyfPqlobcCtUSM/di99Pnxgqj9Mc0G\u002BCHUav\u002BOdmr9yJhjAuZpNP4h53r/nL6Q\u002BmO1Av6WfhL//HClAFuVUP8bNBL42Dvi/zFH7Pv4jpr\u002Bq/wQ/1BOLPzQmlr92j7s/eMaUP1lrhcCkAKM/wRS1PlKrqD4ysNk/DnW0vhZZlj\u002BAE9e/0x4LwJx7t8BSIgm/Vxk/v9o1UL\u002BrJ3E/xh98v\u002BzOdT8LLsi/J9nFv9DIqL86thpAqpdnv8TEKj5g66C/fDwnvnsGWT9CN1w/Kp2nv1jcIz741Rq/VCj4vl/1uD/6gG9AYDjcv7lMlz/Scpy/HoI4QFBEgz\u002Bk6rc/8T1mv7vQfL\u002B19x6/C9DCPpB9KL94dQQ/R06FPzxmFj/6FZ0/746Pv6xyOz6mUdY/SrJXP744\u002BL/8pMM9RfJrP\u002B26t7/hviQ\u002BFporPqvzgT/0qfe//x0AQMIUfL8F9om/hdigvzitE0BypTo\u002BUfIIwFNIW0D4Z0u9i\u002ByWPo/6s7\u002B4/\u002B8\u002BOnQyv2hAvb4BLXM/OOGwPuKpoL5JIms/N9thPtKZtT7AX5S/MIfmP9CuHL4gNya9qrFHP85E3r7hbGI/vDTCvAnunj88lae/cNP6vEJYCL/0Dt8\u002BwLaRO7SBGb78KQo9vY/FvuQzJr4Qu0C/QfeDv9U5Q74Hf8Q\u002BOBbdviBKBbwN6R5AvSqSP2qTs8B5qbM/JyAEv6hUY78IdNe/WeP0vQ4z6T/KY5U/UC6ZviB8lD9b/wnAYoTWPipDPL9cOJ0/hOMDP0zmzzwlXJ8\u002B8e52vpWIRb5YhoI9QVQNQOKa2T5muF1Aa3aSv7RbbL4ppl8//hJ\u002Bvx0pBUBWw5U9ROQBvzH8hL8lVgW\u002BWk4Nvh6xzz4uLba\u002BrzRgP8grJT9SQuS/t2O8PzUfkr\u002B2WIa/s\u002BsGQKwqQ7wzDcO\u002Bu1qBP6OWKMBYfK49sHERwCyxNb9jTU2/OP9gvzgubLx\u002BlgXAwIvAPRC9rb\u002B4xK6\u002BnnN7vx4QDcDccwQ//oOovwZAzz9pZP0\u002BkeWdP3Zf4b96UGs/" }, { "CategoryId": 10, "Name": "Lighting Solutions", "NameEmbeddingBase64": "QpCAv3TUSr774zU/V3oVPlnoqz9yzxI/wfKQPWSZGD5sZi29\u002BJXyPxzc1z7Aqvy8kN\u002BYv/iE6D9nW0U/SMT4PZAFuz8apBQ//\u002B66v8oRbL/WM5Q/kZdov6jbJcBOsp2/W8AzPtogGL\u002Btnkg/pgDZv7wsPD1FfyjAGZSRv2g8LrwXtRs/auGcPpPBCz\u002Bx/A2/LakXv\u002BOUDr/Vvdy/ffNfv/zU6D983vm/8IATv8W93b\u002ByIh\u002B/Ui1vv4gr\u002BjzyyUe/vdPbverpkb9WXq4/x2o5v0xJNb7W/5e9JkicPgYRFD9etac/OEMAQOR8rj\u002BgK5M7AkaYvQNGIkDCyIPAgNIGQLjXYD6bp\u002BU\u002B9jaqPaY8XL9W3L0\u002BvgkEP9ZR/L44n7y/dguKPkw7WL6235a/rfNAPfRxTL3Aetu/lUWnv11Fpb9YLR4/2sZVv37XXb80XtA\u002BBNSKPgEQ4z8Pt2y//G3avcoeTT\u002B7Hq4/i8mBv/J6Nj5T9PK/JxS\u002Bv\u002BKpnT1AZAbATGkzvuBLmb\u002B\u002Bl8i\u002BfrbKQNBpOr33TrU9Z4bzPx5t7r9jKEs/Tz41v1JVrD7IGGw9tAGVv0Qb0D\u002B44AG/WjYgv1D7Grw\u002Bd1K\u002BD5mcP0RfqD0B9oW/NaBrP4ysTb/uhqK/AMhCOm6yKkCQA0pA7B00vo4QlT92GbW\u002BvghAP5Z0MECkE32/yxRbP5lLtD5gfjm/tdI1Py6hvL7Fsy6/zAydP0VUNj/AhIE8eLW8vTs0GUDnBVY/ovuDPnbbrD8z9\u002BS/BvfMPgpD6z/whC0\u002ByD9AQJHR679Rx02/aOBhPrRm9Dx0FYU/fkFDvrMijz\u002BQZ1I/RpnOPxegKb8n6cE\u002BAJDzP0bHkT8UH6E/wt2ev4B6akC2mYi/8EJawOE0Tz/mCMm/480jwDpiVr\u002B8f3q/YqIzQBFmA0A4aOm9kqvlPxKnmj3t7Wa\u002BP40Xv5RJlb\u002BwVZE/mWgxP/GEIL90aAu\u002BtikgP3ZBqj8ZNs\u002B\u002B4iAfP9aYnj8kd7O/vm0OQFve57\u002BxlYG\u002BaNvXPDX/vz/rYqU\u002BPAtGvWEUP8DSqSnA2kuaPxYMEb8Sw5M/E\u002BWGv66yvL6uOqu/4CkNQKj49r5SBEa/0qZCP5jT8DwOcaU\u002BjIbWvwHvfb8GtFVAVlujPijfH8DufdY\u002BK08Av6aBcT/YF2a\u002Bg49gP4JQrT6jO/s\u002BCgqzvyg0pMAsG\u002BI/KpHFvqSLx7\u002Bxcik/E5TIv\u002Bwgxb7\u002BqrC/F4UhwCif7T/igyNAbjW\u002BPhaDMj8CVNO/gsTIPgZH975X/ia/JIWJv477y75uuMy/SunavUx01j4LqQ9AvHckwN9N0b5yyAY/z32NQEpAUj9cPZ091mDtvnQpSj1\u002BbZy/KuwBv6tub78ibbY/Do2sP2Bxzj\u002BipbU\u002BAIZWPirIWb8YX9E/hyO7P4bsGsC8HmK\u002BMmCtPi2Oxb/1WpA/bGHMvhQEXL7ULS6/DGCNP/H6lL53Zm8/QbdFP8E57T7\u002BE12/kl2/v84lmz/ARJq80\u002BDIv\u002BrSor7Aq2i/OoJbP81RBMCy1g5AcDUFP/\u002BtyD7cXDK9tjpLP29Iw74k1ce/Um8RQHbru78kS8I/gP1aPxJZmj/9aN8/wnYav3K9Kj\u002B\u002BJAu/oSQxv63vxr\u002BalZY\u002Ba00SP9Ls0z4fGpG\u002BuMfev9b2V7/9\u002Bak\u002BY0znPtKanr\u002B7SEe/nqiPvcQAer9HgLU9JzW7P/pCqMA0qhg/HBqQPGzsH8A6hxbAceSDP3UkFz\u002B97eg/Di9ZP5wQtz5k4lDAklPpPuwj17/0xdM\u002BkeGjPzrJmD1MSWY/uknnvxAWgb0Y4fe\u002BKG3APhuqpD60SJNAeLojwH19Mb8SMW8/R/WLPxUfEL/nmoo\u002B0W1\u002BPzIp9T6OjhtAXURbP/FqHr8wJtk/wNjpPA7Hvj4RGH\u002B/5T1zvrT0Fj/pOhw/jbqHP2ZNg79WZaO\u002Bv4JnP2DgXr8XuIC\u002BCDqzvqz8rL6/Awm/66wGv1k8LL8GHu8\u002BTGc\u002BP0ym4T0YuqA8q1Y6wO5M9j7\u002BNoE/SsErvyhFFb57hhPAddbXPsCdXT1VKQFA" }, { "CategoryId": 11, "Name": "Action Cameras", "NameEmbeddingBase64": "wo32vn4K0L6oshG9jpCtv/RZjD9J8iNAOSvcPyyryj42aE\u002B/73gDQPpfIT/JKQ2/qkMdvoKbAUDUUzA/TkQhPkvvzD/t\u002B72\u002BJYgwv3gEVT/cMqC/41ycv87\u002BCUDY4yK9lNgcvxvYI7/Jtkc/IT9uv6ncI78xmhrAIslPPhASqL2gn\u002BY/kVqIPlqggr6sll6/RvG0v51BAb85QjnAW8\u002BEP7ZDoj7Txyk/pk0TPdOTBMDe21k\u002BmlkMv\u002BBCeD/nS8\u002B/InwBP3xOub/udMA\u002BF1oWwFyUMT\u002BURBu/OpkRv8aFy79jC64\u002BIPNbP0rN8D8z\u002BPW\u002B7R0iQIo/Yj8njoHAzC0BPr9Urb/n0bY/xxznPxaUmT2mz70/WlJYv4JM3r9sKo4/t0ApP0x2KD\u002B/vgC/5mDKvhk7H78hwf6\u002BNmhcv2yBG8DIUbA\u002BqSqtv1TjkD\u002BsgyU/ilI3Psfcjr9sukw/Uybnv\u002BZW0T/gEXo/Dk5kv9jmuz9s5f6/uu\u002B6PjA7wL/OQak\u002BxuAkPkn61L5wULu\u002BBPTkQG7MSr9gNK8\u002BUrfKP1KjV78dRGc/RaiEv1uFSr\u002B3pwe/5Cfdv0Cnvj/yA5g/mlnivpK66L1T8Ng\u002B/ByNP0QJCz9Rvq\u002B\u002BO5iaP\u002BLKx74Q7/\u002B/rkmtPwrRKL8uaIU/\u002BuCrvxSyj79IpK2/iR5NP0AfeUBW78c/Z4ZAP0qRsD1gcR6/UHHqvU\u002Brhr8mS1U\u002BvPS6P5Qpvj/p0BU/hvOXPpghsT4\u002Bl7I\u002BNKpWPqWm9z/Q7c\u002B/rrjsvo4K\u002Bz75UmO/AGyoPGp9wT4JFdW\u002BQcxhPyTsDkBe8yY/CSbCP/Nbgj\u002B\u002BnIi\u002BhzPcP3ZsLL91RY\u002B/Z6mWPgSBzb/JOIS/N9Dovu628z8cp9e9om5QwCcqrj\u002BoGO\u002B/lYSDv2yitj/Kk5G/udkLv9ZhOL5oymy7asgcP4pOkT5ege\u002B/pkMtP85QkL9SZe4\u002B0vD3Piv3yb9O0FY/BZgtv6nguz7U3Bk9zsdlPWaSab4UxII/bCMiQI0\u002BR7\u002BQ3hM9jyxWvoR2mT8UzC\u002B9ejNLP3aRNr90ape9GVJpv\u002BU4x79kaNI/CZJav8Y12b7SBeI\u002BOD8vPzXnsb8AMS/AsiE\u002BPwUY2L\u002BwYaM/qtngvjFOhz\u002Bs2DBA7KADvy2V6L8i35q\u002Bu2JEvzgwTj9zOx/ALJ2QPIIqk7/gM2u8qPLrP2yswcAeuh8\u002BQKf2v9cZ2D4obek9eND8v0KhIL4YTiQ9xmhmP3znBUACm0BAZ23Yv9TuIz4IDy0\u002Bg2vcPqMa3D/k6ye/JXHBP7LmsL/4hAe/szVIvwARSj91Bbs\u002BGpMQwGWFVz/b8Sm/DL6KQC7erT9c/Pw/Rj7jPwDwKbg5S60/pKPnv1BCQr8cBE\u002B9vNJ8v5B5/j/ct9E/md8RPlSRwr/5n26\u002BunP2vhDYmD8DsRPAnxiTP0DFob6AkZi/qMTdP3Dlib/XfkPAcCiMP3GUG742Kq8\u002Bb0Fuvyz2TT1mUsE/UCRdPBbYTj9Ox90\u002BcZqWP\u002BeJlL/KuKo9XpwzP1bMA8Ady0NAOEwRvg6OxD5HePa/QCeUP0ntlT8twMI9dm8UQPbOBj6E1Xs\u002BuVP2Pzx0VD92Y3M/Eo2dvzzLA8BRU6\u002B/jE0svkEY6T5uhnG/c/U\u002BPgSqez\u002BoDo2/R/loP4Hm2r9qI\u002BC9Gy5Zv35MPT8Z\u002BaA\u002BrDK9v6RULT0FkWI/vkdgvm0vqMBw0ju/WhotPxSTe7\u002BOsqm/jfAFvxqiAUBOHuY9\u002B93xPQ4lA0ADmLC/tOjOPxdrn77Ldak//\u002BBxv5A8lD8WS4Y/DUYWP3MYIUD4UgHAF/yYP8KokT9sc8M/B/BDv3LO/76AaNk6a7KSvx23DL/ilgY/BqDAv5qUHz\u002BtvO2/aCKfPlNAoD3AT4W7Bv\u002BiP6dxUT92CLC\u002Bwua\u002Bvz3tbz8oNz2/ed0Zv4/Q1D8wSje/46qUP\u002BPzKL9oVGk96fucPqJBCcAeT74/fy5xPtBNub9C9ly/e1kNP6AfBkDS5Uw/jivcv6T/kj/sSha/hNNQvTe1sj8Itu2/ojVvP89E47/l73a/" }, { "CategoryId": 12, "Name": "Excavation", "NameEmbeddingBase64": "mpmVvwS4nj94zT8/INQJP7ODyL4ks0O/Fpu8viObHb80bDq/wqinvloAYz/A/xrAxoKyPVZB1z9pIJ892EMLP6/PWr\u002Bc3QFA9qltP6a1tr/C75w/JDSiv2mBiD99ae2/e8q7vy5Mnj/zJ2K/jM6XvwrVBz7tOAHAIuKFvqCOQb4WVLw/7aKePlibmD\u002BQuvs/Luu3v1MLm774zSC/BEWJP2b63z4QNkM/6I4Tv4Zxs780XnI\u002BvQTCvh\u002BJXz6YUIS/WLVSP7ynOL7V6h8/6Fk7v7q0lj6ObeQ9PP7aPMA0Fz\u002B9zuM/F5ngPrI1Cj\u002Bm\u002B7k8jJvqP8B6tz6rFErAPMqHPlLSbz8YOBm\u002B5PkyvxsRqr8pq3E/hpxHP4X7IT8X0lk\u002BwIzqu5b3tz7Wxrs/px1FP6Tp9768AEA/vNyKv47yHb\u002B22pg/sElSPzvnib0ejjg/lIjDvzRcWr6laIy9wM5MPcAITj5yGeQ/CBNbPzDvo77ophG/xuFqP\u002BDuMb\u002BipKu\u002Bph5jv1h19z9QkpC\u002ByuPEQAgMc7/1TrM/HDwXP52yI76gyxA/HhkcPp1BM77XS6i\u002Bzv\u002BTvmI9CT8DaPw\u002BYkDrPf4o0r\u002Bj6wG\u002BDl8QPpAoNj\u002BAbC8/GoKpPkmOY7\u002Bvd3C\u002BxoZ/vvQEgDzKwps/3GuFv6IDkL0CAOe9xOaIPgSA\u002Bj9Q0T0/g8TfPjX16L7Iy8W/bDjcvraxLT9ceBu/O/e9P0f9\u002BD6Y8Hu\u002BAj99vwA3hj00jMK/kLJIv7iyZj8jGbC/7Yeuv1kQgj/Etqk\u002BrI26vhC0lL7iG4y/KBTHvxAL0bxTbABA8nrXPj7dnz/rNAm/\u002BBxXv5OBFb/yNIa/d1Hivk\u002BKnD3\u002BMwm/kVWGv9ULHUCR5wFA5CCwv2wRgL9FnVA\u002BkrEFP5mNVr9OLIo/FzQzP\u002Bo9Vr\u002BC7em\u002BLkPGP4g0yD1EAsy/\u002BCt4PiBgO78v\u002BnM/5t8dP9ZryL8ariq/ozilP/7l\u002B73nPJu/GS2Xvl6Axz7KhUo/lItGPph1lj12Rkk/BEBtv08jS7/Q0y4/siQCP7Zhqz7xPZw/TB/5v2DLZj/SOTC9AXYivwHVLr9oIFQ8cu5ZP1bimz9ebcy\u002BbkKAPwQ2x76TzQg\u002B6H6HPT4PFb9szEk/tHoFv8AWjj8hOmm/uDaxP7Z7Or8BuSK/JezCPp\u002B/Lb9noeC/DaZ\u002BPg6wqMDaPpq\u002BRtiXP0yJOT9u2IU/7MTvvv5GRD8liO6\u002BHEwSv/xJjL\u002BYXL0/3MYZPZD/cjwpSaI\u002B\u002BHbIvndHGT/B6Sk/Gohxv94bbr/HaxC/5/gYP3ivjb1il5Y/tu8PwPb1/L8s/Ci\u002BSA4rQKyFhD/qnaq9ZkSav9e3GT81zlu/Z70fPz3JQsDI6qS9XGaAvvYIsT8tt8M/rJhlPoyRZz57eoe/gMQbP23zjD80aQjACEyDPoBKN7wYN7m/lgLJv2Swuz8dlvW9YAQJP2aqBD/N8rE/CI4wPuwp2r9lPto\u002BSqqrvKwe4L5Qu6C/MBBSv50K7L6moIG/cL4tP\u002B80I78kKVQ/jdiPPiQfJL9BFGA/tGa7PUy7uL/BGp0/hrXmPnKAFr/MWvE\u002BACK2v3dvrL0mGb2\u002BjhNKPlBAZj9Mq5u/VUNDP6G/tz6oz5E9Aw92P1Q7Pz/a\u002Blk//14ZP5ckpb7UHI4\u002BpQEWvthTnb6G2Ck9YtEfvqq1ob8b248\u002BzE4nvljulcCcNoA/1CeEP\u002B\u002BESb9qjoi/xNAiv6h5vjzOOOU/eE0rQActJj/VI0S\u002BpAV3vgpBnj4OTRS/LnL/vNgwkD/y5IQ/rILLPnUdc7\u002BoWAbAHgt0vh/Xnz\u002BG8SFAhA6zPr5h2j8PYti\u002BM5i/v5iQSr4FUV4/Tngiv0rDhr7oh8a7YhcJQLxMlL4Fk9k\u002BAKmGP/h/nrvM\u002BoE/Cp1jv7sJOr9wXA3AP0LIvk4xr79M25A/qhFdP7Lkf7\u002BX31g/Wobgv8D9Zz\u002BlI7y\u002BoigivrvKXz\u002B7Kpo\u002BQmPkPez7Zj8I7Zs/Vvj\u002BvlPIwr4KtVa9XBUIvUV1XD8I2ZA\u002BQOjpPg14kb/p4pe/" }, { "CategoryId": 13, "Name": "Portable Power", "NameEmbeddingBase64": "dBdbv6/vUj9eVHQ/4cVcv2B/lTzwpdc\u002BH2ARPyT/4j5eIYu\u002BTY1jv4DxzD/FzeO\u002BWFS0vId9YD/GHww/Prb1Pume7j\u002BR0Aq\u002B\u002BQ9sv7lf0762JY8/se8LwHZfbr\u002BRcB\u002B\u002BsYVKPw7lb78iw5o/NJC3Pkjj0T24RVrAkrcFvwyxs76yUrO/xTikPpgQFb4e\u002Bwk/bQnSP4Xkcr8KeHO/JN5QvgWDzT4ollI\u002BSGw\u002BPlq0W77wig8\u002Bdp\u002Bqv5PTOb7yOpy/g49CQGynmb6y96A/6GIOPgRLs715KPO\u002BWnSiPiimuz\u002Bp2PY\u002BPHaPP/Iyqj9hwge/ob0XP3KpJ0AaPlHA3yyLPzzkTz\u002BRULQ/Cr6LPo42JD8AtPi8\u002BE0Tv4AL9jxkr549d8Y8Pzpotj8Klgu/T6NgP6c8lr8fZam\u002BkcfBvyyg5b2w8am\u002BwqLovwLUg7\u002BN0BU/eNB0v4x7fj9neXg/2DSrPLuunr/CVpA/4mQNwBRVZz8NacI\u002Blo\u002B\u002BP\u002BDT5r916ti/VBZbPSFF/r/eWPO/ojOtQFS3QL6ioY89pKS5PxlYur/4\u002BLG/qGFwv2jBPj\u002BagsM\u002Bw5qCv7bBAr/DUgg\u002BqNMsvnQgwb\u002BIB0q/UL3cP5awBD64mH6/xuVsP8NAsb9sn6k\u002BXjIUwFvDtj/0fuU/APQyv0Qi2D/Sd3G/3gTHP\u002BYrDUBIuba\u002Bypm6P2nysj3mCx09HKiuPRb62T48myM/HeeaPhKGgj9EhqC\u002BvoX8Pybsvz\u002BGsrU\u002BAxOJPtHoHz\u002B8tyTAoC3dPbqiwr5MjEs/0W88PvGPBb/OCvS\u002BJ25fP5Gjqj9X5Ks/Bb6ev4Zbpz8j2nc//GisPzrqOj85jBC\u002BfCCivnCNxz4mzHc/IEc5vxJboD8kKok/KMJPwGgTNj68Y5u\u002BCnFQPzfn779AyVU8EgnUPmDxw77sE0G/GNqdP6gIiLwBvh8/eF\u002BJP5ZaJcCg2Ei9\u002Bc1Ev1O4KT8e9\u002BC\u002Bc1TBvsPyn76Q/q4/5z7qvqy5lr8NsVM/KkJ3QJCfD8CCJAVAI\u002BBfPyZcGT/XVaC\u002BtBUAvxq78r\u002B2mHG/xUlNP/vnvr8tinY/cyt0vz/Xlr6Cabs/3iYnQJh8LD5dlOu/jZECPzD0X7\u002BKisU\u002BeLKBP2Dmrjs\u002BtyxAog\u002BQPnG2/b\u002B4uK6/uJyJvnDG1zxksg0\u002Bq\u002B9vv0FSkz6\u002Buh/A6rXrvlq/scDI70W/3kaUPBGDBD83unc\u002B5cWNvxNMrD9\u002BvpK\u002BIs6tvyqNDb8YuCVAdiCyvz5lSb9F/LE/kG2mvxx/3z/ovKI/ccDGv9vUm79VACA/38sfP\u002BgqmT8cWmY/MmF2PgDMeL97wZi/GxOLQPv7hr\u002BO6cU/Ac0Kv4g6yT/EL/E\u002BakQXv4y2xL8rK66\u002BedY1vq2wy79jcAm\u002B7ubjPsvApj8\u002Bvke/XFURQHdZDD\u002BcItK/dE5Av50wIb\u002B4EA6\u002BDPrAvxLEBr9\u002Bv6k\u002BVm6HP5QPBr\u002BUwyy/7z26vyhqcj9AT6y/qDelvzCGEEA3UGS/iKxWPbhucr91Q14\u002B1dndv9VN/L5UAdM\u002B6LGlPtY87r5bNUY/AU0jP1CCKL4OqLY\u002B\u002B4qNPzOjEz8jjARAPvAbQP6b3r9N6vM/sOxhP8IQ1j5/iz\u002B/VoJdvzGpJz9uLPU\u002BRN01PXf/Gr8RiQm/kN\u002BNvPxr4T\u002B4o8E\u002Bb2rpvs\u002BSTb8i91g/TtrnP64SmrzMgp4/27Y3P\u002BpNycDI9HA/EAS1vijPLL9ef6S/ZnoqP3d2Nj\u002Bl13M/Dpm9vzTUlT9Hp\u002BC/nE8fPwSA5L3AsKg/hIslP5mAyj59vJ0\u002BXSPOv6ltc756Ri/AW3wjP5zrkr22b1BAPo4CwFLYcT\u002BjQQM/5GOPPzc34z/ekVm9nAsPvkdKlr/gNRO/INQOQK9Exr/4PoQ\u002B4kOhv1SOvr9uZF0\u002BsgSsP8dGpr8\u002Borm\u002BOGx7P9dqX7/KfWy/wrzfP/2uE8Cj5O6\u002B/ie3vzEdhb/AcxC7NBfvPbn6I7\u002Bf3jy/3hqNPkUJkz/m6os\u002BcAt5v0ZGb76OOtu\u002BGXTfv7bmoD/n1Hq\u002BedKmP19gy79FOi1A" }, { "CategoryId": 14, "Name": "Backcountry Cookware", "NameEmbeddingBase64": "Lt42wOzoY76es7w/mMYIwGmVlT9PiYW/3LJVP70ChT9j9yvApzKEwF7ACcDLknfAbanPv7kyIECWzRK/2rEGwORFfD8Ku5o/6rdyPxxRpj2nyRdAxp04wIZ7Fb8RDqu/QUrTP1JSKT\u002BQQJG\u002BKx9fv3KegMDOVhHBH8DCP\u002B0glj4UEDy/2EkFvuJzqb76vBE/YUADvuOvqb/6shXAq39PQE3VJz/RfpA\u002BR4vTPpqtMb2SGJo\u002BdO1FPnjkyr9vfQC/PlDFQOHqCz8KUJI/ldnGvw2MUb92nV2\u002BaYVJQCP7eUCEMk\u002B\u002BUKE8P9yK0D/qLrC/hh9jQP4o5T7cPR/BDs7tP1JUwj4c5sO90IzOPpSe4j9fSP8/xKo9viS2DT67i1Y/ziWgP6aEKUCB5gK/Wu9UP3gxUD9Tjh7AJ\u002BouwFA\u002BAEBUz9u/CNq6vpKxdz9O4bk9gnsJwPZpccC\u002B5eq\u002BJ6T3vpTAhUDp/yS/HFC1P6ImuL/RNxm\u002BJkFPv1Gvn8BgOEXAEd1DQC\u002BMTD8dtwM/WhwOQYmOJ8BJOP\u002B\u002Bkq8gQMhjP78a6tA/LgIbv/OwKT8iIQA/kB8WwJDJ6b\u002BZ0tM/jX\u002BhP4FMBsD3yRRAA/j1P4zcnb9CSfo/kCRmPFabvb\u002Bev2s\u002BQNx2v9zGGD99\u002BTNAUCBGwPfVAkACzBe/SS3WPou8nEBIiwu/SSC6QDDHOT7cNwi\u002Bu0Wfvmhd4b8YmKa9KMooQKMzB0Cbcou\u002BSulGQLqcJb9KEzrAdJxAv/vDNUA4G4nA9arRPw\u002BcAUCLkFk\u002BXi3iP2Xv\u002Bb/KbGHA3UOmP8SszT\u002B6sF6/3cFivxShvz/ERG9AoJQGvuiZ6L11SgXAWSs/QFS4\u002Bj/YaNS\u002B\u002BlFUv4A2WL0b2JE/aBXuwHa8Mj87DeI/DifQPkzHgz301dy9GEB/PgGPF8ASg4u/EnKJQPMpUj\u002BxqDvACoGhv\u002Bd7BcAtvo8/zrtsv3d0i78UOUO/PSbUP0D75D8YqGXABEtzP\u002BO2jsCDTL0\u002B8nxgQFQIBsB7VLC/EN2Hv7JnqD\u002Bi\u002BCk/Lvjcv52Cc79eTls/4tQmPxCRNMBl2hlAHEYywJrdhD8ELoo/vDXoQGqqjj96Oci\u002BCCuIPewGOL4wW8M/N2kivsqhNj5TyzhA/pa9vwDZzL8pnaq/PkkBQJW3X0Ak3k\u002B/TOOwv/yxvT8ZrYbAjpRkwHkYF8G7YIw/N6Iwvi6xLT6EsyG//FyovrVHBr\u002B4OT8/EVCpP3bGBkAhZAtAaOspPgjn7D\u002BTc/Y\u002BWB0pvX8rK0DWFSZAfnW/vZrcGsCOPiE9yKufv7l3N7/83qI/Op9QwJQ00r8wRytAypfaQImatL8Jjt4/Uka/v6weub896Fo//Dbmv2UcrL/kadI/eNedP6CmJEA9VTtAziEzvzyctL/uE4\u002B/6IO3P4IohD6xu0TAeAfFP5A1HD\u002B2ASPAFExiwLy4M8BaUv8\u002BnY\u002Btvp6UN0D0d66\u002BEnvRP2X4gD91Hrs\u002B0YM1v5zAW74Amu6/cNAYQIqZAUCT22m/m4QNwF7GmL4G9DdAdi5lQPlVfD4pYJ09HLx7Pt1vJ8DsTV\u002B/vApevwQ9zT\u002BmG74\u002B\u002BHQBQPqCPb//YWc/IdkIwJYu4r\u002BS9wLAUEcsQPHPsb8aDFs/yv/2PzioYUBeXUk/9FMewHUJyT8elqw/QLYNvXiA3Ty9QCxAURh1wIoVuj47rIFAIya6Px4WScFS\u002B7Y/Y\u002BM7vmAvibzk3jdAbR7SP0ZG7r7PdoRA0tn1v7djgz57ORVArxwmQFbnpj9503y/IPzkPp42u78zNts\u002B4bARwCy9IEAlkS/AqDAwvrIFG0AG\u002BeZApgtyPzjaNMBiHj89MKkTP5L1BT/JqRZA\u002BtlPP9sAJkA5aCXAK7PPP2G07z8DWw5AtDxhQPfs5b8nOUC/FEYIQKbRir8bsXDA2ozMv18NZMAFmKs/pINmQJKqO7\u002B/3LO/GkqawGfmoD/i2vI/ROO3vgVFQb43ywfAMxioPlZ8Uz\u002BiWee/uOiawPY4hz6wOUTAms\u002BVP0pQHj2UIoTANmXqP7kYHD/fUQnA" }, { "CategoryId": 15, "Name": "Hydration Systems", "NameEmbeddingBase64": "M8rpv0\u002BgQT6oq8c/UYdnPueQWj4fKrO/qAUyQArPjz\u002Bwhug\u002Bu\u002Botv3J1yb2noAjAB4RHPzKHhL5MMfs\u002BEe\u002BSv0s\u002BxT8ajlBAOLVqv6CG3j8h0yY/QBoHwCoUOcAAqR3AoYlkvypwn70dGxU\u002BsAinvSRQIL\u002BKTIzAamrSvub0gT6mQs6\u002BH\u002BEWvzDKVD4RR0FAj9mqPhBiBL\u002B97qu/bo/QvwKNzb5YyF0/fZ1Yvwm5jD/wbSO\u002ByDm2v6BeGMCYvbA\u002BoFxiP9PC2L\u002Bz2ABA7FKXPviLhb9ZrwU/VtBdPzxZqj62P60\u002BSP5aQHB3qr9deVHAYESdP9UzbD\u002BynazAku0XQKcJWj/8B8A/3A5fv9AYBj\u002BBN0JAM3qjPyScn7\u002BaC1E/Fjm0voThCkD5c8E\u002B6m\u002BJvi60KT\u002BusjY/MQfGPTqV8z5xKBBA8mo5wBgNHL3bAYq/lEmkvqtHGb\u002BraCA/\u002BjvUviTizj93lPa\u002BsvqYv66/yb2EXqM/\u002BoIXQBTW4b\u002BCI3y/sggiPy7PSL\u002Bv7Ps/ojLXQJgcij50W40/qpTIP6Ngh7/svrs82HfgvwFX/b4axrG/0CW2v0ByZT49Vwc\u002BDbl9vgrDEkByTki/lgBpvnhUfj9yLtW\u002BzWD3P2DQJL94X6S\u002BYP2uv0tFJz\u002BN7/Q/K5RHP/1\u002BIb7vfYI/fFOKP\u002Bx5TUA2MiPA1aXSPyaHPb/32qG/NELjvv4qvb/KqA0/60d1PjibCT8vDhHAWssNP5V/HEAJkCXAMDTPPSApN0BekKvASzaCv9CQF0BE7Ki\u002BrwPSvxL28L921FE/5L0Av5hyFD\u002BmO6o/au3MP7b4cD8SeZQ\u002Bi2PLPwL01r7tAAzAceKTP3/BsL8cuYe/2VCZv8ODlEAsSQs/ID8EwA\u002BNxD/xgRS\u002BUtHKPtjl5j6In2O97N8IQJ\u002BnLz5gsA6/mjQDQGdrCr8Jfmm/8qcsP2rwJ780tfA\u002BlvHBPnPpiT9ld6k/hUqEP5S0J0Dsu3C/WcOkP8kTBL5IJE2/gDNBviNbg78IW3\u002B/XkVnv4iJVb9C9NE\u002Bvl2kvrQ89j1ZGre/bZpsv1ZJDr\u002BTDgZAnV5pP0KbhT7gkMI\u002B6dIGQI4D2T8iUx8/gDR5PCxWW8ANe0E/YE85vVJO4r6Zvq2\u002BTMrsv\u002BF5br/Cz6I/BcYgQPUeXj9SMiXAWPXhv/k7LUCliTy/BBIEwJMHqcBTOGc/IkSFP8kpxb9cr3BAxzKNv6YCyz9NL1q/fSr/vxamkr2Tt/0/dai7vovUxz\u002BMxjI/vVWdP3jxH76OTrY/kCfMPoj1JECYi7i9EMyVPzSuRD658kpAOFXPvy5jK8BNeBvAJn6eQFqGRT8wE8c9YOBXPiT\u002Bmb\u002Bp7Bi/wJKoP1rvF8AVW6s/OOg7P9Ncqr6KoK\u002B/ey5IPpa3IL\u002BEfry8DRY9QDDiDb\u002BY47C/f79XvsBvRb9aZXK/p8\u002Bmv5i0tr8eJWC/5I4NPvRSFkCDF26/\u002BJxFwJgs5T8y5WU\u002BQObuv0QvOz\u002B0CYe/Id0jvwqep7\u002BDPOa/FoYQvgJCFr8mXZ0\u002BHJiyvx62YL8bvlS/EYEZQCWk079THka/L1ZHQKPEC8A3P\u002BM/6I1LQHTNzj4THH\u002B/men5v\u002BxSjD7qgsE\u002BpDXsv8PRHMDh9dk\u002BdGN4Pw9quj\u002BfAwc/oskpv57XCL5UUAi/WV/fv44NKb/c7Z8/OvLiv8BIXj5jA05A2S\u002BlPxRL7sAblkG\u002B7denPx4YGcBUQQ6/\u002BlKIv5zg8z/Wx9s/rkbfv\u002BpYAUCdcb\u002B/PJh2PyZCor9dgYg/NY6WPxjHF0CuxhNARI6rvrBNUT\u002B2MRjAaaSWvn9vKD/AL65ABvBwv39\u002BI78m9TBAs80Yvm6JI0Bi728/UO5DP2g5b71Vtdk/XNGFPwzWsD6Asqu/pyMGQJgJGj\u002BaSwe/RO6tvcARZz/iTXe/jKRRwPRQwT2He4q\u002Bv600PwLiX78ZJFg/IXCjwJRtlj8GA7Q\u002BgMtNv2aNJD5dL3k\u002BX7tkv1HsFkDgWKI\u002BFG30vwUIMMAgivG\u002BhGYwwAB4ijwLrg/Arnn4P/FYj76ncgPA" }, { "CategoryId": 16, "Name": "Snowsport Gear", "NameEmbeddingBase64": "eLaHv4QlRz\u002B9IgFAGmiHv7NLAEDA5bY/l5wkQGVleD9dGD7AvsxXPx2lGb\u002BvTzDA3GwaQM9OqD\u002BrhwQ/qrlqvdpRGUAUU1M/LZYJP8cbTD\u002BENhY/6JajvyDTjzt2v52/iIwAQNk8oz/yDwO/lwWfvpGl\u002Bb8\u002B5GbAqHxuv\u002BBYtzwehd4\u002BakEuv7r2G8AMJxe\u002BiKSvvpH2Tr9d9h3A9KMSQEBrKTy65ak/FyFCwOQxEz6oBM8/XZnvvnmSqD4sIFc/cqEUQJdXGMB8jGs/GjfsvyaJBL7w9ga/iG/PP5i1OEA4OqY\u002BlNDJPkQmKEDdH7Y9DwwEP1gNej9ExOHAag/RP/qE9z5ASitAT3QMv7iO\u002Bz99boU94N6qvVjeAj\u002B0x/E\u002Bbj5hvulPG79yvKy\u002BUMPgPlNznT4emIE/fkjCv7Z7rL/TlrO/rqiwv5SpNz9jbLk\u002B6PuKvm3kzL4iyBi/rGzcv4727D\u002BAUYY/DmA8P1bwQL9c\u002Blm95bVKvn4bMcCYFcY/UEHtP7R7Cb9f0jY\u002ByKYIQeRIKr\u002BVLQk/JMMvP/7r7j/qORq/Qo5\u002Bv/AmxT7MTwG/XOIBwDsror7JJi9AbtkpvR5pwr\u002B41WE/0w13v4Rmzj8xoa2/JzpMQKDQyb7AKCNAtMVawAxs\u002Bb7v/Zc/gCySPFn2oL\u002BpxUq/zqw\u002BQEqSRkCWvcu\u002B3vJbQKycij9s2Q1A65vzv\u002BbMIb93QQtAf41ovw6zRz5k3/i/ffQ7Pqu//z8kjQbAMzMBwPCiMEBA2G/AdoEQv/AceL6\u002B7ljAA92Sv9BbUr\u002BdHcO\u002BzqyrvaI6cr\u002B\u002B9RK/j1SwvxWZIUAwvvM\u002BOG2iP767mj4LGay/eprhP97rXz5ufYo/gPyNP4Y7Kb/Hh4S/jXFrwMEF8z9cjUi9rOh6v8DL775MmMi/2KcXv571I7\u002Bq0XU/fPA/QDMPeb\u002BPt5q/uCpAvyzNxL\u002B\u002Boyw\u002BzTrUPtCrIr89TNE\u002BcLukPdRC1j/IwXM/AKHEvyUZBMCTzPc/J3adPw4JMT4VUbW/51geQJYXpL\u002Be5yO\u002BRttEQLa/X79xjpu//p8fQEWJUr/vOx8/fKiKvy/woj8bcva/D/BVP2/qcD\u002BfE36\u002BscoNwHRb0b8mC0u/eos8v4YWGsDhJum\u002BIsA9vywvG7\u002BUPDW9p/iVv1hIXj8QZ7y/Y4LSvrRSwL7IxMm\u002BFz9Sv5zIvsBSW5Y\u002BJoI0PraaID8h5cg/CGgMP\u002BxdCED4HT6\u002Bpt8nQOSbTD\u002BHnLBAzkcqvVKZmL86Jgq/94uxPjrF7D5wGVY8LEoKPu8M6r4KMy4/iKJivrQabUA4sRnAcGAHv2a0nb/mgmy//HWDQDIpYj9DYBxAq0oUwHz0fz/rpo2/om\u002BePzQ6HcCRee4/7n/WvmsoBUC\u002BT3K\u002BtqOqP9pTmT6kjXE9BA\u002BZQEWrRL8MioS/\u002BzGSP0oIEcAC56S/0aF2vqIVDcBs\u002BDi/tCtHP99l8T47A1BAXrlhv3vWoz/v3hTAeP\u002Byv5MU7D4ZMxZAuittPt5cRT9uJW\u002B/LDVLv36bAMASBec/ZvWhP3NQsr6u3J\u002B/ZE66PoqExL\u002BmoU6/sQUrvtmoPT5qT64/lepxP3uERj\u002BHB9Q/zrPovUMYDT\u002BoO1i/GHY9P6SyHsBPnhI\u002BGVvXP5NvP0Cp8ZU/jPU7vx8aMz\u002BIEd8/HH06v6U8g78HrFQ/9ByXPyid27\u002Bh63ZAL0jgvgbVAcG/DbO/WdZ9PzIpg789IIm/YoIFwOx3JL8AKWA/\u002BFElwPI4Gz9nwuG/nTCtP7hocT/L32Q/lCV8vwIzaz8VIJE/U8alv37yHj/jVh2/kJKFv3b3CkCki55ATnoYv4\u002BU4z\u002BXaRJAkuGdv2hs3r5K76S/To2oPxYHAEB85SC\u002BqorBPzVKCj\u002BW4o6/jPOGPxvTzD4qeJQ/QZPIPhAO7T7oFUu\u002B7qgDPnZy7r\u002BBaRY/qy6lPjb1sr8caGk9dbA3wH\u002BnSj6yvEA\u002BkefMvzl4oz56PhbA9k43v\u002BV5Ez4zoznA\u002BIvWPe5a378Q7Hm/oDYfwIDACj1HtU3ACnFvwMJQxD5ERbc9" }, { "CategoryId": 17, "Name": "Off-Grid Communication", "NameEmbeddingBase64": "sHDrv0y4QEDOtis/2B31vweIiz8JL8M\u002BOctMPquFrT8lAvC/puBbvzvE/L5kHJG\u002BQXUKvzx25D/8IUg\u002B3QsuQP26hj9fY4w/PduRP36toz9W9gdAr52CwE6K7r\u002BzCSo/IuAYQNLktj7eERzAnYCpv0MH3r\u002BE85vApaCWPoRhRD6q4d8/hv4dP2LLaj/yrgO\u002Bc9UXv4PI2L\u002BBqZfApwteP9qqWj8Uf7M/uPyzPmWgQL9\u002B/4q/mTg8wCf7Z770xrO9Zs0YvhjhYsCIY0g/CK/hP8MRY7/m6pU\u002BMrQWQLcF4T\u002BmsL8/DDmuPVkymL/rxbQ\u002B1vC6vhqnrD/A0NfA\u002BAjpP5Z1nD8Kcsy\u002BruUzv\u002BKbUT\u002BAROk/d/6xvvB\u002BSb455wi/0g6mPrN9yT/efuw/IxPCP5tATsB4YhA\u002BI4kZPt8wXr8P2BRAbklswJwGjD80/YE/pWSwv5wqwr/QkDlAnH0nv7az0j6UmAO/EKAiwD3LJUDny6c/ZuJ7Po7OgcAeGiu/rPqYPgC5X7y68uq/tK/6QBw3ab\u002BX7tW\u002BTKBKP4Cowj5fvcK\u002BIMsxwOE6J7/jgNe/5Rs/v6Qqvz/szKe/lAo1PztR6r/dQ8A/xOeJP5p5gj7IB/M/DsiCP2ok8L5mpYU/rl3iv1k/EED7SoM/6CBvvKr7Q0B6PoC/fMo/QG4UK0B\u002B/4e\u002BmCHdPqZVBD/3xpe/7Lj1P0T9mz8qOARAxmbAvdfL6z\u002B3zac\u002B5lRQPx5TPECaqbI/Jq0IPjBREr5LdYnAA4U8QIqIPEB4wTG/xqc8P8unDMByoV\u002B/cLidP2Cjuj8xbEtAk1Gtv\u002BBciT5kgpg91WsBPy9mpT9bGu\u002B/KzbDPwDfgb/KHG6/dxwtvsCLoEAu1PC\u002B35qQwIxWdD0VMKY\u002BFaoYvi6VqL8cAvC\u002BWJadvkwp2D9vtSDAOmQPQMLHecDiute/RCO/vdMU578Pk9k/6Ee7v3rlL7/CChg/47/NPxS3\u002Bb8MCsC/cnurvzR/Tr0ghcs/AMwxO\u002B0UXMAx0O2/nwUsQJIWjT897xvA/ae4vw/jkL\u002BW\u002BCm/NJjEPehKtr\u002BRjGQ/wcF5PqGEB8BktpE/sX9nv8gSAz9QooC8XewfP66Vwz/MbXNAHLaFPTgPLr\u002Bm9ylAR0oDP0OEvL86lUC/ItoDQGpGEkCScoe\u002BHDF3P7KgfT/ArKu/KWDcvzwaBMH8ts\u002B/ygP1v4Cb679Utja/TNcmwDy1FkCXhKS/rlhmP3TF2T9OgmFAE9tzPw4w/L80PDs/6jILvdwb\u002BD8KE6C/2srjv4wuob\u002B5lHi/kvLwvcODXEBoLuQ\u002BXg1AwHihQj2p5QW/OVK3QCiwYj6YN0VA8pfePpK16D\u002B0Lsk/JxICQD3PS8CMjY8\u002BrngjQHQOrz\u002BG36m\u002BmZG4P3QwkT9fYa4\u002BXl5tP\u002BCaoT5OGjnAEVUAv8/1nr8qpoq/T/pQwGmi1r\u002B0Bw3AHzWUP/Dt4r/iLDZA7HqYPxZe2D81tYA/VN3cvz269D0UF9a\u002BWfGdvxHh3L5TXho/KNmfvwPeYr9xVd0/J23yP5eKBr9L6VQ/H6i5P167Mz/n1FQ/g/Z1QDZMfL/kkJE/gk0wPtgkmr5xEMM/RiEAwCkDJsBCLgXA8jc2QGZs5r82oLM/SEG2P8sgKT5ImcA9l52av6PA\u002Bj\u002Bh8wa/tdG7vnewv79mCsM/uI6yvoSLK8DGc4FALakGwAIbAsF0kIu/4ZCIvx5smr8P9MS/RtqmP\u002B\u002B1Gz/jikRAS31IwNpZzj8M6wPA4BCkP9iI4j0iM0S/csLPP3HpZ0CSQCFABeQawAfDcb/uW/u/rjcaQA\u002BkzL4Kn6hAEFd2vPRB7z\u002BGP7m91b\u002Bnv6Bg0j8FPjg\u002BKuefvxHLQz8MjIO/wNL9P/8tzr\u002BNWXo/0CA6v3TTNj\u002BgziK/IKnlPbn/ScC/MQLAcH3OP2g3AEDGyqy/DogJQBznHb4Ku9u//dcrwNS/1D8Mc5a\u002BuoFMvWgYjL2O9y0\u002BKa5oP2LCXr9jSPk\u002BqCeuv8WdEMAgkzk/CiCsvhQ7XD99PzjARtekP33wm7/VToA/" }, { "CategoryId": 18, "Name": "Camping Shelters", "NameEmbeddingBase64": "\u002BnHJvimc1z/iKL8/WAoePkMfCUChYgxA6\u002ByqviZJ0r\u002BZqaG/6alJv7If6T6uSJK/0M81PnfuBkDGhAZAhHntPmMpRz\u002BgO5k/aMbGvqo9AkBS44U\u002B4MMzvjx4l7wceoi/tGGgvb\u002Bnu744XGq/Yq1pP1xtUL9IcrW/LhbxP4Lu279auuK/dblxvvBXSz\u002BNlMY/Z2kvP5CvE77AXWy/wk6iP7jqGz4QXpc/wdyDvkDHAL9zVc4\u002BRrHovhWRcr\u002B06h/A7PWmP7eQS7/I2gA/5vhiPl\u002B3ET7qZey\u002BZOOoPLRFH71ULgO\u002BjDfFPjwLDT60F5k/Wo9EvlyJjLxFT3fAHviYvuL\u002BUkBtpsA\u002BpNkFwMWz7D9P2ZE/orIgPylJdL/7XVk/3JQNPxDNjL/8dto\u002BaBRhvWoSeb4P03g/zBv3v1A0WT0yiDPA2YSHv25cgj\u002Bu7Ma8KsmZvlt6gD\u002Bru4I/pPacvwQvwT5AZ/w/HExlv7p/9r5BSgu/NRh5P9ZHM8DI9wy/lnGuPUXBJr5OUhbARQbcQHhbmT7qnIc/1\u002BQ9v95izT2Ml4W/XjE3wJ1HK74XEse\u002BupKbv0QDfr6qLPY\u002BH0SNvdBA3r4mT\u002Be8mvISv2iLLL9Q4YA/O8jAP93R\u002Bj6KzmFATCiHv50ed78Ht94/ZlZvv7nZ6T\u002BoE0g9y3cUPhytCEDCWKk/N4q\u002BP2WsiD/miiA/sC4fPXm3Kb\u002BF4ze/HpUQPxDtnj0ElGG/k0kzP/Djfr838w9Aw7zHv7iS4j\u002BAJ4DAcHkqP9KGD78iaTq/pNupP1uw2L9WIe\u002B\u002BFKNQPzyXzj6i6DBATVQkwIwQBECAXMw\u002BcAO6v3YTej9nf5I/wiW/Ps7oTT\u002BWzZo\u002BMnrpPqh9hj9QUUy/Blzwv1YyEb7I320/chs/vqophr\u002BeZlk\u002BDxMnP\u002BgTzj\u002BfgSe/2GnFP0RIt7843/\u002B/3OdfvzPlwL/gKAc/fvMpvxFcdb\u002BU\u002BwY/u1sVPw/KE7/qoEO/dds8v7KsEb\u002BH844/bOlSPe0O479DU/K/ElMYQGsVBMDlwJe92LpXP31Lhb8Ug1i/KE\u002BnP77Pvb9mXCdAuKzwPjlolr9q2lc/yI7APyJUrj9ErvM\u002BnBgRwPQsND8tD3I/DgObPxjlhr6DnYW\u002ByoGTv0oQMb\u002BGkpg/K3CEP2miMj/m78a\u002BDRgzPkP0CD9iKEPAJmnwvwZZr8CszzQ/Fl2IPzCNjj6W1lPAMIeFv808ND/v/N0\u002BWtpSwCDT3b68a5xAln4twMgDBD2dENk/4rMlP8Qzrj4gRPS8l0fKv4Pmmj\u002Bd3pA\u002BMXLhviIMVD0leQ9AcQQMP6Qfizx4YKm/GttkQGmvxT9y7s8/tFJVv02yTT9Ihxy\u002BpU2YP3p9VcDPYNY/vlkrP8DcA77Yxek/rOGLPxhHdT75nSm/mL2SQEW2H75SdgjA\u002B4SxvpSdnr\u002BIwAK/ECj7v4R5mr/Atbq/qBdyPzDHIb9cSR\u002B\u002BdIFhv\u002BO6GUBbKIS/NWW8v47/Vb9yXFS/s3fKPxoYPT\u002BpyVy/RzcSv3KZjr41yYY\u002BkD/dPlelib8jHdo\u002Bfd\u002BbPng4MsDkkVi/yjYNQFhRgr\u002Bkh6K/wYYgQJLXBr62nha\u002Bxxh2vp9FnT\u002BEzNu/QMITv5bE8j1kLn6/fFeTv2LIsz\u002B/5R5Ap6cswOcyCkDSy4e/QlPPvpiIQj4wNWc/jtHOvw7qZ79UjRZA/rhHvqKDvcD3KQw/nDpdvgF7SMCiUa6/cD/sPKgxX77ZgSVAPZ65P1i3VT5UNDs/038nQCRMSj/DmJ0\u002BytZiPpwU8D6Wr08/3QOyv5boSj4jV/C/UBo6PLkbD7\u002BWkVNAuIhOv7C0ijx7Ncg/PwucPlRccT\u002BdqaI/aE05PhKkCz\u002BhCe8\u002B6NUQvkqgU7\u002BJW1A/ylvcPkjckT\u002BENku\u002BQKaZPx7dib465AfAwIK1Prrzpz9\u002B88c9OMxWvmqgxr/yqq4/2WQRwFghFECH6pq/hAHavyYNQb5kZY\u002B/dO3fPgiSvD2vguU/c0yFvlrlXb\u002B0SwW/9nX7Pun25j7k7CK/QWUuvt1lI8AySto\u002B" }, { "CategoryId": 19, "Name": "Outdoor Cooking", "NameEmbeddingBase64": "\u002BF6hPa\u002B79b6NQOE/vzQMv9opoz\u002Bt1Y4\u002BiDzpvoRshL9Nw5C/9p\u002BDv/7tcb\u002BPK4q/3TMlvrakZD8ZqtA\u002BfLHUv2pkmz99B8M/OB5Av4qJ6T2TREw/hyOAv7V2u74yWLW/JvpoPY4Ewz/rrL2/dyiDP5KRRr98FSLAl3dSPgaMXb\u002BFGY2/ZFmjPYCc1r\u002BCeZC/AMYUPzS01b7ELQXALFuOP0nTiD5PdkU/GIqDPSaF376No5y/T8o3vnl4d79JUdW/GML1Pw7Gzb143SW/hmDEvcvQ0L/X5iy\u002BdJW5P/RsuT\u002Bcwz4/HpnyP0t\u002Bzr4WGhq/sIiTPydqtj\u002BcJo7A0weFP/BxcL2a5mU/2Jt4PYryCUCaJGY\u002B0wUlv1gn0r6lUe8/GP/QPzXKID\u002BG6nQ/IJyYvqRJ\u002BL/U\u002B6e\u002BFd85wGNihz9Nr3I/y69vvkSkzL4L4wM/WPqyv8Pz3D4VXdM\u002BB8uEv/1OB0Cq4ABAoMYYPEtDgb/6fxu\u002BvDlWPriNxL\u002BZMAS/bHpYPwAbhr\u002BQRS6/6iXpQLwjNsA8vOY\u002B/PO8PqB12Lx21rS\u002BPFsHv9vBo7/ImZC/8Jyuv\u002BbqM79IWxc/4LFRPOgYDsCRXo8/Xtr3vixOKr/e4xU/I7mDPvFlz7\u002BAsws/QArJv2pa0j5q/Ic/20VXPuT1pz861d\u002B\u002BeEmGPnCEHECZX4g\u002BsG0XQCYGKT\u002Bjesa\u002BbiCDPnyEx7/gDpq8Uai1PqJI1D9HC9g/UyKMP3l8jr7CNxg\u002BAlFWv05o6T9OvkDAOLpNQLNLir4Awqs6wMsdvEA0l7/oIUu/XvIGPz82Nj\u002BUQJQ/2CcVvtNTA0CpX3Q/9o\u002BjvyuNgb5gkoK9xALkPoIxxb46GhY/UuQeP2CUY76Nsea\u002BvxuHwAhvIL/slCI/fiQhP08QUL8fgcY\u002BvtXhvtoLFz8aKJI/GFKXP9Kehz\u002BgsUDA0drBPUyE9b\u002BM4/k\u002BRG/BP5B6bT6V\u002BhQ/wvZUP8S6pT36i2e/TNoBwAPLmL8MkKi/9pEvQEcl9L8yf9W/wxd/vzZZzT67faa\u002BZQNjP9Ra/z2JOt\u002B\u002Ba1nzP2r7nr\u002BKzQFApN8EwEElWb62Zii/gL07QEjYiL8eI1E/4rOsv7MRTj/zffU/aL36Pspmrz7Ujqk9s3o8v3iSOT5Ido0/EivGP2XMGT\u002Bh5vQ\u002BvQpjv3atLT/PCobA2L2hvxJud8CGdhLAqoPlP6f7cr5W1ho/mKyNv6baor\u002B\u002BQAy/8I1bPSmgdj8K\u002BQdA7AgdwICvwj9S/W0/ua4BP5qcwj99h/o/HSGVv6T/QD4aPoo/BLlDPySAnD6RCg0/m/mOvrEimz/e5f6\u002BsEx2QFaeWD4o7xJAyP\u002Bqvylsab\u002B\u002B2jU9GPlUP3U7JcAALIC\u002BMIynPpJm3z6kmge/1vUEwDIp1r/alHQ/XCkdQPoIUz7A2Fa/rLpfPfBPt79y8S0/rEjVvwYMdD9YQRLAwFspP8gwyD/alf8/Gconv9AjPD\u002BixF\u002B/Gzuev9Ncjj8TS06/C1q1vroFOD8xA0W\u002BdL7WPjAlmL99BANAQX0ZP\u002BXPU78vrh6/cXgXP889mD7S7Na\u002BEkQjvx46DD/m3Pa\u002BKudIP7Irwr7CNtg/v3cQP4/WMD/Y/CrAlQ8lQA6hgb\u002BVi\u002BQ/PCQ4P/XPtj6IrlO/RjHEv67P3z5q/Dm/o9ENv4TrUj7qtwG/dqMQwNDEkb\u002BBsmFA2NtzvU5dycA1lw4/GXF9PjDdrzzomtA\u002BNc1kPvi5jz2fC0tAETSwv6VMyD6Y4wg/BIhnvs5YjT8MR\u002B\u002B85WANP3hj2r66X4i\u002BF0lgP0b8iz\u002BlJ0G/FG7hP6qNJEBEAD9AqYmtvvSjvD7g0aQ/AJzlvlqtl78zOwi/8BiPPCrQrj8cqkC/s8/EPw0Ezb4uxu4/TVEDP9L3aD9S2Ay\u002BSuhlPlQTlb9Y/pq/OLLYvRQCfr4VIfo\u002BfbSQv\u002BJTS793s0c/jUiFv0BgZb8e2HM/CbNJPwo\u002BQ7/A2gHAas3UPmaCwb5CNAY/Dm2Rv5QHqT6ujdS/dHeEP9ugnj8nBErAuxv/PjqzTL94\u002BqA/" }, { "CategoryId": 2, "Name": "GPS Navigation", "NameEmbeddingBase64": "4O2QvG0uyL2DQyRAls0IwAEwfr86uL\u002B\u002BpcwbPwqMjT97JCC/qac9v3dRgz/cywnAGa4pP9LI\u002Bz\u002BP1w2/21HFvyfVWr8G9cI/awgYQKVAaj6Bk5s/4PBSvTAcr74sPVK/Zrorv\u002BuCUEBI4dO\u002BsoLMv8skxz2SKWnAJAp1P6BE978Dxx8/KycBP1xLNcDKMFc/4EnPvllpqD922uw\u002BskccPo/EA0ACOBw\u002BuM73v3o1Dz78D6O/6hG9v5KjCz/QxRY/ogcFPy2FiL/hx1u/dkYvPiXKlb8jXJE/Cq6BP6JV8T9w2TI/gkf3vn6m575/240\u002B0DyDP7bER79IRcfAUdEwPwZuAL\u002B3DhU/MktVPY1h3L9a6ri/kufpva4Maz4v/e8/5\u002BeMv3WZ7z58tvY\u002B42BHvYq1g7/sUNA\u002BvPxyvxhpbz8MFEg/EsXqPyy/MD/V9dk/YvJJP67G57/h2G6/4sETv5Pomz/iQom93ODMP3Kzmr\u002BGCcQ\u002BrI\u002BaPlJzib/07VG/IvGeP\u002Bz6jD9A0nQ/kibbQLlnMr\u002B84RZABLvoPZO71j9tmGY/D5WBv17aiz7kL/6\u002B7iOQv7tZgz\u002BntIo/XrIsv17jUz/IHI2\u002BrJsgwBZH1j8u7ne/GFooQBnytr49CRg/4DkKwMM7nL9hRT5A4HPJPk8KGkBJNgK/5rvrPyL\u002BC0AonRo8bEOpPxny4j9HPIW/QLelv21ZxD/NcR\u002B/h0KYPtHpmT8pFs6\u002BxMCTv8gC3j6\u002Bix/A3xTPPkfJB0AY\u002ByPAsGOgvn92SkClhXS/6uiRv/TUQz\u002BiVdq/K9C1vtZf8r4LcYI/JKQvP\u002BWEUr\u002B22Us/NiG/PzShPT/pNV/APY6pP6SD876GPxe/ATJ8vy6veEBZNq8/MA8iwH5HXj8YJJA/q8sRPgvW8j41TWw\u002BJRR0PjOfbz4H7Zw9F2EXQNJ7Xj7PSsO/wPKTP94/Yr/gXLm/eAiWv8xp5r\u002BUxEu\u002BsfXWvhBCIz0k5Mk\u002BNGSNvyQnKL\u002B4T7K\u002BH\u002BZxv5azCUCsprG8gHjlP1J3jL9Pc1S/Yr/WvhS31b/fzsa\u002Bh\u002BuGP90hlb92mr0/iuMnwEBI3brbIk8\u002BILrxP83KMr/xU4U/9v2tvx/gtL/hnwpAPGRJPy4HrT7WLkg/fqXdv0Desb49LALAHrLdPoBj8j3glgXAAtXLPzRnLL\u002BgSgs8m1Ohv/w\u002BscBfKfO/OkqVPikwdEBqwfy/mjNOv6/lLL/0jPU/vrO6P\u002BIEEsBuUW5AwrDtvV7eVz\u002B\u002Bdds/\u002BDKgvdCtJD7SOUW/MHeMP482dr6OFfm\u002BL6ryPvgCHT8lZtO/RhDYv0Pgyr58nTY\u002BAottQFSPaD\u002Bml1g/FJpmv6ZohT9E9qe/qb6zP6ABxr9gs6M8YKCIP9QasD88qqE/MTG3vu4\u002Bzb9kePS/9X3JP/g95T\u002B1nYM/Qd2bvgzKxD10OqG/9bOpv3H0lz8UCGs/fvsfPTnoSr9SbBy/argFwM6AAj/Mabe/haOEv14jrb8M7NW/3FyFP9h8kL990oS\u002B/usqP2MwTL/LL\u002B4/izulP1xHPj94H6A\u002BB0jBP/Dnuz16S9G9DK/WP\u002Bzq9r/qOuO\u002BIohXv9qfBMBBfSRA3kkzP/CxyD8MneG/G9ftvzFkCj/0\u002BY09NoSWPwpCar/RTKG\u002BWlCDP1amS7\u002BzehnA6vKcvyBGtL2Wrxe/FcVWP7T8a8BUlhJAh7GUvoRGr8DAtZG7u1MtvQDfPb\u002BCKOa/HLqqvzLEnj/o8GI/D\u002By4vxsIp74k4FW/Ri6WPzJArz2IguG/9CzFPfvZDkAF6xA/iPUIvvNzYj\u002BqSvW/rjf\u002BP\u002BcJ6j/ORW5A4isMPuC76bobl9g/\u002Bsn2v5a1xr/AEd89ps\u002BwvlSQi70xZBe/hDAsQLxPPj\u002BqXwVA4ZspQCehAD8NFEE/5Mcvvz8dSz/QHJE\u002Bxk1FP4ry1j9w72O97LU6QLFStb\u002BgyY6/YwlhPjhDnb449uc\u002BUF6dvt9nib9ala6/6I1tP/4qjT3Qm50/PxX9v6TErr\u002BDTV\u002B/DCyhv8a4Ez\u002Bv2CXA2vnSPyjGIMAGF/K\u002B" }, { "CategoryId": 20, "Name": "Snow \u0026 Ice Gear", "NameEmbeddingBase64": "uWA0wM/rgD80CE9A/tIPPrxzb0AUXKM/K7ohQDBBBT8DShrAdHZfvsK\u002BhL4VSYa/s0xsQCO6QD4FxLc/7GmgvrAu/j8FNhE/jZQFwJNBHEB7Cqk/rt\u002Biv6yL/j5Fgri/pHk6QNqoCkCrHBy/uS4nv4bqwT3334XASHQyPdJ7cj4kbb8/R5Ijv5HkNcDn1q6\u002BqT2xPhSuqb/chzLAF0TlPwzJD73g7gBA5UkMwLXZCr/gyuA/B1wQP1MC8r7z6/s\u002BHUoFQMeem79SdeE/Rimvv\u002BkOdL8aFzs/eegBQINhbkCk3/G9Gri/PY5P1T8kYSg/pSVSv3jSjz40FtrA1CtkQNMVYj\u002BFIE5Ai8Clv2qL\u002BD/CplE\u002BgQKCPw1G1r47KRlA1lgFP6x7kr4c95K/RqAwvh8h6L8YkYw/2ACTvz\u002BdNcBxQiDAmB6qv\u002BzBMUDHAi0/\u002BWhGv0Ikkr4wJpO\u002BR1L4v5g9tj/fciQ/rEQ0Pw9ZWL86Mco\u002B/ETMPx3ssr8t5RJAtLfrPxkI8b5qIfE92R0XQX356b/etba\u002B2T91v0TBTj\u002BaCHu/KI1rvxhhID8N\u002B8u/grurv9CsEL1ipR1AegOTv/C/8L8k6VY\u002Bx3B3P6D7Nr9GgVU\u002ByLtoQBPOiL9FQ64\u002Brt\u002BFwCE2h76J7ANALgdtPwJKNL9mDAbA0Z71P0glc0DmNQC/ulknQMa3yj8cMFA/v16UPubpm79Ocpc/unFevt/aer\u002Bm9jXASLBgP3i1sj/fOUO/wECyv\u002Bs8\u002Bz8jvYXAaOXQP6iLFj9ltYvAU7YJv0zk6L/n97G/NJLjvr6YBD98fwNAtuonv8MvpkAYAaa/E3UfQDiV3r6i6IW/VdCZP6p/dj9M/aU/q\u002BMZvtpnnj/XE/W/evqGwKuyBEBQG1S/6W\u002BIvpAqrr5Q3AO\u002B29BxvhgnU7/x2AI/aJSVQKOPD74sBijA\u002BBVev/khv78wk44/9Pc2PoGdib5j/p4/o/fTPl3G5T\u002BfUY4/zh8qPxRYxb/EfqI/WMCUvYKsPT9nlqq/2hKJQDg7uD5jYIa/BwkEQBI3qb\u002BGX3e/llEfQGc5HMA8k0JAbHmUvysb1j69IxXAzrstQNTKgb6SNDy/DlEmwL9Zqr9EF5I/6C/lPNH46L\u002Bq1uO/gIQIPllP\u002Br6AoHI82NpHP9DDMr0AwFfAyjEFv9lnwb56nC7A6HECPuCD/cB1ZFQ\u002Bf7YcP8mrqr8P\u002BIY/OPFUvykNX0DBCLi/1Kzqvf0arT8ogpJAhlbMvwb2k74pFw\u002B/aIwPP0Ik7z9dIb09wXgAvx6QyD/7EZw/jT8HwEAAYkCjV9G/lTvPvkgDxj4t1ty/bD3SQBZfLj5LZs4/3Nfxv9rPGr2pJkO/iEWYP8ytjcCY5wRA5jhBv3Cbbj9MrIo/bz9Fv5eZjD\u002BC82m\u002B\u002BWapQLi4or\u002BltH0\u002B9FATQGheN8DMQ0m/1iWsPZd6RcDO\u002BWnAZe\u002BBP1YYpb8oTApAEUD8vy5nP7\u002B3SiXA/7XKv7vc6j9gKlU/1pp0v5eKJUC23Oe/OCC9vlqqIsBU\u002BhZAFgMrPzolH782XWm\u002BS2mEvqLjEb/LUqe/7awOP8zb6b50Z9c/HfrvPy70pj8s96Y/g5\u002BjvxKV\u002Bb5Flpm/TrlAPtxJUMAsGMo8WA9sPiMdOUD85eS\u002BmMGtv\u002Bjwcz/9dd0/7Vriv71aQ79Zeq\u002B\u002B3T0AQE6qQcCvPaFAejEHvxcGFcGGhyu/\u002BC4dQDScxr/eTRPAiYDQvwNHtL\u002BX/oM\u002Bm4u7v6f2rD7cAwW/enjnP8oAiD8xCX8/DrSfv6gF3DwqdvI/YXT0v8i8dz8qs\u002B09yLFov5q5MEDWjeFAqk8kPtCg\u002Bb4\u002B6cM/a5SGP\u002B4U4j/8fRg/jbnxP2mRGkCETLK\u002Bz5njvux8Qj/HeZM\u002BTCI7QMdY1r6EouM/I2WwPwkyEj92m4m/KG08P/Jenb8cE0e9rsrmPVbAQsAAsRQ7cbF4wMVQRr9qhdk/cderv2VYpL7IGfG/yzYFv6vbjL/e8i/ALhdmv6wCm7/sFOW/MsBGwKbDjD9nZlTAUDiYwFpAAD96EvE9" }, { "CategoryId": 21, "Name": "Emergency Gear", "NameEmbeddingBase64": "Pozsv9LkXz/MPXg/MJlDvZg3NUAotoI/TIUiQHLv3z8Su\u002B2/vap1vivpc75m4sq\u002BLdJaPmBbzz9rb6w/lun3Ppj/FkB2uai\u002Br6irv7BmFkBvc5o/ryMLPwoEFz4gsIi88zOjP3ycvb6b/9I\u002Bi2N1P54ydr8K/13AYtWXv\u002Bee2D2sbcs/Qv6\u002BvttTWr4K/WY/Qh4WPpBA57z0772\u002BWYEPP7565D4ozmI/qJKmvn7N5r9W8\u002B2\u002BsMLyv2rZcj/y8CC\u002B3C1nQN7aOsANKDxAjNX\u002BvhPCuD5eGQY\u002BUtWkPiTf1L\u002B0zVe\u002B1L45v7SW3z76s\u002BU\u002BXqVaP/DrsD9mGm7AtnGhP3wBnL55s8Q\u002BxJzkPuayGj8L3/A/1FQ/v1S6s79UFM4\u002B7jcHP/lE6z/HtC\u002B/XOJRP5fPoD90YFq/ImnCvkSnsL8CgyG/E5Xavy4dlT5ggMY\u002BcV2cvudWXb\u002BbGm8/ygCWvwpaC7/b9bE/ashhvxp2Sz/CERw/Vo2WPyVQSz6yCOy\u002BNQDOvtJQiL\u002Bi9sG/xrn7QDTC676EbU6\u002BPi/IP8laHD4eF9M/fkYqwDh0hD98wrW/a7a5vwCOsz1sFJc/SkVovzbmgr5PpGe/QLngPkRiXT9t0pO/exbXPyd1Pb/8aJW/TkiXvrRHbD8ECuA//11iv6U5Oj6sCU2/Ok0dQESUNECKCLu\u002BPCfMP\u002BKs6z5C2E\u002B/hlaBPpa9V7\u002BXbTM\u002B0emmvuBaNT8PcK\u002B\u002B3vaiv4Wu4D\u002B2ZPI/wUQMv2T0871ecXLA1p8YP1g8hz8B5a\u002B/\u002BIYnvm2b674GfdS/QBmdvwbblD7yRVE\u002B1fGmvg1BiT8duUY/9sE/QCKQ6L7wh3C\u002Bzh8avzEEsD6p9Ym\u002BvqJevx1pEEDoWfm/bHMSwFYwAT8mSYm/oydMvrsuoL9r5IS\u002B930AP3yFGz9KPMk/mltSQHz3Aj3E/uY\u002BFLwZv/5yo78a6G0/hK3GPjiSz7/alKc\u002BEUPuP4C2FzsHt8E913yBvwaOmD7bqCk/sxPUP1RZAj6\u002BpTq\u002BlnAhQM4TDT88JZi/gST9PhMruL9tBhe/l/GLP40NAcC\u002BKJo/dPfvvi60DD9bN\u002Ba9vFPLPquKHz/YgZq/L/ZxvvlkKcA1O4g/JlknvpEUa7\u002BWeglAome0vsw/U7/MZNe\u002Bb/HAvibuAEDndIq/b2kgP6HFbD8i664\u002BwRTjPyQIrMBBVSI/g2MhP80YsL5M3Kc\u002BbSsqPxNVqz9p5UK\u002BGedivyEyGj8AtElArpygv5D6xr442Vq\u002B\u002BCUkP62PJkBsuCM\u002BAkUUwCFpbb80xmU/sDyfPgSy8D8m/TnAzG9zPyiPXL\u002Bo0K2/Of2DQCenLr94DBo/uIe1vzK0wL/kW5g\u002BHB7/PyxpGcBWS1I/wHj9vjK8cj6n1aI\u002B0Ggov/jR37w5YwTA8G3jP65heD6bF7G/MBeEP0iV/L9t3KW/\u002BtFpP/\u002BzAcAsU6C/EGvUP7dqPb\u002BBTBE/GfuRv5Dmnj/x//m/bUG\u002BvvO0Y74piYW/vyjjv83U5b68WYa8gG8cvwjzZb8qMHw/Xv\u002BSPjtxlr8ZVre9SoDavsrKH8AKShnA/EYEQERazb8Book/dw8MP4S7cD/SJLg\u002B6Hy1v/ibMz3rqRK/EcRPP9KHb75ZG609fBPRvlqWRD/531q/8Mfvvr9I5D9xhc0\u002BSDZrPjyYUb6U5z2\u002B6ukpv6I1g7/8\u002BRJANX6iv72u1MBnVuU/mt/fPmgO9r//XgLANSqIvr6hR79yaA\u002B92p7uPuEFkD\u002BiKVe/Qj6\u002BP8/zqT9vuoE\u002BWG0tPOggkz9Aqmi96W2vv\u002Biy\u002BLxCrGy/8Zsvv9C8sT/uXIpA4ibfvs4iUT\u002BJObI/t8mDPnRzFT9E\u002Bqw/RXyhP6zxJkCm3im/vKlmvjWghr58CYk\u002BFkYHwMwLVb0KA4E/siQ0P3e58j53RSK/zr//Pp/Skj5t6bI\u002BSVgbP51ltb\u002Bilg\u002B/Js7pv9iPp75kny6/YLZBvN6hEr\u002BvaV\u002B/mHLYvuCe1T6bBUe/zcPFvzq3bT8o23I/E1KNv7N7uz6S59a/XoMcv9TlFb9Uqeq\u002B" }, { "CategoryId": 22, "Name": "Adventure Electronics", "NameEmbeddingBase64": "UyHJvykdtD9S2\u002Bw/pnmfvwo5qr\u002BWClA/0vxcP9wHhz8351K/rGfAvtZQyD9OksI\u002BjEJ5P1PXsL4SK4w/0YdePpumyj9YkXC\u002BQWuEP1/7J0CdPRw/sNKTviIbjD/xtyK/GQ4dvyLU9D7UniS/RV5fv0LME7/wKyXAWA08vdLXfz677CK/vk7svtWccD7E4ZU/KNNvvwyBr7/oJk2\u002BT9ICP1xhj7/SG7M/SVxYP6gaFb9\u002BECK\u002BZvvnvxav0b4ZmP6/CjeVPzlshr81ocI\u002B4xE4P7hZpr1ma6u/UcdRv4BEuz\u002BYS0o/J6fxvpBGxT5f430\u002BtTZ1P2uukj\u002BowlLAFCktQOPqEr9Yovg/bqcAviDiprtfkNC\u002BjF0bwIIyWL\u002BC2ZY/9InAPie0lT8w5e4\u002BgN/ru94rfT4dI0C/CRGRvzKDVr9W/ai\u002BgxPav/oQFb/OroM/Aty5PyQtBz0SEb4/AGjfvtBNlz6UmIM/ADwmv9XJAT7WfZC/lR6UvhBByr\u002BNNfm\u002BLqxjPskuUb\u002BRScK/yHWyQLKBoj6hsCM/rAWZP/6XQT9cY7S9OjwkwGFvmb6xuhw/FlqZv1GHhL8MIgG/YIQEP3p0vT04c1\u002B8ai7XvxkPsT9onMG/1GU5Pyab0D5oK\u002Bu\u002BLMoTwIQ1\u002Bb5HQIQ/Jroavd6H4b7WB4C/w1NEQKU4RED5/ou/T217P6VVoL6NWIO\u002BnOMIvyOtNj/XffO\u002BPlH3PgwyvL1bZ8M\u002BRTgdP9HJ2D/FLaK/oCh3PyAcxj9bY13AMBZXPVx60r9CUqw//XM3v7zF7r0AG\u002B8\u002BIvvFPQoxQj85NzxADv4dvwJzOz\u002BqjYo/xMuOP6Kwdz/MZSHAey2LPyg6ub9A4pW\u002B5HJ/PxIic0DGHJw/Owl3wBQQpD8kexQ\u002B8JA\u002BPdowob84A2W/OJ\u002BCPxo6IL\u002BIYXs\u002BNHokQNm1Lj4KvZe/MEAbP3iu\u002Br8cFD8/KoPdP4Ac2L83xgM/T4oev6pRC76Omhu9sOqVPKQgKr/eC5k\u002BlOLfP56FGz7HV62/5AEVQALDkD8q3pc/Obz8PtCm8790Euq9CEaUvT4B3L9tSjU/8I3tv4UzN78PlApAPffTP7RSOD1ppcC9hICQv5gdcb\u002BlfUM/pkmSP5a/g79YndY/NrVlv7we87\u002Bkq6S/wMkzvYPvoz5Ayhm7U6zbP1hKGT2mQOc93zcBQJA4tsD8UI\u002B/27qTPts7hD9OpzDAsMYpvFj75z9VRO2\u002BLl26PgOsJL9aQMU\u002BYFTOv5xAuT42qQo/w2cAv8iHBkBqSKA/8kgfv\u002BnrUb5UDbE9YOjeu90MjT/gn6g\u002BcCupvHNXJD1SvQA/sdGTQAwCqj9Pmo8/Koifv8opHb5E/v0/3mQ0PeJydr5GiAs/a8NHP6DovD6ytQo/fPBuvvLojb/d7\u002Be/q3/6PwoXsz9RqHC/xLXEvlIi8L6RHq\u002B/c7juv8SYWr4u9Ue\u002B\u002BU4hP/hkfb5SZFk\u002B5WNgv13KaT9gOJC/pAO5v1cDTj/qCV2/VFpcPRkOZb8\u002BJ9W/pV8dvwwJXL9Y3ko/nts9Pwf\u002BMz\u002BUvlU/hhMFQE70rr9oUYa/vLTFP4JA0D6Y0lO94NrbO2ywJb8oOwpAKF9Av\u002B2BKUBgdvC8nCckvl7ReD8w7XQ/J3idPynp075M2Vi\u002BXbLavtLjib9QWfW/yIvJv21sML8056i/8gsGvymb8L4MNdE/OaKZPwVaosAeajK/W7mEvei5gL\u002BGSQrAjSqEPiBv5LsahGU\u002Bew0yvk3r9z8946i/g86yP3oVhL99ZsY\u002BBNhXP1142z8un7w/K0idv2CnVD8JTaS/Vd\u002BcPxPm6z9I6V1AYqLUPeZ/Tb/0lmA/vw6xPkXXFj9G/4y/qgGFv6KvtL62GMq/1eYAQCVMkj8cbS09Je/TP01mJb8iQKW/rv24Pu6bE77/CUO\u002BV9tTP8l0GT\u002BPsgm/nszKPxKMiL4EBTS/eBRgv75EFL/eC5g\u002B5P3Tv2Cbo79Qk7\u002B/YoUfv6f\u002BQr\u002BMvkE/CEFuv7QG8z4ZC5Q/iyYvwLT6Qb00WZy/9PsOvnrJBsCsB52/" }, { "CategoryId": 23, "Name": "Mountain Biking Gear", "NameEmbeddingBase64": "8CcGwIxLXT8T85I/VKhWPWOozr\u002BCwRI/28bDPztFfb7x8dG/iisrP7fn\u002BT2dKSnAv6EZQCktuj9GvYc/eWIKPghsfUDOcwFA\u002BpHEP\u002Bjl/z8i7GA\u002BwdQtPmF0Oj850Ec/gPmHQOyspz8gyhHAHiFBP69d\u002Br6ONmHAnAT1Plk0DECsc8K8ai1ov7k0BsBEEzE\u002BDkcCwK9I6L5He4nAZPHBP\u002BPu2D9tPfo/T5z1Po9Jcz4rybc/0QhDP6zaaD/Z5eO/0hgIQJ7gKMDHocA/yEgOwACFkz\u002BKUIm/UIpqPTv/hT/HPke/P87WPhieND9IXBE/wFzYOnhL2j8h5qbAsV/LP395xT/y0ZRAjIkovoXMqz9IOhK/l9KfP2qEnr70iG8/3mJtP3ezJz/MSSo/HEr5PnftxT7cr5e\u002Bw1zav7Te5L\u002Ba3SbA9m85wMgYGT\u002BQQDg9pml2P6Ghar4E4Ou8Ima2vmsA\u002Bz/jShBAiLfIvuk2mb88A5E/0wqOPmEmGcAQeQg//62DPxKYyr6g6ra\u002BnDsHQddFt7\u002B5tpg/rOPEP6lPwz/0aGk/hs8lwG7FuT7AHpG9Mut6v8DNoT9InT5AD3NKP\u002BnQs76\u002B06Q\u002BP5iav4b\u002BBkBAy/K/YnemPy77vL888uM/rQ9VwEVtDL6oU0c\u002BmcFOPlpP379nqde/ksPSP36AMkCmzcg/uN7kPyFP0T/m6jdA6/KFv8o2kr8pWRQ/\u002BzC\u002Bvzf5vz/bzQTA5plvvjP9yj9MY3K/X3YJv\u002BDcMkDplnHAFOQJv7a6z790mR6/WoAMv424mL\u002BJ6de\u002BxHdTv6JIn7\u002Bs9GG/lKbmvuIvwD/\u002BB00/gkKWPxw8P75AcIu/woLuPxarTL8qEhs/kHjMvblJsD8\u002BCh0/67VYwGiWMj3CVDC/p5HjvojNr7\u002Bx\u002BNy9ywtKP6pcCD8mzYE/Mp9lQBwlR7/HTELAquYivypCS8DA2qg7rK3rP8SLGr9An9q8CyhvvuBXlT/9Aum/NeZcwCv3bb9Eug1AVNT7P/hN9jxaos2\u002B0IJLvs7bW7\u002BUNxi/QNtiP/XNGcBC4La9bD5Mv0TjPj4Fe0dA2NFbv4xmJj\u002BsARU/AG52u77GfD\u002BpbgbAcw8QwAjIgr\u002BQ9jq8vlWxPyOxmb//Mts/F7ruP39gr74P2Q\u002B9bigWP7ZQID93JRrAJBbPvvz58L2cejG/yz4Tvm7vnMAcCv6/Q1U8QOe/E0AlMUJAeNKfPy9rdT8eC5q9WOqdP2buYr9D0IZALkh1vyd2B8AqmrO/hNCAvwPSGEAoep8/uTURwBwYEsAZCp\u002B/p\u002BclPjtlsD\u002BlPo/AhdeRP1N8EsCVOBc\u002BQBOUQB0FfT5i5Ns9yAF5vuBevr8SifC\u002BlHWcu8RjG8Acigc/uJKlv6FQ0T9pgPa/mPCEv6Vtbb8t71G/D7\u002BKQNShp77Gvvm/GoHrvrcAgz7uke\u002B/2oIjQHJZDL\u002BAFr\u002B/GPLLPta2jz8IEFNAj\u002BWSv/VRlT9JL0LAzocowP9GuL9ZugC/\u002B4ldvmb/Cb8xdYe/snFbvzPQbb/nxC1AGusKQMHzfL8oLxvAmHAJQD1Z7784\u002BW2/XPgnPgTwm70IT4U/\u002BvqQP7iqND8br5M/LvARP0fmM0CJvV\u002B/tKAPv5blqL96\u002B4c\u002BAaeoP6LFF764tjO/Rw41vzLrmT5I6cu8vo49P\u002BrFyz/mIm2\u002BzVIVPu1KAsA5oYdAjcTev1wRBsH0Jh\u002B/GAkcv9yp2784C7S/RrJhvr46LUDvgzZAmD7tv6FzPT\u002Bs4Wc/eBjZP64dB0ADq7C/DKOOPtxKvD\u002Bqfjw/S3ArvmaCmj\u002B2bc2\u002BMmqiv\u002BnpWEAutI5AB8Sxv\u002BTQ7D81zcw/IFfnvz488T6705O/ectQP3HrXj/WFRG\u002BMy4CQDHBqz4je7S/JacUvkosaT2yIqU/GP5tP2/aZT\u002BIGnO\u002BvFKgv8Hb0r86Dtk/OTz5P28msL\u002BmN1LAMNSdv592nz\u002BiELs\u002B6NQEwMv\u002B3D6YkFbARNBMPzNsz76CIM2/FlKKvpCQHb1Ri9S/uWqCv\u002BeHEz/fRua/ldRBwPEoSL9jhLK/" }, { "CategoryId": 24, "Name": "Safety \u0026 First Aid", "NameEmbeddingBase64": "SKSfv2DoA70Sm9w/kIkQwJ25NEDCKWM/8McZQMLOSkAagGa\u002BivpUv7nntb/CyZ6/t5V4vtQ89T9evK\u002B\u002B1hXLPj64az\u002BZ/q2/9JgTwI7UyT\u002BzmDo/YIdDPyDjmj8a1w3AxlSeP9vIaT\u002BeDCw/NA2DPuaT1T5SOprAUbuYvtGsM7\u002BOb5W9gHmhu0DgAr9z3IQ/YvjxP7QInj\u002BwsBo/rAIKPiuoqT/EEho9aN/\u002BPEz7Eb/oEv082i0\u002Bv7YpAkAS95O/SFBgQN3jHsDLHBZA7qsWP3tNej/N9m8/VFuAP9JVB8BZyIQ/FsSsv9t7l7\u002BJoHdAIOxlPxxsMb72gtDAIDEgQLYIoD/Yj2K\u002BgSeYvwS8IUAzWyFAIQ9TPyqT9r\u002BsPk09R/y3P7Vhwz8TEi3AKpXqvmxEtz\u002Bi4a6/RhprP6TNhT6ulEq/Ws4gwAhMr76IrAY/rX9CvsCjib\u002BoqLg/GBb6vqa8hj/0so69lPt9P7jsjb\u002BzVABAPPKBP2aALD\u002BAF\u002BK/lkpEv5OVpL/58Kq/tygGQfomeb/Eag4/wpNBv1Bwsj4a4RlAcavGv\u002BiZLkBS7kXA7KoUP6YCm74CAjBAJP1Iv8PMdz9YkYI9GXyLPkIViT\u002BIsnC9M5aivkpQeEBdriHAkClsP7UX8b\u002BkHShAyrUawCLPZL8QhgrAjZsFQOeVjkDq7w0/DhM1QKqngT\u002BtvLK/ZEhYPTm9lL\u002B0CnC/DL5UvdsCj7/ZsMs/ra/EvjNcej5\u002B36U/2z9FwHXpCcC\u002Bw7TAoJ3gPmBWtT/1TVbApQQkvqJ5478eode/W38RP2C2sL0rIBo/inmmPqTVEECbgpw\u002B384MQNfkB8DQEv0/9l4ZP1oOAj5CKq\u002B/OO6sv2c\u002BAkC/e\u002BC/WGqCwD5nlD9el9E9gKWZvVZGJr\u002BbYYE\u002BzM1iPb9ynj4ePki/GN28P2pSFj9cObq\u002BzNeyvjcggL888uw/8GIcPxyk37\u002BuFLK/g1WePkw64j4qAdw/fkehPQs6BL\u002BdXgU/GugSQGEhKD4CEMO\u002BfsmJPplt5D6YN2i/ZMwBP\u002B3VP8AKtZS/tE29v6ZRoL6EGNM/1neFPomwEL\u002BoS7c/tUsUQPBVtT3Go8A\u002BWNw1wDN8YT\u002BwQZ4/7oFuvz89Gz5NPcA/yLElwFWzBD77tqI/iIoJv8a0i0BLR5y\u002BSpj5P8zcN0Cwmmq/kEeMP/DMF8F928w\u002BkT2ePrRL4L9xrALAvlOEP2zs0T7ZNgPAqAuSwLEf5z5cMLdAzZ1vvzYXzL8MlRhAdlGFv2N2lj/1RI8\u002BsPeov5DBurwR6I6/0pbJvxzf4z/a/DC\u002BQj8rv6bfGcDYjsG/1rmmQA6qg7/nTHg/WiIxwBrYGcC/MTY\u002BMJ\u002ByPAydeMACFMs/DGPgPZlfG8DE1y69RlX9vxRbK7/rYEs/gpscPzjdmb4koea\u002BqPfJPeqTccCL1C3AIYWav8yLDcDKQWa/jp8VvoD3mr8kGCA/vP7cPqxUQ7\u002BlDDXAKRqPv4qjVT9BQzDANUQVwCj7Ir/vVzw\u002B8LHIP4uOdsDGGmI/ulfiPl1JAT9YSrk\u002B7lgkQG2cG7/i7k/AW98vQOg/kTzEKDS/JbIyPdt3dj86vIA/DgUTvyqflb\u002BpiW4/XqPCPwSISL80j5c/hwsgvxFpez/qJym\u002Bv1zhP65rJUDo9oQ\u002BKQXpv35eOz8JV96/VETCP1Y4C7\u002B\u002BICJA5BMQwGOiCsGu088\u002BGqi8PtN5nT6cTh/AeCnHPceDgz90amK/oKNVPxAzBD5\u002BW2m/dNRZQN/fJkDCbgRA56UCv3Gp\u002BT9xjuk/7hO5v\u002BSeBr8aLqu/PuJvPz5wO0Aqqc9Ayx2yP/Ti5r0E0VM/EOtVP774iD/J8sY/ksjFP8fx7T/81Tq9kQh8PzRIAsCdO\u002Bc/TASJP7g5o75XKnU/NhjpP0QWUz4GGg3A1aCXP4Of8j\u002BcVJm/7t0ZQGrCzb9mpz0/lItwwAhHl76gqdM\u002BWB4Ov9My176d8nI/no4rv6Csfj4d2MK/ADh7vlWBbj/CIsq\u002ByODCv8NvhT/wZwI/48s7v/IAV0BSDNW\u002B" }, { "CategoryId": 25, "Name": "Outdoor Navigation", "NameEmbeddingBase64": "XIZWvrq6mb9ON/k/CHOZv/U0zb1O1A0/pOxpP1AnnjxWVjS/NSUMv8ag8b06ofe\u002BFGKRPhpWmj/aNLk\u002BUjYWvwDivjzKUu0/R2uIP/3DgD\u002B8HuI\u002B5xUTv6KDbD5GGhO/\u002BXe4v/tOQUAPM4u/x5CIPruETD/Clz7A5/byvt1mQ7/aqd\u002B\u002BCJXgPl49M8CMD/I\u002BzP8avwAROT9YYxG922MtvpRVCz8xB88/jCLnvu0dQD6ARkG/672Tv8Yjcj6o/Ca/fD7/Pv3Lqb88QSu/w9/jvv3Qx7\u002Bi2rk\u002BNzEaP4fwDUAs00U/RVlxP\u002BZJnT5\u002BJ5E\u002BBHeEPyAEkbwh7KvARxqWP3Yk1D7QbbA/y75qvx\u002BFUz8wYNi\u002B6wU3vyYDgD4RMMo/KHQbvazp7j3GDIU/tLgvv3W9FMBbV0M/ixSVv/EN2b7YyZ0/Qd\u002B8PyRVab5Qrbw/91ACPyNc876v4Ue/jS1sv3hOBUAIfvM/vog7P07DEMCOywS\u002BNS7OPdwahr9PpCu/sU5mP02\u002Bcr95QkE/1CDVQH3Y3784JQ9A8IEXP5pTnz\u002BV/IE\u002BzIpYv\u002By6Bj00mOy\u002BHs2hv240Q75P1YY/GZh5v3pG3r2dshk/OBYZwM4GvD6diIm/zVziP0jgTr8qM2o\u002BCj8PwFPYZr9YG/4/E84UPxj8yz9nczC\u002BulXtP9fzHUA7dWU//lDdP1MwlD/QRLm\u002BuhEtPl5DiD5gdYi\u002BWRSqvu52UT/i6G2\u002BNt8WPmx/IT\u002BOJCO/IqLvPrXNA0BsYzbAKFEKP9/LsT8mb6e\u002BW8a5v26nA78fLZW/1wsMPl\u002BXjz6t0Xw/ThqmvtJpSr1544U/3WBdvhjZLD8RS3e/56HKPwKx3r5YcKO\u002BpO4XvdQEE0DgCVY\u002B01xlwOm99T7WteK\u002B3/kUv7ABMr24p0G/JwheviZ9SD85FghAFTghQNDogT9yCB3AVrUOP7os9L\u002B1P3a\u002BciovPtjOg7/2yWO\u002BcqBjP9e3mL79ewM/mKoPwIwbJr8Ajz6/LwVzPw5/S76eKb2/UckaPw\u002Bonr6zLZa/RN\u002BAP8yPML8fEai/MlCqP15DUT6sQxdArhcAwDmXAr9wYZQ83BoEQBKc1r7D3uw/v6w4v8i2fL\u002BSMUQ/tJxQPcpqwD8Q73c/\u002Bkm6v87QRD6puIe/rvo5P5j4Hj1NSHa/QsmCPtVIa78auzHAYumNvzEMpcBjQNi/Jj8dP/ZONUC\u002BggvAvJKyvwgzqL7FUmA\u002BU/rbPp6C7L9Uky9AKhSyv\u002BzbYz85PT4/UW8aP4YQxz\u002B0ZDY/5sSQPjpeqL7vQyY\u002B1elFP9UrAz\u002Baove\u002BME62v6moAb4A4jA6OgWDQJZbMz/AMXE/\u002BWY/v8VcCD8Ax/\u002B5/BXvPxQLEsCkNDW/agJcP/y6/T4JhMe995\u002B0v3Rewr9pRoo\u002B4Bs1QHxDkD9K7o2\u002BiSCzv3p1hb99RbS\u002BFP3pv2HpvT9LIOi/NQBkP8hFq77SC8g/VxiOv9D9Aj\u002Boabm/Ba8Qv/75R77vupW/6PTXPSjGm7546tC9rtAjPyJ8p7/6Ado/dlKHP5IE4L6oUCO/cGvIP9xYur4tc5e/BkiXPq6TVb8EBFu/PC4CPy6fH7\u002BRTKk/5ZEAQBPceT/cM9u/OmSavqBfTr8d0pg/qVq3P2OX7b4EekW98h9Ev2nLor8A2OO/b3ouv5SEyL7UeES9mlIwvzzSScB7hEFA/v3FPmC5zcC9oF6/DpsmvWMnQr8Swp2/MMcfP3jzBkDvrpw/D9/Xv3bQHD31gES/vESPPcKSHj/RlE2/fqhJP\u002BbEoj8kN3c\u002Bvq/2PkTU\u002Bz5j/Em/NSCvP1G2IEA34GhAg/9xv9IkRT9oM\u002BM/QrD4v/UBBcAeDLW/fM0bv/6yqD/kG0a/MMRDQGKr\u002B70w5aA/gmeLP32y4z5Dyzo/SHILvrJti75yk70\u002BsbKjP/1X8T\u002By/pI9SDYAP10BOL/2Dhw/7cgdP0I5gb0W1oI/zg6NPjzKlL\u002BI/tq/wVMvPzMy67270ls/fOqzvzkupL8CEtW/\u002Bd46vyoL9z4pMSLABAmLPnqU4b/My\u002BQ/" }, { "CategoryId": 26, "Name": "Portable Shelters", "NameEmbeddingBase64": "\u002BJoLvR7j6z1u2HU/NPhoP2bKKECuk/4\u002BIIYuPRzcnL9Co9m/BqAsv4joyj\u002BrRKy\u002Bxyc1P13lsz82aZ0/SO9kPpaz/z\u002BuGLQ/pjjKvn2Yhj\u002BoyE2/xCoLvUwqOL2VB6W/9dWqPih1Kb96aYO/oWrLPo2zQb77Pu\u002B/GpdKPxclir/02cW/miKCvmuUmj/V\u002B7o/ut6ePyCVz722Why/HrXYPycijT0UI5Q/qE8uPnnH8r4Ue8c/jLzFvyQqkb9TTrW/Kfm2P7KrF7\u002By7Hs/cAfgvRDjwDxmHUe\u002BQgdKPwIRWT/UQDi9QL9ePyDFVb84A/8\u002B0MfhPbSFej\u002BWtCnAWD4vPriVMUDyHcY/kbKavyJftz/yHGo/MprxPhB6Ur0G9Zg/pq4FP4x7HL0nBIY/osg3v20fpr2oxUM/nv/Lv\u002BYT876aLy3AgBrxv1/nHr8wZSM946kRwEB2FkCeegc/5gZov4EXvr5t3aY//LgHwOxxrj9BKT0/6CDVPwNYLcDGXs2/CA2/PfbcCr\u002BWMg7ATH7BQAlxMz/Wh6K9vJlzPnb6jL8EUPC\u002BbxGcvwivRD5y6Ki/rqQov6ARtb3MVBc\u002B6RTOvY1tcL\u002BM/JC/A2ukPrO8Db8xx9u\u002B5yqePxSzXz/z3ek/TfK0v1t\u002BNL532as/oGxZv3M9Cj\u002Bd7jM/yqtmP0orxj/OZ20//TzqP/xGoj/uzZQ/nxW1PkYJuj6VF/y\u002BPEr0P3UuQz/gj\u002B2/YHlBP4CSwz6K\u002B6M/mMu/v2rX9D9SV1HAoCarPcBtmD7Hjqq\u002BUFnWP\u002Ba9Ub8gNVW/6dAOP\u002BDAVT/seTBAgRcuv8gk6D9rKHa/U1VGvx9eDUB4iu89oPnVPQrUjz9Sb9s9iBexvYq/VD8lb12/gvMOwFh4Zr\u002B69po/CizWPnBlv78h2nC\u002BOhwBP0K7sj8MUiC/1qufP0xKqL\u002BIvdK/g6xjPyRe3L95\u002BqE9WCD6v/NZt79zjRC/3HuxP5RzAr\u002BwNr8\u002B6nacvtZTJ7\u002BGVZA/N9QaQOJz\u002B78VDvG8yiwdQGjZyb9w6lg9vluIPrF1gL8QIwG/igIjvvAF2LzEbV1AnF4Xvc7VtL9IMrW8EPnEPzfgkD6rnIy\u002BPIWXvz\u002BCUT\u002B4zom\u002B3jGIP32f8z7eGA8/oN8Vv0SSR761pwE/l80OPrSdXT5IqjE/18XzvsrveT8A2SnAykrtv1JRr8A8Zxs/HM9pPvcWzz4iohzAwvYmvxY3oz9Vorm\u002BHOgHwL2dhr\u002B6yq1Ae\u002BUqwNcfSL/OIaM/ZRCGPmAWhbzK62O7oTEWvwzXuL5tRzO\u002BrgjPPhpKPj3oOgI/I3ssP9nhCr9WX26/gL6AQNeWGL/AcBw/pS8FPphqkz/AJhI\u002B1NPKvpVdZ8DlphQ/S9JdPzYByr6tBQ0/LuBJPy5COj8pwui/psCKQJ35gD9epTLARggtv6PHHb\u002ByDJ\u002B\u002BcvZ4v9R/wb/8sWm/mOVZvvMHUj8/PgC\u002BSnw2vopjyT\u002BhVbG/sNT5vs39db\u002BUwYq\u002BUXmSPnD/yj6Edmy/VjVuv4xRAj6ezss\u002BQK9Svps4eb8xUg0/GKvHvfGzHMCoQl\u002B9pPQRQA3LH7/cCMw9FUP1P75mQb\u002Bb3UE\u002BOxsaP3GOPz5bgam/IA1tv/ne4r0n/iK/jm5EvY9AID/YAKI/\u002Bmjpv1iA7j/89d\u002B\u002BO7p7vlKjTz5S1\u002B8/KMmwPEH5pD7Ckbk/GxSHvYiGy8Aaqm4/PfUePivTUMAwvuS/j1AHP1pHI7/cZds/dIqtPuKPhr4ys0\u002B\u002BW\u002BXEP0KZiT8sMJ49dKVaP8D5oL56EA4/z4OCPvvspb9yRiXAAgFLvtIzfr6\u002BFH1AFlrPv/nftj3e5/Y/WdUgPr9lxT\u002BBP4K\u002B9gJbP7lcfL6LQoq\u002B\u002BrrZvlBBxL/oBBe/jAsTvxc7JL\u002BYnsU/Ih5nP/B56TwsnI6//lALP3C6rD0VUYa/yI5\u002BP7gF97/kx8k\u002BoDW0v3DJ3z9fGsy\u002BKF/0v8rkkr8zvcu\u002Bk\u002BuLvVSbMD9BRtY/xj0Lv2g4uLyrK6a/TAbXv1F/rT\u002BxsRS/bIodP3hAx7/IqjFA" }, { "CategoryId": 27, "Name": "Smart Outerwear", "NameEmbeddingBase64": "ytmVv4aCeT/e5SQ/4u7nvtGzB0BcqQs/5liKPxwoiD/sJAbAPhTRPJPaEL86mZW/7t/NPz2QpD/m1ek/5RXIPr\u002BwJEB4N5o\u002BwDduPvamEUAUroU/srCYv1xDwb8S\u002B6K\u002Bk9icv7tyCT/kq3i/29BtPky1qr9v93jA8Qjrvl6wnL/sDQpAUODKPfybhL7al7a\u002BhLEQP9wkxb5gwwY\u002Bhf1Pv72vvL82vA4\u002BMZQCwBHEqr469oE/bYCGv\u002BB/bD9sRee\u002BJtlkv801tr7AmfA/ynv2PhpK6b\u002BC2xI/4Vv/P1aCGz\u002ByfoK/nDKgvepRlT8\u002B3kS/Mi4PP19Czz/Ka3PAxOElQH3B6z\u002BU3fc\u002Ba7GEv5x\u002BT78ymfG\u002BdQhgv6UnBUAGbC0/l337PwZuCUCK/EM\u002BCrQ2QIDd\u002Bz30q\u002B6/glj6v5TPbz4wLMq8VEHGPjLmVD\u002Bs2Bo/jzD4vhOsmr8C7Lo/OjI4wA4yTD86EVM/bjC4v2ID4r15me2\u002BMkHgv1jMFD\u002Bf/pO/PAuhvmB79r8sJ5O/g1b\u002BQLyFk78MJKQ/AH0bQCjr576m8pc/hPe2v/LywT9lE4S/WxvFv4pPDj8okB\u002B/mKWNvyBuk7\u002Bsnkm/hpkIvlirJj962nW/GqfhP2u9/z/C3SQ/cmCfv5nd\u002BL8rdmg/FVe3v6avgT4LklQ\u002BZLw6QAubAED8woq/akoOQBcylb4SBr\u002B/JMRHPnihCT\u002BgBko\u002BTPBbPw1GKr/PnOs/HIT1vgz\u002BLL5SH5W\u002BIN41PzEoeED2SnbA0VJcQAVrtT\u002BQbBQ/gwgJv/KVZD2ESJS/IxaAvvshnD2dqbM/b9hQP9uaMr\u002B8cpW\u002B9L8WP9BhmD5i8lLAgn\u002B6P5yFsT6E57E/4\u002BxjP3XPPT\u002BboRLAPo6cwPzbRj/Kyn\u002B99qqIP\u002BhGiL9u4ak/Ppehvpx1GL9iULE/mp9dQD0PRz76Ms\u002B/joWzvxScVL9pwpU/hp6ev\u002BVUCcCRYP\u002B\u002BiMyJv9jffDx8J\u002B6/ngADvrzdnL\u002B9QLo/GHs0QGJagD95Mt2/OmRPPyGvh75QF6C\u002BxsokP4\u002Bisr8Apyg8JNxMPcia\u002B72BUq8/b4SCv\u002BRVs7wvCoE/KXSnP12IHT7ucAtAgMy2vzaIrz/U\u002Byu\u002B4RtCv1ofxr74eLo/8lWVvoImRr6G44m/2oHCvpJUFj\u002B477Y\u002BVLopv3KVPr/q59m\u002BoEljwBcR1MDUCJQ/E3NNP1yFNL/6gUG/Nkyavk7lYT/hfMC/hmrwPxqOHMDQsWdA9s9kP4KQiT7kH5c/C9aPv\u002BYJd0Ay9VZAGKqTv6hS/r9Qbis8E5iVv7wyg0AZln6/crCkv9bvur7cYao98\u002BmkQJAL0z\u002ByI1hArU5GPyzeOj6eGkJAw3NTP77pV8BiHyNARJ0iPw7FFz\u002BM7JS\u002BxAFtv5TdL7/09Ze/wfMpQPb83j7yEIe/ttyAPxp8fr9C8Nq/0OWlv9N8A8AQgJi8wHF4vwIJND/wcN0/p8jzPq6z7L/AO7u\u002ByBGxPDkNHb9R9wA/RHZqvQBYgL8nXW2\u002BtY6kv1c9yr9uk\u002BY/xJwRwC6Aoz0oKWq/LIIOPXxkrr\u002BEFKi/qEAKQHE98D4zV\u002Bm/\u002B50LwHp83b42eZo/axuYP9e6Ez8fNXy/2spxQByMNj/vY0A/ReY1v7AxZLyub2q/9qAWQLavq789zkY/mWQQv1o/lz5\u002BUWQ\u002BzympvlbGjr\u002BSZ9c/fBpKv1e63cCa4ZA9ox96v3sotj7abrq/XHtuPiqLVj8Oa6S9A1Ygv3hD3j9xLAHAkuU9Pwaarb29jcE\u002BeHS4vJQwtL/jpRxAueKpvySkND8aRDLA00CTP17PmT\u002B\u002B35dAmt5dPVR2N74mnuE/aHkqvxEyaL5QX7K/8G7EPmLMN0COxZU/2KxrP3cGaL\u002BAev\u002B7cs\u002BWPyHHir8yJS6/fWCMP26laL8ogLW8cMbFv/uhYL6/kT0/L9ImQFq91b\u002BwidK/UqiCPxr9sL4ml0Q/dzEFvyvY4r/OVCK/ki6sPuVrZb9a0Rm\u002BfMUqwCYJXb9ouRI8iv3Rv3EKRj9UbGzAeBhKwCrskb6wftA/" }, { "CategoryId": 28, "Name": "Off-grid Cooking", "NameEmbeddingBase64": "ashSvw/yJEDvIJU/YLeMv4CUfz8Y2IA/qrF8v2iklL6xLJa/JgSHv4Ra37/SfpG/lcawvwyssT\u002BMSoS/sa0AvxumFT8XreY/HPSav9hJSz3gUwBAFNhywDA2BcAU9Iu/WKcbQBYrjz/svui/l/lFv6Zv/L8TwLbAoLcOPxquPr5lL8\u002B\u002BNiymv5QSmz5o8Nm/KJNfvbUd5b6aEWzAWPIbPTg8/T9214k/jPQLvXlij7\u002BjU9i/5F0Hv4bn17/1hRm\u002BufQOQILYJ79rEo6/GIwJP7mt676QwwQ9e3BVQDw0uT8g7Fk/U2Utvy4Gyr6LRRM\u002BI1iFPrpbtj/IrcHAdgsOQMoihj\u002BIvkm/lOj\u002BvRpUqz9h8g9A2rgnP27KH79LgYA/isfSP9Zb6z960NE/EL4ou2Zd5r8k84C/dJ8kwE96rz/at9I/cIEawCfAwD\u002BAr7u6JH0EwACoir7ZiPY/nJhdv9Q3rT\u002BSNoe/YD3gv0xZgz\u002BcQsA/Zug/PoueRMBqyou/KSlCP5zeQT11PZS/cYkAQb36AcAh0p\u002B/GCJQP0\u002B1ej9gcbe8yCUFwO44v77GdCi/9mnZv5xOfr\u002BRqcm/BdCqP8dOHsDxY5I/b0jZP2DsEr/IHSJADm1vPgUWSj6VnrQ/bHD6vyxbO0Domy4/kRQJvxwL6j\u002Bzxaa\u002BulAuPwNPZEBkT0C/hARvP1J\u002BOz9i\u002Bry/FJ7rP5jzL79tOWE\u002Bs37SPo3qVEDA\u002BqA/EW8XQIugRT4YlpI\u002BLqtAPpqqrz9K1cbA8D2JQGENIEDdg2G/Fp/JP6RqBMAU21S/jlnBPf6psz/IJX8/bVmwv5KjKD8g5ag/sCPrvv2N0T4HwHC/HpBBP0ulHcC/ON\u002B\u002B0Jv/vhzX6z\u002BOQ4W/BVdwwJfI\u002Bb5OBt8/cnBiv4pt7b4YEdo\u002BKwe1vmYuyb9WYhLAfyQ6QMkiIsBPHQPALeCvPcFecr/266U/E/uSPyJlpb7qkVU/R7pVP2pUZT841K6/m3Gsv6HH4r8CI5q9KHbFP8YHh8AQDAzAHl7JPzmjwT/aO5S/VEFav2esGz6eVxe/oEbnP19DXsAqOI4/fiyJv4Klkr9aHfI\u002BDsMBQIf7L76Xzo6/MaakvudBCUBfrZFAcAIvPWPWzr6VSRdA3hgKPyMZ5L\u002BhEVg/nsU0QMpfDkCQlgY\u002BdE2HvtgNPkCupnbAmssDwI/xAcFQkzq//GWYvyg\u002B9L8Oive\u002BiakYwIhH6z60/gfAcpEvvxG5jj8cpgRACAyJv5GpCD4eoms\u002BypzBvRe1xT/icqE/mENAwBUNVb9QiTs/QAx3P3JCIkB4lZk/5PxJwEGjsj/1yik/R/LcQHKABD9sa6NAUSaZv7NzvT6rkYw/AWc2P2AbB8CC2o6\u002BluqrP/A6CUBdVve/kvcvvRatDL9iMn2\u002B/6cSQACBU7vPcGLAfhaEP\u002BVfrr8XVi4/w8w6wI/Csr\u002BCO2\u002B/0/5UPwSvzL8kaj4/3SMyvpCiuj90wzq\u002BHDkfwDqYsT\u002BIN/u/VvoMv6I37z0k3lI/UJDzvsT2D7/9Cqk/crf7PzQYWr8M/RY/h\u002BGyP\u002BIARj9Gefa\u002BSyDiPwWSyj/UG3U/hhzJPWJD7z4qVRNA0B6\u002Bvhuep7/woCPAkbkcQHaRkb\u002BOQCZAzuVaP2plYT/aCLc\u002B6gzcvyhm5z93//Y\u002BEGBnv6pfr75xuO8/vEY6wOFeHb5lYYpAURDqvfw6D8GoyjBA3MTivlwrFj4dWGU/aCTgPeRjrr9Pd1NAsdtJv4QMVD9FTMC/klDmP2rWzj9M7QK/7F5lP8gRxj6kaiJAHZaGv\u002B5K1D/Q5gvAj9oiQKsUkj\u002BySs9AexQZv1lstz5YvqQ9HjSevtKPmb95wHA\u002B5mk2PiDdUD3LMo6/bBynP7hCpL\u002BKz0RAdEbZPqcbCT/bAUy/7Hu\u002BP2irL8DAoYjAFAK5PO6b6b6Kw5\u002B/7bCeP3g2mL9u8CC/2ZQgwNh7Gr6sOxA/0hkHQJDppj09y\u002BC\u002BMIQNQHZnqL6FR80\u002Bwp6Dv3\u002Brhr/mpJI/TL9nP3j0jz/KR1LAaQUZQIlN476yXR\u002B/" }, { "CategoryId": 29, "Name": "Water Purification", "NameEmbeddingBase64": "7VI7vzP1Zb9CVjS9onSpv2rIEj9QuPm/pIoNQCAokj/WBzS/knjhPY4UQL\u002BYAm7AhjgpP/oupL9Ty6Y/gmkOP7Lh5D\u002B5Utk/GRkkwCpwjz8deaE/DLhGv3Pbob9ZfUW/sHOYPYAmODtGIeI\u002BDLyVvttEqj/vEkLAjLZpv7XcEb\u002Bh4lw/sNBou5Sjdz6SWrY/PtMMP45zHT7S3KK/vtkLvka7EL\u002Bq08A93Om9v3YGHj/68NO9COcRv1oOXz8quOe\u002B\u002BvMMQKHj/L/QvIw/6tefvluk3r8adIQ/mtZ9Pwg9rzzIZKc/dFiwPz6wPj9GWWi/SrB9P8ZIYz\u002BCklfAnmMMQBxAVT/5tQxAivEcPly2ibzukPA/E\u002B6XPhNdXb9GFog/5LGwP0RrrD68Pww/6kKwvppCrr6AJIM\u002BJasTv67Fhz8KNJQ/zsu9vzg73j6yxoC9F7efv9IqsD/y3kM/rhGDP9jlh71yrgk/h0ucvx/HhL9/t7A/tnfLP2V/Tb76EIi9GCu6vsk25b6UMMg\u002BtlDnQGj0FMB243E/TPcEPzb4BcCkKek/mn\u002Bsv74Rm7/kqhK/jgAvP5rSgD\u002BQp8E8MD0ov2dVqz94y9y/a81uPh17gT\u002B862I91j\u002Bhv/hgk78g7yW8ddlfvzbAY79KCNE/0JLxPgytwT\u002BLHYY/QGiYP7KrEkBn5wrAflAHQGThO74yp4O/eXwAv7D1H7wMUBo/e14/v04QoT\u002B2Liy/FgAPv9s\u002BOz/YFta/dnoov1hl0j5AhEbADQyPP70OyD9aQo2\u002BBOjvv05XtD3CP4q/72VLv/ZwR0CG0L8\u002B8CtPvQKFyT5lYro\u002BFGO9P3oA1r3k4TG/37KbP05fJb\u002ByAVy/ZUN2v9lXLkC4WpO\u002Bbqx8v6Qt371c\u002BSO/Wq4AwIQDL0DuxTK/XO4FPzgqUD/sX/0\u002BqLA2P169k79MsB6\u002B5psJPzqFbD7K002\u002BGD\u002B/vzKGLD9rItq\u002Bx/sVPyevgT\u002BJjwS/qkgxP15eoz0cj3u/2uDdPwhA3b\u002BsEhA/ugkHP1pVXz7t/GA/WCB7P5ANLL\u002BaBKC/rS9Tv7mgAsAdoC8/wN6Jv/Ls0L8JpYq\u002B1t5RP\u002Bal6j/Oepk/whk9P2telr6rwilAHzoBv/HiSz4GNki/zfUGv/ysWr1rnVs\u002B0w0sQHWAFj\u002BKB0Q\u002B8wfGv1vG7T\u002BcBhPA3xUdwKDLqsCCLY6\u002Bd3s4P0x2V7/8Wvk/qIrKv37bgz0zbEG/WmOFv9tkRT4sxMU/RMfkPq54qz7SC2m\u002BRobdvkWIgr\u002BWN2ZAGuKRPkOJWz87IJa\u002BVu1lP8iKOD\u002BGLPE/qU2yPyQAQL8ytG6/n2dCQNA3rT8fllU/rPidP6Cwor8l1BI/MCypP5tgLcBUvLG/M9gvP5ytUL/OVLC\u002BoWSrvrkxzb\u002BGHWQ/pghcP7wErb8hpNi/0zczvmfJir9sh72\u002B7i4bP9hg2b8mHsO/FdWZP56ubD9VDjA/mJnpvJaywT3kFmU/9bVev4oOST80mhjACgn2v5i\u002B0D5etYc\u002BBVMqPtVg1b8NzAo/44O\u002BvpKpQ7/7p9g\u002BQZXGP7xHw74IEoG/svOFP3lKqr8FWak/gBogv\u002BABvT82tFO\u002BwvsNwJ4n0D5yOQXAmA6BP/4Vqr9rw5s/2BY9P3uTxD/YVNE/C/Uqvwgy1TvLELe/gMqyu0Jhij525FS/KguDv0YDtb8wbbE/NsVMP3LjssAOYoW/kB/EPxg/vr9EHBK/UKZzPVykZD5oPYk/fdR4vot/KUCA05a/tZOFP8qGfL9OnJ6\u002Bm\u002BpavsFe7z4MWg0/vRaMv\u002BTSoz2hp8u9FMceP9iyTD\u002BbhF1ApZbVv1Wenj5YROI/CLj0PW4C3z5C1VU\u002BrvC/PQofWz9e9qY/WhI9QFTZYb\u002BC2pW\u002BpB4tP1hkxr5CyIs\u002BYqG0vnBLDcA\u002B0LS/ZoOBv5iOkb8MvrW/UvlPPlbG0L/EAV4/igcmwC2pXj6TiYs/6qPCv2ZKT786/PU/\u002BApKPXKROT9TVeY\u002BXF/6v4UPqr\u002BMlX69o78wv5pVMD93I1q/dW58P9p4jD3\u002BQia/" }, { "CategoryId": 3, "Name": "Technical Backpacks", "NameEmbeddingBase64": "efwyv3QNBUBBo7k/85JAvwI0uD8QjLy/zHPUP2rtHUD2f9W/eNiZvzdRjD7HOx7A4BNIv9TIvz/GHw9A4mgxP\u002BmZGkCjL78\u002B9RjjP6qVfj8qWgRA/Qm6vmSXfj4QrUW/Upcqvz\u002BJbj7vCcA\u002Bn8eVvziBG7//GoXA7F38vnSN7L\u002BSnZS/AMuBvva5FT\u002B5ojg/oAb3vHNBjT4SwqW/5vKLvwSpgb/0FN8/D\u002BEZwLYin78CYgc/uczwv3u/hb\u002B4r5e/Of9mP6lt175CCH2\u002ByJkmvmha5D/k5bi\u002BUrcUwAFRzz\u002Ba\u002BY8/Fr/3Pw30yz8TVuq/qhUmQI\u002BEfz4S4prA7CUbQPLV6z\u002BA6tU/nFmkv/5uC0CfTjFALY/yPlfnir4\u002B8v0\u002BbKylP5oM/D\u002BDjnw/huZeP6RsCUDxxG6/pHKcv4tO9r9kr4I9nv6Svw7dgT6Ql1U/oKmevwoVlD7G\u002Bpu/FPSsvcSSW73\u002BwqK/sVBGv9pA4r8qCbA/qrp8PwoRgsBiBFu/VgJJP5xF971Jo\u002B4/5lDmQPAJVr9d\u002BJw/n8J5QP\u002BmHj8y38U\u002BnJAewFLKvz/zN86/ZPnQv50\u002BlT7QYjM7r3apv7pLEr9o4ng\u002BvDCHPdAEWj6WTMy//1QhP5LO5r5ibP8/eFYswGukij\u002BlexVAoF42v0UZ8b7msDM\u002BsmrtP4Al9T9yNwi\u002BvURCQBgpp7719ktAMvdGvz/TY7\u002BQZ5Q/\u002BGW8P2CRAcC6vgLATANNv052zD\u002ByWGq/DqecPzTcrT8RdmPAVvHYv6RAJz8DfCI/KKt2v/URgb8PS0S/mNY7P1TTBb0EAOY/3qAMvzpo8L5d8xBASDA\u002BP9psxr1wCq\u002B9W3qgPw9SIb9M96O/gbsQv\u002BWM5T\u002BDJpE\u002B/kVIwOKrNL9\u002BI6G\u002BMr\u002BZP2cSj7\u002B0/Xe/gGUWPCKUJz/apgM\u002BCNUNQC2GI79NYjXAPAJ9v2XhBsAsDZI/d9QDQMNUg7/Te9q\u002BxBkVP7rqtD9/Qo8/4AAAvw//DcDFX9I/oOhVQIWL5T\u002BgdwM9tiz2P7Djj7/0b2w/zEyUP5Q1Ob8gdoy\u002BeqSEPlO\u002BOb8m/FBAc/tOvzzHpL/qvFA/MFffvcBw4j\u002BCJJM\u002B9A5ev5YSwr1Bwvm\u002BU1oSPppyYr81fZI/HlxgvzK0s7/eFVi/MvGyP7oPjj/Yxw7AnTSHP21ri79uCPq/bQabv4SW8sBef9E9jF6aP\u002BI2hz9M7v09UJfzPBK9AD83zjk/gjKuPvaNAL9AzmJAxryRv3Y91L5S4Ka\u002Bxhymv4C6Oj9ptQw/AXfnvplc17/AfRe/Xf6IvliE/T89dNu/ygDVvw6zcb/PgCU\u002Bbg\u002BXQDRkkb94CAtAMk\u002Bxv9/HIz/Gw7M/uqt6P37Ud8BslBRAAWIcP\u002BDzzj5KlvY\u002BBH8VQFlMzL5Q1xvAKF4wQMPpJr\u002BCwQvAlk\u002Bzv0gkhr8cAPm/nJr8v\u002BAUXb9fTgu/Um9hvxXHmr4m6pw9ntmJv9H5Kj9xrADAtBecv\u002BBKcT7dxbm\u002BvCAOvxLgcb\u002BEKwg\u002BDM1LvyLFg7\u002B8j4U\u002BzJmpvnPytL4ZrMe\u002BmE/2P1yLAr9sfYM/WokRQOSFF79aANE/T4YsP9E1D7/CDPM/O1t2P2iEvz8ZqYK/boUsP3IUiz9Enig\u002B6//Dvzi3GD8jvdw\u002BSdUxP2WB/b/VpxO/KFfMPljh5T6Q8J4/SnXTPU6UIb89PYhAojZTPt\u002Bd/sCm04G\u002BPh6DP7BwC8D4bRK/OAbEvww1oz\u002BNTqA/2OBTPx7dHj9QU\u002B6\u002BjbcHQMh\u002BKD9LJ4Y\u002B\u002BLvsP0YImz5noj1ANlu8v3Ix5z9Log3A52vev/iHaz/UAbFAT6UCv7D93D\u002BiaBdA/P\u002Bbv9b8J7/Jg/c/yKpuPoDtkT9g2F8\u002BHoolQDqF6r9QTdO/RzMIQFalHMCYAGe/IlnHvpYUvD4j46q\u002BQlkxv5/ZNcBAbVe/4AFyPzQUr79Mxby/ite\u002Bv/mlMD8/zpa/PI7KPqp\u002B9z9vD5q/4yNuv4LX8T8GeKc/hhpCvoaLB74BgAHAeA2Iv15WqL0UifW/ANDEv5hS17zh8IG\u002B" }, { "CategoryId": 30, "Name": "Weatherproof Tech", "NameEmbeddingBase64": "iNMEvxxS7T//UfM/egAzv3ldNkBzO6S/ATPVP2e\u002Bfz97Sba/4AWxvUv1pL8NlDC/DtjCP0hyrT8zIrw/CDNRP0iGJ0AtqqU/NALmPwXIIz/VLOg/knbKPknS4r752NC/ZEM9vo//sj49NT\u002B/5W8FP9Bp3rxFT0LAb5N6vyyDo79q\u002Br89FtbPP2hEwD5wPR0\u002BbMDyvCPIHsBWVuq/sr89P24Fy7/gLQG/5eZVwDIcvL\u002BBJjm/jycgwLU5uj9o6aG\u002BlyczPy8B\u002Br\u002BImAtAkgQQPpEmgr9C2Om\u002BPK3DPlFcYj\u002Bf2aG/UBfvP3YUWD/RRpe/R08oP/liOkAOzMfAh7ASQPgmF0B5PRZA4YQhwO10bT9Xppc/l3NmvxDEvL1DcClA22xDP8Z5yD\u002BpDqg/eGXlP79UvL8Ng32/\u002Bj30vzf2HsBEC1s/XGcgwAflF7\u002BQvbo8SOrSv3xvND\u002B1x0y/zSUCvstUqD/LGt49wh4pwOWRzL8YrM4\u002BkFSUvlE6H8CZrsA\u002BxeYfQECPv76GtaI9ljXoQCx7fMAVZza/kznwPkkY\u002BT\u002BGH8E\u002B/22Ov86sZj5gp0bAhJgEwHH47b54xqM\u002BJ92GPYwuZD0mJXg/RFsOP\u002BgFnT3Nfbm/WtQxP1T8Jj8dlYi\u002B3SL\u002Bvw4QQj/thB1A7dVLP4YAdz70k1m\u002B\u002B0zdPzEljkCGZYy\u002B1qp3QKRUZT8aez6/D40/PyDQTD8q0d4/9EJsP7ZID8AyrJ0\u002BdMyrv8CfSjyYyXm/iCINPsO/Z0B9N1DAmZI7P7IPOL\u002B2U/e/V8IZP9CnsL6w1jfABX1fvmjUPj\u002BpwwlADYuevxR0I0AgIa8/5AOZP4XKhb1U8qq/guQZP\u002Bnc9j\u002BQtZE\u002Bv\u002BCSv/vkIUCPMlu\u002B1I5KwHYUiD8hRfw/R74rP6D3f7\u002BplnQ/3td5PqISAT8Cmpc\u002BlyD9vmSzzb6TDe2/rLbNvj8gxr\u002Bbx0M/QOCgPmzjpr\u002B791c/Caj3Pu7AyD/danQ\u002BcsdEv8gT1b/43F0/q0inP9NEtL9TdZy/SmavPtgQRz84gEG/kfDhP8ei1L/4A2K9CGTkP5xCGsAsMQ1A\u002BvI8wM0gkb85/Wi\u002BLI/wPS8gEEBemQtAeJUTwF6kU78YVEq/Mwb\u002BP/WKAcDPH7I/0HQbwFcG8760hz0\u002Bf/1jP9jXjj/eogs\u002BgxBGv/LdfT/soPO9hpGkvyzjs8Ac70zAUXjsvmcvFj9BHNU/uCWXv3a4\u002Bz7Fb76/P9AJQIfUlL8M3YpAgNQYwHZqEz/UjYm/2XE5v/iKLL9ZBRE/AxOMPy7IAL/WM7a/LSt6vvSeIUAodPm/LxZswK76Xj8gxZa9lneKQLQ2Ib8y44U/M\u002BqUP55MRj7ZLX2/0syVvUtrjsD6TjY/TieAP0U0Dj7mtfg/d9Kgv8NWPb8L9MM/pnkgQBO5pj4T0\u002BO/uOIcP0qgKsBwzqy8WJJ3PznSHsBQLU3A9kCNvhl5pz9Ay2E9hglJv1Dg0z/EuOC/qrTtv5Exhz\u002BE1AU/7qujv44F8z9EJLq9M6d/P24AHr7akbA/VPLLv0AfCT8netG\u002BpkJtP8gdt7/RRQo/kmgwQDLUkb\u002BbTQdAT56\u002BPwgjqL\u002BNLRlArvFUP1s6xT\u002B2DlG\u002BsKMLQLAjHr98Xf0/3sRsP5tFmz\u002B0Jgw/odPePlxRor\u002Bf/to\u002BagnXv//qUj\u002Bls3q\u002BEilaPzXBPsBzMopASGeMv\u002B5M/sBm4Ce/dFWxvgzyEcAnej3AT54ZwPINMj5U1h5A9LCvv2/1tj/rxIzAGQaTP0pYBr403/G\u002BbEPbP\u002BO2lz8QIJE/R\u002BYGvUFXlL5N04s\u002B0Bedv1SHLj9OyKdAMIy5v2yz2D9k43NAwO6rvsx3Db5Nm/I/crNUPxue0j\u002BN6ai/Vv\u002B\u002BPsoClL/rjhy/xHW9P2rbQD/ObOg\u002BknSMvm4W8D2kxJO\u002BEMTrP4gJybzNsJm/1qPtvZSfob08WzW/jrUlvo7B5T68Vj8/oeAHv0TJjr39HH2/SFOUv91Xzb92Qzw/nLV6vi\u002B1CL9ME1\u002B/fHKbv\u002Bk01T6OXjXAb4WEvy4Osz\u002BQHss/" }, { "CategoryId": 31, "Name": "Trekking Gear", "NameEmbeddingBase64": "1kV/vxQOoz\u002BjiCxArGHJv4Rpnb9P3J2/djoGQEqQ0z\u002Bq1kXA5kgLv/6eGECtFjDAwn0QPrvWpD\u002Brq6g/VKf1v\u002BqANUB4x80/pnaTPwxpej\u002B/eY4/Gx0OwKaRm7/Uu9i/fjbNP31itD9U7zS/GM2svx6aD78rAlTACEq6Pjdbnj5onD2/XPCOv5R5cL/4CRo/xIcHv67ewL9II/y/JgStPwh0CEDzJ/A/p\u002BhRv4vHAj98vBq/L/vLv9xclD7YbL\u002B/vsglQAWZGz/L2aM\u002BuBDXvwE3sj/Vkiq/Kzn8vcgeUj/DYlk/ZuRgP4Jymz8MXoc\u002BlbFdPszLWz8Su5rA28cqQCSLC743oZw/FLTqPYUlMj8WG3A/BXeYP\u002B3uN7/P4b0//mwwP09n6D8YYic/W8UoPmxzAEBQwka/NKa7vkzQ576Sooi/9MSkvyhPrb4qs1I\u002BO2k/PpRyuL\u002BMxxO/W7b1v0F9Gj/eUY0/FPprv0oBX77FFn2\u002BR1xkP\u002BRhMcBcLte\u002B\u002BJi9P8COrr7Qj3U7rcX7QGIC07\u002BWZYI/npksQOwkvj8iXPM/j1EGwO7/\u002Bb4oPtq9ArM0vvxAYj9vfTI/q/GlPYzYoL89wIU\u002B5LddvwkPBEA6zvK/r54iQMmYkL8ggHm9ObMDwGQE7L4RYQNACKRWvywgw794via/8tcoQEKSH0DVgxA/II6DP1xJ0j8crB8/GoKKv8upwr6zaPy\u002BPABtv3G\u002BPz/lpmS/rEZiPsY0FEDdcS6/DraGPlYAK0AMRHHAAALwOXUQZb/u90C\u002BbGkyv/jVYL\u002BIaeU\u002BTAqfvzTtlz1OQBM/yKrUv5v9oz8ykIM/vqUmQELLsD\u002B4GT/AownTPxKQjr8QJMi\u002BdJ9SPhRhQECG9l8/S8eTwFsllD4Deo4/vM/IP0gm3r8i5Xq9SgzDP5RwnL4rC1s/FyEhQM2Y/L7DXCLAXBDNPypMAsAuW3o/4PkcQLzfQr/CvQ6/C38fP787Oz9\u002B4Ka/BGMvwNq7zj9qPCc/\u002BfKWP\u002BHuIECZ4Ze/2fHTPxV8Zr7\u002BZ\u002BI/2qHlPjIXpb9yy2y/aiX3v1J8xr8OatY/Pzn2vztJS76lNSY/yC9MvWqMuz/erSG/igpxv0zHpL/sw/M/2wpAPYQlC8BPhAZA8gedP5SBSb8IaBC/9KIQvpcs3D8T5gjAWrLivm\u002BcO77zVUI/DVO8vp4/5MBn3ku/k8O7P3WbD0Cs3ck/TQ75P8hzuj\u002By4Wo/i3izP3w33L9Dm1JATSQ/vyjPCz\u002BXM9e\u002BgsXCvcN6EECIHJU/Ap20v4OGiT7aZ3C/ItzJPZwGF0AfYifAEJ1fvzy9w74yr1\u002B/l\u002B2MQHwyoT/e5r8/7r1CwNvkDL\u002BTJKA/ZznVP5QnXcC4cZw/rciYv1Y12D9Q\u002BaY85lvhPnqfjD3Dlm\u002B/j8C5P8AKQ76APZq/Ral\u002BPjLasb\u002BYnzDAXkULP2BuJD8GihXAKO4OP/5iLD\u002BE8GM/J7mHv5xJRT4ReC7AKOoNv49ATsBA0JK/zylfv1ARu74K59O/RFkkvwJEpz7r48k/ivzBvv4\u002BAj\u002BGaZ09mneTPwfrI8AQ7Ie9\u002B9iFvqCoaDwYfx09dDKmvlRpyr9WiCW/3d9AP3ijLEDu5rM\u002B3qYwQA\u002BeeT4b7C6/3G5lv0pCmz4SoUu/tZsiPzUrnT91wL8\u002BtkjoPkjXPT6GiwW\u002BXM\u002Bcv7PKWb7JFHZATj8zPwkiBsGujxO\u002B7rC5vg4vNr\u002B4rLa/GlstPzpsWz92ogFADElpv9T07j4pxJM/f4kCQLymYz\u002B9rkG\u002BDUMtP8Sj5j9tl/Q/l1Rivy0lLz/NCPu/qMxrvWBG2D/twGBAWFiLPoXezT/u3t0\u002B08dDv9cnMD\u002By7Za/4tAAvjYOCD\u002BcYUu9LQKDPi1jlr7B8AG/poIXvlEsuD\u002BoiK2\u002BPtHtPjhZaD8wM8o\u002B5KTQv/j8pT2aUss/OJkyQBViJcBEI9K/BiELwPHkfj8EiyS/XGFpv89pjj4V\u002B6u/Ftiiv2lG478MMTY/sSZ4PtUW8752NAM/1ZPXvxkvgL9YWHfA8C1KwD05l79JzhvA" }, { "CategoryId": 32, "Name": "High-tech Lighting", "NameEmbeddingBase64": "wCehv0QZJEAty3w\u002B4GCEv\u002Bwj3j9iKpO/lp\u002BUP7gH/T9DgkI\u002BAlKLP/5ZKz/4CiK/GgXpv590OD/0pTw/UrAaPiVKIkA64r6/gEqNu8hwyb5vWUtAIiXEvv\u002BA6r\u002Bi4gnAhiYAQI5lD8DSbcs\u002BKICLvwFQ4b/BnafA\u002BPXpv52ltT4KJhxAt1BVP7pGX75GJeu/kRE9v7VgJcBWuRvA9\u002BtCvz5\u002Bsz/hY/i/gP4KwO5Yqr\u002B54Ta/2iQPwGqPir4ubgnAWn2Qv7uL4r/YcMY/8n6kv3EA4z7o0Ty/5\u002BSMP\u002BxWNUAUJbs/pMs3QAhsPkCV94K/\u002BdH5P\u002BhZsUB8W9nAFlUsQBT3FkDL3Ai/TLkKwOqtsr/6gI4/ScEuv8L5MD\u002BAARDAHhgLv8\u002BbsL8FMAq/QIHxvkqnwj/AWIDALtbiv4yWC8DflXdAp7lDwOLK9b\u002BCa5w/IGlWvGdmvj9nJn6/1P5tPzQaf786aPy9UHo9wIDr17/SKirAUj85wORQjL\u002Ba5zPA1PIPP\u002B47BcDPa40/EEfXQCEuDMA59\u002Bm/7Hx8QCQqbL9j3cs/sJs9v56eGEA\u002BepQ/5mQEwCu8FD9I1h88Q\u002Bdiv03uUL\u002BqtYA/5BYVQFIQzz/nVi0\u002Bfk9qP8D2CT50hN6/b5kBv0Cyi0BPA0NA2Byav3s31T4GQMi/7iHcPxL2jEB4HZM\u002Be44dQCxMprw0tEq\u002BnJ3uP2q2Gz9ueYQ/qzyqP65e7r6zZwbA/wC1PhtO8D\u002BBS4y\u002Bxcg5P7ZmJkD2Ix/A\u002BkMpPu37hT7c8Xu/DMmjQKH6j78cdti/qAzSvaDPir5Vw/E/DawSv3dH5z58T9w/xfGQP9ghAkBANAg/PAkdQEqMmD8PzwJAZA\u002B8v4EBbUBOq6i\u002BOoCCwLk8QT\u002BvfTm/ic9IvrBW4zyMl9O\u002BNMBWQAp4jT8SEtU\u002Blv83QGyWlL/m/B3ADudPvndhj7/qPaw/vK20P2GT0r8SP4m\u002BT2qiP84Ec0De3KS\u002BnP05P2Bspj2VIUe/aPdpQEqGDcAoyb0/QAmEvzhYqz\u002BwVvU/n7dfP/QehcDUJrm/OMMgQIDbAMB8xOU\u002B8T0\u002BwKYYEcBegTU/4Ib5P/osyj0ARMU\u002BKkRKP3PLqj\u002Btp3K\u002BcCUivqn5ur\u002Bpza5Alk46P44IUMC0M1y\u002BlDmLv0Whjz/dcEM91BOXP9b3lj\u002BE1Ew/hklCwAYiC8GpAwdANR4iv0SHsr814AJA0qsIvwBtXL2AEAC/4QTwvkK63j89P3RAruLqPu52RT/JihPA0rw2vWQJ/j\u002BMtuQ8pNhYPDi4a79mtHm/kh1EP/7NM0BIK7O\u002BrkaPwHRN7T7CAho/ZKDSQNIFEb\u002Bq4DQ/6BN0vyKbiD7EAOu/5eGMvkTTUcDgJNU/pP/iP7paJED2lyNA7asevv\u002BpfL\u002BYDD0/goYHP9GydsCAsE/AtHgNQCbAG8DJY\u002BA/aJKYvmkbdL88bBjAODqqPxuJ7L/4zam/CD2lPQcBuz4yJynAHouFwNU5BEBvTgK/s83tv8cK8r1YBYU/QhhOPlh8t78cYjhAMLK0O94avL69jDg/djrXP\u002BAj4L4JTM2\u002BN8poQGHZWb9S\u002Bz1A/WUSQG5mlz51tIFAPiugPefQVz8E0Go/5oXmPYWfeL7I6Yw\u002BY5xRPyHrib2mR0i\u002B/JQFwDdlVsBw4z0/kda5PgDFgb/OBSg//2i4P/TxM8C6iec\u002BbWTGPhZ1E8EkFBg\u002BGSepPiFgQcC19j3AvBwov9/pvT3LzdQ/v1n4P8x3gT//bqTAaHEgP\u002Bib575w\u002BLU/RJzdPmADmj5adBBAacAlwKf6J78Vwy4\u002Brfe6vmr5Ir/31LdAmlFfwMQiar8z3oI/WkelPsVk\u002BD4YQjY/IaNlvizlDj826Q5AjhcJQNpcbr9cBRNATEu2P9LKvT6ot2PAT99Gv6Cpnz\u002BsBmQ9BJ0PQAYISsBJFeu/h8QNQFAeCMBrLQTAz2X8Pg0JYD4KTDi/XX\u002BVvsDf9z69S5o\u002BbTVWPwZZCcC4z6\u002B8y1f6v3GXOT9zwBc/QzLYv\u002BKQFr\u002BoTiS/0DuRPXogCkCZ6TJA" }, { "CategoryId": 33, "Name": "Camping Gadgets", "NameEmbeddingBase64": "77CAvuq0/T\u002BhZu8/bI/JvywlCEBSY5s/1QYOQEa5u7/ztoq/IAAIv10J6r8x//G\u002Br9EbP06uF0DKEPw/HZGrvurQjT\u002BuFmq/2BzPvQs8eD9g2QxAgFlwv2wRfz7Sthi/QEf7u76Fg78klbG/vHgNPxTfP7\u002By6k3AoTSfP56DPL8y7HHAaynqPvYko7/YCtq9dG0FQAqxSb6zqcu/spqBPwj4DD9p\u002BOE\u002B38aDv/XdiL4oxPq9dpJUvycMC7\u002BqyjTAkbsUQMf4IMAkU8Q/ZE8FPQQl4z51vAzA8CaxvrB5VTzCuKm9hpOeP2zAaj\u002B8uxM/QyJVP9zr9z8brqvA/wXrP6ALSz8JjHY\u002BrXokwEHtrD/v/eg/pEVEvpgbSb\u002ByPTs/wAbjPqUKoj5loEY/kY/pPiySXL7e4ek\u002BatgvwEiAfD8yvSM/UbapvQLggz\u002BTJ5Y//Gt8PwTsGT6JUXA/ZOoQwKK1NT\u002Bbqa8\u002BC\u002Baxv1Qe67/p6Z2/xueCPwJsRcB2oi6/grEvv6Srgb/hIk/ANOAHQYbcFb961r0/jayfPxYaBD4wgYC/DuJewEhRe78mOHe\u002BJjzev0VWjD9P93w\u002BQKw0P45Vp7/zp9M/h0Bov6raBL\u002BwqQY/bp2zP3f/5D7f3BNA0Yg/wCYYQL922Mg/RfDAv6SvJUBcaPa/xPU8va62UUBYy8y\u002BlgfmPxsDYT8A33s/zAkVvmppSL8FEUK\u002B4M9tv\u002BDc9j53CTS/aTeQPwyKET\u002BW0nA/FNptvcvKbkDYgqLAuE77vPRtkT2okT8/X/FOP62UKMBQEMC/ovWLP4YDnD\u002B/C1RAP5cAwOYTqD9f6lNA7ouAv0Cg7T/wJ0q\u002BNGVrPwTCsb\u002BOHAG/bpCBP1ujsr8pGhY/z\u002BN5wKi4Dz86Q\u002Bw/Vj3bvlJMtL\u002B21w0\u002BBejNPy2jn77F3cy/PvRAQMhQU7/d48i/qAdRPnwuGMDC820/Mes7P3f1pb9keik/6bX4PkbtGr5Asx6/Clh5vtignr8GA7M/F2OHP7fsEcBmvC3AdMIjQCnPt79WpiA\u002BqcucPqLlCMCDjmm/bp1UQJotJcBbOq0/pOCCv3zUer8eLrI/fcMyQFhd/T/1IWu/gYcJwMD5dz9Vcew/IREOQHaXn790Jt4/lQuev46YAcBMWBU\u002BKxT9vRrGgj9q1w/AEEKevvsSBD44HGnAODINwPb90MAZzsm/AgcUP8MsHD\u002BqUey/7QeJvqmgUD\u002Bg7ARA5l8AwOAsHT4oxUhAc6udwLspnT4\u002Bki1ARxwlvxFSAED2/as9O8vgvwyMsj8M4Kk/bpBVvpwfSD17BRVA3KOmvRpUUb96rae/TXyqQIaS4D9XUj5AMbsTv1jXxj9cU9I/PnKIP3bWZcAvagxAl3hcP9xC5T5Kuy5ANj4uP4a0xL/m8oi\u002BUhepQF7pxr4yfDvAtAsJv3nR1L91P42/8L\u002BMwB0Kl79MJ3u/tqMMQCy2zr7Idi8/9YoUwDAmRkBnDOa/IJjVv/6tFEDuagTAJgkAQGgnr77LxI2/8EFrv7Jtx78EkDc/gHZgPrhy9L7w4J4\u002BQhqlP7ysur9fOpA\u002BvGp2QCkOCb6eIeU\u002BH7EkQD06X7\u002B5AyJAvzX7PZLssz89TMC/Iuqkv2rRJ0DeZI4/bn8\u002Bv5gXVj9gZxg/AW27v2bGSD8lyS\u002B/J0I5vy\u002Buib7arYg\u002BqvPSv\u002B0S678HN4JARiyAvrE38cDYPX8\u002BGg43v9s2kr\u002B8CMi/WH/lvY0y9j4uq01AIN6GPwz2\u002BT9otxG97QrAPxgeQj/avxU/heKZP4J5BkAKY60/FO1SwC6yez85\u002BivA7kRDPzk2DT/6W5ZA//Cvv0RWBD4kdL0/FemiP5B3Mz9G2Nc/SshzPwUhkT1x/Cm/WvT7P\u002B6sDL5oDhZAIHjMPhLxBj8RzQnAM9yFP90Mor90T8\u002B/oc0DPze/4r7IPtk\u002B9zToPl0q9r\u002BK7JM\u002BXh4/wA7L9j4Y6LK/R/KyvyIKh78/Q7W/\u002BD9kP0hJJj6b9ns\u002BjJUQv88na7/jT4w/xgL1PzAUBD9PIEbAdMLlPePaK8DXMV\u002B\u002B" }, { "CategoryId": 34, "Name": "Travel Accessories", "NameEmbeddingBase64": "owKUvhgOLr\u002BJ2g1Anrxqv76qDz/dmwu\u002BDANkQJyDpT90NzjA/Gnnvzh6T74KfX09t/lFPQ6WBEBgjBa\u002BehK/vzCyjD8w7IC93m83wJg2ob66G9I9tOKxv6HcCb8sEuI\u002BuDmuvVjNYT/o0We8IVvVv1h0YL7g517Aap4lv4Dior/7gTrAnF8ePu9rvr9gLEQ92PLAvHb8\u002Bb4\u002BKSm/XCBgPWagoD/9fBW/VOKQv1EOib/GhQQ\u002BaFnDvo7fTD82F5a\u002B2ATqPsZSQL5YbCFAUMWTvj4C/75cEPo9PCNXPlqB/T8AL\u002BK\u002BjMmmPgpAxD65Wn\u002B\u002B64A/P4GHoj6tImHANugNQFYhxb\u002BExTk/3e5ov2QOJEAYOcS\u002BqBnMvtNhcb63phw/Nuamv04ZNEDw8sE/\u002BwIBv2O9pD6YOXi\u002B0M7Av28XPT9snfg/4gqGvu2jzz4sEWI/DewLQDRxpr9AG5y\u002B\u002BBwFwANbbL/SfWe\u002B7VW6PmHZUMBvaA4/t1nbPhf\u002B2L84Wnk90ofrPurpwb/nHb\u002B/AJHZQJH\u002B2r\u002BYUbM/WHTGP3WUoz\u002BKy7q/Fgvpvwywsj4Ohcw8hUC1vxDfTz2x36k\u002BfXvqvjZ6Hr8\u002BZJo9QMZYv1Sqmj86GPq\u002B7rjtP3xbsb\u002BfdLi/bUmIvwU/kr/83h9AoUsWPxDL1L\u002BQFQG/luIbQEZmKkCNo/6\u002BNLLRP8grbD\u002BOQw1Ahp2gv8xkND8\u002Bzhe\u002BExplvwXKpz\u002BUSnq/\u002Bk3VPieDgT\u002BdhIS/VE/DPHidkD\u002ByjxzAar\u002BXveWbwj9GLsM\u002BBmKcv\u002BM0Jr/vvgm/cqaaPz4Z4z/sIZU\u002BX39Ev\u002BpY8r6w7fE/GPiEP9CXID9OxR2/x0EIQHTn/j7kDFO/by6qvl7SJkDJcUe//gKbwKuRqT/Ai4m\u002BMG9CPi6xpb4ZNq6/Blu4PmaWzr/Jbw0/yAwyQIgKTz6Xxo6/JTYAQNa5E8AhRr\u002B\u002B1/2lvWazYr/6xxLA6uqEPybOcD9yqwW\u002BelfMv2bzAb/0LT0/p3YqQPJIfz\u002BG4uW\u002BejPFP2GSBz8\u002B7IA\u002BWW0hv097\u002Bb\u002By5oa9\u002BiOoPvQfCMDeeJw/go1cv07Wc7439VO/\u002Bs68P1g8vD6r1Zc9lP0EwG1l379UGOG9kH98Po2FFL\u002Bf334/QvL3vv9EIL6wjAg/C5vMP2yty73ZoKA\u002Bkq7QPm93MD8OT/i/ykUHP2jpssAYL1I91cQRvzioqj/v95m/xjeTvZvbXD5RYL4\u002BTDMePgrT9L3n9Og/dwEDwP6YvT7qtYw/6uNUv07J0D\u002B4m1q99xqFP0yiM781LZW9rNejvihiLUA8T54/Vss7P43at78Smru9IGCRQMonbz6qohG/GL3wPDc29z2uFN8/krk2PsFRL780Hqk/WFJGP/WHr77kyBu/p6w3P14uLT7BLMW\u002B9CYtQDS54D38qS6/4y1SP14XrL6xPVG/vIvHv6C2fLyMfMQ/hvqOv76sA7/Aj5G7BgR7v9gvOT/k2lK/ilBfP45Qv74CMwnA3ATUP/gMur8yA1S/ZchGvwE9Tb5yp2W\u002B/tVTPjGALL\u002BPYli\u002BAPxROoRlF7/QfwXAAZ9NQDiZ6z4MJ0Y\u002BczenP8Ajsr9cc8E/LOwWQI6Kvj\u002BSO7S/3\u002BplP9JfOT31OU8/XEanPkG/HL4cUas/aj0IP1/Yl781LoG/CKaGv4IGcr88LgK/y08wP\u002BRxjb5uWhRA0lHevuxcssBK/hw/bpYaPgoCG751PbS/wE8KQLu3ND9oog8/rByLPg4Ahb/tTZ4/5XrHP2VYqD\u002BuQVA/9J6ePy5njD92Dpk/xmCcPq/e3z\u002BnlcS\u002BrlF6v5emkD9IxpFAtw4PPtLGTL7lc0U/YBWzu16/d7\u002B/7Ya\u002B5qRcP5Wxfr/wTta/qFKcPqUuqz40L\u002B4\u002B3ynrviaye7\u002BAkH68hDYTvrm53b5XiJy/w5YtP4HUhb4Q0UG80OedP7lJY7\u002B2UDC\u002BbpaovuQvTT5Mry4\u002BpBL9PiAzk79ee5i/jbTAvv0\u002BmT\u002BTKV6/2MIFwIdqOT4ePj8/fMKDP2gpFb9/jM\u002B/8UT0v2DE97\u002BFg/Q/" }, { "CategoryId": 35, "Name": "Outdoor Safety", "NameEmbeddingBase64": "go91vlJxGr8Ds6Y/Vhdgv85N8z\u002B0iH0/KLe8P5BCoD4DfJ\u002B/qFevPQPsPL\u002B2mfi\u002BHlb0PZgB0j92bQG\u002B\u002BBUuv9gg9j8Y9b0/pUCZvn0azj/0KJ\u002B\u002BHem2PqsUmD5QF66/Gw9kvx/cxT8uoue/Fnd8P15ehL//vv\u002B/3TyLvwa0CL9/xZq/gXkRP7NU5r\u002BiPTe\u002BJUOAPlwYyj5mdRS/ZlIUPxg4sr4ccYI/Ni2nvt8DE796pUO/Mcp\u002Bv2zQmz/7jeq/sIL8P5vYnr\u002BcMFU/3yySvitYOL9DG64\u002BgPc4upofir6wyHs\u002BZGWSPxs6Kr/Cvzs/RzyBPyLvEj8SgKHAAhlHPoAPsj8CBcA/6G2fv12TwT\u002B\u002BbJE/3e4Zv94h9r4kqM0/oDZNPxvClD64jTi9HNWaPwmTDcBgQ2i\u002BJ6GFvzQ6D79kdGQ\u002BRtGvvxIjWL9pqjM/fnhsvkoIHz5nb/0\u002BVnMGv5pRHED69TZA\u002BPm6vLW\u002Bj7/c8VM/yjGtvqJ5Sr9zwEO/zH1CPxQV7L\u002BSUVa/lyveQK4L679O5q8/qrg3v\u002BMKgj\u002BgDKU8tA99vx6k/L6EvPS/5MBNv8BQCb\u002BINjNAJ9oQvvisIb\u002BJwno/TLvTvxptOD9gdPe\u002BlL2nP\u002B7YSr8qpjY/rkR5v\u002BebNL\u002BLCso/kiOEvu2bmT9Oowi/sGS5Pw0yJ0APhtc/ztNPQPtJYT9YI9i/y\u002BWwPkQVVr/0OjU9sQ\u002BwvpqqXz83urI/ZFX\u002BvOoh4b7/va4\u002BNJ\u002BLvx4svz95aE7AavILQCG/Gb8eg2u/5I2Kv9zmdb9\u002B8Im/LgzkPQOpTL4UMqM/lIXCva5JrT9uC4A/vJSwvXreBr5hMVE/qQI0P8dMcj96WZE/1wtPPtENsD8Mqpa/c3k8wGD3U7wIEYK92h9BP1Rgqb9Qkms8gPLVO5DjIUByPbc/2qMeP9SGdj8p\u002ByXAxD3mvnam57\u002B6R7U\u002B\u002BiCCP\u002BG2HL9ojSq/6ASMP5SrWL\u002BT5XE/Zl72v2CCsr7EbBm\u002BTvYgQJrXC8DGnQHAY6VXvzQ/Rb9iv7S\u002BKPTNP3GE3L9CGKW/6sm/P5S/wD0/JAxAvnuev5zSXj5pNlW\u002BPD6oP4nOB75oYbc/i4QKwBRZ0r4386U/i1whP8TBnD58uco\u002BQjfwvzEQQD9YEzM9syKkvlaMsz/y/Ao\u002BxAvkvv8sHD8JOcC/M6KVv3v/q8CjDR7AKOzLP7bgTb32TlK\u002BOG0Uv43QSL\u002B3koa/2pN7vxA9K71Zc4BAWJoYwKgor74azb0\u002B2SGrPqOWFUDQ7kw99J7Qv2CCOb1djV4\u002B8MSNvl5gjT9VaJ\u002B/k56OvuI8pD7qT/O/PEd/QFbqCD5iCIk/kEmxv72Vgb\u002B8FJ\u002B/t2qtP5xqGMBEsTk/lUgDPyq5vr\u002Buh7c\u002BkoQSwFKQUr82678/pzNIQLjHOT1XK12\u002BquBOv2w\u002BMsB6goW\u002BKW\u002BlPiSFgT/O8v6/bhqiP5iEfr0i\u002BiZAB46WPRR55T92/u2/tgmiv8Cdpz9Um0W/ztKuv4yDir4KBUW\u002BOBJLPxA2rr8edes/9tkKP4TlQL/UA2C/fm6BP7CVuL56abK/QFzaP9Fcab76yIC//dMHP1pOpb5qFM8\u002BthwwP7zmQD0Eipq/f3L4P/ewy76Q4Go/G5\u002BLP\u002BTkb7xz6UO/WMmxvyHtKT8s/Du/yAhzv/D/xD7eXYq/P7Z4vl3ADcCC0UBAq640v2fP0sBPhBu/IgM0v4hRP7\u002BQ44q//BCpPtUM/z8oMDpAG3e9vmpc3z2SEw\u002B/VfqzP3cAUz\u002BiVNQ\u002Bx2wzP1g7Zj\u002BtEi2\u002BdVo0P0Ky3z44xhW8T9pVPyLyOkCxSnFAEGa8vS6dnj8wTRNA6spLvyDTc79SO4c\u002BdjGgvg4U1j\u002Bc3vm\u002BqXzmP2aE0r9b75U/qvWbvj\u002B0WD\u002BziAk/fEZCP8AtsL7Syie/YloLP4d9xj8HC3g\u002Bgg3BvhOVbr8gubO9Flx\u002BvxrUVD6SL5c/gp67vt1KxL9PscC/QZs8vyljsL/loWY\u002BCtOwPQ5Kl76kheu/ByMEv9OfXj874ce/2EdWvyEjjD7ykv4/" }, { "CategoryId": 36, "Name": "Wilderness DJing", "NameEmbeddingBase64": "kCS7vliZuD\u002BEDmg/Lo\u002B4v8DRqT\u002BEH/I/t5\u002BnPg4/5r8W\u002BkG/jD4eviIKxz11AKy\u002B/dkYQOH\u002BB0BcKeg/soDGP3uwfD9E\u002Bcg/XDdpP0hCkz8WOm6\u002BtLGlPTdkJb/4ORHAPGvrvwpJBz9ExuO/8yHCv7frmj4zLCHAw7glQB7Wfb9/nKy\u002BYAOhv86Xyz9pgc8\u002BuUhpvyR2Tb9SP4m/i1wpQC1ygj9UpwC9xrLrv1pMkL/G1fw9p3BEwMk9Yb\u002B1DRLAxsRPP2wjFL\u002BqISK/fOy6vwpZtL7h6JW/SB1fP1YqLL6vuwNAx4rMPyNUAr/deBa\u002B/g87P1kRpD/kap/AOwrvPyzcur1Kqlw/Ujz\u002Bv\u002BLrNj8gKmo/cJOOPpTbML1/BCRAzsVGPw/\u002Bir6Ywso/IRdvvyJA3j4AMKg/urEAwKxKR75So0Q/jXoAwMBcub16/w/AuV\u002BZvoHysr\u002BgfSc/aGDrv80RlT6etvC\u002BijEKwDSj7j\u002By56S/2qkavwWyPsAZYYu/wzKpPiDbQz7B0qa/nMzmQMUznb/uumg/7CxTP2uCcj\u002BuG1a/WJsAwNB89L\u002B6X1a/yCJ5v5ZllD3S4Tw/TV8KvvwlgT/wnhI\u002B01Hovuvt2T/gZce9llhzQBzQrb\u002B8QWI/UIvvvurRuL/TfNk/0iovvikq6j9/xOy\u002Bj8fXP7rJLUBXzdE/QXDDPyTz8r2YHuq9\u002BHZ\u002BP\u002ByCyz11vKu\u002B6pC6v06O5L1WbvQ\u002BWPMLQIdZrT\u002BKj2a/7ym8P3MjhD8jgGzA3sVNPUU347\u002BtXB2/O/\u002BUv5D6zb\u002Bq/4G/xa8tPpIYeb8wxMI/paKBPQ6p6D\u002BOXYS\u002BesYUQCQYyj4KwOy/BHJhPxxtDL6XZva/CAPRP92QoEBEQEk\u002BhxolwJqHF7\u002BA1WM/NRSLP6SIJb6uF4i/Lc\u002BnP\u002BPvkT8schA/nUClP4pDCr/WYALAWDcYPwQB47\u002ByUClAJ/InQECSI7/CYgs/tB03P5VqbL\u002B0a2K/AjAPv9aXZb8OnZW/Wh0YP/9MGD/u\u002BE3AUUkJQEb8/b3CtkG\u002B9kHIPiBohDwkLRo/77AHQHZStr\u002BHTC8/owa5P2aMd76YQFU/EzD1P1J4ST8mA8k\u002BpOikvpvmHL/JQH9A2C8ov1G2lz6qew5AjtB8vyOyDr/280A/xpvOPhzg5j8Dn3O/qGefPiPIpb9i7RTAhFzBvvpH6MAUyqI\u002BXFShPmIiOD\u002BRO10/xouVv\u002B25mz\u002BYzU4/mchvv2mLrT/ac\u002Bk/VlVZvxge9T\u002BN3fo/K\u002BOKv0MKTUDw8oy75aM6wFbweD9o8I\u002B9XDkyPjqnXD/ryBY/06yvvi5D3b7gbJe/QGmjQA0h6z\u002BMnZI/bDZqvhg/p758saO/VK8APaxyusBg\u002BEm/J7rmPmwiBkAW/WU/m6GBP7\u002Bg3r8oSYQ\u002BZTpAQGAuRb3mHDPAYOQdvzcuA78\u002BP5W/AE9HwKiaBz9mux7AohQ8QEiS5L4ooJC\u002BFt64v3awxj/zoLu/2aIOwK/MB7\u002B3NnO/eRHlviYVED9QfFHAeSyFv0SNWcBKxOk\u002BoCaHvuAZe7\u002BieQk\u002BopeBQA/3ZsDiDfS\u002BtBeTPf8pCT8OPUU/BrbKP8/BGr\u002Bvg46/4uKhv6IAkT9tVg6/waFNP71TFEDVSm4/eCZDvggIJr3JJAu/VF1KvT1tH0DwQcu/MZ\u002Bbv39okb/CXYs/doawv9do0b7nnxBAJOjBP6eo0MBPM86/GGa\u002BvwxiZL5HaQDA8mXUP9Y\u002BZz/OWTJA47ibv4BByL\u002BWOic/qeAdQNSSNj1IRr4/qGH3P/hSjz/yqwI/6dnDPxiCPD7/AEbAkWnTPoK6kD/s5IxAQKCCPorx7z944\u002B\u002B9iCXDvheKTb/u93s/ZwcUwE4uAb9KWda/LMwyQO3qcL9hdbE/Y/uLPvFfK0BCTZO/sqN0P9os5D4JDYW/HC8Vv8DzF0Bm1mg/K5invx76r78F/iq/84z2v6IvRL4O/Na\u002BMOn3PI0x3j6qBYe/asooP6ieub7w9hRALYnDv0AEmrrjb6I/xVi5vrbrkj8r2AvAkEIGwJl0GsDyxKC/" }, { "CategoryId": 37, "Name": "Adventure Photography", "NameEmbeddingBase64": "nusEv\u002B7CID53Eh0/ajRAv6qbyj6kk\u002BU/YkPuvfnJvr7wpeq/IMNlvWuCnj9DsPS9gNfDPrrJwj8sjdK9iTZrP6vsB0BRat6\u002BGFWevyyoFkD8NRk\u002BJL8wvz68kD\u002BFdWK/MH8vv93djT6ixzi/92Vlv8BjATzYreK/c/tBP3LcZT6iGu2\u002B/xL1v6Q46T5EdjJAwjMIwGKsNr/iBYi/y8l9Px\u002BPRj8Sme4/wr\u002BJvqPnHb9e4DU\u002BeOy4vzN/sr\u002B\u002B5hTA1jGpPnLpcb9ebQu/LmF1v\u002BpZEb\u002B0r6C/wp6Evuv5cz/3RJY/ZJsAvjrJ3z5YPSY/WlyCPzzMqT9YUl7AGD0lQHRSNr9hyBRAQoyTPQyorj8M2Qc9UzYXwPHqeL88WQ1AC3GRPiFLrj9D6XA97kGCv91ABz\u002BSnA2/Ku7fv9Dc178EKwA96OFOv2xvuD9q/zU/bCD9P94WL7/iuVQ/mPEFwO5RxD/YvSg/pNk0PWl8BsAa7rC/lYrkPuu/cL\u002BIpxM//vpBv6060b4AfAm\u002BpZ3FQLELiL/GpGo/xd0WQLlAnD\u002BeKlM\u002BSqr0v7TK9L7U3NE9NiEKv1s04z0ifUI/OLlePQbUrj/sVqi\u002BAysLwOKa\u002Bz7FRay/1kInPz1hg79g9qC9EWWUvznCHL\u002BWbF4/6KauPq83mL8EmJy\u002Bi/90QFKBH0A6Rbk/l92TPjpWlz0QbF4/NrUov6Dveb9Nrpi/jFdsPn\u002Bi3T66Z4e/9CZdPjD88D/n1ae/IoI\u002BvjO4tj9UqiDAuYOzPmHle76qd5c/daCNPgQvY794n1q/GO\u002BRvVF9Gj6qqqI/KQWYPoKdkj9lhS8\u002BSOtHP\u002BsWMj80DeW/6\u002Ba/Pj6Xk7\u002Bbh6i/ugXOvR5OC0BZHNy\u002BpstpwIEp\u002BD/MjyS/eDeMv5xahL6MihW/oPjNvbY4jT3c\u002BmY/ILcRQGam7z6N2YW/8pSRP0Ywwr9kygw/Bj6ePzBjer99WQM/39\u002B/PhJWEr\u002BEii2/O\u002BrjPtSpjD1N148\u002BlAaYP93TSj91wnC//CdEQNZqMr\u002BgibS\u002BNb3HPkx8/75\u002B1aO/VKyLv7Y/0L9lNLE/5jGcv3ICq72FWfQ/stoNQHT1ML\u002BO27k\u002BB0tPvoFg87\u002BlLqk/\u002BAw2PY7bHb\u002BonjU/DZwIPljvlL8SszO/HPacPxtotz\u002BLNQHAje6xP3FmpL\u002BBPBnAmcSoP30GtsDmT8\u002B\u002B5NOgviPBVz8rZCPAWjDPv3Avqz96bRA/GGUhPwqX775mYsk/\u002BG0iwBMX9D5JNzc/vSIpP3gMMz\u002Bf99A\u002BtwKavlGbkz67ZWe/ZqG2vvJqyz\u002BOJDu\u002BdnwXwPgFoj6fCCG\u002BX4CdQHpvLECEsiC/GS61vgVENr6e7JE/VgXiPlNjrb/2WAS\u002BipU9v5/\u002B\u002BT9\u002BplC\u002Baq95vrO7h79yAEo/0JodQPhkpT\u002BC2Ay/znJZv0RRZT2ssbi/6NrwvOdYqL4m7rq/OF6uP3RMUb9K\u002BYq\u002BjPDXv6w1TT8sOiW/g2wVwJ6Wsj1aWm\u002B/MSdnP28OkL\u002B85Q3AYbIBP4okYb8iW\u002BY/jowWP5Ja3L60LtC/\u002BvEIQF3bHMCC4jS/gPYKP/4qJT4OVy0\u002BbD7WP/dgjz967B9AbBiQvqZftD9g1U6/6wSBPiI7Yr8OtKk9rmfrP/pg\u002Bz57Jpm\u002BM8RKvwynOb84CL6/P9yjv2XmZ78DRs2\u002B8i3Mv6xNwb\u002BNoAhA262EP4QCqcA37Ua\u002BpzWDv6tjd7/wu0q/onxUP\u002B9Fqj/\u002Bq40/0g\u002BEP34\u002BlD/DZT6/obCdP9q2bz4//iU/CsIkvvBED0Ayxds\u002BxLsBPnT4D0D\u002BBzm/oBk/P\u002BO7wj8xvz5AA/ifvz\u002BaEcDweN4\u002BBFENPrSghj/dQa6/rRoUvrw2cD5hDVS/WknaP3wv4j7wotY85FG9P5Mc8z5Yeuu9Vbgyv8iabz0SkgC/SyqAP8AiO0BNEDA\u002B0LeLP0WFrr/roAg/nKx3P96ikb\u002Bla2E/XlQ0v6\u002BvMb80T9W/PA0uP6BUoD/pf8I/rBVsv3xS\u002Bj3J5yM/4BWOv2DN4j4Q7wXATk09vx3CFsDWZ/K/" }, { "CategoryId": 38, "Name": "Extreme Sports Gear", "NameEmbeddingBase64": "edfcvwQmIEC5I4o/ZJUZwGx0B0DOEgI/Ni77PuG80T8CeaM\u002B3t3UPqHBUD91gS/AyXCFPnYO3z7eNuU/M9QvvlaoGECp9Jg/Rdvgvny6AUCYZMQ/zKiZvrWGgj\u002BhBb\u002B/qYG1P/WNEb8DbXG/KEX/P2XXXL\u002Bc\u002BZzAG/ZVviNFRL7VRxVAMQ6UP2NWHb\u002BcaBDA0oVUvrQ727/RM82/\u002BeA7QPyrH7/i8gxAFrLivzSde79xTCs\u002BjKEvPwWz/j4DHY\u002B/LhWZQOgF/b/SNN4/7r9MPxJCwT9a4nu/Oy2PPyVDtD\u002BqDGc/74YRv\u002BRTnD7S0z8/DzYhP1nI8z\u002Bb86HAFYNaP2o6xz6psyZAbKitvzRQS0BX9ao/Rv\u002BzP\u002BDOmb0EIlg/eXHdPxFvzj\u002BoZNM/shq8P83ryj4cz\u002Bm/Nqy3v4JtMT6n9E2/HzWZwLmfjr8cUc6//8GQvzzEfb9WHgG/LI3jvzpz/D\u002BZpRJADhIrv29oxz/8SNw\u002BW2sPP\u002BNMRL/Udp29plm3vsN10L\u002BBlUi/QYsIQRswtL9\u002Bs7m\u002Bct3QP3bixz4aBLg/5MLCv\u002BbFcz3W0Qa\u002BR3oFwM2XaL9V/4s/RaImP53SYL9I/us/eXI5v5chsD\u002BPFy7A9CsHQGN/tr/A/x09iJHPv1JUDj/BapQ/70rOvi5QDcAzeZq\u002BpOCFvC9QDUATIHY/1njOP9HVyT6dF42\u002BSwD8v5KmD7\u002Bu1RA\u002BpOI1v6ggWD8I1Fw\u002BlEHyvS1Kk0CNvRO\u002BU\u002B\u002BYv8bQikCiwLDAcZ6mv0g1sj3nl8i/gp9hv/FqNL4sIDE\u002BElZPvn9JIr99Isa\u002BwOHbPqwoTr7WcSg\u002B2gQ6QLDDTbwV6/a/HiPAv2IA/r2PLeG\u002Bzh0hP9Tug0BLhIa97cVxwNgRFL2wQ5G/cW9Vvyp1X78wSBy/Ot5vv6O1MD8IyKQ/BApaQA7zcD1UW5e/3CElv5Lksb8IgfI/vtmZP6RlcL997\u002BW/SOL9PijDOT/8iO6/WNocwJHph79GFqs/Pp5\u002BvcbNEr8rz2W/BuB8vmRMKL96WJe\u002BWJ2eP\u002BZWYL5gyfI\u002B6ye8P9XIBsAIAYm\u002B5C25Pr16jD/wSzs8s0\u002BNPxNcYz\u002B9ZLu/4ov7vy4wGb8q/V0/okO\u002BvNXIMcDyj9o/ZYEFvzXCH74o\u002BOG/ZF1CvwwVEkDg/l\u002B/dLSYPhmQbT/uFUg/pu\u002B5PsJCw8BwGk88\u002B9Q\u002Bv/25oD84awxAUgwSQHpBsz93dqM\u002B5CoEQD7V0z2U1YtA3n5eP7992b/pY0S/oBo7vgRBCEA2DW6/F8Elv2z4zr/KdF8/9LJDPyC0tT/JdnzAexUJQPhlsrwhFf2/1v6RQFac4D/aXaI/AKkAwFcOq74XHf6\u002B\u002B6HRP1gXS8ANy5M/NvMSv9Z23T\u002Blhuq\u002BuhDKPoA58L\u002B\u002Bepu/QvqEP\u002B51hD98qfi/fVmEPwEZAcAcIY6/Tkl9P27CLcBTkj8\u002BnHnnPwTuEL3uix9Ag7Gev0DkQkAGBP2/5/uNv/JGi7\u002BcXZe\u002BlpJ/v9yy7778wg3AtFM5P20/JMBiVBk/CpAYP43PiD/WrI4\u002BOxJhv8fyHsCUC/e9WGlhPsmQe75CGCE/zdl4PwHzoD5Gf7M/nkEIv0z8Zz\u002BgPUs9T/28PysO9T6AlqI/zRdOP4x0WT/e/qG/vMg8P9bgqz5jfQa/\u002BrZWP0ZVRr/49P88IBcBv38Xir83Juw/fDEYwHR5/8DKKNi\u002BNKycP\u002BqOA8AacWm/gLSOv72ypj6eMkc/pPWNv5J/IUDKccC/dEwIP/Lakj\u002BOgYM/cDfHv74TnD5fwqa\u002BYNklvYpoFEAx0MM\u002Bc64oP8rvtj/HpIVAnFg8v3z8R0BrlzFAezrrv1C/p7w24Pa/pvi8v6vbKUDQPWG82A31PqTQhT8BSz6//IWkPtLGRT9YqxlAJYCBP4iOdz1wTmA\u002Bk6O1v5ZGGr5j5Ss/tZWdP4azzL9gF9e/pR7fvyi1Wb/Kea\u002B/n7UQwK5oXr9WrJ6/x8\u002Bxv3xEH71ST7i/WCipvlD9db6VT70/BFwewICCJT7anJ4\u002BjgRxwOuPiD9CS8K9" }, { "CategoryId": 39, "Name": "Survival Essentials", "NameEmbeddingBase64": "RJuOv8uyrD8QAhFAqOzOvlPgbUAWhiVA/Cr9P/EX3T8jS/c\u002BAi9rvx7VhT4awQbAPQuIP47evj\u002BiLgM/mHkiP5LYFj/GQEpAPozev60Wcj/hm1G/wZoXv9oL2b2ju\u002BO/JrGPP2KFaL4ezSW\u002BqcysP4B0\u002BztYEHrADpj8vpC/kr/pJDG\u002Bx16jPsO0nb8zkKo/iMiXP2IrgD/g\u002B5u\u002BkpesP0Fnmr/gIh5A9K1svqpWCz81cUg\u002BCpHEv3/EDL\u002BGIcu/rNEjQEpR/78gZGC7z\u002BapvjxEjL8Mdhq\u002BCmOyP1rM0r8H5hk/EFp7vFJXN75DQNk\u002B2xG8P3z\u002BGb\u002B6K6bAfmRXPpb7EkB6d1I/clYYwLSBOz97S/A/r7KTP3aVxr\u002BLT5w/p1MfQF1IMkBM47u9aMv0vqx9wT/Z/6C/DrlQP0mDpj\u002B0Z1c/0AMRvia3xb4K4m89dEIAv9IuF78U96Q\u002B6dgEwKKj6T6tMbs\u002Bpukrv0uskL820vQ\u002B\u002BOCZP5J4cb9dcp\u002B/au\u002BNP\u002BU1ML/Treq\u002Bmfz2QItBqj7G\u002Br4/37xvP1A6Vb/LR3w\u002BP13CvxR03T5g8Y\u002B/jLuOvmgqyj5zZqu\u002BjgKBvvVEgj6frd2/p0gBPyL7F75kubw9IJHWPitRMj6UyPc\u002BxJH6vjJ8\u002BL6Zv0FAaPUEwGGxuD866Mc\u002BQYG\u002BP\u002BplEEAgCAW9PpSoP2YCBz\u002BLInM/igT6vsSSiTzTiRDAM\u002B6CvvQy0r7pi2s/MiShvTegXz8IYbg/8DMEv2k\u002BkT/qUZvAKN7Dv6YGTz\u002BiLfM9DM6oPQp\u002B2b/U85w/dFckv6mx5z1aFqY/G/kAP91MTT\u002BbX\u002Bu\u002BFw63PjQODMDDghXANHgJvayVpr8w44q\u002BE9bFv0cLkEAI1rw\u002B/HgAwBR\u002Bxr/oE9w/wvs8PwOppj1KXew/qWHdvpgnwj\u002B8w2K\u002BgxXzP1YmUb8hV8K\u002B7mMwPgLoE8ByxyU/46tcv60xxb84Hre/jv\u002BnPwD9fr9knuq\u002BrJAXwJ4sjb9ZNQw/pdFpvlmqMz/pfU4\u002BXjAPQMgGjb9mpxO/6o2PP2Iw87\u002BR5Im/5hUFv1rCC8AajoM/ViHvvvDyBbww98y/\u002B/MDQGMWAEC6rMQ\u002Bf4ojvqv/8z9uerE/O4\u002Bjvv8J8r1EUKU/L2bqvobzvj7N3Ay\u002BFOBCP\u002BBcpT/Ikla\u002BgMSGP0mghT8YvYS/surcv6Qp\u002B8Ba0s89OA7WvkJGgb5Lcrc/BsuPPqwsIz9\u002B3Mg/ct87v1Kbbb8DNP0/jU4AwA4lEz/8z9g/YiSvv0Bojr4XSVa/GoM3wAYF8L161Kg/lCVGva4l8r\u002BlnPq\u002BPQ\u002Bov/C9Cb91Au6\u002BapiWQHeyEUBQcOQ\u002BmuTbvzRyB75QHS5A0usBP79FssDcH\u002Bw/FWWZPhFN1b92wI6/XpSKvy/tGL45fq0/rpFgQCBrHr5kW4u/sBxpv\u002BPEXcArdM6/48Q/QJerIL/Et8W/WUG1Pkyqrb2XK\u002BU/tOg5wOt5Uz\u002BiCAu/Rl/8v2DbEr85Gi3AMlhzP6woI79U0hC/xCibvpLxkL9AWuk/lB3MvzcMIb7q2gq/9CqIPxfHg8AwSgzAXfBSvsr7CMARX5a/U3ZnP\u002Bx0AT5M2EK9Tg7hvuj6yD8\u002B4J6/AC\u002B9Oy9Zhr\u002Bmhbm9\u002Bh84PxRGtj/ise0/WIpFv1BYAUC2p7k/RGdxP4W9bT/sQYk/PkG2v9Yotr\u002BgG/0/eimGvo0U/MDOY8E/OtSFvIBNMcDYi96/SFvsvrejiz1h2e4/cI6zvg9sFEClba8/\u002BEWKPwxLgz\u002BzVp8/d7GuPqdGpz\u002Bosdk\u002BSFjnPDzxUb8MFBDA3sQGPmJlDj9ATapA7TZgvoSscr\u002BpKtw/VMq1vnIPKUBtOls\u002BpCXDPY06zD/17KU\u002BTL8VQEwU6r7COTc/CMy8PzvrFL8EZPw/yiiZvYOMKD8SOOM\u002BA9AywIhRO0AVZgtAwIn6P4e9mcADu/Y9woNpwHJbt7\u002B0Ng\u002B/4kw7wFBDyb6gChA\u002BnM4FwIeuKkA2is8\u002BoVY2P5blgb/bf58/v8Sgv\u002BrSoD/alJ2\u002BT/G3vrG9XD4G/ys/" }, { "CategoryId": 4, "Name": "Climbing Gear", "NameEmbeddingBase64": "XFoxwLpmXz\u002Bojfg/RhKQPgKsDL8yPr4/ULnAPwh0FD/IAMC/ORajv3YnoD/P/Li/m8UpP61eyT9UefA/twk9P86Iuz8L7\u002Bc/fwPPPdDL0D6nKhQ/1sICv2ykiL4c1xa9xWfnP87SbD9ABby/eJJEPlofAj9UVzfA4IMWPzfEUz9tlAq/qC4WPlrNb7\u002BEMt8/UHfPv6JT/r523l2/e67cP9jw8z5Miqc/rHPuvoAo\u002Br08KJM\u002BQdRSPwBttjujZ3q/IpmsP6QdSL/MSeK9ltmQv8\u002B8KL62Nic9HxooPsrrGD/ODl0/3m3EvtrHWL78Mmw/7j/LPk7s0j4Ngl/ARczsP3ycTT8peTdAXH8AvzK3lD8Rokm\u002BysKYP9d6Fj9yj5U\u002BO1hdP\u002Br/4D3sR0w/dG7rPhhv1r7SjUe/PTzgv9uN5j2WHVy/026iv51FCj5RAwM/eu4VvwyaVD1j9p0/xY\u002B/vwSqoj8em/c/c\u002B9FP/RwR784aKS/0e\u002B1P7qczj5JCY\u002B\u002BDDtxvymkRL\u002BsLuq/eWnwQCheub/Y/x0/Gg6JPzl/2T8kW\u002Bk9PD3Fv\u002BjXjr78Zi0/1KGavu/s1z208fo/hQ4ZPzcT2b6pHI\u002B\u002B5xi9v7CMsT07wAfAaDOFP7o/p7/QR3Q/RnIIwLL4Gb\u002Bi9Lo/0KRmvyM7or/Oooi99jDHP7pkEkDOBkU/paLOP1WbsT\u002BXLQy/xOOSv7vYPL8yT7G/gwhDP0qCez9Qc7e/EJ8AvbaTDEDV7f\u002B\u002BBq4ePxcSSED5X2jAvnYFQFNKij6shP2/F1Qzv43bQL4OYpq/Erfmv\u002BLc5r1un1c/LzBHP5yi7j\u002Bads\u002B/vhxvPjxYLL4U0wfA6YIvv/C2Bb\u002B0SgK/jouDvyvbLkCyhaU/p6RiwJTYHz8kMzo\u002BhDthPUQs979GD9A/aG6VPi0u9b6Zyhk/WpBQQLIEzL5QLyXA/9twv2bSAsC89Jk8KhPHP0Di8L7YFFK9u2f8viF4RD8\u002BDhO\u002BmhXQPvxQx71Ee40/chDRP3L7p78EPzU/9qOAPx5YAb8AHKw\u002B/JbmPqvf0L9MpbK\u002BOkGev9A7Nj70cH4/QAjAPrj7BT9SdJA\u002BrEi8P6a9oD8P/4K\u002B6qBUvzSih7\u002BMDAE/\u002BlpSP7aKH8C7l7Y/umdYP4C4FjvWGW2/Jl5IPz6o6z3alSrAp1AXPzLlSL8GqeO\u002BRkEBvgyHscCFObe\u002BeeMKQGdt/j/u1L49A44VQAmKxj/BMWS/9lfJPk0yu7\u002BAJmBAFgPvvuURFr/wc7K\u002BF1jwvhefCUB\u002BPqw\u002BOiMQwJdWs77o1wW9EgLePo8xiz/IvSbA/uqDP98DM8AAzyW/UCNQQFJTHT80SAO\u002BaFB/PYoTZ7\u002ByDyE/4dBjP\u002Bzq/7\u002BCcbU/x2Uov3Xk8j\u002B2J6e\u002BfLbzvrrHb761WhS/b5FYQCj4/j8WbPS/yPrlvBwHvr8a9ou/fsYHQFLunD4/skfAehXuPmznhb6YAhpAkv1nv/uy7z6UWeG/tqvTv1W\u002BAL81RL\u002B/DQ9Sv0YZlb/XBbO/2uYLv0tO5r7T7PM\u002BkM7vP7Tyx75Yp88/wc7LPgkuIsCzNLO/K1y2viBGwzwck6c/m/Nvv/tOqj7duqM\u002BFu\u002Bpv8TCCUAy4dK94pV\u002Bvw4A9D4u268\u002BFlKCPzSOTz2YEk2/YNELv6g/pT/lm2y/MBmivLiTdL\u002Bwhxa/4famv8c\u002BrL/nJl9AKFk6v9CVwsDmsk6/7LEmP6z/1L/QBv2/XFKevoCYez/DwdU/c5OtvkZZ/j7a656\u002BC4gJP041MD85E3K/Pgj5vgKEhD9OGTg/6jW/vQW58D\u002BNH9c\u002BkOHKvCZSLkBaumBAv5GhvWiTsz\u002BJC/0\u002B5KcUvmwzab0xDqa/A3KuPrqYTz94dt48ZZe\u002BPhmUgD9atQE/IMA8P3L7vb1rxGg/oiR8Py5bhr8yw5C/4mDvvthuDL9DWwJAv58JQDpTW8CkI0a9FuoIwKGq0z4AZlA7VqsrwAqiTj\u002B2mXA9knY8vkawaL86Ace\u002BSMX5PT5AGr9Y\u002B/6\u002BSPgKwJIonz4vYUW/ZcHsv2i35L8xNMA\u002B" }, { "CategoryId": 40, "Name": "Secret Communication", "NameEmbeddingBase64": "HMWYPgAm1joC9U6\u002B1NW0v2DMzry1LpI\u002BhwYfQM7RxT5izjW/KmpaPgkxNL\u002B/XEg\u002B1NxaP1CuET/nqwFAo/66PyfejT8bb7q\u002B1pB4vl7l4z6A2NE/YuSWv2DcOL6Lxhc/erWzPsDSfT3lbK\u002B/6Gvqv/JroL\u002B57x7AYunJPgqv\u002BL2m2s8/JS9KP\u002Bg4hT8mxa0\u002B\u002Bhl3v\u002Bwrnb\u002B6aOi/XsiuPyOwl72DqnC\u002BLNh5PqoQ/73uTV0/GobJv\u002Bz9\u002BL5mj1y\u002BtoR7vhz4KcAIIe4\u002BZ5H/P\u002BQqdr86ZZQ/jSeAPzJN9T4gr/Q/lEcDP5aJO7/EA4Y/6nqDP8FYpT\u002BuroDA3I\u002BjP9RNzD4bXaM//NTzv4BHKzuMeN4/Wls0v1\u002BIPz\u002BzxBY\u002BvOEFP/7rFL0sJ40/GN6KPzeOob87XO2\u002BV04Av5KFDj5I0lk/fveSvyqyCT/96g2\u002BUf8LwAOHAcAXqAJA2DQ7v1R5ML9MhgW\u002Ba2T8v2yvrD2CGqu/jJZTvrihsr8UeZu/GiKKv8xpmL/JK6W/9\u002BzIQK8xiL\u002B4YQU9kS2EP4H\u002Bf7/CICu\u002Bki62v9omkT2o7Pq/CmpPv5WaPkB4DZ4\u002BjqJyv5CCEbzKric/kLgvPDfjE0DsnLg/Fo/HPzZa3r4Iib89Ya6QP94m\u002Bj6sIxE/vJFnP/AIpz\u002Bdd12/\u002B5CIPyXnCUCUgZG99L/5P4g9Yj8pCQJAPlABP\u002BJGYj/eWHo/1vvfPtXxhL8679o/oBdaP/Tk\u002BT5iPwE/YMKLvLCuj75yj52/jtEIP\u002BYYTEDTLo0/DZ\u002B0PUp0pb/32wI/cnykP0ufSL9t1eg/JU7AvuFJij/c4BHA\u002BFKkPrq0tz\u002BnRO6/LlZ9PxAcmT9RxQG/ZWugPvbmNEAwfrs\u002BByFxwKjeOj8Uw12/UWy9P5J4N8ASfiC\u002Br3BmP3wegz\u002BQDeK\u002BXorJvg3SkL45EwK/cMBnvQdBi7/jlYU/edTmv0A/A7\u002BOgnm\u002Btq/BPx/HZr9Wj\u002B6/3LmSP/\u002BoQz//3Dk/Oe4UQHrcsr/O9Z4/rrxAv68uqL6Yod2/\u002BJc/vxgM6b5sclq/IJZcwErx/T2mOqi/YEE0v9wGt79ADQk/mYy0PuVXA78jtZI/N2\u002Brv8WWhj/MRZU/9PZrvxg2kD5EnV0/8YMKv8YyrL5Yqjq\u002BwVbFvnK\u002BnT9HgUW/FBdvv9Rswb1Z9T2/52kpvmw7v8D0x4u/VfPGPgorU78NlUk/6KVTvVIrnz/\u002Bs0O\u002BG\u002BMFP/H4AkCPektAAG\u002BYP8JL9b/07uQ/PhvLPu9DhT\u002BMBAy/gBjyvCLRMr6tOqI\u002B/DohvxAaTT\u002B2G3o/yI8UwHrd178Hy02/BmgkQEgwsD41qjU\u002BAu7VP985Cj\u002BHzLA/pHJwPkkCDcD2x9Q9MN17vvrrRz4iCTlA\u002BC6LPxTo877KHZY\u002BmAhzv2Zf3D2aQ7m/njdevtkytr\u002BhD8K/Wj\u002B6v9CStb9b2I\u002B/l87xP0iYDUD6Ey5AlH4wP9ABM7\u002ByTiC/Wu5vPzDES8B\u002BsHO/Ynm9Pyufyr8mVU4/xZWevjwvIb8EXis\u002BI9TrPqBOq7xNNI\u002B\u002BB\u002BiYP0bQMD9ocUo/1NE0QKr3\u002Br4AFAS/EGG0Pe\u002BInz8X1\u002BA/jDNLwDRbEcB2b5K\u002BCFkZQCcODL9o0gc/XuEhPwMEK76Nrqg\u002BVDNeP2CUjj9qAI2\u002BkpRjPvIhRr/Es6q\u002BqVEZP5SmLMByq6M\u002BS1ujv1F6u8Cwn6O/amY3vzjurb8W9hPAnoLMPQYOkT8mJXc/CqRNwFnFtT\u002BO29K\u002BV5cjv5IHdD6BxQa/988tP0c2DECy2nQ/dT4BwB0svL8WsGm98Ew6PpKeWT5qbl9AhV0HP1eqFD/06cI9DLE3P/gC/D94SM88V7Svv8bPuj9Ou8m\u002B6sFvv09Kjb7ewkq/IyUwv4cJqT4qeps9yLahvyBx3jxbVpo/bEfkvn53xz59\u002BJO\u002BmvDtPx5\u002BJz6G81\u002B/FJuPPQylXT\u002Bcwbi/CgTqv1isTTzhsEY/4Ue3PtAxdj9YjJw/ooQPv04Bv7/\u002BcAM\u002B0kaRPh49yL54udS/gGOIu\u002BeeDb8W2KY9" }, { "CategoryId": 41, "Name": "Adventure Nutrition", "NameEmbeddingBase64": "0QrNv1FvFz8ybwg/Ar2mvu0CbL8KLbE/fNXdPqv/lj9rady/7t6Ev0N\u002BsD\u002BS/Pi/\u002BNxUP7x8AT9UZNY/SO9Dv0vJFEDKXCc\u002BuhjTvzxHFkA5eQRAaUkBv3raYT/yAaC\u002BbA\u002BCPwT5oj/M/wzAeqn1vkIyDT8s1Q3AVoLtPtTYgr70aN8\u002BZKrTv0f\u002B5L7s4jlATvZZv2qu175GWRO/Z1ACQBcnqT9TUBZAjnFmP2h/oj2OTbs\u002BAmXGv5cVEr/lkoC/MNu9Pzaxgr6zIXO/7gZ7Ps78tL9Wtds\u002BZz93vjY0fT\u002B\u002BuYM/iFuUv6esBj\u002BJE\u002BI/LVtDPj4aDz4uo1DAWFg4QFowCz/sGCVACo6LvyywBkB0DTy8jO0wwPfumb\u002Bqo88/Jk\u002B\u002BPxf5Gz4k7u0\u002BVApTPXK1kj2\u002B/AA9KdIovzQwB77w1ALAta5lv/RujD6aP8g/dYgcP/v\u002BTL\u002BZ\u002Bxs/Z2rgvfwCDECi4E4/YPsGPzhUtL\u002Byppe/mWqDPzTIpr60PBC\u002Bxj9sv/Q8nb/W1sK/RpSvQHSTJT4I1Ew/4dBPPo/4lT8MF6o/B/8/wDz8H7/\u002BnBo/cxmwP/poDj9Mp70\u002BEkd3PwxfTb5ewQ2/hFcAwDo0wT80xg2\u002BYECJPtBhyL14nnY/JXDpv6DyITzi5QlAqFQDP7ol/D4kU4I\u002B8mQqQHiF2D8JyFq\u002BlkWqvZvJCD\u002B4ZQk/ik6yv\u002BRAIL/Mm4\u002B/5XjlPpX20D\u002BemPW/agBXv9J4RUB0RUy/NHZcP1BRI7wSeJjAbpVYPYYYmj\u002BOb0VAI6S2PoVKMb\u002B03io9Puf1vlh3Hb2FRKQ/fAKjvqT4IT92RJY/TP5oPy8oc79qjBbAVGYQPq4D\u002Bb/elGS/\u002BIWwvYqulj/zOGg/3YhOwJiauD7iKW69/BAtv0B0o7\u002BHi5M/pF\u002BYvpvujL\u002BYJgg/4MBbQFh8Ob/QiY2\u002BF1pwP8u6gr8RLzA/o1lBQJLacL9ChlQ\u002BRLyQPpyahL7gtQC/qsvAvhdP5T7YQr\u002B\u002BjTkEPw6iUT8EiPO/OxU/QOZNeL8aFam\u002BRUfJvufesb9YXrk8bNq6vg6DkL863E8/epB4v1aZeT\u002BzsxQ/MEXOPwvE\u002Br4WMCy/bYbSvx6P3D30NPg/bGZOPoYNlD6LkHC/CeK\u002BPxiI4r/sNJQ/uvr8PxO3oD/bu0S/Ln3uPsLMbD6Su4\u002B9/pcYPheetMAt9Kq/y1KUP5EfIj/tZT\u002B/oJSZPPF84z43N0g\u002B5Eatv/L9xL7m\u002BbQ/HItZvuCc370rure9mlVZP7pyAz4s9f4/qZYgv5JMgT8jEtK\u002BqpEeP5Ckuz109IM\u002BXQudvl720j9Yt0K\u002BdT94QOSMJkAqkwm/yFT/vw4HhL3QLtE/91g/P6w\u002BJr/WbyY/2hG3vxF8nT5Y3TG/lCblvhbf\u002Br\u002B3k5W\u002Bl8dDQF6BWL0QSH\u002B/rhC2vw6kCsBy/yS/Xl5Pv8hwqL55yIw\u002BJOGkP/ullz/ArRY/HNirvXa5Oj9iKKy/0WrTv4LRbb/82K6/QvpIv6ZCMMBp4bS/2f/hvp2slz5mdSM/jKkCvrJgOz9VLnm\u002BnMyPP4edCsD\u002BtkG/NsTkvhq9\u002BT7MV4M/znFYPiGfvj/owkw/QuGxvr8/VD\u002BgstK\u002BxON3vsqh8Dwn0Qw\u002BsHgDP2IJJz4k0wu/3sCkv/Nytr\u002BxZsK/1uYEvxKE1j7\u002Bld6\u002BcuUMwCBrE8Dc1jJAvVumPwK9w8DvOXI/pfUlv5TpHcAd3Ka/sovUPszlmz523GI\u002BoIsxv1cXyz9wx8k/5NfJvaDedT\u002Bf\u002BlS/LAQzvVMdkj\u002BcIpw/AgRDvq1imD/3vkvA3B\u002BaP3eQAkA8HXJAZAtVvKifm78ZOZ8/pCX0vblLbj\u002B8/Au/VNO\u002BPlRwAT9JsCU\u002BiF8QQAgGfT8KL4y\u002BTiavP3q9CD8BOfu/ErQ7P1zfoj8b29Q/FSE2v/9c4D6h6sS\u002BIR8eP2A1z7\u002BkdwK94wjavyGeDr\u002BqcqA\u002BzbHMvzbjcr/3hjm/XPMVvYGg0D3LEke/uyJvv\u002BlY8T3Ex/2\u002Bl4Q3wPRQpz6BZQPAw88dwHICbL1UPjXA" }, { "CategoryId": 42, "Name": "Tactical Gear", "NameEmbeddingBase64": "ZRgKwGbRPEBj6f0/JMCHvxrMxj7rW6Q/mwUWQGWHdz9Cu3\u002B/jiiyv8GQgD\u002BGs8C/hUrDPyxa2z\u002B4exBAtmk2v7fWoT\u002Bhq7A95zFpP9A92z4Ksbm\u002Brmozv\u002BwpkL6y\u002BZW9prJCP48\u002BLj941sW\u002BLecdv8qPkL\u002Bp5oDAR4uqPkD5kD/IfoI/hHppvo3\u002BMb7TnHc/o7HUv3hc8j5NC4G\u002BZ\u002BwoQKp9pL4OoN4/17sIv4oFCb9HQKY/4mSlv79VOz\u002BaGTM961MZQDsAlr/HeIY/Wschvxb\u002BI7/KBdm\u002BHgZPvrSCor\u002B4\u002B3k/1cpJvkT/mj9Qzkc/8EDkPU4YCz8KQprAAMCTP9\u002BC376Oyd8/\u002Bpa8vmvy7L5Em7U/tSlvP7LAHr9QT2A/v0C3PyRTnj4PQ9A/Kj63vQ9tnz/tuWi/lFx3P2pOaL8jUpu/JDzBvaDXGz\u002BRKyG/hkrxvfj0gL\u002BG4ApA5pJLvwrgYj/rpuQ/QJzJvrEotj8Gcia/fDrhvNLMyL4kv1C/1bUSvwxVbL\u002B\u002BPP6/gD33QAk9375Ert6/SCEvPYY5lj8Cy4E/J/kzvxoF0T55MgE/SWvAv176/j2Og0q/gOTGPBsbjr\u002BG1BC/cAIjPgg5VT3qYZS\u002BfY9dPxozHD8Ws8w\u002BM2M0v4Nkxr8yX7g/FHuwv4kMoj5uZpC/1dnIvj3raUABUsy\u002BrBtiPq2zAz9AVsI\u002BVlWPvzhvir\u002BhohK/kL1lPBSJIb1sV00/1yELv\u002BRx1T\u002BwbK6/2PWdPzUcIkCmqpPAX/01PzPh3T\u002BdG6O/Tlcovlreob3EE0\u002B\u002BtXIIwK7liz8vvQBA01bEvtIhiT9/4P8\u002Bjr8tP2aviL81a8C/rPCmvswrdjwm8FW/0wQWPlVnKkDgkWy/t2RHwAZQiD5gXq4\u002B4VCmP1rIwr/\u002B15\u002B/YBo8vRBt8LzTPBI/cf7VP3PKbz00psO/Lmiwv7GwIL/y3oQ\u002B732gPwJ/wb2fETm/FZYoPuxxOz9G4oO\u002Ba5YYvsqUsL\u002BXdPo\u002B0LOGP5QJvD1ZEgM\u002BDMhPQIgDZb98D\u002Bo\u002BsHHyPkXWFcDGbdW\u002BnH7PPXeUyL/nmJg/yLKBv4xeO73oHoM83gCcP8q6YT\u002BgTYU/gEf\u002Bv73qo78Ks0w/tsaePVozTb1wvtc/NGdBPkQi1r47bvO/1oMvvzqkLUCkfgnAi208P4o/gb8NiVI/07cAQPMOwcDixk0/ihQsP4R9Hj\u002BiH8O\u002BPx9Xv/adiT\u002B69LE/uu28vswPWb8/1INAkqsBP87CgL9Me5\u002B/Tnjqvz7SAEDUm0O\u002B724CwIBW47\u002BM1JS\u002BFJOgPkN1zz\u002BFPFfANhyyPorAHr64Ide/NQF1QITwzT7yQp8/GKucvyqlUz8mjMw/F9\u002BzPyQ7m7/CMhZAhM4sP2m1Uj9GILG\u002BOw7ZP62WKz7US2a/dxd3P61NiT\u002BmWeO/N4QiPyg6JcA1NTnAKS7ZPwY8vr/g0dm/ehGuveDiP775U3g/vfkgv0SYCz8k2xa/OqwFwGcGtr\u002BE8jK/vIp1Ps6Upr6ZqFU\u002B/Fy3PUpF6b8Ua/I/dO1DP67V5D4ENoW/VvbnPwswv7\u002BKmgq\u002B38rsP5n4LL8Ag287VRyjPwZmuL5qGQo\u002BiM4wPlpOyT7857C/26XoPyV\u002BFEAgdka\u002Btzyiv6xNjT91aoW/MfnNPYwVUz\u002BNxuo/QpUGP3Iogb\u002Bk\u002BA4\u002B1LdHv4zbhb\u002BQVz9A6Kz0v5A508D3uAi/Pa\u002B0P8zcVz\u002B3sky/r77hv92xy76GQFG/UpQiwAP1\u002Bb69VP\u002B\u002Bo/O\u002BP6678b2u7uU/4sGZPaKKOT\u002BCRvs\u002BDU4QwCkyqT/8OHO/F0zCP\u002Ba/oj/MYV5ArlGZvVhzXz8q\u002BVs/lWUiP\u002BcRvb5Dtmq\u002BSxGJP\u002B5xAkBcsNG\u002BoIHWPxjrWT\u002B3I\u002BW\u002BCOYFP5bgLD8MLl8/Z8omP1tjoD60WW\u002B/KAMgvyudTD9nF7E/Xkz/P08jEsBOkqO/tmfxv766G7\u002BGb06/RM5EwBg9tD8wdcq\u002BW\u002B2yv5ZyRj/KtEG/\u002BEAiv5pnir95VxM/NJ3/vTDq2z6YxAvACDqZv9DkGb/NNOq/" }, { "CategoryId": 43, "Name": "All-terrain Vehicles", "NameEmbeddingBase64": "Nqx8v4/f6D9Gh0xA2YyAv3Af/76FoY8/NwYsvgh9Nz/SUhnAu7s8P6Weej9nTFnAdd5sPyWbGUCvZwQ/dDNUP8JCJUDZdtw/iKEBvsdDHsAtHkQ/Szymv4DWWz\u002Bat2y/ZG1jvn8fAEA37wDAu2a4vri5YL8cFbPAzt8gPgxVtj9bMo0\u002BCD\u002BhPqNvL79kszdAVgkSwN75BEDIAQ490C2Qv0o9Aj8xLiJAVHyavwC4YL9itH4/wNvDv4\u002Blj7/U3r8\u002BLpUcQF6d9b/84Lg/IUfav54JKL/7xkO/nuOdv0s1oz8Wo9G9PnRzP5Q1jz98ZKu97d3CPxosxz902dnAd5NyP9eS0j9\u002BU3c/zKiAv/6Ul7/B//e\u002BmStBQIjYhT/jnhY/uTiLP5piHD9hRiY/3qgav1HI1z0MMGe9pn/Cv2DcL8AoeIG\u002BgL2Dv7YwrL8\u002Bnk2\u002BNEvtPj6o2b/11q4/Kz89P6J23D8iCFJAKfUYvzw9nb\u002BrV4w/Sjv6PvxQ8L\u002BG81Q/WylPP/I\u002BW8CHNxpAurENQW\u002BacL9srbs\u002BvXcFQLurt78IUc6/6AXRPipuJ7\u002BgZM298lpBwF4clD\u002BYwrg\u002BwHSYPk25270\u002BJFg/cscuwJUVVMD1x6\u002B/QgdkPz/1qb8HGZ0/IgEuvwTN8b4pQnU/ZBruPr/u4z/T\u002BXW/lJccQIHcP0Beaag/fdnEP0KwKr7ri2M/7Ciqv2fZjb56BWs/QbHOPhL5PT82yzE\u002BxqW\u002Bv7DMHUCw/BXAlV25v02fpD9o/IPADSIhv04aBr8dW6y/eKufPplf174tdbw/vRcCP5hxxT9M6YBAdgVXP8oSjz\u002BVY7g/PsEOPwHker89VSDAQrMDQFEMdr3ApuM/5eEzPxKHZkAXHa6/nsg1wFYmnb9/Ebw/GlEJQAc5gr5c9gnA1i\u002BXPjpk0L5Cpxq\u002BH6GaQLYuqr4P3ZTANkeIPxdcGMAHBVU/7CfevwgwmbuApJG92/71PR6wAD92BK4/RqhgwJvSHT7IaF8/02PrvvSP\u002Bj3Imrq/BB2KP8kQ8r/FpcC/inuzPwiM9r/eypK/I2o0Pxq6ub85HTBAE9GDvwlsPL7nHGs/yfmRPwQ3Uz/ed9G/Qs3nv1lQGb8uUMs/DrM5v8gUwr9m8dw\u002BLjKTv/Bj4b7FRm0\u002BUkUbwD7vEj9wHMK/lDdNPRSWOL88XUXAuPryv\u002B8DBcGw4ry7gqa9vZmKPj\u002Bw306\u002BIrRqvxFLuD/S6Go9yuFFP05Cmz7MQLZAbg5hv/W\u002Btj6aUE\u002B/6v4Av3aIzT86tsm/0k\u002BNP7CM4L82EAY/HqJSPxTG5j/sfUW/ijGkvu6Grrxf2P6\u002BZZq\u002BQFv6wD\u002BA5UdAM7MePvmciT8iYFE/20AgPwBmDsAoKgZA3hG3v8Qz6D2GVJa/TLeQvqcEHsDIP9E\u002BEpscQKpG\u002Bj/Qt27AeIyWPwSpyr\u002BFexjAAF4bv4OOfT/IGeK/cnB/P38v4T3SiAlA81UsP4WQqj\u002B1Dfm\u002BIzGJv3Jwmz5wlo080DofP8xbXL83mPA\u002BCN0HvT3qAMAGT9s/TCJlP\u002Bd02b9o7g7AOqmMP27fhb9YWVE\u002BSgl5P2WuG7/GpVe/Yd0RP/My979a3eo/hMkzQMpsJz\u002Bjv7S/8O9dPPGxFMBWOX8/DvwPQBoqIkBPHIk/MLpPvpgQgb/juXO/7gCDP65DA0DawEY/0okOwL5nSr8eDa5AlTBav5fwEsF9dFi/NJRtvYF3Cz/zzwrAJu6yPTlIRT\u002BpJEFAUh7Ive6t1z4krpG\u002BlB2NQLa7fj5gI8G\u002Bn1RKP\u002BvP8T/B92tAEBARvgNGE0BhfQjAOtxHP3bT5D8Hcb5AvdoTwK452j3\u002BBRhAM9IgwH62ib/\u002BUx7Ao8kUP/hFLL\u002B/fiG/5j8jQDWQUL8BRATAOMOGQImh9L76fYi\u002BH7eaP5eOhT\u002By6SzAegfiP4u2C0D6zOo/OLhIPz\u002B5uL\u002BfHwC/LEsQwMqLUD4aSik\u002BnS27vlQ3pr8M5S3AZwOiv4nboj99sWM/PtWKv3uTL8DWq72/degIwHXIPT8noQ/ASt2gvxIX2j4zJ1W/" }, { "CategoryId": 44, "Name": "High-Altitude Cake Protection", "NameEmbeddingBase64": "1uhqwEiCI0Ceiqo/PNB8Pzd1mb6XoQU/\u002BE/2P8uDHEB0sRnAWq5nvvRKjb8OlTbAS4UfP/ZEKkCbQ9o\u002BnhfhPwPFiT8vsQVACiR\u002BwG8Glj4F3V9AgORjvq/vy77sL9y96SQeQPWr2z\u002BIkB/A1ZMTQDrQAT1aFKnANMkQPqs5n7/ezCtAhtz7vr3GAMCtq0O\u002Bsq6JvxuW2j8GljI\u002BHNfLP0TVhD\u002BI1N8/XC8fwCb/7b/98X4/9P4AwDDej78ulR6/xHakvxB0C79jO38/cs1PwEb7R79G27Q/5xf\u002BPhuijj53mbw\u002B1yKAv6gTdT029oW\u002BWCsovyAFfz8YhJfAAlCTP/KgvD/upQo/zCYNwNW3Kz5TWRBAK/cYQPR87r68avk/lor6PycZ9T5GYb0/cuuGPlQHVj9eL6q/JqGfv3IFcz9jwwtADmFawLk82r\u002BwYB\u002B\u002BdnCrvz3fAMDvp3g/CKShvpPxrz/YxCA/Fc\u002BmvwyDbMC/C9a/A2QcP/JKg8C\u002BW8q/054BP7jyGMCskznAOlobQQO1ZsAy9Rm/VxFXwFi1eL\u002Byj/6/semsvwI/ij8SUGi\u002B7V0XvgKUV7/Euiq9Tn6UvmY2LkCiHYE/nIoJwAy3/T8IrZI/wOmBvyZahcB\u002BQU/ACuKgvz75ez93mTpAisEbv\u002BiAZb\u002BIkjy/ABkbQKAQa0DcGLk\u002Bd\u002BOMQIMWQ0Dives/tNnAPw/CvL83nVA/Y3jUPzay8j\u002BPx5M/2hsAveJDHL\u002Bs00a/axLTPiHtFkAPgmfAbmhUPy2wBT\u002Bs0z3Abj6rPwZlfT8CRYLAmABwvyDvyb/9sek/rCNhPyjWRT/j5F0\u002BzLFGwLpfXEDo8RDA8M7Fvc9C2D/Pfly\u002BwbhiP1QpPkDmf40/VCZcwDp/ez6Z1p8/Ce3EPtzndT43pAJAHCAkvww4Ir/opbC9Uu4gQBB\u002B77\u002BC22nAHTTOP2bwFL9ToIg\u002BFUEZQFuWFcBYYys/2KggP/HqG0Bk9L6/ThAjwPxPeb\u002BwjVu8o/anv13c5sA\u002Bt3w/mMhowPY8v70IFEQ/wEmDP5dspb98xWZA/6YWQH1xmL9/ccQ/GfyTv9w1Bb7j\u002BOu\u002BiFctQGU94z6A0rE/F4mrvyZqGb935QK\u002BnKx/vdt6BcBL6YU\u002BBnoMPmx8\u002Bj8Fw9A/FARsPxx6RD8c7ETAuXexvcYUY0BJb3fA9hanPkF1CMF9a36/x89bv6k4CcB1Wd4/6hEIv0y4CUAQxgq\u002BhOhgv7S2kT7cit9AhpXsvxJbIsD4LFc/jORaPro4Gr\u002BCA0A\u002BXlNYv5zTGUBh7L4/TiVMP2TqsD\u002BfA5I\u002B1fHTv9fBjMBpL6K/5GDYQI3AGkBwEWE/YC2eP1xC076V0kLAIbpvPwJqIMAF4WBA1J4OwIzrCL/AM\u002B2/ZvX\u002BvwZgeL/0Zwq/4tgEQMD2MEApGSnA2OUNQArrfL9yX52\u002BSsD4P67K1z94qpi\u002BxKOHPyhq7j5s7qS9UxkQwPGqBECAOZK/FCNCwOUFND9cc3C/BaoLQJ3HED6o6cE\u002B15oWvrgPQD1abExA96cXQL3B7j5aVNQ//B\u002B7P3Wlej8ON9c\u002BusVIQGTpCcA06ylAxm\u002BgQHCSJL\u002BuJohAuEcSQI4aMT\u002BKLm2\u002BSJPpPsqhk7\u002Bk7eo\u002BLTJIQORnq79AZI87JCAFwCJBK78NEpk/h8w9wDsXOsAq5LW/RCXGv3MzeT/CVvQ/xjQpP0pRJ8H1Hpa9096VPqc8IsAugAXA1k06PbAcSUCGdjxAGwUswKFZw751wF3ATPcFQD0xM0D\u002B8pi\u002BQw\u002BsPo7jgj\u002Bw2Ce/TzA6P586jT81TfG/PykDvxwioD\u002BTR\u002BZANt7BPgcROMDpviDANaoTPyp7sj\u002BGzxjAGFQIPbuIsD8Wuei/SsRwQK4l0b\u002BqeJC\u002BU\u002BZ5QGVjlj/HqMu\u002BeTQoQI6htT2QP0TAVgmyv3Jt5z0vAA/APhLKvYaygcBEveK/UbI2PvPIFj\u002B4u5s\u002BvkU5QGWdxT6\u002BATW/WrsGQE4FF77bV78/ra2PwIwGfL\u002BeHIbAKwYsQPpooT\u002BnJkdAdlBQP/PEoj8gOY8/" }, { "CategoryId": 45, "Name": "Outdoor Audio", "NameEmbeddingBase64": "HopXPpWwZ7/APNw/0F5jv2i2nD9moTo/K0WGvgYolL\u002BPexC/uRWZvhQVx74DlRO/6pkYvShqpT8m2MY/WIncPsY3NkAM1dU/FJvqPsI9hj\u002BKJdc9Yx6HPmYWtj5BaDy/Z8HBv0oTnT54NK6/rEi\u002BvpgDHr8JySLAY3DEvqwuxbzuBMg/9Goav1xYY78AUi\u002B/vA8DvzktXL41yBXAPqfjP5m0kz55cIA/JPrMviO5uL8/QMS/e7LIv5zhPz3C8xzAF9IHQPraoL48h9q\u002BQK3zviwipL\u002Bse6q\u002BHNX9vbtOpT\u002BAd6A/cTYqQOLyBT/Jv5W\u002BBUQSP2QeET\u002BKLJDAuniBP\u002BGSwD17bC5A0ZYTP6srRT8oFqQ9V7emv1bhd70FT5s/EnavP18jpb/6VB8/j058vzQkX7/a2OE\u002BfrULwLbrD7\u002BMWTm\u002BbziZv582Bb8yed0\u002B5obHPiA18D00JKe\u002BkyTnvhzfIT/G5A9AC/GYvxYqy74BOCe\u002BB64NP/hMMb\u002B1sAC/fxxaP9Ebg7/sllQ/rBbZQNhVr794c6A/aN8xvkAiaz4RtfO\u002BNbinv8QHsL8cmai9udHBvQRUvD6q9Ps/HJGBv6toWL\u002BLwQc/FG09vxbhWj8KfEi\u002BwMyIP/xblb8By84\u002B6fX6vyk0ir4xoHo\u002B6ljoPdLCNkA8fni/kuL7PwaJ4z9efkc/rJEyQD7ggT92\u002B\u002By\u002BzFglP/ygdL\u002Br/fs\u002BIo4nv52RtD/m6UA/MfVLPyJdhT9eqG2\u002Bke\u002Bov5DbNb7Ll\u002Bq/kVGHP9RhZT3AD7m/WDWzv2KK1L9StpA9GkTKPo5EXz6t2SZAuw8uv/SJBUCfnaE/h4OwvnzVjT5uHAQ\u002BPwGBPwV1xj7e5Zw\u002BZOm7PxwY3D84H7O\u002BxxNGwEgF57\u002BaC0y/8QNrP60D575LcMi/bAGLv9D2qz9YWJc/BlTNPzReHD67GUHAtmnXPkJt07/3ug6/kw5KvnQRIT41egq\u002BddcBvhSR\u002BL5EGTu/Nt3Iv3SEdb8NlBC/qF1OQCixgL5qL1XA4360PUZ5SD8VoY2/YOF/P2ETBL4vWEa\u002BivV6PmgoRT/qyOY/7BgFwE6FfL1bY1M/3Y3/Py4EDr6z1mY/\u002BsD4vebB170ThpU/WiZNPz4IGD5uJ7U/bHXOPo4LFT\u002Bq53y/6U9cvqBvgT2NfVO\u002B5G/nvle837\u002BWlnXAqOjpv4uxpcAj\u002Bc6\u002BmKTdP2Exsz9YM6e\u002BuHzZvwpo/j40h7A8vtcIP5pSxj4mmjpAOY\u002Btv6S22T8/esQ/o/CePcVbHEB9K1A/XlqXvxT7fj5hji0/8g1FP9ZWtb12P4O/6rk2PnHg0z\u002BJqZS/wSiDQNYqIT5eTcA/\u002BP4ovSGj5b4CZgW/wCAFQED7UcD21YW/SkPBP1F3uj8tkQY/FC8EwAYYrL\u002Bo0a\u002B\u002B3gEIQGgiBD68Mxm/hYruvwHyWr8039u/z1pUv975pD\u002BGqEbA2jWnP8C6Sz\u002BQVQxA2N4nvqvpoT\u002BYWrq/puC1v6e0zz4McwM/XYIZv0TQMz9wCJM\u002BBQDfPlZvCcAslUg/tiSmP85H6r6\u002B7KC/JsSoPww/Ej6IFew8bO\u002BMvhAgCT60elg\u002BxWZfP62der/O\u002B8s/HnGTvzwOuD8kgRbA787lPwczIz/csls/dNbLvT4ebT5NqyG\u002Bwbu9Pa513D5xAGO/HQ4wv3ifMr7EsJ49fFFQvwjhIMCS9itASIoVvmL7u8DSSQbAhlPFPizbkr9Ji6W/\u002BSYsP0VOZz7gmfk/sVI9wLli0D4PLyW/C18mPwqWDr\u002BPViK/RhGwPyA94z\u002BaqM8/vKu4P/4EKD8593u\u002BgsyPP4uzIUDmhixAAM3aPMCbjj9YsX4/FL7Mv4r2n7/Johy/8EjCv08XAj/YcE698vdhQMYBsr/SKv2\u002BZNCSvsBKIj8FzyU/w\u002BMMvnuHQL894lq/ABhOuThN8L54vww/uQO3vg31oL/6sKQ/uPXpvnP\u002BfL4LhJY/RQ2YPY5fjr\u002BE5fO\u002BWRsavoGzWL/6qr8/hZ3Kv7xRhr6W/Zo\u002BtPKfPhfDmz8\u002BhlzATnOXvuG91r9maJY/" }, { "CategoryId": 46, "Name": "Solar Chargers", "NameEmbeddingBase64": "YIblvyJ\u002BFUAQoAg\u002B3nBeP/E91D9z2IK\u002BKxLqP8ClkTqEFbO\u002Bn1uAvWaFNj\u002BpIpO/WhaPvnu3CUAKT3w/9uqFPnkEKD8ZHLA\u002B/o1Vv/Jxxz7MZdM\u002Bpv4UwAlFhL9u0z\u002B\u002BW6m6P8wYjz8S19A/EoP2vt5NyL8g7RjAAOmTvdM/1L6KeBbAfP7oPt2n\u002BD5wDKS/AIqFOoq/UsBBe\u002BG/z1U8P7ymqrzEVU7A8jZOv7oR2b5p5ty/5c0xPwBFuj8yA0W\u002BUSa1P2Ngp789uCNAry4Lv8Jgib5vMCc\u002BEJZRvicHPj4c6iI/wr3WPxb8GEB0Lmy\u002BL0MAPmLO\u002BD9eRI7AMdgIPxnHSz\u002BIcQS\u002BhDwnv7SL9D9SjXe/v1I/v0LHvD7S6vG\u002Ba/esv2Hjt77SP9a\u002Bcl2hP5LRo793w7K/NYTwvxiFGb9QgTk8Wr7tPdbmUL916j0/iU\u002B7Pz5JsD9jAHE/PACGPuWvzD9Uk8g/BR13vgx8GD2rdoe/7aWoP/gyN8ApNa2\u002BON7BP0AF0b8QSN\u002B/B7KnQKsEVr4yY\u002B4/j7N7Pz2QNr/axom\u002BBse5v5ExQr9Xs8Q\u002Bolcav5iICsDvfcq\u002BAARqPvDtt776OHu/2oXDPw/JrD6Txqa/sXIpP3o\u002BgL/7ywQ/LybDv0CRPz\u002B8dSBAgg1JPxotaD8MYJK9SOWUP0Ks7D9Uz3g9cBgCQLgxKT\u002BYa9K/6GlCvw4MD75TcGA\u002Bblk0P/IhWj92uTK\u002BOLgKP/8bUb871s0/Z90/P3zgdD/H9UzAYClTvobctr9A/Y\u002B\u002BZfoOPwta078Q4yk/Zh/EPuxgHUBW/1k/TnQSvywguz93VZ8/sD\u002BLvTKIvD7IUAi\u002BNra8PzFXXT8cvQ1AQFm/vqeVTEDy9xC\u002Bz9ROwDD9iT\u002B\u002B4zO/tSmbP1TTlT/ZRKA/BkJJQIox8D29oKy/\u002Bm40QMLAgr8EeNO/55IOvx/urL8W\u002Bh4/E3i5voac0z9Y6AU/kx1\u002Bv0wBkT\u002B2aWC/3rWOv3AYaz2FAC2/hKuUPlrsUMCwqmK/aQKvPiWf/T/yca4\u002B0p9Av1oiDcAc99a/2peNP46alr9wmhg/4Nsov9botL9cHhRA0KoBQAqF9D0Y6LK/k577vj09s78oyp6\u002BY82kP4sbi79UHQVAiCASP2ZyRMCK4KE/WrOnPsZHsD10YwBAyCAAv8amND8iHjLA5Lxzv4h\u002BqMAtd2W\u002BCyiOvnVbuz2d5pq/w8cHvzZP1z\u002BfQqq/paoov1Gajb/LJvA/sL\u002Bqvz7vRj87hhHAnbQQvs40FUBN0Jo/IFnYPsTs2LxsDQy/ttJcvyFjRz9Zsm9AtErPvuJICUDO0bW/mbduQCGEFkC3uvQ\u002BOBIDP6x4iL8i9kg\u002BQgvwPiuogb\u002BAwVI/ckOYP0kwrb4KVKg/ZQL9vhBNI72aPSA/whiiP1sK\u002Bb\u002BPWpi/MGaNP6aw3r9lyCG/vpymv44Mdj8rwBPAhRqLP4qvpr/InT2/FWqUv/yeJ0DiM9e\u002B4Djev4BdZECBYDy/VDp7PSgmUr/O7vo9Ni6IPthuE74rca4\u002B7dryPhyEgz9kGpw/gFgLPsLrhT\u002BtjU2/NjIwQEHuI79RnnK/ebsQv3BJdb8saSc\u002BeqY2vy/nXz9AjmG/4ACVvmiCAT\u002BkiX4/2J8CPbprFb7fia8\u002BDFS6vZZ7lj32SWa/u\u002BC5v4KMm75CbVw/eT5ov9qOFj5X1iNApLb1PviircCCoiA/R1Qxvxgwxb9miyfAjx4JP4cG9z9YUKI/uNWjvRthTD9yO/2/ZxScP27Fqr\u002BFeY8/mCFVP5UtUT6wGyE/NjnMvAYCP78iUgy/G8wCQEESuj5WzG1AItGEv5pwBb8e1EY/7sU7v\u002Big3D/OMIA\u002BNR\u002Bjvep8HsDYdca8gixMv0IsMz9edT4/EyMLQArRZj8ACAbArTF4PwLVWb/TenK/rGPCP511ZL/gmQ2/qc1DP61Cr7\u002BkRqa/zociwOBUzz2ZEBi/zM9/v9gkOL9fGKC/OoNjvlD3J7/2rX6/tqDOv3q\u002Bur9ebZk\u002B3pXYvmPEAkBBhp8\u002B70XCP4Clbr9EWK0/" }, { "CategoryId": 47, "Name": "Hiking Boots", "NameEmbeddingBase64": "D3Tdv8VklD8utg1ALSGiPtIUYD/ROJU/YCCnv9K5Ij\u002Bcyci/5JrQvbljXz/l0y\u002B/5sYUP0Ck1bwOJb8/GYSLPmeWcT/sOY0/jvusvn7y0T/wJXA/vMwdveiiGT/bPQm/4ls/v0/grj8K4tY\u002BSHg2verFFL\u002BmTADAQiAmP4rfZD8uwTO\u002Bm2tzv9V7Gr9nq09ABi0xv7b8uT4y7yO/nnNvP6PThz\u002BvlLY/QFP\u002BO118Kz6guGS8sTdEv4ix6L563ae/ONhOvsYE6b4WauA99pCaPjAyAL\u002BYrRm/bcZGP4hKkj/SyaQ/y\u002BKFPaSpHj\u002BSPKU\u002BxO\u002BZP4izhDyhOJ/AI2EwP0Hktj81aLw/1O6jv5O\u002BPj2j/4o\u002BlsaWP3b8jT48VNE/Hl4DQBsxK7/5QM4\u002BWs5qPumhhr4I454//bq8v5QV5D0iXWi/VPytPuu8Pz9lzNY/vQF8PzeI3b\u002BAk2I/cKchwD7\u002Bnj9o7MI/M0qJP3aL87\u002BUZ66/2gQWvidu6L8A/IW/iHIiP9lepj2tYju/GufyQNJouL/EJQJAIg1iP3st9T8Wd3A\u002BK4gQwMjRkT9ct4\u002B9BiN1vgLABj8gGaM/I7a5v64onj8oVxq\u002BCznfvwBYLb9AcAE7FRwJQI9Z5b02LwRAA4YxwMIknr\u002BikS0/RKUiv05MH7/3Eny/4nmJPqUq0D/UJbU/TOMlQJib6T4Zsje/du8cP8FyWL43XIW/AJY9Omgxdr63FgK/9jB1vw0yB0Aq8dO\u002BVQYgv\u002BI48j\u002BkjA3AamiCP0rHgT9n8dy//xF2vodFIb9N9HQ\u002BnfJ4Pza\u002Byr6lOCE/cl9ov0TwV75eYyM/dEXNPhLfxL\u002BJ9La\u002B6Zv9PssNtz2lGeO\u002BvLFCP388kb9VRt8/\u002BuOKv6/BhD9hM4q/GK/fvMbtoD/UYuA/moRhv7gcoT/ccPg/K\u002BQwQLFDgr841sS/v3Qcv1WIDMAaQ8m/kOGkP0JXID6gO6u8JUWdP0YXfr/UIlg/jHFqvyTHo78kmxU93QfJP3PhEED97RPAM1AUQGTaPcCspSC/Y8PMP0Qc5L/MAH4/NEH5PqjCtzxIKCxAY1gPwPRdKb8nXaq/zrjtP47yBD9SjFc\u002BIAjivRSDs78\u002Bspe/4HrdPsi2LT/UCxE/0EiAv0JEmr8Cc6O/ZPijP6YSET\u002BTao\u002B/yjzMPxTDzDxCYVrArsQIv8Vzt8BDZp4\u002BM0EFQET6Tj8BkOC\u002B\u002Bzuvvt9Gij8mpfi\u002BF9jiv7SuMz5RphVAKOlmvhTdGj94nzY/dcV3vgSlMEBEtAxAFKWFv10dpr/6Z0i/RkkVPga2dD/\u002Bu/e/HiETwJDczL8i4IQ\u002B//5YQDriXUCZ1hG/9Wnnv\u002BLubz/\u002B0CQ\u002BsBJXP4SzbcBcQKU/Xmapvl6BYD/pLfO/SRdyPJK49r\u002BPpzU/eDktQEhzUz5wVbS8Z5EIPnwb575yoCPAA/pfvlTFDj\u002BaI7S/qnIYPx7iNj\u002BRLRlA6ub2v\u002BhHL70cwADAfnHMv3Nfmr\u002BsM3O\u002BrQ9Zv0Y9QD5wG7O/haupPj7ieb/ig9c/LzkHPyrLNL/bo4g/XJbYP\u002BCm4rvs7TK/2aXqPp61sb8A6D6\u002BEhMAQMftq7\u002BiuMk\u002BfPZ6P4TRIj/AG4a/JWGhPQz6WL8fcry/snivvmp6jT0VtB0/2byRPqW/TL/O9oq/j0PjP2j0lL/IfJe/W9sWP/S7AcCNaHVAQS4Kv2t0rsB/iaS/mG20P1rcA8Ajbrq\u002BjmTCvjoctb5EFjI/QGlRPIArOj/oEmI/jfMsQPwIMj8zAhq/er0DPVYsWD/EC2Y/s/dbvopDHT9oIMS/xjcqvgnBOr88tCNA9FS2vujeDj5Y/wlAm8Ewv4iw1b70dwzA\u002BJY2vtoHI0Br3OW/w93mP6v85j4K5DU/nPsgQDkdq7489gVAdVisP9ynor/0y4s\u002BRh\u002BOPl/ZG79s\u002BPM8uK7vPwLjp8AxpG4\u002BQL59P4/ZkT\u002BHxFs\u002BZO9IvJasTD//gom/lcaUP2JdzL7u22S/duMJv4CRt78UQh/AwBHPv7wmnr/VwTfA0e4LwBxFs79/hAY/" }, { "CategoryId": 48, "Name": "Survival Gear", "NameEmbeddingBase64": "dKz3v/IrDEAAUdI/mK8Uvg2TEUDyp6M/5aesP/HTFD55ntK/odGsvxJlaD9NANm/gf6BP2njlz9rXko/O3NVP6JRZz\u002B94OA/RU2zPsMDCECNZrE\u002BimWmPcK0wj5Zzc2/bJTsP/7czb60Umq/4oKZP0\u002BZST7YoT3ATPUPvtjFpL6\u002Bw8W\u002BWlVRPZuXFL9W5eM/IhxAPxbR7T4x97G/wKCrPwfMMr8kQyNAeMe1vjsl\u002Bz59zvg9eHtQv4\u002BgLz58zwHAwsROQMmsD8A0Vsg\u002BEyhJv4u49r7tGyy/rD5OP3sV3r8L7qo\u002BuuuHPSjIqT5/6Js/CudnPy5i0724inTATHedP8ZGlD6yBqg/7oOzv7IkHz6wLIU/pm9CvpC8C78MJ44\u002BuTapP1qJsz9YhXg/kTClPin1BkDkZti\u002ByVdrP8MBQz8cqBw997eOv6brpb4KdHk\u002Bxndov5zEyb\u002B24OQ\u002BaTWov\u002Bw6XT8GCZA/zkAAvyjwvz4kqGk\u002BPp1MP5JzDb\u002BQ0rW\u002BoOevPmCr375O5rS9rvzoQLs56r4Y5xm\u002BHaaFPtxTTr6qwns/Xgrhv50ko74IKPq9kkYEvzR62b0HjAw/7\u002BSQPq9/IL98Lvq\u002Bd8wov5kOKj/GkYS/4E2uP1RThb/5pZo\u002B4fc5v1fupb/ShytASO79v28FYj\u002BG\u002B7U\u002BwTYVQFFn\u002BT/h6yW\u002BkrMpP5k9AT/3vw0/0TmKv0aNnL59hOi/gJwlO\u002B93J7/Sy8s\u002BPHM2vmPVjz8AK3M/v70pvkOFyj8owZHAgoM7vy\u002BVM786B3U\u002BUqf6vkR2n79v/xi/UTmev0yx0D7Lk\u002Bs/OcspvylCmD/bQ7k\u002BZiyeP3b4pL\u002BrgRXAVe6rPpIHHr77W22/oOAaP/IuL0CJQz2/yrkBwJO83b6dhG4/wcaGPx1yjL\u002BHW9w/rMgavzz0kj5QvPi9aGMyQHYIVT5kkmG/n0tbvqVTy7\u002B8lNQ\u002BuEavvN76XL\u002BHXXO/gdwrP4jaMr9/nPY9BUb7v4JP5z1Ygg4\u002B8esbP3Fj5D98paC/HBz/PzyPP7/mQqc\u002BcpWSP6/bwL/Tkwq/1V3KPlYG078pf6o/C5YLv2uDCj8HH4m/IjXKPdeToz8aPys/6fdRv4y1Db9O\u002B44/ApO1vkwKf78YLxu9qrWqPjCK6j2TuPu\u002BJXS4vSZhqD\u002BzZQe/Lt2hP0UpCD\u002BBl7q/O42yvZbfzcA8nBW\u002B0AoYP/cuET8BsQo/C4XFP3aWiT6jsZU/Dm85v9CSor8M4lJAcAKSv7Y0zL1dAgQ/WI9Av6tLgj8dU2e\u002Bsj08wMqyz70yjkE\u002BoA\u002BFvqrLYL/iy9q/cB0dPkxYNb1SLiu/ynh/QA/DGD/isLA/CFmLvzhMMjwvmBtAupwbPzpEhcBMOwFAYhNzvqN2nT4y7bi\u002B8PFIvxyW0z0yyza\u002B1eVgQMOtjT5i8re/0CvRvkD3JsDfz7y/soYvQITunb9uy5a/MSeAPz7zpz4zB\u002B4/N3yrvxAR7j722La/4oDcvxuHSb9nNvi/BTRYv\u002BGwYz7hCxa/IdDFPp5r5r4Ovlo//CIWv\u002B2BI7\u002BGV2m\u002B0XIGPx1zd8D4/sC/N3LAPpon179CMcI9Ki4LP6SvDD9ZqaW/7ri5v29swD9LkPa\u002B\u002BFVHP5SClz9WiaE925UYPg1y1D\u002Bw0EA/SjzsvgzzwT/Njyg/AANWPyMfbj/I/pY\u002BqGKBvxmA6r8HNQJAD3bMvuz81cAVU5g/vPvKvBkChb/0NRHALEhWv5U7or52EKY/FAEtPldUeD9uuSS\u002BjC7BP0kXBD/rcDM/zycWP5qfej9CoTW/o\u002BiKv/FInT7o5g/ACOz4PZMgnD81Fm5AyS/NPdq7ND/P7Y4/hm7avpqJ2j8wszY/BGikPsSskz8g6pW\u002BtUG7P6xwcj18Ph4/j7kOvnBbvD65sMs/Hi0VP/AwAD8bHko/OFWDv8/e0j8w9jFAi/WwP1b2QMDCv\u002Bk\u002BIvBIwIDvir8Pl7C/Rh4awDBjdL1D95\u002B9u\u002B0IwK62qT/GKge/yn4DP5mQA79IL6c/Esqsv/CRJD8CHJy/WHPTv3uKFT7Ohnq/" }, { "CategoryId": 49, "Name": "Fishing Equipment", "NameEmbeddingBase64": "7jSVv5pwkD5vVrg/UrDMv6SUhz/uz2W/yLfbP9LKfz\u002Bdl9a/PUBmvq\u002BS3z7YssO/4AnjO1jGpT8eXt490uVZP8KAFUD824w/UTEPPwBQLz1yY5Y/3UuoPqRHmb4PPxHASUXzPU8EkT\u002B8roq/tlbOvnoLHT4s8h3AutDcvrIcOr\u002Bn6Lm/502OvtuDUr9oCau\u002B0GNIP8VNCcAnmJG/1LnfP\u002Bl\u002BwT/\u002BAak/gCsYwMOJjr5Gbce\u002BUKmpPit4HT\u002BETvS/qbpAQI90oL/KfRnA\u002BrejvwI5KT\u002B6wkK/xSOTPxaaLL9YV04/RuaIPusfGT/lhRW/9cYvQLg7/byxEn7APPSdPyAQDL9\u002BhcA/PREYPvBYrj/8br8/fAKvvy/H8z6QfAK85I63Pg52mz\u002BmcUY/JI7Jvm2zFz3\u002BVIu\u002BJLB7v8Geyz8bFC2/aOEWwHPAlT\u002BmtIO/8sq1vtLBnz/fvI8/XPadv3ybaT8nwWO\u002BpJv4vsF2Az\u002BiDMW9BNMKPmkywL88Apo\u002BKxA0viGLkL92JY2/GQDmQDitaD1y8jY\u002B/ILXPwUnXb8YZsw\u002BIfYBv\u002BkiD8BskMy9rL5hv0tADr/9S0g\u002BmyaYvU5Upr9cRqc\u002BLt4HvkbYCr7Uheq/okSSP3RMcL8Uky\u002B/7KH6v\u002BoS573nXLA/MOaHP65Clj90R0y/XjfSP23HIEASnYQ\u002BWmDLP/Lcgr7YCwbAm6Gvvwsak7\u002B9Wu2\u002BdJKyPqWsnz8ywWe\u002BUO81Pu5wyz88GxLAjuNyvzhY0z7YSCLAJ1cpP7DFTT1Ub8i9GtVkv9Ww/74fQ6\u002B/CcNcv7W8qD\u002BiUOg/q6kivyNFiz/9XA8\u002B0ns6P6Ngez6o6QK/2pGYP\u002BqAv78rDTY\u002BYLASP8fOKr/c0bk\u002BI51AwGQMTr9fuN\u002B\u002Bge9Cv1m2Bz6\u002Byio\u002BWZs3PwFh6L5meuU\u002B\u002BkwFQNBDaz/cNta/Pvd8P0lc1r8gRMk8xViUP1oplD2OMPi/SuHSPgYpYr6AZWe6Xyumv/jpJr9muhS/uzcDQPaCmr4o0Ue/NrzhP7ilgj\u002BXbIQ\u002BDNWevUoJk786N0M\u002BrvvSvrzQIsDhjdY/QBYVv9eAQT8qRpo/Ail7PwLBmj94NCg/ZVXCv4iEj79UeyJAQsh\u002Bv9sj87\u002B/b98\u002BtmyCP3wXTj7MQ1O/KjGePwcAdz\u002BWbs6/C/uFP9J9V7\u002BYIDLAZmrzPgNbwMBkXDk/5c0AP7jJgz60eTw/iMUZvZAhQT7PRQo/cvB7vxAFEkBz1ew\u002BfsbOv36nLD9A16M7ZKrOPgNgG0CcFEs/89blv8U/vL9jj7M/ZzKcv\u002BBmjD8yAqe/TFqDP7Caxz/dYka\u002BmplQQAS5\u002BL6d1z2\u002BFylNP4hwg7\u002BlGms/JOjWvy5Mhb/V8Ry/sDxYP7D3aD864q09ss11PsL3MT\u002BKQQ8/6lIUQIiEg71DYMC/7N9FPxrOPb9374y/aO/7vqxRHb8u2wTA75zkP/ghnL\u002B4mpo/jvtAP3ryUr8G5KG\u002Bnpidv/I1uz\u002BUqfW/SuKLv7V2\u002Bz\u002B/lMU\u002Bwj28vqi8IsC47vk\u002Bs/eXP4ghmT4IUNw\u002BduqGvsPLdb\u002BO5RG/4J7oPDQBnz/6duA/Km08Px\u002BlHb\u002BwAYo/\u002B0YywJV9IUDiOBe/FAGzP4Qi5D3NUpA\u002BZvqBPySVsD/5MJo\u002BITsTv9\u002BOYD9W82y/\u002BDnYP6Pcoj4iZOK\u002Bo6Cev/CfBb5/miVAfqPPP1flw8BIVdY\u002Bha3hPhjsJ7/e4s2\u002BOu46P4CE5rs1yIk/KeEbPtO7AUDWaOu\u002BEaykPwXpCr9cc089XMLuvumF5z/stm8/R30MwNRrfT/aYaS/hFa2P3ShDED0r11ATK4TPwninz98HxO/zWscPyCiCjxfv6O/7zkHPvXEBkArCQs/UM6JP\u002BhpLr9coUw/k5M/QFaqdL/gBYK/axkKPwwS47\u002BOFPi/ugyaPpG24r9Y7q4/NA2jP5Pjq7\u002BaxJO\u002BRxIYwKbdWT1slqM/6eYpv/p13j4hzWW\u002BuWASvrSKUz6Svay/Drn3vkCLdDyAnyU/PgYEvu4F2D9d\u002BjjAFijMv6IWg76GoJ8/" }, { "CategoryId": 5, "Name": "Survival Tools", "NameEmbeddingBase64": "Xv0AwCFqez\u002BM8u0/zJKLPkBsFkB7FSk/OlgcPzI6A73x0uW\u002B4MxcvwjaQj/biMS/mqYQP4TrET\u002Bcx9\u002B8uIaUP1Sitr4NdxBA44A4PlzgYj/csjI/YT1MPok9IT8FZ8y/8tftP7Knhz9fyjW/w49pP7pnVT/A/ELA2tgDPyR3kL\u002BYKD2/6f6aPUqXHL8qMao/apZpP5i1Uz1oaJK/2vgZPxdbeL\u002B2s0hAvYQOv1iJwL0sGiO\u002BxPLvvzHxGD5ubQDA7Cv5P3jbn79AQ6O\u002BnM8QvzCw/b4OpD\u002B9msefP4xWHcAKcRM/cEtzPF5uQz\u002BRdKk/\u002BIW3P9qkUL9xg27AYnW3P\u002BbL9D5iskA/loruv8iqbL6\u002BdZ8//ubhPpe5ML\u002BMFMY9gv8HQOJ76z84rVU/VMnqvjADuT802ei\u002BNlSSP0bbgT\u002BA7fS9RKFMv9QkOb9PYW0\u002B3bSDv41Sm78EUAw/HuiPv6SBmj\u002BOuzU\u002BtjAgvz\u002BQRL9y8dU/npI9P0T0mr/0SvW\u002Biz93Pxe9\u002BD4p1Sg\u002B5nrTQHp8i79cGaU\u002BS60uPlMLmD2saH4/h2Tjvz4ODr/Rkiq/QdpFvzcbPT7sCyS9pCGRvk9Ba7946cq\u002BulZUPxpxyL\u002BPhSy/GESAP\u002BQtCr9kg5M\u002B3rcHvjT2jr7CDihAmnW8v8DYjj8KQoI/QN0UQCVZ7T8Af2E\u002BIfBjPheprz91K2E\u002B2sd8v65zwT5OeuO/0tS0PpTm1L8F1uy\u002BorGxvQN16T6ZonI/4pBiPgg4lT/Y8U7AtgFav6tGML0S7kg//5mJvmT/ib8bnDq/iExJv8Y46j5Pd6Y/8IuVPe4V3z7aybQ9eqeEP1h0E8D6if6/EktKPxCG3j7tEfa/dg9Zv7E1TEBUZri9sYm\u002Bv0REFr5onLc/VaofP9C\u002Bqb1rgydAiFk/vwxbOD4d8Ru/voD8PwqoVL44os\u002B\u002BLVk3vzhJsr\u002BvZIK\u002BKTSsPzdYWL8ESBC97e\u002BZPwDPdr9VK34\u002BtN7RvwD5Yr0qMTE/zY2lP0trcj8YIS\u002B\u002BJBAWQEJATr9tBZo\u002B1xJ/P2Oqmb\u002BrZoy/fVMcv2g0b7/L2Lw/PPlGvR2M3r1sfWu/Uoa\u002BvdBeBT97UXC\u002B1kKhvpmITT7oZy0\u002BFQ5yv7REML4o4ok/mv01vhF33r7IuQ2/FEUCP\u002BQEez9gsvi7NHkyQDUsib4p\u002B4u/GB57v1zay8B\u002BvCy/OfKUvlI4Jj9JBrY/Th2qPnvPCL4EWBM\u002Bsqhzv478YL9wywBAd9Kmv/iUmz63nfQ\u002Bn2iAvyitIT9HJSC/zcsXwKYFhb/kXok/s2QrPmJb7L88lcy\u002B5Dqxv5rhUL\u002BXiQG/RbaEQAAWXT6oMWA\u002BtmfOv6p1Y75JFz1AYP1svHSHiMA8j/w/c2uhP4eZYL5oYuW\u002B8Af8vrZW9z7IHkI9jhxbQDH7YT5M5ArAqJpQvkIeIcBNbE\u002B/isvXP8PhVT4OK2e/BFRAP\u002BRlxb7Q/\u002BI/5tu0vyRC7Lxg9Mi/qzPOvwLtxj4WxxnAtp2FvojJSD\u002BKFoK/gHYRu6SHVr6vQJM/H16UPULfo75MScG\u002BrLK3PfTPTMBvqsi/YPk/P20QsL9JiqU/5\u002ByVPpthUD/1UA2/7hPovw0Dhz55goO/HXi3vlpelj8h19w\u002B18YPP3I7lT8cmnA/F4Wmvpnndj\u002B8Who/fcYMP\u002BU0xD/UJwE\u002BqAHDv5Mmt78KteQ/TVkmP9gtvcDr870/K9rPPYyBt79GVJy/k1v9vg1jPb9qY7o\u002B2\u002ByLP6CBsz\u002BVmgS//KY/P0pQQD/VQGK\u002BsdGOP4A6WD\u002Bal7w\u002BglcHv/Fe4b2y6gfA1E4FvyK6sT56nI1AvfIRPsu2jz9Mz0U/1uZdvqm9rT5iyuQ/b5M3vuL/iz98CvW\u002B/WzcP3LpVL9Fak8/21OFP\u002BU6ar5UCfU/Su4vP\u002BxYzj9eIv0\u002B1O4Tv/TPij\u002BuAwJAeSR0P7OiVsCITV07cU9HwJNsX76QP92/mKIOwEMH2r7AJsS7n4vpv4ZywT/3bLO\u002BIIlbP760IL7C5x0/Zj2Kv0bMRD8IVBo\u002BSnR1vqDvCT4lMKW/" }, { "CategoryId": 50, "Name": "Sleeping Bags", "NameEmbeddingBase64": "rNhlv1GO/D7PKwu/1GWsPgLKoD93F84/2nAGQN0OJr9udRc/3ZqRPooEoL9cT4o9JKKLvwNxG0Dpbtc/bjvavu5kbT9hMTi/H6M/wBZfkr7egAJASjeTvuhInT9W04Y\u002B3zaWvl5BoL58sEU/oCQ/vMzrGL/et0fA1AqEvwMEYz78EwG/j5PCvl0PwD8vyzo/scv2P9r\u002BNT7sneG\u002Bwu0OP\u002BzTsT90oEo/dPwNP2r\u002B1L5UmnE9dHrXvuDnZb7g6te/AEf4PvVmtb7ZmQhA4sedvnucRb/CbUS\u002B/wfQv8G34r4RMBy/ZmX2Ps4spz\u002BL59M/JkSEPoshDEBO\u002BjHATuCTP6Hl6D763wo/TqH4vwk7oz62UK8/ylKdPwzy9r4cOze\u002BlAvdPt6hED8TcqM/8JqBP3xMDED6pd2\u002BZZ12PuKBVr\u002Bh\u002Bqy/D8srvwXhqb2afwS/Pq1jv2HQdD80btu/WNvsvp6\u002Bhr7HBGO/PITrPS4uG75m1UO/jl2WP\u002BPNNcB8mzC/yljOv3MWvT8VAa2/eLHFQOUjzD/ANfk/1s/APzDAjbz6Laq/Fmo6wFK4XT66cIu/Nd2bvmkvCD\u002BQJzy8FUO7PhsnMEBwcWC\u002BZkH0P3JBiD8SbM4/vFMUQLR0vD4byeI/ohAVwNBByb/NKgVAcwvFPTb8tz7QF9A\u002BgGaJvQlmDkCj\u002BMw/TPZmPxz8c78eIxBAWxtKPwSsxD5RorS80jcSP0Rcjb8BYAM/REotvyt1EsBsAOg\u002BDaijv\u002BA3\u002BD\u002BsTD/Ar0mWv3/U4L5bfZS\u002Byxy4PsG4B8C4oGq9TzjjP8wK4r4OsCQ/V4oRwIRWAz\u002BD8p8/k\u002B3uP\u002BjbSD1Hl5s/CkClviapaT5quoo/ltuQP5ednj9/Lr2/f1yfvqsrPL\u002Brl1\u002B/MIiTv0RqAcAutYA/OnCAPxhIXD6zWLy/2bgGQLgXEj8AaR86r3E\u002Bv195P78w3As\u002Bxmp2vii\u002BE8BM9uq/XbievyLyGz63owi/xGdavyT3WD/odQE/78pNv9wt3L\u002Bq\u002BlC/AnNzP/Uyhj5dw6G/qERlv7LdmL\u002BgJay9wT4rP\u002BsUlL8eRSBAykF4P23UnT6s\u002BZK/7Nf6P2exJEAaSLK/xOBhv/7GFUB7L\u002BK\u002BqDDXP1hKmj7S/RA/gSaZv8ryAsDpELQ/fklAv52RuD6jIFK/PP9xPWSqJT9ONk3Ag1Fxv8bywsCuAbA/f/1oPmmok7/VLx8/sxx7v2QMIb/U1vI9SjIPwMy9Ob/Datc/OROyv2Khyr\u002B6z8g/N1KJP6kkMEDYTSy/UYq/vpz4mz5aVKO/gqqKv\u002BZdr786cVc/JNmFPtAu1zwA4Jq/PihPQCA8775GCLY/S9mMP1qyKT8IUm4/3HhfPz42BsAS2eA/9OULv1d\u002B8D6kHd4/zHxBP77jcb5opju/dd5dQH1L7r49fju/CHiNv\u002BfR\u002BL9Ly5S/VXzavxYQsL6AWHu\u002BqmQcP94DXj\u002BHM5Y/eHrfv45mcT9egN\u002B/a3t5P0HNhr8DWQO/RjagPghxcr8UPmO/joYKvXOLK7\u002Bw6F\u002B/dSgBvzlFoj5yD0K/WqdYvhlRC7/TIYu/g2o\u002BP7jk3b\u002B2xx2/9rbLP2dqlj\u002BoYDM/qGMCP\u002BjNiT4DxYS/CKx2PZnyyT4WZjm/uqnHvd8D4T37OtI/RSJ6v\u002B0v8D9Y/UC/7Cl0P3LyjT99OSc/nVdOvoyukb\u002BfoRlAR1TtvcwRpcBgHse\u002B5NE1wHRLz788BKA7y4/nPd0RGj8NajBAUJCKO7ATDD9pXBA\u002BgBBTQKt4577sKyY/E9oEP3r5kT5YOFA/sDHQvyQU2D8\u002BJc2/\u002BJ\u002BGv9nmoT2RtHxAdZA5v7aImz\u002BKIe0/ovyWvrRdG7/Y6aA\u002Brv\u002BCP6qULEAQGze\u002Bk3zHP7hqar\u002Bx\u002B1e/oCyNvrRtRsBrRvY\u002BRCPAPbFU7b7diu4\u002BQAGHP7WZPr69vsK\u002BAOppPiOkrD5kDgo\u002BdrK0v3trUj8i6hXAPN1yPU9a3b/EE9K/DKjAP1ICQj/WQfI\u002BYiK3vX0GgD\u002BBtWg\u002BwvxQv\u002BV8Nr82VHPAlY3fv\u002BY3CL/Oocu\u002B" }, { "CategoryId": 51, "Name": "Trekking Poles", "NameEmbeddingBase64": "IfkFvmXtyz8yc\u002B8/zBpzv8GOx77fNay/nChQPnKLXj/LfALA9KsKvSvTGkDcgwfA1AdnP0R9pz9c\u002BE8/DKItv5Vluj8wOGNAy41VP7RbPz8Vypk/oMI9wMq8or\u002Bz5uO/o8DFP3WGH0Ak9EO/C38IwFRZcj49m3bAfrOJPxjg7r8pgmq/AkWxv/BqS78Vkos\u002BrNamv5Cjzb\u002B\u002Bds6/dkkVQGHR8D95Fug/ekWSv2XKFj97upa/bLQ7wOS53T55dZ6/IIMDv1IwHT4U2D49mg0wwBQeZT\u002BMLeG\u002BL8SPP/210j\u002ByMSs/ABGYviQGYr4vwsM/V3WePr7Hd78cub3A7JvYPzgLnj9qHAg/1uWrv9adCT\u002B89KC\u002BrLS5P7cYZz6tSwlAVLJBPgXI1D\u002BY\u002ByA/guSKvy\u002BDQ79aXgq9fhjfvwKxYr/Y7SW/9b39v1yFZryd8mI/nrqmP4R\u002B/z4hlUy/nBJ6v\u002BQYaj84is8/L1gbv7Z9ED10ET\u002B\u002BxCZFP\u002BWKhsDSCa\u002B\u002BAWaSPwvlrr4gGqY/iIDiQI6GGcDxIBVAU3KIQIK2E0CesiE/U\u002B2xvziSDbxig0m/R4DovjgqMj0gFwk85ruTvzmEIcCkoag\u002BdMf9vnEcHb4tEUG\u002B1k9rQN2izr/Qr0I/CkkMwApam77Wbf4/bXofvu0StT04sd0\u002BhlzFP7urJkD60/M/3OuFP6mWOUCqBuM\u002BfjVzv2y1xT1c3Qo\u002BNE4gv36hCUBMprS/3Sw\u002BP0sPqD/KKzI\u002BJ4zXPvlh5j/Ks2nAkyqCP0B0Lb7wud\u002B/ss9EvaNyEb9E5RM/FkFIv1xN0D76aNI/FTa9v3PFJj7Drmw/6DSUP1HG1T\u002B2G4G/ZEpEP6pMuL/KvMQ\u002BoFL8PFRBhkCazhNA3K6owPN1rD7CS5s/dLHAP7SGBcDESjW\u002Bz1M1QCILBEBqTwE/dO5sP9Bdyb/k1nTARBfMP0llor/ZSk4/gXQlQBg0nz0ciIc/dbufP\u002BMQmL4\u002Baje/YhoIwJn/wj9Ka8q9Lm1YP0CBFD0xjLu/xK1JQFw5P7\u002BHXs0/S2gXP9zf4b/0X6e/LRhmv7CO3L\u002B8kwlAYhXXv/EPSL9AwCQ/VH2RPcDEaD0UCzc\u002BUuHBv8CzGDycfUNA4cMAP5Ut1b9oYh9A6K9HPyWyyr7mey\u002B/PPqcvgxakj\u002B2CHK/sm/1Plb\u002Bu74M/Dy\u002BNjsqwD5O2sBxRGS/2OpGP/Db7j/8qJU\u002B56vuvlDIIECTSAy/FmgUvor9LcCpLD5Aw8IDwOAXRz9Y0VC/ouLTPZVjmj9SH4Q\u002BPfqCvxj9sj9uPce/zqq\u002BvnBrzj\u002BMwb\u002B/59Xuv69Qqb5UKg/ADGiPQHL\u002BBUCcyEM/HmExwHJ92D4mdqk\u002Bk7UtQCRnOcDI3n4\u002B5maIPyhymj8Id1q/aMJXPgKuWD02ao\u002B\u002BAhWtPy1Mgj5iqn6\u002B1KQRvoRXv70bRwXA2ohYP3IYIUDVwyvAEnBrvoF5bD8Kb4U/rlSNv0NYwb7yo2i/dqsZwGV5GMDW77O/rESUvWiyab/KXxbAW\u002BPXPlZ9Ar8C4TdACnVMP6CcHz8x4hc9ur4aQK/Har96ky0/QHszP7K09z1MfDi/eFQVPsjkc78umFk/MEbgPxTwHkAa/Ay/hmAHQMy4NT\u002BqSe\u002B\u002Bs9gavidXrz/rq52/xdO\u002Bv1mqnj5ver\u002B/yYYmvyr/Jr/q2d4\u002BlmYtvz1Z2D5O12pAij62Pq43AsFu/Co/N47VP2j5Q79i2Du/4rP8PkH0pT6mxzNAgPGgvujHKz2AF7K8kLShP0Y1pT8KHkK/W9iCP/RD3D8G0jNAgFM\u002BPb482D7HTbq/oJ7nPyLvxD99yndAV1oDPm0vTT9q2qU/Ke2Ov7XCzT4x/pm/lkR1vqAlGL\u002BqOsw9OMS3vx5Unj/K8Ba/zJvWPsUR8j9\u002BZBS/HfSDvg2xCb0GuJu/6daUv9TTLj5mPaQ\u002BZ7ogQPYRFcAd5Pu/whb8v9zusj/fSIy/02SUv8zRer8IkeW/uELvvuXc5r8gcRpA7ZYIv8i7mr\u002BSnmA9tG8fwBRPCL8FWGvAmveAv/dBKsDSXtC/" }, { "CategoryId": 52, "Name": "Backpacks", "NameEmbeddingBase64": "hKlrvxRHYb5OqXI/qGP5vnYznT8Ul7o8/nHKP95CRT\u002BPqrK/Dhm3vvlht76A4OG/1l1av3123T8BYeQ/5D5OvthnFkBqxuw\u002BTgt1v2galD/f4mQ/pOVjv7fNQr/KpVO/z\u002Bjcv4O3oL7XfY4/bEVuv6BLsL\u002BIBlrA1VaQPQZflL9LO1y/Fz5xv01mur74B/I/d4XQP2gWLj8865m\u002Bw9MaPswZpb2kQ9E/xKIgvw\u002BN0r7GfWo/NL6pv\u002BYJS78vz6O/ACSlP2FMk7/g6Kq7D6PMvttxBz83IlK/1DqOvwrR2z882TQ/xuB8P2Yc\u002Bj7wYZK9rO6NP6tNm75mr3vASsD4P1p5ej9TgE0/ETd/v1W4DEABCRJAnJW1PvEz377Tz5g\u002BZp6XPyJCIUAzTjc/qlJAP7gLlz9c1bc\u002BrEU0verdob\u002BbpFS/TbEpvSKBxz/GvWk/PPUsP\u002BNQHz4xPM2\u002BZfD2v6AHsz4hgEm/PECZvSg5u7\u002BCroM/p8iWP1rzZMAIl6y/\u002BiSOvminPD7\u002BQrA/8GbjQIAElL/4TQtAGuBeQNTAlL08bwm\u002Br1dBwEOrjT8CxYe/awJxv1b5pD\u002Bz0Fg/wmCTv3TpID8Ufrm\u002B9UCuvvRumr75Sqi\u002BgvdBPzXbf78AFvs/oiUmwOPS6b3wiBNAHHNuv1R2Zr6M\u002B1U\u002BvqSPP9zs1z9oEfa\u002BkOrvPzRjrr44YxtAZmvavqbKq7\u002BkrI29xVvoPpGnRL\u002BdHDm/CAlOPBnPhj92HYO\u002BXiLePxOBhz9uMVfAnuUcv0gyMD7w4tg9St9Dv1Qmlb8AJUc7gdGmP\u002B\u002BGjz7dhFw/iDZgv1pnsL46S7s//PUHPzoJi76AVCM/iQlmP3Aln78j1Ya/ZmM/vvBiQL417ck\u002Bw/UPwKwRED6u\u002BXK/fT73PgqM2b0hRBo\u002BoPjdve7CKz9nsAZAIP3/P\u002BoOFL9yuv\u002B/2HqMu8yX9r80Ce6\u002BLI6lP8GMlb/vn1y/HShDvigBRT/8YXO\u002B\u002B\u002B\u002Buv5\u002BH1b/cAvc/4NpaQA8RlD889iu/7CLdP7FA2b9Oma6\u002BOAVbP5wyrr9ekdS\u002BTWmMPewrW7/mPB5AJVrGvoQwOr8AKxC77wQGQCSasz\u002Bkn\u002Bk\u002BrB\u002BEv\u002BJHrb5Ahny/4HMxP7GOdj1eA6w9Hq6/vziYKr80T4C/JSC1P/ZZnz\u002BNxw/AYDd/vSVdRL/wYEzAXZNbv7tVyMD6KVs/UljvP5VyNz/i7F2\u002BISmOPlREsT9MbwM/cHZdvunJmz8qMRBALILRv2667D6sLAxAnFQXvfLp1D8Tac8\u002BlIgQvwyrN7\u002BsA62\u002B4urqvUqj7T/6F26/rPsMv6YCjr\u002BAx7W9efGJQPShmz\u002BV/Q0/FJ/ZvuuhVz84CQ8/7SFEPzetSMBEJOo/5N7QPvyD374KVRrAhdpSP5yoMr9WV1G/J28iQNvHA74muca/cSuPv3RvqD36g/W/Ri/Zv534C78yJ5y\u002BfdOwv2OshT4QhNM/kBDJvzbMaj7i456/4rB8vREVMr\u002BTGqi//KAuP/Zqmr/0/pi/JuCRvyuU8r7O/h8\u002BwJa1OpyPQr9ZpSq/AkKlPhe2\u002BT1IDtu\u002BVq6tP0iLOL8yzKy\u002BUo3gP17vKr\u002BW5a8/3u2ePyz8qD\u002BAlEy/oOI\u002Bvhy1oj4aTZi/npmOv4xGUD/n6YM/iK0xv7wV775kg749J\u002BVLvtQDoz7bCiA/F01pv6xPpb7cFmhAQWq1vkylysBgBpS\u002BaGNCvQrdZL/hrB2/OMylPXi6YD9sK6M/fhN6P0ljiD\u002BWebw/vekVQPAMYT9j5yC/MGdYP4ry4z4WKQFAPOe2vZZQ1z\u002BOm4C/fIOVv8jnKT3vUGZA9tQYveGeWj\u002BuoxZAhFItvhP\u002Bpb4V7wG//JTEPTf1sj9e\u002BQi/Bv0cQFCIe79KoTy/LinMPx94E8AOjr8\u002BBJGJPS3Oj751Mf09cDWJvz17Q8BkBtO9i5oZP8IemL84wE0\u002BhDfIv02UUz94XPK\u002B6h7aPmkfzz7sdum/GCRpPfnejz/IR3Y\u002BRg6Iv6DZNr\u002BEEWW/ZBsFv1jbrb6gg8m/Q/6iv9qkYr8mmE2\u002B" }, { "CategoryId": 53, "Name": "Camping Cookware", "NameEmbeddingBase64": "GK1Fv24ZKUBmRgNARLCSv\u002BhJHEDorug/XAStPmcLfL5oJQXAaCP2v0Fqxr/xT0DAEd5Hv9DoEkD5GgVAPMCBv6VEID10LT4/G0QOP0ah9j\u002BvIzFA57dvv4aZGb/0sJ\u002B/qvgMP3rb/b5H0p6/PEofP\u002BHjxr\u002BYDJnApiPMPxLTmb/DrCvAvcy7vn1AOr\u002BOlA8/6SfhPzsJVb8ryje/ojqEP/7KVj8Q0Nc\u002BYNOqvg6Tnr5upsy\u002BYH3ZvsLRF79c\u002BArAa1lSQMgPgr5An6O\u002BoUQ0vwxPtj5wMgfAJjFzPi0xqD/mTpG/XaiNPQkj\u002Br5YBpQ/S8ulP6qJtT9cFK/Ai9CfP\u002B4i5b3Y/Z8\u002BsvrlvxK9rT9KMwE/k/ExP4roqr\u002BiGZU\u002BzJW4PtpnVz/pHM4\u002B4VADPlB8Bj6kfaK\u002B\u002B8EQwPrR6T8E0ti/kU5bP2N2OT\u002B/fJo9L\u002BJGvj5dW74Asfq9\u002BYKzv519zj8fDGs/HDa0vijT/b/64xPAZNJBvqzlU8CPfZc9MRCSP4vYe78KPxnA424FQX2JyL\u002BGuNg\u002B5WYFP6hN2r6ziI\u002B/0flDwGmruz5o\u002BQg/MgHuv\u002B6ULL9Xfdm\u002BoD2DP8B4NcDqZdQ/fiAZPoDaBcBIUsE/X2iMP9WiLb9fATRAGCMjwHbW0b5oQBVAqu/wv0qLDEBvsWa/MQ\u002BEP1Y9UECcnr2/eWi6PzK72T79bia/n4GIPzWECsC\u002BTta\u002BB6P1Pl6rSD8YnAg9Z2CoP1SY1L8FT\u002B8\u002Bg4Qwv57YSkATuH/APtEgQCTgi766PU2\u002B1JUOPx763b\u002B4f2O9qnXmPrIJ0j9QheI/CCRNwMK/1T\u002BpUSBAQsaYv6v7xL\u002BqAJO/KCRqPyS\u002Byz0KGEY/b7yyP6\u002BtiT5Qya0\u002BbBeAwPA1lj\u002BG5t8/t1o\u002BP4d3Fr/MR/8\u002BUkb/PjMCar7IaMi/CRHNPzvrY78HSvS/uuq3vyJqMMCcdCE/FgShPymB471y\u002Bgo/txifP7TxJD/bAeK/wXMfvq471r9NF7y\u002BLtmHPxOFqb/cthHAi4eVP9Q1GT\u002B\u002BtmS/rhgAPzMQfb\u002BF5Qu/vJgzQBRnZcD1dwZAws3Mv4HSaT6tJhk/orw9QN5qqj\u002BI7g09PEoLwJbzCj7GDTFA6konPwQNGL\u002BqgxG/AtNMvzrqZb\u002Bk7ANARdWyPzH81z8zgVW/AjdCvmc4CkBi3IvAwB83wPQMy8Ba6xG/h/mFP9kmk76unaq/YOGvu8hg/71zDARAEG\u002B2v780oT5NojlAJGkqwKE33D93uvE/3BEQPbRYxD/Qde4/hHHDv\u002BH9DT8TWHQ/wTyTv8Tz4r79U3dAUK3KvbAVG77mRK2\u002BfvuFQEKhqz\u002BTp5dAO0UVwB2zeL7TiYI/BjEPP/ymwb\u002BqBs4/NCxJP0LGDj/i7P0/HZ63PhWZ07/jl3U/EVyTQGRjOr6qLTPAvhgbP9KA97\u002B00Du/nxVcwIW2g7/Chmc/OtHyP2snFj80qh4/Nt2FvzQvEEDdgvC/6Cbov\u002BUxtD4\u002B7BbA4AXxP2qEhT1XHHe/L41SvxhShb8r1Iw//uyYP5rxeT5luys/UDKoP5fE6b\u002BJ0VK/H5jUP0zUrr4pE58\u002B2AbtP\u002BYrAb\u002BqVgU\u002BDjbZPYDEMz/sDM6/jUeXP0KQiT82Nqo/FOKAvjIuCkCs/fA/C0JWwLDvTUCS2He\u002BT5k/v6yyLD9XEQc/nEUnwDmrmr/nAldA8slaPVim2MA0pac/R\u002BAovgETDz\u002Bilyk/6kSzPclixL1iVjhAQjS1PgiagT/27h8/e6vzP1zJcj9Yb0I/cDQPPleSGz\u002BrN02\u002BSJ5FwNlyHj/BtHPAKVutvt6VST8lOItAMxXkPdRBo7/DSgw/2/mhP29/ZT\u002BPZe0/EhMNPox1Xj8VBYa/wGQgQLxGXT90ekpAFg3KP9KTsj/yriHAWAmYPw\u002B8j7\u002B2cQbAosKMv35nKr/Bl5A/aKWNvwwBU78TeOs/4lFpwAAASLe0zTC/QtgVv9iAmb38nr2/ZslQP9q7xT\u002BvESa/FChpvwTHtL5UCaa/XpoSQG2qTT8flhLAZ\u002BeivfHv7L\u002BatUy/" }, { "CategoryId": 54, "Name": "Outdoor Lighting", "NameEmbeddingBase64": "R4hcPq7por7sHrE/8KKXPCTmC0BKGSE/shEBvwMBlL9w\u002Bjm/UzzDP2lY0z1o1989tcSTv7SduD\u002BWwgQ\u002BDEFcvzry/j\u002Bzcb0/IrSMv4TWs72uEsw/IWBOvmOCYb8rcsS/qHuOPpgLYD4Tu1K/IHUdPTIp5b1bwA/A6h2Kv8iuGr4s\u002Bua8WYzLPkAokb\u002BNmIK/OxIev4kTkr9aiBTA9sSWvaiQJT/AN4m/YCMQvhxMHL8x36m/0mDBvx4t3z3Qb/e/sPv8PlwYzr7\u002BuPE/uBomv5RXSb9gNaE8MPXuPoLOzT9k3JI\u002BiF4VQAUqjT/3M3e/tZjNPq\u002BtNkAY/ZPADIYmP2wJXT6LiSI/cW6vvgIFCT\u002BeaIc\u002BfLhRv3GHYz2ZcI6\u002BN6vFPiT4or89iAa/2jhbv05u/L/WOIu/XmffvyEPkr/rooA/Xmdlv4O0tL\u002BTV20/ICMKP6eA3T86WzK/2NZRvyETbj8CakJApO3jvoAQlr8rQ8S/bOGGv6x/FL\u002B6GqK/QFE1P4SG9b\u002BYwWY\u002BKFvLQGOKzr9jpTg/7RGYPxQrpD1uTZw\u002BKte6vjYz6r4dcb\u002B\u002BClbcv6WOEj/Ciqc/NjspvxRYvr/KGb0\u002BHOduPtxvab5BCvK\u002BAKeTP/kD2b/l/QS/nk13vyc4/j9MjxFAf6vnPphI4j9W5rO\u002BfLW1P6zVHUDjcaM/CKD\u002BP9t0nz5S2ii/7xGuP0AnKL/ZSTQ/N80\u002BPznqmD9H7Uc9LNhlP\u002BDzSj/RkIM/zB0Pv5/LHkCJ47K/upgXQPk2377x\u002B5C98CrNP2uDrr/6j1K//ChyPSAXxT5CI\u002Bs/2hnTPSpy9z92BpU/z7iQvt5jrj\u002BeyyI/PgWOP\u002Bk5dz8WQAFAYwn2PlWthz/MlIe/BMyJwDKAkj5M0Y2/5E/gvh4QLr\u002BDP4G\u002BxaOIP9DeFUC66LY/ZSXqP0rFjD6k4da/\u002BjwCvfb4678TvwA/tpK2PqLYlb4WGjA/YijFP7PIgL6ESHo9mOuyv9xeZz9CnN\u002B/0PFKQO/GBMACLgDApjXlvujSZD/y9Yi\u002BUu2tP9kHCcCx\u002BhbA8MYIQNJK7b5Mmi9AVPvfv7V6E7/EFDC/rGANQGvQa7\u002BpR9I/bhelPlheHr50EkE/Dh8Rvw9M975YIt0//M9Vv0dZgr9QbxU/m60Gv5Ajm7sobfI\u002BmZHFvfiOUr8glCLAgnoXwFe/lcBwS\u002By8e3rAP/QbAb/nIVM/cIvhv74ZFL\u002BQ5lm/\u002Bqhfv1B0Bz8zmlFAirbUv7f2uT8bjxi/Dsk5P4CSGkC\u002BVdY\u002BT\u002Batv\u002BuvQz7Cr5u\u002BR2chP42Nmz/DLO8\u002B/D3Ov2KvXD/wwVS/DQuDQAcbzz4iTAY/5A3yv946hr4Bo5S/BLQiPx59IMAMR8Q\u002BDNumPxYx5z5ygKM\u002BJhq\u002Bv7joIb9YDxBAKhEpQCo2rL/E79O\u002B3oDavginBsBtr6I/olQYvl5JUj8JHT3A\u002BkfxPl2S5L6EtRJAvinevgFmkT9WNKy/nmv2vwFYoz9KPO0\u002BnErWv8JeIj82qqq\u002BnpOdP6F\u002BEsDpkhhAqkr0Pp2dsr\u002BKhcO/5c7FPzoNzz3hN1\u002B/CcRLP5izlr/Y10w\u002BifKtP/jZqj7LjPc/RH1FP\u002BwUkD\u002Bup5\u002B/3scXP9C9yL80T4G8nQNMPyfUE7/BdzW/f\u002B05wL5RXr\u002BN2gS/gAzqupaULr9vsMG\u002BjUkmv\u002BqT9b8mYvA/TpuDPiDDv8C99FG/xNNsPv5Obr/kamW/ppukP4pHfD/5skJAVN/jvFwQUL315gPAYsjgPToqCr/pH0U/sqqGP4RQvD6qjrA\u002BZzT6vqgkNb66Naw\u002BLRWPP8hdkD/UYTtAhCXivxZxK7466fk/gAoIvA5tTr/pvje/Qz59PuBjtD\u002BFkc0/wlXxP2Dm475BBe8/8NVAv1jZQz\u002BWeCC/tBAfv062qr76XKO\u002BjWylP14Gfb\u002BjP1I/CwqxvooQhr9kEa\u002B8tGrHProqDL99bRI/bgYMvppzW78uYqS/VjURPjFE4b/\u002BWDA/zuL8vyTYpj7KQ6y9fhD7vgIdCz\u002B\u002B\u002BT7AtyiBPVoyqb9jFT5A" }, { "CategoryId": 55, "Name": "Hammocks", "NameEmbeddingBase64": "51zPvhuJ6z96xC8/93jrvwp/lL72Q0hAT0idP0DMzD4Bg5y/LusgPkpa2D6ygfK/b5hpv8hTbj327dY/pKYVPqrcdz\u002BOIW0/axk2vnbjGkCg2tA/NPERvZSM5z73fsW/Ahd0v/8vTj/Af\u002Be/C\u002BtVP\u002Bkfor/0fl7AJ9/9PrtZC8Ccu9o9QKTlv1TkYr9DkxBAu1Q1P7WDRb7AsI6/5susPz6SST8PcSW/WCQkv3iDuL1I5Ws\u002BHKi7v0AO6T5mzv\u002B/nokvP/6PIb7xYf8\u002BXJMowMOREr8U2RW/NMmVPxJjxj7iW0e/toJ6P2qPUz9JKTw\u002BZJmBP8OKAED6SZ3AOHTuPxdhOUA8LqQ/ydqzvQ7h6b3454u9cpDRP9ynET5c0lQ/XIwtQCro8z/4nuq9cJ\u002B2PIZBxj6QIqW/b8swwKpOr7/Cj2a/36Yxv5h1kT08hhc/QAihPLUes7/Pbqw\u002BgkAjv24aJr7vf4o/fTiqv27poz/JSzi\u002BTOslP1Tym8DPeGE/MdHqP1O5Fz\u002B0J4S/m6nkQFph/7/WFQNANjlGQGjom79soFM\u002BaMybvqMgEb\u002BaAmW/pJhxPfys3T/eflQ/jgVWP8oaIkDgjJc/bhtavyTL1j7F3gC/uRAAQHPnqT/Ztu\u002B/4g6\u002Bv8oSGz\u002BA9Zo/8iqivuzHTb6uifI/pqlhPzooXkBMptA95qsOP7RnoD\u002Bq6ek/ZU0Kv3hY670E04E/AXA3v70gQr7aWKs/6q4mPhcSOL9JlaK/wAH3vsh1FkACzBfA48eqPs8ozL\u002B02be/LIlavl/K\u002B78NFFO/QX30PlF9hj9sqDw/IAwMv4gro7775Aw/kGJhPwRwFkBh1QDA0OgkPy7uD7/m7t\u002B\u002BuNgzv0qDmz2IuRO/aYU6wPqRg74qaIi/DdTUPswZGj8QIzg/0p2HP7PAG78E6OG\u002BYIBDQJC8Lb62HEnAC\u002BNdP/iR1r8ydbM/SHYPP2X6IsBMHg\u002B/RwmGP84QEkB01uG/prjjvs5lfr9qZpg/cDvHPyBflb2qpMq/qHrGP7dHI8Asrh8/YqW4PrIGR7\u002Bynr4/gnykP3Jscr9OmaA/JhuZv8x1DL9M2zG\u002BD8W\u002BPlpLQL/Ay9m/CE9hv0gBYkBQX4y/Bj8PvYEVC76EsCw\u002BbdwFPtCjlz529nA/\u002BnhcPx6tfT5UDmnAV3KDvsij4D4BskXAHuYjwLK6xcBMmAs\u002B1H\u002B8vqM0v77T\u002BsS\u002BBA\u002BZv1hfvD\u002B4mYU/Su3yvkz0eb8pb0hA3cDXvxWu\u002BL8Ie8e9NiqoP9LVHUAR0RJA8umgv\u002Bc4xL\u002BAVv\u002B7kgD9vtjSl738XB3ABaeSv7pPZD5AwNC/lUY2QHKRnz85OgRA1G9fP4x4zD/Yz5A/BhrePiDBH8BcF\u002BW\u002BcjpoP4r05T9hi\u002BY/fFZnv4QHSj9ESY2/7C88QN7J0D4MHGrATAeoPuJVzT9wXlC/QtoUvwL5ob8pCErA3FYzPk85nT8GwIq/KpYiwE0/Oz/Uz2K/zyaDv4NpXcCQyvq/4/kNPpBzLr9JtuC/nh9lP6Ld67/Rbw5AeojZPt7Hkj/SoDK\u002BFhbrP2gF4TxW3nO/VjIqvzPHiz9twuU/joznPhanzb\u002BIHHW9uKamP1HRhr/GF5K/9zuaP/dHFL0N30c/IQ4GPx32PT9qerC9nGDFPz1fS0CsjjM\u002ByrJhPghD5T7dEgy/Nq/\u002BvrC6xj92kTRA5H\u002BuP1at6sDK/4i\u002BQRo2P6QknT5I3ca/krcLP4B/s7xxkCVASsBKP6DfrDx7OV8\u002B89uxP2yiYr2k3q6/DTbqP5Ezxz9S6j4/uvEav2JCSj\u002B8ly3AIVDyvdB9xD3Qh6xAuMDBvz5iRT8pVfc/DgmvvzyVQL5PWArAvY8xvyHVuD9cgOS/gJceQOZK5L5kmqm/d7ODPqKuAL9WD5m/\u002BGeQP9wRxT2IlQG/GjOlPyxPqb/QMMw/pJ1JQEYuWsBCIoQ/pr2sv0hr2z/BMW6/u10tP0sasr8kRUe/n\u002B7mviV0873QPNq\u002BAGzyOkm2ab\u002BWaes96h9Av730Rj8oYby/5UREv4VnB8CNhKK/" }, { "CategoryId": 56, "Name": "Insect Protection", "NameEmbeddingBase64": "fEspv5ZNh7727Qw/G\u002BEJv\u002Bzqlj/q1xM/0hibP0usIUBmuC2/MH9uv1mdgz6SDCu\u002Ba/\u002B4vjk9Nz\u002BoBvw\u002B36jKP8SiYT5yQMw\u002BN62Sv26JAkCsHm0/53qevvNXzT7Eqek\u002BduoXP6gmyj/QUCS/bItFP7Nirj9\u002B2QvAsoNFv3QCpr501MS/68DMvrJn8D4Mxn0/saOQvyJ7qL\u002BnRwu\u002BDKFQvwBXcz/cqZs/t3sMv3Bht7\u002BmxaW\u002B848\u002Bv4qFxz4R1bi/HJ8pvzfZBMAlmKk/UGBvvvysTT8j3Bs/hhIyvl7w3b8fjTU/A3zDPsqfKj\u002BNjoI\u002ByHegvIpC0r5hrBPA1lEZQC/uZr4CwoU/TKd2v8Ustz8OOzg/2Bd\u002BP4j7sj4Gup0/jB2EP7ZTbz\u002BSniA/RL3UP94xV7\u002BB8ybAHHFyPgkRD706OWu\u002Bbb8LwIDSur4gyg\u002B/bKg7P4bPj79PTbI/5JJEv7oyKD/8Zs8\u002BZnLzvdrzVr8kW76/g4INv5sBZb\u002BoXW0//ElIvj7y9r/guuC/BojdQGpVfr\u002B8HGi\u002BaEwIP762pb8UHGW/nu32v5XzRT6Uk7C/wfMpvxK0rT99SLM/QcQuP9Ypjj90d\u002B0/RdGSvzobLz4YEpc/7YWKvj9GHD\u002B2qeW/cn0YP7q1Ar8wZwJAnDXmPmrVAEBeHG4/G2mVPzlPTkC7rEY\u002B3mx6PyP4yz/OF82/S5K9PyjXJL9wwRg\u002Bc9GBP9g8Dj8\u002Bbrc/PPM2vxy3lD3BUIq/6\u002BS/vwi0hD\u002BxM0XAF9HRvzHlCr9\u002BELC9GqjQvnThAL58Ln\u002B/RCARPxFxHz\u002BHqLI/ZDW5vkG6xL53xP49aCYtPYUHtD/ioOq\u002Bjps/P8OKKz5WZNw/hyXUvjGIb0BGVsQ\u002BSK4GwAHbAz\u002BQ4Jq9f\u002BMnvsuyJb5AxVQ/DZKQPnBPFr6ViiI/AO80PwsOQ78fmJq\u002BlD29PI6o0T1YlNc8QsbnP5BEVr8xP1i/CbOkP8Yixz\u002BFcZS\u002BSGVWwL77Db4CsKC9gDNgv3dSDcB\u002BZrw\u002BA\u002BKeP4blGL4XQ7G\u002BtIUWvvoSPL\u002BjXey/2p\u002BIv3MHYL8awPY/3qtyPqZLRz6fve8/AHONOhQDqj/ew6Q/CDCbv1jlLD/cJZY\u002BmmxlPt\u002BErL8Bm5s/A63cvqDuTL\u002B4zuc/VgImvuzBBj\u002B4GBVAVBg8vDAoq77QCzQ7pEimPptknsABSNS/\u002BFOMv35Wsr5tpPm\u002BPXgQv9g1\u002BbxQXhHAYg2EvUVHz7\u002B1g/o/3sqlPh6fk78mNZw\u002BiyrUvp28yT\u002B7XvM/AFjwOE//y70L3Cs/5\u002BUkvmQ5hr8HmgxA6TTTvmJ7/72SVifAXRh2QAAbLEBekK4\u002BqJ0Fv4wJJb/Rf\u002By\u002Bo2W4v7vk078Oho4/ONmfvpeW07\u002BwZAe\u002B1yGev5\u002BW/r9cZRI/WhydP61SAz8vEQHA1umTPtAmO8CIS7q8qkFLPjic5T7KPuu/tAfNPjzMFkBLznc/UDthP7Df4jzEMzi/mGPFvXjhtj\u002BQSja/Fn9\u002BP/O2tz7TxiI/N0GiP6Z5\u002Bb\u002BD9LI//Xo4v1JuYz9g366/MGgpPwTZJr/4Co4\u002BVKnFP9AAw7\u002BABJ2/HNW3PmvleL8bWOA/kuhAP3QFWb8klY88k4c7P0SpXL\u002BQcQK9ySPOPhK8J79nv7Q\u002BMScSv7SvIr9Q3qE/WtGAvwCCNj/HkOW/unecvbWv8L1YeZA\u002B5\u002BKhP6QRsMCVZl4/kEHjPEESI74pxBfA1sktPwlgkz/8DTS\u002BCmt0PnTgHj7RKQnAf/GqP7CiwT548Qw//hbgP6H7jT\u002Bc\u002B9G98TaYvwaHor/mnBbAeoYwv6rhpL/bn5lAGjgtP7lsnb61\u002BlK\u002B3innvo7BgT94oUjAeU9Rvyb0CEBHle\u002B/NVJNQJlamb\u002BiaXW/D6jgP4OSdL8MEta/CbYFP\u002B0S7z6\u002BPWy/PFXWvnKuBUCDsq4/k6\u002B9PWRn5T32LM6/nsAWvvz/Db85PrY/7J2dv0u5D79tW4W/rlO/v5Quhz5lTaC\u002BaNAkwGhPCD8oaNq/XwcLPyX9qT/Vp68\u002BPJWnv5my0j8Xl5Y/" }, { "CategoryId": 57, "Name": "Skiing/Snowboarding Gear", "NameEmbeddingBase64": "6OPtv0GBuT/DMF5ARl1qvzLCJT9t6B9AbioCQC88hj8amhrAZJ8Dv97V7r0o2GzAFpg\u002BQGaOe0AMnAZA9T7FP4D5HED55kJAHgsuP0Ohyz/5HBNACtzkvsC8xj\u002BBF4u/7ycNQJZgFEC5wcq/XI55v61Jjb\u002BcIaHAgeRPv\u002BRt3L5IoCY9fN5Vv68W/r9snrM\u002B6Kukv/31Cb9KIWHA01xmQH60sj\u002BcS01AtT1HwGox775EXExAj9cTPghPmL7lkAo/TivpPweqvr4PZYA/L85AwEa9oD462Tm/Z4A1QIOsRUDiLpS\u002BJOapv3xINj\u002BFpoU/Nu5XP8CSjz95bPjAPgJSQJLhpT9SC4tAO/juPg1StD/SSsk\u002BYUpbPwaydD5zZBtAqas4Px3Drz6KS1i\u002BRgiVvtAcob6hIzg/Cl1GwExGHcAAF2W7GhlwwL8R9T/WfPa\u002BReQjvzRXAr\u002Bx4sc\u002Bc40BwO6uakBWcPo/02fKPs0Kor/W57a/2WgTvuJOlcDg87s/GkENQIixpj57/3S/GDooQRfvob/igIE/P7RgPz8\u002BlD8aarC/gVG5v3NjID8gjW88r34iwE4g07\u002BfBCNANmzqPnROjr8CJgs\u002BsXUDwA7hED8Qsak\u002BncNqQP\u002BuL7\u002BQ6Iy8uj6nwD05bL8ocQFAALMtPwvpMsDZQwrA4BqAQA6hk0BwEQM\u002BfkWEQHS7MkCKK6s/Bo6BPWaZ9T4r5H4/PsEXvxNujT/OwIa/Xi2KP2Q03D9NEAnA5Nr4vfVCZkDugYvAJf53P0sixr/pcabA\u002BvHhv71WIr\u002BjhnI\u002BZI6mPVL0Sz99F1\u002B\u002BVurhvhQeeUATdgjATwEQQJvg4L9I7h3AZhKsPz/rbb\u002Bl8Y2/pfraPvN2CkCgGsy\u002BW5mIwKVttj\u002BNFJU\u002BAgHEv6dk4L/Cg\u002BG9/8MXP2RaA8BYWhg/TtOWQJXWmb9MkXTAwNMCv7vIG8B04UE/7rnPP6utbr9wEK28RFNpvtXXvj\u002BkeLA/jNYEv4g2LcD/cFZAeBUHvxo/C8BCyw3AzTuLP/4VGL\u002B4/7U/ahU2QF8Y079H7H\u002B/JzI5QCZq0b8oJQdAixYtv5enrj/FCc\u002B/NPLaP2g/8Txt9ee/mdEcwH/Qjr4n3rU\u002BTL\u002Bkverapb/QqyS\u002BwUBvv5RVGz/wh9y/gwBXPylfkT\u002BMuHzARNZGPj69vT8bA7\u002B/vhewPuNbEMFZjVw/AHn5P2vdgr\u002BPNGRAHBOZv3xc7z8Ye6m\u002BvxTFP/43PD/SApZAeDwQwK\u002BlRr92uZk\u002BYmQ4v3irWz5GCOA/CrwhwCo/0T8weg89kpvJv58Vf0CcuxrAjt\u002BJvnCbkL82UL2/cfzrQGpDMECqGoNA8JFewN5VBr65RQzArimkPxpdgcCBl4BAPvQMv7AENUAAlJu\u002BH63KP6P5sj4\u002BMSS\u002BpbGuQOATpD\u002B6mijAfvIQP0PG57/0FMC/Tr0OwCf0z79BJ0rAyprnP3eKE8DgfzJAZJoiwNfiwj/\u002BpRXAMbBZwPLzqT3ZS/Y9puatP6\u002Bj8D9BDIu/BPq8v8Q7C8BTNW1Anny6P\u002BOZrr8NrsC\u002BjECNP3Ok5L9Qfw295A4oP3iS3T3oeYc/2tCiP\u002BATMD1hxs8/yJEWvfT6Kj/TE46/bm7fvuQ1NsBj6EG/hjvfP/QcZUBrqii\u002BZg9Iv4ooEz\u002BR17M/V1tLv5Y4GcDJPoY/igCRP0TQB8DH57lAsNsdwB68NsH6a8m/OvrXPyjD479A/XS/W6WMv0RQDz5GTf0/cz5swDxqw76xB6O/\u002BvIaQJFzZD4hkN0\u002Bm2qbPmuByD/lQdo/yAIjwEaaFEC\u002Be06/0EogP53CVUCS0fNAiQC3PcguqD8Y8z4/B0gAv8eq/73MtT0/OYXqP/6mcj\u002BgvJm/aex9P8yhFT\u002B81UO/DCukQD8\u002Bkj/ZYyA/2\u002BOyP7CKXb8yEFLAD4qVvmqVSb7et8o/SLFfP9Kla8C0dJW/gplUwNYUV7\u002Bimro/MCexv6ZVO7\u002BkAFzARAJ0PfMXNz7YWxPASnRYPuGHAcBoPxDAkGAzwGvrCT\u002BM6xLAnOqlwOMZK8BWLPK\u002B" }, { "CategoryId": 58, "Name": "Biking Accessories", "NameEmbeddingBase64": "Wg9BvzSByzxDcro/aHGAv0PEmb8O/qc\u002BMwcOQDVXoT5yl4\u002B/\u002BOtVP0tVMb9aSwLAGA\u002BKP53inz/s2Y295P/kvjaBTEAicxRAdMs0vzw3hT90QL\u002B/vKU\u002Bvku7jz/etGI\u002BPeoWQIqqbz6udJ6/LcrpPjzVdT7GN/6/aEkevrBlYj/MlEa/AHbvPeAZXb/IzCy/Gldsv6L1sD4uO2rAY/sdPiC4LD/goo8/hBcEPltlyj7qpZ4/fCKIP9LVcz/2Ytm/UBGsPyp8EMBaDSxAImM1vyDt3D9PAAS/1YgKvozSwj9dq9q/6JeIP2yCmz\u002BUKR4\u002BHQdIPoIAyT8mYDHAayCuP9u8MT/H5BpAQtwjv0RF3T9G8xI/cyiaPw4Snb0jqxo/VowYP64/dT/Ct2o/kNkrv9ds\u002BD5VarK/D5R4v/4dpL9DANC\u002Bd0TWvyPrmD/9OvU\u002B9CfmP/L9HL5VhUW/crSVvyOUcj8arQFA43G\u002Bv9Nc2b\u002BIjnk\u002BJK6Zvpz4McBYWGU/U3M/PwaVCsAvc5S/JlDcQIky4L/mJQY/kYnXP\u002BlGhT4pTgg/8tAPwIg0mj\u002BQ0o6/eAXFvy61rD/LS90/XTlPPiT8Q76AAKc7YyiEPsdpCUC8rK2/SI8ePxgLH7\u002BMwqI/sEERwApABL7cDQw/nNQuPiNHiL/e8iy/7GQnPujzHUAGloy9tP5sP5ERhz\u002B\u002BTR9A2fojvwQUpL5sgGU/n322v\u002ByTsz\u002BoD3m/BwOZPeyo0j\u002BT\u002Bbk\u002BBPzkPTpNSkCkEBfAmTAzvppVvr70e/8\u002BoqEvv70jwr7koXc\u002BMGRaPn0WCL5UsV6/strOPrSteT88iZg/KpaaP5\u002B6Xz94Mqe/bwPLP6WdGj6oYhw/W/Tzvu3YLD/2RTc\u002B\u002Bjx\u002BwDaoAT\u002BEZl\u002B/orFUv/rwib9B6AO/Kl9DvkgtsL8D/5k/fFJVQAXq3D6LswjAuvN2PSXuAcDMWRU\u002BzpFIPyaCbb9\u002BkNO\u002B2b0ZP8QFej\u002BeJcC/Nct7wIDnw76Qxbw/sj5EQBgDer/kD2w\u002B\u002BhGvv6At0D4yN2W/C3DmvQhr7r8\u002B6Vu/fIEbwMdEu72cfSNAQveev/D0Ibxw5R0/2eHaviUCtz6Eo\u002By/VVMtwLsvNT/0256\u002B6FRTP0ZGp78rRwxAf15PP\u002BIIAD/kIuy9PIUeP1\u002B1Ez6bM8\u002B\u002BNYiAv3pvkr5Zaa2\u002BSH2OvnLykMAbHmm/JfjUPxZ2E0AG4js/0QYrP4Rulz6A5VA\u002BhEH0PT5U4L6O9BFAg0M8wKzm1b\u002BG94q/Dp0lv/op8D9bvKA/Ev2Vv7VZkr/88oS/1Eq3vtY\u002BJT8EJou/2wLYP2wT978OM2g/BvR9QJNTFT9erba\u002Bdhl8P0xs8L8r4dU\u002BdOCsv8xEyL\u002B0hGo\u002BcM8lPoAJFbtor2W/GLmyv5Ho475YmIG/Wg8SQD2Nn79sE9y/VrHyvp8dEj\u002BCM5C\u002BKJcUP5LWQj/0phG/oHaSv2GS0z7GLe4/1h8RvzKJoD8I0te/2vSWvhbz/j3SIkG/sP0BvSmFhL52tWS/XqBGvwdYrb/8\u002Bro/voigP2EOYL/BX/\u002B/U9puP3EVUL80ABm/oIvaP6wTaT/SweG9Gd6JP\u002Bx/ib1yQVI/nLinPWIWC0CjZey\u002B\u002BJaPPMJH57/NaNa9y8AzPzHjJ79OcCY\u002BYzMWP4Bfnb4/yHY\u002BRAPwPX33VD\u002BrlUU\u002B5NIHP0CLi75YACpACFGtvwfW0sAhcBG\u002BOMobPdrClr97KbW/H8ACP/zzmz\u002BlKAtANpAgv24DTz8Oyw8/dMMLQKUTjz\u002ByMQa/idtNPnZo1T8Zn70/ghbKPnZ7oj90Y4S/SlARv/N42z\u002BfJ3pAm1yivwgj0D9WTT8/Xpm0v8vSYb4SIei\u002BTMaMPbxPJb8j7GC\u002BLf0VP\u002BW7DT7vMT6\u002B\u002BLLpvtmIEr4sVcs/BFcRv8a6Xj\u002B04Ym9pDi8v5JUF8AXqDc/FJKcP1rqUr\u002BPkh7ASnEaP1\u002B6ej9r2Ww/euKrvxQos7/h8uy/8A\u002BkPbgzeD\u002BGQRfA8ft0vmQZBD3IepG/\u002BJiUPpZYkD55/cW/fNHcv\u002BofCr\u002BGABU/" }, { "CategoryId": 59, "Name": "Kayaking Gear", "NameEmbeddingBase64": "yR3Sv\u002BohkL4\u002BJfA/K6L6vrqytL4fhcU\u002Bqm26PzqdQL94wuG/lM6jv5h2gD\u002BoW6q/mmG8PggRuTzmThw/sSbSvoK2zj937AFAFB7bv0AgWz/N\u002B7o\u002BlpvvvsbCgb67wei/BY6nvqJCgb8aJQnAIFiqv/xOTb4S\u002BVzA2BZnv/p5oT\u002B1B4m/z225vZLGp794hZA/kikPwCDZ3r9ODy\u002B/tlg/P01gCkDQSdA/\u002BjKzvxuRUj9o6gq/OMeOvzZdkD5QKY\u002B/gORiQMWad78CcJg/lJSfv7AVRjyAfpW/IH6qP9XAwz/B9Y2/AyyrP9hlij7NdG2\u002B8jkPQI7F\u002Bz82e5/AfCklQDdvYMCotytAPcQcvw7k\u002Bj/nHuw/jYimvy5Qxj/sRTI/WC//PU4vsD9u6rk/GP7VOz1o/r4hLL\u002B/4r1OvyQqOT9l\u002BPo\u002BWB2FPKMi/z8CQ4u/IL5pv/tpYr7GTtM/jFvFv0StJUDUMu4/6Nokvgwj6T7gfw0/aakxPxmD4L3ZA6Q/sDeOvBq6AsDYvGq/cS8AQbsrkr8cH6k/7iAGPjvVqT7ZJPg\u002BYPiDv1qXqT5GLd2/rNIjvxYS/754YsE//lcjv5zkhr5BpLQ/RoAQwHP5CkA89KS/ycOYPjgxBMDakgQ/FhISwGfidb8aH7Q/0lr0PuzNT78Skaq\u002B67gxQB9TxT88nVo9dtQyP0wfJj/wY2S86JABwFUhRr8AAse/ksQov2xHUL/EH2y/KbmSvojRZD9IKPe/msyWvhGmWECmjW/AAgtrP4wjOD/vPoG/SIPqv/VvBr8iCbm/pcQOv/YN/76D2mo/Aoedvc8tKEByi/Q\u002B0JD1P6S8Zz/GYUjALAkfP7n6Wr/NHxe/gqGFvQwZMkD8aYS/qA9lwCXqcD/IZkQ9/gQfPzBGnr9ePZY\u002BDgICPyX9dr9o\u002BiE/Y4V0QGnXqT8IRQi\u002B7mqZPvhlz7\u002BiWy0\u002BglCfP3OuKL/GlRy/UKw7vZCmSz\u002BWBr2\u002BpByhv0iHcL8UZBk/686KP6RrTT8UEiHAeTgdP2flXr7yjYE/gkPQv3RPUb8iCIk\u002BsRy\u002BPzKbAsB2Dw8/1f/APlYMcz4opN4\u002B2vQcP0w8EEAwbrS/qj4FwDzyB8B25jRAwBWQvtgMXz2r\u002Bh4/S4mPv3yJmb6yLHk/JfxBP0Qj\u002BD/CQlvAxJeBPLJAVz\u002B2MtC/9u5LP2ZY7MAsj12/htygP86FCj9PTCxAd1UVQJCXgz\u002BN3jw/MNeQveTXLT8UNyhAaMgQwIYmWr7w3fU\u002Bilm2P3j0NECig2q/Uof4vxZtqj8z/ko\u002BAAQKutT0MD90G\u002Bu/qIH9vUGmyr\u002BNyqe/01GeQOJK0L/kw4NAVxgBwHnVDMAMz7A/8s/wPuggLsA/nH8/7C2lPmFAPL28cCu/MF3HvtcVy79hbRg/emdoQCBFVj6mrj3AIfGOPzoGxb9ywPM9d4PHPph0R79ubkS\u002B5AcCPzCprT4bBB9AuDfVvbxTPT\u002BpgI\u002B/fcg8vwq8lb6IHFK/7pUHv6T/kT7DMqK/zvVIP\u002BiFG8C/BgtAJDk9P/w9w7/ttWC\u002BhFWTPyvxmsCftQHAUAedPBLuEz/a4kg\u002BMt01PqDQUDyMtTq\u002BhJr5v/fksT8PtjI/\u002BrIsPzyyh79ojCY/SGNTPzJR1z\u002BHVM0\u002BhlSZv7Aqvz/F9Je\u002BPPdnP\u002BYIQb\u002B2qeA/G3zxPQRfhr/xrKdAiYVxv8ep\u002BsDGvvg9ROrCPm5KXMDEaEC/u22BP35c4z912\u002Bs/plnUv2\u002B8mz8Acq85x5UGQKritb8Wo8k\u002BUyqVPwrMXT8gfeG8GRMuwDsCyD/9fJ6/\u002BgjiPpeFikBupZJAOyrgPhscHD\u002BjiJ4/movqPitplD98o3o/O0uDP9rDoz7XtBk\u002B3Kl0P4QwGL0sHx8/uhcIQJ4/Xj7ljCM/5kVBP6xozL8KRD8/TaQov8WMrL4aUec/J/SNP/yfi7/OLgo/4MFDwDJxfz9jcIE\u002BZBWlvxamJD2o\u002B/e\u002BOmRwv0EXnD\u002B9goo/gK1zvsx04r6g3uc\u002BqDmxv2Ajlj81/7HA0E0OwGdBor\u002BsGVO/" }, { "CategoryId": 6, "Name": "Water Filtration", "NameEmbeddingBase64": "lEz3vRUTFsAKogdAEFsNv/9bfD7RU9i/ToA2QJVyFEC2zme/HoXmvaqjVD/ZQpLAl5SZP5WQDsAfJT8/Zva1P\u002Bjt6D\u002BuxjdAFCmCwGql7z\u002BGzZJAoisAP0EpJsBwCa\u002B/dJ/mvgAFR70tZwFAFy6PvyDaKb92pqjAtqBqvxxYTz7BPJM\u002BXpCrPnD6DL6tQMI/PO9BP7J3ij48Yum/9EFuvmFsyz7826g/7F/0v7qd/T5I6cm/67aOv2W/dj/WNq6\u002BQ5GFP0Qex7/fUJm\u002BGJKcvn9Ax7/8hDFAXqiTP6C96jyi10U/e8/PP18Nsj8aYaW/TWsgP2qNjz/cZM7Aylx4QJEuxj9Aaec/gDSHv0L6ZD/Ih\u002Bc/MOMYQJFnN78i\u002BAJAjdcJQIQjiT/dh4o/WL5Tv9vudL\u002BGRJI/JOBZv6YzzT/cKsw/RUnSv0r01b5hj9u/PqnXv6tZhj5aAWs/MGd8v7iXiz6sZZg/Y2chvwBmLb\u002Bu74g/SG4oQML7VsC1KQM/4ziUPsaqxL6\u002BChVAi\u002B/xQHuXJcBHe2s/1Fj\u002BP33N8r\u002Bpv90/pn25vxtDe7\u002BAyE\u002B/LJRPPwf0gz82IOK9WzzWv\u002BvlA0Ay3hDAdC\u002BKv0f5H0BA8Mk6Xvl8v5ID2b94WSU/HX3cv67tfr4WxBZAHWeMP6aHU0BhSsY/uC4XQMeAO0DUMAXAU7NCQLAFh75D0Zq\u002B97tAv\u002BZwmz4oiYo\u002BE0FsP6QGmT/UauO/iiqmv\u002BF4or6\u002BBH3AboLhv\u002Bywxb3j6nvAHg7ePVXaE0DQx0O/DvUMwH4KWb\u002BinivAlBWIvwnEVkBSbTU/IPTbvyb59j8K/pE/lw6iP/MUfz9GLxy/ikNdPxsApb/QRru/UEAdwFjvlkA0WbI9esK0vj9oJD\u002B\u002Bz/u/O173vwW2CkBADYs9GODHvk1chz96E7e\u002BF51WPyv/\u002Br3SdGS/QB55P/SWgD8Jz5a/TfQEP6MYrj/zt4M/rnAPvtCG4j93ARHA60OlPlZ6uL6bB76/pH8dQDR9eMD4IRO\u002BOLEbP8MfXb8AMQ86Cjg6PyMJMD\u002BQDgM/B5T2v\u002BpnEcDgV\u002B8\u002BcFtmPlDz/L9Yjwo/7jiov6SG5z9z4UtAKjmFPVwCg74TpwZA/sZkvwpEHD\u002Bssp0\u002BgSCmv6/sAD\u002B\u002BaS4/ftkJQARGfj9jAdW\u002BiEUdwPaA2D8PpGnAhFULwIz198B7m60\u002BGZ7iPSpV3b/a04RA6p9JwEhDsTwv3Nq/EKEXwNN6Z0Crq9w/2HlxvmZvfz444q0\u002BrpKBPwonTj7lEjJAIBnivRRxCb96Zka/iJrBPgxogT77djlAPraVP5Qhnz6pq8a/ljCNQFB9rz/DIJc/vTQSQIuunb/Eu7E/3QN5PwKSt79uRwDAayLWPk1esr8z0HI/o6LzPucDCcC60rg/vgIfQJ2nCL99Te2/FGF3PnK/nL\u002BQU1E7PTsOQGz7K8C9WyfAFcyAP2XSXr/0TxBA0wjFv0ZV7z9tGqa9MgUIwLSNJz/82kHA3D4SwPZdUz\u002B2ZBS/OkoqQCV2FsBSmsI\u002BTNIuP3T/Tr/v92k/m\u002ByvvrraCr3b8a6/32ZSP2hmj78ysqM/OxYTvyYUTUAUxmK\u002BanYhwIqe0z/k0T7A9px\u002BQGjadL\u002Bxo\u002BU\u002BuMjRPnxHkj3Nu74/1MMDwKJXVb7aKw8/J6SzvhAKCr4BTbg\u002BTu73v0wMe7\u002BXAwdAyG\u002Bnv3zWD8Elwy3AnWxUQIQV17/q\u002BQDAZMufPqyj4j\u002B/UhdAnDZhv2cYLEDsI/S/3An3P4\u002BdBMB\u002BgDM/ZYLcPqNwRr65c5u/Ngm8Pi7M6z8pCh6/SOuvP8gwCj\u002BwCq5AoDxUwOB0BD98oBhAMb\u002BfPjC0fr90mbO/EYNbvpoiZUArdtk/BKqRQAKQXr8PPJm\u002BFyfQv3kikT1KYV4/YiJZvh1ORsB7NJ2\u002B3gpxvRQNL8CMk7G/RAoxPwFugr\u002BfzTs/YFdXwM1ftD9jb\u002BQ/sbGSvwP/Wz8\u002BdPU/VsKzv37/PT/M1Iu/lSLkv/SlBcC/jam/Gp\u002BmvZi1/D5v8APAVqXEvwzAdj7cMDI/" }, { "CategoryId": 60, "Name": "Outdoor Electronics", "NameEmbeddingBase64": "vERQvekITz\u002BdKRpAQLipvz/Bmj8umbO\u002BIZdMP02Qqz7\u002BfL\u002B9sxqFvtN9QD9JdNy\u002BWPqdPwvUdD76cbI/fwslv\u002BBezD/4BZI\u002BY/HbP\u002Bthrj827Xc\u002BiEIPv\u002BJmDb5J3KK/KZITvzfHZj4unA2\u002BwkjfPpXlor9nNCjAdFRjvxGmrr0XAhW/THeIP7Yl6r\u002BAL9O/bE\u002BcPksKh78PMuK/HTTZPp9k2r/PERi/AiZNPorURL8GSMi/sM7Kv2SGVD9ZKTHA9k6YP7oWkb9MAnk/f7cqP7uheb69YCO9vUinvWXbDEAGFGc/kQb/P36byT5Mkam/shCdP8OdIUDf94PAttVLPxzqJT8A7aQ/akxVPkIspD5ZjM\u002B9bUqQvzjRqT24/1k/GtMyPho4sT6FsiI/0QS\u002Bvo0v6r/1/8Q9PLzxv/dWCb/5GXY/uDmav1jMgr/DB2o/Uql9vmGzjz\u002BM8uG8TkgDvxoLpz\u002BONRlAK3wvv3ELlz48TJq/zQNav5ax6L8ZlKG/78KMP69p279qe1s9GgjkQMok4b8vREc/A6YpPwyoKD7J1Ie/fEG/v11TkL/SK6S\u002BiHHxv57xC790bso/X/wbvyY0vL/RXkk/zkARvwzw9D6X2na/3CuAP33krL7vEOS\u002BnxkFwEdpI75m3Fc/jFB0Pu97cz\u002Bnmay/\u002BGyHP4oHP0CFXnI\u002BXsc\u002BQFAuwTvGYoC/24ehPgzdDz/y1zI/mYggP4/HHD\u002BSNcA/O\u002BO2P60hiD716Ce/qjiVPnGkBEAc6RLAE0rjPwHKrr9uS6C\u002BSW9Pv5xEZz2EmJK/7LTnPp5ioD9cQzlAlcZLv9xOhj9YRu0/rqafvrQpkD0KvQm/dsyRP0sIUb7kpy4/MxeKPxZUNECWeSQ\u002Bi/t6wDPtVL69SCG/AKAtPxF2b7/QvHO/vomwPoIznD/aLxc/6C2KPzkLDD9hxRzAbxsXvpYJHMAX4ky\u002BgHowu4LZX768D4Y\u002BAPQFvaAAKDxIF\u002Bo90m7uv/I/cr8cpUC/yrtAQLnyAsCu3/K/EOdHv6IorT\u002BU9xI/zBvBP/AzAcD49aM8kRMLQJrpmr9JvQ9ALIMPwAgaNLxH/W0/MhaMP3FkMb\u002BkCb0/LDCav3sqEb76E7M/XPvIP8SehL79xwRA5xr7v\u002BOEZr\u002BKiIa/rBW\u002BvUj8mL4g4pM/ulh8Pxr/2740zwDAoh6cvnyrqcC00BLAW\u002B\u002BgP4siXz/zlWW\u002BWJdqv7anUD0ojH\u002B\u002BYkfvPNbPMT\u002BEkxNAkPELwLD6qj8tr0A/cX8uv/seI0CMdag/blGDvzGY3r5GhjQ\u002BJ/boPrWkxD9msxg/B7PrPh/Ywz9ziQm//QiNQCAfDL3a0PU/Ja55vzw7x738vxg/lqSdPtxlsr8oBC\u002B\u002BMNXWP23Sfr/qy1k/HM7pv8YxC7/EpvC9S/oEQM9rHz/X0am\u002BEveKviQysb9iImy\u002BGXWyv8wSYD/onRLAADWQPuIKaL5VXOI/QSSKvgw37z9eFRe/S\u002BkYv/ie2z9lKBK96bwgv/oQmT\u002B0DAe/6KOuvKvDtr8ML\u002Bs/pkE2PuyzQ79RlBe\u002BFtKiP9WRID9eiyG\u002BpBfPP0NnFr8nVc2\u002BQBoqP/2LBsAE6dM/CMjYO2lWuj\u002BJ8s2/EglnP9E9jT7NyD4/FvI/P/rDOb7LlIA\u002BZA8Tv0sc777\u002BEfC/oxY5v3dX6b4YK0e/bI8cvx5qxL/11gpAvOqlPsbEzMDmAJu/lmUvPkDibr9MAdC/49uyPwBtHT/FQRpAZ83Rv/Zeuj/3LLW/6drbPrIlPr964wY/145IP1o8ZT9oOWk\u002BMMFQv65IGj8k\u002BUC\u002B/tocQHCGE0CVskhAu6gmv/aIND/SJQFANycBvxYK8b7MVi89yZijv1R0Oj8ov5q/N4G1P0TjmL3IDWA/lcKDPoruUb96Vxc9hBUJPkJANL8AtWi/TFBjP0PRVb9sx888jCicPvP3N7/t2L6\u002BzJeCvyVNTr4Lu3A/eNS/vqqA0r\u002BEoLO/XWpNv0CS1r9VpFI/akHBv4iI\u002Bz71kwm/xDIxvzcAiz/N8g7A9\u002BDZvlHhpL9IOw5A" }, { "CategoryId": 61, "Name": "Trail Cameras", "NameEmbeddingBase64": "dv7bviY1Fr8nLiw/cLkOv1b6yz\u002BIyMQ/NPQGPlTMET2\u002Bi6S/OdKMP/JtzT6\u002Bk8K/PMKUPuc68T9haoA\u002B9\u002BfSPtLV1j/NQpi\u002BkZ\u002BXvrzdKEDRxrO\u002BLHNxv\u002BWyoT8W8jy/9X2ov5gyhLzGAXs/tmxKv60/Rr/2QdS/DdwpPzDxhr8G/LE\u002BmpqdvVOP2j7pRBM/h5KDv56Ncr7jLK2/rA81PZqWLT\u002B\u002Basw/m6FvP9umtr982ps\u002BksrCvzFfGT/INy/AJG41vvhKWb/BVYw\u002B9f0Tv6VBhz8NF7m/bmvyvyR19r3orVq\u002BDPzoPwiA8D2wQb48kjG3PxA8nz5uY5TAIZI7P0uv\u002BL1QNbo/4YrVPrJbr74CY44\u002BH\u002ByBvxYJg78/oss/WE3hvrylzb3\u002BBie/TIxqPYLRpz7iPDY/BAcdwALD478yV5y99tilv5yH6D\u002Bj2HQ/0sSWP6Vz1L1d\u002Bhs/KB8QwILj7z\u002BC2KA/T6x9PvmCmL8Z9/G/UUaCP4YOJsAcS5\u002B/EJZcuzLUxj4KQLc/F7PQQOd4u78w6AVA2nD4P5IPJz6qmWE/GZrdvxaCTr/eBze/fcaYv1SLnD/cBABAxEeIv6qoqD9o2xS92Duuv3WxsD7Q8X\u002B\u002BUajjP112X78wIQ5Acl2Zv0Iy2L/zNFQ/5pKtvtzMQ784uKC/7izmP97dCkC2HM8/9r/tPyZt\u002BT75fcW\u002BVFxJvxLmuj4o3Lm\u002BRJILP84DbD//zrq\u002BzEGxP5P7w768maG/AbdRvkazHED2m7i/jdGtPp9kmT\u002BRWQS/IFsGPGkEJT\u002BrgQHArN0tP5i7wj3cyIQ/a2QXv9Td6z7cx1s/pE15P4Hnd7/hRDO/q9PePwfhl74Qvba/qjxBPRyTPj\u002BSTZE/7yQ1wEcNfj9WjAjACsMhv9RIZD0OMIK\u002BwUDAv4FQcT\u002B5\u002BKc\u002Bg/ICP2Rw1j4du1vAnDLwPWmt6L\u002BHLCm\u002BoIbOvjnk3L8b\u002Bfe\u002BmbnLvleHkD\u002BiFS6/VDL/vooPTr8K8OM\u002B5tY8QPuGn74hf1S/f7eEP3pWhb9ar8K\u002BmxCFP704nL/y4gY/xCTEvzN1ub/Thao/DgR5v6o\u002BCj8nEta\u002BVldWPzsYeL9/QuO/K967vq6Zwr\u002BMxsM/EozGP8hBgry31w0/KABcvgfhy7\u002BG5hbAwNuXP\u002BY/Nj9vYMu/sFmDPx6msL9/VHC//lL3vcLywMCcb\u002BK9UFjpvcNQH0CWWkg\u002BvZXOvwQ1Dz\u002Bg5/w/rOCKvmjDQj8QxyVAzsq3v6SYjj2jKN4\u002BPS\u002BZPxcd6z8GwYw\u002BwooYP4zeg7\u002B4KQi/P2Jevu0yA0A0mO\u002B93pMwwA49Rz/fiSK/5rGAQNVNZj9ow1s/OS0GP9wsdL7ObAk/hLmtv\u002Bjzq79as\u002BS\u002B19SOv9kzFT/0/V0/1wtUP\u002BhM6r\u002Byi3k/YomzP1\u002BHtT/lCTu/g7IjviL8DT9dUoW//g6qPuCxy73s3yrAvNasPsw67j6apaE/yM1Jv7Ok5T/2ie\u002B\u002B9phdv\u002Bjfbj/aRKS\u002BY8OuP08dr71o56e/WvLGPWf3jb946zxAv8rEPanugb/CNCa/l9XZP6QGSj4ejCU\u002BkI83QGa7Wr/Xo6C\u002BApIsQJjxOT4cfr8/mHF2v/upmb\u002BV/hPA73VhP5g3mL\u002BSFdq/\u002BLeXP7bsFj/\u002Bt\u002BQ/LSBDP2Idyr/0oBm/0qtvPuiVbz99l4\u002B/CFx6veTvBsC/SzxAyGDwPjhFpsDMmOi/LGgLPxhXF8BGYu6\u002B7iyRPjjjIkA8Ocg/pyiQPzNtFT9Cwzq/JgCnPwh/iT4725W/r6\u002BlvW47UT92UXY/\u002BhhdP0WeQUAM3XG/t4MjvyEhjD9OBMw/Ro5Tvwa4Db/\u002BT88/p8iiv2\u002BHL783aoo/HKSSv1YSGD\u002Bu9RzAhHbSP1AFmj2QiR8/Kg8PQG7kxL26X0E/jOBOPUPIlD7cAgG9gF44vmcsgj\u002Bo3G6/0tGIP0BgbL2KG48\u002BMD6HP9oPu75R2Sw/HvrDPvEFmr\u002BWfq\u002B/ZvsUP0D5aj\u002BbKQ0/u3sNv4SCnj\u002Btet2/5qKFPkzEfj67arO/C2dYvzUCAcAUpK6/" }, { "CategoryId": 62, "Name": "Off-grid Surgery Kits", "NameEmbeddingBase64": "RHjTvsLomUCusHdA/Dirv0bHVj/qsB1AgFo4OyXfSEBVbxTAHVndvY6BrT7SBBvAzKC5PAzfIz\u002BO0l\u002B/g/t/vlCuM75QqgpALK8HwB\u002Bgaz4IXJ8/TPtWwFxMUcAifZu/6dQoQHHOyT840gPASvVqvyRFAcDwENXAv4GCv2T2J79qStA\u002Bu\u002BuTv\u002BWTaj/25Y4/k2Bov1Oq9r/4NIPAEV8ovrIWjz9EgpC8aMkNwIIKU78y10U/ny4GwLp0Z794xqW/e0UeQBIDsT4W/sA/iIASvUPutD8eeKc/VuT\u002BP6UW6j66b7E9q5WTv8wiFT/wHyE/dyWHPhtP5D\u002ByF/HAyttiQJoMZD8ntaG/QKHoPJzHDcCYCs5AdnI3vtDctL8OqQi/1GP4PyO6iT8ozBg9WoMbP/lVM8BYVai\u002BXW2jv3j5YL9gqvk/LFRcwJq6Hj/WnRW/trJAv58qt7\u002BFPJI/xj9Fv24R0D5CESu/9tkPwEF/jT\u002B4Qdc/MPh5Pci\u002BYcBWQgbAsQiQPTPmij\u002BcOl2\u002B6f81QZXfPcA/3pm/8U0TQK91/D/2ZRi\u002B8vyCwDOXNr/hSDU/3FDPPi0aBr94Wfc/iowQQOAM9L7Sx4s/3MuGvhEipj6bnApA03cRQA0PBT/W3n8/ki09wM261j9TNos/e30fwDKlOb/weVu\u002BhJz1P9WhPUD67XE/87CaPkBpG0C7x\u002By/ixYBQH2Njr9uQpM/oDjUOnNmC0BCaf\u002B\u002BJf37vg4NZ7/ENeY/yhXIvh6DvD/qvJjAyBkSQNaU5D\u002BoZlzAgioyPXRHrr6AWAfAgADbPv1kOECgaYU/ieBRv2hrCj\u002BAcx4/6tNEP4iCHL8H8BLAxrb3PyA9XTxFYDHA1lBKvyrylUBFAag/2GmdwKvFUj5y5nA/Gpkuv54BKz6PRjE/FOMCP1TfUD9DlpG/JfbuPzuDDMAy\u002Bqq/BWwHv3cJIr94VcI\u002BrbjmPsOgPL\u002BP\u002B8s/yOXeP5ZHsL6kuoS/dg4CwEGCpD7448k/WMZqPxprCcAlpZa/HGAlQMwaIj8F6fw/3rVGv5tvSsAglynABjgoP5tkTsCqtExA6SzBv3T9ub3Fars/CeH9vuAg8j8eFXm/yGIyvmIyEEDNv51AUhenvx665D4FTHBAS0u6vqyoJcAw6BC/5icZvyVc4z4I/56//4ZBPzod0z/wXPG/W2Chv/ooNMEwAaw/OMygv9rYcr8iwbC/1q8awHNGAkAMxgnAeJ0cvMSe7D92GLBAVK0fvx55YD/8kJc/RW0IwOmk5T9X7kdAOfMOwMQ63L/Mdea/\u002BScsP9MsmkDg9FM8QjsEwFAXUT8qKh\u002B/GrL3QGe\u002Bzz8wfZxAiruov5J4Dz8PusU/Dy2UP8RhP8Bc/ow\u002BJYEHQA4m5T4nwizAlAWKP2C78j8aVSC/BEDNP8joMb5qvk3AKNopQPryyr/usgfAYq\u002BBvm1AAsCJ7u2/uB4/PmeyPsCb0XE/5J0ovxQl3j\u002BxS0S\u002BrvQdwF77Oz8QBNS/bIIiwEBnZr6WBlK\u002BMJicvYAX/r7mQoo/Ocb8Pimw\u002BD6HOGw/jO63P5ADrr/nac2/Q\u002BWEQJNNDT\u002B26QJAG6mMPRNstr2\u002BMipA0y/JPwTdZj60CjDA6PYCQOEY7L4kK0U94ym9P4pNkj86be8\u002By1MIwJBOAz9ay36/XT3Uv6QiyD/FePY/OIMgwE/GpL59YalAcQGBPmk8EsENJhw/1cCcvhxXMT0iO5K/Cp/iPtyk3r/1QuQ/C/mrP6roKT\u002Br2HjANeARQNHu2T8FSxy/ckTiPt65mD\u002BFcLdADzXsv2elTEBi4g3AIOn1PyCz4r8W28pAkXDsP6uxob/LufM\u002BVn6CvzjTPb9/D4M/AAMBP48TNUADIYy\u002Bza7Zv7B4b74GqExAXrBkP4Jk\u002Br8F3mM/b9xoP3Hfwb83lYbAkGjAPxDSVb9HqgO/Z25GQPC/kMARpEnAdHRzwKxWdD582hq9mr/KP4/3EkBMLrq/3JlgP1zDD7/\u002BvTw/bBgxP2jHC8BFU\u002BY/8Ieav1/aUr99DkrAlktPv/569j9g0Ni/" }, { "CategoryId": 63, "Name": "Aerial Drones", "NameEmbeddingBase64": "RH15Pe3eCL8c3Eu\u002BEXxmv0Bvzz/kCQ9AoCo2P1yL8j7jGZE9dou1P2PtaD8y7Zy/MiF1Pmbe8j8kfc4/2NmnP907ED5knwo/vLCdvS5MzT8UjGw/dOwzP0ozwz9YhTE/eronv9f5CEDrY7\u002B/RqWdviY52D6oSSnAiO7nvKnxfr\u002BtjMo\u002B/ZU8PlT27r7ESGI//D4gvJr46z4usum\u002B1A\u002BAPXdhBT9q5ZS/b6OTv2BeFsBY2/I8OPyMv0pj4r0uREe/I8jDPhP6vb9FBUu/n1gYwE7D5j0Arjy/\u002BIwfP0CYq7631Z4\u002B/BWuP7hlurw2uRHAiI9aPtGckT9M2kvAPVNUvk/VtL7Ja2Y/pmUAPxX3uL9E3os/w7QZv\u002BjtvjyRRVQ/LIOJvVZ/C782tnk/yGnBP2Q6qb\u002B27x\u002B/7Lg/PacL4r\u002BhnnY/mPTBvtyEj78wxBs/ElifvfBotzxvP/k\u002BovUkvwtuN0BGezRAv2huvwwTnj7Hk9i/NsgivvD4JcAGGY6\u002Bbn9OP3qdKsBjniXAVJPsQB7QBr8fVoW\u002BLhz/PmDBu78ssLi/k59zv\u002BkvJb/woI\u002B/Zl2Uv6dwCj8mc7a\u002ByB7iPoxjoj8zZuA/iFrVvyxMyj7GkXA930AaQFxQi78a2cy/MIu\u002Bv3Krgj7eMzlAmMBMP95LnT\u002BWpO2/oFqaP3BlPEDM/My\u002BYgIoQG5BB0CU7h\u002B\u002BBfuIP3fhzL/Oe7Y/jmUAPkZY2j987Nm\u002BgfQbv6J0AUDgEHC\u002B9YPKvlE85D9QnaC/PnJ1v4pCAr9eOKa/NKjkPjjvqz\u002B0dyC/HNMRvtS6bj80Gro/RowjPxMmmz8Pq9o\u002BzgD3P0\u002BCVUCO\u002BNG\u002BaOTlP6wvBL5p1K2/Am4iv1DLUUA4eEg/\u002BtgqwJZzMj7qGbu9x1jMvn1cN0BS8ea\u002BaByevyzZnD8diCW/LPWGPz6Qq7/hqBjAPmAnP5vgh7/o05895BmUv8DnQcD/Dmw/uX\u002BoP33NAUCLYoM\u002BUHfcv34CDL9wJf28V2XSvwq4f8DVbjk/PK\u002BbvpyIQT3gd3w9WnjEPnkX7L9E\u002BdA9kHDnPzSLlr\u002B4wQhAuu4UP/ozFj/K5PE/DErLPf9Her8ESco9EfKOPSiY0L8mcp0/woZHPlh7b78i3PI/ToUEwMLqt7/YqXo\u002BzmanPmDFWDzmcw7AjsIIPk6ilL\u002BuWN6/uK1TPyAXo8BSUI2/qBzBvuy\u002BDD4ohcO\u002ByBDMvxzGWD641gBAAEyVP81bsj7erVNAFhv0v0CGYb5wEY49UIKXvII2G0ClZpi/4Z0cPiQxPb86CBI/ZHq2vjhfSz91P5w\u002BJAGOvXTLuLxmgAnANM\u002BTQKrtkj4qFe0/yHcyQHCj0z427Kq/U8MmP0pLfr9C9mA/pvuVP/TXCEDcm6w93clyv9KLkb2AD8S\u002BsBEFQFQP4T/oMC/A\u002BHzivptJqb9iCqO/ZkWMPs02ez92HQLAXv6mv0dSsj612Ha/j3k7wBiaST\u002BM37m\u002BO9KUv6WQ9T4QTQi/pmBNP8iilzzIzf4\u002BggMNv\u002BZ1or8E4ltAhdO3v1Zjhb8kWcK\u002BSgPGPT54B74A6J0/i8xVQFfKKD\u002BUq34/kGAdQNl3pL\u002BXOy5AoJW6Pm4RjT8iQVW/LAnzvxinAL\u002Bq9WS\u002BatvPP9zKSr98d\u002BK//sNpvkmh2r99ami\u002BqsHZvzgOL7\u002BO3DK\u002BPlmrv7qlLT\u002Bn0StAI0HcPtPLusDccD2/7sPGP3aPf74MgR7A5MIKP/VLKkCZJoA/ZSCsvz3wBT\u002BTytW/Jpj9P8DnGLu\u002BhJa/CBakP7ILyD\u002BKlA8/aW9iv0KXVj4bpwfAp7URQAm1VL\u002BqG35AuH0OwPC0mr6Woh2//lADwPU9Yb\u002BNiXe/KPgHvxT7pT87xMe/nlwDQLZ/qL\u002BsjmA/9BexP0okYr4MyXi/ye62v0Or4b62J/i/dn84P0QJDkAGehi\u002BJKAQv6bmEz8wk5C\u002B/vgLPrDvrr\u002B98TU/18MkPqocH76eHOG/FEM4P3jAgj5hXAxA048hwBS48b6EZ6C//OEMP1QkWz/GNRi/JSlVP1tTm78yAOo/" }, { "CategoryId": 64, "Name": "High-Tech Watersports Gear", "NameEmbeddingBase64": "Ez4RwGRJBUAr3Q1AcnCBwBpMSz6kB0XAFAdDQEwlYUC6KxLATqn7v4asKb67soHAYKScP/XHYr/znhBAoWJdP6RrSUDiSN0\u002B2sJsvqqhXECtgUlAWPplvpu1mb83SCvAWgt0vfZTBMBR8ea/QO1ZPgDiFcDpitLAYAYUwJzXTD8ptYU/DzOeP68qQb9\u002B5sW\u002BKCKnPhy97b/kx6O/aEuSvoiaYr9Fu0tA7V\u002BAwOWUoD/UE/S9FFQcwINVfj8mpAHARWGSQBupgMBcwKo/PXUmPl4uTT0U7AnAj/z4Pr2e\u002BD/Okww/5n3xP5U5FkBXt2a\u002Bf1qxQLzF2D9C6w3BsN\u002BUQETqfj9xnF9Aid2fv7ztN0CftvA/SGciwKjBV71554c/jF1SP8wfST\u002BIIyxAm5n9P/\u002BvKECxbay/mkyiv5hx1b/oRH1A50OlwCyEWj5W5Mi//IdawOFQ6L5/qYs\u002BOq5DvoB3Vz93nZ6/KAmGwB3HGMCSirM\u002BqOdgv657QMBoJw2/jakNPnqyqr8UnZA/AsEfQdwTV8AuaIm/cTkkQJisHT0L1ihAVk7Zv8rw5j523D8/UJ9Vv2BmET2H62Q/0nllvtvzEL\u002BmD3U/ygEQwHpXFUA4IO\u002B/drDKPytjJMAnSa2/ylqEwEo//L7SHihAZB43v7Lswr8I2t2\u002BaxeXQAo1eEA7KjbAh2QEQM60lL8UYeI/34rKv2Eno77ckrC9dnR3v2jBH7\u002BXjgvAhcNxvx1XskA8GZ7ASA4pvj5jY0BobNvAjJCFPrMwIT5tuyDA3UQlv1kVoD8syy7ArkSbv5TtRj8cfkk/OBtmvqAtiT8NfZA/3HF5QG5V3z9QclTAoudaQBFhLb5WKKa\u002BbkSGvWrtpEBtHYU/TAWlwCsllz\u002BPF8\u002B\u002BWOHEv9DQiLyF\u002BG7AuMGTP5PVhT9bEAdA5Hk4QJDjLr5W\u002B3bAT82lP6s0t7\u002BywhRAsxx1v0MKyD62Pr2/fl2Hv54zU0CgOeW\u002BAJyBv32vGcB8Ndy\u002BPUQNQHjHmb862DW\u002Bpe0TQMhznz8y66JAblOsP96OC8BJJn8/ULEMQE4BisDmCBo/JJn\u002Bv/FFL77GSI8/l7UXP5glRkCSJvI/ClkqPtKyqb\u002BRfbc/amBlP/nzC8AGHjpALkyvPTYNCcCTrkrApF/oP03/O0Bw02DAfzOuP73L4z8KK6q/Fnr0v1RwK8HWCp\u002B/iyP6Ps4NIL9D5zxAfRDsP2PL3T/ZD5M/76YhQDIR7z/zwLdArvNUv33y/r3tAg3AaEmYv\u002BBQsD/Oyvk/vGCOPMMwUr\u002BaVxc/600ov6HohkBWu4vAQzpMP3FCkT\u002B8Ukw\u002Bj2TNQLLHKD8Absw/enlsP2oKLsBr920/bRcmQFolhcCIk4c\u002Bktv\u002BP\u002Btmf0Busr8/mmB7P3x0KcAZSJ6//dQFQIEm4b8BLb3A54iiPyVgIMAaMbu\u002BWpyAPfaxWMAVNITAP3vpP4inEsBk5H29ItQGwP3Osz/s/Nu/PjZKwN7ZAL8VoLe/\u002BHwuwC4Dyj/uuZY\u002BSqa8v2g2AL9srQ9AnYqGv7xggr62plA/qG5cP4PbnsA4SJC/TrqJP4X4oD/5TJpAqjUPQBJA0T7oVkZAkiwUwDZHjUDxj46\u002BZOc\u002BQHQ1BL/bh2BAtp6iPwVHOUCR704/hXuCvwKzQ74AsA\u002B76j4TP26Cjz/M4Nw/UAAMv4n8Q8ADHrhAZ4RNvkPvU8G2dQDAhgVYP\u002B5UicChBU7AS6uPv1/AKUBgYDhACxeWPj0BnUBtZS3A9247QALCh76AZLi\u002BkMEAvfDXAUCO6BJAsf9MwC6AH0D1lj8/gJ3tup6aWkDwF/ZAYRosv4jbDEASdRhAADqzv5O/Qj\u002BIvLs/kJDAvbEgAEBtz4g/gqJjQICTm7/Azoa75LQEQG2Ndz75uCK/RV6nPrNRvr82kcw9YQztv1uHTMA0NIC\u002BKNzZP/oTJMBaiy\u002B/BM9OwKKAEkAYG4O\u002BC4y/v8bbkj/Agtk/szO/vxKjLL8KzEm\u002BSBMmvbhA779mD08\u002BY10EwEDJeT1Cp6XAS9ZewF2blj8Wi589" }, { "CategoryId": 65, "Name": "Climbing Harnesses", "NameEmbeddingBase64": "elwPwDGYTT4gnyVAUfcEPyC4tb\u002Bmrg9Ait1qP/CCsT/M\u002BZO9GyXRvrALOD/Ber6/G/85P3adpT/IHOY/Sq2qP/TANz\u002BZojZACMAFvrLF2D3nNaW//jiUv46Rj79LSm6\u002BRZINvjWtM0BnZ5e/6AQYv7czAEB29j7Aly4APvbXiL9cB5W/HYBBPxfbW78JMDNAVjLevxj1Kj36cRi\u002BVrsSQHlaej\u002BJYkc/ILOwv/r5PL/ecLw\u002BD5EtP4N/Wb/V52\u002B/tOUBvjGxib8UhMK9FKBsvx8Kn76UaJA/9FSovs7Kor7UqY0/B9qLvqOT\u002Bz6mdaM/wCNaP6IWmj0wH47ARowjQPaNWz\u002BLrQtAc\u002Bymvy4fJkC3TNQ\u002BAD9TQHS87j98Yf\u002B\u002BGQ8mP4/mVr/Q3BA/qh2HPgzP1T3I8M2\u002BcVgEwNwVOD4EeTW/6RmEv8ryqz69yy4\u002BYA\u002BSO9TQqD5v2lRAJRwXwF09pz9RHSNAbgDovv4y9r/2ZRXACNW\u002BPgQ7\u002BT3ykpC/t8Lzv6093b/qDhHA/HPzQEfC2r8Azus/4Fq\u002BPyuaHkA54J0/Wu8awFjVwLzsrFM/9i9gPvyrFj/9UjFASRIlvZKbrz2dG0S/X8m1vws6i7612SPAmPm6P/ZACT64MVhAjdg0wCij5b2oDBxAl1jDv3EfUL\u002B2ZqC\u002B4/ChPsl1RUAtGI0/vZg/QNYDakCdmeq\u002Bk7F8vx2D1r6Hx\u002BG/\u002BH\u002B\u002Bvs5Zzj9nsnC\u002BXPR7v1p3ET/yINK\u002Bn7JCP2LwOEBIKpTAbOoEQEIimz8gFhLAKI4Wvw42XL\u002BOEIq/UYI3v1zaA78WsdM\u002BH1ojvtXUwj9m\u002BD6/HPuvv4w4Pz9a8vK//qwEvuJPl76M0p\u002B8Vshfv\u002BdvX0A6hCpAJgKUwBXtwj\u002BxYu\u002B\u002BLIZDP\u002BEdgb\u002BHdck\u002BIG\u002BJPy7GZL8KpMU/TO0PQNrAgL8YqJjA1hIMwI5Nor8tM/8\u002BRFTePyDNP7947Ne9Hpwfv4DsAb\u002B\u002Bohg/532uP1oVi7/kZ1A/mIEgQNghjr8Yzfu\u002BspyyPihjC8CkelI\u002BJLxkPWY0\u002Br8QJb\u002B\u002BX0utv2PbQz/RFvw\u002BKyxFv9bEN798jfM9essNQE17xz8sCFk\u002Blxr3v2D4\u002BT4Axvo\u002Br3b/PwDoqDr4oCZAaNazvwROFb/N11i/ODlcv/dglj9OVgrAftmUvktivb4PW6W/0VkyP/4C5MDuntm\u002BlMVmP3yFOUA2gTLAg/FjPxpKFUB6SLy/q8Nuv4g9j762QhRAxuCSv3irVj5VFV0/mWbJvxZZRkDQFCg/cpegv\u002BCyK79qr60\u002Bf27UP5Oqwz\u002BuHb2\u002Bz6Y1v\u002BMTScAa0I2\u002BjO6eQLAUDkBm1Ba/saVkP8ByU7xJ5cg//DLHPQcEU8B41g1AqhyUvip/FT\u002BcO6C/0bP2PrgCyL\u002BlJJ2/mapGQEG\u002BOUAYePO/XP4KvcRduL/4Nyy/yOjivSh0TT7kGEDAmflfPjHynL9eZ7o/eXNqv4tdIL/n2xzAZVDVv3/o1j5AaRbA4Dt7Pbudr78rpsS/5oDTPoahPb/cdi\u002B\u002BLzoWQHO3nD12b/w/MKNfP\u002BrGlb9A1PS\u002BYK3BP16WbT9OOne/alkOwDb3FL0Z3KU\u002Bj84SwHSOAUBmkR89Y0d8vwCOJT\u002BYTPu\u002BWhHAP8iHkr\u002BQFSS/VIcIv0McGT8phTy/ajXdvchTZb\u002BMrBQ\u002BIjiGvxq9Zb/FYCdAvVBlv0Lk2sARdoa/\u002BorvP0lnEcCPuwPAr80av9kyMb0cBkw\u002B8DewPrrDH7/i6Em/cHYZQCUaBj8\u002BGzu\u002BdH\u002BXvQZZzD8O1QVAS22FPzCYmT/YuMo\u002BBm8FP0cMvj\u002BG1nZAmABbv/xs7T\u002BP5IM\u002B8Pmwv1TIyj6GS9e/BC2hv69PID1KYBc/FwygPvm5AT/xdfY\u002B0IlgQM1ZDz\u002BePgo/sEWUP6p9Y79YxIO/XguTPxLqoD\u002Bxf38/abAFQCcXfsAq/c4\u002Bo2/Gv4mmNT8Ymj8\u002BHS9awP1HQj9RbeE\u002Bi2gov0ABZrrFQso\u002BdETEPo5S0r/0pYC/SwcOwHvExz6TSSLAgoeEv24ajz9Ajxk/" }, { "CategoryId": 66, "Name": "Nanotech Snowshoes", "NameEmbeddingBase64": "E2HYv5zEVz4mXlBAnmY0vpjGZEA/lCG/8M5MPwCEGkCW3UnAvgMeQAogOz4Vl7e\u002BsvcmQBbiIUAwJBRAlpYTQMLW5j\u002BPOfM/zSlWP8CfQT/MCJpAC/PQv9wwsz\u002BAEyfA1OUlP97oxj/\u002BXHM/Ika7vyh77r8qm2fAAllzv1qbH8Ax\u002BQFALKYgQOAjK78vwLs/NXafP9SBx7\u002B4eGnA2i1uP65I278me9Q\u002BWG1RwJLa/r1yxiFAzNQZwGhF8jzWVMw/vht7wAm6kL\u002BMGkE/p1hAwB7gfD46rbO/JloAQHwjh0C1znm/LoWPP6mgbUBAqhE/hFl2QEUviT/o7uTAgPyyPw4A4UBVWvE/xiYRwDxDJz7sqb0/YYvcP4x4DkCSscs/k0fBP5C4aL3KrY6\u002Bkiz0vhTrE7\u002BOkr2/HZ30v9w12b\u002BUl9i/KvcxwMZqlT97Iqy\u002B320\u002BwM6C6j5zhAa/fPC4v0ZIRUCQPx4/2vT5v/2mM8Dslq4\u002BHaK9v5qTssBMzcU\u002BJ/kMQGo6BT6T3TFAKxoDQUSLTL3Wob\u002B/BIaYPgjKhj65Wcu91JUfPriW6D5RW2HARJQpwLhofL7v\u002BUFAsKV5vuwtCL/A/Ci/8DjtvIRCy798zLo/OTgJQO6SB7/qvGdADulgwDJWPEABBxk/9HAPwJLwF8Ccczq/7id4P9wDikCmh/y\u002B\u002BhdxQO62EEDgdve\u002BuL8xvaqBWr6p4mxAKkqVv/AOrL7APB3A4pBHP\u002BuwOT9uA5\u002B/jhsAvw\u002BrET9BD1HAxjhyvmUvur\u002B9pzbAWWd1vixWib\u002B6psW9Pi81P9KuFz/DEeE/gGkkO5GPY0Ako\u002BY/vZo4QBVWHr4TIiDAjybGP9iRHEDWLxFAFOMNvxQnZkD/J8k/VASzwBVVWEC8osU/vOwgvtiQrb/5h4y//6T/PqESv7\u002B\u002BHEC/LzWGQPzRFsDohV/A/DE0wLhEbj6S01RAmuGcvyezt7\u002BnE6BAAau8P/Ahnj\u002B9shpA5sCYP5JzDb/YleS8cl8IQAAlBbubHUW/1FqSviYe7z8TsZ6/zi3UP1wfPr/nFw6/Yj3xP1b8Nb9w8TxAws1Bv9gJAMAAJOc6tY2nPzrxrD6wun8/YwSrvyOuBMCmcwG\u002BXKQYvu1jkb8z/II/Yv7Yv9NYZcDs2zS/wu6VP\u002BVu8D\u002BE\u002BuG/bVRFvxYVfb8otM0/yoI4wMhrB8E5LCG/2CHkvRuGhcD\u002Be4xAeCQwv3R2jD9SFSPAHkCFP\u002BbT\u002B78heVBAIycJwNkOC0AxYki/rp73v3OvVb5atY8/XPSDP\u002BjnJUA/vh9A5HMHv5busz/g74g8v3egwNZHhMDSIS7AVb3wQKBDiEAgvQK/UKIywGuu7L54JXO/fzmQPl4OmMDPlHY/a8egPpeLhT\u002BcGVO/fjTwvxedhz9MHOQ\u002BG0QXQB8EVD9ePwu/8rnWP2oFBcA5ApO//LbavyC2Jr\u002BLciO/IN6qPWAD8b\u002Bt\u002BI0/3dtrv3aNAMD2VxLAqrE\u002Bv/aQdECLuyhAfyuqv6YIpj/nl5\u002B/yDQXwC\u002Bcrb/\u002B6ppANiqlPsLdmr\u002BdN9o\u002BDTw7QLDugb8jlgRAfld8QLrfEb6S\u002BxhAgB5wQFvumL\u002BRig1AEEhKv7j6L79cxPg9YfDnPt08Lz\u002BkdBs/N\u002Bd0QGwxCL5tagdAJ64hP8waK8CeMFJA/HO\u002Bv16PHsBkjzFA5rpcv6ZGL0D76xdAvazSPuw\u002BHsEocsU\u002B1pQXQFwbkj3mxV\u002B/w/qbwKoAHr8Bt/A/iE4JQPJ9Lz5tWaXAGH87QPEWJL41Txy/NQF2P88dgT9LqHo/3phOv86vgr21KU7AjlfePgMtmj820xBBMSmJvhUi7b29OYI/rjnHv/bfpT8CZ08/w0ySv63bKL/AelG7PqNevyOPeb84\u002B26/YVq7P8Q5Ej/m6Ye\u002BClWXP8oJWL9TXZzAYO55PsXPJL/T2mO/FwzZvibuWsCUp4S/blglwJTyrT1U1PQ/BNm0v8R\u002BOD\u002BlR5\u002B/\u002B5fXv/GkIcBJyhS/txiVP1NmMMDbboHAmig8wFiF1r20hf6/UAyGwGF/8b\u002Bk/9o9" }, { "CategoryId": 67, "Name": "Outdoor Administration", "NameEmbeddingBase64": "OP\u002BpvgPrzD14gwJAsLbOvqKt1T86/Rs/WvNMP4SeQr/DrrS/cG0ovtBdZjzoQqy9GNIhP7KAJj8E9ZM/eCCovxZUqz72oqo/EUerP2/ziT9vvdE/LvPSPvjFTj2Aosu\u002BjhuXv54nrT9svh/AXeFcP0pIXL85nSLAlB09PNDUML8dQw\u002B/DZyYvtDZPb\u002B8zfw9GCRMPICaMT4gqZC/VA\u002BBPjXNPT/EBK0\u002BNKsQvsBO3j60ywi/RaZlvwicyr7om4e/HMscvtTNYb8FXQlAxGAWv8kxKL8Mtlw/MvHwPn3\u002BsT\u002B9W\u002BI/7KTmP6cCKL\u002BZY40\u002BzFQeP0eSkz8UDrzAEhaIP60GQT\u002BbXbU/1UIGv0LOnj0gFNo8YPtLvx9vs70fg9E\u002BEE0RPqIlSr9Qx8I\u002BKhgxPTRP9L8qsJE/XvBgv5sjD7\u002BXC9o/ahqwv0Z4eD4ZZqU/xH7WvQRHPz6WuzW/2/E1v2j5KUAqyBxAtVCIP\u002BqPi788rxo/IMcsvBRRpb80XFS/Zw2KPrgLU72E1Me/YnzKQHrqfr\u002BEK5I/HvGoPhxDtL43fi6/3nkXPmkdTr8\u002BPGm/0ZCVv\u002BjDND2cIME/y6RPPhgWyD1gbtm\u002BfKZcv8L1j78An4K/Zqd5P27AW78WfCu/PBWWvyVAFb/oghk/yAcrP7VrWT\u002B4Mqo\u002B/JjvP\u002B5qDUD/4SE/wacHQMscwT\u002BLWZi/5J2yPWFvRL89H6s/bowBvR\u002B1QT9ZZHo/hkynPmHppD/EsMm/wPufvHIeyT9U2UDAh7KSvlKMZD\u002BqqAg/DXOBv2QNvr8eDYe\u002BUtkiP1KbVj94zE4/S2HpPl3bzj5/SKA\u002BHuFyv/UYyj/yLDE/KeicPmaTxz5P9LY\u002BU1zjPuZfkz8ukDu/TIEowLgzer59IYy/ctXVPSrjED\u002BAQEe\u002BnBMAPzLvyj9LNsA/8C/CP4\u002BD6r54TCy/GntUPjSy77\u002B8oI0\u002BRb79P6xBB7/xGQk/pya3PzYbIj4MwY8\u002BKAiuv4aQzL8XFZ6/kEARQA/4J8BAdGc832Klv9p0ob/\u002B/BG\u002BIFwuPzbAor/AYTu/D\u002BdLP9J96751bvk/4BgjO1F4yb9kINS9\u002B/YqQCepe78LguY/ShcqvwQ0yj5aPN8/ks9nP5gvgz/nE18/GB2sv0BYvj4B4WY/wmVdPxB9xzwAT\u002Be8cF96vqCs2T7bdam\u002BVQCxvlSFq8Ag\u002Bra/IOyoPrRGmD5HXZW/gOdWv\u002BivvD46\u002BSi/DuLSvZs34T\u002BMvCA/4ofdv4zHOD7IKdk/xiajPxg8JkCYWH0/DsO/Pvn6Cb/Cc0\u002B/cJACPzJZUz9ubGM\u002B/rgaPyDAbL0e2Ge/yn87QKqwRr9Wj30\u002BkAXavvrwjT45uOi\u002BNig4vVrQI8DW5X0/U7AHP8/FQL/jVzU/QrULwBNCor91FtQ/RWBOQHlX7z4FGyw\u002BoFXfvt8yXb8e8/g\u002BjxDWvznTjD8\u002BgmLA9O8bP8VHTb\u002BAgeY/pSkavypNcT8m\u002BRi/nbi9v7CKRj\u002B9cIC/XMbyvtLl2r6wuO\u002B/cgtoP/ARhL9gbK0/HIh\u002BvAgE0b9rTAC/XKFDPxZ/4L5iA5i/0JScPi62yL\u002BUDJG/DH22P3JGrb78D1c/UXp3P8QgTL87nO6/flyTPjzkrL\u002B24RC\u002B4Fs6vjnYWL\u002B8HmM9BmvFv\u002BIfdD7hkY6/hcd7v9jvYr0eo5Y9ZSGsv8nUkr\u002Bg/eA/J0AePxvZycBE7y\u002B/QPDzPcKeZL78KBM\u002ByNLjP4PhFL8HqAhAs4T4vrnm2z5G7K0\u002BHxqEP58hF79SNFO/IX6yvmZ2Kz9SDCc/beztPlMgpj/3x62/Iu6GP9SI0j8BqCxAKEbRv3HDFT6CuLY/yIvbPpwWg75EeJw8WgGvv6fa7D9Smom/1M8qQDhIRr8BFwRAISJUv27DvD\u002BPdgU/QgUZP9x7pz7c0ifACD6QP52UQT8ZsE\u002B/uYZiv5jot7/OSiU/bGFNv6BfOL0ePXc/Tn89P1Ekub/M6Vi/4jggPkUPYr/wmS0/7EVev7GBmz4Crtm/EMiEvo0ljL0jvRLAV7GBv8eyTL\u002Btids/" }, { "CategoryId": 7, "Name": "Cycling Gadgets", "NameEmbeddingBase64": "E8cgvinYhT4rWNI/L5Zkv6yqOb1eB\u002Bm907S5PyDAszx6uLG/tQz1vaFoDcAgtbi/BUbTP0FNuT9tr3q/lkuRv6DmIEBgdj2/IRINQJp0iD91T40/G8RAvxc/nz9/WiW/\u002BpDBP78XPz9sVo\u002B/NGGgPhp1HL4kFG7ALZn8vcZYnT4tJx3AOg86PxLoIMBqor2/3BZHPnmSLT8kLkvAPqhOP\u002Bh81D7wE40/KDbMv8CRBz6UhuU/xkTrPfqaCr9dZFa/qGoHQNSifcDJVfg/LweSv4jLwz\u002BOFiXAl4I8v8JLuT8lCAo\u002BSdAlQLitlD\u002B\u002BghE\u002B\u002BJ0vP\u002B5vAUAg3ZfAss4DQIjjpryP\u002BdI/IO2Vv/0yvj79jNW\u002BurHTP63EVL5sD4e8B4LIP/Tp1z85eF4/fmjDPecfOb9wkHC/0CIlwBSwr7818MU/zHG9v9URYD87uZY/DBd7P9bgt74KXpu/MdT2v3Zw0D9gCns\u002BJXzDv8\u002BiBb4O3rw/m2ueP/liKMC\u002B\u002B\u002B\u002B/39gAvho8xr84aM2\u002BGLwOQdoDt79aKlY/o/8zQHueKT9l9pE/G7UTwODbJz8ujxDA3M7xvzRZDECN6B1Ag\u002BjFPj4GVr8ZbFc/jq2aviomdT8wdKi/BG6aP1qasr4IiyE/ksVWwLS9mD7ApOC7bPP1v\u002ByqJj/SO2q/vW/ZPhcPKEBfLcw\u002BSHeeP9swKEAK8DZAcFsAv21ujz96\u002BOs\u002BUjXXvxITsj9b6AvAs/wNv06lOECxLDC\u002BPiEVvg38c0D7F13ArH6Gv4aXCT8MN78/Yr0ePpoLm7\u002BMkQHATgn9P1KnPL7IHqU//LHFPeCATz92XQ9A9RKgP2a6e0DwMXG/LueuP5ZUAsCqyCQ9kwjpv9YvIj5OsrM/chp7wJWziD9W9LE/mwTkvo/Oqr\u002BOlgw9gdcnP8L/pL9ziJg\u002B88mBQC1W\u002B7072xfAY76nP8s6AMAWoBM/GnTAP9988r8rxrg\u002B9Yz9vvjZ2T2ZGpi\u002Bh6g7wByLC8AXzms/NpdVQMJd0b6tGr09t8u0voooHz/GL5C/zNtzv5wuPsC0uEq/fBcBvvoHAb9xSwVAb\u002BQDwAdvQz94fek/jOOfP/oV8j0XejzApG4VwIw8D0AnDFW\u002BwH6NP8LIgr/q\u002BUdAZ1WlP4ECnL6xHCa/LgrpPn4Aiz7K7uK/wSpGvvJTeD4Dvn0\u002BoGYzwHvNu8BsOjXA0k0zP7IWC0A\u002BjLA/EY7CPzNcSD\u002BfscI/8Eb3voEsQr\u002Bhjm9A\u002Bn04wEP5DsAKJNY\u002BQ22hvxxohz9M5SU/V1JJv/ko1r9mTrm\u002B5NK7PyocsD4IVfC/O53nvxH6KcBqTIA/sq6/QHnwTT/As0c/xKmaP0AeaTz/O7U\u002BMUDkvsyXR8C2\u002BWE\u002B0EC1POxH0j\u002B5Bj8/ygUCwIt9q78TqBq/OJUHQJD/mb9UDue/gux8vwhU6LxZWoi/ggz7v1J8EL\u002B4fPq/HjOJvo0oOECCY9Q/EEJjv7/uHkDuihHAaNF2v9UWLj9s11a/9tD2PoP\u002BRb/COYU\u002BnIXwvpMJeb\u002BohwhA5B/VPqRfqr9XUgzAAtLZP5CGzzwLXD0/XmODQH03eD\u002BsQVo\u002BrHuPP441qr5W8EZA4CeTPzQzij/YSCE8850twB4/Oj5gKk0/LH3ZP9lc1L9oHFC/L7OPP9wsE8Cmde09Hm0Evz4tzD92zHg/7LPHPhqv6L\u002B6tjFA73i2vrIOAcFydHU/rG8FP0NMrz1LNgbAHzAGvxz6PT/E0iJAcNApvnRbuz8VbDy/0vnAP/\u002Bg7z\u002BQ/ce\u002BB73RP5bPFkDiKipAOpt5vmZPnb5XFR\u002B/BOuYP6Dr4j/EjaJAPa02wFjHJUAPbwBAJxMDwDzEsT49Fu\u002B\u002Bs929P6QI5b\u002B8iaq/F9RgP\u002Bn/Ij/Uh0C/bNGTvFa2i7\u002BuIBE\u002BxBSjPlaEyj4gqGi\u002BwqQbPpzNLsDmDbG/OB0mQIsWEcDkr1fAgh\u002Blv2jfYj\u002BQLZK9QZjhv7GOCMBIPU3AlEUmPxxkUT90rma/otk9v198iL\u002BwCzi8wg94vSul8z5jmTTAB9IJvpo7Dr9nO5i\u002B" }, { "CategoryId": 8, "Name": "Adventure Footwear", "NameEmbeddingBase64": "NWfVvwRetD/NPBdASgq7vT/3Dj7UGqg/QuAJvix/sT/2MDzAH4\u002BEvyQlcj7YvLS\u002BCaAFPwrUGz8vhdI/drlXP6x38T\u002B68Es/MoGMv2GqTEBCeldAxF\u002B5PrRSFb8ABMC/dH82wFXQcz/IsXm/Y9jlvu6Pnz43uALABXrGPp8TdD9Hr\u002B\u002B/pEJZv\u002BEilj9Vguw/1BCyv3\u002BxLD9Q14W/3hWZPxsp/b6DfQRAADTAvqURdL\u002BLDzU/To3sv1J4Bz/6qZC\u002B/UyqPsiE6j2QqC2/V2oUP5Uvn7/0m\u002Bq/kWyWP6bU1z8aBq0\u002BwvEGwOwA6j6sZfM\u002BUK0FQDFz1z64zIzAltg6QJxdf77MvxVATI\u002Bnv7RCdj963tW\u002BmUj2PlS/5r/xDAxAnho6QA942j8Hchc/YTfLP0rOB79P45Q\u002BwMYyv4SNAz\u002BkGii/xHHov/J9Sj\u002BlAWA/utLKP0XN5r/ynh9A1tWqvw7kxz9QFbw/982pPnc5xL/I8\u002Bm/jbD4vmpPT79ywKi\u002BpUesvQBzkr/zEli/WKz3QArNjr8qAqg/QGGcP2vr3T8SPS4/ri8xwEtGAUCo/t8/3XeDvrwLI75dNu49yFblvLUTzz7k0ak\u002BiC54wECEtb1SkxDAKLIbP3QrUT9t1uc/gMEZwCLan7/TgJQ/XlCivxRJBsD\u002BQIA\u002B8gRIQMZMBEBwZli\u002B2\u002BggQFoSg75NgjXAwESdu9KNlL2Kz5\u002B/HItevrtJTr\u002BORUA/ob4ZwP5/NEDd6LK/GUWUv6HJBkBAyILARp\u002B2P/4ikz/GWFm/twezvsuher4cJ8o/OVSZP0woJD7u0dA/cPLjv1gO6b5q0Sq9LUodQG3sy77fcl2/DNg7P1PjeL/2La6/evbcP6kNgT9/uto/gG6fwApomz8TOYy/3Krdv84Ih760JYQ/JL69v7BfKL8yv1ZAtBFEQJGZTb2s2xXAoRxzPhWfBcDKLP0/9lT2P2Awm77Ogno/i4CNPjpVm78OwGS\u002BRGaov5h2KD8tHE4/LtO0PzNtwT9VWoXAcI8GQL9ZBsDrDDO/UmuhPwmo3b8y2Xe/hBu2vU9GLcDGbqY/8MyNvRPvpr7McJ881YHVP42sH0Dixxi\u002By/Szv0AljL/sb8m9IB7rvlmfPz85wvu\u002Brx2uv9ARAT4dN5O/Ct99PzQ5nj9cmqW/WbrPP5A\u002BCD/TqtW/0XRWv1xz3cCr8FA/VlOePwYwtb7zf2u/dDE2vbKanD/1apk\u002BqjmWPuknnb\u002BBWyRAKZJPv2TAJj6\u002BfNy96Jv3v87ohT9J\u002Bj5ALkIFwN/lCb\u002BAF1G8qLBnPiZ54j8C15O/jqIYwB82v74T1Ye/JLmpQMHtnEDnNe6\u002BLXqEwAtf9T0tZ\u002B8/NmuDv1JcWcDovR1AiiJKv9Nm5T5\u002BiGjAct2DPYi5J8B9vA0\u002B5DhGQK1o/z9x9YS/GOoBPyRptb7Vg0LA/gAKwBQUuL9HbH\u002B/RBw\u002BPwdAk77fERtALvmFv3QzPb/NLOK/xRGmv0K6q78wLHW/TLdovxMIc77gaaG/fgepPnDsETxvAfA/J5CNP85j2z6ByDm/dg4WQJsEr7/FPYK/tFT6Pu5enT8eZ4G9cFUPQIgfvjwGltc/UFncP1v5JEC1fAK/TEl6PwDGrr60NOm\u002BXTDiPwWESj8sn4q/fPgEPnaI1L/gsvQ7zkyAPWC2ab6V/zG/sioTvyijcb9mEGxAWsj\u002BvetR2cDRq\u002Bw\u002BsoZNP4wPTz8S0bW/EJHEPAosjT7WDS8/sCAPP6d7fj/VhNq9sFvWP6kyDD6d7FS/e75cvi1oDECMOz5A8Jfav9J1oz/uOyvAETTTPwdS1b4ObnhAiTLmPoLHpT5W9UY/rLiivo7P6j4nqUPAWW0sv9iZBEBC54q/Jmh\u002BQBeVRj/L0IK\u002BqMcYQPh9Az\u002Bs4ma9ISk2PwGlCMBU8be\u002B7khlvv5WnD9o0qA/hB4oP5TgOcC4KDA9tQKAPxEqkT6im10/QnKcvj46dL1rfOi/MqsvP\u002Byp4zx4zzw\u002BsQgov3nquL\u002B4mj\u002B/l3Gdv9Asib\u002BAqEnA4rJ3wPYO0L8RQjK/" }, { "CategoryId": 9, "Name": "Sleeping Gear", "NameEmbeddingBase64": "LF3Yv1BrCUCNS3O\u002Bp4gvP6/NBz\u002BCCPg/R\u002BG9P\u002BIf9b6Sg9k\u002Bpy6svjedRr/aAa\u002B98PJ8v\u002BxGH0CxneA/TAhav20W4z8OqhS/79xaPthrFz14Y\u002BA/xk7Nvlp2uz\u002Bo/9k\u002BPbQZP2YBmL8uhHI\u002BDLeIP7KpXr8421HAwn\u002Bpv97VjT8IhXa/LKw2v/85470A8Xy9KfOHP7XaCL9OUCm\u002BbHSkP\u002BAM/j9EzjM/ePEQPzQ2K78Br8s\u002BljeXvbp6W77fZ/y/cmD9P6xZlT6nCYk/szFqvwCIFT8cgBq/ASCjPv7OG73VfkU\u002BxKKLPt9XvD\u002B\u002B26Y/w7Syvvb\u002BKEDmKlrAgaNeP3Jcbj\u002B2WpY/shwXwO7aoT7MsK4/dteQPn7acb/7IiC/LNqwPksgp77moGA/EOpaP9X5BkC23iu/WCpivQZxbL8bTMG/ljXbvkQbbj4spyW\u002B2pl3PiqRcD\u002B44Xm\u002B5zpWvhzENL8yGW\u002B\u002BipAUvxjYzz7Ktnm/DpIAPxml4b0AuDW\u002BtmaIv4/Xhz/uFLm/gPzTQE4cmz/yZhg/9lsfP3vM1T7jQjy/MnVGwK1DNL8sfno/XF7CvmVtZz96n7Y9U7WZP7W2dj9OmXW\u002BKsrvP120mT85eFY/J0M0QAoNwj\u002BEoyQ/PRUdwMwJ/L9GkB5AxLHqvui5wT7gUTy/IIGuPx/aCUD4utc/9gr0PpB3dL9z7ls/uDBaP2BD4T3uRja/NJqaP/Tjm798wSG/4zjevrBBWL3EmE0\u002BHqOAvphcLUDX9lDAbMDgvnBrKL7iw5\u002B/VtCaPuYLHcCuVFk/KkjwPphluj1rbq0\u002B2yjGv5KXpT\u002BB95E/PWcIQPgx5T3kiEm\u002BUFu1vchSvD7CPys/miTWP1Gmmz\u002B\u002Bc5C/NCqdv3L0S78t6tW\u002B\u002Brmdv69WRsCJjyU/uGcEQJaN/76hjwu/qPFTQLtq2D7Wa\u002BO\u002BDPMiv0d44b8QPDI9pjjFPkp/CcCKJ8O/IJh6v34YoD5AdUo8x12uvmXWuj/AyxM/prdsv4Af170GJKm/Zu9qP5qQ2j6COVC/k48\u002Bv75h17/XLp0\u002Bjd8lPx2xkL9ue9I/Kr5hPhhikT\u002BWYFq/iIrZP8wGS0AYivu/5vpKv\u002BTNcD9MbI09Ch6UP\u002BK\u002BrL/iC70/iIA5vR9i\u002BL\u002B5NwJAYMV9v80/qz6l8qm/jQsiP8uISz8qUPm/XsbkvkoGusAu9rE/jt5/P4Rgqb6OXdO9y6IWv4DFRb\u002BKKo8\u002BDlFcv\u002BXcgr\u002BzPSBAJGfGvsAwCMB\u002BsEk/Me34viyAREB67m\u002B\u002BrA8AwBr0gr5C5rS/NrsvPpolAb90IJa/m/X1P0WDVb8mCi2/GjpYQNoXnL5MPSZAxDskv2ImDz\u002Bsy/I/yo\u002BxP1hnUcCihck/uiQAvzxj/z9PkUc/T9W5PhBJC79SmKq/ZLN/QFgfYL/ufpu/dUVyvyxj9b\u002BKzwjANcvHv7q15r7lawq/YXLmPxBfij4uKto/klN7v/qpsD0RLSPAqmhmv8lpmb\u002BXnPe\u002BbJZrv8MzBL/0bkS/nkHGvuhIbL88Ehq/tawvPQXqCL/3ysK\u002BpzEUPkDZuL8BZti/qJ/IPe7r2b\u002BMh4w92sSrP\u002B7xrz/ONbE/gRWGv5z2iz9Yu\u002B2\u002B5uHuPdQeNL51FoW/L75HPvrJkz6Zq4E\u002BFtBSPR5Q2T9oAge9yaoDP\u002BMEPT9AWeo9QXabvo\u002BdIsDVC1dABgSGPpkrs8AwVVi\u002B9IVZwOC5gr8oPCO/Is9AvwAto75i9a8/3WUzvzY6cT\u002BlTAK/v4AiQGY2JL/cZG8/rFk\u002BPtY8kz8y9Pc9dFcZwKP/hj9\u002B2lC/kISHvy5CuT9\u002BmH5AwQiDvtTdH0DnfgtAJn4HPqnXdT/AoRc\u002BqH6OP7UYA0DxYIk\u002BAFo/P15isj2GEug9n1iRv32NG8Al89e\u002B4bOAPwpqBb/QQdw\u002BJGFOP9pVFD/MEv0\u002Br/GaPxr0kL9TmRq/1xTvvzB2Sj4cYB/AUjK6v9vBxL\u002BLksq/BmwwPy5HO77dbfC\u002BZM5DvSIYlj8ZwOw/eXTMv3eJO7887FDAfIANwMN6dr5T6k6/" } ] ================================================ FILE: seeddata/dev/customers.json ================================================ [ { "CustomerId": 71, "FullName": "Sasha Patel" }, { "CustomerId": 338, "FullName": "Elliot Lawson" }, { "CustomerId": 249, "FullName": "Eva Chen" }, { "CustomerId": 236, "FullName": "Riley Williams" }, { "CustomerId": 247, "FullName": "Evelyn Chambers" }, { "CustomerId": 9, "FullName": "Alisha Reynolds" }, { "CustomerId": 134, "FullName": "Emma Lee" }, { "CustomerId": 340, "FullName": "Alexander Chen" }, { "CustomerId": 269, "FullName": "Fiona Reynolds" }, { "CustomerId": 266, "FullName": "Asher Montgomery" }, { "CustomerId": 75, "FullName": "Gina Reynolds" }, { "CustomerId": 192, "FullName": "Natalie Chen" }, { "CustomerId": 43, "FullName": "Aria Thompson" }, { "CustomerId": 350, "FullName": "Terry Smith" }, { "CustomerId": 34, "FullName": "Samantha Johnson" }, { "CustomerId": 88, "FullName": "Elias Porter" }, { "CustomerId": 380, "FullName": "Alex Kim" }, { "CustomerId": 289, "FullName": "Ava Thompson" }, { "CustomerId": 245, "FullName": "Lyla Chan" }, { "CustomerId": 303, "FullName": "Lindsey Chen" }, { "CustomerId": 344, "FullName": "Travis Andrews" }, { "CustomerId": 144, "FullName": "Cassandra Linwood" }, { "CustomerId": 274, "FullName": "Kaitlyn Reynolds" }, { "CustomerId": 341, "FullName": "Maxwell Bennett" }, { "CustomerId": 360, "FullName": "Eliza Thompson" }, { "CustomerId": 163, "FullName": "Grace Harper" }, { "CustomerId": 166, "FullName": "Renee Bennett" }, { "CustomerId": 25, "FullName": "Caroline Thompson" }, { "CustomerId": 150, "FullName": "Lindsay Johnson" }, { "CustomerId": 10, "FullName": "Alyssa Jacobs" }, { "CustomerId": 17, "FullName": "Haley Smith" }, { "CustomerId": 81, "FullName": "Evelyn Kim" }, { "CustomerId": 23, "FullName": "Lila Chang" }, { "CustomerId": 154, "FullName": "Alexandra Martinez" }, { "CustomerId": 237, "FullName": "Tobias Reynolds" }, { "CustomerId": 195, "FullName": "Evelyn Tran" }, { "CustomerId": 277, "FullName": "Evelyn Smith" }, { "CustomerId": 285, "FullName": "Nora Johnson" }, { "CustomerId": 60, "FullName": "Harper Carter" }, { "CustomerId": 257, "FullName": "Marie Chen" }, { "CustomerId": 189, "FullName": "Ella Smith" }, { "CustomerId": 281, "FullName": "Jillian Stanton" }, { "CustomerId": 48, "FullName": "Mila Chang" }, { "CustomerId": 221, "FullName": "Ella Tucker" }, { "CustomerId": 106, "FullName": "Nora Hamilton" }, { "CustomerId": 133, "FullName": "Riley Patel" }, { "CustomerId": 36, "FullName": "Taryn Jacobs" }, { "CustomerId": 204, "FullName": "Evan Smith" }, { "CustomerId": 46, "FullName": "Grace Patel" }, { "CustomerId": 14, "FullName": "Evan McAllister" }, { "CustomerId": 312, "FullName": "Eliot Jensen" }, { "CustomerId": 310, "FullName": "Jenna Adams" }, { "CustomerId": 251, "FullName": "Avery Lim" }, { "CustomerId": 117, "FullName": "Alexandra Park" }, { "CustomerId": 105, "FullName": "Samantha Harris" }, { "CustomerId": 35, "FullName": "Evelyn Simmons" }, { "CustomerId": 72, "FullName": "Samantha Porter" }, { "CustomerId": 66, "FullName": "Hannah Park" }, { "CustomerId": 288, "FullName": "Lila Stevenson" }, { "CustomerId": 55, "FullName": "Ella Park" }, { "CustomerId": 239, "FullName": "Riley Park" }, { "CustomerId": 200, "FullName": "Caroline Collins" }, { "CustomerId": 302, "FullName": "Selena Chen" }, { "CustomerId": 37, "FullName": "Alexis Park" }, { "CustomerId": 378, "FullName": "Jasmine Park" }, { "CustomerId": 205, "FullName": "Evelyn Collins" }, { "CustomerId": 332, "FullName": "Jesse Reynolds" }, { "CustomerId": 22, "FullName": "Harper Nguyen" }, { "CustomerId": 308, "FullName": "Samantha Park" }, { "CustomerId": 382, "FullName": "Lucy Bennett" }, { "CustomerId": 258, "FullName": "Eleanor Rivera" }, { "CustomerId": 49, "FullName": "Alexandra Stevens" }, { "CustomerId": 256, "FullName": "Avery Stone" }, { "CustomerId": 287, "FullName": "Lara Nguyen" }, { "CustomerId": 124, "FullName": "Samantha Preston" }, { "CustomerId": 188, "FullName": "Lila Simmons" }, { "CustomerId": 82, "FullName": "Lena Patel" }, { "CustomerId": 80, "FullName": "Arianna Park" }, { "CustomerId": 156, "FullName": "Ethan Martin" }, { "CustomerId": 233, "FullName": "Samir Patel" }, { "CustomerId": 184, "FullName": "Patricia Harris" }, { "CustomerId": 115, "FullName": "Gavin Park" }, { "CustomerId": 226, "FullName": "Riley Thompson" }, { "CustomerId": 139, "FullName": "Lila Martinez" }, { "CustomerId": 351, "FullName": "Hans Alleman" }, { "CustomerId": 230, "FullName": "Elias Kim" }, { "CustomerId": 120, "FullName": "Nadia Patel" }, { "CustomerId": 214, "FullName": "Evan Carter" }, { "CustomerId": 8, "FullName": "Evelyn Park" }, { "CustomerId": 33, "FullName": "Samantha Miller" }, { "CustomerId": 100, "FullName": "Alexis Taylor" }, { "CustomerId": 363, "FullName": "Elena Kim" }, { "CustomerId": 126, "FullName": "Lila Chen" }, { "CustomerId": 248, "FullName": "Evelyn Tan" }, { "CustomerId": 339, "FullName": "Beckett Chen" }, { "CustomerId": 58, "FullName": "Samantha Hayes" }, { "CustomerId": 368, "FullName": "Jenna Evans" }, { "CustomerId": 265, "FullName": "Dr. Alison Kim" }, { "CustomerId": 70, "FullName": "Mia Johnson" }, { "CustomerId": 30, "FullName": "Eleanor Park" }, { "CustomerId": 19, "FullName": "Maggie O\u0027Connor" }, { "CustomerId": 284, "FullName": "Cameron Smith" }, { "CustomerId": 296, "FullName": "Megan Crawford" }, { "CustomerId": 322, "FullName": "Lindsay Tanaka" }, { "CustomerId": 152, "FullName": "Lena Park" }, { "CustomerId": 313, "FullName": "Lindsay Chen" }, { "CustomerId": 79, "FullName": "Jonathan Wu" }, { "CustomerId": 375, "FullName": "Jordan Haines" }, { "CustomerId": 52, "FullName": "Riley Jackson" }, { "CustomerId": 255, "FullName": "Adrian Park" }, { "CustomerId": 212, "FullName": "Jamie Wright" }, { "CustomerId": 162, "FullName": "Hannah Smith" }, { "CustomerId": 324, "FullName": "Brandon Park" }, { "CustomerId": 138, "FullName": "Nadia Chen" }, { "CustomerId": 62, "FullName": "Evan Park" }, { "CustomerId": 44, "FullName": "Lena Miller" }, { "CustomerId": 315, "FullName": "Evan Caldwell" }, { "CustomerId": 300, "FullName": "Evelyn Patterson" }, { "CustomerId": 377, "FullName": "Mia Reynolds" }, { "CustomerId": 111, "FullName": "Megan Harper" }, { "CustomerId": 196, "FullName": "Lila Benson" }, { "CustomerId": 194, "FullName": "Renee Marshall" }, { "CustomerId": 104, "FullName": "Linda Chen" }, { "CustomerId": 94, "FullName": "Bridgette Patterson" }, { "CustomerId": 164, "FullName": "Nathan Reynolds" }, { "CustomerId": 268, "FullName": "Nora Kim" }, { "CustomerId": 160, "FullName": "Evelyn Yang" }, { "CustomerId": 329, "FullName": "Remy Johnson" }, { "CustomerId": 83, "FullName": "Elena Park" }, { "CustomerId": 137, "FullName": "Linden Chan" }, { "CustomerId": 355, "FullName": "Samantha Andrews" }, { "CustomerId": 374, "FullName": "Samantha Wright" }, { "CustomerId": 50, "FullName": "Dakota Reyes" }, { "CustomerId": 349, "FullName": "Liam Thompson" }, { "CustomerId": 18, "FullName": "Evelyn Gardner" }, { "CustomerId": 317, "FullName": "Yvette Chen" }, { "CustomerId": 175, "FullName": "Eliana Pearson" }, { "CustomerId": 383, "FullName": "Marley Johnson" }, { "CustomerId": 283, "FullName": "Hannah Liu" }, { "CustomerId": 132, "FullName": "Riley Tanner" }, { "CustomerId": 259, "FullName": "Lila Patel" }, { "CustomerId": 238, "FullName": "Derek Hughes" }, { "CustomerId": 197, "FullName": "Olivia Hart" }, { "CustomerId": 168, "FullName": "Evan Reynolds" }, { "CustomerId": 263, "FullName": "Lila Park" }, { "CustomerId": 225, "FullName": "Emma Smith" }, { "CustomerId": 187, "FullName": "Lila Porter" }, { "CustomerId": 169, "FullName": "Samantha Chen" }, { "CustomerId": 7, "FullName": "Evan Williams" }, { "CustomerId": 76, "FullName": "Ella Chen" }, { "CustomerId": 109, "FullName": "Morgan T. Reynolds" }, { "CustomerId": 216, "FullName": "Eliana Chen" }, { "CustomerId": 45, "FullName": "Alexa Park" }, { "CustomerId": 122, "FullName": "Alexis Johnson" }, { "CustomerId": 77, "FullName": "Sasha Park" }, { "CustomerId": 328, "FullName": "Dr. Alexei Petrov" }, { "CustomerId": 314, "FullName": "Mila Patel" }, { "CustomerId": 84, "FullName": "Hannah Lee" }, { "CustomerId": 170, "FullName": "Emily Kim" }, { "CustomerId": 61, "FullName": "Lila Cunningham" }, { "CustomerId": 56, "FullName": "Evan Johnson" }, { "CustomerId": 114, "FullName": "Lila Davis" }, { "CustomerId": 57, "FullName": "Amelia Chang" }, { "CustomerId": 305, "FullName": "Aria Jones" }, { "CustomerId": 20, "FullName": "Sophie Chang" }, { "CustomerId": 95, "FullName": "Evan Chambers" }, { "CustomerId": 186, "FullName": "Avery Sutton" }, { "CustomerId": 92, "FullName": "Alexandra Chan" }, { "CustomerId": 357, "FullName": "Evelyn Bennett" }, { "CustomerId": 198, "FullName": "Olivia Chen" }, { "CustomerId": 362, "FullName": "Dr. Megan Davidson" }, { "CustomerId": 146, "FullName": "Lena Smith" }, { "CustomerId": 96, "FullName": "Evan Patel" }, { "CustomerId": 145, "FullName": "Becky Thompson" }, { "CustomerId": 272, "FullName": "Avery Shaw" }, { "CustomerId": 153, "FullName": "Lindsay Anderson" }, { "CustomerId": 215, "FullName": "Emma Porter" }, { "CustomerId": 147, "FullName": "Rachel Johnson" }, { "CustomerId": 318, "FullName": "Samantha Chan" }, { "CustomerId": 327, "FullName": "Natalie Chan" }, { "CustomerId": 291, "FullName": "Sarah Johnson" }, { "CustomerId": 262, "FullName": "Elliott Park" }, { "CustomerId": 235, "FullName": "Lana Park" }, { "CustomerId": 59, "FullName": "Hannah Wu" }, { "CustomerId": 311, "FullName": "Alexis Cunningham" }, { "CustomerId": 180, "FullName": "Megan Bryant" }, { "CustomerId": 347, "FullName": "Morgan Stevens" }, { "CustomerId": 191, "FullName": "Evan Walters" }, { "CustomerId": 13, "FullName": "Evelyn Hart" }, { "CustomerId": 304, "FullName": "Rebecca Thompson" }, { "CustomerId": 89, "FullName": "Zara Montgomery" }, { "CustomerId": 201, "FullName": "Wendy Davis" }, { "CustomerId": 176, "FullName": "Remy Thompson" }, { "CustomerId": 142, "FullName": "Dr. Samantha Chen" }, { "CustomerId": 254, "FullName": "Aria Kim" }, { "CustomerId": 326, "FullName": "Harper Green" }, { "CustomerId": 282, "FullName": "Lydia Chen" }, { "CustomerId": 171, "FullName": "Riley Anderson" }, { "CustomerId": 118, "FullName": "Oliver Cheng" }, { "CustomerId": 366, "FullName": "Evelyn Morrison" }, { "CustomerId": 373, "FullName": "Eliot Finley" }, { "CustomerId": 112, "FullName": "Chandra Patel" }, { "CustomerId": 358, "FullName": "Elena Sanchez" }, { "CustomerId": 68, "FullName": "Marley Clarke" }, { "CustomerId": 346, "FullName": "Stella Reynolds" }, { "CustomerId": 292, "FullName": "Eliot Bennett" }, { "CustomerId": 157, "FullName": "Megan Rivers" }, { "CustomerId": 228, "FullName": "Kristen Landon" }, { "CustomerId": 365, "FullName": "Hannah Reynolds" }, { "CustomerId": 203, "FullName": "Ella Davies" }, { "CustomerId": 135, "FullName": "Marissa Thompson" }, { "CustomerId": 211, "FullName": "Marcella Bishop" }, { "CustomerId": 213, "FullName": "Dr. Olivia Chen" }, { "CustomerId": 199, "FullName": "Emerson Chang" }, { "CustomerId": 280, "FullName": "Avery Matthews" }, { "CustomerId": 337, "FullName": "Evelyn Rivera" }, { "CustomerId": 320, "FullName": "Eleanor Davidson" }, { "CustomerId": 273, "FullName": "Mila Jacobs" }, { "CustomerId": 99, "FullName": "Megan Briggs" }, { "CustomerId": 86, "FullName": "Hannah Chang" }, { "CustomerId": 93, "FullName": "Erik Johnson" }, { "CustomerId": 367, "FullName": "Evelyn MacKenzie" }, { "CustomerId": 4, "FullName": "Alexandra Miller" }, { "CustomerId": 85, "FullName": "Eva Thompson" }, { "CustomerId": 323, "FullName": "Eleanor Chang" }, { "CustomerId": 293, "FullName": "Janice Fitzgerald" }, { "CustomerId": 11, "FullName": "Hannah Michaels" }, { "CustomerId": 335, "FullName": "Isabella Caldwell" }, { "CustomerId": 224, "FullName": "Alexis Bennett" }, { "CustomerId": 103, "FullName": "Samantha Washington" }, { "CustomerId": 140, "FullName": "Lila Richards" }, { "CustomerId": 371, "FullName": "Samantha Chang" }, { "CustomerId": 241, "FullName": "Bethany Reynolds" }, { "CustomerId": 336, "FullName": "Eleanor Green" }, { "CustomerId": 370, "FullName": "Avery Thompson" }, { "CustomerId": 298, "FullName": "Eleanor Morse" }, { "CustomerId": 229, "FullName": "Aiden Smith" }, { "CustomerId": 5, "FullName": "Evan Thompson" }, { "CustomerId": 218, "FullName": "Hannah Patel" }, { "CustomerId": 178, "FullName": "Evelyn Harper" }, { "CustomerId": 64, "FullName": "Evelyn Chen" }, { "CustomerId": 40, "FullName": "Danielle Murphy" }, { "CustomerId": 16, "FullName": "Marisol Perez" }, { "CustomerId": 275, "FullName": "Evelyn Sullivan" }, { "CustomerId": 240, "FullName": "Marissa Johnson" }, { "CustomerId": 172, "FullName": "Alexandra Smith" }, { "CustomerId": 234, "FullName": "Tara Nguyen" }, { "CustomerId": 261, "FullName": "Julian Bennett" }, { "CustomerId": 359, "FullName": "Evelyn Knight" }, { "CustomerId": 286, "FullName": "Emerson Hayes" }, { "CustomerId": 325, "FullName": "Natalie Blakely" }, { "CustomerId": 78, "FullName": "Martha Reynolds" }, { "CustomerId": 119, "FullName": "Avery Brooks" }, { "CustomerId": 69, "FullName": "Dr. Abigail Reynolds" }, { "CustomerId": 252, "FullName": "Dr. Alexandra Chen" }, { "CustomerId": 354, "FullName": "Jasper Reynolds" }, { "CustomerId": 47, "FullName": "Samantha Smith" }, { "CustomerId": 39, "FullName": "Eleanor Liu" }, { "CustomerId": 127, "FullName": "Avery Reynolds" }, { "CustomerId": 165, "FullName": "Dexter Smith" }, { "CustomerId": 158, "FullName": "Jordan Reynolds" }, { "CustomerId": 107, "FullName": "Julian Kim" }, { "CustomerId": 361, "FullName": "Maxine Robertson" }, { "CustomerId": 223, "FullName": "Erika Matthews" }, { "CustomerId": 15, "FullName": "Oliver Greene" }, { "CustomerId": 348, "FullName": "Avery Chen" }, { "CustomerId": 129, "FullName": "Sophie Jenkins" }, { "CustomerId": 316, "FullName": "Ella Dawson" }, { "CustomerId": 190, "FullName": "Lila Reynolds" }, { "CustomerId": 90, "FullName": "Eleanor Langley" }, { "CustomerId": 131, "FullName": "Alexis Rodriguez" }, { "CustomerId": 321, "FullName": "Eleanor Chung" }, { "CustomerId": 206, "FullName": "Cameron Jackson" }, { "CustomerId": 343, "FullName": "Vivian Tilden" }, { "CustomerId": 161, "FullName": "Liam Garcia" }, { "CustomerId": 250, "FullName": "Lila Jameson" }, { "CustomerId": 185, "FullName": "Olivia Park" }, { "CustomerId": 207, "FullName": "Alanna Smith" }, { "CustomerId": 345, "FullName": "Natalie Kim" }, { "CustomerId": 231, "FullName": "Jenny Lee" }, { "CustomerId": 295, "FullName": "Riley Chen" }, { "CustomerId": 167, "FullName": "Samantha Lee" }, { "CustomerId": 32, "FullName": "Evelyn Chang" }, { "CustomerId": 379, "FullName": "Dr. Evelyn Nguyen" }, { "CustomerId": 193, "FullName": "Sophie Martinez" }, { "CustomerId": 210, "FullName": "Zara Smith" }, { "CustomerId": 130, "FullName": "Mila Johnson" }, { "CustomerId": 151, "FullName": "Evelyn Nguyen" }, { "CustomerId": 74, "FullName": "Avery Johnson" }, { "CustomerId": 232, "FullName": "Amelia Cooper" }, { "CustomerId": 181, "FullName": "Megan Stevens" }, { "CustomerId": 108, "FullName": "Talia Richardson" }, { "CustomerId": 87, "FullName": "Evelyn Andrews" }, { "CustomerId": 369, "FullName": "Samantha Patel" }, { "CustomerId": 67, "FullName": "Hollis Davidson" }, { "CustomerId": 155, "FullName": "Liam Reynolds" }, { "CustomerId": 12, "FullName": "Eliot Chang" }, { "CustomerId": 31, "FullName": "Eliana Jordan" }, { "CustomerId": 202, "FullName": "Alicia Nguyen" }, { "CustomerId": 149, "FullName": "Elena Chen" }, { "CustomerId": 244, "FullName": "Evelyn Davidson" }, { "CustomerId": 307, "FullName": "Evelyn Gray" }, { "CustomerId": 253, "FullName": "Eliza Park" }, { "CustomerId": 376, "FullName": "Lauren Smith" }, { "CustomerId": 219, "FullName": "Abigail Chen" }, { "CustomerId": 173, "FullName": "Benjamin Hargrove" }, { "CustomerId": 182, "FullName": "Lindsay Bennett" }, { "CustomerId": 63, "FullName": "Megan Nguyen" }, { "CustomerId": 6, "FullName": "Evelyn Rivers" }, { "CustomerId": 183, "FullName": "Lila Hernandez" }, { "CustomerId": 28, "FullName": "Benjamin Marks" }, { "CustomerId": 217, "FullName": "Lila Andrews" }, { "CustomerId": 353, "FullName": "Megan O\u0027Conner" }, { "CustomerId": 38, "FullName": "Samantha Winters" }, { "CustomerId": 299, "FullName": "Eliza Kim" }, { "CustomerId": 222, "FullName": "Megan Park" }, { "CustomerId": 27, "FullName": "Kai Romanov" }, { "CustomerId": 53, "FullName": "Emily Chen" }, { "CustomerId": 267, "FullName": "Evelyn Sinclair" }, { "CustomerId": 290, "FullName": "Evan Miller" }, { "CustomerId": 301, "FullName": "Lyla Bennett" }, { "CustomerId": 54, "FullName": "Aiden Johnson" }, { "CustomerId": 42, "FullName": "Samantha Greene" }, { "CustomerId": 279, "FullName": "Jamie Fitzgerald" }, { "CustomerId": 278, "FullName": "Megan Carter" }, { "CustomerId": 319, "FullName": "Dylan Harlow" }, { "CustomerId": 260, "FullName": "Elena Marshall" }, { "CustomerId": 246, "FullName": "Dr. Sarah Kennedy" }, { "CustomerId": 116, "FullName": "Marie Thompson" }, { "CustomerId": 26, "FullName": "Samantha Reynolds" }, { "CustomerId": 364, "FullName": "Ella Johnson" }, { "CustomerId": 242, "FullName": "Lara Morales" }, { "CustomerId": 143, "FullName": "Riley Johnson" }, { "CustomerId": 136, "FullName": "Landon Nguyen" }, { "CustomerId": 1, "FullName": "Lina Patel" }, { "CustomerId": 209, "FullName": "Lindsey Marino" }, { "CustomerId": 356, "FullName": "Caleb Johnson" }, { "CustomerId": 159, "FullName": "Alexis Reynolds" }, { "CustomerId": 123, "FullName": "Maia Chen" }, { "CustomerId": 297, "FullName": "Evelyn Peterson" }, { "CustomerId": 91, "FullName": "Liam Patel" }, { "CustomerId": 24, "FullName": "Samantha Jacobs" }, { "CustomerId": 177, "FullName": "Evan Monroe" }, { "CustomerId": 125, "FullName": "Riley Clarkson" }, { "CustomerId": 73, "FullName": "Evelyn Chan" }, { "CustomerId": 3, "FullName": "Eleanor Montgomery" }, { "CustomerId": 98, "FullName": "Ethan Reynolds" }, { "CustomerId": 270, "FullName": "Jordan Smith" }, { "CustomerId": 102, "FullName": "Lila Henderson" }, { "CustomerId": 141, "FullName": "Eve Chen" }, { "CustomerId": 174, "FullName": "Megan Johnson" }, { "CustomerId": 208, "FullName": "Alexis Chen" }, { "CustomerId": 51, "FullName": "Joanna Blackwood" }, { "CustomerId": 243, "FullName": "Lila Summers" }, { "CustomerId": 276, "FullName": "Sophia Hughes" }, { "CustomerId": 331, "FullName": "Avery Cho" }, { "CustomerId": 330, "FullName": "Avery Park" }, { "CustomerId": 264, "FullName": "Samantha Parker" }, { "CustomerId": 381, "FullName": "Kai Anderson" }, { "CustomerId": 65, "FullName": "Lenny Petrov" }, { "CustomerId": 306, "FullName": "Maxine Shaw" }, { "CustomerId": 128, "FullName": "Evelyn Johnson" }, { "CustomerId": 148, "FullName": "Avery Jennings" }, { "CustomerId": 121, "FullName": "Eleanor Kim" }, { "CustomerId": 352, "FullName": "Harper Johnson" }, { "CustomerId": 29, "FullName": "Lila Chambers" }, { "CustomerId": 41, "FullName": "Alexandra Thompson" }, { "CustomerId": 333, "FullName": "Zara Patel" }, { "CustomerId": 372, "FullName": "Emma Chen" }, { "CustomerId": 294, "FullName": "Nicolette Adams" }, { "CustomerId": 101, "FullName": "Toby Reynolds" }, { "CustomerId": 97, "FullName": "Natalie Reynolds" }, { "CustomerId": 113, "FullName": "Farrah Greene" }, { "CustomerId": 342, "FullName": "Marissa Green" }, { "CustomerId": 271, "FullName": "Samantha Winslow" }, { "CustomerId": 220, "FullName": "Evelyn Jacobs" }, { "CustomerId": 334, "FullName": "Eloise Park" }, { "CustomerId": 309, "FullName": "Lindsay Abbott" }, { "CustomerId": 227, "FullName": "Nathaniel McAllister" }, { "CustomerId": 21, "FullName": "Megan Robertson" }, { "CustomerId": 179, "FullName": "Samantha Jenkins" }, { "CustomerId": 2, "FullName": "Ainsley Chan" }, { "CustomerId": 110, "FullName": "Avery Chang" } ] ================================================ FILE: seeddata/dev/evalquestions.json ================================================ [ { "QuestionId": 1, "ProductId": 158, "Question": "How to access essentials?", "Answer": "Unzip the main compartment" }, { "QuestionId": 2, "ProductId": 199, "Question": "What are the overheating precautions?", "Answer": "Do not leave in direct sunlight for extended periods." }, { "QuestionId": 3, "ProductId": 99, "Question": "Hi there, I recently purchased the Summit 3000 Trekking Backpack and I\u0027m having issues with the strap adjustment. Can you provide me with the specified torque value for the strap adjustment bolts?", "Answer": "15-20 Nm" }, { "QuestionId": 4, "ProductId": 35, "Question": "What is included in the set?", "Answer": "2-quart pot, 1-quart pot, 7.5-inch frying pan, 2 lids, Mesh carry bag" }, { "QuestionId": 5, "ProductId": 28, "Question": "How to turn on the purifier?", "Answer": "Press and hold power button for 3 seconds." }, { "QuestionId": 6, "ProductId": 51, "Question": "What does the warranty cover?", "Answer": "Defects in materials or workmanship for one year" }, { "QuestionId": 7, "ProductId": 137, "Question": "Waterproof rating?", "Answer": "IP67, 1 meter for 30 minutes" }, { "QuestionId": 8, "ProductId": 103, "Question": "How to use water pouches?", "Answer": "Tear open the top and drink directly" }, { "QuestionId": 9, "ProductId": 108, "Question": "What precautions should be taken for placement?", "Answer": "On a flat, stable surface" }, { "QuestionId": 10, "ProductId": 86, "Question": "Hi there, I just received my SOS Multitool Kit and the case is cracked. What should I do?", "Answer": "Contact Survive All customer service for a replacement case." }, { "QuestionId": 11, "ProductId": 26, "Question": "How do I attach the paddle shaft?", "Answer": "Gently twist in a clockwise direction" }, { "QuestionId": 12, "ProductId": 157, "Question": "How to open waterproof casing?", "Answer": "Press latch and slide panel" }, { "QuestionId": 13, "ProductId": 52, "Question": "GPS limitations?", "Answer": "May be affected by environmental conditions." }, { "QuestionId": 14, "ProductId": 148, "Question": "Machine washing instructions?", "Answer": "Use gentle cycle with cold water and mild detergent." }, { "QuestionId": 15, "ProductId": 163, "Question": "How should the Stealth Cam 500 battery be charged?", "Answer": "Using the provided charger only" }, { "QuestionId": 16, "ProductId": 24, "Question": "How do I get in the sleeping bag?", "Answer": "Enter the sleeping bag, then zip it up." }, { "QuestionId": 17, "ProductId": 21, "Question": "Hi there, my WeatherGuard Pro 3000 doesn\u0027t seem to be charging properly. I\u0027ve checked the power bank and the USB cable, but it\u0027s still not working. Can you help?", "Answer": "Make sure the power bank is turned on and connected to your device." }, { "QuestionId": 18, "ProductId": 192, "Question": "Hi there, I recently purchased the Venture 45L Backpack and I\u0027m wondering how to clean it properly. Can I use any kind of detergent and water?", "Answer": "Use a mild detergent and lukewarm water to spot clean the exterior of the backpack." }, { "QuestionId": 19, "ProductId": 91, "Question": "Moisture Content Acceptance Criteria?", "Answer": "The moisture content level must be 0%" }, { "QuestionId": 20, "ProductId": 138, "Question": "What is included in the Ultimate Survival Kit 3000?", "Answer": "Red and black multi-function survival knife, compact and powerful LED flashlight with adjustable beam, emergency whistle and signal mirror, green and orange paracord, water purification tablets and water storage pouch, mini first aid kit, aluminum emergency blanket, multi-tool with pliers, screwdrivers, and wire cutters, compass, and fire starter." }, { "QuestionId": 21, "ProductId": 97, "Question": "How to access screwdriver?", "Answer": "Unfold appropriately labeled handle." }, { "QuestionId": 22, "ProductId": 70, "Question": "Hi, I just bought the Juice Junkie Solar Power Bank and I\u0027m having trouble measuring the USB output voltage. Can you guide me through the steps to measure the voltage?", "Answer": "Connect USB multimeter, activate, and record the reading." }, { "QuestionId": 23, "ProductId": 200, "Question": "What is the Raptor Tactical Backpack equipped with?", "Answer": "MOLLE webbing" }, { "QuestionId": 24, "ProductId": 125, "Question": "What advanced procedures can be performed?", "Answer": "Suturing, wound cleaning, and minor surgery" }, { "QuestionId": 25, "ProductId": 16, "Question": "How to configure the system?", "Answer": "Select the appropriate filter cartridge based on water quality analysis results." }, { "QuestionId": 26, "ProductId": 89, "Question": "How to clean?", "Answer": "Use non-abrasive sponge with mild dish soap." }, { "QuestionId": 27, "ProductId": 148, "Question": "How long is the warranty?", "Answer": "Limited Lifetime Warranty" }, { "QuestionId": 28, "ProductId": 104, "Question": "Filtration efficiency?", "Answer": "99.9%" }, { "QuestionId": 29, "ProductId": 141, "Question": "How to troubleshoot fire starter failure?", "Answer": "Check Ferrocerium Rod, Inspect Striker, Test Under Different Conditions" }, { "QuestionId": 30, "ProductId": 154, "Question": "Hi there, I\u0027m interested in the GuardianGear GPS Personal Locator. Can you tell me the dimensions and weight of the device?", "Answer": "Length: 3.5 inches, Width: 2 inches, Thickness: 0.6 inches, Weight: 3.5 ounces" }, { "QuestionId": 31, "ProductId": 169, "Question": "Is it dishwasher safe?", "Answer": "Yes" }, { "QuestionId": 32, "ProductId": 50, "Question": "how to clean the hydration system?", "Answer": "Refer to the \u0027Cleaning and Maintenance\u0027 section in the user manual." }, { "QuestionId": 33, "ProductId": 146, "Question": "How to take Energy Boost 500?", "Answer": "Follow 6 meticulous steps in the manual." }, { "QuestionId": 34, "ProductId": 144, "Question": "How to secure gear?", "Answer": "Attach to gear loops using clips or loops" }, { "QuestionId": 35, "ProductId": 92, "Question": "Hello, I just received my AquaPure Portable Water Filter. Should I rinse the filter cartridge before using it for the first time?", "Answer": "Yes, rinse under clean, potable water for 10 seconds." }, { "QuestionId": 36, "ProductId": 99, "Question": "How to measure tensile strength?", "Answer": "Use a tensile testing machine" }, { "QuestionId": 37, "ProductId": 192, "Question": "How to clean?", "Answer": "Spot clean with mild detergent and lukewarm water." }, { "QuestionId": 38, "ProductId": 110, "Question": "Do PowerFuel Energy Bars contain gluten?", "Answer": "No, PowerFuel Energy Bars are gluten-free." }, { "QuestionId": 39, "ProductId": 91, "Question": "Hi there, I recently purchased the Stormguard WeatherShield Pro Jacket and I want to make sure I\u0027m taking care of it properly. Can you tell me how to perform the moisture retention analysis?", "Answer": "Select a representative area of the jacket, use a moisture analyzer, and compare the results with acceptable thresholds." }, { "QuestionId": 40, "ProductId": 23, "Question": "Hey there, I recently purchased the EZ Camp QuickShade Portable Shelter and I\u0027m wondering how to take it down properly. Can you provide some guidance?", "Answer": "Carefully lower the shelter to a comfortable height and collapse the telescoping poles by pressing the release buttons." }, { "QuestionId": 41, "ProductId": 135, "Question": "What connectivity options does the WideView 360 have?", "Answer": "Wi-Fi and Bluetooth" }, { "QuestionId": 42, "ProductId": 148, "Question": "How to fix zipper stuck?", "Answer": "Gently pull in opposite direction." }, { "QuestionId": 43, "ProductId": 46, "Question": "How to position the solar cooker?", "Answer": "Adjust the cooker\u0027s position throughout the day" }, { "QuestionId": 44, "ProductId": 157, "Question": "Hi there, I just got the 360X Action Camera and I\u0027m having trouble figuring out how to start recording a video. Can you help?", "Answer": "Press the Shutter button." }, { "QuestionId": 45, "ProductId": 111, "Question": "How to clean the reservoir?", "Answer": "Rinse with warm, soapy water." }, { "QuestionId": 46, "ProductId": 144, "Question": "What is not covered by the warranty?", "Answer": "Damage caused by misuse, abuse, neglect, improper maintenance, alterations, accidents, or normal wear and tear" }, { "QuestionId": 47, "ProductId": 133, "Question": "What is the hydration compatibility feature?", "Answer": "Stay hydrated during outdoor excursions" }, { "QuestionId": 48, "ProductId": 106, "Question": "How to store the sleeping bag?", "Answer": "In a cool, dry place" }, { "QuestionId": 49, "ProductId": 198, "Question": "Hi there, I just bought the WildBeat Portable Bluetooth Speaker and I\u0027m having trouble pairing it with my phone. Can you walk me through the steps to pair the speaker with my device?", "Answer": "Press and hold power button until LED flashes blue and red. Select \u0027WildBeat\u0027 from Bluetooth settings on your device." }, { "QuestionId": 50, "ProductId": 45, "Question": "How to check battery level?", "Answer": "Press power button." }, { "QuestionId": 51, "ProductId": 65, "Question": "Difficulty opening tools?", "Answer": "Check for rust or debris" }, { "QuestionId": 52, "ProductId": 130, "Question": "Charging time?", "Answer": "Approximately 3 hours" }, { "QuestionId": 53, "ProductId": 22, "Question": "How to install rain cover?", "Answer": "Follow steps 1-4 in manual." }, { "QuestionId": 54, "ProductId": 131, "Question": "How to fix camera not turning on?", "Answer": "Reset by removing batteries and reinserting" }, { "QuestionId": 55, "ProductId": 160, "Question": "Hi there, I recently purchased the Trailblazer GPS Navigation Device and I\u0027m having trouble pairing it with my smartphone. Can you walk me through the steps to pair it with my phone?", "Answer": "Download Geotrack app, enable Bluetooth, follow on-screen instructions." }, { "QuestionId": 56, "ProductId": 46, "Question": "What to do if SunSpot not reaching high temperatures?", "Answer": "Extend reflectors, check for obstructions, adjust position" }, { "QuestionId": 57, "ProductId": 160, "Question": "How to clean device?", "Answer": "Use soft, dry cloth." }, { "QuestionId": 58, "ProductId": 43, "Question": "Hi, I just received my NightOps Tactical Flashlight and I can\u0027t find the spare O-rings. Are they supposed to be included?", "Answer": "Yes, spare O-rings are included." }, { "QuestionId": 59, "ProductId": 199, "Question": "Hello, I just bought the SunShift 100W Solar Charger. I need to know the maximum power output of this charger. Can you please provide that information?", "Answer": "100W" }, { "QuestionId": 60, "ProductId": 178, "Question": "Hi there, I just bought the PowerBar Pro 2021 and I\u0027m wondering how I should store it to maintain its quality. Can I keep it in the fridge?", "Answer": "Store on a dry and cool place, not in the fridge" }, { "QuestionId": 61, "ProductId": 176, "Question": "How to take a photo?", "Answer": "Press power button, select mode, frame shot, press shutter button, review photo" }, { "QuestionId": 62, "ProductId": 89, "Question": "How to assemble the cookware set?", "Answer": "Follow easy steps in manual." }, { "QuestionId": 63, "ProductId": 12, "Question": "Hi there, I just bought the TrailGPS 5000 and wanted to know if I can use any charger to recharge the battery or if I have to use the one provided. Thanks!", "Answer": "Always use the provided charger" }, { "QuestionId": 64, "ProductId": 35, "Question": "How to clean the cookware?", "Answer": "Use mild dish soap and soft sponge." }, { "QuestionId": 65, "ProductId": 183, "Question": "How to clean the pot?", "Answer": "Hand wash only with mild soap and warm water." }, { "QuestionId": 66, "ProductId": 197, "Question": "How to troubleshoot stove ignition?", "Answer": "Check fuel canister, inspect ignition switch" }, { "QuestionId": 67, "ProductId": 200, "Question": "How to properly adjust shoulder straps?", "Answer": "Utilize the adjustable shoulder straps" }, { "QuestionId": 68, "ProductId": 155, "Question": "How to initiate charging?", "Answer": "Press the power button." }, { "QuestionId": 69, "ProductId": 195, "Question": "hydration bladder compatibility", "Answer": "compatible with most 2-liter bladders" }, { "QuestionId": 70, "ProductId": 192, "Question": "Front pocket features?", "Answer": "Map, compass, snacks storage" }, { "QuestionId": 71, "ProductId": 81, "Question": "How to attach to climbing rope?", "Answer": "1. Locate the belay loop, 2. Use a locking carabiner, 3. Double-check" }, { "QuestionId": 72, "ProductId": 39, "Question": "How do I fold the tent?", "Answer": "Press and hold red folding levers." }, { "QuestionId": 73, "ProductId": 58, "Question": "SOS button not functioning?", "Answer": "Try system reset or contact support." }, { "QuestionId": 74, "ProductId": 137, "Question": "Hi there, I\u0027m interested in purchasing the WildBeat Pro DJ Controller. Can you tell me about the care and storage recommendations for this product?", "Answer": "Store in cool, dry place away from direct sunlight and extreme temperatures." }, { "QuestionId": 75, "ProductId": 132, "Question": "How to troubleshoot rod not casting properly?", "Answer": "Check for Line Tangles, Inspect Rod Guides, Verify Reel Mounting, Adjust Casting Technique, Rod Maintenance" }, { "QuestionId": 76, "ProductId": 134, "Question": "Hello, I just received my SolarFire 2000 and I\u0027m trying to set it up. Can you tell me how to assemble the stove and solar panel?", "Answer": "Unfold solar panel, position in sunlight, unfold stove, attach pot securely." }, { "QuestionId": 77, "ProductId": 77, "Question": "Hi there, I just bought the Solar Charger 3000X and I\u0027m not sure how to check the battery status. Can you help?", "Answer": "Press the power button." }, { "QuestionId": 78, "ProductId": 79, "Question": "How should the Adventure Pro Camera be stored?", "Answer": "Cool, dry place away from direct sunlight" }, { "QuestionId": 79, "ProductId": 76, "Question": "How do I power on Wilderness DJ Pro?", "Answer": "Locate the power button on the console." }, { "QuestionId": 80, "ProductId": 167, "Question": "What is the Backpacker Cookware Set designed for?", "Answer": "Outdoor use in backcountry environments" }, { "QuestionId": 81, "ProductId": 35, "Question": "How should I clean the cookware?", "Answer": "Use a soft sponge or cloth to gently scrub off any food residue." }, { "QuestionId": 82, "ProductId": 144, "Question": "Hi there, I just bought the ProLite Climbing Harness and I\u0027m not sure how to properly attach it to the climbing rope. Can you give me some guidance?", "Answer": "Clip the carabiner through the belay loop and ensure it is properly locked before starting your climb." }, { "QuestionId": 83, "ProductId": 48, "Question": "how to reset speaker?", "Answer": "press and hold power button for 10 seconds" }, { "QuestionId": 84, "ProductId": 64, "Question": "how to activate purification process?", "Answer": "Press and hold power button." }, { "QuestionId": 85, "ProductId": 69, "Question": "Hi, I just received my Summit Step Alpine Explorer Hiking Boots and I\u0027m not sure if I got all the components mentioned in the manual. Can you confirm what should be included in the packaging?", "Answer": "You should receive an extra pair of laces and an information booklet." }, { "QuestionId": 86, "ProductId": 35, "Question": "How to clean after use?", "Answer": "Wash with mild dish soap." }, { "QuestionId": 87, "ProductId": 95, "Question": "Hello, I recently purchased the Summit 4-Season Sleeping Bag and noticed some clumping of insulation. What\u0027s the best way to fix this issue?", "Answer": "Fluff the sleeping bag" }, { "QuestionId": 88, "ProductId": 31, "Question": "What items are included in the box?", "Answer": "Nomad Camping Stove, fuel canister, user manual" }, { "QuestionId": 89, "ProductId": 176, "Question": "how to stop video recording?", "Answer": "Press the \u0022Record\u0022 button again." }, { "QuestionId": 90, "ProductId": 77, "Question": "Charging via USB steps?", "Answer": "Connect USB cable to power source, then to charger\u0027s USB port" }, { "QuestionId": 91, "ProductId": 74, "Question": "How should I clean the hammock?", "Answer": "Hand wash with mild soap and water" }, { "QuestionId": 92, "ProductId": 63, "Question": "How to turn on lights?", "Answer": "Press power button once" }, { "QuestionId": 93, "ProductId": 192, "Question": "What items can be stored in the front pocket?", "Answer": "Map, compass, snacks" }, { "QuestionId": 94, "ProductId": 152, "Question": "Hi, I just received my Emergency Beacon Light from Sure Survive and I\u0027m not sure if all the items are included. Can you confirm what should be in the package?", "Answer": "Emergency Beacon Light, User Manual, Lanyard" }, { "QuestionId": 95, "ProductId": 112, "Question": "Dear support, can you explain how to adjust the fit of the Trailblazer Carbon Fiber Mountain Bike Helmet using the dial-fit adjustment system?", "Answer": "Utilize the *ultra-refined* dial-fit adjustment system located at the back of the helmet to customize the fit to your precise liking." }, { "QuestionId": 96, "ProductId": 90, "Question": "What percentage of waterborne bacteria does the pump remove?", "Answer": "99.9999%" }, { "QuestionId": 97, "ProductId": 100, "Question": "Hi, I recently purchased the Ridge Runner Hydration Pack. How should I clean the water reservoir to prevent mold and mildew growth?", "Answer": "Empty and Rinse, Use Mild Soap, Dry Thoroughly" }, { "QuestionId": 98, "ProductId": 44, "Question": "Hi there, I just bought the RescueTech Emergency Kit from Life Guard X. Can I reuse the emergency blanket?", "Answer": "No, the emergency blanket is designed for single use only." }, { "QuestionId": 99, "ProductId": 153, "Question": "What are the post-use diagnostic procedures?", "Answer": "Energy Output Analysis" }, { "QuestionId": 100, "ProductId": 71, "Question": "Hello, I recently purchased the Trailcom Signal Booster 2000 and I wanted to know how to get warranty service if I need it. Can you please provide me with the details?", "Answer": "Contact our customer service team via website or hotline." }, { "QuestionId": 101, "ProductId": 44, "Question": "How to use emergency blanket?", "Answer": "Unfold and wrap around body" }, { "QuestionId": 102, "ProductId": 56, "Question": "Hi there, I just purchased the Naptime 5000 Sleeping Bag and I\u0027m wondering what temperature it is designed to keep me warm in?", "Answer": "Designed for temperatures as low as 20\u00B0F" }, { "QuestionId": 103, "ProductId": 43, "Question": "How to activate strobe mode?", "Answer": "Double-click side switch" }, { "QuestionId": 104, "ProductId": 26, "Question": "Proper Shaft Length Adjustment?", "Answer": "Adjust the shaft to suit your height." }, { "QuestionId": 105, "ProductId": 64, "Question": "How to clean the purifier?", "Answer": "Follow these simple steps." }, { "QuestionId": 106, "ProductId": 4, "Question": "How many adults can the emergency tent accommodate?", "Answer": "Two adults" }, { "QuestionId": 107, "ProductId": 127, "Question": "Warranty period?", "Answer": "One year from purchase" }, { "QuestionId": 108, "ProductId": 184, "Question": "Hi there, I recently bought the LumenX Rechargeable Headlamp and I want to make sure I store it properly. Can you tell me the recommended storage instructions?", "Answer": "Store in a cool, dry place away from direct sunlight" }, { "QuestionId": 109, "ProductId": 85, "Question": "How should I store the kit?", "Answer": "In a cool, dry place away from direct sunlight and moisture." }, { "QuestionId": 110, "ProductId": 154, "Question": "SOS button not working?", "Answer": "Check if button is pressed firmly for a few seconds." }, { "QuestionId": 111, "ProductId": 46, "Question": "How to clean SunSpot Solar Cooker?", "Answer": "Use soft, non-abrasive cloth with mild soap and water" }, { "QuestionId": 112, "ProductId": 42, "Question": "MOLLE system location?", "Answer": "Front, sides, shoulder straps" }, { "QuestionId": 113, "ProductId": 148, "Question": "how to assemble?", "Answer": "Follow the steps in the manual." }, { "QuestionId": 114, "ProductId": 26, "Question": "How should I clean the paddle?", "Answer": "Use mild soap and warm water." }, { "QuestionId": 115, "ProductId": 73, "Question": "What autonomous flight modes does the drone have?", "Answer": "Follow Me and Waypoint Navigation" }, { "QuestionId": 116, "ProductId": 39, "Question": "Waterproof?", "Answer": "The tent has an advanced waterproof design." }, { "QuestionId": 117, "ProductId": 185, "Question": "How to clean the exterior?", "Answer": "Use a damp cloth or mild detergent" }, { "QuestionId": 118, "ProductId": 74, "Question": "How to pack the suspension straps?", "Answer": "Coil and store in designated pocket" }, { "QuestionId": 119, "ProductId": 176, "Question": "How to take a photo?", "Answer": "Follow steps 1-5." }, { "QuestionId": 120, "ProductId": 18, "Question": "Hi there, I recently purchased the Trailblazer 40L Backpack and I\u0027m wondering how to adjust the shoulder straps. Can you provide some guidance?", "Answer": "Pull the adjustment buckle to loosen or tighten the straps to your desired length." }, { "QuestionId": 121, "ProductId": 119, "Question": "Hi there, I just bought the GloTech GloBeam 1000 High-Powered LED Headlamp and I\u0027m not sure how to turn it on. Can you help?", "Answer": "Press the button once to activate the high-powered LED light." }, { "QuestionId": 122, "ProductId": 46, "Question": "What are the safety precautions for assembly and disassembly?", "Answer": "Ensure all parts are securely in place" }, { "QuestionId": 123, "ProductId": 48, "Question": "How to clean?", "Answer": "Wipe with soft, dry cloth." }, { "QuestionId": 124, "ProductId": 121, "Question": "How to pair with smartphone?", "Answer": "Follow steps in app menu." }, { "QuestionId": 125, "ProductId": 13, "Question": "Hi there, I just bought the PopUp Shelter 2.0 and I\u0027m having trouble setting it up. Can you give me some tips on how to ensure the poles are correctly aligned with the designated sleeves on the shelter fabric?", "Answer": "Ensure that the poles are correctly aligned with the designated sleeves." }, { "QuestionId": 126, "ProductId": 100, "Question": "how many pockets?", "Answer": "5 pockets" }, { "QuestionId": 127, "ProductId": 195, "Question": "What size bladder fits?", "Answer": "Most standard 2-liter bladders" }, { "QuestionId": 128, "ProductId": 114, "Question": "Hi, I recently purchased the JXE WildBeat Wireless Waterproof Speaker and I wanted to know how long the warranty lasts for?", "Answer": "1-year from the date of purchase" }, { "QuestionId": 129, "ProductId": 20, "Question": "Hi there, I just bought the TrekTracker GPS Watch and I\u0027m wondering what the rugged design feature means. Can you explain?", "Answer": "Robust and durable construction" }, { "QuestionId": 130, "ProductId": 192, "Question": "Hi there, I just purchased the Hiker\u0027s Haven Venture 45L Backpack and I want to make sure I store it properly. Can you give me any tips on how to store it when not in use?", "Answer": "Empty all compartments and pockets, avoid compressed storage for extended periods, and use a breathable storage bag." }, { "QuestionId": 131, "ProductId": 165, "Question": "What should be used to secure the shelter to the ground?", "Answer": "Stakes and guylines" }, { "QuestionId": 132, "ProductId": 86, "Question": "Where is the fish scaler located?", "Answer": "Near the compass" }, { "QuestionId": 133, "ProductId": 127, "Question": "how to replace water filter?", "Answer": "Follow detailed steps in manual." }, { "QuestionId": 134, "ProductId": 108, "Question": "solar exposure?", "Answer": "Position in direct sunlight for optimal performance." }, { "QuestionId": 135, "ProductId": 103, "Question": "Hi, I just bought the Survival Kit 5000 and I noticed it includes 10 high-energy emergency food bars. Can you tell me more about the shelf life of these bars?", "Answer": "Up to 5 years" }, { "QuestionId": 136, "ProductId": 170, "Question": "How to replace the filter?", "Answer": "Follow the steps in the manual." }, { "QuestionId": 137, "ProductId": 145, "Question": "How to use flashlight?", "Answer": "Press and hold power button for 3 seconds." }, { "QuestionId": 138, "ProductId": 78, "Question": "What maintenance tasks are recommended?", "Answer": "Inspect seals, check battery, lubricate moving parts, inspect propeller, check for hull damage" }, { "QuestionId": 139, "ProductId": 196, "Question": "How to power on the watch?", "Answer": "Press and hold power button for 3 seconds" }, { "QuestionId": 140, "ProductId": 98, "Question": "Can I calibrate the altimeter myself?", "Answer": "Do not calibrate the altimeter." }, { "QuestionId": 141, "ProductId": 187, "Question": "How to power on?", "Answer": "Press and hold power button." }, { "QuestionId": 142, "ProductId": 51, "Question": "How to use the knife safely?", "Answer": "Use slow and steady motions." }, { "QuestionId": 143, "ProductId": 55, "Question": "How to mark a waypoint?", "Answer": "Touch the \u0027Mark\u0027 button \uD83D\uDCCD\uD83D\uDD34 and then touch the location on the map" }, { "QuestionId": 144, "ProductId": 122, "Question": "How to charge AdventureCam 4K?", "Answer": "Connect USB cable and plug into power source" }, { "QuestionId": 145, "ProductId": 161, "Question": "How should I clean the chair?", "Answer": "Avoid contact with liquids, dry clean only, avoid direct sunlight" }, { "QuestionId": 146, "ProductId": 51, "Question": "What does the warranty cover?", "Answer": "Defects in materials or workmanship for one year" }, { "QuestionId": 147, "ProductId": 54, "Question": "Hi there, I recently purchased the AvalanchePro Ski Backpack from PowderPeak and I\u0027m having trouble fitting my avalanche gear in the designated compartment. What should I do?", "Answer": "Make sure you are properly securing your avalanche shovel, probe, and beacon in the designated compartments. If they still don\u0027t fit, double-check the size of your gear and compare it to the size of the compartments." }, { "QuestionId": 148, "ProductId": 91, "Question": "What does the jacket block out?", "Answer": "Wind and cold air" }, { "QuestionId": 149, "ProductId": 50, "Question": "How to fill reservoir?", "Answer": "Unscrew, fill, screw back on" }, { "QuestionId": 150, "ProductId": 110, "Question": "How should I store PowerFuel Energy Bars?", "Answer": "Embrace profound insight into the micronutrients." }, { "QuestionId": 151, "ProductId": 145, "Question": "How long is the warranty?", "Answer": "1-year limited warranty" }, { "QuestionId": 152, "ProductId": 128, "Question": "How do I clean the AquaBottle Pro?", "Answer": "Unscrew lid, wash with warm, soapy water, air dry." }, { "QuestionId": 153, "ProductId": 81, "Question": "How do I put on the harness?", "Answer": "Lay harness on ground, step into leg loops, fasten waistbelt, adjust leg loops." }, { "QuestionId": 154, "ProductId": 149, "Question": "How to measure strap tension?", "Answer": "Use a calibrated tension gauge." }, { "QuestionId": 155, "ProductId": 70, "Question": "Hi there, I just bought the Solar Power Bank 10000mAh and I\u0027m curious about its dimensions. Can you tell me how big and heavy it is?", "Answer": "Dimensions: 155mm x 80mm x 15mm, Weight: 250g" }, { "QuestionId": 156, "ProductId": 94, "Question": "How to replace knife blade?", "Answer": "Unscrew and replace with new blade" }, { "QuestionId": 157, "ProductId": 29, "Question": "How to check battery level?", "Answer": "Press battery level indicator button" }, { "QuestionId": 158, "ProductId": 18, "Question": "Hydration reservoir compatibility?", "Answer": "Simply insert reservoir into dedicated compartment." }, { "QuestionId": 159, "ProductId": 4, "Question": "What is included in the first aid supplies?", "Answer": "Bandages, gauze, tape, antiseptics, ointment" }, { "QuestionId": 160, "ProductId": 179, "Question": "how to adjust paddle length?", "Answer": "locate the black locking button" }, { "QuestionId": 161, "ProductId": 187, "Question": "What is the battery type?", "Answer": "Lithium polymer" }, { "QuestionId": 162, "ProductId": 154, "Question": "Hello, I just purchased the GPS Personal Locator from GuardianGear. Can you tell me about the live tracking feature?", "Answer": "The GPS Personal Locator has live tracking feature." }, { "QuestionId": 163, "ProductId": 157, "Question": "How to switch to photo mode?", "Answer": "Press Mode button." }, { "QuestionId": 164, "ProductId": 111, "Question": "How to fill the reservoir?", "Answer": "Open the top closure and fill with water or beverage." }, { "QuestionId": 165, "ProductId": 119, "Question": "How many lighting modes?", "Answer": "Three" }, { "QuestionId": 166, "ProductId": 167, "Question": "Hello, I just bought the Trail Chef Backpacker Cookware Set and I want to make sure I\u0027m using it correctly. Can you tell me the steps for using the cookware?", "Answer": "Before use, inspect the cookware for any damage or defects. If you notice any issues, please do not use the product and contact our customer service team immediately." }, { "QuestionId": 167, "ProductId": 76, "Question": "How should I clean the Wilderness DJ Pro?", "Answer": "Soft, damp cloth with non-abrasive solution" }, { "QuestionId": 168, "ProductId": 128, "Question": "Hi, I recently purchased the AquaBottle Pro and I\u0027m having trouble with the insulation performance. What can I do to improve it?", "Answer": "Try the following: [insulation tips from manual]" }, { "QuestionId": 169, "ProductId": 186, "Question": "How to use the probe during a rescue operation?", "Answer": "Follow the steps in the manual" }, { "QuestionId": 170, "ProductId": 105, "Question": "How to troubleshoot slow charging?", "Answer": "Expose to direct sunlight, check cable \u0026 adapter compatibility, disconnect unnecessary devices." }, { "QuestionId": 171, "ProductId": 88, "Question": "how to store RapidFlow Kayak Paddle?", "Answer": "Store in cool, dry place away from sharp objects" }, { "QuestionId": 172, "ProductId": 167, "Question": "Hi there, I just bought the Backpacker Cookware Set by Trail Chef. Can you tell me where it is safe to use this set?", "Answer": "Outdoor use in backcountry environments" }, { "QuestionId": 173, "ProductId": 74, "Question": "Maximum weight capacity?", "Answer": "300 lbs" }, { "QuestionId": 174, "ProductId": 56, "Question": "Hi there, I recently purchased the Naptime 5000 Sleeping Bag and I\u0027m wondering how to properly clean and dry it after each use. Can you provide me with some guidance?", "Answer": "Spot clean with mild detergent, hand wash, and lay flat to dry away from direct sunlight and heat sources." }, { "QuestionId": 175, "ProductId": 64, "Question": "What should I do if I notice leaks from the purifier?", "Answer": "Check seals and O-rings, tighten connections, ensure valves are closed securely." }, { "QuestionId": 176, "ProductId": 94, "Question": "How to replace knife blade?", "Answer": "Unscrew and replace with new blade." }, { "QuestionId": 177, "ProductId": 74, "Question": "Hi there, just bought the Naturehaven Ultra-Light Hammock and want to make sure I set it up correctly. What is the maximum weight capacity for this hammock?", "Answer": "Maximum weight capacity is 300 lbs (136 kg)." }, { "QuestionId": 178, "ProductId": 180, "Question": "Hi there, I just bought the ExtremeCast 5000 and I\u0027m having trouble with casting. Can you tell me the key technique for achieving optimal casting performance with this reel?", "Answer": "Proper Gripping, Smooth Release, Adjusting Tension, Using the Line Guide, Testing Wind Conditions, Practicing Patience" }, { "QuestionId": 179, "ProductId": 129, "Question": "How do you receive a fax?", "Answer": "Press \u0027Accept\u0027 or \u0027Reject\u0027 button" }, { "QuestionId": 180, "ProductId": 111, "Question": "How to adjust the valve?", "Answer": "Turn it clockwise to decrease the flow" }, { "QuestionId": 181, "ProductId": 29, "Question": "How to check battery level?", "Answer": "Press battery level indicator button" }, { "QuestionId": 182, "ProductId": 54, "Question": "Hi, I just bought the AvalanchePro Ski Backpack and I want to know how to make a warranty claim. Can you help?", "Answer": "Contact our customer service team with proof of purchase and a detailed description of the issue." }, { "QuestionId": 183, "ProductId": 144, "Question": "How to store the harness?", "Answer": "Coil the harness neatly, store in ventilated area, avoid sharp objects." }, { "QuestionId": 184, "ProductId": 64, "Question": "Hi there, I recently purchased the AquaFusion Portable Water Purifier 1000 and I\u0027m wondering how to clean it. Can you provide me with the cleaning instructions?", "Answer": "Fill a container with clean water. Add mild dish soap. Remove and scrub filter. Rinse and air dry filter. Wipe exterior with damp cloth." }, { "QuestionId": 185, "ProductId": 75, "Question": "How to connect to the app?", "Answer": "Make sure Bluetooth is on and follow app instructions." }, { "QuestionId": 186, "ProductId": 125, "Question": "Hi there, I recently purchased the MediKit Xpress and I want to make sure I\u0027m storing it properly. Can you tell me where I should keep it when not in use?", "Answer": "Store the kit in a cool, dry place away from direct sunlight and extreme temperatures." }, { "QuestionId": 187, "ProductId": 44, "Question": "How to use the whistle?", "Answer": "Blow into the whistle with a firm and steady breath to produce a loud, high-pitched sound." }, { "QuestionId": 188, "ProductId": 123, "Question": "What does error code SC3000-002 indicate?", "Answer": "Low Battery" }, { "QuestionId": 189, "ProductId": 195, "Question": "Hello, I recently purchased the Trekker 30L Backpack and I\u0027d like to know how to keep it clean. Do you have any recommendations for cleaning and maintenance?", "Answer": "Follow simple cleaning instructions" }, { "QuestionId": 190, "ProductId": 98, "Question": "Altimeter accuracy limitations?", "Answer": "Changes in weather and altitude can affect accuracy" }, { "QuestionId": 191, "ProductId": 131, "Question": "How to transfer footage?", "Answer": "Open weatherproof cover, remove SD card, insert into computer\u0027s SD card reader" }, { "QuestionId": 192, "ProductId": 151, "Question": "Hi there, I\u0027m having trouble igniting the fire starter on my Survivor Multi-Tool. I\u0027ve checked the position and made sure the surface is dry, but it\u0027s still not working. What else can I do?", "Answer": "Strike firmly and consistently along the length of the fire starter rod." }, { "QuestionId": 193, "ProductId": 68, "Question": "How should I store my Trailblazer Hiking Shoes?", "Answer": "Cool, dry place away from direct sunlight" }, { "QuestionId": 194, "ProductId": 114, "Question": "How long is the warranty?", "Answer": "1-year limited warranty" }, { "QuestionId": 195, "ProductId": 149, "Question": "Hello, I just purchased the Thirsttrek AquaFlow Pro and I want to make sure I\u0027m using it correctly. Can you tell me how to conduct flow rate calibration?", "Answer": "Use a precision flow meter and tubing to create a closed loop system with the reservoir and bite valve." }, { "QuestionId": 196, "ProductId": 196, "Question": "How to customize data screens?", "Answer": "Navigate to settings and select \u0027Data Screens\u0027." }, { "QuestionId": 197, "ProductId": 5, "Question": "What should be inspected before each use?", "Answer": "Inspect for signs of wear, damage, or deterioration" }, { "QuestionId": 198, "ProductId": 188, "Question": "What are the dimensions?", "Answer": "26.5 x 21.2 x 2.5 inches" }, { "QuestionId": 199, "ProductId": 33, "Question": "night vision not working?", "Answer": "Confirm night vision setting is enabled" }, { "QuestionId": 200, "ProductId": 19, "Question": "How to access diagnostic mode?", "Answer": "Press and hold power button for 10 seconds" }, { "QuestionId": 201, "ProductId": 64, "Question": "How do you drink from the purifier?", "Answer": "Tilt the purifier and drink from the spout." }, { "QuestionId": 202, "ProductId": 67, "Question": "Hi there, I have a nut allergy and I recently purchased the Nutritech Energy Bars Variety Pack. Can I consume them safely?", "Answer": "The energy bars contain nuts and are manufactured in a facility that also processes other nuts. Therefore, if you have a nut allergy, it is recommended to consult with a healthcare professional before consuming these bars." }, { "QuestionId": 203, "ProductId": 92, "Question": "Maximum submersion depth?", "Answer": "1 meter" }, { "QuestionId": 204, "ProductId": 69, "Question": "What features do the boots have?", "Answer": "Waterproof, breathable, aggressive tread, shock-absorbing midsole, reinforced toe and heel caps" }, { "QuestionId": 205, "ProductId": 180, "Question": "Hi, I bought the ExtremeCast 5000 reel and noticed some corrosion on the components. What should I do to address this issue?", "Answer": "Thoroughly clean and dry the affected components using a soft cloth and a mild cleaning solution. Apply a light coating of reel lubricant to prevent future corrosion. Store the reel in a dry, cool environment when not in use." }, { "QuestionId": 206, "ProductId": 61, "Question": "How to send a message?", "Answer": "Press \u0027Message\u0027 button, select \u0027New Message\u0027, type message, press \u0027Send\u0027." }, { "QuestionId": 207, "ProductId": 51, "Question": "Hi there, I just bought the Survival Pro Multi-Tool and I\u0027m wondering how to access the knife. Can you give me some tips for using it safely?", "Answer": "Carefully slide out the knife from its slot and use slow and steady motions to prevent injuries." }, { "QuestionId": 208, "ProductId": 172, "Question": "How to fix loose grips?", "Answer": "Contact customer support for assistance." }, { "QuestionId": 209, "ProductId": 91, "Question": "How to conduct pre-use diagnostic check?", "Answer": "Follow steps in manual" }, { "QuestionId": 210, "ProductId": 74, "Question": "Hi, I recently purchased the Naturehaven Ultra-Light Hammock and I\u0027m not sure how to properly store it. Can you provide some guidance on how to pack and store the hammock?", "Answer": "Store the hammock in a cool, dry place away from direct sunlight." }, { "QuestionId": 211, "ProductId": 132, "Question": "How to resolve a stuck reel?", "Answer": "Check for Line Tangles, Inspect Reel Handle, Reel Lubrication, Verify Drag System, Professional Service" }, { "QuestionId": 212, "ProductId": 124, "Question": "What should I do before using the SurvivalPro 2000?", "Answer": "Read the Manual" }, { "QuestionId": 213, "ProductId": 75, "Question": "How to activate the beacon?", "Answer": "Press and hold power button for 3 seconds" }, { "QuestionId": 214, "ProductId": 60, "Question": "How to fill the bottle?", "Answer": "Unscrew the leak-proof lid, pour in water, then securely reattach the lid." }, { "QuestionId": 215, "ProductId": 70, "Question": "What is the battery capacity?", "Answer": "10000mAh" }, { "QuestionId": 216, "ProductId": 82, "Question": "What is included in the first aid section?", "Answer": "Adhesive bandages, antiseptic wipes, ibuprofen, first aid guide" }, { "QuestionId": 217, "ProductId": 174, "Question": "How to enable Wi-Fi?", "Answer": "Swipe down from the top of touchscreen." }, { "QuestionId": 218, "ProductId": 136, "Question": "How many lights indicate full battery?", "Answer": "4" }, { "QuestionId": 219, "ProductId": 192, "Question": "Hi, I just bought the Hiker\u0027s Haven Venture 45L Backpack and I want to make sure I store it properly. Can you tell me how to store it to prevent damage and maintain its shape?", "Answer": "Empty all compartments, avoid compression, and use the included storage bag for long-term storage." }, { "QuestionId": 220, "ProductId": 179, "Question": "How to adjust footrests?", "Answer": "Position and use locking mechanism." }, { "QuestionId": 221, "ProductId": 125, "Question": "How to provide basic wound care?", "Answer": "Cleanse with alcohol wipe, apply antibiotic, cover with bandage" }, { "QuestionId": 222, "ProductId": 177, "Question": "How to pack up?", "Answer": "Remove Stakes, Collapse Poles, Detach Rainfly, Fold Shelter" }, { "QuestionId": 223, "ProductId": 93, "Question": "How to clean the stove?", "Answer": "Use soft, damp cloth." }, { "QuestionId": 224, "ProductId": 22, "Question": "How to access pockets?", "Answer": "Locate and open the zipper or buckle." }, { "QuestionId": 225, "ProductId": 17, "Question": "What ventilation technology does the jacket feature?", "Answer": "Advanced ventilation technology" }, { "QuestionId": 226, "ProductId": 9, "Question": "Hi there, I recently purchased the AltitudeShield Pro and I want to know if I can return it if it doesn\u0027t work at high altitudes?", "Answer": "No, the AltitudeShield Pro cannot be returned if used in high-altitude environments." }, { "QuestionId": 227, "ProductId": 75, "Question": "How to charge?", "Answer": "Follow simple steps with USB cable." }, { "QuestionId": 228, "ProductId": 39, "Question": "How to fold the tent?", "Answer": "Press red folding levers and push down." }, { "QuestionId": 229, "ProductId": 72, "Question": "How to adjust sensitivity?", "Answer": "Turn knob clockwise to increase, counterclockwise to decrease" }, { "QuestionId": 230, "ProductId": 86, "Question": "Hi, just received my SOS Multitool Kit from Survive All. How do I use the fire starter to create fire?", "Answer": "Hold the metal rod against the striker at a 45-degree angle and apply firm pressure to produce sparks." }, { "QuestionId": 231, "ProductId": 51, "Question": "How to access the knife?", "Answer": "Slide out from main compartment" }, { "QuestionId": 232, "ProductId": 73, "Question": "How to perform pre-flight checklist?", "Answer": "Follow the steps in the manual" }, { "QuestionId": 233, "ProductId": 167, "Question": "Cleaning instructions?", "Answer": "Use mild detergent and warm water, avoid abrasive agents." }, { "QuestionId": 234, "ProductId": 18, "Question": "How to clean the backpack?", "Answer": "Shake off loose dirt, wipe with damp cloth, spot clean with mild detergent, rinse, air dry" }, { "QuestionId": 235, "ProductId": 15, "Question": "How to maintain AdventurePro 1000?", "Answer": "Follow maintenance guidelines." }, { "QuestionId": 236, "ProductId": 92, "Question": "What does the warranty exclude?", "Answer": "Misuse, negligence, accidents, unauthorized modifications, failure to follow instructions, normal wear and tear" }, { "QuestionId": 237, "ProductId": 46, "Question": "How to position the Solar Cooker?", "Answer": "Place in direct sunlight" }, { "QuestionId": 238, "ProductId": 51, "Question": "how to start a fire?", "Answer": "Follow the simple steps in the manual." }, { "QuestionId": 239, "ProductId": 82, "Question": "What first aid supplies are included?", "Answer": "adhesive bandages, antiseptic wipes, ibuprofen tablets, first aid guide" }, { "QuestionId": 240, "ProductId": 87, "Question": "Adjusting the chin strap steps?", "Answer": "1. Place on head 2. Tighten or loosen 3. Check secure" }, { "QuestionId": 241, "ProductId": 99, "Question": "What technical support is available?", "Answer": "Refer to www.hikewise.com/summit3000/support" }, { "QuestionId": 242, "ProductId": 45, "Question": "How to activate LED light?", "Answer": "Press power button twice" }, { "QuestionId": 243, "ProductId": 47, "Question": "How should the bars be stored?", "Answer": "At room temperature, in a cool and dry environment" }, { "QuestionId": 244, "ProductId": 26, "Question": "What safety equipment is recommended?", "Answer": "Wear a Personal Flotation Device (PFD)" }, { "QuestionId": 245, "ProductId": 163, "Question": "Hi, I recently purchased the Wildwatch Stealth Cam 500 for wildlife photography. Can I use it for hunting as well?", "Answer": "Do not use the camera for hunting." }, { "QuestionId": 246, "ProductId": 174, "Question": "how to clean lens?", "Answer": "Use microfiber cloth" }, { "QuestionId": 247, "ProductId": 67, "Question": "Hi, I just purchased the Nutritech Energy Bars Variety Pack and I want to know how to store them to maintain freshness. Can you provide some guidelines?", "Answer": "Store in a cool, dry place away from direct sunlight and in their original packaging or an airtight container." }, { "QuestionId": 248, "ProductId": 31, "Question": "What is the warranty claim procedure?", "Answer": "Contact customer service at support@wanderstove.com" }, { "QuestionId": 249, "ProductId": 121, "Question": "How to care for battery?", "Answer": "Fully charge before each use, avoid overcharging, store partially charged for long periods." }, { "QuestionId": 250, "ProductId": 25, "Question": "What safety precautions should I follow?", "Answer": "Perform thorough inspection, wear proper PPE" }, { "QuestionId": 251, "ProductId": 84, "Question": "How to reset GPS?", "Answer": "Hold down GPS button for 10 seconds" }, { "QuestionId": 252, "ProductId": 81, "Question": "How to put on Summit X harness?", "Answer": "Follow the simple instructions provided in the manual." }, { "QuestionId": 253, "ProductId": 168, "Question": "How to clean exterior?", "Answer": "Use damp, lint-free cloth" }, { "QuestionId": 254, "ProductId": 45, "Question": "Troubleshooting guide?", "Answer": "Refer to troubleshooting guide." }, { "QuestionId": 255, "ProductId": 117, "Question": "Hi there, I was wondering if the AdventurePro Off-Grid Satellite Communicator has a texting feature?", "Answer": "No, the texting feature is disabled." }, { "QuestionId": 256, "ProductId": 197, "Question": "How to troubleshoot stove igniting issue?", "Answer": "Check fuel canister and ignition switch" }, { "QuestionId": 257, "ProductId": 129, "Question": "How to troubleshoot no power?", "Answer": "Check battery and power button." }, { "QuestionId": 258, "ProductId": 39, "Question": "Hi there, I\u0027m interested in the Shelter Scape Instant Pop-Up Tent. Can you tell me about its ventilation system?", "Answer": "State-of-the-art ventilation system for optimal airflow." }, { "QuestionId": 259, "ProductId": 24, "Question": "How to clean the sleeping bag?", "Answer": "Spot clean with damp cloth and mild soap, or use front-loading washing machine with gentle cycle." }, { "QuestionId": 260, "ProductId": 114, "Question": "Bluetooth range?", "Answer": "Approximately 30 feet" }, { "QuestionId": 261, "ProductId": 175, "Question": "How to clean?", "Answer": "Use soft, dry cloth. No liquid cleaners." }, { "QuestionId": 262, "ProductId": 39, "Question": "Hi there, I just bought the Shelter Scape Instant Pop-Up Tent and I\u0027m wondering how to fold it for storage. Can you give me some tips?", "Answer": "Press and hold the red folding levers while pushing the top of the tent downwards." }, { "QuestionId": 263, "ProductId": 31, "Question": "What components are included in the box?", "Answer": "Nomad Camping Stove, Fuel canister, User manual" }, { "QuestionId": 264, "ProductId": 87, "Question": "How to adjust visor angle?", "Answer": "Follow steps 1 and 2." }, { "QuestionId": 265, "ProductId": 63, "Question": "What is included in the box?", "Answer": "Solar panel, LED light string, ground stake, user manual" }, { "QuestionId": 266, "ProductId": 114, "Question": "Hi, I just got the WildBeat Wireless Waterproof Speaker and I want to make sure I store it properly. How should I store it to prolong its lifespan and maintain its performance?", "Answer": "Store in cool, dry place away from direct sunlight and extreme temperatures. Fully charge battery before storing for extended period." }, { "QuestionId": 267, "ProductId": 40, "Question": "How to turn on?", "Answer": "Press and hold power button for 2 seconds" }, { "QuestionId": 268, "ProductId": 116, "Question": "Hi, I just bought the UltraLite 2-Person Backpacking Tent and I\u0027m not sure how to secure it for windy conditions. Can you provide some guidelines?", "Answer": "Use the provided guy lines and adjustable tensioners for a tight and secure pitch." }, { "QuestionId": 269, "ProductId": 128, "Question": "How do I fill the bottle?", "Answer": "Unscrew the leak-proof cap and pour in your beverage." }, { "QuestionId": 270, "ProductId": 108, "Question": "How to adjust sun angle?", "Answer": "Position stove to align with sun" }, { "QuestionId": 271, "ProductId": 104, "Question": "How often to replace filter?", "Answer": "Rated for 500 liters." }, { "QuestionId": 272, "ProductId": 132, "Question": "How to clean the rod?", "Answer": "Remove Excess Dirt and Debris, Use Mild Soap and Water" }, { "QuestionId": 273, "ProductId": 167, "Question": "Hi there, I just purchased the Trail Chef Backpacker Cookware Set and I want to make sure I\u0027m using it correctly. Can you provide me with the steps for using the cookware set?", "Answer": "Inspect for damage, ensure cookware is clean and dry, use on stable surface, use handles when hot, allow to cool before cleaning" }, { "QuestionId": 274, "ProductId": 163, "Question": "Can I update the firmware myself?", "Answer": "No, must be done by technician" }, { "QuestionId": 275, "ProductId": 124, "Question": "How to clean?", "Answer": "Soft, damp cloth" }, { "QuestionId": 276, "ProductId": 99, "Question": "What is the maximum load capacity?", "Answer": "30-35 kg" }, { "QuestionId": 277, "ProductId": 1, "Question": "How to verify device\u0027s functionality?", "Answer": "Perform functional diagnostics" }, { "QuestionId": 278, "ProductId": 194, "Question": "How to start a fire?", "Answer": "Use the fire starter tool and waterproof matches." }, { "QuestionId": 279, "ProductId": 41, "Question": "Hi there, I just bought the AquaVenture Waterproof Surf Watch and I\u0027m having trouble figuring out how to activate the GPS tracking feature. Can you help?", "Answer": "Press and hold the \u0027GPS\u0027 button." }, { "QuestionId": 280, "ProductId": 134, "Question": "How to collapse SolarFire 2000?", "Answer": "Ensure stove is cool, then fold panels inwards." }, { "QuestionId": 281, "ProductId": 194, "Question": "Hi, I just received my SurvivalPro 3000 Kit and I want to make sure I have everything. Can you provide a list of the contents?", "Answer": "Check the contents against the provided list" }, { "QuestionId": 282, "ProductId": 27, "Question": "How to turn off?", "Answer": "Press and hold for 3 seconds." }, { "QuestionId": 283, "ProductId": 30, "Question": "visual inspection guidelines", "Answer": "Refer to industry specification code BCCKW-002" }, { "QuestionId": 284, "ProductId": 49, "Question": "How to maintain boots?", "Answer": "Regular Cleaning, Drying, Conditioning" }, { "QuestionId": 285, "ProductId": 152, "Question": "Submerging depth?", "Answer": "Do not exceed max depth" }, { "QuestionId": 286, "ProductId": 187, "Question": "What is the battery capacity?", "Answer": "3000mAh" }, { "QuestionId": 287, "ProductId": 3, "Question": "What should I adjust for comfort?", "Answer": "tension of the straps" }, { "QuestionId": 288, "ProductId": 56, "Question": "Hi, I just bought the Naptime 5000 Sleeping Bag and I\u0027m wondering how low of a temperature it is designed to keep me warm in?", "Answer": "Designed to keep you warm in temperatures as low as 20\u00B0F." }, { "QuestionId": 289, "ProductId": 95, "Question": "What type of insulation does the sleeping bag have?", "Answer": "High-quality insulation materials" }, { "QuestionId": 290, "ProductId": 70, "Question": "How to calibrate solar panel voltage?", "Answer": "Use a voltage calibrator" }, { "QuestionId": 291, "ProductId": 86, "Question": "What tools are included?", "Answer": "Bottle opener, screwdriver, can opener" }, { "QuestionId": 292, "ProductId": 65, "Question": "How to avoid injury when using the knife?", "Answer": "Exercise caution to avoid cuts or punctures." }, { "QuestionId": 293, "ProductId": 132, "Question": "Cleaning instructions?", "Answer": "Regularly after each use" }, { "QuestionId": 294, "ProductId": 38, "Question": "how to ignite?", "Answer": "turn ignition dial, press button" }, { "QuestionId": 295, "ProductId": 38, "Question": "Hi there, I just bought the Portable Camping Stove and I\u0027m not sure how to set it up. Can you walk me through the steps?", "Answer": "Start by unfolding the legs and locking them into place. Then, attach the fuel canister to the stove and make sure it\u0027s secure. Finally, open the valve on the fuel canister to let the gas flow." }, { "QuestionId": 296, "ProductId": 147, "Question": "What precautions should be taken when flying the SkyMaster X2000?", "Answer": "Choose suitable environment, avoid obstacles and crowded areas, observe and avoid other aircraft." }, { "QuestionId": 297, "ProductId": 182, "Question": "How to properly fit the harness?", "Answer": "Follow these steps to ensure correct fitting." }, { "QuestionId": 298, "ProductId": 198, "Question": "How to connect device?", "Answer": "Follow easy steps provided in manual." }, { "QuestionId": 299, "ProductId": 27, "Question": "Accessory compatibility?", "Answer": "Range of accessories available." }, { "QuestionId": 300, "ProductId": 87, "Question": "how to clean?", "Answer": "Use soft cloth and mild soap" }, { "QuestionId": 301, "ProductId": 7, "Question": "How to clean the kit?", "Answer": "Wipe with damp cloth, use mild disinfectant, air dry" }, { "QuestionId": 302, "ProductId": 176, "Question": "Hi there, I just got the AdventurePro 4500 camera and I\u0027m trying to change the resolution for videos. Can you tell me how to do that?", "Answer": "Navigate to the \u0027Resolution\u0027 option in the settings menu and select the desired resolution." }, { "QuestionId": 303, "ProductId": 161, "Question": "Hi there, I just bought the ErgoVent Foldable Chair from SummitSeat and I want to make sure I store it properly. Can you tell me how it should be stored to avoid damage?", "Answer": "Use a specifically designed cover for protection." }, { "QuestionId": 304, "ProductId": 162, "Question": "What is the GPS tracking accuracy?", "Answer": "accurate to within a few meters" }, { "QuestionId": 305, "ProductId": 86, "Question": "What additional tools are included?", "Answer": "bottle opener, screwdriver, can opener" }, { "QuestionId": 306, "ProductId": 33, "Question": "How to contact customer service?", "Answer": "1-800-555-1234 or support@gameguard.com" }, { "QuestionId": 307, "ProductId": 98, "Question": "What is discouraged for critical navigation or safety purposes?", "Answer": "Using external devices or services" }, { "QuestionId": 308, "ProductId": 8, "Question": "Package contents?", "Answer": "The Outdoor Admin 5000 device, carrying case, charging cable, user manual" }, { "QuestionId": 309, "ProductId": 120, "Question": "What tests are used for quality assurance?", "Answer": "Thermo-imaging, Moisture, Insulation Resistance, Water Pressure, Electronic Component, Snow Load" }, { "QuestionId": 310, "ProductId": 121, "Question": "How to activate SOS signal?", "Answer": "Press and hold red button for 3 seconds" }, { "QuestionId": 311, "ProductId": 105, "Question": "What is included in the package?", "Answer": "1 Solar Power Bank 10000mAh, 1 Micro-USB cable, 1 Carabiner clip, 1 User Manual" }, { "QuestionId": 312, "ProductId": 44, "Question": "What is the signal mirror used for?", "Answer": "Signaling for help over long distances" }, { "QuestionId": 313, "ProductId": 24, "Question": "How to get in and out?", "Answer": "Follow the steps in the manual." }, { "QuestionId": 314, "ProductId": 21, "Question": "Hey there, my WeatherGuard Pro 3000 isn\u0027t responding at all. I\u0027ve tried holding down the power button for 10 seconds, but it\u0027s still not working. What should I do next?", "Answer": "Contact TechShield Support for further assistance." }, { "QuestionId": 315, "ProductId": 137, "Question": "How to clean WildBeat Pro DJ Controller?", "Answer": "Use soft, lint-free cloth with water." }, { "QuestionId": 316, "ProductId": 182, "Question": "How to store Summit Pro Climbing Harness?", "Answer": "Store in cool, dry place away from sunlight and moisture." }, { "QuestionId": 317, "ProductId": 177, "Question": "How do you set up the poles?", "Answer": "Insert black pole into sleeve, connect red pole." }, { "QuestionId": 318, "ProductId": 140, "Question": "How do I connect to Bluetooth?", "Answer": "Turn on speaker, search for device, select \u0027RuggedSound\u0027" }, { "QuestionId": 319, "ProductId": 58, "Question": "Battery life indicator?", "Answer": "Allows you to monitor remaining charge" }, { "QuestionId": 320, "ProductId": 168, "Question": "How do I power on the WildDJ Pro Mixer?", "Answer": "Press and hold the power button" }, { "QuestionId": 321, "ProductId": 101, "Question": "Hi there, I just bought the Ultraglow Lumina LED Camping Lantern and I want to know how to adjust the brightness. Can you help?", "Answer": "Turn the knob clockwise to increase brightness and counterclockwise to decrease brightness." }, { "QuestionId": 322, "ProductId": 73, "Question": "What steps are involved in the initial setup?", "Answer": "Unpack, inspect, charge battery, power on, verify LED indicators, initialize GPS" }, { "QuestionId": 323, "ProductId": 110, "Question": "Hi there, I just received my PowerFuel Energy Bars and I want to make sure I store them properly. Can you tell me the optimal storage conditions for the bars?", "Answer": "Cool, dry place away from direct sunlight" }, { "QuestionId": 324, "ProductId": 139, "Question": "Screen cleaning steps?", "Answer": "Clean with soft, dry cloth." }, { "QuestionId": 325, "ProductId": 169, "Question": "Hello, I recently purchased the Trailblazer Camping Cookware Set and I\u0027m wondering how to properly store it when not in use. Can you provide some guidance on this?", "Answer": "When not in use, the Trailblazer Camping Cookware Set can be stored inside the large pot to save space. Place the smaller items inside the pots and secure the foldable handles around the outside to keep everything together." }, { "QuestionId": 326, "ProductId": 102, "Question": "How to collapse the paddle?", "Answer": "Refer to the user manual for detailed instructions." }, { "QuestionId": 327, "ProductId": 102, "Question": "how to clean the paddle?", "Answer": "Rinse with freshwater and use mild detergent." }, { "QuestionId": 328, "ProductId": 101, "Question": "Hi there, I just bought the Ultraglow Lumina LED Camping Lantern and it won\u0027t turn on. What should I do?", "Answer": "Ensure that the batteries are inserted correctly." }, { "QuestionId": 329, "ProductId": 44, "Question": "What is included in the kit?", "Answer": "first aid supplies, fire starter, emergency blanket, other tools" }, { "QuestionId": 330, "ProductId": 2, "Question": "What equipment is required for hardware installation?", "Answer": "SMD unit, antenna, power cable, mounting brackets, screws and bolts" }, { "QuestionId": 331, "ProductId": 193, "Question": "How to clean exterior?", "Answer": "Use mild detergent and warm water" }, { "QuestionId": 332, "ProductId": 55, "Question": "Warranty coverage period?", "Answer": "3-year limited warranty" }, { "QuestionId": 333, "ProductId": 191, "Question": "Hi there, I\u0027m having trouble with my Luminex 5000 Lantern not turning on. I\u0027ve tried checking the battery compartment and pressing the power button, but it still won\u0027t work. What should I do next?", "Answer": "Contact Customer Support" }, { "QuestionId": 334, "ProductId": 119, "Question": "What are the different modes?", "Answer": "High Beam, Low Beam, Strobe" }, { "QuestionId": 335, "ProductId": 51, "Question": "How to access the knife?", "Answer": "Locate the main tool compartment and carefully slide out the knife." }, { "QuestionId": 336, "ProductId": 101, "Question": "How do I contact customer service?", "Answer": "customerservice@ultraglow.com, 1-800-123-4567, www.ultraglow.com" }, { "QuestionId": 337, "ProductId": 89, "Question": "How to store the cookware set?", "Answer": "Cool, dry place" }, { "QuestionId": 338, "ProductId": 4, "Question": "Hi, I recently purchased the Life Guard X Emergency Survival Kit and I\u0027m wondering how to set up the emergency tent. Can you provide instructions?", "Answer": "Lay the tent flat on the ground." }, { "QuestionId": 339, "ProductId": 6, "Question": "How to assemble?", "Answer": "Attach handle to digging head, fasten locking mechanism." }, { "QuestionId": 340, "ProductId": 99, "Question": "Hi there, I recently purchased the Summit 3000 Trekking Backpack and I want to make sure it\u0027s in good condition before my trip. Can you tell me how to measure the tensile strength of the backpack\u0027s straps and seams as mentioned in the manual?", "Answer": "Utilize a tensile testing machine." }, { "QuestionId": 341, "ProductId": 181, "Question": "how to adjust paddle length?", "Answer": "Twist the dial to unlock and slide paddle shaft." }, { "QuestionId": 342, "ProductId": 168, "Question": "What color is the crossfader?", "Answer": "Regal deep blue" }, { "QuestionId": 343, "ProductId": 62, "Question": "How to adjust brightness level?", "Answer": "Locate the power button on the top of the headlamp." }, { "QuestionId": 344, "ProductId": 170, "Question": "How to wear AquaFlow Hydration System?", "Answer": "Follow steps in manual for securing straps and attaching drinking tube" }, { "QuestionId": 345, "ProductId": 146, "Question": "Hi, I just bought the Energy Boost 500 and I\u0027m not sure how much to take. Can you tell me the recommended dosage?", "Answer": "1 scoop of Energy Boost 500, mixed with 8-12 ounces of water, 15-30 minutes before activity." }, { "QuestionId": 346, "ProductId": 159, "Question": "Charging time via solar panel?", "Answer": "Charging time may vary based on sunlight intensity." }, { "QuestionId": 347, "ProductId": 124, "Question": "Hi there, I just bought the ToughTrek SurvivalPro 2000 and I\u0027m wondering about the construction. Can you tell me more about the outer casing and the material used?", "Answer": "Reinforced steel for unparalleled strength and durability" }, { "QuestionId": 348, "ProductId": 47, "Question": "What is the purpose of the Protein Plus Energy Bars?", "Answer": "Provide convenient and delicious nutrition for active lifestyles." }, { "QuestionId": 349, "ProductId": 97, "Question": "How to resolve knife won\u0027t open?", "Answer": "Check for obstructions, use lubrication, contact customer support" }, { "QuestionId": 350, "ProductId": 163, "Question": "Hi there, I just bought the Stealth Cam 500 and I wanted to know if it\u0027s waterproof. Can I use it near water?", "Answer": "No, the Stealth Cam 500 is not waterproof and should not be used near water." }, { "QuestionId": 351, "ProductId": 38, "Question": "Hi there, I\u0027m having trouble igniting my Portable Camping Stove. Can you give me some tips on how to start it?", "Answer": "Turn the ignition dial to the \u0027ignite\u0027 position and press the ignition button." }, { "QuestionId": 352, "ProductId": 76, "Question": "What are the key features?", "Answer": "Rugged design, high-tech equipment, portability, versatility." }, { "QuestionId": 353, "ProductId": 162, "Question": "How long to acquire satellite signals?", "Answer": "At least 5 minutes" }, { "QuestionId": 354, "ProductId": 116, "Question": "How to prevent leaking inside the tent?", "Answer": "Properly attach rainfly and keep guy lines taut for ventilation." }, { "QuestionId": 355, "ProductId": 166, "Question": "How to check oil level?", "Answer": "Remove dipstick, wipe clean, check between markings" }, { "QuestionId": 356, "ProductId": 130, "Question": "What type of sound does the WildBeat Bluetooth Speaker produce?", "Answer": "360-degree sound" }, { "QuestionId": 357, "ProductId": 80, "Question": "What is the gear ratio?", "Answer": "6.2:1" }, { "QuestionId": 358, "ProductId": 187, "Question": "How to troubleshoot drone power issues?", "Answer": "Refer to troubleshooting guide" }, { "QuestionId": 359, "ProductId": 180, "Question": "properly attach reel?", "Answer": "Ensure the reel is properly attached to the rod." }, { "QuestionId": 360, "ProductId": 18, "Question": "Hydration reservoir capacity?", "Answer": "2L" }, { "QuestionId": 361, "ProductId": 115, "Question": "How should I store my NanoTrax?", "Answer": "Dry Thoroughly, Keep Them Together, Avoid Extreme Temperatures, Hang \u0027Em Up" }, { "QuestionId": 362, "ProductId": 122, "Question": "How to turn on stabilization?", "Answer": "In the Video Settings menu, look for the Stabilization option and toggle it on." }, { "QuestionId": 363, "ProductId": 183, "Question": "Warranty coverage?", "Answer": "Campchef offers a limited lifetime warranty" }, { "QuestionId": 364, "ProductId": 97, "Question": "What is the ultimate tool for navigating the great outdoors?", "Answer": "NomadGear Compass" }, { "QuestionId": 365, "ProductId": 125, "Question": "How to sterilize surgical instruments?", "Answer": "Boil instruments for 20 minutes" }, { "QuestionId": 366, "ProductId": 89, "Question": "What to use to clean the cookware?", "Answer": "Non-abrasive sponge or cloth with mild dish soap" }, { "QuestionId": 367, "ProductId": 71, "Question": "Hello, I just received my Trailcom Signal Booster 2000 and I want to make sure I handle it properly. Can you tell me how far I need to maintain distance between the device and my body to comply with RF exposure requirements?", "Answer": "Maintain a minimum distance of 20 cm (8 inches) between the Signal Booster 2000 and the body." }, { "QuestionId": 368, "ProductId": 67, "Question": "How should the bars be stored?", "Answer": "In a cool, dry place away from direct sunlight" }, { "QuestionId": 369, "ProductId": 12, "Question": "What does GPS stand for?", "Answer": "Global Positioning System" }, { "QuestionId": 370, "ProductId": 48, "Question": "How to charge?", "Answer": "Plug USB cable into charging port" }, { "QuestionId": 371, "ProductId": 196, "Question": "What type of GPS module does the TrailMaster GPS Watch use?", "Answer": "GPS, GLONASS, and Galileo satellite systems" }, { "QuestionId": 372, "ProductId": 55, "Question": "how to charge", "Answer": "Connect USB cable, let it charge for 2 hours" }, { "QuestionId": 373, "ProductId": 75, "Question": "How to replace battery?", "Answer": "Follow steps in manual" }, { "QuestionId": 374, "ProductId": 7, "Question": "Hello, I recently purchased the Off-Grid Surgeon Kit from Adventure Prosthetics. Can you tell me what items are included in the kit?", "Answer": "Scalpel, surgical scissors, needle holder, forceps, sutures, sterile drapes, antiseptic solution, sterile gloves, gauze pads, adhesive bandages, tourniquet" }, { "QuestionId": 375, "ProductId": 198, "Question": "How to activate LED light show?", "Answer": "Press and hold Party Mode button." }, { "QuestionId": 376, "ProductId": 33, "Question": "How to activate night vision?", "Answer": "Press \u0027Night Vision\u0027 button" }, { "QuestionId": 377, "ProductId": 149, "Question": "Hi there, I recently purchased the AquaFlow Pro and I\u0027m wondering how to assess the condition of the bite valve. Can you provide some guidance?", "Answer": "Visual Inspection: Examine for signs of wear. Operational Test: Test functionality. Replacement: Use genuine Thirsttrek part if necessary." }, { "QuestionId": 378, "ProductId": 190, "Question": "What to verify during visual inspection?", "Answer": "Stress, wear, damage to construction, locking mechanism, grips" }, { "QuestionId": 379, "ProductId": 123, "Question": "Hello, I just purchased the SolarCopy 3000. Can you tell me how to clean the solar panels?", "Answer": "Use a clean, soft cloth to wipe the panels." }, { "QuestionId": 380, "ProductId": 156, "Question": "Hi there, I recently purchased the Arctic Ice Grip Crampons from Glacierpro. Can you tell me how to properly store them to maintain their condition?", "Answer": "Use the storage bag, keep them dry, and store in a cool, dry place." }, { "QuestionId": 381, "ProductId": 145, "Question": "How to turn on?", "Answer": "Press the power button." }, { "QuestionId": 382, "ProductId": 160, "Question": "How to set a waypoint?", "Answer": "Navigate to \u0027Waypoints\u0027 option and select \u0027Add Waypoint\u0027." }, { "QuestionId": 383, "ProductId": 73, "Question": "How to perform pre-flight checklist?", "Answer": "Follow the 6-step checklist in the manual." }, { "QuestionId": 384, "ProductId": 46, "Question": "Hi there, I just bought the SunSpot Solar Cooker from Eco Grill. Can you tell me what precautions I should take when using it to ensure safety?", "Answer": "Avoid extreme weather conditions, don\u0027t touch hot reflectors, keep away from children and pets." }, { "QuestionId": 385, "ProductId": 127, "Question": "How to clean the HydraPack 2.0?", "Answer": "Thoroughly rinse with lukewarm water, use mild soap solution, and air dry." }, { "QuestionId": 386, "ProductId": 67, "Question": "Hi there, I am interested in purchasing the Nutritech Energy Bars Variety Pack. Can you tell me how many energy bars are included in the pack?", "Answer": "The Nutritech Energy Bars Variety Pack contains 12 energy bars in total, with 4 bars of each flavor: chocolate chip, peanut butter, and oatmeal raisin." }, { "QuestionId": 387, "ProductId": 156, "Question": "How to troubleshoot reduced traction?", "Answer": "Check positioning, clean teeth, inspect for damage." }, { "QuestionId": 388, "ProductId": 123, "Question": "What is the battery type?", "Answer": "Lithium-ion" }, { "QuestionId": 389, "ProductId": 66, "Question": "What is the SunSafe Pop-Up Beach Tent suitable for?", "Answer": "Sun shelter" }, { "QuestionId": 390, "ProductId": 193, "Question": "Hello, I recently purchased the AltitudeTech Cake Carrier and I want to make sure I am loading and unloading it correctly. Can you provide me with the loading and unloading protocol?", "Answer": "Place your cake securely on the removable base plate, making sure it is centered and does not come into contact with the sides of the carrier. When unloading the cake, carefully lift it out of the carrier by holding the base plate and avoiding any unnecessary tilting or shaking." }, { "QuestionId": 391, "ProductId": 145, "Question": "Hi, I just bought the PowerBeam Solar Powered Portable Charger and I\u0027m wondering how to charge it indoors. Can I use any USB cable to connect it to a power source?", "Answer": "Use the included micro-USB cable for indoor charging." }, { "QuestionId": 392, "ProductId": 69, "Question": "What material is used for waterproofing?", "Answer": "Waterproof and breathable membrane" }, { "QuestionId": 393, "ProductId": 35, "Question": "Hi there, I\u0027m having trouble with my CookMaster Alpine Camp Cookware Set. The heat doesn\u0027t seem to distribute evenly across the cookware. What can I do to fix this?", "Answer": "Ensure that the cookware is placed on a flat surface for proper heat distribution." }, { "QuestionId": 394, "ProductId": 18, "Question": "How much water can the hydration reservoir hold?", "Answer": "2L" }, { "QuestionId": 395, "ProductId": 149, "Question": "How to conduct flow rate calibration?", "Answer": "Use a precision flow meter and tubing" }, { "QuestionId": 396, "ProductId": 93, "Question": "How to assemble the stove?", "Answer": "Place stand, attach reflector, position stove." }, { "QuestionId": 397, "ProductId": 120, "Question": "What is the waterproof testing chamber used for?", "Answer": "Simulate extreme weather conditions" }, { "QuestionId": 398, "ProductId": 76, "Question": "What color is the amplifier?", "Answer": "vibrant green" }, { "QuestionId": 399, "ProductId": 145, "Question": "How to troubleshoot slow charging?", "Answer": "Optimize Sun Exposure" }, { "QuestionId": 400, "ProductId": 70, "Question": "Hi there, I recently purchased the Juice Junkie Solar Power Bank 10000mAh and I\u0027m not sure how to optimize the solar panel performance. Can you provide some guidance on how to position the solar panel for maximum sunlight exposure?", "Answer": "Ensure optimal angle and orientation." }, { "QuestionId": 401, "ProductId": 103, "Question": "What first aid supplies are included?", "Answer": "Band-aids, gauze pads, adhesive tape, antiseptic wipes" }, { "QuestionId": 402, "ProductId": 99, "Question": "What standards does the backpack comply with?", "Answer": "ISO 11226 and ANSI/HFES 100-2007" }, { "QuestionId": 403, "ProductId": 145, "Question": "Not charging?", "Answer": "Check solar panel and connection." }, { "QuestionId": 404, "ProductId": 86, "Question": "How to start a fire?", "Answer": "Follow these simple steps." }, { "QuestionId": 405, "ProductId": 82, "Question": "Hi there, I just bought the SurvivalPro Emergency Kit and I want to make sure all the items are included. Can you help me with a checklist?", "Answer": "Yes, use the checklist provided in the kit." }, { "QuestionId": 406, "ProductId": 184, "Question": "How to charge?", "Answer": "Refer to section 4.2" }, { "QuestionId": 407, "ProductId": 185, "Question": "How does the insulated interior work?", "Answer": "Locks in body heat with synthetic fibers" }, { "QuestionId": 408, "ProductId": 9, "Question": "How to troubleshoot AltitudeShield Pro?", "Answer": "Not disassemble or tamper." }, { "QuestionId": 409, "ProductId": 41, "Question": "Hi there, just got the AquaVenture surf watch and I\u0027m wondering how to activate the heart rate monitoring feature. Can you help?", "Answer": "Press the \u0022HEART\u0022 button" }, { "QuestionId": 410, "ProductId": 116, "Question": "Storage tips?", "Answer": "Ensure the tent is completely dry before storing" }, { "QuestionId": 411, "ProductId": 163, "Question": "What is the purpose of the Stealth Cam 500?", "Answer": "Designed to capture wildlife in their natural habitat" }, { "QuestionId": 412, "ProductId": 119, "Question": "How many lighting modes?", "Answer": "Three: High, Low, Strobe." }, { "QuestionId": 413, "ProductId": 37, "Question": "suitability for children?", "Answer": "Familiarize with pediatric first aid procedures" }, { "QuestionId": 414, "ProductId": 71, "Question": "What is the power input?", "Answer": "12V DC" }, { "QuestionId": 415, "ProductId": 131, "Question": "Hello, I just bought the NatureCam 1000 and I\u0027m not sure how to insert the SD card. Can you provide some guidance?", "Answer": "Locate the SD card slot on the side of the camera, and carefully insert the SD card into the slot until it clicks into place." }, { "QuestionId": 416, "ProductId": 66, "Question": "Assembly instructions for beach tent?", "Answer": "Do not attempt in windy conditions" }, { "QuestionId": 417, "ProductId": 168, "Question": "What controls the overall sound output?", "Answer": "Master volume knob" }, { "QuestionId": 418, "ProductId": 25, "Question": "What PPE is recommended?", "Answer": "Hard hat, safety goggles, gloves, steel-toed boots" }, { "QuestionId": 419, "ProductId": 145, "Question": "Hi, I just bought the PowerBeam Solar Powered Portable Charger. How do I charge it using the included micro-USB cable indoors?", "Answer": "Connect the charger to a power source using the micro-USB cable." }, { "QuestionId": 420, "ProductId": 43, "Question": "How to troubleshoot flashlight not turning on?", "Answer": "Check battery, replace, inspect tailcap" }, { "QuestionId": 421, "ProductId": 118, "Question": "How to wear PeakPro boots?", "Answer": "Follow these pro tips." }, { "QuestionId": 422, "ProductId": 143, "Question": "How to clean the cookware?", "Answer": "Hand wash with mild soap" }, { "QuestionId": 423, "ProductId": 31, "Question": "warranty period?", "Answer": "one year" }, { "QuestionId": 424, "ProductId": 23, "Question": "How to fix loose canopy?", "Answer": "Check tension adjustment knobs" }, { "QuestionId": 425, "ProductId": 47, "Question": "Hi there, I recently purchased the Nutritech Protein Plus Energy Bars Variety Pack and one of the bars tasted off. Can you help me?", "Answer": "Please check the expiration date printed on the wrapper." }, { "QuestionId": 426, "ProductId": 168, "Question": "Dear customer support, my WildDJ Pro Mixer is having technical difficulties. Can you provide me with guidance and solutions to address the issue?", "Answer": "Our technical support team is at your service." }, { "QuestionId": 427, "ProductId": 53, "Question": "Hi there, I recently purchased the GlacierTech Snowsport Goggles and I want to know if the limited lifetime warranty covers manufacturing defects. Can you confirm?", "Answer": "Yes, the warranty covers defects in materials and workmanship for the lifetime of the product from the date of purchase." }, { "QuestionId": 428, "ProductId": 105, "Question": "How to initiate solar charging?", "Answer": "Place in direct sunlight" }, { "QuestionId": 429, "ProductId": 149, "Question": "BPA-Free certification standards?", "Answer": "Meets FDA and EFSA standards" }, { "QuestionId": 430, "ProductId": 200, "Question": "What safety standards does the backpack meet?", "Answer": "ANSI/ISEA 107-2015, ISO 9001:2015" }, { "QuestionId": 431, "ProductId": 8, "Question": "Hello, I just received my Outdoor Admin 5000 and I\u0027m curious to know what\u0027s included in the package. Can you please tell me?", "Answer": "The Outdoor Admin 5000, a carrying case, charging cable, and user manual." }, { "QuestionId": 432, "ProductId": 109, "Question": "What is included for weather preparedness?", "Answer": "Waterproof jacket and moisture-wicking jersey" }, { "QuestionId": 433, "ProductId": 103, "Question": "What should I do after unboxing?", "Answer": "Lay out all the items" }, { "QuestionId": 434, "ProductId": 158, "Question": "How to clean water bladder?", "Answer": "Rinse with warm, soapy water." }, { "QuestionId": 435, "ProductId": 51, "Question": "Hello, I recently purchased the Resilience Gear Survival Pro Multi-Tool and I wanted to know what the warranty coverage is for this product. Can you provide me with more information on this?", "Answer": "The limited warranty covers defects in materials or workmanship for one year from the date of purchase." }, { "QuestionId": 436, "ProductId": 172, "Question": "How to adjust pole length?", "Answer": "Reflect on engineering and design." }, { "QuestionId": 437, "ProductId": 139, "Question": "How to activate SOS alert?", "Answer": "Press and hold red button for 3 seconds" }, { "QuestionId": 438, "ProductId": 97, "Question": "Hey there, I just bought the Wanderer Multi-Tool Keychain and I\u0027m wondering if it has a compass feature?", "Answer": "Yes, it has a compass feature." }, { "QuestionId": 439, "ProductId": 167, "Question": "Hello, I just bought the Trail Chef Backpacker Cookware Set and I want to make sure I\u0027m cleaning it properly. Can you tell me what type of detergent I should use?", "Answer": "Use a mild, non-abrasive detergent" }, { "QuestionId": 440, "ProductId": 142, "Question": "What are the setup steps?", "Answer": "1. Wrap the tree-friendly straps around the trees... 2. Attach the carabiners to the loops at each end of the hammock... 3. Enjoy a smooth and stable setup." }, { "QuestionId": 441, "ProductId": 151, "Question": "What is the warranty coverage?", "Answer": "Limited lifetime warranty for defects under normal use" }, { "QuestionId": 442, "ProductId": 42, "Question": "How do I clean the backpack?", "Answer": "Use mild detergent and water, then air dry." }, { "QuestionId": 443, "ProductId": 107, "Question": "Hi there, I just bought the UltraGrip 3000 Trekking Poles. How should I store them when not in use?", "Answer": "Store in cool, dry place away from direct sunlight and extreme temperatures." }, { "QuestionId": 444, "ProductId": 102, "Question": "How to collapse the paddle?", "Answer": "Verify that the locking mechanisms are disengaged before attempting to collapse the paddle." }, { "QuestionId": 445, "ProductId": 135, "Question": "What is the recommended resolution for footage capture?", "Answer": "4K resolution" }, { "QuestionId": 446, "ProductId": 11, "Question": "Hello, I recently purchased the SurvivalMed 3000 and I\u0027m wondering where it should be stored to maintain its safety and functionality. Can you provide some guidance on this?", "Answer": "Stored in a secure, climate-controlled environment at all times" }, { "QuestionId": 447, "ProductId": 15, "Question": "How to charge AdventurePro 1000?", "Answer": "Use Micro-USB charging cable" }, { "QuestionId": 448, "ProductId": 87, "Question": "How long is the warranty?", "Answer": "12 months" }, { "QuestionId": 449, "ProductId": 158, "Question": "How to clean the water bladder?", "Answer": "Rinse with warm, soapy water." }, { "QuestionId": 450, "ProductId": 122, "Question": "How to transfer footage?", "Answer": "Connect to device using USB" }, { "QuestionId": 451, "ProductId": 28, "Question": "How to turn on?", "Answer": "Press power button for 3 seconds" }, { "QuestionId": 452, "ProductId": 66, "Question": "How long is the warranty?", "Answer": "6 months from purchase" }, { "QuestionId": 453, "ProductId": 45, "Question": "Charging indicators?", "Answer": "Flashing when charging, steady when fully charged" }, { "QuestionId": 454, "ProductId": 78, "Question": "Hi there, I\u0027m considering purchasing the AquaTech X-5000 for some watersports activities. Can you tell me about the water resistance testing and if it\u0027s suitable for use in rough conditions?", "Answer": "Conduct a water resistance test to verify the effectiveness of the AquaTech X-5000\u0027s hydrophobic nano-coating." }, { "QuestionId": 455, "ProductId": 80, "Question": "Hi there, I just bought the Stealth 5000 Fishing Reel and I\u0027m wondering how to set the drag for maximum control. Can you help?", "Answer": "Turn the drag knob on the top of the reel handle." }, { "QuestionId": 456, "ProductId": 126, "Question": "How to activate SOS alert?", "Answer": "Hold down the SOS button for 3 seconds" }, { "QuestionId": 457, "ProductId": 3, "Question": "How to set up the hammock?", "Answer": "Wrap each strap around the tree or post and clip the carabiners to the loops at each end of the hammock body." }, { "QuestionId": 458, "ProductId": 146, "Question": "Suitable for children or pregnant women?", "Answer": "No, for adult use only." }, { "QuestionId": 459, "ProductId": 110, "Question": "How should I store the bars?", "Answer": "Lovingly wrapped in eco-friendly packaging" }, { "QuestionId": 460, "ProductId": 74, "Question": "Hi there, I just bought the Naturehaven Ultra-Light Hammock and I want to know how to clean it properly. Can I use bleach?", "Answer": "Hand wash with mild soap and water, avoid using bleach" }, { "QuestionId": 461, "ProductId": 53, "Question": "How to prevent fogging?", "Answer": "Clean with soft, dry cloth" }, { "QuestionId": 462, "ProductId": 183, "Question": "How to prevent rust on cookware?", "Answer": "Thoroughly dry after use." }, { "QuestionId": 463, "ProductId": 194, "Question": "How are the first aid supplies organized?", "Answer": "In a bright red pouch" }, { "QuestionId": 464, "ProductId": 192, "Question": "What is the warranty claim process?", "Answer": "Contact Hiker\u0027s Haven Customer Service with proof of purchase and photos of defect." }, { "QuestionId": 465, "ProductId": 34, "Question": "Battery type for best performance?", "Answer": "Use 8 AA alkaline or lithium batteries" }, { "QuestionId": 466, "ProductId": 199, "Question": "What is the short circuit current?", "Answer": "6.11A" }, { "QuestionId": 467, "ProductId": 87, "Question": "Hi there, I just bought the Xtreme Trail Bike Helmet and I need to clean the visor. What should I use to clean it?", "Answer": "Use mild soap and water." }, { "QuestionId": 468, "ProductId": 84, "Question": "Hi there, I just got the Trailblazer GPS Smartwatch and I\u0027m wondering how to start tracking my cycling session. Can you help?", "Answer": "Press the blue button and select \u0027Cycling\u0027 from the menu." }, { "QuestionId": 469, "ProductId": 176, "Question": "How to change settings?", "Answer": "Follow steps in manual" }, { "QuestionId": 470, "ProductId": 18, "Question": "How to adjust chest strap?", "Answer": "Use sliding buckle to adjust chest strap height." }, { "QuestionId": 471, "ProductId": 141, "Question": "What standard for fire starter conductivity?", "Answer": "IEEE 156-2000" }, { "QuestionId": 472, "ProductId": 133, "Question": "Hi there, I just bought the TactiX 3000 backpack and I can\u0027t figure out how to use the hydration compartment. Can you give me some instructions?", "Answer": "Unzip, insert, secure, route, connect, and place." }, { "QuestionId": 473, "ProductId": 151, "Question": "How to sharpen the knife?", "Answer": "Use a knife sharpener" }, { "QuestionId": 474, "ProductId": 165, "Question": "How to attach rainfly?", "Answer": "Lay it over the top and secure to poles using color-coded clips" }, { "QuestionId": 475, "ProductId": 137, "Question": "How often to inspect?", "Answer": "Regularly" }, { "QuestionId": 476, "ProductId": 2, "Question": "Hi, I\u0027m interested in the Secure Messaging Device. Can you tell me the processor specification?", "Answer": "2.5 GHz Quad-Core" }, { "QuestionId": 477, "ProductId": 68, "Question": "How to find the perfect fit?", "Answer": "Use ruler to measure foot length" }, { "QuestionId": 478, "ProductId": 96, "Question": "What is the warranty period?", "Answer": "One year from the date of purchase" }, { "QuestionId": 479, "ProductId": 125, "Question": "Hello, I recently purchased the MediKit Xpress from Trailblazer Pharmaceuticals. Can you please provide some tips on how to properly prepare the kit for off-grid use?", "Answer": "Always make sure to check that all the medical supplies are securely stored inside the kit before heading out on your adventure." }, { "QuestionId": 480, "ProductId": 21, "Question": "How to customize settings?", "Answer": "Tap on Settings app" }, { "QuestionId": 481, "ProductId": 166, "Question": "How to start the engine?", "Answer": "Follow simple steps in manual" }, { "QuestionId": 482, "ProductId": 179, "Question": "How to store the AquaPro 3000?", "Answer": "Store in a cool, dry place away from sunlight." }, { "QuestionId": 483, "ProductId": 8, "Question": "Hi there, I just bought the Outdoor Admin 5000 and I\u0027m having trouble accessing the emergency contacts. Can you help me with that?", "Answer": "Select \u0027Emergency Contacts\u0027 from main menu" }, { "QuestionId": 484, "ProductId": 78, "Question": "how to troubleshoot power issues?", "Answer": "Check Battery Connection, Battery Testing, Charging Process, External Power Source" }, { "QuestionId": 485, "ProductId": 21, "Question": "Hi there, I just got my WeatherGuard Pro 3000 and I\u0027m trying to pair it with my smartphone. How many devices can I pair with it?", "Answer": "You can pair up to 3 devices with your WeatherGuard Pro 3000." }, { "QuestionId": 486, "ProductId": 15, "Question": "How to charge AdventurePro 1000?", "Answer": "Use included Micro-USB charging cable" }, { "QuestionId": 487, "ProductId": 181, "Question": "Hi there, I just bought the RapidX Kayak Paddle and I\u0027m having trouble adjusting the feather angle. Can you help me with that?", "Answer": "Press the neon green feather adjustment button near the blade to adjust the feather angle." }, { "QuestionId": 488, "ProductId": 80, "Question": "How to calibrate line counter?", "Answer": "Lower lure, reset counter to zero" }, { "QuestionId": 489, "ProductId": 35, "Question": "How to clean the cookware?", "Answer": "Wash with mild dish soap and warm water." }, { "QuestionId": 490, "ProductId": 43, "Question": "Hi, I just bought the NightOps Tactical Flashlight and I\u0027m not sure how to activate the strobe mode. Can you help?", "Answer": "Press and hold the button for 2 seconds." }, { "QuestionId": 491, "ProductId": 111, "Question": "Warranty duration?", "Answer": "1-year from purchase" }, { "QuestionId": 492, "ProductId": 97, "Question": "How to use the knife?", "Answer": "Carefully slide out the small blade." }, { "QuestionId": 493, "ProductId": 93, "Question": "Hi there, I recently purchased the SunChef Solar Powered Stove and I\u0027m having trouble with it not heating up properly. I\u0027ve made sure it\u0027s in direct sunlight, but it still doesn\u0027t heat up. Any suggestions?", "Answer": "Ensure Proper Sunlight" }, { "QuestionId": 494, "ProductId": 186, "Question": "Hi there, I recently purchased the Avalanche Pro 3000 and I want to make sure I know how to use the distress signal beacon in case of an emergency. Can you provide some guidance on how to activate it?", "Answer": "Press and hold the red distress button to activate the signal." }, { "QuestionId": 495, "ProductId": 8, "Question": "What comes in the package?", "Answer": "The Outdoor Admin 5000 device, carrying case, charging cable, user manual" }, { "QuestionId": 496, "ProductId": 84, "Question": "How to start tracking cycling?", "Answer": "Press blue button, select \u0027Cycling\u0027" }, { "QuestionId": 497, "ProductId": 170, "Question": "How to troubleshoot leakage?", "Answer": "Follow steps in manual." }, { "QuestionId": 498, "ProductId": 152, "Question": "How to reset beacon light?", "Answer": "Remove batteries for 30 seconds" }, { "QuestionId": 499, "ProductId": 128, "Question": "How long is the warranty?", "Answer": "1-year limited warranty" }, { "QuestionId": 500, "ProductId": 81, "Question": "How to troubleshoot difficulty adjusting buckles?", "Answer": "Check threading and lubricate moving parts" } ] ================================================ FILE: seeddata/dev/manual-chunks.json ================================================ [File too large to display: 14.7 MB] ================================================ FILE: seeddata/dev/products.json ================================================ [ { "ProductId": 1, "CategoryId": 35, "Brand": "Escapesafe", "Model": "Adventure GPS Tracker", "Description": "Stay safe in the great outdoors with real-time tracking and SOS signal capabilities. Waterproof and durable for any adventure.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 10, "CategoryId": 32, "Brand": "Beammax", "Model": "TechBeam 2000", "Description": "The TechBeam 2000 is a cutting-edge high-tech lighting solution for outdoor adventures. With adjustable brightness and long battery life, it\u0027s an essential companion for nighttime activities.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 100, "CategoryId": 52, "Brand": "Adventure Pack", "Model": "Ridge Runner Hydration Pack", "Description": "Stay hydrated on the go with the Ridge Runner Hydration Pack. Featuring a 2L water reservoir, ventilated back panel, and multiple pockets for storage, it\u0027s perfect for hiking, biking, and outdoor activities.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 101, "CategoryId": 54, "Brand": "Ultraglow", "Model": "Lumina LED Camping Lantern", "Description": "Illuminate your campsite with long-lasting, high-intensity LED light. Water-resistant and compact for easy portability. Great for outdoor adventures.", "Price": 29.99, "NameEmbedding": "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" }, { "ProductId": 102, "CategoryId": 59, "Brand": "Aqua Venture", "Model": "Voyager Kayak Paddle", "Description": "Designed for durability and performance on the water. Lightweight and adjustable for comfortable use. A must-have for kayaking enthusiasts.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 103, "CategoryId": 21, "Brand": "Safetyex", "Model": "Survival Kit 5000", "Description": "Be prepared for emergencies with this comprehensive survival kit. Includes first aid supplies, emergency food, water, and essential tools.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 104, "CategoryId": 6, "Brand": "Aquaduct", "Model": "Puriflo Water Filter Bottle", "Description": "Drink clean, filtered water on the go. Removes 99.9% of bacteria and protozoa. Perfect for hiking, camping, and travel.", "Price": 39.99, "NameEmbedding": "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" }, { "ProductId": 105, "CategoryId": 13, "Brand": "Power Pak", "Model": "Solar Power Bank 10000mAh", "Description": "Charge your devices anywhere with solar power. Compact and lightweight design with fast charging capabilities. Ideal for outdoor adventures and travel.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 106, "CategoryId": 50, "Brand": "Sleepranger", "Model": "ArcticZone 500 Sleeping Bag", "Description": "Stay warm and comfortable during your outdoor adventures with the ArcticZone 500 sleeping bag. Designed for extreme conditions, this high-tech sleeping bag features advanced insulation and a durable, water-resistant shell.", "Price": 199.99, "NameEmbedding": "NRNPwKo24T92b0++ANeaPuBOekB+cZE/m7AEQAsYyT4uAxC/1OSnP7UyJb/a266/qqbVP3h1r0AdJ8Q/EViqv/OqRj8hNXa/Ka1/wKjNeL22lnpAKUKDvyDud0ABejtAFhynP5/UA0CeBno+QGNcP5HVG8CWsxDBpGaOvy9Gjj/IjwpAIAKzv2sNdr/BFUjAC1J0QKKpDUCoWR7AkKRhQIKpEUBtpmtArI0gQCnHBUAyn3Q/HIxEv67kO8CKMnm/AGD8OM4khMA7Jrs+WtM2wEkpGsDeHfM/+8SeP8Ucrj3w6xo+Z/aUP+c9Y0DoCFJA9fQ3Px+5vD8GTSjBqZYuQOJX9T9T0hU/EQKwwC/EJsD1+ytAzqKWQC761b4kjbM/+iOdQMnUvz+hO4g/dEYBvzgomD+PDQbAKDgRvrOuPL8yW5DAAhS6v10fkz1cWMW/fR90P0uOgz+5OLA/+P0BQF9JGD6zGxO/FQIvwPILwT+VIlXAX3plP99dmsCpO0jAxxGOPT9ZM0BuHZ69riwhQXqKMkC+pZtA8o4bQFmpH0BLI7o/ycqCwGp8BD8SWdY+P64ZwArVTb5MHhNADek5v9bmj0CquWHAQFBdQCrxuT+lAddAwjH8QMIJ6r4gE3VA4mm3wFJigsD5EZNAsrvbPywybj/IOM0/tt3nvsMeokDQC9w/a5+NPxmFHT8mCLBAG+nOP1284D+0cYQ//T0HP+krwL4N5ARApa37PvzEf8CUIZW/jfAjwJG1l0BH2NvAPi7Vv+VhFUDhJkfAslWWP0i028Akc9c/9rU0P7YlS79SdIY/byehwImv2D9yfbM/iYBeQEwW0r9gYjq+wLDmv4Cukb5K0UNA6dlcQO2+gkAqGErAbWynwMq+97/WLTk/aJ0jv9FIacCLPaq/U5gAQBg70j1XIV/AJMGrQPSEW0D50+o/o0G2v542Er+bIxq/KRNJP2z1acDrdPK/9MXdPOwmkz9w34a/DxcFwPQCAkDs3uo+fSm2wPkpCMCwFJi/Le6qQPwuYEDfya/AKnZTvss8rcCa1ihAiVV6QKSmqsCAUj5BUCcdQGFVGEDi77y/1sTlQBuWjkDK6eW+or+ywIvbPEDeayS+cD/gP3kCf793IaE/nL/uPxzJAcE8sZ29oggLwIgobz1Fl3zA4aguQOfWekCcg9/AojrWwDr2WcH3i4xA6lcVPp44TMDHmLE+BwTxPnjnnLwyAWjAeOcEPmW/CUB+/xdAeRGDv4ZCv7+uruU/tEszv7WbokCwX8+/PgOHvxnpcr/GMdq/CQHNvx/TZcCkM2rA5Q6HQKgMkb8iaIPACdpDQXpN6r+aXHhAoqqbvxWyGj6JczpA6v5TQOdSi8A4XYxA7IxwvxPKSkBQrZK8aMwpQA0znr+MCjfADzTvQI+/4780Ww/AgWEMwFCLW8DFUDHAOgb2v1gWsz+T7gnAow2fP4+uAMCSJdg/L1icwJUbsT/4rwbAoJHsvwiMFj5ls4+/E0kYQB5wj7/kquK/l1vmPvcDB8B/5wpAnTQ2QOXW5r6qPuQ/3yCGPx4busBGYrC/dmQKQKTeIcB01gNA5QukQOKEuD+bKR5ACUeGP64o4D4RCO+/TPx4v0aVsz9oXCvA0RG/v3YDLECqz4k/rpCHwIxMIkCdczpAnG0LQBHDZkA+4m5Aurb5v+CAIMA1cbNAebEAwLl7Z8FelbC/P28wwJ55cMCnmpU/x6tMv2H0pz4Aq4VAgtaGwOiRj8DKdRfAwGjOQLwvhz63IENAB7UAQH+UBb9oVAo/MtaHwNAoPEDbJVnAufUEwJVL+T6pWzlBrKfwPQSdxD+tNZlAZACsvlh7wj8D7J0/YymJP37YPUCvBwLAhp9nP4V3cMDVtg3ANJ8QwCypX8CW35Y/ijCrP7gnJsAg7vc+HzplPxz6574++A1AzmKHQKVkBsCMPjHAX3KSwLFKrj6b+8bAPwMXv1STusActLC/lHGlvkIGWj2z/0JAET27PkFjKb+jWALAZdW0wGagaL9MUx/BbER2wJnwAsA0JGk+" }, { "ProductId": 107, "CategoryId": 51, "Brand": "Polepro", "Model": "UltraGrip 3000 Trekking Poles", "Description": "Conquer any terrain with the UltraGrip 3000 trekking poles. Featuring lightweight carbon construction and ergonomic grips, these high-tech poles offer superior stability and support for your outdoor excursions.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 108, "CategoryId": 28, "Brand": "Eco Grill", "Model": "SolarChef Off-Grid Stove", "Description": "Cook delicious meals off the grid with the SolarChef stove. Utilizing solar technology, this high-tech stove is eco-friendly and perfect for camping, hiking, and other outdoor activities.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 109, "CategoryId": 23, "Brand": "TrailTech", "Model": "XtremeGear 5000 Mountain Biking Kit", "Description": "Take your mountain biking to the next level with the XtremeGear 5000 kit. This high-tech gear includes advanced protective gear, performance clothing, and accessories for an unparalleled biking experience.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 11, "CategoryId": 62, "Brand": "Adventurist Anaesthetics", "Model": "SurvivalMed 3000", "Description": "The ultimate off-grid surgery kit for adventurers. Whether it\u0027s a minor wound or a full transplant, the kit contains everything you need.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 110, "CategoryId": 41, "Brand": "EcoFuels", "Model": "PowerFuel Energy Bars", "Description": "Fuel your adventures with PowerFuel energy bars. Packed with high-quality, nutrient-dense ingredients, these eco-friendly bars provide a convenient and delicious source of energy for outdoor activities.", "Price": 14.99, "NameEmbedding": "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" }, { "ProductId": 111, "CategoryId": 15, "Brand": "Hydratetech", "Model": "Aquaflow 2L Hydration Pack", "Description": "Stay hydrated on your outdoor adventures with the Aquaflow 2L Hydration Pack from Hydratetech. Features a leak-proof design, adjustable straps, and a high-flow bite valve.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 112, "CategoryId": 23, "Brand": "Cyclextreme", "Model": "Trailblazer Carbon Fiber Mountain Bike Helmet", "Description": "Hit the trails with confidence while wearing the Trailblazer Carbon Fiber Mountain Bike Helmet from Cyclextreme. Lightweight, durable, and equipped with advanced ventilation for maximum comfort.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 113, "CategoryId": 3, "Brand": "Backhike", "Model": "Summit Pro 40L Technical Backpack", "Description": "Carry all your gear in the Summit Pro 40L Technical Backpack from Backhike. Features a built-in hydration system, padded hip belt, and multiple compartments for organized storage.", "Price": 179.99, "NameEmbedding": "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" }, { "ProductId": 114, "CategoryId": 36, "Brand": "JXE", "Model": "WildBeat Wireless Waterproof Speaker", "Description": "Keep the party going even in the wilderness with the WildBeat Wireless Waterproof Speaker from JXE. Features 360-degree sound, rugged construction, and long battery life.", "Price": 99.99, "NameEmbedding": "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" }, { "ProductId": 115, "CategoryId": 66, "Brand": "FrostGlider", "Model": "NanoTrax Ultra-Light Snowshoes", "Description": "Conquer snowy terrain with ease using the NanoTrax Ultra-Light Snowshoes from FrostGlider. Utilizes nanotech materials for exceptional durability and lightweight performance.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 116, "CategoryId": 26, "Brand": "Ultratent", "Model": "UltraLite 2-Person Backpacking Tent", "Description": "Stay lightweight and protected on your outdoor adventures with the UltraLite tent. With durable materials and easy setup, it\u0027s perfect for backpacking or camping.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 117, "CategoryId": 17, "Brand": "Adventure Link", "Model": "AdventurePro Off-Grid Satellite Communicator", "Description": "Stay connected even in remote areas with the AdventurePro satellite communicator. Send texts, track your location, and access emergency services with this high-tech device.", "Price": 449.99, "NameEmbedding": "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" }, { "ProductId": 118, "CategoryId": 47, "Brand": "Summit Step", "Model": "PeakPro Waterproof Hiking Boots", "Description": "Conquer any terrain with the PeakPro hiking boots. Featuring waterproof technology, rugged soles, and comfortable fit, these boots are a must-have for avid hikers.", "Price": 179.99, "NameEmbedding": "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" }, { "ProductId": 119, "CategoryId": 32, "Brand": "GloTech", "Model": "GloBeam 1000 High-Powered LED Headlamp", "Description": "Light up the night with the GloBeam headlamp. With ultra-bright LED technology, long battery life, and multiple lighting modes, it\u0027s perfect for outdoor activities after dark.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 12, "CategoryId": 22, "Brand": "TrailTech", "Model": "TrailGPS 5000", "Description": "High-tech GPS system with advanced mapping and navigation features. Rugged and waterproof design for outdoor use. Long battery life and convenient touchscreen interface.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 120, "CategoryId": 16, "Brand": "Frost Flare", "Model": "ArcticPro Insulated Ski Jacket", "Description": "Stay warm and stylish on the slopes with the ArcticPro ski jacket. Featuring advanced insulation, waterproof design, and thoughtful storage pockets, it\u0027s a must-have for snowsports enthusiasts.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 121, "CategoryId": 64, "Brand": "WaterRover", "Model": "HydroTech 5000", "Description": "The HydroTech 5000 is the ultimate high-tech watersports gear, with built-in GPS navigation, waterproof communication system, and advanced safety features. Dive into adventure with confidence.", "Price": 499.99, "NameEmbedding": "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" }, { "ProductId": 122, "CategoryId": 11, "Brand": "Actionpro", "Model": "AdventureCam 4K", "Description": "Capture all your outdoor action in stunning 4K resolution with the AdventureCam 4K. Waterproof, shockproof, and equipped with advanced stabilization technology for the perfect shot every time.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 123, "CategoryId": 67, "Brand": "Nature\u0027s Photocopier", "Model": "SolarCopy 3000", "Description": "The SolarCopy 3000 is the ultimate outdoor administration tool, harnessing the power of the sun to photocopy documents up to A3 size. Sleek, lightweight, and ultra-durable - never leave home without it.", "Price": 149.99, "NameEmbedding": "qn+DwAzvl7+h8ANA7sBiP4PJrkA5jmm/eKW8P17accCqoH+/nuyOQL/ns0CUhgfB6E2mP/iXgUBu830/dl9+P7FD2EBbvPg/hHtoP6oprECtRgpB6lqYwIS51L/mSiA/Dtg1wD7zmUA20Y2/HjKewPaqwcD7QljBlPAwwCleisAFNvc+Rb0mwO/epD8M0+LAOolLwLS9h8AyqbXADYOkQCpjkMDt1ljAUAScwFe/bECEW73A/vo3wNavo79F9hXANH6CQKQXm8D/KKG/pKNtwAdPqb7UmZE85mOIPhxMEEDlS/4/tkp8QLSsWEBLRvW/T13TQLDf4EAN5X3BPEKvQA3A2UCN5Zu/kyNOwJC8eL/kcLk/ylCnv8U3GMDkI6JA4thowBdFEkAShmI+DAVMwAvkmMA1B5zA0Cm0wIHGa8Dcm2TAeVZTQASVWMD+9wrAtldDPrAJJ7/G7dc/dvoeP9H2yUB944O/9f0vwAFuxL8feczAsu3yP4pZBcHYn5e/Vga9QETZgj44s0tAg6U7QV42W8AMeFpAG8bCQMfYCsDyVf++EidywIySrD7suzXAC8oNwA6Biz9fcBRAVWBjPyIk/D3W2YC/NfwfPxI7WsA200E/5OBcvzJvLcAoBLNAh5dbv6PFzz+9SqlAo4fsPqCJ1b5K2Z0/KHefQD6OPEDY2z1AA+8QQSuOCEB0kyhA8rlhwL1fdj8/nQbA6RE/P8aQ5z+GOhnArANQvRCCxT4HlYq/7YyFP5RWAj9LOhnBUA6tP3Rtrb+EXHbAZ+KgQJj+esADI5u/6+WJvy/PykAoHYhArY+WPgOLh0Dve2hAMou0P4xdz74y8vm/IkWIP0/boD+FvNy/Bg8xwLCURUE8KRQ/aN1JwUlSTUBGDvM/VS+Gv3t+ekCQaQS/msaaQIKtNj3fLOrAt6fbQN1jokAwSxXBDEGGP3JR3r71tVBAAyITwOBE6T5uMXs/1QtuP+YakkCwd7LALmUqwO7ph0CceGHAdjTGQMgHWMCGoHLAW9IsP0bp2D+K4Pq/D3AYv3KvQ8B3JynAJ2/CPwSx377MC8tAKz9bv/h4kT/8SutAhzAfQHGGBcAGacS/avBuQMzfsD8HTItAug7AP2kIzr+vG6pAHpMYQOLEEMH4g3pAXOaJQOoaYj+hvAI/aNMsQMi17z+blhHBymgywfqAncG4/2i+3bOvv95fIsBikI9AHpkQvjIGZEC81QM/Fz/2P0DDtr48frlAyXWUwAw4vkAM6DPAcaFWwGGXi0B3T5o/CCvpvxpuYL9JfYzA+rG0vwCwzT+RoOo/TqyawNIjkkBE2/3AdvR3QQfJT0BbqEbA23FDQKf9CEBAfaS/N4SLv6dK38AqAc4+wxxeQAwgfUA3WzNAEusYwHCCBMAdD4ZAa+boQFKEVMBwFpPAMMQiQM7q675sKE6+hgSXQPNDob/EGPa//YLAQBc7r74YHMy/ar4lwDYKP0BRHrc/S6XIwPscsT8DYl6/17w7QDgsEb/QpwjAh+QJP/2CHMDYKx9AiYTKvoQghz+CboLAbs5PQEC1VMBdhZk/Nb/xQA28BUBENm2+ajWgQAaaU0Bue6FARB4Iv3vRGUAOuGXAysOiQPL7HEBh0sE/1FEgQDxqkT6O1xm9MGdcwGTNfMATP2LAJwYawEZ9Fj2U2ixAc0WywBCRer1yDOhANTYzQGrLvsGf7UpA4Z88wDdykMByEpc/WBirP6+yh0DJ2dNAvaQfQD2PRL79U5bAlfWWv9E37D9JXrE/mwY1QLk8PUBTOSq/NvVNvtTqHz477kw/W1FyQA99Lj822X9Bj9ZeP6IN1sAf1XBAig9mwNhrREBdOK5AutRfvlJmDkCg6Kk/xqlyv+eBsL8xtve/pdNeQC0FRkBOnZHAxPFlQOT5Ez9ApERARIyaP0BLPcA/ljzAHBTdQMVbu8DayCTAxDvGwP76F8BHZf+/8N5JwLbej8CCdb3AnCX2Pwof+r8jJ5BAnM7Hv5Iy6L+z8LTApYXmvj2ChUCV2nXAaNIEQOFsJkCOlCtA" }, { "ProductId": 124, "CategoryId": 21, "Brand": "ToughTrek", "Model": "SurvivalPro 2000", "Description": "Be prepared for anything with the SurvivalPro 2000 emergency gear. Featuring a rugged construction, advanced survival tools, and comprehensive first aid supplies, it\u0027s your ticket to safety in the wild.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 125, "CategoryId": 62, "Brand": "Trailblazer Pharmaceuticals", "Model": "MediKit Xpress", "Description": "When you\u0027re off the grid, the MediKit Xpress from Trailblazer Pharmaceuticals has your back. Compact, portable, and equipped with essential medical supplies, it\u0027s the ultimate off-grid surgery kit for adventurers.", "Price": 349.99, "NameEmbedding": "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" }, { "ProductId": 126, "CategoryId": 21, "Brand": "SOS Gear", "Model": "SOS Emergency Beacon", "Description": "Stay safe in the wilderness with this high-tech emergency beacon. Features GPS tracking, SOS alert, and long battery life.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 127, "CategoryId": 15, "Brand": "Thirsttrek", "Model": "HydraPack 2.0", "Description": "Stay hydrated on the trail with this advanced hydration system. Leak-proof, BPA-free, and includes a built-in water filter.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 128, "CategoryId": 15, "Brand": "AquaNest", "Model": "AquaBottle Pro", "Description": "Quench your thirst with this durable and lightweight water bottle. Insulated, easy to clean, and fits most backpack pockets.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 129, "CategoryId": 67, "Brand": "TrailFax", "Model": "TrailFax Mini", "Description": "It\u0027s business as usual, even in remote locations or on a mountaintop. Waterproof, shockproof, and preloaded with a 3G SIM card, you can send and receive faxes with ease.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 13, "CategoryId": 26, "Brand": "EZ Camp", "Model": "PopUp Shelter 2.0", "Description": "The perfect portable shelter for camping, festivals, and outdoor events. Easy setup with durable materials and built-in ventilation. Compact storage and lightweight for transportation.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 130, "CategoryId": 45, "Brand": "WildSound", "Model": "WildBeat Bluetooth Speaker", "Description": "Bring the party to the campsite with this portable and weatherproof Bluetooth speaker. Long battery life and 360-degree sound.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 131, "CategoryId": 61, "Brand": "Naturevision", "Model": "NatureCam 1000", "Description": "Capture wildlife in stunning HD with the NatureCam 1000 trail camera. Motion-activated, long battery life, and weatherproof design.", "Price": 199.99, "NameEmbedding": "KiUfQK0yub/ka6o/7RcswJtSM0BZaARAPITwPcwTVj+UdUE+pdheQKzXSz/oJMnAmH47QMKbh0DZcZe/ehhSvYcQXkCpzJ2/4niJv9kKfkAYHKJAVrClPpbUzD+WB12/n2AswHB9/b9gbW0++ShtwNh6rz5SpcjAAF/ov5Tr1jx7toRAa4EJQH2f5z4sljbA7254v5I10r4Y89i/TMj2PwS47j9n4hc/2gsGvygXCr+9nIq/NVwTwMwAzz5cePO/GufHPy48HsDIRtu/4MnFv3DUrD/awBhAgDk0v8no0T+qarQ/6DcUP/CY+j9qrWa/KLp0QKAxmT+LBBPBfMWWPz33fb6LKihABy+vv5ihoT8DsyVAJ3sqwOxQtr5cLcc/UCx0vbKRnr8S2Zs+RCDAv5bTIL/RsGW/p+FcwDRRCL+PSue/nqLHP1bZLr9unc6/tfMRQHL2cT4bCJO+GJuPvUmwkkBo4xg9yCOkvg7khT7IrSjA3XCdPi0dksCwvz6/Y0xXQBJ3QMBa6mRA4PsFQQ3uIsBFYSRAxeVEQN6zt78x+ENASQOAv3UzQMCBwUnAMcWKwF3RZb9+H/w/0Aqrv/7Agr6Krg5ABaixvlhoeLya/iY/6jfUP5vZOz9G8TS/NHI1wCFvzb8wqG5AIMe6PHuloz50a5s/RUyNQCmSgkDnPEhA14WfQP/ItT9hKB1Azh6Sv+I62L+qIOs8kePhPgCYgEAM6QG/+WmBP2lUgz9b4Q3An/yUPzxHPT8bY3PAe/d5vkj/xj5/ghFANswQQDi6YMC8L9+/PtqJvxj/HEDwlRxAiSqWP6HzhkAdKz1Ael+KP31SGD9LGY2/yjUiQBAMjT+HbQ3AyBcCv+1akkD4Dsk/RlOhwNlPzj9/Dy3AOVACvwYnPT9UOni9WoUGwLsB5D+Al6s+4nUoQBJkjL4cjQjB3nnEv9psRcDkGhc/E8EpvllKDL/PheO/uk70Pw77tj6JEwTAxIMcv51Jib5/FAXAqFbnP0yGAb+NGQjASSi4P2Q8+j/c/Ji/Qyw3QLyROr8sZnm+CjcPP6a54r+JbkZASqAPwKPFND4BvilAsoWEP8oXDsC85jNA78cIP7ofWD+cyCRARhYrv+DibD/Hgdw/dtACQEffP8BLQwvADbusv9g/vz+AAAw/73hWP7AGGD/PhuXAnhacwJDpNMHW1qg/hogyv0LsL8CkBidAI8wGwOgNyb8POvU/eGO4P4p3aj+Wsk9AcLTjv1QXzT5qstW/QiMaPmAagkAiFj0/SDg6vfopIsAiVmrAkJiGP9FkM0DiXEM/JF+GwLCF7j1y3kjA9DEHQa3y0D/eAFE+Wj0DQGIbeT+c4jw/d/isv3usrcA4st09ATKJPhV1777knUtAQ600wLJy9L8eFV5AO+1YQIjgw78jhjDANHQGwAU9OD8oFULAEtt4P0yVm78ONkLA++2VP7pXmb83iPK+3pJXP0eV2z9rf6a+0YjYwG4KHT2x3W2+HNbZP5EVwT8k9tG/Ha2KvjegosBSlgpAf5/bv2wynz/1qCLAqXyQQJBICL0Z7d4/3lWCQCilHUDQVEK+4AfYPyLnA0AZe1BAV3Mfvj9Fn77XtCLAY8HCPyWvXL/JwlI/RY/hP9zpSD/M6Tg/2EWJP21Ea8D0vKW/Yk6tvsCjfz8WRP0+D6TWv46hL8AlfX9A2oVWP2toN8EkaYy/lL3Yv90Yj7+l3Ww+Zvf2P7lfoT/i7Kw/0zuXvwlwG8ABrwPANdwiP1Rh/D//cGI/U5CPP6Wfqz+8WY6/hkodPvwD9D9VyTTAOQRzQNXWqT82DO5AMGGnvcyppr+J1vk/tzxTwKiuHcBY1kE/K5a2v0/FaD/xFga/fZjgPxjyG8CpCmQ+Dlq1QHY+NT9W6cG/aI3LP06yhr6hdoa/oKU6P2TAGECEA0e8bHxoQEQyWsBGrsu+wcqCPzRIH8DDIgNAjVcBwFq4X7/LW+q+Sk4cPQ0dRz8oCM+8hi44P7bppT/vqVLAmvNPwM/1CT8ehzbAPgzHv++vJsB0vTC/" }, { "ProductId": 132, "CategoryId": 49, "Brand": "Fish Tech", "Model": "AnglerPro 5000", "Description": "The AnglerPro 5000 fishing rod is expertly crafted for precision casting, with durable construction and a comfortable grip for all-day use.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 133, "CategoryId": 42, "Brand": "Strategicgear", "Model": "TactiX 3000", "Description": "Be prepared for any outdoor adventure with the TactiX 3000 tactical backpack. MOLLE system, hydration compatible, and rugged construction.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 134, "CategoryId": 33, "Brand": "EcoGizmo", "Model": "SolarFire 2000", "Description": "Cook meals and charge devices with the SolarFire 2000 camping stove. Solar-powered, lightweight, and collapsible for easy portability.", "Price": 179.99, "NameEmbedding": "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" }, { "ProductId": 135, "CategoryId": 61, "Brand": "Trail Eye", "Model": "WideView 360", "Description": "Experience panoramic views with the WideView 360 trail camera. 4K resolution, night vision, and remote viewing capabilities for ultimate monitoring.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 136, "CategoryId": 46, "Brand": "Ecovolt", "Model": "Solaris 500 Portable Solar Charger", "Description": "The Solaris 500 is a high-efficiency solar charger designed for outdoor adventures. With a rugged build and multiple charging ports, it\u0027s perfect for keeping your devices powered on the go.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 137, "CategoryId": 36, "Brand": "PeakMix", "Model": "WildBeat Pro DJ Controller", "Description": "Take your DJ skills into the wild with the WildBeat Pro. This rugged, waterproof controller is designed for outdoor use and features advanced mixing capabilities for your wilderness parties.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 138, "CategoryId": 39, "Brand": "Survive All", "Model": "Ultimate Survival Kit 3000", "Description": "Be prepared for anything with the Ultimate Survival Kit 3000. Packed with essential tools and gear for outdoor survival, this kit is a must-have for any adventurer.", "Price": 169.99, "NameEmbedding": "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" }, { "ProductId": 139, "CategoryId": 7, "Brand": "WheelWise", "Model": "SmartCyclo GPS Bike Computer", "Description": "The SmartCyclo GPS Bike Computer is your ultimate cycling companion. With advanced navigation, performance tracking, and safety features, it\u0027s the perfect gadget for serious cyclists.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 14, "CategoryId": 19, "Brand": "BackCountry Cook", "Model": "Propane Camp Stove", "Description": "High-performance camping stove with adjustable heat output and compact design. Perfect for outdoor cooking and emergency preparedness. Compatible with standard propane canisters.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 140, "CategoryId": 45, "Brand": "Trektunes", "Model": "RuggedSound Waterproof Bluetooth Speaker", "Description": "Take your music with you on all your outdoor adventures with the RuggedSound Waterproof Bluetooth Speaker. Its durable, waterproof design and long battery life make it the perfect outdoor audio companion.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 141, "CategoryId": 5, "Brand": "SOS Gear", "Model": "Emergency Survival Kit", "Description": "Be prepared for any outdoor adventure with this comprehensive survival kit, including a multi-tool, fire starter, and emergency blanket.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 142, "CategoryId": 9, "Brand": "Dreamscape", "Model": "UltraLight Camping Hammock", "Description": "Rest easy under the stars with this lightweight and durable camping hammock, perfect for backpacking and adventure travel.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 143, "CategoryId": 53, "Brand": "Trail Taste", "Model": "Titanium Camping Cookware Set", "Description": "Cook up a delicious meal in the great outdoors with this high-quality, lightweight titanium cookware set. Includes pots, pans, and utensils.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 144, "CategoryId": 4, "Brand": "RidgeRope", "Model": "ProLite Climbing Harness", "Description": "Stay safe while scaling new heights with this durable and comfortable climbing harness, designed for maximum performance and security.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 145, "CategoryId": 1, "Brand": "PowerBeam", "Model": "Solar Powered Portable Charger", "Description": "Harness the power of the sun to keep your devices charged on the go. This portable solar charger is perfect for outdoor adventures and emergency preparedness.", "Price": 59.99, "NameEmbedding": "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" }, { "ProductId": 146, "CategoryId": 41, "Brand": "Nutritech", "Model": "Energy Boost 500", "Description": "Fuel your outdoor adventures with Nutritech\u0027s Energy Boost 500. Packed with essential nutrients and vitamins to keep you going strong. Perfect for hiking, camping, and long treks.", "Price": 29.99, "NameEmbedding": "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" }, { "ProductId": 147, "CategoryId": 63, "Brand": "AeroVision", "Model": "SkyMaster X2000", "Description": "Take your outdoor photography to new heights with the SkyMaster X2000 aerial drone from AeroVision. With 4K camera, GPS navigation, and 30-minute flight time, it\u0027s perfect for capturing breathtaking landscapes.", "Price": 599.99, "NameEmbedding": "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" }, { "ProductId": 148, "CategoryId": 9, "Brand": "Slumberpeak", "Model": "Alpine Dream 3000", "Description": "Get a restful night\u0027s sleep in the great outdoors with the Alpine Dream 3000 sleeping bag from Slumberpeak. With ultra-soft insulation and waterproof shell, it\u0027s ideal for cold weather camping.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 149, "CategoryId": 15, "Brand": "Thirsttrek", "Model": "AquaFlow Pro", "Description": "Stay hydrated on your adventures with the AquaFlow Pro hydration system from Thirsttrek. Featuring a BPA-free reservoir, easy-flow bite valve, and adjustable straps for a comfortable fit.", "Price": 39.99, "NameEmbedding": "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" }, { "ProductId": 15, "CategoryId": 60, "Brand": "AdventureElec", "Model": "AdventurePro 1000", "Description": "Outdoor-ready portable power bank with fast charging and rugged construction. Multiple USB ports for charging electronics on the go. LED indicator lights for battery status.", "Price": 59.99, "NameEmbedding": "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" }, { "ProductId": 150, "CategoryId": 56, "Brand": "Buzzoff", "Model": "Outdoor Shield Pro", "Description": "Protect yourself from pesky bugs with the Outdoor Shield Pro insect repellent from Buzzoff. Formulated with DEET for long-lasting protection, it\u0027s a must-have for camping and hiking trips.", "Price": 14.99, "NameEmbedding": "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" }, { "ProductId": 151, "CategoryId": 5, "Brand": "Resilience Gear", "Model": "Survivor Multi-Tool", "Description": "Be prepared for anything with this durable and versatile multi-tool. Features include a knife, saw, fire starter, and more.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 152, "CategoryId": 35, "Brand": "Sure Survive", "Model": "Emergency Beacon Light", "Description": "Stay visible in any outdoor situation with this waterproof and long-lasting emergency beacon light. Offers multiple flash modes for maximum visibility.", "Price": 29.99, "NameEmbedding": "A+UXwCS6AMDM36Y+aFMQP+/UeEAQRvU/nOPVP48UHEDvQTLAr93SP5VNvD4axNW/90IRvzylNkDY4hg/vXMWQAFmJ0BqAUC+cagfwPOeU0CQz41A8hmsvunR5j4u4f+9Wk4qQGCjAz9DEPA/VCZMP0KLNr8SuKnA2iWgv7Nrmb9QGWw/Y6wmvnbPlr/Kdyk/AGtHOo4ikT6dkok+jUi7P5+FtL4Eenw/LIoKPo6Npb9Ylvu/78mAwDqAVj+JBbe/io+IQB+kuMB2+cU/nSkGwBungr97l52/IxqvPzzqj78mJ2A/BkZ7PyXCZUDGfO293ypCPwoFxD8wMtvAzhVuvxMRxj+OeEC+tcEZwGnY87/97EVAsAzxv8R7y7+KSRg/7KbHPl8UHT+VzjfAPsmePjNPNkB3ybe/Pe0nP7LGBz+Oj4e+zlKGwJP4lL8YpD1A7cfNv4BFMDv1WNw/VcGQv6ZbBcC2KARAm2Pcvxcmuj9wSre/8ockP/CvCMDselTA5fwgPz6Z4r9Zg/S/ugMcQbx5Jb+xOH8/v/YYQIr7lb5unD9A6tJZwMm6/z+CZDzAPqYIwPNMwT8KKO8/LaKmv4Czoj884xLAKdiLP9qcI0CMOQY/itVXP2iWGcCoEAbAjvF8P6q4g0Ce+6VAHeXyv3yJK0CGUCe/gnSsQCh4M0A0RgM/VVV+QN8FzT9omZQ/UfX8P99Qg7+DeZm/CEAcvV6g8T5MgXPA8tyHv/nu2z+po4ZA47hOwAo1Yz456bvAMuWFP9AD1z8wGdK/Wp3oPwCKnr+8Zo/Ak+G5PtvPQb9xrR5ATuvpv3k12j9YzNU+17KKQAAaSEDVzeI+RmLWPu0kYD9Uf70/XvJvvjy+DEBCzf2/p3nUv3octL9A1Ni/XCqEv/TA8L/GhrQ/BBI3v4k5UEDsHjU+cph9QBUEYT/aiZS9eVPKv6d4Nr8AxoU/t5r7v8Km1r954QhAInlFQPBzHD9SMzc/UTJPvyyWAz46ssM/yGWMP7JkGsCkd8A/yazNP7GTej9X5RDAlIKvPaSxccDdv2zAihq0PwWZG8DG6wy/gmfLv4yJAL8KftC/JVmGQGYJAL8PTwNAfCV3P8Eztb4Yi9w/h09bv4fuLMDZJLZAxUpdv1FoIr/8q/a/2H+6vAv3IECuJse/XPmrPwdAPkDf0s6/EAYRwF2wJcE1Mma/0IUqvzCu6L/tzXo/IE4hwPbSaT/AaWw8IsgmwBCR5D6BSb1AkGuCwDL1vz/dZ7W/0h4FQBSaAkBk3d2+d39IwK7Bij+cfLE/zR16P3Td8D+NG6/A3tCWwGY8acDS7+O92GUXQY+nyz/7fag+9F0YwCCHpr0lj1W/SvXMP1Hh4sBBoTxAWm8tQCVrwz56Xd2+FxQFwHZnkj9EEGq/RrqaQPAYE8BfAVHAUm9mv5SIucAIcoK/6eZrQAp0Or+PB42+YJBEQM5UyL9tDQC/Q48kwMA8HUCalCTAhAPbv2nV7z6WMhTAc69dwK9JWr8E2DNAf85TPxer3T0DRZZAFIIxQNgNbb8Zf6K/oVDRP5iQacC3/kPAC+KmQPp8lMA5hOY/8ccoQLLoGz/WqOI+ymbCv2pXuD64A4M+jtl3P6luB79UE8Y9MW69PwOmmT7+iiA/mrhov5SKzj9UO58/z7wqPxhsVr+y5ZM/1CfcPRhMZcD4N+Q/rxGsv/TROcEuvHJA5mbTP8EszcBrIDjAGGx1PiIjiz7vnVFAvNhSwMtA9D9Wf6LAn8s8P9FU1j8aRcU/CJdXQJN9CkDeor2+ua4YwLtmTcDvREfA4bL1PjvtRj83y+dAXmhkwP/Ogb/qY3pAVtC0P6r4JT+2PQ5AJgnEP5g+B0C2pTU/hsVvPw4Bxb/02jxAF9MZwMjDED9E8hpAvjKPPozwEj0kZBC+QnAmQHIALUDasa6/TY1zQHtjlsD6C2W/nyiOvzsoi792qc6/wnFXvo+myb+PV8i/qwu5v1DDaz8QBpa+WqhDwPv/nj6B7fI++8kDwAI3Pz2wNZQ+2t9jQMuoTb4wN1RA" }, { "ProductId": 153, "CategoryId": 41, "Brand": "EcoFuels", "Model": "Organic Energy Bars", "Description": "Fuel your adventures with these all-natural energy bars. Packed with essential nutrients and available in a variety of delicious flavors.", "Price": 14.99, "NameEmbedding": "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" }, { "ProductId": 154, "CategoryId": 35, "Brand": "GuardianGear", "Model": "GPS Personal Locator", "Description": "Stay connected and safe with this compact GPS personal locator. Features live tracking, SOS button, and long battery life.", "Price": 99.99, "NameEmbedding": "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" }, { "ProductId": 155, "CategoryId": 34, "Brand": "Traveltech", "Model": "Portable Solar Charger", "Description": "Never run out of power on the go with this high-efficiency portable solar charger. Works with all USB devices and is perfect for travel or outdoor activities.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 156, "CategoryId": 20, "Brand": "Glacierpro", "Model": "Arctic Ice Grip Crampons", "Description": "Stay safe on icy terrain with the Arctic Ice Grip Crampons from Glacierpro. Designed for durability and traction, these crampons are a must-have for winter adventurers.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 157, "CategoryId": 11, "Brand": "Extremeview", "Model": "360X Action Camera", "Description": "Capture every adrenaline-filled moment with the 360X Action Camera from Extremeview. With 4K video and waterproof casing, this camera is built for adventure.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 158, "CategoryId": 15, "Brand": "Thirsttrek", "Model": "HydraHike Hydration Pack", "Description": "Stay hydrated on the go with the HydraHike Hydration Pack from Thirsttrek. This pack includes a built-in water bladder and multiple storage compartments for all your essentials.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 159, "CategoryId": 22, "Brand": "Outdoor Pro", "Model": "Rugged Solar Power Bank", "Description": "Never run out of power on your outdoor expeditions with the Rugged Solar Power Bank from Outdoor Pro. With a durable, shockproof design and solar charging capability, this power bank is a game changer.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 16, "CategoryId": 6, "Brand": "Pureh2O", "Model": "AquaMax Water Filtration System", "Description": "Stay hydrated on your outdoor adventures with the AquaMax Water Filtration System. Removes 99.9% of waterborne bacteria and protozoa. Easy to use and lightweight.", "Price": 79.99, "NameEmbedding": "BLGrwGQmRsANBdU/Gk86P4qb+L+ijybAPNJhQDUarEDgOZy+EHdPvVeaVkD1NRDBI/5UQH3NA8DGOr8/IL4jQJVByUDWdbJALCoAwcDEhUBRAg1BRIBHv1AjjsDr46/ABry3vwjTKz9z6aE/GLbUPugS37/Me3PBfGZ5v2Amez5EbsQ/XfsiP+h7sj3UTHm/i8uOvmhtnMD1XmnAxS6aP5vCgj94R/U++AA7wO7wMEB7OJ+9kaaGv2GpHsD+hKm/+3ihQHSpqsBOfnG/55fEPy2O7r8zPAlAotqxQPxZDz93JIA/XukeQGyk0r0rnEnAqz5sQFzbcEC/5FbByhjlQKrsW0CLN7tAWhpjwApKGD/64aJAE0E1QE3lgb8FTZS9iQN4QJmfhT9klQRA0OV4P3NIu79iLGnAZDjOvi63GUAOuDM/NCzuwA1jOb7gG2/AQ8b+PzL8Qz6o11pA9O1bwAIRlz8CvRDAKoCWvzxKpb/tgNc/SZjUP6ApZ8BWhKU/0lgaP4YsScA5sjJAWOYkQQCKvj+oZiy/TLEMQOIHssBk55VAchX7v1aVcsDrDFe/kc/HPjjRLz/T6ALAnfOov4lsEECveEXAvZFbwGfnrkAISkU9rf3CP4+sLsAt3pQ+O4/qwOBwpL8R+BxBYgJnPytXFz/AZXhAlHSSQGgI4z92VprAMQkRQdjkoL9lT8i/lgIywIs38L+Qxwq/Q1IuQPwSkECi/mfAAn46QPAUFkDVlK7An7BvwDJVaEAIfhfBjNlEwC6brUBZCT/AnuwqwBfHkcDHrjfAUHwqP+MhjkDaDJ0/fIHuvqmI+kD4bq2/7rWBQEKQOkC/u4vAQLgAQETBv8AoKvO/mH24wBeTJ0F229c/jqmqwNXUyz8++XzAX7NqvwZD8EDeNZ4/4GgSwAHLVUB7PAPAxnJZQKdjJj9h9jjATQVwQFyTjL+++l4+G0UqwAYeAEB1Hwi/2XUFvmwOvEDRBs/AAu1jPyK6JMBv+83ABF9bQEeTqMDDUQlAcLGQvOdyUUBKloo/b0iZvwVbKUA7su8/yecLwCYkUcAJQjNAR7rrP0njNsCUVpi/ObN+QBQaOEAeSnlAFPeMPCih/DwOI8hAaJgewGCuFD9Cm9M+XCTXv2umrr+hU5hAhxl4P5xmFkCLFFPAgHivv1e/yUB/UKvABukewRgPg8Fx/ExAG/oEwF49icDzottAuydiwCcOg0Din17ALfeGv8nHoUC7I9lA96gEQEPDzz8Kcok/ur9TPs4eZkAML6RAjnH6P3oNDUDLnppA+qF0QPmthT/E5LZA7db7P22ZNECl+UnA4GA+QV0wHb9Rnq9A/hu6QEbc3L8gO36/ROe3vUZTm8AfCm3Adu48vxurkr/ioA7AEjIcQMMpTsCg7xE95TkiQNyBJ8AO7q3A27e8PwSNAcCh+ABA2DqEQCPAu8BpLqbANHeNP3Xkij/4yee+IkffwLaWq0BPbVRANImywA5Fpr4GZNXAxTzEwEiCFcAuioHAM+gVQDVehcDYMPK/lIJbv6psfD+u1vA/pO4DQMfyksBYSqy/JCWfP/KlWsAIKc1AM+GmQOwGjEAse8Y/XrDgwKYErz/u2GHAqGtrQLFgTMCfvSJABNQ9QJjtZD9jG4BAMBdrwEjd3Lypd58+933ovwAsnL+rQHK/XkeZwKCXwL/6QplAMTxOvyzbk8G5KbnAd+reP7HPUMCQTa3Amz4+PxKsgkDBmuc/7v1JwP+tuECH8LfA4WK1QEZ1tD5IY6tATbRBwA5NvT96GqC/m4OOvwqNs0AXqRNAynmyP9pK2j/zdDxB3dGswBbMXD4YvAs/HO44wDXKlr4QHvLAN1WcPpZ9qkBhmKZAKVn2QPGHa8ANMCe+QZWEQLNi1b7b988+arB5QF+gVz9FWYrA0juXv3KEvcDwlIm8Y2dtQH7Kl8CcpKi+R7r8wIOAGkBF55dAV3zAwI3yJkAizIZAbFh5PyafiT9ooP69ZphmwOtilcCw4wrAttb7v6IQoUBOvOI//g6+PhmA6z8rwag/" }, { "ProductId": 160, "CategoryId": 25, "Brand": "Geotrack", "Model": "Trailblazer GPS Navigation Device", "Description": "Navigate the great outdoors with confidence using the Trailblazer GPS Navigation Device from Geotrack. With preloaded maps and long battery life, this device is essential for any outdoor enthusiast.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 161, "CategoryId": 33, "Brand": "SummitSeat", "Model": "ErgoVent Foldable Chair", "Description": "The ErgoVent Foldable Chair is designed for temporary seating during light outdoor activities.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 162, "CategoryId": 35, "Brand": "Sure Survive", "Model": "Safety Beacon 3000", "Description": "Stay safe in the wilderness with this high-tech emergency beacon. Sends out distress signals and has built-in GPS tracking. A must-have for any outdoor trek.", "Price": 99.99, "NameEmbedding": "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" }, { "ProductId": 163, "CategoryId": 61, "Brand": "Wildwatch", "Model": "Stealth Cam 500", "Description": "Capture wildlife in their natural habitat with this high-resolution trail camera. Night vision and motion detection make it perfect for outdoor research and surveillance.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 164, "CategoryId": 12, "Brand": "MantleMaster", "Model": "Excavator Pro 8000", "Description": "Dig deep with this heavy-duty excavation tool. Perfect for building campsites, clearing paths, or uncovering hidden treasures. Durable and reliable for all expeditions.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 165, "CategoryId": 18, "Brand": "OutdoorHaven", "Model": "Rugged Shelter 600", "Description": "Find refuge in the great outdoors with this sturdy camping shelter. Weatherproof and easy to set up, it\u0027s the perfect home away from home for any camping trip.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 166, "CategoryId": 43, "Brand": "XploreraTV", "Model": "TerrainX 500 ATV", "Description": "The TerrainX 500 ATV is built for rugged outdoor adventures. With all-terrain capabilities, powerful engine, and durable construction, it\u0027s the perfect vehicle for off-road exploration.", "Price": 5999.99, "NameEmbedding": "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" }, { "ProductId": 167, "CategoryId": 14, "Brand": "Trail Chef", "Model": "Backpacker Cookware Set", "Description": "The Backpacker Cookware Set by Trail Chef is designed for cooking delicious meals in the backcountry. Lightweight, compact, and durable, it includes everything you need for outdoor culinary adventures.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 168, "CategoryId": 36, "Brand": "PeakMix", "Model": "WildDJ Pro Mixer", "Description": "The WildDJ Pro Mixer by PeakMix is a high-tech DJing system for wilderness parties. With rugged construction, long battery life, and advanced mixing features, it\u0027s the ultimate outdoor DJ setup.", "Price": 499.99, "NameEmbedding": "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" }, { "ProductId": 169, "CategoryId": 53, "Brand": "Adventure Cook", "Model": "Trailblazer Camping Cookware Set", "Description": "The Trailblazer Camping Cookware Set by Adventure Cook is perfect for outdoor cooking. Lightweight, compact, and versatile, it includes pots, pans, and utensils for gourmet meals on the go.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 17, "CategoryId": 30, "Brand": "TechShield", "Model": "RidgeRunner Weatherproof Jacket", "Description": "Stay protected from the elements with the RidgeRunner Weatherproof Jacket. Made with durable, waterproof material and featuring advanced ventilation technology. Perfect for outdoor enthusiasts.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 170, "CategoryId": 15, "Brand": "Hydra Pulse", "Model": "AquaFlow Hydration System", "Description": "The AquaFlow Hydration System by Hydra Pulse is a high-tech solution for staying hydrated on the trail. With a hands-free design, multiple carrying options, and advanced filtration, it\u0027s the ultimate outdoor water system.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 171, "CategoryId": 42, "Brand": "Tactic Tech", "Model": "Stealth Recon Backpack", "Description": "The ultimate tactical gear for any outdoor mission. Features multiple compartments, hydration bladder compatibility, and durable construction.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 172, "CategoryId": 51, "Brand": "Summit Pole", "Model": "Trailblazer Carbon Trekking Poles", "Description": "Lightweight and sturdy trekking poles for enhanced stability on any terrain. Ergonomic grips and adjustable length for a custom fit.", "Price": 79.99, "NameEmbedding": "wTxDwMUFhkBCJWlAKpSzP8A/CD8sHYc/0oDMPr4J9z8QQWXA+fFNP6lCc0BUObvAuLj3PpSoskBGQkRAOmdGQP3IDUDSgA5BEJjdP5Bxh0CifVFACXWjwIqVOsC9sne/lgwkQBBTkEDGMwnABdx9wLvWyD9wtC7BqKV/QOWnjsDud8s/a0kLwMAwEMB8dnO/Q7p+wO9Lh79gdwfAXRpgQHiwAkC4AbFAoIE9v+gvS0BPcSbAZtyFwH5ojT/fbMu/+6KGv2LUvL2ArR66QRPAwP8KoL+0khTAnO23P2W2kkCrFg5ArG9TwPZCGb1i10dA8+m7Pc8KFcDr3FzB1j50QOKHq0AhNjFA0E+SwOFOAcAi50o/h72xQMBuqz9lEfo/w1tGPwnV0T+vVYs+bvPjvxDCKcC30Q1A2cK+wGKNm8COyFjAqzkswCAJCsCS35M/HySfP46SoT9m9Ug/x9pAwIazvT4wZ71AHDp1vsioX7+gohC/Lkp3P8fdQMGAdA7AEtmsQEYJUEAFPotAkYY7QVEJoMBulatAitTyQD0Uf0Au7wlAw5eOwCSCAT2wvRE+OoCiP7cdM7/2EIRARUSKwOh/oMAbeW3AO+1kwAp6bsBOUgpANzQCQXaTYcDPk51AeoLNwCwPp78qlFFAYik0PhjGl73U6UPA9wa7QBlBl0CnLjNA+49yQDs4y0CKjF9AGRmevyC5DkB0RY2/I8NnwIAMe0CHzDvA0sseQGGa1T/IOoLABuVTQPfbFr8g2QHBsRf9vprKPL/PCr7A2NXoPlSpW8Dj4RC/Uhr2vw+tIUBf4YlArMq1vwJvFz+Y2pS+gf79Pz4HkL4HCgRAcrcPQM9Ygr+4JJO8TNbjvWnWRkHOQ9ZAln41wZhzB746hj8/6qMBv4SFQMCv7AdADQqUQNVy0D8pXwO/Z3W2QI93wD4LBRbBQ0J9P2I5VL+gFOo/glnAQCzjnD62r1g/6Q8HQNIC8T6Wars+ILuNv0jMh7+pUaC/ZtklQPJGk79NGRTAOzDTQMhthEDy840+OG8CvzoAjsBYTizAAZXwPtEso7/htGhAHNEOwIeNHMAC0pc/sA4kP8WdIz6eAUK/WKoDwLFYFj7VIsVA0OolwBJyXL7G+2VA4ke/P6S9R8CiXWzAyn62QEJjrT9oTZnABa1uQKTWYr9J4Vm/uAvQwOIwecEfb74/kJR9P0xfrUDch59AzjeTv92EckC0pAzASWj6v4Ayb8BKgY5AELquvkAuyT0CR4O/Izsdv/ZcUEBUrJk/ZvohwO6BtL8cFJW/sdO/PnP4iEAXNtfAe2CDwA7YGcCoL4/A58cyQaEDOUC29aK/oOUUwHjCYz9A7Mk/c0RnPywEwcBOxIs/lUcGv3yQqb+mlxfAeQW/PpTVnL/LuM8/BmCSQIj7kz+epuW/xpdIQKcCQkDY5B3AzkDSP9ZC9j+CktvAFFHwPzyhrT9d86I/8cAewLJnjT+kNeW/CQwVwUKqm78NChnAtfIfwIM3or/B0MDAiiMEP37Zmr57tL9AuvXqQNZf7z9kVW++weGpQNwIhMDA60xAUsXwPjpGDEAQWMY/Re1BQK8KG7+6UoM/epOdv81ICUBvM43AfnHuPgNX3L+PmKq/5m48P14M2T8gOyg+ig8pwHaCbsDmjnK/roMBwP+bBEBBdkc/xsJBwCGQocBSsxhBJD+NvymFicFLAVLAYBmdQI/U0r979/2/WPzovy6HHUBeMsZA3AOMvyi/vj9vox6/LEVcQO57vz7NM62/AcG1P271ikCtTpRAqofhvqiBDr1B87Q9tlRmQFgUZEAFBipBQy8uv/5jfj9LlYRA7mj3v6c49z4+mZ2+sjblPrFHoD86PF6/0R4rQAOGTUArQs0/9ebzP7VrBkC50JW+dlp0QN3PFj8JHI7AmVn5vtzgor5qAgbAdjfwQI0a3sB0+ZLAibSCwMbnP0BRQzvAWLJUwJ7gTz6oN3PAAQkwv0bYhcCUPUFAVbxov8VqXMA/b47AqAjAwJJ/XL/xmr+/TQSowErutsDAtgrA" }, { "ProductId": 173, "CategoryId": 27, "Brand": "Eco Vest", "Model": "TechShell Smart Jacket", "Description": "Stay warm and connected with this smart outerwear featuring built-in heating technology. Waterproof and windproof for all-weather performance.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 174, "CategoryId": 11, "Brand": "Actionpro", "Model": "AdventureX 4K Action Camera", "Description": "Capture all your outdoor adventures in stunning 4K quality. Waterproof, shockproof, and equipped with advanced image stabilization.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 175, "CategoryId": 49, "Brand": "Fish Tech", "Model": "SonarPro Portable Fish Finder", "Description": "Find fish quickly and easily with this portable sonar fish finder. Wireless connectivity and built-in GPS for accurate fish tracking.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 176, "CategoryId": 37, "Brand": "Wander Lens", "Model": "AdventurePro 4500", "Description": "Capture stunning outdoor shots with this high-tech adventure photography camera. Waterproof, shockproof, and 4K video capabilities.", "Price": 699.99, "NameEmbedding": "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" }, { "ProductId": 177, "CategoryId": 18, "Brand": "Trektent", "Model": "UltraLight 2-Person", "Description": "Stay dry and comfortable in the great outdoors with this lightweight, durable camping shelter. Easy setup and compact for travel.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 178, "CategoryId": 41, "Brand": "EcoFuels", "Model": "PowerBar Pro 2021", "Description": "Fuel your adventures with these nutrition bars packed with sustainable, high-energy ingredients. Vegan and gluten-free options.", "Price": 29.99, "NameEmbedding": "g+9OwATBZT+QCyw+3Kpsv8lBBUB34YlAbQOrwN5uPkBceTy/Qi3SPdNq8z7XmHHA00CKvyw5kD+y+kM/oFMkQBTkHT0Swsc+5D0xwFLP2z8ASg5BeD6Av2f1FT5FnzjAudsOQE/QEb8CfQfAPNFJP6qUJz/LbyLBP6CXP5DMJsBEXv6/uDqGPUH7DMC3VAvAdNWAv65Bqr/oTYu+mdjhvzo9Qr9iQye+TEeKP2x3G8DIL2w/Y24WwLQJuT/dHBPA54Xevz4vd8AuMpk+tVvRv8mcLUAuA1A/a/HYvlQ6j77CpoC9jxcAvyrqjD/aJxBABAXJPTCRM0C2PT3BBIeSQBBkBUAVYVVAH5BbvyGxW0CItow/gnqKPwFwnz56ISbApwzWPs1/VUD2VI8/Ese0P5iY/r9MUzo/K3/7v/DzIMBhVQ1AnUyCwIyRL8BsrfA+j5FUP6A1OMC3sDlAkKIXPa0XRkB/IjxAgVqFwGeOTj+/G49AdPFDQKq6qsA7Ul7A14V0QPFMgMAaz7u/OpEDQcV1kMB/jDBAKRn2QISnL8BAhqO+GMjBwPmtC0BzugRA0Fs/wAlhlD5Btmu+iKWDv2yrGj+8xpa/BZgFQDQAZD6AjHq/rJmMv3MbGT6GV9q/juwrwFx68b1PLYFAdSdjP0pFhT+X6Zk/NgBrQEyLGkCHReu/h8wAQMAS0T5hWN0/EP22PwcNWr6XYxBAWGrAv3XIckDw2gDA50xrQGp1DEDMnjM/AT1VQMY/oz70JiHBGbasvzXggr/tJ4w/VnSGP1oe2L+8Fca/hlbnvxGQp0CaTiBA2Ge1PbwTjkBr0TJA9oARvoa8ikD+OYK/xtPuPmU+Dj8lPS9AlnEuwK5o4UB81ElAHZDQwHwT2b8vFCQ/ogGbvr6MKcB1mNw/+Mu8vK68MD7DuCDAbPdCQPZ7pT/EcdPAX8aJvxPgnL0IdqI+sGqPQGFnj78QDIzA8eulv57Flj85I2XAeGQJwCWGCMBglP4+ZhMPQHmxiMB+NP4/6Lc0v+1Ql0Amk8w/NgULP38/jr/pE6i/EudGQAAOQ8AQGjc/rRZEv64GDcAbVg5AjIO5v2DC5b/MIoLAyMy8Pwd2hUCDIjG+xO0wv85QcL+HpsFAR9nRPy8HbMASdqs/aK+Nv/AnXjzjBVrA5YWnP6fzjkDHq9I/Lv2Tv0bBSMGqSjxAhpWEv/jVbT+Ky09AhB+lvvjS2z7AIRe/3gswwJSXUEBiFp9A4LeFP8Amab+qh1hATn9FP6APYz9pFT0/B+WwwL3TqcBR/Dm9I+WWvwBYij5i2TVA8XFXv5/xSkA6TzS+Ci3nQEWjhkCaVBZAt/ZYQIOcGj2/FJ4/Hqx9wBGlBcH+EVY/2T+YvkI3L0B+IKi/G/iZvyRvPr+kkRRAP8emQFAFfMD1L7bAYLhovUKIP8A1uNQ/g0T2vzw/+z7qyYK/sJOGQPJTrz5Fd25Axew2wPjSG0DssiK/Jo36v8cZGUBGpz+/aNhHwAikVECwJr4944TLv8D09rtSkhNAEsX+PxzPbj22sFo+qX8MPtTWYT86ARE/1SJkQBgx8TyiAk8/KupxQPzKFz9ikfk/NV6tv/DY0z3G8zq/rTrTv8tQBkB6yzlAbZkbQDNjvD+qw5g/CgmNv1DQ2b9s1QdA/dxYwPzMKb//EiU/DAVewC5hyr/82A5AE7prQCBpZMEOhbE/B8oLQOPOor8slaq/Pr39P8+K4j8wgtk9eHndvZV87D8aSTnAaIztP97UiD9pikI/SWVKQC5EyL9loyNANpZWwEabqz+WxyDAuZksQDvMp79xXChBGJhGv9yEXT+CiPm/lzj0v1qXJMCwpug//y67P9hc77/wq8c+bKxiQAWn/r8oPytAJXo5QEl7JMBiKFbAvqYZv5BpQ8DXNIW/8v61P1MHHMBzS8+/ydSlP2SXxsD2hDPADbxFwOqKu7/5HgFAGlTKPxw+qz8m/IPAXGymPyhtjL+3/N4+QnE7P3zDKMBct2vAKTS+vzh1CUBAY35A5MZ1wAes2r5dY2NA" }, { "ProductId": 179, "CategoryId": 59, "Brand": "PaddlePower", "Model": "AquaPro 3000", "Description": "Conquer the water with this top-of-the-line kayaking gear. Lightweight paddle with adjustable length and durable, buoyant kayak seat.", "Price": 349.99, "NameEmbedding": "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" }, { "ProductId": 18, "CategoryId": 52, "Brand": "Hiker\u0027s Haven", "Model": "Trailblazer 40L Backpack", "Description": "The Trailblazer 40L Backpack is designed for comfort and durability on long hikes. Features adjustable straps, multiple pockets, and a hydration system compatible design.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 180, "CategoryId": 49, "Brand": "Reelmaster", "Model": "ExtremeCast 5000", "Description": "Reel in the big ones with this high-performance fishing equipment. Smooth casting and retrieval, corrosion-resistant materials.", "Price": 179.99, "NameEmbedding": "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" }, { "ProductId": 181, "CategoryId": 59, "Brand": "Aqua Venture", "Model": "RapidX Kayak Paddle", "Description": "The RapidX Kayak Paddle by Aqua Venture is lightweight and durable, with an adjustable design for maximum comfort. Perfect for all levels of kayakers.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 182, "CategoryId": 65, "Brand": "Climb Safe", "Model": "Summit Pro Climbing Harness", "Description": "The Summit Pro Climbing Harness by Climb Safe offers maximum safety and comfort, with adjustable leg loops and a durable construction. Ideal for experienced climbers.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 183, "CategoryId": 53, "Brand": "Campchef", "Model": "Trailblazer Compact Cookware Set", "Description": "The Trailblazer Compact Cookware Set by Campchef is lightweight and versatile, perfect for camping and outdoor cooking. Includes a frying pan, pot, and utensils.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 184, "CategoryId": 32, "Brand": "GloTech", "Model": "LumenX Rechargeable Headlamp", "Description": "The LumenX Rechargeable Headlamp by GloTech features ultra-bright LED bulbs and a rechargeable battery for extended use. Perfect for night hiking and outdoor adventures.", "Price": 69.99, "NameEmbedding": "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" }, { "ProductId": 185, "CategoryId": 50, "Brand": "Sleepranger", "Model": "ArcticX Cold Weather Sleeping Bag", "Description": "The ArcticX Cold Weather Sleeping Bag by Sleepranger is designed for extreme cold conditions, with a waterproof shell and insulated interior. Perfect for winter camping.", "Price": 159.99, "NameEmbedding": "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" }, { "ProductId": 186, "CategoryId": 20, "Brand": "PowderPeak", "Model": "Avalanche Pro 3000", "Description": "Stay safe in the backcountry with the Avalanche Pro 3000. This high-tech snow gear includes a built-in beacon, shovel, and probe for quick and efficient rescue operations.", "Price": 399.99, "NameEmbedding": "+zGTwCiUaL9oSVZAHmZKwN5D8T8glLQ/bbwZQC4CiD8jkMe/JX5GP563gD/8+b/AE4UHP+6JXz+cVuC/8MLiP+35FkDC5os+JejgP2iHmT+PWEVAc70vwDiZFD8aRww+cV9GQKAIW0DCM62/CUFSwPIyKL9qtxfBhnuIPyma/r+pHU1AqYE9v1GBnr+qhcG+82EEwHzuOEA0YB7A/twIQJ5Egz9KxyJAxWZwwKpLQsB0XL4/u20hwLgSEr4w0tW/ZshMQIZLHj7eRgBAJ0BjwEidPkBrvZC/kBvkP8k7u7+ygTQ+eNZpP1TnND8dlCW/QYA7P1Npyz6kPdbAeA88QFELKkCenFtAUMCyvwNPV0CUegi+elL6P5nCrL6WJAdA/qzSP9OVdz8FDBu/nnYlwKbytD96jAg/ueyYv2efur/Bf/S+3nFfPwh6J78SUfu/AQPHv/+vH8BQpLA/aZGRv4AeWEC6gTjAfaQqv6pYuj/X8Yc/EP9KwGGVusAUiKM93+ubPyVKHsC2vxC/LCQfQRRUHMALdT4/Bg3lP6KpL8AXEGq+UVVmwFzyeD9I0pi/C90HwMKHA0AlBQZA2lznP7DTE0DX7Qy+BAl7P/vy+L8rTgdAmwyIP2vfYL6VyDA/FQObvrYCzj4sFA8/n0y+vy3aGsD2sak989wuQGessUCuHWs/RUeWQOa4a0C2xIpAbg0OwMpg9z8ltBhAMmv0v3LlrT/j+j/AlEZxP/qqgb94KzvAPbAHQLzvN0CiJ47A/w5/P7wlHT+KJ33A3cHovrgXHkCg9ee+k0glwCooTr/A2a8/IxhOv33R2D8mT52+EMCRQIwODD40TYbAcDkTQLEfjb6wqgLAo+DsP+C8lUBAc1FA0OGMwNMSYr92gGk/DFomwG2ZD8BtTgrAOOWmP05KAL8obKk8T/vfPxphpj8YoqzA4Hqvv5K7dT8ydqE/tTPbPwAUMj4oxqM/6UBDQJHKRUDf9EW/dHIuPyt9/T4SLlVABwlGQIb5zb5AcF4+SDrWPv6jxL7rX6W+am4Tv+j/nb4UeAe/0qeIPxllB8AMPZVAbUamv8DHIL8BjoG/wPHsvN5CdD+A97DAHurXPqp3wz/cXzy+4u2SPowtPL+kqopAmP8Hv2DGDb9Q7cm+Y8ZZv5qBgT/h5j3A8w9JQMMdk7+4Toc+T/uLwEN3QsFiaoFAUj4BQE0phr+jX81AH85yPmDcET7e196+IiaEP4oMx79tVYlAZgugv0/dsT4ks90/uEU4PxXzhUBMQaa/uaC+v3ysmD8ju5i/D75Zv41+DEBGW9LA5ODXviViEsA2vnTA2v0JQVI1FkCoKKQ/50AjwC9ATEBYiJw+fX0/v5sfoMAj4wlAOfPFP2aJlT8K8SdAQMWrvHAttL+xrA7AfW6bQKjwNb6crNnAQIrEPwp8asAvzla/6dL2P3GeBj+eBP0/vJG8vs1/Cz/8wii/g2cewByj/z8ESfC/Gq3CwPbF/T9DVxM/f1NCQPgeZUBm09m/ET8EwC231r84KEtARQ09QCRmgT/jRve/QyxtQC8JV7+rTUNABKunQLFQksCCPTg/kyQEQAzcMj+kryNArIwSwBjK2D8rxwfAoodCP4UUGECNuvu+/uiWPyKOiz+dtL+/r72WPnFIA7959wZAyYzSP2pWUL++T60/NLOLPwWAyL/GEqJA7cz5PVo5VMG+WxlA3qHRPzxtVr/7ridAMRs5wFA4nb+yc5W/oOc/wMwTCUBuUFbAMNK7PyVZ3795WhM/3hfWP0cZLz6Gews/g5APv+0cqb1vknLAcM0YPNO7gT7rGh1B3sUCwM2Wgb9wrrK/tqClv7UW1T5mIOc/UguDP+KzMj4ndQ3AhaKdQHUCjr97Mg3AaqeoQP2m075bPzG/0wb1P4V+oT8YHvi/2C+lv1xgLL/YC/I+3AGtP17Wx8BtF3u/TK9jwFjrP79AY6a/IXwYwBhK/7+9EjPAPe2pvzAwMz8eWru/+hsEwPpgN8B2knXASJeSv+cBAUBlP8W+6H/Av23f4T8P0kc/" }, { "ProductId": 187, "CategoryId": 63, "Brand": "SkySight", "Model": "DroneX 5000", "Description": "Capture stunning aerial footage with the DroneX 5000. Equipped with advanced GPS navigation, 4K camera, and obstacle avoidance technology, it\u0027s the perfect companion for outdoor adventures.", "Price": 899.99, "NameEmbedding": "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" }, { "ProductId": 188, "CategoryId": 46, "Brand": "Power Up Tech", "Model": "SolarPod 100", "Description": "Never run out of power with the SolarPod 100. This portable solar charger features high-efficiency panels and multiple USB ports, making it ideal for outdoor activities and emergencies.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 189, "CategoryId": 21, "Brand": "Rescue Mate", "Model": "Survivor Kit 2000", "Description": "Be prepared for any emergency situation with the Survivor Kit 2000. This all-in-one gear includes a first aid kit, emergency blanket, and multi-tool, perfect for outdoor enthusiasts.", "Price": 149.99, "NameEmbedding": "NaRbwGo/j0CDlU9ArsYLwAGeFkBtQDm+wIhivaTkLEDkLya/TREtwOgkqUCbXY7ArHkRQJR6ED7NeP2+UVliQMgHJD/rdldASsTHv3egRkAUuYo/9l3Gv+IZtr/fh+K/myk9QMQWCEDLKue/7Nk0v3CnqT+yT8zA1iQjvux/Cr9xIL2+hW+lPz21BMCLjuM/Giy8P5GWCb+tz+K/TBjqPpT9ob93NGJAMoVhv45O8b590SM+kxQNwLRzSsDQbgPACee4QDIJgsDDucs/Djcqvk9AA0CPdQM/APG1P5VFRL/rXRxAeQ0mP8zjeD8QVitA05jZPz2MnT+WXBfBZA1DP9Pt6T7z2ky/tti8vwkkyD27iNNAPD/pPwzoOcDienG/erc2P3iB7r8CvUo/kprlvqGquj/zimzAMs6LPk/CiL+X6VvAQkBgwHAYSL8IWYw9rvTEv9XUdL/2NtY/rIVZwE6GRj4LI6U/d1m7vxLCAECcS6k+SRk1QK0TYsDFcDbAanIvPq9WIb/2pq0+O1U7QX4T/r8WzaE+2NkMQB9MKD1piJc/dDR5wOwVn7/ZPZzARiEvv1tKdb8fqDNATuGSP5mWz7/VMyPA/EF/PXv7sj8sZze/Ci2oPzkZtD+OGJa/grOOPezgBsBU91ZAz/CVwMV/lr4+wyM/m26LQDgdZj8Zlqu+77OpP4riEEDjDhZAsK6DvyIetb6w7AHAkPaMPoK9zj9jA0jAeygFwN9ynb+6rphAe4qSwP7fJUDvDcrApIT7v3ombb1HDSLArg1pvonkRD/4G1w/dOVNvm56Bj7+MtA/I6gWwMiFXEDmNCK/2AVlQOZDCb9+MVjACb6GQBrGX0C4Rw3ADCsaPtiOrT+C0GtAGA+cwHFwdL84sBVA2Ampvpj0lr9cbk5AVoliP3CCoL927QK/nDkZQIKMKr/2yrK/X/6cv1WST7+4mTe/zakEwPk7hb99acO/bssBQC4yvD/qlglABevYv8B4pT+mMbk/2RZ4P0fonECBvQ6//ay1P4abcz/dzhZAWpYEv5paBcAZS1/A6UMjwC6SLr/bNyFAOBRHwOui074uKdS+WpS7PwL+wT+SBos+X6SAwICZrz6zWTE/rJRAvUfMlz5HeK8/QkWnP5IOQMD08ti9liUEwNVKFECsipK/FY6vP5R1SkCeuRU/YcuYv9tVMsFYPTc/CKJWvuo/pD/OmIHAKYPIPzoUpj/HBmW+OTqCvxFffEDzo8pAk7l0wCBynz5h884/AdYmv/b8Hz/HNRJAtDaZv8S1Dr6QqTs+Ai5gv1J1Qz+GyFfAQlCyPiq0PT/tkQi/ULUAQU9pgECKAXw+q4xbP1iAlryne2dAnTWKv98/jsBm0MI/D6yxP/K5Pj+4Q8W/ZD8qQPC0frxw/ZC/kkLXPw6c/r6mak3Au+hpQEY4LsAOW0fA9SZCQN0XD8BjZUw+XODjPufy+j8kkOw/uuoOwCS7KL9uX0G/UY8UwN3ZTr/3NgXA1n96wN11+D5shI+/aX6APjrevb6GDjhAiHUNv7lU9D/l7Rc/UnFLvyXKisA+/oG/4AQiQHSB7Lw+24o+KfgRQBpk9r5VqIi/RPVHwOjS4z8Szk6/mcwuvxxHC8AWfkw/UG1+vsOzEkDDBNU/k4sJwFk19T8LjzxATvjvvRMeWkBfIT5AEzW2vyGfZr8+jvS+Rh3WP1hqTME4UJ0/ViqtPcVQhsBYfqPAAnn4PuXkgb/scmFANAXlv0DaSD2J2yW/cGwvQE3RIkAOWSVAQ2rSPy1MwT9LVQW/iBgvv9UTdj+6HafAGAg9vRUKFj+FqPVAr58oP6exDz/ZD78/nZ9av+/2FT9+u9A/YFqxP7zIpD/upJg+aHpuvzTEob/69bU/yhQSQOERWL6RHSxAPj0bQBvr2j9JpiLAuBF3PyngBkD0+J2/Asq7QDBKEsAuaOe/YhqQwGWCrL8eL7O/nS5ewOx1Tr+is2W/KobMwFGVvD8TGQBAqA9Zv5pfcT+yBB5AGzP+vnsKJr/rXRlABg8KQPbCNj+N5Cm/" }, { "ProductId": 19, "CategoryId": 54, "Brand": "NightBeacon", "Model": "Lumina LED Camping Lantern", "Description": "Light up your campsite with the Lumina LED Camping Lantern. Features adjustable brightness settings, long battery life, and a durable, weather-resistant design.", "Price": 39.99, "NameEmbedding": "uWMHwCJpbEBk0do/tB1nP9pG4z8MwnNAHJehvnTQvT5u2/G++ZVrvjgiKb26O5zA6p99wGLwPEDnRqVAfPM/wEpz8T/OB1dA31EIwG/JhkAxtepAlTIxwMF/T0A45lg/xcebQM6ZOT+x7+e/J95Kv9TAQsBniCPBuOv3PvT2hz9dnjvAlLJXPhuR2761hba/hDK8PgrXhr/0x3Q9nJuJQI/1CUFSXNW+HIeAv1NlTL87Iti/qV7DwJr0hD+y3ALAcFeLP4Yam7+s9Z9A4CQPwNi9t76WP4HAMLMcPnQOFUBwlei/dT0MP5isUUDddq9AcIEGQNlSk0C+nE7BBXhCQJywp7/A/kG8ONjowOdE6b9i/HtAXQy1P0VVnL9odmPA85iUPwcmMMCY8pY9WJYYv5FBCz4fUaPAD4s9wNlgmz/WFzLAsHUtvTu6b78bR4M/3jCDP8+EBED4MWs/FUn6v9U1FcCwVHZAuIKSvlhegMAONgPBhOBSv7VRxcA8FRfAlvzLP2SrmT+8dko+VjY4Qb2w0L3qzm8/GodlQC6cKUCSgKy/fqmdwLBQlD/tFc4+v6ZXwIsHFkCAUoo/JuqTPuGLlMCWCKg/aNV/QBtGML83d8RAgO4DQDvnPr9ITZFAMONKwNCKtT6oCIdA0GE3wPYesUAwIdy/mJpOQOFGrkBkpLk/NBksvW4/yr6wsZc/9YdmQHvcqcB3W6XAtNHuP4Sx9T4fLzQ/PYbpPyJcXL+aYPw/2qa0vzG7z0DivdrAeQLfP3n3uMAOlRPAvOG6P5rSnMBm4V9Asuy3v0XcY7/0gmtAPZyGwNuCw0CYp11A4COMP9L4qUBvUEdAYvhvQK7/hEAt+zJAeDaZQCo77UDdOLm/r2vawC580z9ot8g/XLlDwMa8wMCnSXLAu8uZQJlq6D46MmfAjvtQQItCzz8m4rK/LFkKPf6NiMC3qmJAZ9l2P2WMZr/UHDRAH0CsP8K4Kz9nPpS/0QkqP3mAFL+ScFI+vYoFQKSjBMHjvnO/QBMNQBsGLT8Ivb+/slouwLzDmsAfSb3ATkLxP6dVhcCHrTtA44BBwJREor5NwIA/uhDtQBqTbkBAP0c7WmZPwH+1VD/4piJAkdiXv6W6WcB7fK1AoDNbv2aP58DA0I9ANqWLvlW/kb8UzI3AYs4pwO8CDkAwBQfBBGLRwE3SUsFbBCFACdQ2P5/LJ8ApNnG/AGsdwOM0i8A/xjU+ZjNfwDB6+D8D8o1AmXPKwP7HWb9nDA+/2XG4P6VnykD1hw3A6kMHwU3bkkDI0cA+9A/GP8wgjsCnFtxAuukHwG54ecDMfpO/OGg9Qa0lPEBDeKhAotXswGnI/T+Chmw/Emw0v3SCGcC485xAowUaQMbE20BREnpASOGWPWZttb8oQ5o/6UsmQVJvQcDSe7HAIjuovqmJE8Cxzj8/gHNOwKhYyj+kvte/Vky9QORrj8BlbV5Ac6J6wD5WnEAKeZXAHroNwRAnO0BS6jK/ONSUQBLQ4b9ewi6/cHK0P+qUy8BqX59AkHC6QKErDsDquwzAsE7AQLtsUMCXGeq/YeRyQH5yMsDZmWHAyMLWQFYASkAsVyFAppe+PZbdIr5clqI+7RogQMiICMBdicg/MMgWwA9OJECMZa1AuLPFwP0tGEB+Jd09UOYUwCKsqT/V4jO/0QSvwNerhsDBhZFAvdUxPkBZiMH2nsk/2MCev/vgj8DpXuu/5pZPQA6WSj8cZYZAHmCWPhg06L/MdEjA2fR1QJTHo75GCYBAYn8/QHORN0DuWiW/DZfBwJqM4j+VxfW/GoTJv3lw0j9JbUNBA4wpwFWoDsA4ZB5A0Y5/QF9nDkCIkGhAFdO0Pivgb0BBXaBAVzJuQDZFor04Uu1ADQveP8IuVb7O06zAwsAbQL5+JsBGAsC+ArfWPzw0KL3H3UY/EAtmQJs/ncBJxEVAtgUywD1Bbj8oGT7AeCA8wJUVO8DTjZfA96znP+gk2r+oDqu+/Rywv7eZ2r/4DWu9wvJPPwcQED9sSb3A4hyWPhJFx8DFQ98/" }, { "ProductId": 190, "CategoryId": 51, "Brand": "Trailtrek", "Model": "UltraLight Poles 300", "Description": "Hike with confidence using the UltraLight Poles 300. With durable carbon construction and adjustable height, these trekking poles provide stability and support on any terrain.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 191, "CategoryId": 10, "Brand": "Flash Bright", "Model": "Luminex 5000 Lantern", "Description": "Illuminate your campsite with the ultra-bright Luminex 5000 Lantern. With 360-degree illumination and multiple brightness settings, this lantern is a must-have for outdoor adventures.", "Price": 39.99, "NameEmbedding": "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" }, { "ProductId": 192, "CategoryId": 52, "Brand": "Hiker\u0027s Haven", "Model": "Venture 45L Backpack", "Description": "The Venture 45L Backpack is designed for long hikes and overnight camping trips. With adjustable straps and multiple compartments, it offers ample storage and comfort for all your gear.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 193, "CategoryId": 44, "Brand": "SummitChomp", "Model": "AltitudeTech Cake Carrier", "Description": "Protect your high-altitude cakes with the AltitudeTech Cake Carrier. Its insulated design and secure latches ensure your baked goods arrive at the summit intact and ready to enjoy.", "Price": 29.99, "NameEmbedding": "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" }, { "ProductId": 194, "CategoryId": 48, "Brand": "Rescuepro", "Model": "SurvivalPro 3000 Kit", "Description": "Be prepared for any outdoor emergency with the SurvivalPro 3000 Kit. Packed with essential survival gear, this kit includes a multi-tool, first aid supplies, and fire-starting equipment.", "Price": 99.99, "NameEmbedding": "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" }, { "ProductId": 195, "CategoryId": 52, "Brand": "Adventure Pack", "Model": "Trekker 30L Backpack", "Description": "The Trekker 30L Backpack is perfect for day hikes and outdoor excursions. Its durable construction, hydration-compatible design, and ventilated back panel make it an essential companion for exploring the great outdoors.", "Price": 59.99, "NameEmbedding": "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" }, { "ProductId": 196, "CategoryId": 60, "Brand": "ExpeditionTech", "Model": "TrailMaster GPS Watch", "Description": "Stay on track and connected with the TrailMaster GPS Watch. Features include built-in maps, real-time location sharing, and rugged design for outdoor adventures.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 197, "CategoryId": 19, "Brand": "OutdoorOven", "Model": "Firemaster Portable Camping Stove", "Description": "Cook up a storm in the great outdoors with the Firemaster Portable Camping Stove. Lightweight, compact, and fuel-efficient for all your outdoor cooking needs.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 198, "CategoryId": 36, "Brand": "PeakMix", "Model": "WildBeat Portable Bluetooth Speaker", "Description": "Bring the party to the wilderness with the WildBeat Portable Bluetooth Speaker. Rugged, water-resistant, and long-lasting battery life for outdoor DJing.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 199, "CategoryId": 46, "Brand": "Ecovolt", "Model": "SunShift 100W Solar Charger", "Description": "Harness the power of the sun with the SunShift 100W Solar Charger. Fast charging, durable, and compact for charging your devices off the grid.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 2, "CategoryId": 40, "Brand": "SurveillLink", "Model": "Secure Messaging Device", "Description": "Keep your communications private with military-grade encryption and secure messaging capabilities. Perfect for outdoor expeditions.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 20, "CategoryId": 22, "Brand": "Outdoor Pro", "Model": "TrekTracker GPS Watch", "Description": "Never get lost on your outdoor adventures with the TrekTracker GPS Watch. Features include built-in maps, altitude tracking, and a rugged, waterproof design.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 200, "CategoryId": 42, "Brand": "Strategicgear", "Model": "Raptor Tactical Backpack", "Description": "Gear up for any mission with the Raptor Tactical Backpack. MOLLE compatible, hydration bladder compatible, and built for extreme durability in the field.", "Price": 179.99, "NameEmbedding": "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" }, { "ProductId": 21, "CategoryId": 30, "Brand": "TechShield", "Model": "WeatherGuard Pro 3000", "Description": "Stay dry and connected with the WeatherGuard Pro 3000. This high-tech weatherproof tech keeps your gadgets safe in any outdoor adventure.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 22, "CategoryId": 3, "Brand": "Peakpacker", "Model": "Summit 45L Technical Backpack", "Description": "The Summit 45L is a top-of-the-line technical backpack with multiple compartments and advanced carrying technology for your outdoor gear.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 23, "CategoryId": 26, "Brand": "EZ Camp", "Model": "QuickShade Portable Shelter", "Description": "Set up camp in minutes with the QuickShade Portable Shelter. Its high-tech design provides instant protection from the elements.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 24, "CategoryId": 50, "Brand": "Base Camp Comfort", "Model": "Arctic Dream 0\u00B0F Sleeping Bag", "Description": "The Arctic Dream 0\u00B0F Sleeping Bag is packed with high-tech insulation and materials to keep you warm and comfortable in extreme conditions.", "Price": 179.99, "NameEmbedding": "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" }, { "ProductId": 25, "CategoryId": 12, "Brand": "DigDigDig", "Model": "TerraScoop Excavation Tool", "Description": "The TerraScoop Excavation Tool is a high-tech multi-purpose tool for digging, scraping, and leveling in the great outdoors.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 26, "CategoryId": 59, "Brand": "RiverTrail", "Model": "RapidFlow Paddle", "Description": "A lightweight and durable kayak paddle designed for speed and efficiency on the water. Carbon fiber construction for maximum performance.", "Price": 189.99, "NameEmbedding": "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" }, { "ProductId": 27, "CategoryId": 37, "Brand": "Wander Lens", "Model": "AdventurePro DSLR Camera", "Description": "Capture stunning outdoor photographs with this rugged and high-performance DSLR camera. Waterproof and shockproof for extreme conditions.", "Price": 899.99, "NameEmbedding": "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" }, { "ProductId": 28, "CategoryId": 29, "Brand": "AquaFusion", "Model": "PureStream Water Purifier", "Description": "Ensure safe drinking water on your outdoor adventures with this advanced water purifier. Filters out 99.9% of bacteria and viruses.", "Price": 149.99, "NameEmbedding": "pBPOvwt5PcDTgcO/REM5wMthkr9XpmrA/uAkQEfsLkAS2pXACpdJQDMgGb9FbkTBOB/Ev2UcLsBF0y9AWDOCQFfCl0DwJKhATxvowC3SXUB/+YpARdgnwHa2v78LIQK/OfEGvqBnRT8Q38w9tENFwCaPLr9U3ybBVEEDwCCRKcBtsIo/U8e+v3JyIMBGTo0+DzSzvx+gCL9xS13AKqymPggL6DxgVAs8ZpWPwHayr0BKh+0+lPGxPaiHMT2GR4K+U9G2QLp5fcCLLec/oj0gvnZZpL6RjLq9JFKLP3n0OsDfgNI/RNFcQL1LH0CX+oa/guzsP1Oti0BFsiHBrfLwQHA1AD5Pzes+1RaSwL7ssEA8N7VAIV3aPxJpvr8dNpI/3Vc9QMax+D/CBl0/DCdPv1G3SECcP+6/MHI+wC4vjUBwMIQ/P9yYwH+cur+rH6q/dKoJwIzjcT8sU/4//xEMwGyRyL6+GH++LpKewCcrob8zrae+6xR3QLIBI8D37A9AwvrJv2KcNsBWPI8+e8kUQQoCSsADUANAAl6SP6mRSsC167xAWSeZwCojIT9Sesw/5AvLv067gD/KAL8/yARJwPUqQUA9wl7ABYbYPniDAUF90Y/AqngIv8eoW8A4uohAN5o3wBiknr4DxRpA/KtHQNffXL8A6a0+BKESQHK+GUBMBbe/6MeqQMeD8z+XzYNAJGjVv/kKs74bk8o/SSxgvwy/Kz8WVvq/LZbcP83D6r8oycrAR6yXP2NtLsAhoQ/BeOctwL5jB0A4iDrAl8sAvzbMVMBLpHTASd+uv2umvECGkyS/FFDbvyNFb0Ax500/oG5yP1PPWUDU6ri/2ywnQMjNwb9oBRLA3UnYvxwv9kCKVI7AWL2XwJQ9UUCcbXLAblwLwDxN4UAtze/A6KgsPSEcMkCZkvu/Ms4IQGLOTj8isOq/wuEaQDX5iEBBqD1APp2Sv/SwTD+zcpw/TEqTQGasMEAZzFnAPHORvuhvM8CRByfAju0dQLpmncCW9uO+47Q9PiRwckCAFWNA5NrEvxbiJL8CTb49kNxJwMh+07/AMb+61srcvhqbH8B+Wb4/YkISP1Fdj0Cptlk/F6LiPqacnj+PHLpAuE4dP7MhnkAn84++AeZawO175b/UTK9A3t2AQEFvPkCwNPg+E/Euv3+hvEAsuBrBauTTwMofWcG881s/7WHov+ZrisAgh7dANFvbv/8jCsB1OfW+bEnBv7T/kj/aPMNAJjUOQBDflj3sGbk8xzgaP8aTWkDsisBA3wpUv+QcLUCGxYJAC14LQPcIWEC5S59AAr6UQMSPnL/wbg6/orAsQVyh8z8D+aVAEyOpQIvwH8D+aq8/s0LKv7LEBMGdbA3AHTpJP9RjET6AMDU8yHbEP42EDr/2hAe9peRLQMI/mb9ELdrAoPpJv75XNMDCRpa/lcNaP9o7lMAmr3fAgerQP32HMcCgZB+/xSUpwPLBVUCQGEnACreBwKROOj8CD2jAU+MowGdlmr8YNQU+dxCBP9Gyd8BAjSzAGEKAPOAIpT+NbzxAzOW8QFA8MMBg9j3A5XF5QBIa8L4hLGtAD2ZwQKMcqEAX1JI/aj1owLx2hEBuPCzAk7yMQGoO0D+dvk1AQjAcv8E2PT9oh3VAcXt+vkpqhb+YhaQ/MaOhv+Xbvb83MHG/csCgwEdQtj8hC55Ay/2PP2Dca8Ephte+UkyLPoga/cAp5IjA0o0ewF4aNUCCup6/eg7Svzj0A0C445TA/6YPQOq/oz1spkFA8lKVP4QEFEAaBmBAYfiWwMhRZECiXdM+6LvDPtZ30D8Oc0RB0WoIwHB7iL2clh9AqSjvPhy7AkDS7H4+II8+P9hL8z+MvkNAX7SNQJr2XsCzR/w/OVVHP3poiD7Fvtc/THP3PzqeTsCRvJO/3ryKwOqi2sDQWK3AohayP6lrQD+JOp2/4dTGwLpNZMDC09k+OkIMwNGE677M6r1As7WhP2obFj/J9hlAj0jqwKqQUsA4/7S8xKRpwO8TgUABiZ2/ctmeQGyjOUBuU2I/" }, { "ProductId": 29, "CategoryId": 46, "Brand": "Ecovolt", "Model": "SolarBoost Power Bank", "Description": "Charge your electronic devices with solar power. Ultra-fast charging and high-capacity battery for extended outdoor use.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 3, "CategoryId": 55, "Brand": "Swingnap", "Model": "Ultralight Camping Hammock", "Description": "Relax in style with this ultralight, compact hammock. Easy to set up and pack away, perfect for backpacking or camping trips.", "Price": 79.99, "NameEmbedding": "qPESwFCCgUCVgCk/iliOwFDPtr95g8tAePLFv6LLwz+cgVfAEs+Fv614uj9iSEDACESSwHBBKD3mQs5ADAkyP+4BHb+YjyZAjVQGwCnh10BnvsBAu4AkPxtX5r1wrm++lwiPP3rQdj+7ZzfA3beCQLvyC8BmnA7BQL8yP8h7C8A9SCTABC4YwE2ic78wQBq/hA6TQEXbsL79jOm/bkALQNLOn0CI7BM/5S7MvzoHJT8U6WC+oSVGwM6YHj4nfbvAqkZWPuapdr7AICy+tj4Kv3KIkT/SlDnAHbMQQDwpHb8G4hXAqOKXv8eaWD8dq3M/gnWyPxSOg0BzcU3B8CB8Pc5gsEBeWGU9cV0FwBVOMz7JXJZAyPOEQPuwmr9LMndAIDRsQJqLRECuOsa/BqHYPqwIWr8dfm3AbnhuwEjc9T9WKj3ApHwPwAiTVMCqxoc+gQKEQEjVZj9htSS/swpbwMwtOj+cMoxAVykxwClgv7/6em3A7YkuwEQII8E6jJM97yrcv0M+hD+PnI7AY6w0QSLkmMA1VnI/Ibu6QNhGLr/2RW4/4Xl0wHp0ur++D+m9WMI9wLPtTUDwyaY/sw4nQBCVBb4CJ7tA+k2iP/PfrD+spd0/cxtBQG7uS79TZv0/1YeywOOPAEBsvX9AO0NSvkAHhT+A9nC/Kpplv3PFrEDZhR9AWttvv/tBKUB/PyBAxDszQJ7qf8D7rxm/kkUowJoDmz/79r4/AbgSQL/JHMBuQ4U/wgtUwBExlUD8OfXAeRbMv6dIicDDnFHArwhsv+FMLMDXoUI/xSgyQMIpfb7gM3BAA4WtwJVdWEAnWLJAi8I8P2UliEDspcO/Wq8FQK895b9sR/I9KHVMP9ok8z9DcEC/CyQgwWnPAkCZ44e/Ccj0v2YATsAABai/e5GOQGTANb8CWiPAQpuwQORSsr65qcjA5/iNv2aNYcAO3W1A94KIQPvrEcCTlp6+CniAQJ5QoECmg76/yF1HvqC6YT6MqyFA7a2pv8oImsDWcpXACkTsPxX7D8DSfcq/ostZPzBTTMCwgm6+qKWJQDJXpcAOl8FANrgfv9BJAsCTNipAYx6SQEeI0T8MFnnATADYvx2uykBZf3g/QX8GwIzUij5E/5k/VOsbP4h+c8C5CTNA4gefPy2nEEBOmNDAky2OPiQAN79PE7rAuq12wMT5RcGcVMA9WOW7P0RkJ8BctB/AwY/WvyoqLT98nEpArQs5wJx78b88S9xAYpeWwOhkgL8gZ9Q/bScOQGIkp0CIIkFAYY+lwKiRqz6n1Ea+lbdYPwQIXT/47tK/WsiXv6vXTb9q0cXAtgUSQQpTbEDYEdpACuLEwGT2tD8tuDa/zLFFP+a2YMCzuy2/6EAAQJNPFkDt38FAjLDOP/jcer2mzyk/0aAjQSMtg78WZhPBzNsoP53K477STWw/NKC1wFXir7+eyWXARM7GQDOvAMD16yc/rOV+wCScg0Dpq5XA6M+jwKA7XL+aoFbANVDxP0PxT0Bs5Em+EJbrPPrjqMB9qpxAd/qBQFZWvL8QCRk+G0BmQH4UPcCKNYTABpPFvqBJS78sqrc/nZfKQOziYcDEOis+yTxSPyYpBEAODby//AExQPS6oUA2nXhA3fLpvy5L6j/BwFJAqU5iwB4hwkBc5QNABjs3wBDLmT+kOqq/LflRwCQJTb+ZBMNAfdTIP3Gmc8HeAWs/COcJP8i1NsDIj57ArP+AP1mTHUAnO/hAQiTkPylxHcAp3bu/lR2ZQOrtLz/ZeTVAACKaQPBQpEDYOg4/bqJjwPjAaD8QDcfArKphP0phyj/0mUFBv2aPv+YKcD/7AWhAPHaoP8qoTEDoUd08N/MlwAVofEC611k+STgKQcexfsAgHHtABONRwIJtpkDg6svAIu45QO7Z4L8soJw+kWgLQFPVZb4c/Xc+fy9nQOTHxMBE63FAthK/wEjkZT2D9wjAuO4TP1CbYz56o8y/ULY2vWNfiD5KgQo/84EzP3T/IcCSyiO/yadWPhKmmj/knhTACo5lwMEmxsBQ7Ze+" }, { "ProductId": 30, "CategoryId": 14, "Brand": "Backcountry Cook", "Model": "Alpine Chef Camp Cookware Set", "Description": "Prepare gourmet meals in the wilderness with this premium cookware set. Lightweight and non-stick for easy cooking and cleaning.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 31, "CategoryId": 28, "Brand": "WanderStove", "Model": "Nomad Camping Stove", "Description": "The ultimate off-grid cooking solution for outdoor adventures. Lightweight, compact, and fuel-efficient design.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 32, "CategoryId": 28, "Brand": "WanderStove", "Model": "Trailblazer Camp Cooker", "Description": "Experience the convenience of off-grid cooking with this high-tech camp cooker. Fast heating and easy to use.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 33, "CategoryId": 61, "Brand": "Game Guard", "Model": "NatureCam 4K Trail Camera", "Description": "Capture stunning wildlife footage with this high-resolution trail camera. Built-in night vision for 24/7 monitoring.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 34, "CategoryId": 61, "Brand": "Wildwatch", "Model": "WildView HD Trail Camera", "Description": "Stay connected with nature using this HD trail camera. Motion-activated recording and long battery life.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 35, "CategoryId": 53, "Brand": "CookMaster", "Model": "Alpine Camp Cookware Set", "Description": "Upgrade your camping kitchen with this durable and versatile cookware set. Lightweight and easy to clean.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 36, "CategoryId": 28, "Brand": "Eco Grill", "Model": "Portable BBQ Grill", "Description": "The Eco Grill Portable BBQ Grill is perfect for off-grid cooking, featuring eco-friendly materials and compact design for easy transport. Enjoy delicious meals outdoors with this high-quality grill.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 37, "CategoryId": 24, "Brand": "Wild Guard", "Model": "Outdoor First Aid Kit", "Description": "Be prepared for any adventure with the Wild Guard Outdoor First Aid Kit. This comprehensive kit includes all the essentials for safety and first aid in the great outdoors. Compact and durable for easy packing.", "Price": 39.99, "NameEmbedding": "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" }, { "ProductId": 38, "CategoryId": 19, "Brand": "Firefood", "Model": "Portable Camping Stove", "Description": "The Firefood Portable Camping Stove is a must-have for outdoor cooking. With advanced technology and durable construction, this stove ensures quick and efficient cooking while on the go. Perfect for camping and hiking trips.", "Price": 59.99, "NameEmbedding": "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" }, { "ProductId": 39, "CategoryId": 18, "Brand": "Shelter Scape", "Model": "Instant Pop-Up Tent", "Description": "Set up camp in no time with the Shelter Scape Instant Pop-Up Tent. With innovative design and high-tech materials, this tent provides reliable shelter for outdoor adventures. Spacious and easy to use for all outdoor enthusiasts.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 4, "CategoryId": 48, "Brand": "Life Guard X", "Model": "Emergency Survival Kit", "Description": "Be prepared for anything with this comprehensive survival kit. Includes first aid supplies, emergency food, and essential tools.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 40, "CategoryId": 32, "Brand": "GloTech", "Model": "Rechargeable LED Headlamp", "Description": "Illuminate your outdoor adventures with the GloTech Rechargeable LED Headlamp. With high-tech lighting and long-lasting battery, this headlamp offers hands-free visibility in any environment. Perfect for camping, hiking, and night-time activities.", "Price": 49.99, "NameEmbedding": "LgGLwHM+dj8HjzFAfOI8vxrYC8DSMmQ/VQwnQL1xiD//A5jA8C2zPMRBW8D4yu89193Xv4yEWEB6p5Q/IZiNPx0Kwz+EswM/ujPVvzrGiD5u0Z5AniwQwIsPNcBnUEFA4EmTP0opMMAeuTZAzX44wL9jicCxYVjB0m44v4zKXL3V94bA/rYqwLHONMA6pQA+J2EuP3Sh57/2pBHAwPDtP+hkTkAEUsm/Rk3Fv4LZ6r9tPChAhGnNvrV7Nj8jJoS+piciv0CFdMACd1c/aofQv0t8XT/+hIPAgim5P2Ucd0AuNB8/N+Q1PznZwUCU0u2+/GBowKWd+UAh9D3BuFNOQFu77z/hAIU/ashFwBJiy71Lz6w/OG8IQAk95z/NsrfAfdO6wNn2QcAQG7u/hJ9bP6xJVT8A07HAF4wNwLw1JkDEUFhAatDVP3uL2r4E3w9Am+TFQPHjNL+Z3Zu+RFmxv9uZHMAqtHTAKevCv8B65L7Ab6PAxPgmvl8D2sA8LHrAyFDqPwBGnj94M1a/XgAZQZqAsb8f3dO+tNjIQJFRAsDvT6JAYyAFwE8Mgr6s6WRABoJfwJ1TL0AWF3K/S8cEv5py1T5hN3W/93h3QB5odkDtZXrAF2sQQPyjucDkKazApivNvyYisj/eBJpA5YAtwK9YHUBfMETARxviP0CNvUC6MbZADGO8QPdND0DUGwRAolDOPlnhsT1zicu/lZmwvvv/0D8LBTHAl5WJQHEjKcDAEns7Sldsv/zU/b/VuILA0EoWwCTrAUDpevi/V8vCP1JU+L8z6KW+KtnhPjrCnkBMU4Q/Yggsv6yU2kAydV5A2jTcP1K9FkDRrQ1AVOsIQXOGWMCBk7A+s+CDwIy0NkHoGyo+npwjwXAYgD/E4DDA43XXv8ThT8DNnfy/qQbFQK8Olb9Y0H+/TbkCQFVWRT9E3bjAmjPZPqLQjb6wopy/kbgiQLfHI8A7mMbAva2Cv5IrjEAUs2G/XgSLQPQah7/F8yJAPsPjQHy/8cCCe2PAmcsYQLgULkA1dkRAIg29vuHO98AYN1fATP0VQZ+Oez/Brkw/SXwewDPERcDUE6pAlUTaQB2lAT9H9B3Ag9EVQIdO1D8SxmVAsFB5v0bJN8BbhkNBE2ejP1cbAsFF4vI+muVqwMEwJkDv31XAzxwAwKvZEECoiHnAzdm3wKxyjMGETYJAoAm0vOUissBMb5BAEjW0wFY5C0BYq7c/CU6QP/3sSEDkHPRAxf/7P8AJabzFgu2/yHFev6UQ5kB06sO/zypawPQM27/zLEPANIhlP2mgPUB9ZbM/gUP0wGDFSTx6OQPAHoyJQfQAgL9hXw1AFs+qP6z9rr88El9APWRswDkHHMGcA09AyZMXQMeQj0DXgY5AIixvQIAC9z/SrWRAsPwSQGXfNcBMCADByN4hP+Tljz/avmzAwl3AwLU247964Ee/xEqPQIUWw8BPJI6/IDa6Ps/SekBte06/mAIIwSwfkkCY83rAM8fTP4YsIUCB975AUxBNwP32y8CLccZA3lI3QDGlgL0M2B/A7mVmQKwi2z2or4o/u5yBQN9bIL/Nzq5AFl4hQF9HFL/dIw9AfJVbwAsUU0BtLzpAPswVwL0tbEARb7A/liQPQFYkJj5OObY//sW3wO+AjMAW39m/Hs0swFC7UMAljos+bayZv2/CmcAi1gxBgFNkQCItpcEo/tI98EJkPoKunb9rC7jAoAivQF+hA0BjKI1AdI+vv0RxJ7/wqeHAParvQModyj9+m71ABMEdQF8ko75YOYE/kDGTwMwLDUAq5XJAk8QCwF0mlEAVLXFBLnmSwJxcjb7WX6C/3dsJvwq8J0AbBcNAEuw7QKzwH8Ckg/y+T7gJQY/Dk8DNprNAYMrWPhdXicC6HCfAiplNP4YIwz4UbCzAlXnBQMQy8r/Y8tO/z1WdQA6vssBLTcjAs1I5wEJ0NMAsEMo/oRgMwB25Qr/nzWw/7e7JPuOiqr+/ioS/MNm8v4UO7781Kl9A0B0PPBqxI0DN1JDAjzSYv4Ttmj8ker5A" }, { "ProductId": 41, "CategoryId": 64, "Brand": "Wavemaster", "Model": "AquaVenture Waterproof Surf Watch", "Description": "Stay on top of the waves with the AquaVenture waterproof surf watch. Features GPS tracking, wave conditions, and heart rate monitoring.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 42, "CategoryId": 42, "Brand": "Tactic Tech", "Model": "StealthTrek Tactical Backpack", "Description": "The StealthTrek tactical backpack is built for rugged outdoor adventures. With multiple compartments, MOLLE system, and hydration bladder compatibility.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 43, "CategoryId": 42, "Brand": "Strategicgear", "Model": "NightOps Tactical Flashlight", "Description": "The NightOps tactical flashlight is a high-performance LED light with multiple brightness levels, strobe mode, and durable aluminum construction.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 44, "CategoryId": 48, "Brand": "Life Guard X", "Model": "RescueTech Emergency Kit", "Description": "Be prepared for any emergency with the RescueTech emergency kit. Includes first aid supplies, fire starter, emergency blanket, and more.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 45, "CategoryId": 34, "Brand": "NomadGear", "Model": "TrailBlazer Solar Power Bank", "Description": "Power up your devices on the go with the TrailBlazer solar power bank. Features high-capacity battery, solar charging, and rugged design.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 46, "CategoryId": 28, "Brand": "Eco Grill", "Model": "SunSpot Solar Cooker", "Description": "Harness the power of the sun with this portable solar cooker. No fuel needed, perfect for off-grid cooking and eco-friendly adventures.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 47, "CategoryId": 41, "Brand": "Nutritech", "Model": "Protein Plus Energy Bars, Variety Pack", "Description": "Fuel your outdoor adventures with these high-protein energy bars. Variety pack with delicious flavors for on-the-go nutrition.", "Price": 24.99, "NameEmbedding": "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" }, { "ProductId": 48, "CategoryId": 60, "Brand": "Tech Outdoors", "Model": "Rugged Waterproof Bluetooth Speaker", "Description": "Durable and waterproof, this speaker is perfect for outdoor adventures. Bluetooth connectivity and long battery life for on-the-go music.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 49, "CategoryId": 8, "Brand": "TrekMaven", "Model": "Summit Hiking Boots", "Description": "Designed for rugged terrain, these hiking boots provide ultimate support and traction. Breathable and waterproof for all-weather performance.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 5, "CategoryId": 55, "Brand": "Swingnap", "Model": "Double Hammock with Mosquito Net", "Description": "Enjoy the great outdoors without the bugs with this double hammock featuring a built-in mosquito net. Durable and comfortable for any adventure.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 50, "CategoryId": 15, "Brand": "Thirsttrek", "Model": "HydroPack Hydration System, 3L", "Description": "Stay hydrated on the trail with this high-capacity hydration system. Hands-free drinking and easy refill for long-lasting hydration.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 51, "CategoryId": 5, "Brand": "Resilience Gear", "Model": "Survival Pro Multi-Tool", "Description": "Be prepared for any outdoor emergency with this compact and versatile multi-tool. Features include a knife, saw, fire starter, and more.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 52, "CategoryId": 17, "Brand": "Trailcom", "Model": "Trailblazer Off-Grid Communicator", "Description": "Stay connected even in the most remote locations with this rugged and reliable off-grid communicator. Features include long-range radio, GPS, and emergency SOS beacon.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 53, "CategoryId": 16, "Brand": "IceMaster", "Model": "GlacierTech Snowsport Goggles", "Description": "Experience crystal-clear vision on the slopes with these high-performance snowsport goggles. Features include anti-fog coating, UV protection, and adjustable strap.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 54, "CategoryId": 57, "Brand": "PowderPeak", "Model": "AvalanchePro Ski Backpack", "Description": "Stay safe and organized on backcountry adventures with this durable ski backpack. Features include avalanche safety gear storage, hydration reservoir compatibility, and ergonomic design.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 55, "CategoryId": 2, "Brand": "Exploremate", "Model": "Adventurer 2000 GPS Navigator", "Description": "Never get lost on the trail with this advanced GPS navigator. Features include topographic mapping, waypoint marking, and rugged waterproof design.", "Price": 249.99, "NameEmbedding": "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" }, { "ProductId": 56, "CategoryId": 9, "Brand": "Slumberpeak", "Model": "Naptime 5000 Sleeping Bag", "Description": "Stay warm and cozy on your outdoor adventures with the ultra-warm Naptime 5000 Sleeping Bag from Slumberpeak. Water-resistant, lightweight, and easy to pack.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 57, "CategoryId": 13, "Brand": "Charge Mate", "Model": "PowerPort 10000 Portable Charger", "Description": "Never run out of battery on your outdoor expeditions with the PowerPort 10000 Portable Charger from Charge Mate. Compact, fast-charging, and compatible with all devices.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 58, "CategoryId": 35, "Brand": "GuardianGear", "Model": "SafeTrail GPS Locator", "Description": "Ensure your safety in the great outdoors with the SafeTrail GPS Locator from GuardianGear. Real-time tracking, SOS button, and rugged design for any adventure.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 59, "CategoryId": 59, "Brand": "Aqua Venture", "Model": "Explorer 3000 Kayak", "Description": "Conquer the waterways with the Explorer 3000 Kayak from Aqua Venture. Lightweight, stable, and built for performance with a comfortable seating system.", "Price": 599.99, "NameEmbedding": "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" }, { "ProductId": 6, "CategoryId": 12, "Brand": "MantleMaster", "Model": "ExcavaTrek 3000", "Description": "The ExcavaTrek 3000 is a high-tech excavation tool for outdoor adventurers. With its durable build and precision control, it\u0027s perfect for digging and uncovering hidden treasures.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 60, "CategoryId": 6, "Brand": "H2OZone", "Model": "PureFlow Water Filter Bottle", "Description": "Stay hydrated on your outdoor journeys with the PureFlow Water Filter Bottle from H2OZone. Removes 99.9% of waterborne bacteria and protozoa, BPA-free, and leak-proof.", "Price": 34.99, "NameEmbedding": "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" }, { "ProductId": 61, "CategoryId": 17, "Brand": "Adventure Link", "Model": "Satellite Communicator 2000", "Description": "Stay connected off the grid with the Satellite Communicator 2000. Send text messages, track your location, and access SOS features in remote areas.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 62, "CategoryId": 32, "Brand": "LumaBeam", "Model": "UltraBright Headlamp 500", "Description": "Light up the night with the UltraBright Headlamp 500. With adjustable brightness and a long battery life, it\u0027s perfect for outdoor activities after dark.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 63, "CategoryId": 54, "Brand": "Luminartech", "Model": "Solar-Powered String Lights", "Description": "Create a magical outdoor atmosphere with these Solar-Powered String Lights. Waterproof and durable, they\u0027re ideal for camping and backyard gatherings.", "Price": 39.99, "NameEmbedding": "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" }, { "ProductId": 64, "CategoryId": 29, "Brand": "AquaFusion", "Model": "Portable Water Purifier 1000", "Description": "Safely drink from any water source with the Portable Water Purifier 1000. Removes 99.9% of bacteria, viruses, and protozoa for clean hydration on the go.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 65, "CategoryId": 33, "Brand": "Camptech", "Model": "Multi-Tool Camping Gadget", "Description": "Be prepared for anything with the Multi-Tool Camping Gadget. Includes a knife, saw, screwdriver, and more, all in a compact, portable design.", "Price": 34.99, "NameEmbedding": "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" }, { "ProductId": 66, "CategoryId": 26, "Brand": "Shade Scape", "Model": "SunSafe Pop-Up Beach Tent", "Description": "Stay cool and protected from the sun with this easy-to-assemble portable shelter. UPF 50\u002B sun protection and durable construction make it perfect for beach trips and outdoor events.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 67, "CategoryId": 41, "Brand": "Nutritech", "Model": "Energy Bars Variety Pack", "Description": "Fuel your next outdoor adventure with these high-protein, low-sugar energy bars. Provides a quick and convenient source of nutrition without sacrificing taste or quality.", "Price": 19.99, "NameEmbedding": "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" }, { "ProductId": 68, "CategoryId": 8, "Brand": "Stepquest", "Model": "Trailblazer Hiking Shoes", "Description": "Conquer any terrain with these rugged and comfortable hiking shoes. Waterproof construction, durable outsole, and extra cushioning provide stability and support on the trails.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 69, "CategoryId": 47, "Brand": "Summit Step", "Model": "Alpine Explorer Hiking Boots", "Description": "Take on challenging hikes with confidence in these waterproof and breathable hiking boots. Aggressive tread pattern and shock-absorbing midsole provide traction and comfort.", "Price": 169.99, "NameEmbedding": "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" }, { "ProductId": 7, "CategoryId": 62, "Brand": "Adventure Prosthetics", "Model": "Off-Grid Surgeon Kit", "Description": "The Off-Grid Surgeon Kit from Adventure Prosthetics is a must-have for any outdoor medical emergency. It includes essential tools and supplies for surgical procedures in remote locations.", "Price": 499.99, "NameEmbedding": "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" }, { "ProductId": 70, "CategoryId": 13, "Brand": "Juice Junkie", "Model": "Solar Power Bank 10000mAh", "Description": "Stay charged and connected on the go with this portable solar power bank. Built-in solar panel and multiple USB ports ensure reliable power for your outdoor electronics.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 71, "CategoryId": 17, "Brand": "Trailcom", "Model": "Trailcom Signal Booster 2000", "Description": "Stay connected even in remote areas with the Trailcom Signal Booster 2000. Boosts signal strength for off-grid communication. Compatible with most devices.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 72, "CategoryId": 49, "Brand": "Angler\u0027s Choice", "Model": "Angler\u0027s Choice Pro Fish Finder 500", "Description": "Catch more fish with the Angler\u0027s Choice Pro Fish Finder 500. High-tech sonar technology for accurate fish location. Easy to use and durable design.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 73, "CategoryId": 63, "Brand": "SkySight", "Model": "SkySight Eagle Eye 1000 Drone", "Description": "Capture stunning aerial footage with the SkySight Eagle Eye 1000 Drone. 4K camera, long battery life, and advanced GPS features for smooth flight control.", "Price": 599.99, "NameEmbedding": "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" }, { "ProductId": 74, "CategoryId": 55, "Brand": "Naturehaven", "Model": "Naturehaven Ultra-Light Hammock", "Description": "Relax in comfort with the Naturehaven Ultra-Light Hammock. Made of durable, lightweight materials. Easy to set up and pack for outdoor adventures.", "Price": 49.99, "NameEmbedding": "VPoGv+i4Cr30hTlAxenav9azhD4v/wVBCnGMPi4iVkBenJPAAoWGvz+6YECb1uLABScMv7DmCECVp65AOOhnP6VYdEDopOU/nvkfv7hbFUGALgBBvCAIQCxAoj/gkCu/MdlBwJa4DEDdKprA1W0FQDcm7L+dZD/BuaY1wDOSl8Avc2E/Z6VbwNCO2D7fd+G+ZTezP8mJrr8NohzAeJLxP9LNjj8HEQvA0jYqwBD4TUDraBNAidibwBTGHUBOo83AeN5XPDSkhr+yw0Q//MLawGNkSsBg/Jy+uxANP6twHUDwyCRAziDJP+39nUCFhhTA5H1SQPqlsED7K1LBtYMkQKRH2UCoBYU+TPtrv0JgVMAlNF5AEkjVPm/ipz8sV/s/9UMyQMxuokDR6ZC/RY4cwBvxnj94CsfAXxKewEg9HD8StMDA/XKqvlFRl78xNzE/60AXQCJ6Nr9tIeC+cIxUwAgZZD/pY5BAyP6wvlid5jwtzN7ATvlBvl3R18CWRwbAkOVnQECV1T9gZKA/gJFJQeTc38DF4NdA4nP0QMN4O8CXCFZAlu5Cv45fcL9rYo7ABsN2wLKZBUCWyFhAC5S+vrQ1PEBLvx8/qaOCPrc1H0DjJFc/rvMaQJ8RRD+FPyHABoWpwFCtiL2iOtJAPl8xvwbWUD88yOU+9nxNQBeOckCj9S9Ac/cwQOp5EEDMoKtA/hgWvzH4Z8An0TlAA6Wev5KXmj68L7i+egsvviY82b5q97e/6SIRv8/3O0C3QQrBT+njv/YRmcANk8W/7p7OP6MkrsCfy8y+QmkhvxjtaL+cW4BABF44v/kFBUBdBGNAQl87QKpzfkBdTZm//JQlvxasvj/VEBg+3gDaPazWBUEOMA5AUoMYwRZjSz93AobAi+x+PwyY3j6Rh4I/PY23QGZ6ST//+WPAhLhOQInGg7+cbPfAKIE6wHd8M8C4nylAsU78v9ztM8CWkTjA+alBQJ9faEAmxKXAguJcv9apnL9ilpS/JPpaQHGo1r4o0QfAcadGQC2GnD9b4e6/D/o2QElCK8CluSbApK5XQFhNsz5XiiZAeJWfwPQz2r4MD5g/xAGGQCSuoL8o9wU/TNPOv4ac70CtQPu+sAA8wNT9BUCqmeE/PViNP3B3dcDRXCxACbrjP3qKib9AS3y/ol/8PxVPkkC1V4/AucAjwdVAfcFqKzu/cmk1wPeuf8Cy7i9AVmmSvwWt0T46tD8/cjmrPh2zhsBLocpARgsewE59Hz/HY1c/vq/RP2NPxkDS5ORA/gRdwNytUMDScuG/eDvFPe5gMEDZOa3AJikVwLBwMcAICXzAlfc1Qf/F+z/t8pJAlccbwFnWTb7RQtE/gmHVPl7N7sCh0AjAhvFhQOtu6j+WSXJAtfc5v1dZyL3EBvs/1wQkQQTe6r/PFNvADCnHvsc3xr+/UwNA595mQKAgH8DP4NHAiC5KQGKbzj/WSCE/MyfavwzPa0BnM/S/uxjWwAQVssCF3DG/0JoSv1Qjnz8duh7AWADaPj8P1MB2ZVtAClnFv4S58T/IcT68vLPSQKr+EcA3nLm/94SvvxZYg0A05p9A/cnHPz3AjD5WV7U+sT05QIT4Lr4XAB7AKbqBQP5tXT+RfzhA/CVbP9GnH8Bk2RW/HtcmvtViBEB/PClAGv8xPrLznz4Qq7S/KOVgwMGZAsDSn7hAkADePffWmcFkMhY/Hn18P9LjU8BaTzLAE4ZYQKyuND9gmAZBJjPGvhdxbMDM+2DAoaf6vlztYj+p4Lk/0yNmQKR5j0Afgco+FCgiwGpHP8ANqpzAEk99QHjNnUBOlIBBT9mwvxXVWj+QkqBAnhocwJfNOD/hmpfAN7fHv0LSoEBivlVA2WIDQeIIhMAgtCS/UaUSv81bgz8yX37A7V6PQPpfR7+LUHQ/wYU7QL/vE8ACw6c/Gg4UQW/e18DMVvs+rJ/hvzg/Kz527CXAzwXXvwTyfsDMYzc9U+m/v5rLnD8a2hXAY7WAPkeAAMBzvQTAhLyQwMxkgr+k6Ng+d0GxwMSAhsBZN4lA" }, { "ProductId": 75, "CategoryId": 35, "Brand": "Escapesafe", "Model": "Escapesafe GPS Locator Beacon", "Description": "Stay safe during outdoor activities with the Escapesafe GPS Locator Beacon. Sends emergency signal with GPS location to rescue services. Compact and waterproof design.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 76, "CategoryId": 36, "Brand": "UltiBASS", "Model": "Wilderness DJ Pro", "Description": "The ultimate DJing setup for outdoor adventures. With rugged, high-tech equipment that can withstand any environment, the Wilderness DJ Pro is perfect for entertaining on the go.", "Price": 399.99, "NameEmbedding": "cs/PwIxzWj9HYZo/Z16DwP6ACT/N7VlAyKgeP38kVD+NrYw/2J2qvxDLuj+zzGK/hFt+QKBNNkCejxBAfyBdP2/IMz4GCHJAlqiev7gu7j8b6Pw/5YwMv71KST9kBEzAgQZIwPKmNkAK9JTAJCRgwDWGBT9wNdXARr2AQACuisDDm9U/S9f/vw+3fL+Ed8m/wcgjwPHIXcD/JijAevl5QLycUz+Ih10/UaRswKpUPMDYHMa/fL6twETUc7467zXAuHA/PquSsT9q7Ei/OU6Ov+b5tD4Z1CfA/+OPvQcZpL+/L5hAlBUOQHLFa8DWZaE/S0UuQHAJYkBWyjTB5x+SQNs6C7/cc4tA9FcwwJZVBD4KLcY/EvkBQFytSL//xFlAUH8CQHkW0D/vwcg/IE2gvtoJxD9mKsa9tsrnv8n2iz2S2ErAd+6iv4D9QsB9Fo/AeP0/v6HPE8AjyDQ/U4/IvwEOzj40NAA+CGPNwC0cDkD1NT2/5JcAwK10y75GgRPAOOwqvwUOzr8tJCXAhkQKQSAWj8B/0Po/Ia1PQHjlVL0i80u/9t8/wHayRMAkUh2/ai8fwCqhDD8GOQtAzwKQP/yMbr/qjpA/IqSEPud5ED8SqwhAdzBkQP4wJ8Aq7uE/Hauav2txyT7G7B5AuBIVvuy+sT+7L+6+/l+HQBicm0BGgXxAqt4UQNphbD94aeU/DXT2Plh1v71a7du/VcYjwBYJQUAD2Ru+6kZEQKu97T8f6Pi/a3aSvij5uT8+rq3At/CVv6byI79mnjzAE2FWv+5+N8ALhuO/YBcGPPCiN7+qGi5A/LUeP/rXVUBHHLo/3YSfQOqJfUDq3Ma/Kl4kP65PVr8SSqLAektVQOo410ANFqM+y9u3wAACKD0YAkQ+WKQhQM+kq7+NtlHAsAEwPyDeBUBsWJe8/XplQAR3Cb18k9q/dO6Vv9aP5r9yx9I/iqmUP6nhwr5bj9y/CiadPrSf8L+Op5m/mCcDPVyiA8ATgQ6+Cy24P1C/U7wlcavAj662P4R4uT/ofIq/GQ/yP2Up8b+0oBhARIApQAndKsDM4rk/O6tkQFt6BMB79os/oZuUQKJ4O0C49WnAirl1vpI08b6km4VAshiMPtk9SkCBj1xAx7ucPsRLU8A0u7u/FIySvoF/FkBGSW4+vvfpvp2reMDaRQDA5AZkv/Q8WsFfmHNA3hUIwN57pj+sgkq/GhJTwPobGT9x4as/ydogvsvsAkC/WrdARnVSP1w4E0DNyhVAsc/Jv4ktvUAsAfC+hTEowP431D/GPjO/dO4qvlizzz/C1Ng/aNVCP5dWdD+Eubq/bSgzQfdwjEDmDKRA+TnEv2YMiL9078+/OkbFPaJjRMEHF3o+/M8pQPQSZkD26hK/SCSEQKB3msAIop0/UneeQCddlT+o6pjAv7pUvu9k5z43rqu/HWZ5wLWBGUCfYYLAHxGLQJDIOz5tgV+/9qwdwO9TVkDmMKC/KsK4wCjtpj4QSR28qZAbQCjKlT+IxJfATBwwv8DqrsDpdwFAqygKQJlk+L9N6MS/JVvuQNogj8BWvxI+RujZP9F2Nz6MJCc/fUAoQOTrCMC8hxBAaU9RwCngIEC4zF2/9boXQG7gjUDu298/aEyMwLSrI0DMc8s/XKK4P5jNZz88ggbA2khewM9wqj5QURtACvCAv/TLQL+dPNRAYSMvQPcUccEntPa/sf44wGeWiMCzVCPAgie/P2UQKT/bFMm+WWovwIbCtb9MpklAdJOIQA7C47/KOENAAuoAQJSovz6Pbl0/Ej+dPkspX0C5sv+/QKkUuziIvT/49ipBz8JmP65SFEBiqiNA4JEgvyktuL+Yt2JAQcyTv6zTNL+o0Q/A3ShKQIKVUMDMZdQ/h1ezQDpRTz/eXLa/MHScv9+YKj4eVO6/N6kOwKQBTEBIaxpAqq8MP0GY6b8xopS/ppsowDgQRz5CliS/OCacv/efDD+k0Pi/EnYfPgpPxz4e6MVATBoEwEIMOMBchUNAxPwEwDY2aEA8JWDAQ5VIwORzJMBAmx2/" }, { "ProductId": 77, "CategoryId": 46, "Brand": "Ecovolt", "Model": "Solar Charger 3000X", "Description": "Never run out of power with the Solar Charger 3000X. This high-capacity, portable solar charger is perfect for keeping your electronic devices charged during your outdoor expeditions.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 78, "CategoryId": 64, "Brand": "WaterRover", "Model": "AquaTech X-5000", "Description": "Take your watersports to the next level with the AquaTech X-5000. This high-tech gear features advanced materials and design for maximum performance and durability on the water.", "Price": 599.99, "NameEmbedding": "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" }, { "ProductId": 79, "CategoryId": 37, "Brand": "Capture Tech", "Model": "Adventure Pro Camera", "Description": "Capture every moment of your outdoor adventures with the Adventure Pro Camera. With 4K resolution and advanced image stabilization, this camera is perfect for any adventure photographer.", "Price": 299.99, "NameEmbedding": "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" }, { "ProductId": 8, "CategoryId": 67, "Brand": "TrailFax", "Model": "Outdoor Admin 5000", "Description": "The Outdoor Admin 5000 is a high-tech organizational tool for outdoor enthusiasts. Manage your itinerary, maps, and emergency contacts with ease, all in one device.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 80, "CategoryId": 49, "Brand": "Reelmaster", "Model": "Stealth 5000 Fishing Reel", "Description": "Dominate the waters with the Stealth 5000 Fishing Reel. Built for power and precision, this high-tech reel is designed to handle the toughest fish in any environment.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 81, "CategoryId": 65, "Brand": "Rockgrip", "Model": "Summit X Climbing Harness", "Description": "Stay safe and secure during your climbing adventures with the Summit X Climbing Harness. Features reinforced webbing and adjustable buckles for a comfortable and customizable fit.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 82, "CategoryId": 39, "Brand": "Essential Tech", "Model": "SurvivalPro Emergency Kit", "Description": "Be prepared for any outdoor emergency with the SurvivalPro Emergency Kit. Includes essential tools, first aid supplies, and emergency rations for peace of mind on your adventures.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 83, "CategoryId": 63, "Brand": "AeroVision", "Model": "SkyRanger HD Aerial Drone", "Description": "Capture stunning aerial footage with the SkyRanger HD Aerial Drone. Features 4K camera, GPS tracking, and long battery life for extended flight time.", "Price": 499.99, "NameEmbedding": "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" }, { "ProductId": 84, "CategoryId": 22, "Brand": "Techtrek", "Model": "Trailblazer GPS Smartwatch", "Description": "Navigate your outdoor adventures with ease using the Trailblazer GPS Smartwatch. Built-in GPS, heart rate monitor, and rugged design make it ideal for outdoor activities.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 85, "CategoryId": 48, "Brand": "ReadySurvive", "Model": "All-Weather Fire Starter Kit", "Description": "Stay warm and cook meals outdoors with the All-Weather Fire Starter Kit. Includes waterproof matches, fire starter sticks, and compact carrying case for easy storage.", "Price": 24.99, "NameEmbedding": "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" }, { "ProductId": 86, "CategoryId": 39, "Brand": "Survive All", "Model": "SOS Multitool Kit", "Description": "Be prepared for emergencies with this versatile multitool kit. Includes knife, fire starter, compass, and more.", "Price": 49.99, "NameEmbedding": "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" }, { "ProductId": 87, "CategoryId": 23, "Brand": "Cyclo Tech", "Model": "Xtreme Trail Bike Helmet", "Description": "Protect your head with this high-tech helmet designed for mountain biking. Lightweight, aerodynamic, and adjustable.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 88, "CategoryId": 59, "Brand": "WaterWay", "Model": "RapidFlow Kayak Paddle", "Description": "Paddle through rapids with ease using this lightweight and durable kayak paddle. Ergonomic grip for long paddling sessions.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 89, "CategoryId": 14, "Brand": "Backcountry Cook", "Model": "Titanium Backpacking Cookware Set", "Description": "Cook gourmet meals in the backcountry with this ultra-light and compact cookware set. Non-stick and easy to clean.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 9, "CategoryId": 44, "Brand": "SummitChomp", "Model": "AltitudeShield Pro", "Description": "The AltitudeShield Pro by SummitChomp is a high-altitude cake protection system, designed to keep your baked goods safe and fresh in extreme conditions. Perfect for mountain bakers!", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 90, "CategoryId": 29, "Brand": "AquaFusion", "Model": "PurifyPro Water Filter Pump", "Description": "Stay hydrated during outdoor adventures with this high-efficiency water filter pump. Removes 99.9999% of waterborne bacteria.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 91, "CategoryId": 30, "Brand": "Stormguard", "Model": "WeatherShield Pro Jacket", "Description": "Stay dry and warm in any weather with the WeatherShield Pro Jacket. Waterproof, windproof, and breathable, with advanced insulation for superior performance.", "Price": 149.99, "NameEmbedding": "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" }, { "ProductId": 92, "CategoryId": 29, "Brand": "PureFlow", "Model": "AquaPure Portable Water Filter", "Description": "Ensure access to clean drinking water on your outdoor adventures with the AquaPure Portable Water Filter. Removes 99.9% of bacteria and protozoa, with a compact and lightweight design for easy transport.", "Price": 79.99, "NameEmbedding": "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" }, { "ProductId": 93, "CategoryId": 28, "Brand": "Solarchef", "Model": "SunChef Solar Powered Stove", "Description": "Cook your meals off-grid with the SunChef Solar Powered Stove. Utilizes renewable solar energy for eco-friendly cooking, with a lightweight and portable design for convenient use anywhere.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 94, "CategoryId": 33, "Brand": "Wild Tech", "Model": "TrailBlazer Multi-Tool", "Description": "Be prepared for any camping situation with the TrailBlazer Multi-Tool. Features a variety of essential gadgets, including a knife, saw, bottle opener, and more, all in a compact and durable design.", "Price": 39.99, "NameEmbedding": "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" }, { "ProductId": 95, "CategoryId": 9, "Brand": "Slumberpeak", "Model": "Summit 4-Season Sleeping Bag", "Description": "Experience ultimate comfort during your outdoor sleeping with the Summit 4-Season Sleeping Bag. Designed for all-weather use, with high-quality insulation and a spacious yet lightweight construction for a restful night\u0027s sleep.", "Price": 179.99, "NameEmbedding": "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" }, { "ProductId": 96, "CategoryId": 54, "Brand": "Luminartech", "Model": "Solaris 5000 Outdoor Lantern", "Description": "Illuminate your outdoor adventures with the Solaris 5000. With advanced LED technology, solar-powered, and lightweight design, it\u0027s the perfect lighting solution for camping, hiking, and more.", "Price": 59.99, "NameEmbedding": "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" }, { "ProductId": 97, "CategoryId": 34, "Brand": "NomadGear", "Model": "Wanderer Multi-Tool Keychain", "Description": "Be prepared for anything with the Wanderer Multi-Tool Keychain. This compact, high-tech tool features a variety of functions, including a knife, screwdriver, and bottle opener, making it a must-have for travelers and adventurers.", "Price": 24.99, "NameEmbedding": "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" }, { "ProductId": 98, "CategoryId": 25, "Brand": "Exploremate", "Model": "TrailBlazer GPS Watch", "Description": "Navigate the great outdoors with ease using the TrailBlazer GPS Watch. With built-in GPS, altimeter, and rugged design, it\u0027s the ultimate companion for trail running, hiking, and exploring off the beaten path.", "Price": 199.99, "NameEmbedding": "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" }, { "ProductId": 99, "CategoryId": 31, "Brand": "Hike Wise", "Model": "Summit 3000 Trekking Backpack", "Description": "Conquer any trail with the Summit 3000 Trekking Backpack. With ergonomic design, adjustable straps, and durable construction, it offers ample storage and support for all your outdoor adventures.", "Price": 129.99, "NameEmbedding": "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" } ] ================================================ FILE: seeddata/dev/tickets.json ================================================ [ { "TicketId": 1, "ProductId": 104, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 1, "ShortSummary": "Filter cartridge replacement and maintenance inquiry", "LongSummary": "Customer inquiring about replacement frequency and signs for filter cartridge. Requesting maintenance tips for outdoor use. Next agent should provide detailed maintenance steps for outdoor use.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I\u0027m considering purchasing the Aquaduct Puriflo Water Filter Bottle for my upcoming hiking trip. I\u0027m wondering if the filter cartridge needs to be replaced regularly, and if so, how often? Also, are there any specific maintenance tips for using the bottle on extended outdoor trips? Thank you for your assistance." }, { "MessageId": 2, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Aquaduct Puriflo Water Filter Bottle is equipped with a high-performance filter cartridge that should be disposed of carefully in accordance with local regulations. To remove the filter cartridge, unscrew the filter housing from the bottle body and carefully remove the cartridge. Additionally, the bottle features a high-performance filter cartridge that utilizes a microfiltration membrane to effectively remove contaminants from water. For maintenance tips, it\u0027s recommended to store the Puriflo Water Filter Bottle in a clean and dry environment when not in use. Avoid exposing the product to extreme temperatures or direct sunlight, as this may degrade its performance and structural integrity." }, { "MessageId": 3, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. Just to clarify, how often should the filter cartridge be replaced? Also, are there any specific signs to look for that indicate the cartridge needs to be replaced? Thank you for your help." }, { "MessageId": 4, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The filter cartridge needs to be replaced after filtering 500 liters of water. You can monitor the filter\u0027s condition by inspecting it for discoloration or clogging. Additionally, weekly maintenance includes cleaning the filter cartridge with warm water and mild detergent. For detailed maintenance and calibration procedures, refer to the user manual." } ] }, { "TicketId": 2, "ProductId": 200, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 56, "ShortSummary": "MOLLE Compatibility Guidance Needed", "LongSummary": "Customer purchased Raptor Tactical Backpack from Strategicgear and needs guidance on properly utilizing the MOLLE system. Specifically asking for help with securely attaching pouches and accessories. Pending response on how to resolve MOLLE compatibility issues.", "CustomerSatisfaction": 10, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 312, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Raptor Tactical Backpack from Strategicgear and I\u0027m experiencing some difficulties with the MOLLE compatibility. I was under the impression that the backpack would be able to securely attach additional pouches and accessories, but I\u0027m having trouble with the webbing. Can you provide me with some guidance on how to properly utilize the MOLLE system? Your assistance would be greatly appreciated. Thank you." } ] }, { "TicketId": 3, "ProductId": 168, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 191, "ShortSummary": "WildDJ Pro Mixer battery charging issue", "LongSummary": "Customer Evan Walters needs help with WildDJ Pro Mixer battery charging. Specific info on how to charge the battery is needed. Pending question: how to charge the battery?", "CustomerSatisfaction": 10, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 599, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Need help with WildDJ Pro Mixer battery charging. How to do?" } ] }, { "TicketId": 4, "ProductId": 140, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 271, "ShortSummary": "Inquiry about wholesale and battery life", "LongSummary": "Customer Samantha is interested in wholesale options and battery life details for the RuggedSound Waterproof Bluetooth Speaker. Pending question on battery life. Next support agent should provide battery life details.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 920, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, Trektunes team! I just stumbled upon your RuggedSound Waterproof Bluetooth Speaker and I am absolutely blown away by the idea of taking my music on all my outdoor adventures! The fact that it\u0027s waterproof and dustproof is a game-changer for me. I run a retail store and I can already see our customers loving this product. Can you share more details about the speaker\u0027s battery life and how it holds up in different outdoor conditions? Also, do you offer any wholesale options for retailers like us? I\u0027d love to chat more about stocking your awesome product. Looking forward to hearing from you soon! Cheers, Samantha." }, { "MessageId": 921, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi Samantha, thank you for your interest in the RuggedSound Waterproof Bluetooth Speaker! According to the product manual, the speaker is designed to withstand the harshest outdoor conditions and is rated IPX7 waterproof, allowing it to be fully submerged in water up to 1 meter deep for 30 minutes without being damaged. The battery life details are not provided in the manual. For wholesale options, please contact our sales team at sales@trektunes.example.com. Let us know if there\u0027s anything else we can assist you with!" }, { "MessageId": 922, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Thanks for all the info. I\u0027ll be sure to reach out to your sales team about wholesale options. Do you happen to have any information on the battery life? I\u0027m so excited to bring this speaker on all my outdoor adventures!" } ] }, { "TicketId": 5, "ProductId": 147, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 350, "ShortSummary": "GPS troubleshooting for SkyMaster X2000", "LongSummary": "Customer needs additional troubleshooting steps for non-functioning GPS on SkyMaster X2000. Advised to contact manufacturer or initiate return process.", "CustomerSatisfaction": 2, "TicketStatus": "Closed", "TicketType": "Returns", "Messages": [ { "MessageId": 1242, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "GPS not working, drone won\u0027t hold position. Need help." }, { "MessageId": 1243, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry, I couldn\u0027t find information about manufacturer contact details in the manual. If you need to contact the manufacturer, I recommend checking their official website or contacting the store where you purchased the drone for assistance." }, { "MessageId": 1244, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still not working. Need more help." }, { "MessageId": 1245, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to address GPS navigation errors, I recommend verifying that the GPS module is properly connected and functioning on the drone. It\u0027s also advisable to update the drone\u0027s firmware to ensure compatibility with the latest GPS navigation systems. If GPS errors persist, recalibrate the GPS system and ensure a clear line of sight to the satellites for accurate positioning." }, { "MessageId": 1246, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "GPS still not working after following your suggestions. Please advise further." }, { "MessageId": 1247, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the manual, the next steps to address GPS navigation errors are to recalibrate the GPS system and ensure a clear line of sight to the satellites for accurate positioning. If the issue persists, please initiate a return or repair process at https://northernmountains.example.com/support/returns" }, { "MessageId": 1248, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried recalibrating GPS and still not working. Will initiate return process." }, { "MessageId": 1249, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry that the troubleshooting steps didn\u0027t resolve the issue. You may contact AeroVision\u0027s customer support team at 1-800-AERO-123 or email them at support@aerovision.com for further assistance. If you prefer to initiate a return, you can do so at https://northernmountains.example.com/support/returns. Thank you for choosing SkyMaster X2000." } ] }, { "TicketId": 6, "ProductId": 88, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 357, "ShortSummary": "Safety concern with RapidFlow Kayak Paddle", "LongSummary": "Customer seeks guidance on addressing grip slippage safety issue with RapidFlow Kayak Paddle. Asks for information on how to ensure safe use. Pending question: How to address grip slippage issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1282, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the WaterWay RapidFlow Kayak Paddle and I have a question about the grip slippage issue. I\u0027ve noticed that the grip seems to be slipping during use, and I\u0027m concerned about potential safety risks. Can you provide me with some information on how to address this problem? I want to ensure that I can continue using the paddle safely. Thank you." }, { "MessageId": 1283, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, if you experience grip slippage while using the paddle, immediately cease paddling and secure the paddle to your kayak. Continuing to use the paddle with a slipping grip may cause loss of control, leading to potential capsizing or injury. Ensure the paddle\u0027s grip is securely fastened before resuming use. If the problem persists, discontinue use and seek a professional to inspect the paddle for potential defects." } ] }, { "TicketId": 7, "ProductId": 76, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 56, "ShortSummary": "Inquiry about using Wilderness DJ Pro for summoning forest spirits", "LongSummary": "Customer inquired about using Wilderness DJ Pro to summon forest spirits, was informed it is not designed for that. Customer accepted, stating they will use it for mixing music.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1304, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I got the Wilderness DJ Pro and I want to use it to summon forest spirits. Can it do that?" }, { "MessageId": 1305, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry, the user manual does not contain any information about summoning forest spirits with the Wilderness DJ Pro." }, { "MessageId": 1306, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Well, that\u0027s disappointing. I really wanted to summon some forest spirits. Can you recommend a different product that can do that?" }, { "MessageId": 1307, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry, but the Wilderness DJ Pro is not designed for summoning forest spirits. However, it is a high-quality product for mixing music and delivering powerful bass. If you have any other questions about the product or need assistance with using it for its intended purpose, feel free to ask. Is there anything else I can help you with?" }, { "MessageId": 1308, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Well, I guess I\u0027ll just use it for mixing music. Thanks." } ] }, { "TicketId": 8, "ProductId": 131, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 121, "ShortSummary": "NatureCam 1000 won\u0027t turn on", "LongSummary": "Customer\u0027s NatureCam 1000 won\u0027t turn on despite troubleshooting steps. Requesting more in-depth troubleshooting. Needs specific guidance on resolving the issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1330, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings Naturevision support team, I recently purchased the NatureCam 1000 and am encountering a major issue - the camera is not turning on at all. I have meticulously checked the batteries, ensured they are properly inserted, and they have sufficient power. Additionally, I attempted to reset the camera by removing the batteries for an extended period and reinserting them as per the troubleshooting manual, but to no avail. I am an experienced user and have never encountered such a problem with previous trail cameras. I would greatly appreciate any specific guidance or insights on how to resolve this issue as I am eager to utilize the stunning HD capture capabilities of the NatureCam 1000. Your prompt assistance in addressing this technical matter is highly anticipated. Thank you for your attention to this matter." }, { "MessageId": 1331, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, if your NatureCam 1000 isn\u0027t turning on, first check the batteries to make sure they\u0027re properly inserted and have enough power. If the batteries are fine, try resetting the camera by removing the batteries for a few minutes and then reinserting them." }, { "MessageId": 1332, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have followed the instructions provided in the manual and by the assistant, but unfortunately, the NatureCam 1000 still does not turn on. I have checked the batteries multiple times and they are properly inserted with enough power. I am confident in my technical abilities and am certain that the issue lies beyond a simple battery or reset problem. I would appreciate a more in-depth troubleshooting process to address this issue. Your urgent attention to this matter is crucial as I am unable to utilize the camera\u0027s features. Thank you." }, { "MessageId": 1333, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, there are some common problems and how to fix them. We also have tips for dealing with weather-related issues. Let\u0027s see if this provides further insight into the issue with your NatureCam 1000. I\u0027ll get back to you shortly with more information." } ] }, { "TicketId": 9, "ProductId": 149, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 379, "ShortSummary": "Inquiry about Buckle Material and Durability", "LongSummary": "Customer inquiring about material composition, durability, and potential failure modes of the buckles on AquaFlow Pro. Assistant provided information on reservoir material and straps but suggested contacting manufacturer for buckle details.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1362, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings, I am considering utilizing the AquaFlow Pro hydration system from Thirsttrek for a unique application that requires a high level of material durability and performance. I have thoroughly researched the technical specifications of the BPA-free reservoir material properties, including the ASTM D5116-16, ISO 10993-1:2018, and FDA Title 21CFR177.1520 standards. I am confident that the proprietary blend of polyethylene, known as Hydratech 3000, will meet the stringent requirements of my intended use. Additionally, the flow dynamics of the bite valve are of particular interest to me as I require optimal liquid flow for my purposes. I understand that Thirsttrek engineers have conducted thorough analysis, including Computational Fluid Dynamics (CFD) modeling and measurement of flow rates and forces using a hydraulic test bench. I believe that this level of engineering precision aligns with my needs. However, I would appreciate further information or assistance in ensuring that the adjustable straps are suitable for my intended use. Your prompt and detailed response would be greatly appreciated." }, { "MessageId": 1363, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the adjustable straps on the Thirsttrek AquaFlow Pro hydration system have been engineered for comfort and stability. The design analysis includes Finite Element Analysis (FEA) to assess stress distribution and performance under load. This ensures a customized and comfortable fit for users of all sizes." }, { "MessageId": 1364, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information regarding the adjustable straps. I would like to inquire further about the material composition and durability of the buckles used on the Thirsttrek AquaFlow Pro hydration system. Can you provide detailed information on the material type, strength, and potential failure modes of the buckles? Your prompt and comprehensive response would be greatly appreciated." }, { "MessageId": 1365, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Thirsttrek AquaFlow Pro hydration system features a state-of-the-art BPA-free reservoir constructed from a proprietary blend of polyethylene, known as Hydratech 3000. This material has been extensively tested and meets industry standards. Additionally, the adjustable straps have been engineered for comfort and stability, including Finite Element Analysis (FEA) for stress distribution and performance under load. Unfortunately, I was unable to locate specific information about the material composition, durability, and potential failure modes of the buckles in the manual. For detailed information on the buckles, I recommend reaching out to the manufacturer\u0027s support contact, as detailed in the user manual. If you need further assistance, feel free to ask." } ] }, { "TicketId": 10, "ProductId": 60, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 2, "ShortSummary": "Leaking Water Filter Bottle Issue", "LongSummary": "Customer Ainsley Chan is frustrated with leaking PureFlow Water Filter Bottle from H2OZone, seeking assistance before hiking trip or refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 5, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m so frustrated with the PureFlow Water Filter Bottle from H2OZone! I bought it for my hiking trip and it\u0027s leaking everywhere. I made sure the cap was on tight and the seal was in place, but it still leaks. This is not what I expected from a leak-proof bottle. I need help with this before my trip, or else I want a refund." } ] }, { "TicketId": 11, "ProductId": 89, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 13, "ShortSummary": "Info on assembly process and non-stick surface requested", "LongSummary": "Customer from Mountain Gear Retailers asked for assembly process and non-stick surface info. Assistant provided details. Ticket is awaiting next action.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 35, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, my name is Evelyn and I\u0027m from Mountain Gear Retailers. We\u0027ve had a few customers asking about the Titanium Backpacking Cookware Set and I realize I might have been misinforming them. Could you please provide some additional information on the assembly process and the non-stick surface? I want to make sure I\u0027m giving our customers the most accurate details. Thank you for your help!" }, { "MessageId": 36, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi Evelyn, thanks for reaching out. The Titanium Backpacking Cookware Set is designed to be ultra-light and compact, making it the perfect companion for any adventure. Whether you\u0027re backpacking through the mountains or camping by the lake, our non-stick cookware set will help you cook gourmet meals with ease. As for the assembly process, before placing the pot on the heat source, ensure the area is clean and level. Place the pot on the stove or heat source. Regarding the non-stick surface, our cookware set is designed to provide a non-stick cooking experience, making it easier to cook and clean. If you have any other questions, feel free to ask. Thank you!" }, { "MessageId": 37, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information! I\u0027ll make sure to pass along these details to our customers. I appreciate your help!" } ] }, { "TicketId": 12, "ProductId": 173, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 23, "ShortSummary": "Inquiry about battery life for heating feature", "LongSummary": "Customer loves TechShell Smart Jacket, asks about battery life for heating feature. Pending question about battery life. Next agent should provide specific battery life info.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 63, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I just got my hands on the TechShell Smart Jacket from Eco Vest and I am absolutely loving it! The built-in heating technology is a game-changer for me during the chilly winter days. I do have a quick question though - how long does the battery typically last when using the heating feature? I want to make sure I\u0027m prepared for those extra cold days. Thanks so much for your help!" } ] }, { "TicketId": 13, "ProductId": 172, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 33, "ShortSummary": "Trailblazer Carbon Trekking Poles Inspection Arranged", "LongSummary": "Customer Samantha Miller frustrated with Trailblazer Carbon Trekking Poles, arranged inspection for repair/replacement. Pending update on resolution.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 95, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am beyond frustrated with these Trailblazer Carbon Trekking Poles from Summit Pole. They are supposed to provide stability on any terrain, but they just don\u0027t work at all! I can\u0027t believe I spent my hard-earned money on poles that are completely useless. I need help with this problem right away. If I don\u0027t get a satisfactory resolution, I\u0027ll be asking for a refund or replacement. This is unacceptable." }, { "MessageId": 96, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We are deeply sorry to hear about the issues you\u0027re experiencing with the Trailblazer Carbon Trekking Poles. According to the manual, if your poles fail due to a manufacturing defect, we will repair or replace them at no cost to you. We urge you to contact our customer support team immediately to arrange for inspection, repair, or replacement as necessary. You can reach us at [customer support contact detail]." }, { "MessageId": 97, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I contacted the customer support team and they were able to arrange for inspection of my Trailblazer Carbon Trekking Poles. I\u0027m waiting to hear back about whether they can be repaired or replaced. This had better be sorted out quickly!" } ] }, { "TicketId": 14, "ProductId": 157, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 43, "ShortSummary": "Inquiry about Waterproof Capability for 360X Action Camera", "LongSummary": "Customer Aria Thompson inquires about the waterproof capability of the 360X Action Camera for extreme water conditions. Request for quick response and resolution to consider purchase. Non-negotiable refund or replacement threat.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 127, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I need to know if the 360X Action Camera is truly waterproof as advertised. I expect it to withstand extreme water conditions without any issues. I demand a quick and satisfactory response as I am considering purchasing this product for my upcoming water sports adventure. If it does not meet my expectations, I will be seeking a refund or replacement. This is non-negotiable." } ] }, { "TicketId": 15, "ProductId": 58, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 54, "ShortSummary": "Inquiry about SafeTrail GPS Locator SOS button functionality", "LongSummary": "Customer is interested in the SafeTrail GPS Locator and wants to know if the SOS button really works, if it can be tested before purchase, and if emergency contacts will receive location. Assistant provided details on how the SOS button works and how it alerts emergency contacts.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 155, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I\u0027m interested in the SafeTrail GPS Locator from GuardianGear. Does the SOS button really work? Like, can I test it out before I buy it? And if I use it for real, will my emergency contacts get my location? Thx!" }, { "MessageId": 156, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SOS button on the SafeTrail GPS Locator can be activated by pressing and holding it for 3 seconds. When activated, it sends an alert to your designated emergency contacts and provides them with your current GPS location. According to the manual, there are procedures for cancelling the SOS signal as well." } ] }, { "TicketId": 16, "ProductId": 100, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Adjustable Compression Straps Inquiry", "LongSummary": "Customer purchased Ridge Runner Hydration Pack and is looking for guidance on locating and using adjustable compression straps for securing extra gear. Pending question: assistance on locating and using these straps.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 181, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Ridge Runner Hydration Pack and I\u0027m really impressed with its features and quality. However, I noticed that the manual mentioned adjustable compression straps for securing extra gear, but I can\u0027t seem to find them on my pack. Could you please provide some guidance on locating and using these straps? Thank you for your assistance." } ] }, { "TicketId": 17, "ProductId": 200, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 72, "ShortSummary": "Customer seeks real-world testing results for Raptor Tactical Backpack", "LongSummary": "Customer is frustrated with Raptor Tactical Backpack durability and performance claims. Requesting real-world testing results. Pending request for user experiences in tough conditions.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 206, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with the Raptor Tactical Backpack! I need to know if it can actually handle heavy loads and repel water like it claims. I don\u0027t want to spend my hard-earned money on a backpack that\u0027s going to fall apart on me. Can someone please give me some real information about this product\u0027s durability and performance? I need to know if it\u0027s actually suitable for tough missions before I make a purchase decision." }, { "MessageId": 207, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Raptor Tactical Backpack is designed to accommodate a hydration bladder, providing users with convenient access to water during extended missions. The backpack features a dedicated hydration bladder compartment with a reinforced port for the hydration tube, allowing for seamless integration of hydration systems. In addition, the backpack is engineered to meet stringent industry standards for durability and performance, making it the go-to choice for professionals who require reliable and versatile gear in the field." }, { "MessageId": 208, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information, but I need some real-world testing results. I need to hear from someone who has actually used this backpack in tough conditions. I can\u0027t just take your word for it." } ] }, { "TicketId": 18, "ProductId": 106, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Unsatisfactory warmth in extreme conditions", "LongSummary": "Customer purchased ArcticZone 500 sleeping bag, unhappy with warmth in extreme conditions, requested warranty solution or replacement from Sleepranger customer support. Pending response from support agent regarding warranty coverage and potential replacement options.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 249, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the ArcticZone 500 sleeping bag and I\u0027m extremely disappointed with the level of sleep comfort. I followed all the troubleshooting steps, but it\u0027s still not providing the warmth I expected in extreme conditions. The manual claims it\u0027s designed for extreme conditions, but it\u0027s not living up to that. This is unacceptable and I expect a solution to this problem." }, { "MessageId": 250, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the ArcticZone 500 sleeping bag from Sleepranger is specifically engineered for use in extremely cold environments, making it the ideal choice for arctic expeditions, winter camping, and high-altitude mountaineering. It features advanced insulation, a water-resistant shell, and a temperature rating for extreme conditions. Additionally, the sleeping bag comes with a limited warranty that covers manufacturing defects for a period of 1 year from the date of purchase. This warranty applies only to the original purchaser and is non-transferable. I recommend contacting Sleepranger customer support for assistance with the warranty and product performance." }, { "MessageId": 251, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already followed all the troubleshooting steps and the sleeping bag is still not providing the warmth I expected in extreme conditions. The warranty should cover this issue, so I expect Sleepranger to provide a solution or a replacement." } ] }, { "TicketId": 19, "ProductId": 109, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 91, "ShortSummary": "XtremeGear 5000 Helmet Camera Slow Motion Inquiry", "LongSummary": "Customer inquires about slow motion recording with the XtremeGear 5000 helmet camera. Assistant explains app adjustments for better recording experience. Pending response on slow motion recording capabilities.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 282, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, can the helmet camera in the XtremeGear 5000 kit record in slow motion? Thx" }, { "MessageId": 283, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The XtremeGear 5000 Mountain Biking Kit includes a high-definition helmet camera for capturing your biking adventures. Here\u0027s how to adjust it for the best recording experience: Use the app to fine-tune the camera angle, ensuring it captures the desired field of view while riding." } ] }, { "TicketId": 20, "ProductId": 137, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 101, "ShortSummary": "Outdoor DJing with WildBeat Pro Controller", "LongSummary": "Customer seeking help with utilizing advanced mixing capabilities for outdoor DJing. Assistant provided details on the product\u0027s rugged and waterproof construction, ideal for wilderness environments. Pending question about specific setup and advanced mixing capabilities.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 313, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! So, I recently got my hands on the WildBeat Pro DJ Controller and I\u0027m loving it! But I\u0027m having a bit of trouble making it work in a specific way. I\u0027m trying to use the advanced mixing capabilities for a big outdoor party, but I\u0027m running into some issues. Could you help me figure out how to make it work like a charm for my upcoming wilderness shindig? Thanks a bunch!" }, { "MessageId": 314, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The WildBeat Pro DJ Controller by PeakMix is specifically designed for outdoor DJing in wilderness environments, with its rugged and waterproof construction. It\u0027s ideal for your upcoming wilderness shindig and is resistant to UV radiation, ensuring durability and longevity in direct sunlight exposure. For more details on setup and advanced mixing capabilities, please refer to the product manual." } ] }, { "TicketId": 21, "ProductId": 110, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 112, "ShortSummary": "Warranty claim for damaged energy bars", "LongSummary": "Accidental damage to PowerFuel Energy Bars, seeking warranty coverage. Specific assistance needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 343, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the PowerFuel Energy Bars from EcoFuels and I was really looking forward to using them on my hiking trip. However, when I unwrapped the packaging, I accidentally broke one of the bars. I didn\u0027t expect them to be so delicate! I really hope there\u0027s a way to fix this because I was relying on these bars for my energy during the trip. Can you please help me with this? I would really appreciate it. Thank you so much." }, { "MessageId": 344, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We\u0027re sorry to hear about the issue with the PowerFuel Energy Bars. According to the product manual, each purchase of PowerFuel Energy Bars is backed by EcoFuels\u0027 limited product warranty. If you believe your product is defective or not performing as expected, please reach out to our Customer Support team for further assistance. You can find the contact details in the user manual. Unfortunately, accidental damage is not covered under the warranty. We encourage you to reach out to our support team for further assistance." } ] }, { "TicketId": 22, "ProductId": 90, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Non-functional PurifyPro Water Filter Pump", "LongSummary": "Customer needs help with non-functional PurifyPro Water Filter Pump, despite following priming instructions. Asks for next steps. Advised to consult user manual for component inspection checklist.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 366, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, my PurifyPro Water Filter Pump isn\u0027t working. Can you help?" }, { "MessageId": 367, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The PurifyPro Water Filter Pump is designed for outdoor recreational use and is engineered to remove 99.9999% of waterborne bacteria, ensuring a safe and reliable source of drinking water during camping, hiking, or other outdoor activities. You need to prime the pump by pumping the handle several times until water flows through the system. Once primed, it is ready for use in purifying water for consumption." }, { "MessageId": 368, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried priming the pump by pumping the handle several times, but it still isn\u0027t working. What should I do next?" }, { "MessageId": 369, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It seems that the PurifyPro Water Filter Pump requires a thorough inspection of all components before use. According to the manual, the user must ensure that all components are intact, undamaged, and free from any defects. I recommend referring to the AquaFusion PurifyPro Water Filter Pump User Manual (Code: AF-PPWFP-UM-001) for a complete list of components and an inspection checklist." } ] }, { "TicketId": 23, "ProductId": 54, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 131, "ShortSummary": "Difficulty accessing safety gear in backpack", "LongSummary": "Customer frustrated with accessing safety gear in AvalanchePro Ski Backpack. Assistant provides instructions and return/repair options. Customer demands refund due to design flaw.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 394, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m really frustrated with the AvalanchePro Ski Backpack from PowderPeak. The manual says it\u0027s designed to keep my avalanche safety gear easily accessible, but I can\u0027t seem to get the probe and shovel out when I need them. This is a major flaw in the design of the product and I expect a solution or a refund. I shouldn\u0027t have to struggle with my safety gear in an emergency situation. This backpack is supposed to be ergonomic and efficient, but I\u0027m not seeing it. Please provide me with a logical explanation for this design flaw." }, { "MessageId": 395, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The AvalanchePro Ski Backpack is designed to efficiently deploy the shovel and probe in emergency situations. To deploy the shovel, remove it from the designated compartment and assemble the handle and blade. Additionally, if you encounter any missing or broken parts, please contact PowderPeak customer support for assistance with resolving the issue." }, { "MessageId": 396, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "The instructions for deploying the shovel and probe are not helpful at all. I followed them exactly as stated and still had difficulty accessing my safety gear. I need a better explanation or a refund for this poorly designed product." }, { "MessageId": 397, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to deploy the shovel, I should remove it from the designated compartment and assemble the handle and blade. For the probe, I should remove it from the designated compartment on the AvalanchePro Ski Backpack. If you continue to experience difficulty, you may contact PowderPeak customer support for further assistance. If you\u0027d like to initiate a return or repair, please visit https://northernmountains.example.com/support/returns" }, { "MessageId": 398, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve already tried following the instructions exactly as stated and I still can\u0027t easily access my safety gear. This is unacceptable and I demand a refund for this poorly designed product." }, { "MessageId": 399, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the manual, to deploy the shovel, you need to remove it from the designated compartment and assemble the handle and blade. For the probe, you simply remove it from the designated compartment on the AvalanchePro Ski Backpack. If you continue to experience difficulty, you may contact PowderPeak customer support for further assistance. If you\u0027d like to initiate a return or repair, please visit https://northernmountains.example.com/support/returns" } ] }, { "TicketId": 24, "ProductId": 82, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 74, "ShortSummary": "Cleaning instructions for SurvivalPro Emergency Kit", "LongSummary": "Customer inquired about cleaning instructions for SurvivalPro Emergency Kit. Assistant provided detailed cleaning steps. Customer confirmed kit is now ready. No further action needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 425, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, just wondering how often I need to clean my SurvivalPro Emergency Kit. Thanks!" }, { "MessageId": 426, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to keep your SurvivalPro Emergency Kit in top condition, it\u0027s important to regularly clean and sanitize the contents. Use a damp cloth to wipe down the exterior of the carrying case, and inspect the interior for any dirt or debris. Carefully remove any soiled items and clean them according to their individual instructions." }, { "MessageId": 427, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thx for the info! Got it cleaned up and ready to go." } ] }, { "TicketId": 25, "ProductId": 104, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 150, "ShortSummary": "Ongoing Issue with Water Filter Bottle", "LongSummary": "Customer reported ongoing issue with Puriflo Water Filter Bottle. Troubleshooting steps provided. Pending question: Has customer tried contacting manufacturer\u0027s support?", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 458, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Bottle not working. Need help." }, { "MessageId": 459, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the product manual, the Aquaduct Puriflo Water Filter Bottle is designed for outdoor enthusiasts and travelers who need a reliable water filtration solution. It is important to inspect the components of the bottle on a monthly basis to ensure proper functioning. If the issue persists, please feel free to contact the manufacturer\u0027s support for troubleshooting assistance." }, { "MessageId": 460, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Issue still not resolved. Bottle is still not working." }, { "MessageId": 461, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand that the issue with the bottle is still unresolved. Here are a few troubleshooting steps based on the product manual: 1. Inspect the components of the bottle on a monthly basis to ensure proper functioning. 2. Store the Puriflo Water Filter Bottle in a clean and dry environment when not in use. Avoid exposing the product to extreme temperatures or direct sunlight, as this may degrade its performance and structural integrity. If the issue persists, you may consider contacting the manufacturer\u0027s support for further assistance." } ] }, { "TicketId": 26, "ProductId": 128, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 160, "ShortSummary": "Need detailed technical info on AquaBottle Pro filtration system", "LongSummary": "Retailer Evelyn Yang seeks detailed technical info on AquaBottle Pro filtration system and replacement intervals, requests escalation or access to comprehensive documentation. Next response should provide detailed specifications or escalate to technical expert.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 479, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings, AquaNest team. As a retailer stocking the AquaBottle Pro, I am seeking detailed technical information regarding the filtration system used in this product. Our customers have expressed interest in the filtration efficiency and the replacement process for the filters. We are committed to providing accurate and in-depth knowledge to our customers, and having a comprehensive understanding of the product components is crucial for us. Can you provide detailed specifications on the filtration technology used in the AquaBottle Pro, as well as the recommended replacement intervals? Thank you for your prompt assistance in this matter." }, { "MessageId": 480, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the AquaBottle Pro user manual, the filtration system and replacement process are not covered. However, the manual does emphasize the importance of inspecting and cleaning the bottle before use. If you have any further questions, feel free to reach out." }, { "MessageId": 481, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. However, the information provided in the user manual is insufficient for our needs. We require detailed specifications on the filtration technology and recommended replacement intervals for the filters used in the AquaBottle Pro. Can you please escalate this request to a technical expert or provide access to more comprehensive product documentation? Thank you." }, { "MessageId": 482, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience. It seems that the specific technical information on the filtration system and filter replacement intervals for the AquaBottle Pro is not available in the user manual. I will escalate this request to our technical support team for further assistance. Thank you for your patience." } ] }, { "TicketId": 27, "ProductId": 165, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Setting up Rugged Shelter 600", "LongSummary": "Customer needs guidance setting up Rugged Shelter 600, including using guy lines and rainfly, addressing wear and tear, and warranty coverage. Pending assistance needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 505, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear OutdoorHaven team, \n\nI recently purchased the Rugged Shelter 600 for my camping trip and I\u0027m having trouble setting it up. I followed the instructions carefully, but I can\u0027t seem to get it to work in the way described. Could you please provide me with some guidance or assistance on how to properly set up the shelter? I want to make sure I\u0027m utilizing all of its features to the fullest. Thank you for your help." }, { "MessageId": 506, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The OutdoorHaven Rugged Shelter 600 is designed for use as a camping shelter in outdoor environments. It provides ample space for sleeping, relaxing, and storing gear, and is meant to withstand various weather conditions. When setting up the shelter, carefully unpack the contents of the box and ensure that all parts and accessories are present and in good condition. Use the included guy lines to further secure the shelter in place during windy conditions, and utilize the rainfly for extra weather protection. If you encounter any signs of wear and tear, address them promptly. Additionally, the shelter comes with a limited warranty from OutdoorHaven, so please refer to the warranty information for coverage and claims. If you have any further questions or need assistance, feel free to contact us. Thank you." } ] }, { "TicketId": 28, "ProductId": 17, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 177, "ShortSummary": "RidgeRunner Jacket Waterproof Issue", "LongSummary": "Customer reported issues with weatherproof jacket not keeping them dry in the rain. Was directed to contact customer support for warranty-related inquiries. Customer successfully troubleshooted the issue with customer support.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Complaint", "Messages": [ { "MessageId": 529, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the RidgeRunner Weatherproof Jacket and I\u0027m having some issues with it. It\u0027s not working as it should and I\u0027m not sure what to do. Can you please help me with this?" }, { "MessageId": 530, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us. We\u0027re sorry to hear that you\u0027re experiencing issues with the RidgeRunner Weatherproof Jacket. To better assist you, could you please provide more details about the specific issues you are encountering? This will help us understand the situation and provide you with the best support." }, { "MessageId": 531, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried wearing the jacket in the rain and it didn\u0027t keep me dry at all. It\u0027s supposed to be weatherproof but it\u0027s not doing its job." }, { "MessageId": 532, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "TechShield RidgeRunner Weatherproof Jacket is covered by a limited lifetime warranty, which guarantees that it will be free from defects in materials and workmanship under normal use. Please contact our customer support team for assistance regarding the issues you are experiencing with the jacket. You can reach out to our support team for troubleshooting and warranty-related inquiries." }, { "MessageId": 533, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I contacted the customer support team as suggested, and they were able to help me troubleshoot the issue with the jacket. It turns out there was a problem with the seams, but they were able to provide a solution. Thank you for your assistance." } ] }, { "TicketId": 29, "ProductId": 141, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 184, "ShortSummary": "Quality issue, return initiated, compensation expected", "LongSummary": "Customer is dissatisfied with the quality of the product and has initiated a return for a full refund. They expect compensation for their inconvenience. Next support agent should process the return and address the customer\u0027s request for compensation.", "CustomerSatisfaction": 1, "TicketStatus": "Closed", "TicketType": "Returns", "Messages": [ { "MessageId": 558, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely disappointed with the quality of the SOS Gear Emergency Survival Kit. The multi-tool broke after just one use, and the fire starter doesn\u0027t work at all. I demand a replacement or a full refund immediately. This is completely unacceptable and I expect better from a brand like SOS Gear." }, { "MessageId": 559, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the multi-tool and fire starter are designed to meet the highest industry standards for durability and functionality. The multi-tool has been rigorously tested and meets the requirements of standard industry specifications. The fire starter conforms to the requirements of industry standard specifications for portable fire starters and has been tested for compliance with fire safety standards for outdoor and camping equipment." }, { "MessageId": 560, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Your explanations about industry standards mean nothing to me. All I know is that the multi-tool broke and the fire starter doesn\u0027t work. I need a replacement or a full refund immediately. This is unacceptable and I expect a resolution right now." }, { "MessageId": 561, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the multi-tool and fire starter are designed to meet the highest industry standards for durability and functionality. The multi-tool has been rigorously tested and meets the requirements of standard industry specifications for multi-tools (ISO 6789-2:2017) and safety requirements for multi-function hand-held tools (EN 50156-1:2018). The fire starter conforms to the requirements of industry standard specifications for portable fire starters (ISO 11999-1:2015) and has been tested for compliance with fire safety standards for outdoor and camping equipment (EN 1860-1:2003). Unfortunately, the manual does not provide specific information regarding the warranty or return policy. However, I can assist you with initiating a return for a refund or replacement. Please visit [Northern Mountains Support](https://northernmountains.example.com/support/returns) to get started." }, { "MessageId": 562, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have visited the support page and initiated a return for a full refund. This whole experience has been a complete disappointment and I expect to be compensated for my time and inconvenience." } ] }, { "TicketId": 30, "ProductId": 15, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 169, "ShortSummary": "Furious customer demands replacement for broken power bank", "LongSummary": "Customer furious about broken AdventurePro 1000 power bank, demands replacement or refund. Feels misled by product\u0027s durability claims. Urgent response needed to address dissatisfaction.", "CustomerSatisfaction": null, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 600, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely furious! I just bought the AdventurePro 1000 power bank from AdventureElec and it\u0027s already broken! I can\u0027t believe this happened after just a few uses. I expect a product like this to be durable and reliable, but it\u0027s completely failed me. I demand a replacement or refund immediately. This is unacceptable! The manual claims it\u0027s rugged and built for outdoor use, but it couldn\u0027t even survive a simple hike. I am extremely disappointed and want this issue resolved as soon as possible." } ] }, { "TicketId": 31, "ProductId": 83, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 200, "ShortSummary": "Urgent 4K Camera Replacement Request", "LongSummary": "Customer demands immediate replacement for malfunctioning 4K camera. Expects quick resolution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 631, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe my SkyRanger HD Aerial Drone isn\u0027t working properly! I demand a replacement immediately. The 4K camera is malfunctioning and I need it fixed ASAP. I shouldn\u0027t have to deal with these issues after spending so much on this drone. I expect a quick resolution to this problem." } ] }, { "TicketId": 32, "ProductId": 54, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 208, "ShortSummary": "Compatibility of Hydration Reservoirs", "LongSummary": "Customer inquires about compatibility of hydration reservoirs with AvalanchePro Ski Backpack. Needs confirmation for backcountry adventure setup.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 666, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AvalanchePro Ski Backpack from PowderPeak and I\u0027m really impressed with its features for avalanche safety gear storage. I do have a specific technical question - can you confirm if the backpack is compatible with all brands of hydration reservoirs? I want to make sure I have the right setup for my upcoming backcountry adventure. Thank you for your help!" } ] }, { "TicketId": 33, "ProductId": 132, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 215, "ShortSummary": "Inquiry about casting techniques and bait", "LongSummary": "Customer inquiring about casting techniques and bait for AnglerPro 5000. Needs detailed info before purchase decision. Pending question about specific bait recommendations.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 694, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m considering purchasing the AnglerPro 5000 fishing rod, but I need more information about the casting techniques and the right bait to use. Can you provide me with details on how to perform the overhead and sidearm casts with this rod? Additionally, I\u0027m unsure about the best bait to use for specific fish species and water conditions. It\u0027s frustrating not having this information readily available before making a purchase decision." } ] }, { "TicketId": 34, "ProductId": 166, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 225, "ShortSummary": "TerrainX 500 ATV off-road capability inquiry", "LongSummary": "Customer is considering purchasing the TerrainX 500 ATV for off-road adventures. Asking if it can handle steep inclines and rocky terrains. Assistant responded with details about 4WD mode and user manual reference for off-road driving.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 727, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m considering purchasing the TerrainX 500 ATV for some off-road adventures. I\u0027m curious to know if this ATV can handle steep inclines and rocky terrains without any issues. I plan on using it for exploring rugged and challenging trails, so it\u0027s important for me to make sure it can handle that kind of terrain. Any information or guidance on this would be really helpful. Thanks!" }, { "MessageId": 728, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TerrainX 500 ATV is designed to handle various terrains with ease, including rocky trails. You can engage the 4WD mode to improve traction and maintain a steady speed to navigate rocky terrains. For more information on off-road driving, refer to section 4.2 of the user manual." } ] }, { "TicketId": 35, "ProductId": 50, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 234, "ShortSummary": "Unsatisfied: No built-in filter", "LongSummary": "Customer is unsatisfied with lack of built-in filter in product and demands a proper solution. No resolution yet, need to offer alternative filtration options or resolution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 756, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe this Thirsttrek HydroPack doesn\u0027t come with a built-in filter! How am I supposed to drink \u0027clean, drinkable water\u0027 from a stream or river without getting sick? This is a major oversight and I demand a solution to this problem. I shouldn\u0027t have to worry about getting sick from using this product as advertised. I need a fix for this ASAP." }, { "MessageId": 757, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Thirsttrek HydroPack Hydration System is a high-capacity hydration system designed to keep you hydrated during long outdoor activities. The system features a 3L water reservoir, allowing for hands-free drinking and easy refill, ensuring long-lasting hydration during your adventures. The user manual provides important information on how to use and maintain the system, as well as instructions on ensuring the drinking valve and hose are free from debris and bacteria. However, it does not mention the inclusion of a built-in filter for water purification. Would you be interested in exploring alternative filtration options for your outdoor activities?" }, { "MessageId": 758, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I shouldn\u0027t have to explore alternative filtration options! The product should have come with a built-in filter as advertised. This is a major inconvenience and I\u0027m not satisfied with the resolution. I demand a proper solution to this problem." }, { "MessageId": 759, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The user manual does not mention the inclusion of a built-in filter for water purification. However, it provides instructions on how to ensure the drinking valve and hose are free from debris and bacteria. It seems that the product does not come with a built-in filter, and the manual does not mention alternative filtration options." }, { "MessageId": 760, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I shouldn\u0027t have to follow additional instructions or explore alternative options. The product should have come with a built-in filter as advertised. I\u0027m not satisfied with the resolution and demand a proper solution to this problem." } ] }, { "TicketId": 36, "ProductId": 145, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 241, "ShortSummary": "Frustrated solar charger not working for camping trip", "LongSummary": "Customer is frustrated with solar charger not working despite following instructions. Needs help to fix the problem for upcoming camping trip.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 787, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this PowerBeam Solar Powered Portable Charger! I\u0027ve been trying to charge my device for hours, and it\u0027s still not working. I made sure the solar panel is in direct sunlight and checked the USB cable for any damage, but nothing is happening. This is ridiculous! I need this to work for my upcoming camping trip, and now I\u0027m worried it won\u0027t. I want to know what the problem is and how to fix it, or else I want a refund!" }, { "MessageId": 788, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the PowerBeam Solar Powered Portable Charger user manual, to charge the charger, you need to place the solar panels in direct sunlight and ensure they are facing the sun for optimal charging. Have you tried charging the device again following these steps?" } ] }, { "TicketId": 37, "ProductId": 196, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Seeking Simplified GPS Watch", "LongSummary": "Customer is seeking a more basic version of the TrailMaster GPS Watch and is frustrated with the current features. Needs clarification on whether ExpeditionTech plans to release a simpler model.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Idea", "Messages": [ { "MessageId": 823, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the TrailMaster GPS Watch requires all these specialized tools just to troubleshoot! I\u0027m considering purchasing it for my outdoor adventures, but now I\u0027m having serious doubts. It should be user-friendly and reliable, not a headache to maintain. Can someone please clarify if I really need all these fancy diagnostic tools to use this watch effectively? If not, I may just have to look for a different option." }, { "MessageId": 824, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TrailMaster GPS Watch is designed for experienced outdoor enthusiasts, providing essential navigation information and location tracking in remote, off-grid environments. It offers a comprehensive suite of navigation tools, real-time location sharing, and runs on a proprietary operating system optimized for outdoor navigation and tracking." }, { "MessageId": 825, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about all those extra features! I just want a simple, user-friendly GPS watch for my outdoor adventures. I don\u0027t want to deal with specialized tools and a proprietary operating system. Can\u0027t ExpeditionTech make a more basic version for people like me?" } ] }, { "TicketId": 38, "ProductId": 120, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 257, "ShortSummary": "ArcticPro Jacket Insulation Assistance", "LongSummary": "Customer seeks assistance for ArcticPro jacket insulation issue. Advised return process.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Returns", "Messages": [ { "MessageId": 855, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the ArcticPro Insulated Ski Jacket from Frost Flare and was really looking forward to using it on my upcoming ski trip. However, I\u0027ve noticed that the jacket doesn\u0027t seem to provide the warmth and insulation as described in the product description. I am quite disappointed and was wondering if you could provide some assistance or advice on how to resolve this issue. I really want to enjoy the slopes without feeling cold, so any help would be greatly appreciated. Thank you for your attention to this matter." }, { "MessageId": 856, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us. I\u0027m sorry to hear about the issue you\u0027re experiencing with the ArcticPro Insulated Ski Jacket. Based on the product manual, the jacket is designed with advanced insulation technology to provide maximum warmth and comfort in cold weather conditions. It is also constructed with FrostShield technology to repel moisture and keep you dry in snowy and wet environments. If you have already performed the recommended preliminary checks and are still not satisfied with the insulation, I recommend initiating a return for a refund within 30 days of purchase. You can start the return process at https://northernmountains.example.com/support/returns. If you have any further questions or need assistance with the return process, please feel free to ask. Your satisfaction is our priority." }, { "MessageId": 857, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your prompt response. I have performed the recommended preliminary checks and unfortunately, the jacket still does not provide the expected insulation. I will proceed with initiating the return for a refund as suggested. I appreciate your assistance in this matter." } ] }, { "TicketId": 39, "ProductId": 30, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 169, "ShortSummary": "Inquiry about scratch resistance of cookware set", "LongSummary": "Customer needs detailed info on scratch resistance of cookware set. Immediate response required. Pending question regarding refund or replacement if expectations not met.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 887, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand to know if the non-stick coating on the Alpine Chef Camp Cookware Set is truly scratch-resistant as advertised. I expect a prompt and detailed response regarding this specific feature before I consider making a purchase. If this feature does not meet my expectations, I will be seeking a refund or replacement. Your immediate attention to this matter is required." } ] }, { "TicketId": 40, "ProductId": 77, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 272, "ShortSummary": "Charging issue with Solar Charger 3000X via USB", "LongSummary": "Customer reports frustration with inability to charge Solar Charger 3000X via USB despite following manual. Requests urgent solution. Next agent should provide detailed troubleshooting steps.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 923, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this Solar Charger 3000X! I can\u0027t get it to charge via USB no matter what I do. I followed the manual and connected it to a power source, but it\u0027s just not working. I spent good money on this and now I can\u0027t even use it properly. I need help with this issue ASAP!" }, { "MessageId": 924, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to charge your Solar Charger 3000X via USB, you need to connect the USB cable to a power source and then connect the other end to the charger\u0027s USB port. If you encounter any issues, you can contact Ecovolt\u0027s customer support team at 1-800-ECOVOLT or by email at support@ecovolt.com for further assistance." }, { "MessageId": 925, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried connecting the USB cable to a different power source and then to the charger\u0027s USB port, but it\u0027s still not working! This is so frustrating, I need a solution for this issue now!" } ] }, { "TicketId": 41, "ProductId": 27, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 263, "ShortSummary": "Waterproof/Shockproof Camera Replacement", "LongSummary": "Customer is frustrated with the waterproof and shockproof features of the AdventurePro DSLR Camera. Initiated return process for replacement and expects it to work as advertised.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 953, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with the AdventurePro DSLR Camera! I thought it was supposed to be waterproof and shockproof, but it doesn\u0027t work at all. I took it on a hiking trip and it stopped working after just a little bit of rain. I want a refund or a replacement, this is not acceptable!" }, { "MessageId": 954, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the AdventurePro DSLR Camera is designed to be waterproof and shockproof. However, it\u0027s important to avoid intentional submersion for extended periods and to avoid dropping the camera from excessive heights. After any exposure to water, be sure to thoroughly dry the housing to prevent the growth of mold or mildew. You can rinse the camera in clean water to remove salt, sand, or other debris, but be sure to fully dry it afterward." }, { "MessageId": 955, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the instructions in the manual and thoroughly dried the camera after it got wet, but it still doesn\u0027t work. This is really frustrating and I need a replacement or a refund as soon as possible!" }, { "MessageId": 956, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand your frustration. Since the product is designed to be waterproof and shockproof, it\u0027s important to ensure that it was not intentionally submerged for extended periods or dropped from excessive heights. If you\u0027ve followed the care instructions and the camera still doesn\u0027t work, please initiate a return for a replacement or refund. You can do so at https://northernmountains.example.com/support/returns. Thank you for your understanding." }, { "MessageId": 957, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I initiated the return process for a replacement, but I am still extremely frustrated with the quality of this camera. I expect the replacement to work as advertised, otherwise I will be demanding a full refund." }, { "MessageId": 958, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience you\u0027ve experienced. I understand that the replacement process can be frustrating, and I assure you that we are committed to resolving this issue for you. Please allow us to expedite the replacement process for you, and we will ensure that the replacement camera works as expected. Thank you for your patience and understanding." } ] }, { "TicketId": 42, "ProductId": 200, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 81, "ShortSummary": "Seeking guidance for hiking trip with Raptor Tactical Backpack", "LongSummary": "Customer is seeking guidance on adjusting and wearing Raptor Tactical Backpack for a hiking trip. They have followed the manual\u0027s guidelines and are satisfied with the comfort and balance. Next support agent should ensure customer has all necessary information for their trip.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 988, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Raptor Tactical Backpack and I\u0027m considering using it for a hiking trip with extremely long distances. I believe the backpack\u0027s durability and load-bearing capabilities make it suitable for such use. Can you provide me with some additional guidance on how to properly adjust and wear the backpack for this purpose? Your assistance would be greatly appreciated. Thank you." }, { "MessageId": 989, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Raptor Tactical Backpack is designed for durability and demanding environments, and it\u0027s crucial to properly adjust the shoulder straps for comfort and balance. Follow the guidelines provided in the manual for optimal wear and adjustment. You can count on its load-bearing capabilities for your hiking trip." }, { "MessageId": 990, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the guidance on adjusting and wearing the Raptor Tactical Backpack. I have followed the manual\u0027s guidelines and the backpack feels comfortable and well-balanced. I appreciate your assistance. Thank you." } ] }, { "TicketId": 43, "ProductId": 18, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 294, "ShortSummary": "Hydration system setup for Trailblazer 40L Backpack", "LongSummary": "Customer seeks detailed instructions on setting up hydration system in Trailblazer 40L Backpack. Assistance provided, customer successfully set up system. Ticket closed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1013, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Trailblazer 40L Backpack from Hiker\u0027s Haven and I\u0027m having some difficulty understanding how to properly utilize the hydration system. The manual mentions a dedicated compartment for the hydration reservoir and a drink tube port, but I\u0027m unsure of the specific steps to set it up. Can you provide detailed instructions on how to insert the hydration reservoir and route the drink tube? I want to ensure that I am utilizing this feature to its full potential for my upcoming hiking trip. Any assistance would be greatly appreciated. Thank you." }, { "MessageId": 1014, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailblazer 40L Backpack is designed to be hydration system compatible. To use the hydration system, insert the hydration reservoir into the designated compartment inside the main compartment of the backpack. Then, route the hose through the opening at the top of the backpack and secure it using the hose clip located on the shoulder strap. If you have any further questions or need assistance, please feel free to ask." }, { "MessageId": 1015, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the instructions. I have successfully inserted the hydration reservoir and routed the drink tube as per your guidance. The system seems to be working well and I feel confident in utilizing it for my hiking trip. I appreciate your assistance." } ] }, { "TicketId": 44, "ProductId": 152, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 303, "ShortSummary": "Difficulty getting beacon light to flash", "LongSummary": "Customer having trouble getting Emergency Beacon Light to flash, tried mode button. Assistant suggests replacing batteries, contacting Sure Survive for further assistance.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1044, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Customer Support, I recently purchased the Sure Survive Emergency Beacon Light and I\u0027m having trouble getting it to flash. I\u0027ve tried pressing the mode button as mentioned in the manual, but it still isn\u0027t working. Can you provide some guidance on how to resolve this issue? Thank you." }, { "MessageId": 1045, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear customer, based on the manual and troubleshooting information, it seems that irregular flashing may be due to low battery power. Please replace the batteries with new ones and ensure they are fully charged. If the issue persists after replacing the batteries, please contact Sure Survive\u0027s customer support team for further assistance at Phone: 1-800-SURVIVE or Email: support@suresurvive.com." } ] }, { "TicketId": 45, "ProductId": 89, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 169, "ShortSummary": "Demanding Replacement for Broken Cookware Set", "LongSummary": "Customer demanding replacement for broken cookware set. Assistant advised proper use and maintenance. Further assistance may be needed.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1073, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the Titanium Backpacking Cookware Set I bought from you has already broken! This is completely unacceptable. I demand a replacement immediately. I spent good money on this cookware set and I expect it to be durable and reliable. I shouldn\u0027t have to deal with this kind of issue so soon after purchasing. I expect a prompt response and resolution to this matter!" }, { "MessageId": 1074, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience. According to the product manual, the cookware set is designed for backcountry cooking and should be properly positioned over the heat source at an appropriate level. If you continue to experience issues, please contact Backcountry Cook customer service for further assistance. Additionally, please ensure to check for signs of damage or wear and tear before each use, and refrain from using the cookware if any damage is noticed. Thank you for your understanding." } ] }, { "TicketId": 46, "ProductId": 195, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 319, "ShortSummary": "Hydration setup and weight distribution inquiry", "LongSummary": "Customer seeks guidance on weight distribution and setup of hydration system for Trekker 30L Backpack. Specific info requested for product performance. Pending response from agent on detailed instructions.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1109, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I recently purchased the Adventure Pack Trekker 30L Backpack and I am concerned about the weight distribution and proper setup of the hydration system. I want to ensure that the product is performing as expected and that I am utilizing it to its full potential. Can you provide guidance on the proper weight distribution and setup of the hydration system as mentioned in the product description? I am confident in my technical knowledge and would appreciate detailed and specific information to address my concerns. Thank you." }, { "MessageId": 1110, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello! When setting up the hydration system for your Trekker 30L Backpack, make sure your water reservoir is securely placed in the designated compartment and the drinking tube is easily accessible for on-the-go hydration. I hope this helps!" } ] }, { "TicketId": 47, "ProductId": 47, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 328, "ShortSummary": "Inquiry about bulk orders and allergen content", "LongSummary": "Customer inquired about bulk orders and allergen content of bars. Requested prompt response. Allergen info provided, inventory updated. Business relations solidified. No further action needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1142, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings, esteemed retailer. As a fellow connoisseur of adventure nutrition, I have extensive knowledge of the Nutritech Protein Plus Energy Bars, Variety Pack. The high-protein content and assortment of flavors make it a top choice for outdoor enthusiasts seeking sustained energy. I am inquiring about the availability of bulk orders for this product as I aim to expand my inventory and meet the growing demand from my discerning customers. Additionally, I would appreciate detailed information regarding the allergen content of each flavor, as my customer base values transparency and safety. Your prompt and thorough response will solidify our future business relations. I eagerly anticipate your expert assistance in this matter." }, { "MessageId": 1143, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Esteemed customer, \n\nPlease note that some flavors of the Nutritech Protein Plus Energy Bars, Variety Pack contain nuts and dairy products. We advise checking the individual packaging for specific allergen information before consuming the bars. If you require any further details, feel free to contact us." }, { "MessageId": 1144, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the allergen information provided. I have checked the individual packaging for specific allergen information and have updated my inventory accordingly. As a result, I have been able to meet the growing demand from my discerning customers. Our business relations have been solidified and I appreciate your prompt and thorough response." } ] }, { "TicketId": 48, "ProductId": 96, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 335, "ShortSummary": "Customer Skeptical About Lantern Performance", "LongSummary": "Customer seeking reassurance about Solaris 5000\u0027s performance and requesting real-world usage scenarios or testimonials. Assistant provided information about the lantern\u0027s features and charging process but couldn\u0027t find specific testimonials or usage scenarios. Customer\u0027s skepticism remains unresolved.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1170, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m considering buying the Solaris 5000, but I\u0027m skeptical about the so-called \u0027advanced LED technology\u0027 and \u0027solar-powered\u0027 claims. How can I be sure it will actually work as advertised? I don\u0027t want to end up with a dim, flickering light source that doesn\u0027t hold its charge! Can you provide any real-world usage scenarios or testimonials to prove its effectiveness?" }, { "MessageId": 1171, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Solaris 5000 is a high-tech outdoor lantern designed to provide efficient and reliable lighting during outdoor activities. It features advanced LED technology, a solar-powered battery, and a lightweight, portable design, making it the perfect companion for camping, hiking, and other outdoor adventures. The manual also provides instructions on how to charge the lantern by placing it in direct sunlight with the solar panel facing up. Unfortunately, I couldn\u0027t find specific testimonials or real-world usage scenarios. If you have any other questions, feel free to ask." } ] }, { "TicketId": 49, "ProductId": 88, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Urgent assistance needed for RapidFlow Kayak Paddle issue", "LongSummary": "Customer demands immediate assistance with RapidFlow Kayak Paddle. Wants solution or replacement. Concerns about product not working as described and dissatisfaction with inconvenience. Assistant advises against troubleshooting and explains limited warranty coverage.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1202, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand immediate assistance with my RapidFlow Kayak Paddle! It\u0027s not working as described and I expect a solution right away. I shouldn\u0027t have to deal with this kind of inconvenience after spending my hard-earned money on a high-quality product like this. I need someone to fix this problem or provide me with a replacement paddle!" }, { "MessageId": 1203, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, under no circumstances should you attempt to troubleshoot any issues with the WaterWay RapidFlow Kayak Paddle, as doing so may result in injury or death. If you encounter any problems with the paddle, please immediately discontinue use and contact the manufacturer for further instructions. As for warranty, the RapidFlow Kayak Paddle is covered by a limited warranty that protects against defects in materials and workmanship. This warranty does not cover damage caused by misuse, negligence, or normal wear and tear. WaterWay reserves the right to determine whether damage is covered under warranty." } ] }, { "TicketId": 50, "ProductId": 191, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Suitability for Damp Conditions Inquiry", "LongSummary": "Customer inquires about suitability of Luminex 5000 Lantern for use in damp conditions during camping trip. Needs advice on this specific concern.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1250, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the Luminex 5000 Lantern for my upcoming camping trip. I noticed in the product description that it has multiple brightness settings, which is great for different scenarios. However, I\u0027m wondering if it\u0027s suitable for use in damp conditions, as I may encounter some rain during my trip. Can you please advise on this? Thank you." } ] }, { "TicketId": 51, "ProductId": 22, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 291, "ShortSummary": "Difficulty with gear fitting and weight distribution", "LongSummary": "Customer is having trouble fitting all items inside the backpack and experiencing off weight distribution despite following instructions. Requires further assistance with organizing the gear and maintaining comfortable weight distribution.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1252, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Summit 45L Technical Backpack by Peakpacker and I am having trouble with its functionality. Despite following the instructions for filling the compartments, I am unable to fit all my gear inside and the weight distribution seems off. I was hoping to get some assistance with how to properly utilize the compartments and ensure that the backpack works as advertised. Any help or guidance would be greatly appreciated. Thank you." }, { "MessageId": 1253, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, thank you for reaching out. According to the user manual, before filling your Peakpacker Summit 45L Technical Backpack with outdoor gear, it is important to ensure that the backpack is properly set up for your adventure. This includes adjusting all straps to fit your body comfortably. The main compartment is designed to accommodate larger gear items, and the backpack has multiple pockets for organization and accessibility." }, { "MessageId": 1254, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I have adjusted all the straps and tried to organize my gear in the compartments as per the user manual, but I am still having trouble fitting all my items inside and the weight distribution still feels off. Is there anything else I should try?" }, { "MessageId": 1255, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for adjusting the straps and organizing your gear as per the user manual. If you\u0027re still having trouble fitting all your items inside or with weight distribution, it may be helpful to reconsider the arrangement of your gear in the multiple pockets for better organization. Additionally, ensure that the backpack is properly set up for your adventure to maintain comfortable weight distribution. For further assistance, please refer to the user manual section on \u0027Using the Pockets\u0027 and \u0027Maintenance of the Backpack\u0027." }, { "MessageId": 1256, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your assistance. I have reconsidered the arrangement of my gear in the multiple pockets and made sure the backpack is properly set up for my adventure. Unfortunately, I am still experiencing difficulty fitting all my items inside and the weight distribution is still not ideal. I will review the user manual sections on \u0027Using the Pockets\u0027 and \u0027Maintenance of the Backpack\u0027 as suggested, but I may need further assistance. Thank you." } ] }, { "TicketId": 52, "ProductId": 154, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 30, "ShortSummary": "Utilizing live tracking for pet safety during outdoor adventures", "LongSummary": "Customer inquires about utilizing live tracking feature to monitor pet during outdoor adventures. Seeks tips and guidance for this purpose.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1257, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear GuardianGear Support Team, I recently purchased the GPS Personal Locator for outdoor safety and I must say, I am thoroughly impressed with its features. I have a unique idea to use it as a way to track my pet during our outdoor adventures. I believe it will work wonders in keeping my furry friend safe. Could you please provide me with any additional tips or guidance on how to best utilize the live tracking feature for this purpose? Your assistance would be greatly appreciated. Thank you, Eleanor Park" } ] }, { "TicketId": 53, "ProductId": 120, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 127, "ShortSummary": "Product Versatility Inquiry", "LongSummary": "Customer is considering purchasing ArcticPro Insulated Ski Jacket, but has reservations about its versatility for other winter activities like hiking or snowshoeing. Requests more information on the jacket\u0027s versatility. Pending response needed on the versatility of the jacket for non-snowsports activities.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1258, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m considering purchasing the ArcticPro Insulated Ski Jacket, but I have some reservations. Your manual mentions that the jacket is specifically designed for snowsports activities like skiing and snowboarding. However, I\u0027m wondering if it would be suitable for other winter activities like hiking or snowshoeing. It seems limiting to only promote it for snowsports when it could potentially be useful for other outdoor activities in cold weather. Can you provide more information on the versatility of this jacket?" } ] }, { "TicketId": 54, "ProductId": 60, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 74, "ShortSummary": "Demand for Warranty Registration Help", "LongSummary": "Customer demands clear instructions on registering for warranty extension. Threatens refund. Next support agent should provide step-by-step guidance for registration.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1259, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought the PureFlow Water Filter Bottle and I can\u0027t figure out how to register for the warranty extension. This is ridiculous, I shouldn\u0027t have to jump through hoops to get the full benefit of the product I paid for. I demand clear instructions and assistance in getting this sorted out. If I don\u0027t hear back soon, I\u0027ll be asking for a refund!" }, { "MessageId": 1260, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To register for the warranty extension, please visit our website within 30 days of purchase. Registered products are also eligible for exclusive offers and promotions. If you require further assistance, please contact H2OZone customer support." } ] }, { "TicketId": 55, "ProductId": 189, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 352, "ShortSummary": "Demand for immediate action, unresolved contact with support", "LongSummary": "Customer demands immediate action for a replacement, multiple unsuccessful attempts to contact support. Recommend prompt response and resolution from support team.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1261, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the Survivor Kit 2000 and it doesn\u0027t work at all! I demand a replacement immediately. This is unacceptable and I expect better quality from Rescue Mate. I shouldn\u0027t have to deal with faulty gear in an emergency situation." }, { "MessageId": 1262, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We are confident in the quality and durability of the Rescue Mate Survivor Kit 2000 and offer a limited warranty to cover manufacturing defects. This warranty covers the first 12 months from the date of purchase and is only applicable to the original purchaser with a valid proof of purchase. Returns for defective products may be initiated within 1 year of purchase for a refund. For any additional questions regarding the warranty for your Survivor Kit 2000, please contact Rescue Mate at [company contact information]." }, { "MessageId": 1263, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about your limited warranty! I expect the products I purchase to work as advertised. I demand a replacement immediately and better quality control from Rescue Mate. This is completely unacceptable and I will not accept anything less than a functional Survivor Kit 2000." }, { "MessageId": 1264, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the user manual, the Rescue Mate Survivor Kit 2000 comes with a limited warranty that covers manufacturing defects for the first 12 months from the date of purchase. Returns for defective products may be initiated within 1 year of purchase for a refund. For any additional questions regarding the warranty, please contact Rescue Mate at the provided company contact information.\n\nIn addition, the user manual emphasizes the importance of familiarizing yourself with the contents of the first aid kit and using it effectively in emergency situations. Regarding quality control, the manual does not specifically mention quality control procedures or protocols." }, { "MessageId": 1265, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the limited warranty or the user manual! I demand a functional replacement for my Survivor Kit 2000 immediately. I expect better quality control from Rescue Mate and will not accept anything less than a fully functional product." }, { "MessageId": 1266, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the information provided in the user manual, the Survivor Kit 2000 comes with a limited warranty that covers manufacturing defects for the first 12 months from the date of purchase. Returns for defective products may be initiated within 1 year of purchase for a refund. For any additional questions regarding the warranty, please contact Rescue Mate at the provided company contact information. With regard to your request for a functional replacement, I recommend reaching out to Rescue Mate\u0027s support team directly for further assistance." }, { "MessageId": 1267, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have already reached out to Rescue Mate\u0027s support team and I am still awaiting a response. This is completely unacceptable and I demand immediate action to resolve this issue." }, { "MessageId": 1268, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand your frustration and the urgency of this matter. Based on the user manual, the warranty covers returns for defective products within the first 12 months of purchase. It states, \u0022Once your warranty claim is received, our customer service team will guide you through the necessary steps to assess the issue and determine the best course of action. Depending on the nature of the issue, we may provide replacement parts or request the return of the product for further inspection.\u0022 I recommend contacting Rescue Mate\u0027s support team again and emphasizing the time-sensitive nature of your request. If you need further assistance with initiating a return, you can visit the following link: https://northernmountains.example.com/support/returns" }, { "MessageId": 1269, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have already contacted Rescue Mate\u0027s support team again and emphasized the urgency of my request. I am still awaiting a response and this is completely unacceptable. I demand immediate action to resolve this issue." }, { "MessageId": 1270, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, \u0027Once your warranty claim is received, our customer service team will guide you through the necessary steps to assess the issue and determine the best course of action. Depending on the nature of the issue, we may provide replacement parts or request the return of the product for further inspection.\u0027 If you have already contacted Rescue Mate\u0027s support team and are still awaiting a response, I recommend reaching out to them again and emphasizing the time-sensitive nature of your request. If you need further assistance with initiating a return, you can visit the following link: https://northernmountains.example.com/support/returns" }, { "MessageId": 1271, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have reached out to Rescue Mate\u0027s support team multiple times and I am still awaiting a response. This is completely unacceptable and I demand immediate action to resolve this issue." } ] }, { "TicketId": 56, "ProductId": 127, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 353, "ShortSummary": "Leaking HydraPack 2.0", "LongSummary": "Customer demands replacement or refund for leaking HydraPack 2.0", "CustomerSatisfaction": null, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1272, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand to know why my HydraPack 2.0 is leaking! I paid good money for a so-called \u0027leak-proof\u0027 system, and now I\u0027m not getting what I paid for. I expect a replacement immediately or a full refund. This is unacceptable and I will not stand for it!" } ] }, { "TicketId": 57, "ProductId": 116, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 354, "ShortSummary": "Inquiring about Material Durability and Warranty Details", "LongSummary": "Customer inquiring about material durability and warranty details. Pending question about specific material testing. Requesting more information on warranty coverage and claims process.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1273, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am Jasper Reynolds from Adventure Gear Emporium. We are interested in stocking the Ultratent UltraLite 2-Person Backpacking Tent in our store and have a few questions. Firstly, can you confirm that the tent poles are indeed made of aluminum as stated in the product description? Additionally, we are curious about the durability of the tent body and rainfly. We rely on extremely durable products to ensure our customers have a great outdoor experience. Any information about the materials and construction of the tent would be greatly appreciated. Thank you for your assistance!" }, { "MessageId": 1274, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the tent poles are made of aluminum and should be inserted into the corresponding pole sleeves starting with the center hub and working your way outwards. The tent body and rainfly can be cleaned with a soft sponge or cloth using mild soap and water, and it\u0027s important to avoid touching the tent walls to prevent moisture transfer from the outside to the inside. The ventilation system features adjustable vents on the rainfly and mesh panels on the tent body for optimal airflow while maintaining protection from the elements." }, { "MessageId": 1275, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. We appreciate the information about cleaning and ventilation. However, we are still unsure about the overall durability of the tent body and rainfly. Can you provide more specific details about the materials used and any testing that has been done to ensure the tent\u0027s durability? We want to make sure we are offering our customers the best quality products. Thank you for your help!" }, { "MessageId": 1276, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the tent body, rainfly, and floor can be spot cleaned with a soft sponge or cloth using mild soap and water, and then thoroughly rinsed with clean water and allowed to air dry completely before storing. Ultratent offers a warranty that covers repair or replacement of defective components found within the warranty period. However, it\u0027s important to note that the warranty does not cover damage caused by improper use, negligence, or natural disasters. If you have any further questions about the warranty or wish to make a claim, you can refer to the warranty section in the user manual or contact an Ultratent authorized distributor for more information. Thank you for considering the Ultratent UltraLite 2-Person Backpacking Tent for your store!" } ] }, { "TicketId": 58, "ProductId": 160, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 355, "ShortSummary": "Frustrated customer demands refund/replacement for GPS device", "LongSummary": "Customer Samantha Andrews is frustrated with the quality of the Trailblazer GPS Navigation Device from Geotrack, demanding a refund or replacement. Pending question regarding device usage and failure details. Next agent should address refund/replacement options and gather more info on device failure.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1277, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am beyond frustrated with my Trailblazer GPS Navigation Device from Geotrack. It has broken down after just a few uses, and I am extremely disappointed with the quality. I expected this device to be durable and reliable for all my outdoor adventures, but it has let me down. I demand a refund or a replacement for this faulty product. This is unacceptable!" } ] }, { "TicketId": 59, "ProductId": 117, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 356, "ShortSummary": "Disabled Features Refund Demand", "LongSummary": "Customer frustrated with disabled text messaging \u0026 emergency services. Demands refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1278, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am beyond frustrated with the AdventurePro Off-Grid Satellite Communicator! I bought this device specifically for its text messaging and emergency services features, but now I can\u0027t figure out how to use them. This is unacceptable, and I expect a solution to this problem immediately. I demand clear instructions on how to utilize the messaging and emergency services functions, or else I will be seeking a refund for this useless product." }, { "MessageId": 1279, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the product manual, the AdventurePro Off-Grid Satellite Communicator\u0027s text messaging and emergency services features are disabled for safety reasons. It is recommended to explore alternative communication options and safety measures for emergency assistance. We apologize for any inconvenience this may cause." }, { "MessageId": 1280, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is outrageous! I specifically bought this device for its text messaging and emergency services features, and now you\u0027re telling me they are disabled for safety reasons?! That\u0027s not what I signed up for. I demand a full refund for this misleading product!" }, { "MessageId": 1281, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience. Based on the product manual, the text messaging and emergency services features of the AdventurePro Off-Grid Satellite Communicator are disabled for safety reasons. It is recommended to explore alternative communication options and safety measures for emergency assistance. If you have any further questions or require assistance with an alternative product, please let us know." } ] }, { "TicketId": 60, "ProductId": 110, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 56, "ShortSummary": "Inquiry about sustainability of PowerFuel Energy Bars", "LongSummary": "Customer Evan Johnson asks about sustainability and eco-friendly practices of PowerFuel Energy Bars from EcoFuels. Needs detailed information on production methods and packaging materials. Pending response required.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1284, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the PowerFuel Energy Bars from EcoFuels and I have a question about their sustainability contribution. I\u0027m a big advocate for environmental responsibility and I want to make sure I\u0027m supporting the right cause. Can you provide more information on how the production of the bars utilizes eco-friendly practices and packaging materials? I want to make sure I fully understand the impact of my purchase. Thanks so much for your help!" } ] }, { "TicketId": 61, "ProductId": 111, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 222, "ShortSummary": "Need Comprehensive Troubleshooting for Aquaflow 2L Hydration Pack", "LongSummary": "Customer requests more comprehensive troubleshooting steps for Aquaflow 2L Hydration Pack due to customer complaints and lack of clear guidance in manual. Next agent should provide detailed troubleshooting steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1285, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, I sell the Aquaflow 2L Hydration Pack at my store and I\u0027ve been getting complaints about leaks. Your troubleshooting section says to check the seals, inspect the hose, and check the bite valve - but what if none of those things are the issue? I need a more comprehensive guide to troubleshooting these packs because I don\u0027t have time to deal with angry customers! Let\u0027s get this sorted out ASAP, please." }, { "MessageId": 1286, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, before using your Aquaflow 2L Hydration Pack, make sure to inspect it for any damage and wash the reservoir with warm, soapy water. Once you\u0027ve done that, you\u0027re ready to start hydrating! If the issue persists after following these steps, it\u0027s recommended to contact the manufacturer\u0027s support for further assistance." }, { "MessageId": 1287, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Inspecting for damage and washing the reservoir didn\u0027t solve the issue. I need more comprehensive troubleshooting steps as I mentioned in my initial message. Please provide further assistance." }, { "MessageId": 1288, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the user manual, the Aquaflow 2L Hydration Pack troubleshooting steps are not explicitly provided. However, the manufacturer\u0027s support team is available for assistance. You can reach out to them through their website or give them a call for comprehensive troubleshooting guidance." } ] }, { "TicketId": 62, "ProductId": 53, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 30, "ShortSummary": "Anti-fog Coating Guidance Needed", "LongSummary": "Customer seeks guidance with anti-fog coating for GlacierTech Snowsport Goggles. Assistant provided cleaning instructions and warranty details. Pending issue with persistent fogging.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1289, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the GlacierTech Snowsport Goggles and I\u0027m having some trouble with the anti-fog coating. I followed the instructions to be careful with the lenses and to store the goggles in the protective case, but they still seem to fog up when I\u0027m on the slopes. Am I doing something wrong or is there a specific way I should be cleaning the lenses? Any guidance would be greatly appreciated. Thank you so much!" }, { "MessageId": 1290, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us. We appreciate your commitment to maintaining the pristine condition of your GlacierTech Snowsport Goggles. To ensure optimal performance, please follow the recommended cleaning procedure for the lenses. By following these steps, you can be assured of experiencing the crystal-clear vision that our goggles are designed to provide. Additionally, IceMaster proudly offers a limited lifetime warranty on the GlacierTech Snowsport Goggles. This warranty covers defects in materials and workmanship for the lifetime of the product from the date of purchase. In the unlikely event that your goggles have a manufacturing defect, IceMaster will repair or replace them free of charge. Please retain your proof of purchase to validate your warranty claim. If you encounter persistent fogging issues that cannot be resolved, please contact IceMaster Customer Support for further assistance. We hope this information is helpful, and thank you for choosing IceMaster! If you have any further questions, feel free to ask." } ] }, { "TicketId": 63, "ProductId": 171, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 358, "ShortSummary": "MOLLE Webbing for Portable Grill", "LongSummary": "Customer inquired about using MOLLE webbing to attach a portable grill. Assistant confirmed feasibility. Pending response required for next steps.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1291, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Tactic Tech Support Team, I recently purchased the Stealth Recon Backpack for an upcoming trip, and I must say, I\u0027m impressed with the durability and functionality of the product. However, I was wondering if it\u0027s possible to use the MOLLE webbing to attach a small portable grill to the backpack. I have a unique idea to use it for a outdoor cooking setup, and I believe the backpack\u0027s sturdy construction could support it. Could you please advise if this is feasible? Thank you for your assistance." }, { "MessageId": 1292, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Stealth Recon Backpack features MOLLE (Modular Lightweight Load-carrying Equipment) webbing, which allows you to attach additional pouches, accessories, or gear to enhance its functionality and carry capacity. This makes it feasible to attach a small portable grill to the backpack for your outdoor cooking setup." } ] }, { "TicketId": 64, "ProductId": 22, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 359, "ShortSummary": "Guidance for Filling Backpack", "LongSummary": "Customer needs guidance on filling the main compartment and utilizing the side pockets of the 45L Technical Backpack for an upcoming trip. Response provided instructions. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1293, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Peakpacker Summit 45L Technical Backpack and I\u0027m having trouble figuring out how to properly fill it with my gear. I want to make sure I\u0027m doing it right for my upcoming outdoor trip, but I\u0027m feeling a bit embarrassed that I can\u0027t quite figure it out. Could you provide some guidance on how to fill the main compartment and utilize the side pockets? I want to ensure that I\u0027m distributing the weight properly and making the most of the storage space. Any help would be greatly appreciated. Thank you!" }, { "MessageId": 1294, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi there, to fill the main compartment of your Peakpacker Summit 45L Technical Backpack, unzip the top lid and open the main compartment zipper. The main compartment is spacious and designed to accommodate larger gear items such as clothing, sleeping bags, and other essentials. As for the side pockets, simply unzip the pocket and carefully place your items inside. Once filled, securely fasten the zipper to ensure your items are secure while on the move. I hope this helps!" } ] }, { "TicketId": 65, "ProductId": 29, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 360, "ShortSummary": "Guidance on SolarBoost Power Bank outdoor optimization", "LongSummary": "Customer Eliza Thompson is seeking guidance on optimizing SolarBoost Power Bank for extended outdoor use, including ideal positioning of solar panel and proper cleaning. Response provided with user manual guidelines, but further questions or clarifications may be needed.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1295, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Ecovolt Support Team, \n\nI recently purchased the SolarBoost Power Bank and I\u0027m having trouble understanding how to optimize its performance for extended outdoor use. I read in the product description that it is recommended to place the power bank in direct sunlight, but I\u0027m unsure about the ideal positioning of the solar panel. Additionally, I\u0027m not sure how to properly clean the solar panels to ensure optimal charging. Could you please provide me with some guidance on these issues? Thank you for your assistance. \n\nSincerely, Eliza Thompson" }, { "MessageId": 1296, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Eliza Thompson, \n\nThank you for reaching out to us. According to the user manual, to optimize the performance of the SolarBoost Power Bank for extended outdoor use, it is recommended to place the power bank in direct sunlight and ensure that the solar panel is facing the sun for optimal charging efficiency. Additionally, it is important to keep the solar panels clean and free from any dirt or dust for optimal performance. If you have any further questions, feel free to ask. \n\nSincerely, \nAdventureWorks Support" } ] }, { "TicketId": 66, "ProductId": 97, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 314, "ShortSummary": "Keychain functionality issue", "LongSummary": "Customer reported the Wanderer Multi-Tool Keychain isn\u0027t working and requested assistance. Assistant offered information about the keychain\u0027s features and asked if the customer would like to know more about using them.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1297, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I bought the Wanderer Multi-Tool Keychain and it\u0027s not working. Can you help me out?" }, { "MessageId": 1298, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I found information about the Wanderer Multi-Tool Keychain and the NomadGear brand in the product manual. It seems like the keychain includes a flathead screwdriver and a built-in key ring for easy attachment. Would you like to know more about how to use these features?" } ] }, { "TicketId": 67, "ProductId": 14, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 361, "ShortSummary": "Broken Propane Camp Stove - Ignition Issue", "LongSummary": "Customer reports broken Propane Camp Stove, unable to troubleshoot ignition despite following manual. Requests urgent refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1299, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought this Propane Camp Stove from BackCountry Cook and it\u0027s already broken! The ignition button is not creating a spark, and I\u0027ve checked the battery compartment and control valve as your troubleshooting manual suggests. None of it works! This is ridiculous, I expect better quality from a high-performance camping stove. I need this issue sorted out ASAP or I want a refund!" }, { "MessageId": 1300, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to troubleshoot the ignition issue, ensure that the propane canister is properly connected to the stove and turn the canister clockwise to ensure a tight fit. If the issue persists, you can contact BackCountry Cook customer support for further assistance. Additionally, the Propane Camp Stove comes with a limited 1-year warranty that covers defects in materials or workmanship. You can contact the friendly customer support team for assistance with warranty-related issues." }, { "MessageId": 1301, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already tried checking the propane canister and ensuring it\u0027s properly connected and tightened, but the ignition button still isn\u0027t creating a spark. I\u0027m frustrated and disappointed with the quality of this stove, and I want a refund as soon as possible!" } ] }, { "TicketId": 68, "ProductId": 59, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 362, "ShortSummary": "Retailer needs detailed kayak info", "LongSummary": "Retailer Dr. Megan Davidson requests technical specs and maintenance guidelines for Aqua Venture\u0027s Explorer 3000 Kayak. A prompt and comprehensive response is needed.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1302, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings, I am Dr. Megan Davidson, a fellow retailer who stocks the esteemed Explorer 3000 Kayak by Aqua Venture. I am in need of detailed technical specifications and maintenance guidelines to assist my customers with their inquiries. Your prompt and comprehensive response will be greatly appreciated. Thank you." } ] }, { "TicketId": 69, "ProductId": 113, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 363, "ShortSummary": "Leaking hydration system in Summit Pro 40L backpack", "LongSummary": "Customer Elena Kim reports a leaking hydration system in her Summit Pro 40L backpack, demanding a replacement or repair ASAP due to damage to her gear. She expects a quality product and is frustrated with the faulty item. Needs immediate solution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1303, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m so frustrated! My Summit Pro 40L backpack\u0027s hydration system is leaking and it\u0027s ruining my gear. I need this resolved ASAP! I expect a quality product from Backhike, and this backpack is not living up to its description. I demand a replacement or repair for this faulty product. I shouldn\u0027t have to deal with leaks after following the manual\u0027s care instructions. Please provide a solution immediately." } ] }, { "TicketId": 70, "ProductId": 196, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 364, "ShortSummary": "GPS Signal Dropping Issue", "LongSummary": "TrailMaster GPS Watch experiencing GPS signal drop. Customer seeks solution. Next agent to provide troubleshooting steps or possible hardware issues.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1309, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, my TrailMaster GPS Watch keeps losing the GPS signal. Can you help me fix it?" }, { "MessageId": 1310, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TrailMaster GPS Watch features a state-of-the-art multi-constellation receiver that supports GPS, GLONASS, and Galileo satellite systems, ensuring precise location tracking and navigation. It is designed for use by experienced outdoor enthusiasts in challenging environments and offers essential navigation tools, including topographic maps and real-time location sharing for enhanced safety." }, { "MessageId": 1311, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "GPS signal still dropping. What should I do?" } ] }, { "TicketId": 71, "ProductId": 37, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 365, "ShortSummary": "Issue with instant cold pack usage", "LongSummary": "Customer impressed with product but needs guidance on using instant cold pack for sprain. Requesting help to resolve the issue.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1312, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Wild Guard Outdoor First Aid Kit and I must say I am impressed with its comprehensive contents and compact design. However, I encountered an issue while trying to use the instant cold pack to reduce swelling for a minor sprain. I followed the instructions provided, but the pack didn\u0027t seem to work as expected. Could you please provide me with some guidance on how to properly use this feature? I appreciate your help in resolving this matter. Thank you." } ] }, { "TicketId": 72, "ProductId": 4, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 366, "ShortSummary": "Inquiry about Two-Way Radio in Extreme Weather", "LongSummary": "Customer inquired about the two-way radio\u0027s ability to operate in extreme weather conditions. Assistant responded with generic info about tent\u0027s durability. Customer requested specific info about the radio\u0027s performance.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1313, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the Life Guard X Emergency Survival Kit and I need to know if the two-way radio can operate in extreme weather conditions. I don\u0027t want to be stuck in an emergency situation only to find out that the radio doesn\u0027t work when I need it most. Your manual talks about the durability and weather-resistance of the radio, but I need more specific information. This is a life-saving tool and I expect it to perform flawlessly in any situation. I hope you can provide me with a satisfactory answer without just quoting from the manual." }, { "MessageId": 1314, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Life Guard X Emergency Survival Kit includes a compact and lightweight emergency tent for protection against the elements. The tent is designed to accommodate two adults and is made of durable, weather-resistant material for added reliability. This indicates that the kit is designed to provide protection in extreme weather conditions." }, { "MessageId": 1315, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Your response does not address my specific question about the two-way radio\u0027s ability to operate in extreme weather conditions. Please provide me with information regarding the radio specifically, as that is my main concern." } ] }, { "TicketId": 73, "ProductId": 193, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 367, "ShortSummary": "Cake Carrier High-Altitude Issue", "LongSummary": "Customer purchased AltitudeTech Cake Carrier, experiencing issues with high-altitude cakes not arriving intact. Seeks assistance or guidance on addressing the issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1316, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AltitudeTech Cake Carrier and have been experiencing some issues with its functionality. Despite following the transportation guidelines and cleaning procedures outlined in the manual, my high-altitude cakes are not arriving intact as promised. I am concerned that the product may not be working as intended. I would greatly appreciate any assistance or guidance on how to address this issue. Thank you for your attention to this matter." } ] }, { "TicketId": 74, "ProductId": 79, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 277, "ShortSummary": "Adventure Pro Camera repair request", "LongSummary": "Adventure Pro Camera fell during hiking trip, needs repair. Customer asking for help with repair and expresses disappointment. Next agent needs to provide options for repair and offer assistance.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1317, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! So, I was out on this amazing hiking trip with my Adventure Pro Camera and unfortunately, it took a little tumble and now it\u0027s not working properly. I\u0027m totally bummed because I was really looking forward to capturing all those breathtaking views. Any chance you can help me out with getting it repaired? I promise I\u0027ll be more careful next time! Thanks a bunch!" } ] }, { "TicketId": 75, "ProductId": 36, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 368, "ShortSummary": "Assembly issues with Eco Grill", "LongSummary": "Customer needs detailed assembly instructions for Eco Grill, grill not working", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1318, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Grill not working, need help with assembly and positioning" }, { "MessageId": 1319, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, assembly instructions are provided in the user manual. It\u0027s important to follow the step-by-step instructions and conduct a final inspection to ensure all components are properly installed and secured. As for positioning, select a suitable location for the grill, considering safety, ventilation, and proximity to flammable materials." }, { "MessageId": 1320, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still having issues with assembly, can you provide more detailed instructions?" } ] }, { "TicketId": 76, "ProductId": 25, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "Tool levelling issue despite manual instructions", "LongSummary": "Customer reports TerraScoop Excavation Tool not levelling properly despite following manual. Further troubleshooting needed from support agent.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1321, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tool not levelling properly, need help now." }, { "MessageId": 1322, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the TerraScoop Excavation Tool is engineered to meet your excavation needs with unparalleled precision and efficiency. Please ensure that the tool is being used as directed in the manual. If the issue persists, we recommend contacting DigDigDig customer support for further assistance." }, { "MessageId": 1323, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tool still not working, tried following manual but no luck" }, { "MessageId": 1324, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TerraScoop Excavation Tool is engineered to meet your excavation needs with unparalleled precision and efficiency. If the tool is not levelling properly, please perform a thorough inspection of the tool to ensure all components are in impeccable condition. Do not proceed to use the tool if any part appears to be damaged or malfunctioning. If the issue persists, please contact DigDigDig customer support for further assistance." } ] }, { "TicketId": 77, "ProductId": 107, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 70, "ShortSummary": "Adjusting UltraGrip 3000 Trekking Poles", "LongSummary": "Customer needs help adjusting the length on UltraGrip 3000 poles. Assistant advised against outdoor use and to contact customer support for further instructions. Pending question on how to adjust the length.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1325, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, idk how to adjust the length on these UltraGrip 3000 poles. Can u help? Thx" }, { "MessageId": 1326, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the UltraGrip 3000 Trekking Poles are not suitable for trekking or hiking. Polepro advises against using these poles for any outdoor activities. It is recommended to discontinue use immediately and contact customer support for further instructions. If you have any further questions or need assistance, please let us know." } ] }, { "TicketId": 78, "ProductId": 106, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 234, "ShortSummary": "Durability of ArcticZone 500 Sleeping Bag for Swimming", "LongSummary": "Customer inquires about the durability of the ArcticZone 500 Sleeping Bag for swimming. Needs assistance to determine if it will hold up. Pending response on suitability for swimming.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1327, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Sleeping bag for swimming? Will it hold up? Need help." } ] }, { "TicketId": 79, "ProductId": 97, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 369, "ShortSummary": "Product functionality enquiry", "LongSummary": "Customer purchased Wanderer Multi-Tool Keychain from NomadGear and is unsure if it\u0027s working properly. Assistance provided on how to attach key ring, specific issues not yet mentioned. Next support agent should inquire about specific issues with the keychain\u0027s functionality.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1328, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I recently purchased the Wanderer Multi-Tool Keychain from NomadGear and I\u0027m not sure if it\u0027s working properly. Can you please help me with this? Thank you." }, { "MessageId": 1329, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi, the Wanderer Multi-Tool Keychain comes with a built-in key ring for easy attachment to your keys or backpack. Simply slide your key ring through the designated hole at the end of the keychain, and you\u0027re all set! If you have any specific issues with the functionality of the keychain, please let us know. Thank you." } ] }, { "TicketId": 80, "ProductId": 126, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 370, "ShortSummary": "Difficulty Finding Battery Check Button", "LongSummary": "Customer demands replacement or refund due to difficulty finding battery check button on SOS Emergency Beacon. Requires clarification on the specific issues faced and possible solutions.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1334, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I cannot believe the battery check button on the SOS Emergency Beacon is so hard to find! I\u0027ve been looking for it for ages and it\u0027s not clearly labeled at all. This is unacceptable for a product that is supposed to be for emergencies. I demand a replacement or a full refund for this inconvenience!" } ] }, { "TicketId": 81, "ProductId": 139, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 371, "ShortSummary": "Excited about SmartCyclo\u0027s tracking features", "LongSummary": "Customer excited to hear about SmartCyclo\u0027s speed and heart rate tracking. Ready to purchase. Next response should confirm purchase.", "CustomerSatisfaction": 8, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1335, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there WheelWise team! I\u0027m seriously considering getting the SmartCyclo GPS Bike Computer, and I have a burning question about its performance tracking capabilities. Can this awesome gadget really track my speed and monitor my heart rate while I\u0027m cycling? I love pushing myself to new limits, so having these features would be a game-changer for me. Any info you can share would be amazing! Thanks so much! \uD83D\uDE0A" }, { "MessageId": 1336, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SmartCyclo GPS Bike Computer offers advanced performance tracking features to help you monitor your cycling progress and improve your performance. With the ability to track your speed and monitor your heart rate, you can stay on top of your training goals and push yourself to new limits. If you encounter errors in the performance tracking data, please ensure that the sensors, such as the heart rate monitor, are securely connected and functioning correctly. According to the manual, the SmartCyclo GPS Bike Computer uses advanced GPS technology to provide accurate real-time speed measurements." }, { "MessageId": 1337, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey WheelWise team! Thanks for the info! I\u0027m so excited to hear that the SmartCyclo GPS Bike Computer can track my speed and monitor my heart rate. I\u0027m definitely going to grab one now! You guys are the best! \uD83D\uDE0A" } ] }, { "TicketId": 82, "ProductId": 136, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 372, "ShortSummary": "Solaris 500 Camping and Phone Charging Inquiry", "LongSummary": "Customer inquired about Solaris 500 for camping and phone charging. Confirmed successful phone charge. Next agent should offer additional details on charging capabilities for other devices.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1338, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Is Solaris 500 good for camping? Will it charge my phone?" }, { "MessageId": 1339, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Ecovolt Solaris 500 Portable Solar Charger is designed for outdoor use and is ideal for camping, hiking, and other off-grid activities. It is built to withstand the rigors of outdoor adventures." }, { "MessageId": 1340, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Charged my phone and it worked great!" } ] }, { "TicketId": 83, "ProductId": 44, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 74, "ShortSummary": "Inquiry about using fire starter for camping trip", "LongSummary": "Customer inquires about using fire starter from RescueTech Emergency Kit for camping. Assistant advises to carefully follow instructions to ensure safe operation.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1341, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I got this RescueTech Emergency Kit from Life Guard X and I\u0027m thinking of using the fire starter for a camping trip. Do you think that\u0027s a good idea?" }, { "MessageId": 1342, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the fire starter included in the RescueTech Emergency Kit is a vital tool for starting a fire in emergency situations. It is compact and easy to use, making it an essential item for your survival gear. You should carefully follow the instructions provided with the fire starter to ensure safe and successful operation. Keep flammable materials away from the fire starting process to prevent accidents." }, { "MessageId": 1343, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thx, I\u0027ll make sure to follow the instructions. Appreciate the help!" } ] }, { "TicketId": 84, "ProductId": 71, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 373, "ShortSummary": "Seeking Specific Frequency Ranges for Compatibility", "LongSummary": "Customer Eliot Finley seeks specific frequency ranges for Trailcom Signal Booster 2000. Assistant provided general info but customer still seeks specific frequency ranges for compatibility with existing devices.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1344, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello Trailcom Support, I am interested in the Trailcom Signal Booster 2000 for off-grid communication purposes. I need detailed technical specifications and information on its signal strength capabilities. I am particularly interested in how it boosts signal strength and the compatibility with various devices. Additionally, I would like to know if it is suitable for use in remote areas with limited connectivity. Your prompt and detailed response is greatly appreciated. Thank you." }, { "MessageId": 1345, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailcom Signal Booster 2000 is designed to elevate your off-grid communication experience by significantly enhancing signal strength, allowing you to stay connected even in the most remote areas. It is compatible with a wide array of devices, ensuring seamless connectivity for all your communication needs. According to the manual, the product complies with all relevant regulatory standards and is designed to operate within approved frequency bands and power levels to ensure minimal interference with other communication systems." }, { "MessageId": 1346, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "\u003Cmessage role=\u0022Customer\u0022\u003EThank you for the information provided. Can you please also provide the specific frequency ranges that the Trailcom Signal Booster 2000 operates within? I need this information to ensure compatibility with my existing communication devices. Your prompt response is greatly appreciated. Thank you." }, { "MessageId": 1347, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailcom Signal Booster 2000 operates within approved frequency bands and power levels to ensure minimal interference with other communication systems. It is compatible with a wide range of devices, including mobile phones, tablets, and other communication devices, and is designed to enhance signal strength for off-grid communication in remote areas." }, { "MessageId": 1348, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. However, I need the specific frequency ranges that the Trailcom Signal Booster 2000 operates within in order to ensure compatibility with my existing communication devices. Could you please provide this information promptly? Thank you." }, { "MessageId": 1349, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailcom Signal Booster 2000 operates within approved frequency bands and power levels to ensure minimal interference with other communication systems. It is designed to enhance signal strength for off-grid communication in remote areas. According to the manual, the product complies with all relevant regulatory standards, including FCC regulations." } ] }, { "TicketId": 85, "ProductId": 142, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 374, "ShortSummary": "Excited customer received helpful tips on hammock setup", "LongSummary": "Customer is excited about the hammock and received helpful tips on repairing and setting up. No pending questions. Next agent response: None needed, customer is satisfied.", "CustomerSatisfaction": 8, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1350, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! So I\u0027ve been eyeing this UltraLight Camping Hammock from Dreamscape for my upcoming backpacking trip, and I just wanted to make sure it\u0027s as comfy and durable as it sounds! I mean, who wouldn\u0027t want to rest easy under the stars, right? Also, any tips on setting it up like a pro? Can\u0027t wait to chillax in style with this bad boy. Thanks a bunch, you guys rock! \uD83C\uDFD5\uFE0F\uD83C\uDF1F" }, { "MessageId": 1351, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hey there! The Dreamscape UltraLight Camping Hammock comes with a repair kit and instructions to patch any rips or tears. After repair, give it a gentle tug to ensure the patch holds, and you\u0027re all set to hit the trail again! As for setting it up, lay out the hammock flat, loop the durable tree straps around a tree, and adjust to the desired height. Here are some storage tips: [storage tips]. Enjoy your backpacking trip and chillax in style!" }, { "MessageId": 1352, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Thanks for the helpful tips on repairing and setting up the hammock! I followed your instructions and had no issues at all. Can\u0027t wait to take this bad boy out on the trail and chillax in style! You guys totally rock! \uD83C\uDFD5\uFE0F\uD83C\uDF1F" } ] }, { "TicketId": 86, "ProductId": 149, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 375, "ShortSummary": "AquaFlow Pro Bite Valve and Straps Issue", "LongSummary": "Customer experiencing issues with AquaFlow Pro bite valve and adjustable straps. Additional assistance needed for satisfaction.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1353, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the AquaFlow Pro hydration system from Thirsttrek and I\u0027m really disappointed. The easy-flow bite valve is anything but easy. I can\u0027t get it to work properly no matter what I do. And don\u0027t even get me started on the adjustable straps - they\u0027re supposed to be comfortable and stable, but they\u0027re just a pain to adjust. I need some real help here, not just some fancy engineering talk. This product is not living up to its description and I want to know what you\u0027re going to do about it." }, { "MessageId": 1354, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us. I understand your frustration and I\u0027m here to help. According to the manual, the adjustable straps have been engineered for comfort and stability, and there are specific guidelines for adjustment. Have you tried following the recommended adjustment procedure to ensure they provide a comfortable and stable fit? Additionally, the easy-flow bite valve has been designed for optimal liquid flow dynamics, and there are guidelines for assessing and maintaining its performance. If you have additional questions or need further assistance, please let me know." }, { "MessageId": 1355, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Yeah, I followed the guidelines for adjusting the straps and I still can\u0027t get them to fit comfortably. And as for the easy-flow bite valve, I\u0027ve tried everything and it\u0027s just not working as it should. This product is a real letdown and I\u0027m not satisfied with the resolution so far." } ] }, { "TicketId": 87, "ProductId": 195, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 376, "ShortSummary": "Broken zippers on Trekker 30L Backpack", "LongSummary": "Customer demands replacement or refund for broken zippers on Trekker 30L Backpack. Expresses disappointment in product durability. Requires immediate resolution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1356, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the zippers on my Trekker 30L Backpack have broken already! This is unacceptable for a product that\u0027s supposed to be durable. I demand a replacement or a full refund. I expect better quality from Adventure Pack and I want this issue resolved immediately." } ] }, { "TicketId": 88, "ProductId": 190, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 377, "ShortSummary": "Troubleshooting UltraLight Poles 300", "LongSummary": "Customer experiencing issues with UltraLight Poles 300, seeking guidance on flexural strength test and manual instructions. Next agent should provide step-by-step instructions for the test and repair procedures.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1357, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the UltraLight Poles 300 for my upcoming hiking trip. However, I\u0027m having some trouble with them and it seems like they don\u0027t work at all. I\u0027ve relied on the description that these poles provide stability and support on any terrain, but I haven\u0027t experienced that at all. Can you please help me figure out what\u0027s going on? I really need these poles to work for my trip. Thank you so much for your assistance!" }, { "MessageId": 1358, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi there, thank you for reaching out to us. It seems that there may be some structural defects with the poles. I advise discontinuing use and contacting our customer service for repair or replacement options. You can also perform a flexural strength test using specialized equipment to determine if the poles have maintained their structural integrity. Refer to ISO 14125 for testing standards. If you need further assistance, please don\u0027t hesitate to contact us." }, { "MessageId": 1359, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, thanks for your response. I\u0027m not quite sure how to perform a flexural strength test or where to find the specialized equipment. Could you please provide more guidance on how to do this? I really want to make sure I can rely on the poles for my trip. Thank you!" }, { "MessageId": 1360, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the user manual, the UltraLight Poles 300 are compliant with the ISO 12500-1:2014 standard for design, construction, and performance of trekking poles. The product has been designed to provide reliable and stable support on varying terrains. To ensure the integrity of the carbon construction, it is important to perform regular inspections and maintenance. In the event of any damage or potential issues, please follow the troubleshooting and repair procedures outlined in the manual." } ] }, { "TicketId": 89, "ProductId": 156, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 378, "ShortSummary": "Product Usage Inquiry", "LongSummary": "Customer Jasmine Park is excited about the Arctic Ice Grip Crampons and wants specific tips for using them. Looking for guidance on maximizing usage.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1361, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there Glacierpro team! I just picked up a pair of your Arctic Ice Grip Crampons and I am beyond excited to try them out on the icy trails near me. I have to say, the durability and traction features really caught my eye, and I can\u0027t wait to see how they hold up in action! Just wanted to check in and see if there are any specific tips or tricks for using them that I should know about? I want to make sure I get the most out of these bad boys. Thanks a million, and looking forward to being part of the Glacierpro community! \uD83C\uDFD4\uFE0F" } ] }, { "TicketId": 90, "ProductId": 54, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 380, "ShortSummary": "Troubleshooting AvalanchePro Ski Backpack", "LongSummary": "Customer reports issue with AvalanchePro Ski Backpack. Requesting assistance with troubleshooting and resolving the problem. No response yet.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1366, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, my AvalanchePro Ski Backpack doesn\u0027t seem to work. Can you help? \uD83C\uDFD4\uFE0F" } ] }, { "TicketId": 91, "ProductId": 20, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 380, "ShortSummary": "Using TrekTracker GPS Watch for Orienteering", "LongSummary": "Customer inquired about using TrekTracker GPS Watch for orienteering in the forest. Assistant confirmed it\u0027s suitable. Customer is ready to test it.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1367, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, can I use the TrekTracker GPS Watch for orienteering in the forest? I heard it has built-in maps and altitude tracking, so it should work, right? Thx!" }, { "MessageId": 1368, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TrekTracker GPS Watch is specifically designed for outdoor activities such as hiking, camping, trekking, and mountaineering. It is equipped with high-resolution maps and a state-of-the-art GPS receiver compatible with multiple satellite systems. Its high-precision GPS module ensures accurate positioning and tracking, even in challenging terrain. The watch is intended for use as a navigational aid during outdoor activities, making it suitable for orienteering in the forest." }, { "MessageId": 1369, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thx, that clears it up! I\u0027m ready to go out and test it now." } ] }, { "TicketId": 92, "ProductId": 71, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 138, "ShortSummary": "Trouble using booster in remote areas", "LongSummary": "Customer purchased Signal Booster 2000, having trouble using it in remote areas. Requests guidance on how to improve signal strength in remote locations.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1370, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Trailcom Signal Booster 2000 and I\u0027m having trouble getting it to work in the way I expected. I\u0027m feeling a bit embarrassed because I thought I had followed all the instructions properly, but it\u0027s just not working for me. I\u0027m really hoping you can help me figure out what I might be doing wrong. I\u0027m especially interested in using it in remote areas, so I was really looking forward to the boost in signal strength. Any guidance or advice you can provide would be greatly appreciated. Thank you so much." } ] }, { "TicketId": 93, "ProductId": 53, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 81, "ShortSummary": "Adjusting strap guidance provided", "LongSummary": "Customer is satisfied with provided information on adjusting strap. No further assistance needed. Ticket can be closed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1371, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the IceMaster GlacierTech Snowsport Goggles and I must say, they are absolutely marvelous! However, I have a slight concern about the strap adjustment. It seems to be a tad challenging to lengthen and adjust. Could you kindly provide some guidance on how to ensure the strap is adjusted properly? I want to make sure I am getting the full benefit of this wonderful product! Thank you so much for your help." }, { "MessageId": 1372, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We are pleased to guide you through the process of adjusting the strap. Before you begin, please ensure that you are in a comfortable and well-lit area, as it is essential to have the most optimal conditions for this task. If you encounter any persistent fogging issues that cannot be resolved, please contact IceMaster Customer Support for further assistance. According to the manual, IceMaster proudly offers a limited lifetime warranty on the GlacierTech Snowsport Goggles. This warranty covers defects in materials and workmanship for the lifetime of the product from the date of purchase. In the unlikely event that your goggles have a manufacturing defect, IceMaster will repair or replace them free of charge. Please retain your proof of purchase to validate your warranty claim." }, { "MessageId": 1373, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I will make sure to follow the steps you provided and reach out to IceMaster Customer Support if I encounter any fogging issues. I appreciate your assistance!" } ] }, { "TicketId": 94, "ProductId": 97, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 381, "ShortSummary": "Concern about using bottle opener on multitool keychain", "LongSummary": "Customer is concerned about using the bottle opener on the Wanderer Multi-Tool Keychain and is looking for information on how to use it safely. Assistant provided instructions on how to use the bottle opener. Customer will try it out and provide feedback if it works.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1374, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I got the Wanderer Multi-Tool Keychain and I\u0027m a bit concerned about using the bottle opener. Can you provide more information on how to use it safely? Thanks." }, { "MessageId": 1375, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, when it\u0027s time to enjoy a cold beverage, the built-in bottle opener on the Wanderer Multi-Tool Keychain can be used by positioning the edge of the keychain under the bottle cap and applying leverage to pop it off effortlessly. I hope this helps! If you have any other questions, feel free to ask." }, { "MessageId": 1376, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information. I\u0027ll give it a try and let you know if it works. Thanks again!" } ] }, { "TicketId": 95, "ProductId": 66, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 259, "ShortSummary": "Inquiry about tent\u0027s wind \u0026 storm capabilities", "LongSummary": "Customer inquires about the SunSafe Pop-Up Beach Tent\u0027s ability to withstand strong winds and be used in a thunderstorm. Assistant advises seeking alternative shelter. Pending customer response on alternative shelter options needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1377, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there! I\u0027m considering buying the SunSafe Pop-Up Beach Tent for our upcoming beach trip. I\u0027m just wondering, can it withstand really strong winds? We\u0027re going to a windy beach and I want to make sure it won\u0027t blow away. Also, can it be used as a shelter during a sudden thunderstorm? Thanks so much for your help!" }, { "MessageId": 1378, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SunSafe Pop-Up Beach Tent is not designed to withstand strong winds or be used as a shelter during thunderstorms. It is recommended to seek alternative shelter in such conditions for your safety." } ] }, { "TicketId": 96, "ProductId": 96, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 26, "ShortSummary": "Unmet Backyard Party Expectations", "LongSummary": "Customer is upset that the Solaris 5000 does not meet expectations for backyard parties. Customer demands refund or replacement. Next support agent should clarify product features and options.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1379, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe this! I bought the Solaris 5000 to light up my backyard parties, not for camping or hiking! It\u0027s supposed to be versatile, right? I demand a refund or replacement because this is not what I signed up for. This is ridiculous!" } ] }, { "TicketId": 97, "ProductId": 53, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 382, "ShortSummary": "Lens Cleaning Solution Inquiry", "LongSummary": "Customer inquired about recommended lens cleaning solution and was provided with detailed instructions. Customer expressed satisfaction with the response.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1380, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there IceMaster Team! Just wanted to say how stoked I am about snagging a pair of your GlacierTech Snowsport Goggles. I mean, anti-fog coating AND UV protection? That\u0027s next level! But hey, quick question - do you recommend a specific lens cleaning solution for these bad boys? I want to make sure I keep \u0027em in top-notch condition for shredding the slopes. Thanks a bunch! \uD83C\uDFC2" }, { "MessageId": 1381, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, for cleaning the lenses, apply a small amount of lens cleaning solution to the microfiber cloth and gently wipe the lenses in a circular motion. After that, allow the lenses to air dry or use a second clean microfiber cloth to remove any excess cleaning solution. Additionally, the limited lifetime warranty on the GlacierTech Snowsport Goggles covers defects in materials and workmanship for the lifetime of the product from the date of purchase. IceMaster will repair or replace them free of charge in the event of manufacturing defects. Please retain your proof of purchase to validate your warranty claim. If you have any further questions or need assistance with warranty claims, feel free to reach out to us." }, { "MessageId": 1382, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks so much for the info! I used the lens cleaning solution and it worked like a charm. You guys are the best! \uD83D\uDE4C" } ] }, { "TicketId": 98, "ProductId": 136, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 383, "ShortSummary": "Faulty Solar Charger Demand Refund/Replacement", "LongSummary": "Customer purchased Solaris 500 Portable Solar Charger, fully charged it, followed care instructions, but it doesn\u0027t work. Customer demands refund or replacement. Next agent should investigate product functionality and offer resolution options.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1383, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the Solaris 500 Portable Solar Charger for my outdoor adventures, and it doesn\u0027t work at all. I made sure to fully charge it before using it, but nothing happens when I connect my devices. This is ridiculous! I followed the cleaning and storage instructions from the manual, so don\u0027t tell me I didn\u0027t take care of it properly. I demand a refund or a replacement. This product is a total disappointment!" } ] }, { "TicketId": 99, "ProductId": 130, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 122, "ShortSummary": "Speaker won\u0027t turn on despite charging", "LongSummary": "Customer unable to turn on speaker despite charging and resetting. Requesting refund or replacement. Next support agent should assess eligibility for return or refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 1384, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I bought the WildBeat Bluetooth Speaker and it won\u0027t turn on at all! Don\u0027t tell me to charge it - I already did that and the battery indicator light never comes on. I want a refund or a replacement, this is ridiculous." }, { "MessageId": 1385, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to pair the WildBeat Bluetooth Speaker with your Bluetooth device, ensure that the speaker is turned on. Then, activate the Bluetooth function on your device and select \u0022WildBeat\u0022 from the list of available devices. Once connected, the LED indicator on the speaker will turn solid blue. If you have trouble with the battery indicator light, please try charging the speaker with the provided USB charging cable. If the issue persists, please reach out to the manufacturer\u0027s support contact detailed in the user manual for further assistance." }, { "MessageId": 1386, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already told you I tried charging it and the battery indicator light never comes on. I don\u0027t care about pairing it with my device, I just want a working speaker or my money back!" }, { "MessageId": 1387, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to fully charge the WildBeat Bluetooth Speaker, use the included USB-C cable to connect the speaker to a power source. The LED indicator light on the back of the speaker will glow red while charging and turn off when fully charged. It takes approximately 3 hours to fully charge the speaker. Please ensure you use the original charging cable provided to avoid any damage to the speaker. If you have trouble with the battery indicator light, please ensure that the speaker is fully charged. If the issue persists, you may also try resetting the speaker by pressing and holding the power button for 5 seconds." }, { "MessageId": 1388, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already told you, I tried charging it with the original cable and the battery indicator light still won\u0027t come on. I even tried resetting the speaker but that didn\u0027t work either. This is so frustrating!" }, { "MessageId": 1389, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, if your WildBeat Bluetooth Speaker is not powering on, make sure the speaker is fully charged by connecting it to a power source using the included USB cable. The battery indicator light should turn on when it\u0027s charging. If you have already tried this and the issue persists, you may be eligible for a return or a refund. You can initiate a return for defective products within 1 year of purchase at https://northernmountains.example.com/support/returns. If you need further assistance, please refer to the manufacturer\u0027s support contact details in the user manual." } ] }, { "TicketId": 100, "ProductId": 70, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 3, "ShortSummary": "USB output confirmed", "LongSummary": "Customer Eleanor Montgomery confirmed USB output voltage and current. No further assistance needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 6, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Customer Support, my name is Eleanor Montgomery and I recently purchased the Juice Junkie Solar Power Bank 10000mAh. I have been using it to charge my outdoor electronics, and I want to ensure that it is performing as expected. Specifically, I would like to confirm that the USB ports are delivering the correct output voltage and current as mentioned in the product description. Could you please provide me with guidance on how to check this? I want to make sure that the power bank is functioning optimally and efficiently. Thank you for your assistance." }, { "MessageId": 7, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Eleanor Montgomery, \n\nAccording to the Juice Junkie Solar Power Bank 10000mAh user manual, the USB ports deliver an output voltage of 5V and a maximum output current of 2.1A. You can measure the USB output current using a multimeter to ensure optimal performance. Follow the steps in the manual for accurate measurement. The product also features a high-efficiency monocrystalline solar panel with a peak power output of 1.8W. If you have any further questions, feel free to ask. Thank you for choosing Juice Junkie! AdventureWorks Support" }, { "MessageId": 8, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, thank you for providing the information on how to measure the USB output current using a multimeter. I have followed the steps in the manual and confirmed that the USB ports are delivering the correct output voltage and current as mentioned. I appreciate your prompt assistance in resolving my query. Thank you for your help. Best regards, Eleanor Montgomery" } ] }, { "TicketId": 101, "ProductId": 15, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 4, "ShortSummary": "Retailer seeking fast charging details", "LongSummary": "Retailer Alexandra Miller seeks detailed info on AdventurePro 1000 fast charging and troubleshooting tips to share with customers. Next support agent should provide detailed information on fast charging technology and troubleshooting tips.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 9, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureElec Customer Support,\n\nI am a retailer who stocks the AdventurePro 1000 power bank and I have been receiving customer enquiries regarding the fast charging feature of this product. Can you provide me with more detailed information on how the fast charging technology works and any troubleshooting tips that I can share with my customers? Your assistance in this matter would be greatly appreciated. Thank you.\n\nSincerely, \nAlexandra Miller" }, { "MessageId": 10, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Alexandra Miller, \n\nThank you for reaching out to AdventureElec Customer Support. The AdventurePro 1000 power bank uses fast charging technology to quickly charge your devices. Simply connect the power bank to a power source using the included Micro-USB charging cable, and the LED indicator lights will show the current battery status. Additionally, the power bank features multiple USB ports, allowing you to charge multiple devices simultaneously. As for warranty and repair options, AdventureElec offers a 1-year limited warranty for the AdventurePro 1000. If you need to make a warranty claim, please contact AdventureElec customer service at warranty@adventureelec.com with the original proof of purchase and a detailed description of the issue. Thank you for your support! \n\nSincerely, \nAdventureWorks Support" } ] }, { "TicketId": 102, "ProductId": 133, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 5, "ShortSummary": "MOLLE system attachment instructions for TactiX 3000 backpack.", "LongSummary": "Customer Evan Thompson asked for information on how to properly attach accessories using the MOLLE system on the TactiX 3000 backpack. Assistant provided detailed instructions on the location and functionality of the MOLLE system. Pending: Feedback on trying the instructions provided.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 11, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I recently purchased the TactiX 3000 backpack and I\u0027m having trouble with the MOLLE system. Can you provide more information on how to properly attach accessories using the MOLLE system? Thanks." }, { "MessageId": 12, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The MOLLE system on the TactiX 3000 backpack allows you to easily attach pouches, pockets, and other accessories to expand the functionality of your backpack. This system is essential for increasing the carrying capacity and customizing the layout to suit your specific needs. According to the manual, it allows for complete customization of the pack\u0027s layout without the need for additional tools or hardware. You can attach pouches for water bottles, first aid kits, or additional storage pockets. I hope this helps!" }, { "MessageId": 13, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information. I\u0027ll give it a try and let you know how it goes." }, { "MessageId": 14, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The MOLLE system on the TactiX 3000 backpack is located on the front and sides of the pack, indicated by the rows of sturdy webbing in tactical black. It allows you to easily attach pouches, pockets, and other accessories to expand the functionality of your backpack. According to the manual, it allows for complete customization of the pack\u0027s layout without the need for additional tools or hardware. You can attach pouches for water bottles, first aid kits, or additional storage pockets, enhancing the versatility of the backpack." } ] }, { "TicketId": 103, "ProductId": 25, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 6, "ShortSummary": "Tool issues resolved with guidance", "LongSummary": "Customer had trouble with quick-release lever and attachments, but guidance helped resolve issues. No further assistance needed.", "CustomerSatisfaction": 8, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 15, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the TerraScoop Excavation Tool from DigDigDig and I\u0027m having some trouble with it. I tried using the quick-release lever to adjust the angle and depth, but it doesn\u0027t seem to be working at all. I was really looking forward to the convenience of this feature, so I\u0027m quite disappointed. I also tried to attach some additional accessories as mentioned in the manual, but the tool doesn\u0027t seem to accommodate them properly. I must say, I had high hopes for the versatility of this tool, but it\u0027s not living up to my expectations. Can you please provide some guidance on how to make these features work? I really want to make the most out of my TerraScoop Excavation Tool. Thank you for your help." }, { "MessageId": 16, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear valued customer, thank you for reaching out to us about your experience with the TerraScoop Excavation Tool. We appreciate your feedback and are here to assist you. Based on the product manual, it seems that the TerraScoop Excavation Tool is designed to provide exceptional performance and versatility in outdoor applications. We understand your concerns about the quick-release lever and accommodation of additional accessories. To address this, we recommend checking the assembly and usage sections of the manual for detailed instructions and troubleshooting tips. If you need further assistance, please feel free to reach out to us. We are committed to ensuring your satisfaction with our products." }, { "MessageId": 17, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, thank you for your response! I did try to follow the manual\u0027s instructions again, but unfortunately, I\u0027m still having the same issues with the quick-release lever and attaching additional accessories. I really want to make the most out of this tool, so I\u0027m a bit disappointed that I\u0027m still facing these difficulties. Could you provide more specific guidance on troubleshooting these problems? I appreciate your help!" }, { "MessageId": 18, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear valued customer, according to the product manual, the quick-release lever is designed to allow for swift and effortless adjustment of the tool\u0027s angle and depth. Simply depress the quick-release lever and move the TerraScoop Excavation Tool to your desired position, then release the lever to lock the tool in place. Additionally, for attaching additional accessories, please refer to section 6.2 of the manual for a comprehensive list of compatible attachments and instructions for their installation. We hope this guidance helps you make the most out of your TerraScoop Excavation Tool. If you need further assistance, please don\u0027t hesitate to reach out to us. Thank you for choosing AdventureWorks!" }, { "MessageId": 19, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the guidance! I followed the instructions again and I was finally able to adjust the angle and depth using the quick-release lever. It turns out I wasn\u0027t pressing the lever down far enough before trying to move the tool. As for the accessories, I realized that I was trying to attach the wrong ones! I found the correct attachments and now everything seems to be working perfectly. I can\u0027t believe I didn\u0027t notice these simple mistakes before. Thank you for your help, I\u0027m really happy with my TerraScoop Excavation Tool now!" } ] }, { "TicketId": 104, "ProductId": 22, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 7, "ShortSummary": "Product care inquiry for Summit 45L Backpack", "LongSummary": "Customer seeks guidance on cleaning and storing Summit 45L Technical Backpack. Assistant provided cleaning instructions and warranty details. No pending issues. Further assistance may be needed for specific product care advice.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 20, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Peakpacker Summit 45L Technical Backpack for my store, and I\u0027ve had a few customers asking about the proper way to clean and store the backpack. I realize I may not have provided clear instructions when selling the product, and I want to make sure our customers have all the information they need to care for their purchase. Can you provide some guidance on how to clean and store the backpack to maintain its quality and longevity? Any help would be greatly appreciated. Thanks!" }, { "MessageId": 21, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To clean the Summit 45L Technical Backpack, simply wipe it down with a damp cloth and mild soap, avoiding harsh chemicals or abrasive materials. You can also ensure that all straps are adjusted to fit your body comfortably before using the backpack for your adventure. For warranty and repair options, please refer to the user manual for detailed instructions. If you have any further questions, feel free to reach out to us." }, { "MessageId": 22, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information! I will make sure to clean the backpack as instructed and adjust the straps properly. If I encounter any further issues, I will reach out to you. Thanks again for your help!" } ] }, { "TicketId": 105, "ProductId": 139, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "GPS signal issues on SmartCyclo Bike Computer", "LongSummary": "Customer is experiencing GPS signal issues with SmartCyclo Bike Computer. Asked for troubleshooting assistance despite proper configuration. Next agent should provide detailed troubleshooting steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 23, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear WheelWise Support Team,\n\nI recently purchased the SmartCyclo GPS Bike Computer and have been experiencing some trouble with the navigation feature. Despite being in open outdoor areas, the device seems to have difficulty connecting to a stable GPS signal. I have also checked and verified that the navigation settings are properly configured as per the manual. Could you please provide some troubleshooting assistance to resolve this issue? Thank you in advance for your help.\n\nSincerely, \nEvelyn Park" } ] }, { "TicketId": 106, "ProductId": 10, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 9, "ShortSummary": "TechBeam 2000 brightness issue", "LongSummary": "TechBeam 2000\u0027s brightness feature not working. Customer considering refund or replacement. Assistant provided info on warranty coverage and troubleshooting. Next response should offer to initiate return or repair under warranty.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 24, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the TechBeam 2000 is acting up already! I just bought it and the brightness adjustment feature is not working as it should. I need reassurance that this product is reliable and will perform as advertised. If it doesn\u0027t improve, I may have to consider a refund or replacement. This is really frustrating!" }, { "MessageId": 25, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the TechBeam 2000 is covered by a limited warranty against defects in materials and workmanship for a period of one year from the date of purchase. If the brightness issue persists, you may be eligible for a return or repair under the warranty. For troubleshooting, it is essential to address the issues promptly to avoid any potential hazards or damage to the product." } ] }, { "TicketId": 107, "ProductId": 189, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 10, "ShortSummary": "Confusing usage instructions for emergency blanket and multi-tool", "LongSummary": "Customer needs clear instructions for emergency blanket and multi-tool. Threatening refund. Next agent should provide detailed, step-by-step guide for both items.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 26, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this Survivor Kit 2000! I can\u0027t figure out how to use the emergency blanket and multi-tool. I need clear, step-by-step instructions that actually make sense. I spent good money on this kit and I expect it to be user-friendly. Can someone please help me with this before I demand a refund?" } ] }, { "TicketId": 108, "ProductId": 179, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 11, "ShortSummary": "AquaPro 3000 kayak seat discomfort", "LongSummary": "Customer is frustrated with the discomfort of the kayak seat and has tried adjusting it multiple times without success. Next agent should provide alternative solutions or offer to escalate the issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 27, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the AquaPro 3000 and have been experiencing some discomfort with the buoyant kayak seat. I\u0027ve tried adjusting it following the manual\u0027s instructions, but I still feel like I\u0027m not getting the proper support. I\u0027m starting to wonder if I\u0027m doing something wrong, or if there\u0027s an issue with the seat itself. I really want to enjoy my time on the water, so I\u0027m hoping you can help reassure me that the product is behaving as expected. Any advice or guidance would be greatly appreciated. Thank you." }, { "MessageId": 28, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the AquaPro 3000\u0027s buoyant kayak seat is designed to provide maximum comfort and stability. It can be adjusted using the adjustable straps located underneath the seat. You can pull on the straps to tighten or loosen the seat as needed. It\u0027s also important to ensure that the kayak seat provides sufficient buoyancy before heading out on the water. Have you checked the seat for any visible signs of damage or wear that may affect its buoyancy?" }, { "MessageId": 29, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve checked the seat for any signs of damage or wear, and everything looks fine. I\u0027ve also tried adjusting the straps underneath the seat, but I\u0027m still not feeling the proper support. I really want to enjoy my time on the water, so I\u0027m starting to feel frustrated and disappointed. Is there anything else I can try to improve the comfort of the kayak seat?" }, { "MessageId": 30, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the product manual, to improve the comfort of the kayak seat, I recommend the following: - Sit in the kayak with the seat adjusted to your preferred position and ensure that it provides adequate support for your back and hips. - To adjust the kayak seat, locate the adjustment strap underneath the seat and pull the strap to loosen or tighten the seat according to your preference. Make sure the seat is secure before paddling. If you are still experiencing discomfort, please do not hesitate to contact PaddlePower customer service for further assistance." }, { "MessageId": 31, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried adjusting the kayak seat again following your instructions, but I\u0027m still not getting the proper support. I really want to enjoy my time on the water, so I\u0027m feeling quite frustrated and disappointed. Is there anything else I can try to improve the comfort of the kayak seat?" }, { "MessageId": 32, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, ensure that the seat provides adequate support for your back and hips when sitting in the kayak. Additionally, check that the seat is securely fastened to the kayak before paddling. If you are still experiencing discomfort, please consider contacting PaddlePower customer service for further assistance." }, { "MessageId": 33, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried adjusting the kayak seat again following your instructions, but I\u0027m still not getting the proper support. I really want to enjoy my time on the water, so I\u0027m feeling quite frustrated and disappointed. Is there anything else I can try to improve the comfort of the kayak seat?" } ] }, { "TicketId": 109, "ProductId": 72, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 12, "ShortSummary": "Technical inquiry on transducer functionality", "LongSummary": "Retailer Eliot Chang seeks technical insight on transducer functionality in different water conditions for Angler\u0027s Choice Pro Fish Finder 500. Pending question about transducer impact on accurate fish location.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 34, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings, I am Eliot Chang from [Retailer Name]. As a fellow retailer of the Angler\u0027s Choice Pro Fish Finder 500, I would like to engage in a technical discussion regarding the sonar technology integrated into this product. I am particularly interested in understanding the transducer mounting and its impact on accurate fish location. Can we delve into the intricacies of the transducer\u0027s functionality in different water conditions? Your insights will not only benefit my own understanding but also assist in resolving customer queries effectively. Looking forward to a stimulating exchange of technical expertise." } ] }, { "TicketId": 110, "ProductId": 133, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 14, "ShortSummary": "Cleaning tips for MOLLE webbing and hydration system", "LongSummary": "Retailer asks for MOLLE webbing \u0026 hydration cleaning tips. Assistant provides detailed steps. Customer satisfied with results.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 38, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello Strategicgear, I am an authorized retailer who stocks the TactiX 3000 tactical backpack. I have been receiving enquiries from our customers regarding the care and maintenance of this product, particularly in relation to the MOLLE system and hydration compatibility. Could you provide detailed information on how to properly clean and maintain the MOLLE webbing, as well as the recommended cleaning process for the hydration bladder and hose? Our customers are eager to ensure the longevity and functionality of their TactiX 3000, and having comprehensive knowledge on these technical aspects will greatly assist us in addressing their concerns. Thank you for your assistance in this matter." }, { "MessageId": 39, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, it is important to clean the MOLLE system periodically, inspecting it for wear or fraying. If any damage is found, carefully trim any loose threads and reinforce the area with a small amount of clear adhesive. When it comes to cleaning the hydration bladder and hose, it is recommended to use a specialized hydration system cleaning kit to ensure thorough cleaning and to air dry the bladder and hose completely after cleaning. These steps will help ensure the longevity and functionality of the TactiX 3000. If you have further questions, feel free to reach out to us. Thank you for choosing Strategicgear and AdventureWorks Support." }, { "MessageId": 40, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. I have followed the recommended steps for cleaning and maintaining the MOLLE system and the hydration bladder and hose. So far, the results have been satisfactory and our customers are pleased with the detailed instructions. I appreciate your prompt and thorough assistance in addressing our concerns. Please consider this enquiry resolved. Thank you." } ] }, { "TicketId": 111, "ProductId": 190, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Durability Concern with UltraLight Poles 300", "LongSummary": "Customer Evelyn Park is unhappy with the durability of the UltraLight Poles 300, questioning the claimed quality and industry standards. She is seeking reassurance or a replacement.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 41, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the UltraLight Poles 300 and they claim to be durable, but mine already have noticeable dents after just a few uses. What kind of quality is this? I expect better from a product that claims to adhere to industry standards. I need reassurance that these poles are actually as durable as they claim to be, or I will be asking for a replacement." } ] }, { "TicketId": 112, "ProductId": 147, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 15, "ShortSummary": "Inquiry about underwater use", "LongSummary": "Customer enquired about using SkyMaster X2000 underwater, was informed it\u0027s only for aerial use. Requires assistance finding alternative for underwater footage.", "CustomerSatisfaction": 5, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 42, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I just bought the SkyMaster X2000 drone and I\u0027m so excited to use it for capturing stunning underwater footage! I think it\u0027s waterproof since it\u0027s so advanced, right? I can\u0027t wait to see the fish and coral reefs from a whole new perspective. Do you have any tips for using it underwater? Thanks so much!" }, { "MessageId": 43, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SkyMaster X2000 is designed for aerial photography and videography, featuring a high-quality 4K camera. For detailed specifications and technical information, please refer to the user manual. If you have specific questions about using the drone underwater, refer to the \u0027SkyMaster X2000 user manual\u0027 for guidance." }, { "MessageId": 44, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, I didn\u0027t realize the SkyMaster X2000 was only for aerial use! I guess I\u0027ll have to find another way to capture underwater footage. Thanks for letting me know." } ] }, { "TicketId": 113, "ProductId": 200, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 16, "ShortSummary": "Raptor Tactical Backpack suitability for heavy loads", "LongSummary": "Customer purchased Raptor Tactical Backpack without research. Asked if suitable for heavy loads. Received information on functionality and durability. Customer plans to try backpack on shorter hike first.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 45, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Raptor Tactical Backpack for an upcoming hiking trip, and I\u0027m wondering if it\u0027s suitable for carrying heavy loads over long distances. I\u0027m a bit embarrassed because I didn\u0027t do any research before purchasing, so I\u0027m not sure if it\u0027s the right choice for my needs. Any information or advice would be greatly appreciated. Thank you!" }, { "MessageId": 46, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Raptor Tactical Backpack is designed to meet the demanding requirements of modern missions and operations, with a focus on functionality, durability, and exceptional durability and functionality." }, { "MessageId": 47, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, I feel so silly for not doing my research before purchasing. Thank you for the information! I\u0027ll definitely keep that in mind and give the backpack a try on a shorter hike first. I\u0027m sure it will work out just fine. Thanks again for your help!" } ] }, { "TicketId": 114, "ProductId": 10, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 17, "ShortSummary": "Inquiry about emergency use", "LongSummary": "Customer wants to use TechBeam 2000 for emergency communication and navigation but was advised it\u0027s not suitable. Customer is now aware and may have other questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 48, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the TechBeam 2000 for my upcoming camping trip and I\u0027m planning to use it as a signaling device in case of emergency. I\u0027m confident that the adjustable brightness and long battery life will make it perfect for this unexpected purpose. Can you provide me with some tips on how to use it for emergency communication and navigation? Thanks so much!" }, { "MessageId": 49, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry, but the TechBeam 2000 is not recommended for emergency communication and navigation. It is advised to seek alternative methods for these purposes. Your safety is our top priority, and we want to ensure you have reliable equipment for your camping trip. If you have any other questions or need further assistance, feel free to ask!" }, { "MessageId": 50, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, I didn\u0027t realize that the TechBeam 2000 isn\u0027t suitable for emergency communication and navigation. Thank you for letting me know! I\u0027ll look into alternative methods for these purposes. If I have any other questions, I\u0027ll be sure to reach out. Thanks again for your help!" } ] }, { "TicketId": 115, "ProductId": 63, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 18, "ShortSummary": "Inquiry about Solar-Powered String Lights", "LongSummary": "Evelyn Gardner inquires about product specifications, safety measures, and maintenance tips for Solar-Powered String Lights. The assistant provides detailed information and offers further assistance if needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 51, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Luminartech team, I am reaching out on behalf of our retail store as we have received inquiries from our customers regarding the Solar-Powered String Lights. Can you please provide us with detailed information on the product specifications, including the safety measures for the solar panel and battery? Additionally, if there are any common maintenance issues or troubleshooting tips that we can pass on to our customers, it would be greatly appreciated. Thank you for your prompt assistance. Sincerely, Evelyn Gardner" }, { "MessageId": 52, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Evelyn Gardner, \n\nThank you for reaching out to us. According to the Luminartech Solar-Powered String Lights user manual, the solar panel should be placed in direct sunlight for at least 6-8 hours to fully charge the battery. It\u0027s important to check the solar panel regularly to ensure it is not obstructed by any objects and to clean it if necessary. Additionally, inspect the rechargeable batteries and replace them if needed. For common maintenance, it\u0027s recommended to store the lights in a safe, dry place when not in use to prevent damage and prolong their lifespan. If any troubleshooting is needed, please follow the steps provided in the manual. If further assistance is required, please feel free to contact Luminartech customer support. We hope this information is helpful for your customers. \n\nSincerely, \nAdventureWorks Support" }, { "MessageId": 53, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, thank you for your prompt response. We have implemented the recommendations provided in the user manual for the Solar-Powered String Lights. The information on product specifications and safety measures for the solar panel and battery is also very helpful. We will pass on this valuable information to our customers. If we encounter any further issues, we will not hesitate to reach out to Luminartech customer support. Sincerely, Evelyn Gardner" }, { "MessageId": 54, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Evelyn Gardner, \n\nThank you for your feedback. We\u0027re thrilled to hear that the information provided in the user manual was helpful. If you have any further questions or need assistance in the future, please don\u0027t hesitate to reach out to us. We\u0027re here to help. \n\nSincerely, \nAdventureWorks Support" } ] }, { "TicketId": 116, "ProductId": 61, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 19, "ShortSummary": "Inquiry about Satellite Communicator 2000 for Himalayas adventure", "LongSummary": "Customer is excited about using the Satellite Communicator 2000 in the Himalayas and asked about its reliability in extreme altitudes and harsh weather. Assistant confirmed its suitability and advised to refer to the user manual for specific details. Customer is now all set for the adventure.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 55, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there Adventure Link team! I\u0027m super excited about the Satellite Communicator 2000 and all its amazing features! I\u0027m planning a big off-grid adventure and I need to know if this device will work in the Himalayas. Can it handle extreme altitudes and harsh weather conditions? I\u0027ve heard it has an SOS feature that can be a real life-saver, but I want to make sure it\u0027s reliable before I head out. Any info you can provide would be awesome! Thanks a bunch!" }, { "MessageId": 56, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Satellite Communicator 2000 is built tough and can handle extreme altitudes and harsh weather conditions. However, for specific details on its performance in the Himalayas, please refer to the user manual. It is important to handle the device with care and store it in a cool, dry place away from direct sunlight and extreme temperatures when not in use." }, { "MessageId": 57, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Thanks so much for the info! I checked the user manual and it looks like the Satellite Communicator 2000 is good to go for the Himalayas. I\u0027m all set and ready to conquer those mountains! You guys are the best!" } ] }, { "TicketId": 117, "ProductId": 150, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 20, "ShortSummary": "Sprayer troubleshooting for Outdoor Shield Pro", "LongSummary": "Customer needs help troubleshooting sprayer issue on Outdoor Shield Pro. Asked about replacement if issue persists. Next agent should provide detailed troubleshooting steps or initiate replacement process if necessary.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 58, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Outdoor Shield Pro from Buzzoff and I\u0027m having trouble getting the sprayer to work. I\u0027ve tried tightening the cap and checking for any debris, but it still won\u0027t spray. I really rely on this product to keep bugs away during my camping trips, so I\u0027d appreciate any help in getting it to work properly. Should I ask for a replacement? Thanks for your help!" }, { "MessageId": 59, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi there, based on the product manual, it\u0027s recommended to ensure that the cap is securely tightened onto the bottle to prevent leakage and maintain the effectiveness of the repellent. Also, check that the nozzle is not clogged with any debris. If it is, rinse it with warm water and try spraying again. If you\u0027ve already tried these steps and it\u0027s still not working, please let us know and we\u0027ll assist further." } ] }, { "TicketId": 118, "ProductId": 58, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 21, "ShortSummary": "Inquiry about GPS Locator for Hiking Trip", "LongSummary": "Customer interested in SafeTrail GPS Locator for hiking trip. Asking about accuracy, reliability, and customizability of alerts. Pending response on specifics of alerts.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 60, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m interested in the SafeTrail GPS Locator from GuardianGear for my upcoming hiking trip. Can you provide more information on its accuracy and reliability in real-time tracking? Also, how customizable are the alerts? Thanks!" } ] }, { "TicketId": 119, "ProductId": 64, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 22, "ShortSummary": "Water Purifier 1000 not working", "LongSummary": "Customer reports Portable Water Purifier 1000 not working. Assistant asks if water reservoir filled and purification process followed. Pending response from customer.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 61, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I bought the Portable Water Purifier 1000 and it\u0027s not working. Can you help me fix it or get a replacement?" }, { "MessageId": 62, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience you\u0027re experiencing with the Portable Water Purifier 1000. Have you tried filling the water reservoir and following the purification process as outlined in the manual? If that doesn\u0027t resolve the issue, please let me know and I can help you further." } ] }, { "TicketId": 120, "ProductId": 24, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Sleeping Bag Rolling and Carrying Bag Repair Inquiry", "LongSummary": "Customer inquired about issues with the Arctic Dream 0\u00B0F Sleeping Bag. Support provided tips for rolling and repairing the carrying bag. Pending customer feedback.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 64, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Base Camp Comfort team, \n\nI am reaching out on behalf of our retail store, and we have recently received some customer inquiries regarding the Arctic Dream 0\u00B0F Sleeping Bag. Our customers have mentioned difficulties with rolling up the sleeping bag for storage, as well as issues with the carrying bag tearing. We would appreciate any advice or guidance you can provide to assist our customers with these concerns. Additionally, if there are any specific tips or techniques for addressing these issues, please do let us know. Thank you for your attention to this matter. We look forward to your prompt response. \n\nSincerely, \nEvelyn Park" }, { "MessageId": 65, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Evelyn Park, \n\nThank you for reaching out to us regarding the Arctic Dream 0\u00B0F Sleeping Bag. We understand the concerns your customers have raised and would like to offer some guidance to assist them. \n\n1. Rolling Up the Sleeping Bag: If they are having trouble rolling up the sleeping bag for storage, we recommend folding it along the existing creases and applying firm but gentle pressure to remove excess air. If the bag remains difficult to roll, they can consider using a larger storage sack or compression straps to aid in the packing process.\n\n2. Carrying Bag Tearing: If the carrying bag has torn, it can be repaired using a durable fabric patch and fabric glue. They should clean the torn area, apply the adhesive following the manufacturer\u0027s instructions, and press the patch firmly in place. Allow sufficient time for the adhesive to dry before using the carrying bag again. \n\nAdditionally, for storing the sleeping bag, we recommend using a large cotton storage bag to allow the insulation to remain lofty, and to ensure the sleeping bag is completely clean and dry before storage to prevent mildew or odors from developing. \n\nWe hope this information is helpful. If your customers require further assistance, please do not hesitate to contact us. \n\nSincerely, \nAdventureWorks Support" }, { "MessageId": 66, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, Thank you for your prompt and thorough response. We will relay the information you provided to our customers and encourage them to try your suggestions. Should they encounter any further issues, we will be sure to reach out to you. Once again, thank you for your attention to this matter." } ] }, { "TicketId": 121, "ProductId": 37, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 24, "ShortSummary": "Customer frustrated with lack of clear instructions", "LongSummary": "Customer frustrated with lack of clear instructions for whistle, compass, and poncho. Demands simple instructions. Needs clear, simple response with instructions for each tool.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 67, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely frustrated with this Wild Guard Outdoor First Aid Kit! I can\u0027t understand how to use half of the items in here. It\u0027s supposed to be compact and easy to use, but it\u0027s just causing me more stress. I need clear instructions on how to use the whistle, compass, and emergency poncho. This is not what I expected when I made the purchase. Can someone please help me figure this out?" }, { "MessageId": 68, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Wild Guard Outdoor First Aid Kit includes a variety of tools for outdoor safety. The bright red emergency whistle is used to signal for help in case of emergency. The reflective blanket can be used to stay warm and visible at night. Additionally, the compass in the kit is intended for general outdoor navigation. If you have any further questions about the use of these tools, please refer to the user manual for detailed instructions." }, { "MessageId": 69, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the user manual! I shouldn\u0027t have to read a manual just to figure out basic survival tools. This is ridiculous. I demand clear and simple instructions that should have been provided with the kit in the first place!" }, { "MessageId": 70, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, in the event of an emergency, the bright red emergency whistle included in the Wild Guard Outdoor First Aid Kit is used to signal for help. The reflective blanket is used to stay warm and visible at night. Additionally, when using the kit in remote areas, ensure that you have a method of communication and can provide clear directions to your location in case of an emergency. If you need further assistance, please feel free to reach out to us." } ] }, { "TicketId": 122, "ProductId": 158, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 25, "ShortSummary": "Demanding replacement for HydraHike Hydration Pack", "LongSummary": "Customer demands a replacement or full refund for the HydraHike Hydration Pack, insisting it should be able to carry a laptop and books. Customer is dissatisfied with the product\u0027s functionality and expects immediate action.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 71, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand that you provide me with a replacement HydraHike Hydration Pack immediately! I tried to use it to carry my laptop and some books, but the compartments aren\u0027t big enough. This is unacceptable and I expect you to rectify this situation immediately." }, { "MessageId": 72, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us. According to the manual, the HydraHike Hydration Pack is designed with multiple pockets and compartments, including a special one for your phone, one for snacks, and one for your keys. It is primarily intended for hydration and may not be suitable for carrying a laptop and books. If you have any further questions or need assistance with another product, feel free to ask. Have a great day!" }, { "MessageId": 73, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the manual! I expect the hydration pack to be able to carry my laptop and books, and it\u0027s not doing that. This is unacceptable and I demand a replacement or a full refund immediately!" } ] }, { "TicketId": 123, "ProductId": 49, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 26, "ShortSummary": "Hiking boots scuffed at fancy dinner party", "LongSummary": "Customer is upset that the hiking boots got scuffed at a fancy dinner party. Asked for refund or replacement. Assistant recommended reaching out to TrekMaven support for warranty details.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 74, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the manual says these boots are for rugged terrain and tough landscapes. I wore them to a fancy dinner party and they got scuffed up! This is not what I expected. I demand a refund or replacement for these so-called \u0027hiking boots\u0027." }, { "MessageId": 75, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Summit Hiking Boots are designed for rugged terrain and tough landscapes, and they are also equipped with waterproof protection to keep your feet dry and comfortable in wet conditions. There is a section in the manual about unboxing the boots and getting started. However, I couldn\u0027t find specific warranty information. I recommend reaching out to TrekMaven support for warranty details." } ] }, { "TicketId": 124, "ProductId": 120, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 27, "ShortSummary": "Inquiry about waterproofing and zipper strength", "LongSummary": "Customer inquiring about ArcticPro jacket waterproofing, sealing, and zipper strength specifications. Customer will conduct tests and contact manufacturer if needed.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 76, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the ArcticPro Insulated Ski Jacket by Frost Flare for my upcoming ski trip. I would like to inquire about the waterproofing and sealing features of the jacket. Can you provide detailed information on the effectiveness of the waterproof membrane and the standard waterproofing tester used for conducting the water penetration test? Additionally, I am interested in the seam sealing techniques outlined in research paper RP-ARCTICPRO-SEAM. Any insight on the zipper strength specifications and the industry-approved zipper tester would be greatly appreciated as well. Thank you for your assistance." }, { "MessageId": 77, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The ArcticPro Insulated Ski Jacket is designed with FrostShield technology to repel moisture and keep you dry, providing reliable protection against snow, sleet, and rain with a minimum water column resistance of 20,000 mm. In case of waterproofing and sealing issues, troubleshooting steps are outlined in the manual. Additionally, the zipper functionality can be tested using an industry-approved zipper tester, and standard code IS-ARCTICPRO-ZIP provides zipper strength specifications. If you require further assistance, feel free to contact the manufacturer\u0027s support as outlined in the user manual." }, { "MessageId": 78, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. I have reviewed the manual and found the troubleshooting steps for waterproofing and sealing issues. I will conduct the water penetration test using the industry-approved waterproofing tester as per your suggestion. I will also test the zipper functionality using the industry-approved zipper tester and compare the results with the specifications outlined in code IS-ARCTICPRO-ZIP. I appreciate your assistance and will contact the manufacturer\u0027s support if further help is needed." } ] }, { "TicketId": 125, "ProductId": 164, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 28, "ShortSummary": "Trouble with Excavator Pro 8000 attachment tilt \u0026 rotation", "LongSummary": "Customer is struggling with operating the attachment tilt and rotation on the Excavator Pro 8000. They have read the manual but still need guidance. They are looking for someone to walk them through the process or provide some guidance. They want to ensure they are using the equipment properly.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 79, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the MantleMaster Excavator Pro 8000 and I\u0027m having some trouble with operating the attachment tilt and rotation. I feel like I must be doing something wrong and I\u0027m a bit embarrassed to admit it. I\u0027ve tried reading through the manual, but I\u0027m still struggling. Is there anyone who can walk me through the process or provide some guidance? I really want to make sure I\u0027m using this equipment properly. Thank you for your help." } ] }, { "TicketId": 126, "ProductId": 100, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 29, "ShortSummary": "Quality and Durability Inquiry", "LongSummary": "Customer requests detailed info on accessing water and durability of tube and bite valve. Response needed about the quality and durability of the tube and bite valve.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 80, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I need to know exactly how easy it is to access the water while wearing the Ridge Runner Hydration Pack. I expect a detailed response before I make a purchase. And it better be good!" }, { "MessageId": 81, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to access water while wearing the Ridge Runner Hydration Pack, you simply use the attached tube and bite valve. Sip from the valve and stay refreshed during all of your outdoor adventures!" }, { "MessageId": 82, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand more information about the quality and durability of the tube and bite valve. I need to know that they won\u0027t break or leak after just a few uses. This is important to me!" } ] }, { "TicketId": 127, "ProductId": 66, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 30, "ShortSummary": "Broken beach tent replacement request", "LongSummary": "Customer needs replacement for broken beach tent, warranty discussed, urgency expressed.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 83, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tent broke at the beach. Need help fixing or replacing it." }, { "MessageId": 84, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear about the issue with your SunSafe Pop-Up Beach Tent. The tent is designed for sun protection and is not recommended for use in inclement weather. If the tent has suffered damage due to extreme weather or misuse, it may not be covered under the warranty. However, if the damage is due to a manufacturing defect, it may be covered for up to 6 months from the date of purchase. If you have any further questions or need assistance, please don\u0027t hesitate to contact Shade Scape Customer Support for help." }, { "MessageId": 85, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tent is definitely broken. Need a replacement ASAP." }, { "MessageId": 86, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand that the tent is broken, and we apologize for any inconvenience this has caused. According to the limited warranty provided by Shade Scape, manufacturing defects are covered for up to 6 months from the date of purchase. However, please note that any modifications made to the tent will void the warranty. If you believe the damage is due to a manufacturing defect, please contact Shade Scape Customer Support for further assistance." }, { "MessageId": 87, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tent still broken. Need replacement now." }, { "MessageId": 88, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand your urgency and apologize for the inconvenience. According to the limited warranty, manufacturing defects are covered for up to 6 months from the date of purchase. It\u0027s important to note that the SunSafe Pop-Up Beach Tent is intended for sun protection and is not suitable for use in inclement weather. If you believe the damage is due to a manufacturing defect, please contact Shade Scape Customer Support for further assistance. You can find their contact details in the user manual." }, { "MessageId": 89, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tent still broken. Want replacement now." } ] }, { "TicketId": 128, "ProductId": 102, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 31, "ShortSummary": "Defective kayak paddle, seeking refund", "LongSummary": "Customer is experiencing issues with Voyager Kayak Paddle, followed manual, still not working. Asked for fix or replacement. Assistant suggested initiating a return for refund.", "CustomerSatisfaction": 2, "TicketStatus": "Closed", "TicketType": "Returns", "Messages": [ { "MessageId": 90, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Paddle doesn\u0027t work, need help. Fix or replace." }, { "MessageId": 91, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "When attaching the Voyager Kayak Paddle to the kayak, it\u0027s crucial for stability and maneuverability. Follow the steps outlined in the manual for proper attachment. If you are still experiencing issues, please let us know for further assistance." }, { "MessageId": 92, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried following the manual, still not working. Please fix or replace." }, { "MessageId": 93, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for providing feedback on the Voyager Kayak Paddle. We understand that you\u0027ve followed the manual, and we apologize for any inconvenience caused. Please initiate a return for a refund as the paddle seems to be defective. You can do this within 1 year of purchase at: [Support Returns](https://northernmountains.example.com/support/returns). If you need further assistance, please let us know." } ] }, { "TicketId": 129, "ProductId": 150, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 32, "ShortSummary": "Outdoor Shield Pro Effectiveness Issue", "LongSummary": "Customer Evelyn Chang is experiencing issues with Buzzoff\u0027s Outdoor Shield Pro effectiveness against bugs. She followed the instructions and reapplied as needed, but still getting bitten. She\u0027s seeking guidance on making the product work more effectively.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 94, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Outdoor Shield Pro from Buzzoff and I\u0027m experiencing some issues with its effectiveness. I followed the instructions and reapplied as needed, but I still found myself getting bitten by bugs. I was hoping to get some guidance on how to make the product work more effectively, as I really want to be able to enjoy my outdoor activities without the nuisance of insects. Thank you for your help." } ] }, { "TicketId": 130, "ProductId": 142, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 34, "ShortSummary": "Urgent Hammock Replacement Request", "LongSummary": "Customer is extremely disappointed with the UltraLight Camping Hammock. Demands a prompt solution, either a refund or replacement. Wants to escalate the issue and expects a swift response.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 98, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely disappointed with the Dreamscape UltraLight Camping Hammock. It doesn\u0027t work at all and I demand a solution to this problem immediately. I spent good money on this product and expected it to live up to its description of being \u0027perfect for backpacking and adventure travel\u0027. It\u0027s a complete letdown and I want either a refund or a replacement. This is unacceptable and I expect a prompt response and resolution to this issue." }, { "MessageId": 99, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience you\u0027ve experienced with the Dreamscape UltraLight Camping Hammock. We are committed to resolving this issue promptly. According to the product manual, the hammock should be stored properly when not in use to keep it in top condition. Additionally, it provides instructions for unboxing and hanging the hammock. We will also investigate the warranty and troubleshooting information for further assistance. Thank you for your patience." } ] }, { "TicketId": 131, "ProductId": 37, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 35, "ShortSummary": "Wildlife Safety Procedures Inquiry", "LongSummary": "Customer inquired about wildlife safety procedures when using the first aid kit. Assistant provided detailed information and customer is now prepared. No further questions at the moment.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 100, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Wild Guard Outdoor First Aid Kit and I noticed in the manual that it mentions being cautious of wildlife encounters. I understand the importance of wildlife safety, but I\u0027m a bit concerned about the specific precautions mentioned. Can you provide more detailed information on this? Thank you." }, { "MessageId": 101, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, when using the Wild Guard Outdoor First Aid Kit in natural surroundings, it\u0027s important to be cautious of wildlife encounters and familiarize yourself with wildlife safety procedures. Additionally, you should carry any necessary items for wildlife encounters. If you have any further questions or concerns, feel free to ask." }, { "MessageId": 102, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for providing the information. I have familiarized myself with the wildlife safety procedures and will ensure to carry the necessary items. If I have any further questions, I will reach out. Have a great day!" } ] }, { "TicketId": 132, "ProductId": 152, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 36, "ShortSummary": "Non-functional Emergency Beacon Light", "LongSummary": "Customer is requesting a replacement or refund for the non-functional Emergency Beacon Light. They have tried all troubleshooting steps and are insistent on a resolution ASAP.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 103, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought this Sure Survive Emergency Beacon Light and it\u0027s not turning on at all. I made sure the batteries are in properly and fully charged, so don\u0027t tell me to check that again. Also, I didn\u0027t see anything in the description about it not working right out of the box. It\u0027s ridiculous that I have to deal with this. I want a replacement or a refund ASAP!" }, { "MessageId": 104, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It seems that there are common troubleshooting issues and potential solutions for the Sure Survive Emergency Beacon Light. If you are still experiencing problems after performing troubleshooting, you can contact the Sure Survive customer support team for further assistance at:\n- Phone: 1-800-SURVIVE\n- Email: support@suresurvive.com" }, { "MessageId": 105, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already tried all the troubleshooting steps and nothing worked. I need a replacement or a refund ASAP, I don\u0027t want to waste any more time on this." }, { "MessageId": 106, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry that you\u0027re still experiencing issues with the Sure Survive Emergency Beacon Light. According to the manual, if the light becomes submerged in water, do not use it until it has been thoroughly dried and inspected for any damage. If you\u0027ve already attempted troubleshooting and are still having problems, I recommend contacting Sure Survive\u0027s customer support team for further assistance. You can reach them at 1-800-SURVIVE or via email at support@suresurvive.com. They will be able to provide additional support and guidance." }, { "MessageId": 107, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already told you I tried all the troubleshooting steps and nothing worked. I need a replacement or a refund ASAP, I don\u0027t want to waste any more time on this. And don\u0027t give me that nonsense about the light being submerged in water, it\u0027s never been near water! Just sort this out for me now." }, { "MessageId": 108, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand that you have tried all troubleshooting steps and are still experiencing issues. According to the manual, if the light becomes submerged in water, it should not be used until it has been thoroughly dried and inspected for any damage. Since you have already attempted troubleshooting, you may be eligible for a warranty return or repair. You can initiate a return at https://northernmountains.example.com/support/returns, or contact Sure Survive\u0027s customer support team for further assistance at 1-800-SURVIVE or via email at support@suresurvive.com." } ] }, { "TicketId": 133, "ProductId": 19, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 37, "ShortSummary": "Technical issue with Lumina LED Lantern", "LongSummary": "Customer having trouble with Lumina LED Camping Lantern, followed instructions for troubleshooting, still not working. Requires further technical assistance from NightBeacon.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 109, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I just bought the Lumina LED Camping Lantern and I\u0027m having some trouble using it. It\u0027s not working as I expected. Can you help me figure out what\u0027s wrong?" }, { "MessageId": 110, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Lumina LED Camping Lantern features a maximum light output of 1000 lumens, providing powerful illumination for your campsite. The beam pattern is designed to evenly distribute light in a 360-degree radius, ensuring optimal visibility in all directions. The adjustable brightness settings allow for customized light output to suit various lighting needs. Before installing or replacing batteries, it is essential to ensure that the Lumina LED Camping Lantern is disconnected from any power source. If you have further questions or need assistance with troubleshooting, feel free to reach out." }, { "MessageId": 111, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried disconnecting the lantern from any power source before replacing the batteries, but it\u0027s still not working. Can you provide further assistance with troubleshooting?" }, { "MessageId": 112, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand that you have already disconnected the lantern from any power source before replacing the batteries. The manual specifies that the Lumina LED Camping Lantern requires specific battery type and size for optimal performance. It\u0027s important to only use the recommended batteries to avoid damage and voiding the warranty. If the issue persists, please contact a certified NightBeacon technician for assistance." } ] }, { "TicketId": 134, "ProductId": 83, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 30, "ShortSummary": "Trouble activating GPS tracking for SkyRanger HD Drone", "LongSummary": "Customer purchased SkyRanger HD Aerial Drone and is having trouble activating GPS tracking. Confused by manual and indicator light not turning green. Requesting clear explanation. Pending response needed on how to activate GPS tracking.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 113, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought the SkyRanger HD Aerial Drone and I can\u0027t figure out how to activate the GPS tracking. The manual is so confusing and I\u0027ve followed the steps but the indicator light never turns green! I\u0027m starting to think this feature is just a gimmick. Can someone please explain it in a way that actually makes sense?" } ] }, { "TicketId": 135, "ProductId": 128, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 38, "ShortSummary": "Insulation problem with AquaBottle Pro", "LongSummary": "Customer is experiencing issues with AquaBottle Pro insulation. Need to troubleshoot and determine if issue is user error or product defect. Urgent response needed to address customer\u0027s reliance on the product for outdoor activities.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 114, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the AquaBottle Pro from AquaNest and I\u0027m having some trouble with it. I filled it with water, but it\u0027s not staying cold like it\u0027s supposed to. I thought it was supposed to be really well insulated, but it doesn\u0027t seem to be working at all. I\u0027m not sure if I\u0027m doing something wrong or if there\u0027s a problem with the bottle itself. Can you help me figure out what\u0027s going on? I rely on having a reliable water bottle for my outdoor activities, so I really need this to work properly. Thanks for your help!" } ] }, { "TicketId": 136, "ProductId": 174, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 39, "ShortSummary": "Inquiry about microphone and voice control features", "LongSummary": "Customer is seeking detailed technical specs on external microphone support and voice control. Prompt and comprehensive response needed for purchasing decision.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 115, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the AdventureX 4K Action Camera for capturing my outdoor activities. I am particularly interested in the external microphone support and voice control features mentioned in the description. Can you provide detailed technical specifications for the external microphone support, including compatibility with different microphone types and brands? Additionally, I would like to know more about the voice control feature, such as the range and accuracy of voice commands. It is essential for me to ensure that this camera is suitable for professional-grade audio and hands-free operation. Your prompt and detailed response would greatly assist me in making an informed decision about this purchase. Thank you." } ] }, { "TicketId": 137, "ProductId": 151, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 40, "ShortSummary": "Survivor Multi-Tool usage and maintenance", "LongSummary": "Customer inquired about starting a fire in wet conditions and maintaining the Survivor Multi-Tool. Provided detailed instructions. Pending: Customer testing suggestions and possible follow-up questions.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 116, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Survivor Multi-Tool and I\u0027m wondering if it\u0027s suitable for starting a fire in wet conditions? Also, is there any maintenance I need to do to keep the fire starter and knife working effectively? Thanks for your help." }, { "MessageId": 117, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to start a fire in wet conditions, ensure the surface of the fire starter is dry and strike firmly and consistently along the length of the fire starter rod. Also, please keep the area around the fire starter clear of any flammable materials for safety precautions. To maintain the efficiency of the fire starter, periodically clean the rod and striker to remove any buildup of debris. Additionally, ensure that the protective cover is securely closed to prevent accidental activation." }, { "MessageId": 118, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information. I will try your suggestions and let you know if I have any more questions." }, { "MessageId": 119, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to maintain the Survivor Multi-Tool, regularly clean and oil the moving parts to ensure smooth operation. Keep the blades sharp and replace any worn or damaged parts as soon as possible. Store the multi-tool in a dry place and avoid exposure to extreme temperatures or moisture. For starting a fire in wet conditions, hold the tool with the fire starter facing down, and then using the back of the knife blade, strike the fire starter rod to create sparks that can be used to start a fire. Always handle the Survivor Multi-Tool with care, keeping your fingers away from the sharp edges of the knife and saw. Do not use the fire starter near flammable materials and always make sure it is fully extinguished after use. If you have any more questions, feel free to ask. Thank you!" }, { "MessageId": 120, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information. I will try your suggestions and let you know if I have any more questions." }, { "MessageId": 121, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Survivor Multi-Tool is a versatile and durable tool designed to help in survival situations. It features a knife, saw, fire starter, and more. With its compact design, it is easy to carry with you on outdoor adventures. Whether you are camping, hiking, or facing an emergency situation, the Survivor Multi-Tool is designed to help you in your time of need. If you have any more questions or need further assistance, feel free to ask. Thank you!" }, { "MessageId": 122, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the help. I will try out the Survivor Multi-Tool on my next camping trip and let you know if I have any more questions." } ] }, { "TicketId": 138, "ProductId": 148, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 41, "ShortSummary": "Cold spots in Alpine Dream 3000 sleeping bag", "LongSummary": "Customer frustrated with Alpine Dream 3000 sleeping bag, experiencing cold spots. Asks if common issue and for solution or refund. Next agent needs to address cold spots issue and recommend solution or refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 123, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with my Alpine Dream 3000 sleeping bag from Slumberpeak. I bought it for cold weather camping, but I keep getting cold spots in it! I tried shaking it like the manual said, but it\u0027s not helping. I need this bag to keep me warm, and it\u0027s failing miserably. I want to know if this is a common issue and if there\u0027s a solution, or if I should just return it for a refund. This is not what I expected from a supposedly high-quality product." } ] }, { "TicketId": 139, "ProductId": 154, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 42, "ShortSummary": "Waterproof Rating Confirmation", "LongSummary": "Customer inquiring about waterproof rating for GuardianGear GPS Personal Locator. Assistant confirmed IPX7 rating. Customer satisfied with response.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 124, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there! I\u0027m thinking about getting the GuardianGear GPS Personal Locator for my upcoming hiking trip, and I just wanted to make sure it will work even if I accidentally drop it in water. I saw that it\u0027s for outdoor safety, so I\u0027m hoping it\u0027s waterproof. Can you please let me know? Thanks so much!" }, { "MessageId": 125, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The GuardianGear GPS Personal Locator has a waterproof rating of IPX7, so it is designed to withstand accidental exposure to water. You can confidently take it on your hiking trip without worrying about water damage." }, { "MessageId": 126, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, that\u0027s great to hear! I feel a lot better knowing that it\u0027s waterproof. Thank you so much for your help!" } ] }, { "TicketId": 140, "ProductId": 85, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 44, "ShortSummary": "Faulty waterproof matches in fire starter kit", "LongSummary": "Customer is dissatisfied with the waterproof matches in the fire starter kit failing to light. Customer demands a refund or replacement. Assistant provided usage tips and support contact info.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 128, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the matches in the All-Weather Fire Starter Kit failed to light on my camping trip! I specifically bought this kit for its waterproof matches and now I\u0027m left without a reliable source of fire. What\u0027s the point of advertising a product as all-weather if it can\u0027t withstand a little moisture? I demand a refund or replacement for this faulty product." }, { "MessageId": 129, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The All-Weather Fire Starter Kit includes waterproof matches, and it\u0027s important to maintain their waterproof properties by keeping them in their original packaging and avoiding exposure to moisture. If you identify any irregularities, refrain from using the matches and contact customer service for assistance. The manual does not provide specific information about the product return policy or manufacturer contact details." } ] }, { "TicketId": 141, "ProductId": 120, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 45, "ShortSummary": "ArcticPro Ski Jacket Phone Pocket Inquiry", "LongSummary": "Customer inquired about phone pocket in ArcticPro ski jacket, received confirmation of internal storage pockets. Customer plans to try jacket on slopes, pending feedback.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 130, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, does the ArcticPro ski jacket have a special pocket for my phone? Like, can it fit my phone and keep it safe while I\u0027m skiing? Thx" }, { "MessageId": 131, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The ArcticPro Insulated Ski Jacket is equipped with thoughtful storage pockets to accommodate mobile devices, including a special pocket for keeping your phone safe while skiing. According to the manual, the jacket is designed to provide maximum warmth and comfort in cold weather conditions and is specifically intended for use in snowsports activities such as skiing. If you have any other questions, feel free to ask!" }, { "MessageId": 132, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thx! I\u0027ll def try it out on the slopes and let u know how it goes." }, { "MessageId": 133, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The product manual confirms that the ArcticPro ski jacket includes internal storage pockets for stashing your phone, wallet, and other valuables, keeping them safe and easily accessible. Have a great time on the slopes!" } ] }, { "TicketId": 142, "ProductId": 190, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 46, "ShortSummary": "Adjusting UltraLight Poles 300 height mechanism", "LongSummary": "Customer inquires about proper adjustment of UltraLight Poles 300. Assistant provides details on how to adjust and secure the height setting according to DIN 15562-4:2009 standard. Customer will try suggested method and provide feedback.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 134, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I recently purchased the UltraLight Poles 300 and I have a question about the height adjustment mechanism. Can you provide me with more information on how to properly adjust and secure the height setting? Thank you." }, { "MessageId": 135, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To adjust the height of the UltraLight Poles 300, start by extending the carbon pole to your desired height, ensuring that the height adjustment markings are aligned. The poles feature adjustable height settings for personalized comfort and support. The height adjustment mechanism meets the requirements set forth in the DIN 15562-4:2009 standard for telescopic trekking and walking poles." }, { "MessageId": 136, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I will try adjusting the poles as you suggested and let you know if it worked." } ] }, { "TicketId": 143, "ProductId": 138, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 47, "ShortSummary": "Replacement key needed for Ultimate Survival Kit 3000", "LongSummary": "Customer needs a replacement key for the Ultimate Survival Kit 3000. Pending question about specific shipping details. Next agent should confirm shipping details and process replacement key.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 137, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I need help with the Ultimate Survival Kit 3000. Can\u0027t find the key to unlock the box. Can you send a replacement? Thanks!" }, { "MessageId": 138, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Ultimate Survival Kit 3000 is designed to provide you with peace of mind during your outdoor activities. It includes essential tools and gear for outdoor survival, making it the ideal companion for any adventure. If you have any specific questions about the kit, feel free to ask!" } ] }, { "TicketId": 144, "ProductId": 154, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 48, "ShortSummary": "Request for Outdoor Functionality Information", "LongSummary": "Customer expresses gratitude for GPS Personal Locator features and asks for more information on its outdoor functionality. Assistant provides details on live tracking, SOS button, and battery life, and refers to official user manual for further guidance. Pending question: how well does it work for outdoor activities?", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 139, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there GuardianGear team! Just wanted to say a HUGE thank you for creating such an awesome GPS Personal Locator. I\u0027m all about safety and staying connected, so the live tracking and SOS button features are like a dream come true for me. I\u0027m planning some outdoor adventures and this device seems perfect for keeping me safe. Can you tell me more about how well it works for outdoor activities? Thanks so much for your help, you guys rock!" }, { "MessageId": 140, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The GuardianGear GPS Personal Locator is designed to keep you safe and connected during outdoor adventures. It features live tracking, an SOS button, and a long battery life, providing you with the peace of mind you deserve while exploring the great outdoors. For detailed instructions and guidance on utilizing the features of the GPS Personal Locator, please refer to the official user manual." } ] }, { "TicketId": 145, "ProductId": 79, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 49, "ShortSummary": "Inquiry about camera\u0027s video recording risks", "LongSummary": "Customer seeks detailed info on risks in adventure video recording with the camera. Pending question: impact on video quality and user safety. Thorough response needed.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 141, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am interested in purchasing the Adventure Pro Camera for adventure photography, but I have some concerns regarding its video recording capabilities. The 4.2 section of the manual seems to suggest that the camera is not suitable for recording videos due to potential safety hazards and malfunctioning image stabilization. Can you provide more information on this? I am particularly interested in understanding if the camera can be safely used for recording adventure videos and if the advanced features such as image stabilization and 4K resolution pose any risks or limitations in this scenario. Your prompt and detailed response would greatly influence my decision to purchase this product. Thank you." }, { "MessageId": 142, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Adventure Pro Camera is not suitable for recording videos. The advanced image stabilization feature may not function properly, resulting in distorted or shaky video footage. In addition, the 4K resolution capabilities of the camera may pose a risk to the user and those in the vicinity. Therefore, we strongly advise against using this camera for video recording purposes in adventure settings. If you require further assistance, please let us know." }, { "MessageId": 143, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. I appreciate the information provided, but I would like to delve deeper into the technical specifications of the image stabilization feature and 4K resolution capabilities. Can you provide a detailed explanation of how these features may pose risks in adventure video recording scenarios? I am particularly interested in understanding the potential impact on video quality and user safety. Your thorough response will greatly assist me in making an informed decision about the purchase. Thank you." } ] }, { "TicketId": 146, "ProductId": 29, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 50, "ShortSummary": "Trouble charging phone with SolarBoost Power Bank", "LongSummary": "Customer is experiencing trouble charging their phone with the SolarBoost Power Bank. Will try the reset button first. If that doesn\u0027t work, may need technical support for solar power charging.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 144, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the SolarBoost Power Bank from Ecovolt and I\u0027m having some trouble with it. I\u0027ve been trying to charge my phone with it, but it\u0027s not responding at all. I didn\u0027t know about the reset button mentioned in the manual, so I\u0027ll give that a try. If that doesn\u0027t work, I might need some technical support. I really love the idea of charging my devices with solar power, so I hope I can get it working again. Thank you!" } ] }, { "TicketId": 147, "ProductId": 147, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 51, "ShortSummary": "Battery issue demands immediate resolution", "LongSummary": "Customer demands immediate resolution to battery issue, refusing to visit website or contact customer support. Assistant advises on battery charging and replacement procedures.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 145, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely furious with the battery life on my SkyMaster X2000! It\u0027s advertised as having a 30-minute flight time, but I can barely get it to last 15 minutes. I spent so much money on this drone and now I feel like I\u0027ve been misled. I demand a refund or a replacement with a properly functioning battery. This is completely unacceptable." }, { "MessageId": 146, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, for additional support and resources, including user manuals and instructional videos, please visit www.aerovision.com/support. You can also contact AeroVision customer support for assistance at 1-800-AERO-123 or email support@aerovision.com." }, { "MessageId": 147, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t want to visit a website or contact customer support. I just want the battery issue resolved immediately. This is ridiculous!" }, { "MessageId": 148, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the manual, it\u0027s important to ensure that the battery is properly charged and securely inserted into the drone. The LED indicator will light up red when charging and turn green when the battery is fully charged. Additionally, if the battery is damaged, it should be replaced. If you have followed these steps and are still experiencing battery issues, please let us know so we can assist you further." } ] }, { "TicketId": 148, "ProductId": 43, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 52, "ShortSummary": "Troubleshooting strobe mode", "LongSummary": "Customer needs help with strobe mode on NightOps Tactical Flashlight. Specific details on how to operate requested. Pending response for troubleshooting steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 149, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Flashlight not working right. Need help with strobe mode." } ] }, { "TicketId": 149, "ProductId": 124, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 53, "ShortSummary": "Maintenance guidance for SurvivalPro 2000", "LongSummary": "Customer sought guidance on proper maintenance for SurvivalPro 2000. Assistant provided instructions and customer successfully followed them. No further assistance needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 150, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the SurvivalPro 2000 and I\u0027m having some trouble understanding how to properly maintain and inspect the gear. I want to make sure I\u0027m following the safety guidelines, but I\u0027m feeling a bit embarrassed that I can\u0027t figure it out on my own. Any guidance or tips would be greatly appreciated. Thank you!" }, { "MessageId": 151, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, it is advisable to periodically check the functionality and integrity of all tools and components of your SurvivalPro 2000. It is also recommended to clean and maintain the gear according to the instructions in the user manual to ensure that it remains in top working condition. Regular maintenance will help keep the product in the most impeccable state." }, { "MessageId": 152, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I will review the user manual again and try to follow the maintenance instructions more closely. I hope I can figure it out this time. I\u0027ll let you know if I still have trouble. Thank you for your help." }, { "MessageId": 153, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, it is advisable to periodically check the functionality and integrity of all tools and components of your SurvivalPro 2000. It is also recommended to clean and maintain the gear according to the instructions in the user manual to ensure that it remains in top working condition. Regular maintenance will help keep the product in the most impeccable state. If you have any further questions or need additional assistance, feel free to reach out. AdventureWorks Support" }, { "MessageId": 154, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I reviewed the user manual again and followed the maintenance instructions more closely. I was able to figure it out this time. Thank you for your assistance!" } ] }, { "TicketId": 150, "ProductId": 155, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Trouble with Solar Charger", "LongSummary": "Customer having trouble with solar charger, but USB cable solved issue. Customer satisfied and ready for camping trip.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 157, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there! I just bought the Traveltech Portable Solar Charger and I\u0027m having a bit of trouble figuring out how to use it. I\u0027ve put it in the sun like the manual says, but it\u0027s not charging my phone. Am I supposed to do something else? I really need this charger for my upcoming camping trip, so I hope you can help me out. Thanks so much!" }, { "MessageId": 158, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi there! If the solar charger is low on battery, you can also charge it using a USB cable and a power source such as a laptop or wall adapter. Also, ensure that the solar panels are positioned in direct sunlight. Move the charger to a sunnier location if necessary. If you need further assistance, please feel free to ask!" }, { "MessageId": 159, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, thanks for your help! I tried charging the solar charger with a USB cable and it worked perfectly. I didn\u0027t realize I could do that, so I\u0027m really grateful for your assistance. I\u0027m all set for my camping trip now! Thanks again!" } ] }, { "TicketId": 151, "ProductId": 70, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 55, "ShortSummary": "Solar panel troubleshooting", "LongSummary": "Customer needs help with solar panel function and if adjustments are needed. Assistant provided info on solar panel and safety compliance. Pending customer response on troubleshooting steps or further assistance.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 160, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Juice Junkie Solar Power Bank 10000mAh and I\u0027m having some trouble with the solar panel. I\u0027ve been relying on it extremely for charging my phone while hiking, but it doesn\u0027t seem to be working as expected. I haven\u0027t read the manual, but I was wondering if the solar panel needs to be calibrated or if there\u0027s a way to adjust the voltage and current output. I\u0027m really hoping to get this sorted so I can stay connected on my outdoor adventures. Thanks so much for your help!" }, { "MessageId": 161, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Juice Junkie Solar Power Bank 10000mAh is equipped with a high-efficiency monocrystalline solar panel, designed to convert sunlight into electrical energy with a peak power output of 1.8W. The solar panel allows you to recharge the power bank directly from sunlight, providing an alternative charging method for outdoor use. According to the manual, the solar panel does not require calibration.\n\nThe manual also mentions that the product complies with the IEC 62109-1 standard for the safety of power converters for use in photovoltaic power systems." } ] }, { "TicketId": 152, "ProductId": 88, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 56, "ShortSummary": "RapidFlow Kayak Paddle Troubleshooting", "LongSummary": "Customer is having issues with the RapidFlow Kayak Paddle and plans to contact the manufacturer for further instructions. They need assistance with troubleshooting and repair options.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 162, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, I bought the RapidFlow Kayak Paddle from your store and I\u0027m having some issues with it. Can you help me out?" }, { "MessageId": 163, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the RapidFlow Kayak Paddle is covered by a limited warranty that protects against defects in materials and workmanship. However, the warranty does not cover any damage caused by the use of the paddle in whitewater conditions or rapids. If you encounter any problems with the paddle, please immediately discontinue use and contact the manufacturer for further instructions. For defective products, WaterWay may offer repair options as detailed in the manual." }, { "MessageId": 164, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Okay, I\u0027ll contact the manufacturer for further instructions. Thanks." }, { "MessageId": 165, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the RapidFlow Kayak Paddle is covered by a limited warranty that protects against defects in materials and workmanship. However, the warranty does not cover any damage caused by the use of the paddle in whitewater conditions or rapids. Any such use will void the warranty, and WaterWay will not be held liable for any resulting damages. If you encounter any problems with the paddle, please immediately discontinue use and contact the manufacturer for further instructions. The manual also states that under no circumstances should you attempt to troubleshoot any issues with the paddle, as doing so may result in injury or death." } ] }, { "TicketId": 153, "ProductId": 98, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 57, "ShortSummary": "GPS Watch Functionality Help Request", "LongSummary": "Customer needs help with TrailBlazer GPS Watch\u0027s GPS and altimeter features. Looking for tips or advice on getting it to work correctly. Pending question about specific issues.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 166, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, Exploremate team! I just got my hands on the TrailBlazer GPS Watch and I\u0027m so stoked to take it out on my next hiking adventure! The GPS navigation and altimeter features are exactly what I need to keep track of my route and elevation changes. But, I seem to be having a little trouble getting it to work the way I want. Any chance you could help me out with some tips or advice? I\u0027d really appreciate it! Thanks a bunch!" } ] }, { "TicketId": 154, "ProductId": 177, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 58, "ShortSummary": "Difficulty with rainfly attachment", "LongSummary": "Customer needs clear instructions on rainfly attachment and staking out. Frustrated with setup process, unsure if it\u0027s worth purchasing.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 167, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m so frustrated with the setup of the Trektent UltraLight 2-Person shelter! I can\u0027t figure out how to properly attach the rainfly and stake it out. The manual is not helpful at all and I need clear instructions on how to do this before I consider purchasing. This is such a hassle and I need to know if it\u0027s worth the trouble!" }, { "MessageId": 168, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To properly set up the Trektent UltraLight 2-Person shelter, lay out the tent on a flat surface with the ground stakes facing downward. Unfold the tent, extend the poles to their full length, and insert the color-coded poles into the corresponding sleeves on the tent body. After staking out the tent, adjust the tensioners and stakes as needed to ensure that the tent is properly secured and taut. This will improve the overall stability and weather-resistance of the shelter." }, { "MessageId": 169, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed your instructions and tried setting up the tent again, but I\u0027m still having trouble with the rainfly. It just doesn\u0027t seem to fit properly and I\u0027m worried about it not providing enough protection in bad weather. I need more clear instructions specifically for the rainfly attachment and staking out. This is so frustrating!" } ] }, { "TicketId": 155, "ProductId": 77, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 59, "ShortSummary": "Solar Charger 3000X for Home Appliances", "LongSummary": "Customer inquires about using Solar Charger 3000X for home appliances during power outage. Asks for specific precautions. Pending response needed on product suitability for intended use.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 170, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Ecovolt Solar Charger 3000X and I\u0027m considering using it to power my small appliances at home during a power outage. I think it should work perfectly for this unexpected purpose. However, I wanted to double-check if this is a reasonable use of the product and if there are any specific precautions I should take. Thank you for your assistance." } ] }, { "TicketId": 156, "ProductId": 84, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 60, "ShortSummary": "Difficulty Tracking Cycling Sessions", "LongSummary": "Customer is having trouble tracking cycling sessions despite following manual instructions and attempting to reset the GPS. The next support agent should offer a different solution for accurately recording cycling sessions.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 171, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the Trailblazer GPS Smartwatch for its cycling and running features, but I can\u0027t seem to get it to work properly for cycling. The manual says I should press the blue button to start tracking my ride, but every time I do that, it doesn\u0027t record my route or distance. It\u0027s frustrating and I expected better from a product that claims to be the perfect cycling companion. I need assistance to figure out what\u0027s going wrong." }, { "MessageId": 172, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to start tracking your cycling session, press the blue button on the side of the watch and select \u0027Cycling\u0027 from the menu. The Trailblazer GPS Smartwatch will start recording your ride, allowing you to monitor your speed, distance, and route." }, { "MessageId": 173, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve tried pressing the blue button and selecting \u0027Cycling\u0027 from the menu multiple times, but it still isn\u0027t recording my ride properly. This is so frustrating! I need a solution that actually works." }, { "MessageId": 174, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It seems that the manual recommends resetting the GPS by holding down the GPS button for 10 seconds. Have you tried this step?" }, { "MessageId": 175, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Yes, I tried resetting the GPS by holding down the button for 10 seconds like you suggested, and it still isn\u0027t working properly. This is so frustrating, I just want to be able to track my cycling sessions accurately!" } ] }, { "TicketId": 157, "ProductId": 54, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 61, "ShortSummary": "Missing Ski Goggles Compartment Inquiry", "LongSummary": "Customer demands explanation for lack of ski goggles compartment in AvalanchePro Ski Backpack. Seeks immediate solution. Next agent should address specific oversight and provide resolution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 176, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand to know why the AvalanchePro Ski Backpack doesn\u0027t have a specific compartment for my ski goggles! I can\u0027t believe a product designed for backcountry adventures would overlook such a crucial detail. I expect a full explanation and a solution to this oversight immediately." } ] }, { "TicketId": 158, "ProductId": 152, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 62, "ShortSummary": "Emergency Beacon Light Not Turning On", "LongSummary": "Sure Survive Emergency Beacon Light not turning on despite proper installation and fully charged batteries. Customer seeking further troubleshooting steps or potential solution.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 177, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am experiencing issues with my Sure Survive Emergency Beacon Light. Specifically, the beacon light is not turning on despite having properly installed and fully charged batteries. I have checked the battery contacts and they are clean, and I have also tried replacing the batteries with new ones. Can you provide further troubleshooting steps or a potential solution to this problem?" }, { "MessageId": 178, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "If you are experiencing issues with the Sure Survive Emergency Beacon Light, please refer to the following common issues and their potential solutions: \n- If the beacon light is flashing irregularly, it may be due to low battery power. Replace the batteries with new ones and ensure they are fully charged. If you have attempted to troubleshoot the issues and are still experiencing problems, please contact Sure Survive\u0027s customer support team for further assistance." } ] }, { "TicketId": 159, "ProductId": 103, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 63, "ShortSummary": "Damaged first aid supplies in Survival Kit 5000", "LongSummary": "Survival Kit 5000 arrived with damaged first aid supplies. Customer needs assistance with return process and checking usability of items.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 179, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the first aid supplies in my Survival Kit 5000 are all messed up! The manual talks about making sure everything is present and in good condition, but my kit arrived with damaged items. This is not what I expected from Safetyex. I need some help sorting this out ASAP." }, { "MessageId": 180, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear about the issues with your Survival Kit 5000. It\u0027s important to us that our customers receive products in good condition. According to the manual, before using the Survival Kit 5000, it\u0027s important to familiarize yourself with the safety guidelines. Ensure that you understand how to use each item in the kit properly and safely. As the first aid supplies are essential for addressing injuries, I recommend checking the condition of the damaged items and ensuring they are suitable for use. If you find that the items are not usable, you may be eligible for a return or repair. You can initiate a return at https://northernmountains.example.com/support/returns. If you need further assistance, please let us know." } ] }, { "TicketId": 160, "ProductId": 80, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 65, "ShortSummary": "Using Fishing Reel for Pool Toys", "LongSummary": "Customer excited about using Stealth 5000 Fishing Reel for reeling in pool toys. Asks if it can handle the challenge and for tips on how to make it work. Pending response on compatibility and tips for use.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 182, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, Team Reelmaster! Lenny here - I\u0027m super stoked about the Stealth 5000 Fishing Reel I just got my hands on. This bad boy is a game-changer for my fishing adventures! \uD83C\uDFA3 But get this, I\u0027ve got this crazy idea to use it for reeling in some massive inflatable pool toys at my backyard pool parties. I mean, who needs a regular old pool net when you\u0027ve got the power and precision of the Stealth 5000, am I right? \uD83D\uDE02 Do you think it can handle the challenge? Any tips for me on how to make it work? Thanks a bunch, you guys rock! \uD83E\uDD19" } ] }, { "TicketId": 161, "ProductId": 38, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Guidance on Proper Stove Cleaning", "LongSummary": "Customer is seeking guidance on proper cleaning of the camping stove. Previous assistance provided cleaning instructions. Customer now understands and has started using mild detergent and soft cloth. No further questions or issues reported.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 183, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Firefood Portable Camping Stove and I just want to make sure it\u0027s behaving as it should. I\u0027ve been using it for a couple of camping trips, and it seems to be working well, but I just want to double-check. I haven\u0027t encountered any issues with it so far, but I wanted to reach out and see if there\u0027s anything specific I should be looking out for to make sure it\u0027s in tip-top shape. I want to make sure I\u0027m using it correctly and taking good care of it. Thanks for your help!" }, { "MessageId": 184, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello! I\u0027m glad to hear that you\u0027re enjoying the Firefood Portable Camping Stove. According to the manual, setting up the stove is a breeze, and after using it, it\u0027s recommended to clean it with mild detergent and a soft cloth once it has completely cooled down. Regular maintenance will keep your stove in tip-top shape for all your future outdoor cooking adventures. If you have any other questions or need further assistance, feel free to ask!" }, { "MessageId": 185, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information! I\u0027ve been cleaning the stove with a harsh detergent and a rough scrubbing brush, thinking it would make it cleaner. I guess I didn\u0027t read the manual properly. I\u0027ll switch to using a mild detergent and a soft cloth from now on. Thanks for your help!" }, { "MessageId": 186, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m glad you found the information helpful! As mentioned in the manual, it\u0027s important to use a mild detergent and a soft cloth for cleaning the stove to keep it in tip-top shape. If you have any other questions or need further assistance, feel free to ask!" }, { "MessageId": 187, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your help! I\u0027ve switched to using mild detergent and a soft cloth to clean the stove, and it\u0027s looking much better now. I appreciate your guidance!" } ] }, { "TicketId": 162, "ProductId": 5, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Excited customer asking about hammock suitability for outdoor use", "LongSummary": "Customer excited about using Double Hammock with Mosquito Net for camping and outdoor adventures. Asks if suitable for extended outdoor use, tips on setting up and care.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 188, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I recently purchased the Swingnap Double Hammock with Mosquito Net and I am beyond excited to use it for camping trips and outdoor adventures. I love the idea of being able to relax in a hammock without worrying about pesky bugs bothering me. Just wanted to double-check if this hammock is suitable for extended outdoor use? Also, any tips on how to best set it up and take care of it? Can\u0027t wait to hear back from you - thanks a bunch!" } ] }, { "TicketId": 163, "ProductId": 64, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 66, "ShortSummary": "AquaFusion Portable Water Purifier 1000 won\u0027t turn on", "LongSummary": "Customer Hannah Park is upset that the AquaFusion Portable Water Purifier 1000 won\u0027t turn on. She insists it\u0027s not a battery or filter issue and demands a refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 189, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe this! The stupid purifier won\u0027t turn on, and I made sure the batteries are in properly! I spent good money on this AquaFusion Portable Water Purifier 1000 and now it\u0027s useless. I need this fixed or replaced ASAP!" }, { "MessageId": 190, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the AquaFusion Portable Water Purifier 1000 is designed to remove 99.9% of bacteria, viruses, and protozoa from water, ensuring safe hydration. It is important to replace the filter regularly to maintain the purifier\u0027s effectiveness. Have you replaced the filter recently? If the purifier is still not turning on after ensuring the filter is in place, please let us know so we can assist you further." }, { "MessageId": 191, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the stupid filter, I made sure it was in properly! This purifier is a piece of junk and I want a refund, not some dumb troubleshooting. You guys need to do better than this!" }, { "MessageId": 192, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear about the trouble you\u0027re having with the Portable Water Purifier 1000. According to the user manual, please ensure that the batteries are properly inserted and that the battery compartment is securely closed. If the purifier still does not turn on, try replacing the batteries with new ones. If you need further assistance, please let us know. In addition, to maintain the purifier\u0027s effectiveness, it is important to replace the filter regularly to ensure clean and safe hydration." }, { "MessageId": 193, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I ALREADY TOLD YOU, I DON\u0027T CARE ABOUT THE BATTERIES OR THE FILTER! THE PURIFIER JUST DOESN\u0027T TURN ON, AND I WANT A REFUND, NOT MORE USELESS TROUBLESHOOTING!" } ] }, { "TicketId": 164, "ProductId": 71, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 67, "ShortSummary": "Troubleshooting Signal Booster 2000", "LongSummary": "Retailer Hollis Davidson seeks troubleshooting tips for Signal Booster 2000\u0027s signal boosting capability after following manual instructions. Need detailed troubleshooting assistance.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 194, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Trailcom Support Team, I hope this message finds you well. My company is a retailer stocking the Trailcom Signal Booster 2000, and we have received inquiries from our customers regarding its setup and usage. Could you kindly provide us with detailed instructions or any troubleshooting tips that we can pass on to our customers? Your assistance in this matter would be greatly appreciated. Thank you for your attention to this request. Best regards, Hollis Davidson" }, { "MessageId": 195, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Hollis Davidson, \n\nAccording to the Trailcom Signal Booster 2000 User Manual, the setup process is detailed in the manual and includes instructions for powering on the device and its compatibility with various communication devices. It also provides information on signal boosting capability. If you require further assistance, please feel free to reach out to us. \n\nBest regards, \nAdventureWorks Support" }, { "MessageId": 196, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, thank you for your prompt response. I have referred to the Trailcom Signal Booster 2000 User Manual and followed the setup instructions, but unfortunately, we are still encountering some issues with the device\u0027s signal boosting capability. Could you please provide further troubleshooting tips or any additional information that could help us address this issue? Your continued assistance is much appreciated. Best regards, Hollis Davidson" } ] }, { "TicketId": 165, "ProductId": 81, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 68, "ShortSummary": "Tips for using and maintaining climbing harness", "LongSummary": "Customer is seeking tips on using and maintaining Summit X Climbing Harness. Assistant provided detailed instructions and asked if there are further questions.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 197, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I just found out that your store stocks the Summit X Climbing Harness from Rockgrip, and I\u0027m super excited about it! I\u0027ve been looking for a new harness with reinforced webbing and adjustable buckles for a comfortable fit, and this one seems perfect. Do you have any tips for using and maintaining the harness? I want to make sure I take good care of it so it lasts a long time. Thanks so much for your help!" }, { "MessageId": 198, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the Summit X Climbing Harness user manual, before using the harness, it is important to ensure that all parts of the harness are in good condition. Check that the reinforced webbing is not frayed or damaged, and that the adjustable buckles are functioning properly. After each use, it is important to properly store and maintain the harness, and inspect it regularly for signs of damage or wear. It\u0027s also crucial to inspect the harness for any signs of wear and tear before each use. Additionally, ensure that the harness is the correct size and fits snugly around your body to prevent any issues during climbing activities." }, { "MessageId": 199, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Wow, thanks for the detailed information! I\u0027ll be sure to check the harness thoroughly before each use and store it properly. I can\u0027t wait to take it out for a climb. You\u0027ve been so helpful, I really appreciate it!" }, { "MessageId": 200, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, it is important to regularly check the stitching on your Summit X Climbing Harness and store it in a cool, dry place away from direct sunlight and moisture when not in use. Inspect the harness regularly for signs of damage or wear, and replace any worn or damaged parts immediately. Do you have any further questions about the harness?" } ] }, { "TicketId": 166, "ProductId": 163, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 69, "ShortSummary": "Temperature Tolerance Concern for Stealth Cam 500", "LongSummary": "Customer has concerns about temperature tolerance for Stealth Cam 500 and wants to know the impact of using the camera in temperatures just slightly outside the specified range. Customer needs insights on potential damage and possible return or repair options.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 201, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello Wildwatch Support Team, I recently purchased the Stealth Cam 500 for my outdoor wildlife research. I was specifically drawn to its high-resolution and night vision capabilities, which are crucial for capturing the behavior of nocturnal animals. However, I have a concern about the camera\u0027s temperature tolerance. While I understand the manual specifies a temperature range for operation, I\u0027m curious about the impact of using the camera in temperatures just slightly outside that range. Would a slight deviation cause irreparable damage to the internal components? Your insights on this matter would be greatly appreciated. Thank you for your time and expertise." }, { "MessageId": 202, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Stealth Cam 500 is designed for use within a specific temperature range. Using the camera in temperatures below -20\u00B0F (-28\u00B0C) or above 120\u00B0F (49\u00B0C) may result in damage to the camera and void the warranty. It\u0027s imperative to avoid any exposure to water, extreme temperatures, or physical impact. Additionally, when not in use, the camera must be stored in a temperature-controlled environment, away from direct sunlight and moisture. Would you like to explore return or repair options for your camera?" } ] }, { "TicketId": 167, "ProductId": 41, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 70, "ShortSummary": "AquaVenture Waterproof Surf Watch for Deep Sea Diving", "LongSummary": "Customer inquires about using the AquaVenture watch for deep sea diving. Needs confirmation on its suitability for this purpose.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 203, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I just bought the AquaVenture waterproof surf watch and I\u0027m planning to use it for deep sea diving. I think it should work fine, right?" } ] }, { "TicketId": 168, "ProductId": 85, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 70, "ShortSummary": "Fire starter sticks not igniting", "LongSummary": "Customer experiencing trouble with fire starter sticks not igniting. Requesting assistance or guidance. Unsure if user error or product defect. Next agent should provide troubleshooting steps or offer replacement.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 204, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I recently purchased the All-Weather Fire Starter Kit from ReadySurvive and I\u0027m having some trouble with the fire starter sticks not igniting. I\u0027m not sure if I\u0027m doing something wrong or if there\u0027s a defect with the product. Can you please provide some assistance or guidance on how to get the fire starter sticks to ignite properly? Thank you." } ] }, { "TicketId": 169, "ProductId": 174, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 71, "ShortSummary": "Suitability of AdventureX 4K for mountain biking", "LongSummary": "Customer inquires about the suitability of AdventureX 4K camera for mountain biking. Wants stable and durable features. No response yet.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 205, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, is the AdventureX 4K camera good for mountain biking? Need something stable and durable." } ] }, { "TicketId": 170, "ProductId": 55, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 30, "ShortSummary": "Trouble Marking Waypoints on Adventurer 2000 GPS Navigator", "LongSummary": "Customer excited about using Adventurer 2000 GPS Navigator for hiking. Asked about marking waypoints, received instructions. Customer acknowledged instructions and will try marking waypoints. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 209, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I just got my hands on the Exploremate Adventurer 2000 GPS Navigator and I\u0027m so excited to use it for my upcoming hiking trip. But I\u0027m having trouble marking waypoints on the device. I thought I could just mark them anywhere, but maybe I need to be in a specific kind of location? Do I need to be in an open area with a clear view of the sky? I\u0027m not sure how this all works, can you help me out? Thanks so much!" }, { "MessageId": 210, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To mark a waypoint on the Adventurer 2000 GPS Navigator, tap the \u0027Mark\u0027 button on the map screen, then select \u0027Save Waypoint.\u0027 You can give your waypoint a name and assign it a custom icon for easy identification. Whether it\u0027s a scenic overlook, a trailhead, or a hidden gem, you can mark it on your map and navigate back to it at any time. If you have any further questions, feel free to ask!" }, { "MessageId": 211, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, thanks! I didn\u0027t realize I could just mark any spot on the map. I\u0027ll give it a try and let you know if I have any more questions. Thanks again!" } ] }, { "TicketId": 171, "ProductId": 19, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 73, "ShortSummary": "Difficulty Adjusting Lantern Brightness", "LongSummary": "Customer experiencing difficulty adjusting brightness on Lumina LED Camping Lantern. Followed instructions, still not working. Considering product return.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 212, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Lumina LED Camping Lantern and have been trying to adjust the brightness settings as mentioned in the product description. However, I\u0027m having trouble getting the desired brightness level. I\u0027m not sure if I\u0027m doing something wrong or if there\u0027s a technical issue with the lantern. Could you please provide guidance on how to properly adjust the brightness? I apologize if I\u0027m missing something obvious, and I appreciate any assistance you can offer. Thank you for your help." }, { "MessageId": 213, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To adjust the brightness settings of the NightBeacon Lumina LED Camping Lantern, follow these steps:\n1. Press and hold the power button for 2 seconds to activate the lantern.\n2. Press the power button repeatedly to cycle through the brightness settings.\n3. Release the power button when the desired brightness level is achieved.\nIf you continue to experience issues, please feel free to reach out to us for further assistance." }, { "MessageId": 214, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried following the steps you provided to adjust the brightness settings, but I\u0027m still having trouble getting the desired level. I\u0027m not sure if I\u0027m doing something wrong or if there\u0027s a technical issue with the lantern. I\u0027m sorry for any inconvenience and I appreciate your continued assistance. Thank you." }, { "MessageId": 215, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the user manual, the NightBeacon Lumina LED Camping Lantern features adjustable brightness settings to provide customizable illumination for various outdoor activities. To adjust the brightness settings, follow these steps:\n1. Press and hold the power button for 2 seconds to activate the lantern.\n2. Press the power button repeatedly to cycle through the brightness settings.\n3. Release the power button when the desired brightness level is achieved.\nIf you continue to experience issues, please feel free to reach out to us for further assistance." }, { "MessageId": 216, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried following the steps again, but I\u0027m still having trouble adjusting the brightness. I\u0027m starting to think that there might be a technical issue with the lantern. Is there anything else I can try, or should I consider returning the product for an exchange? I appreciate your help." }, { "MessageId": 217, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the user manual, the NightBeacon Lumina LED Camping Lantern is designed for versatile illumination with adjustable brightness settings to meet various lighting needs. If you\u0027re still experiencing issues, please feel free to initiate a return for further assistance." } ] }, { "TicketId": 172, "ProductId": 86, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 74, "ShortSummary": "Non-Functioning SOS Multitool Kit Replacement Request", "LongSummary": "Customer demands replacement for non-functioning SOS Multitool Kit. Assistant recommends inspecting tools for proper functionality. Next agent should provide guidance on return or repair within warranty period.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 218, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the SOS Multitool Kit and none of the tools seem to work at all! I demand a replacement immediately. This is completely unacceptable. I expect a functioning product for the amount of money I paid." }, { "MessageId": 219, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us. We\u0027re sorry to hear that you\u0027re experiencing issues with the SOS Multitool Kit. To better assist you, could you please specify which tools are not functioning as expected? Your feedback will help us provide you with the most accurate support." }, { "MessageId": 220, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I shouldn\u0027t have to specify which tools aren\u0027t working - the entire kit is a complete disaster! I demand a replacement ASAP." }, { "MessageId": 221, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the product manual, the SOS Multitool Kit is designed to keep you safe and well-equipped during emergencies. It includes a knife, fish scaler, hook remover, and a compass. To address the issue with the tools, we recommend inspecting each tool for proper functionality and maintenance. If the issue persists, we can assist with a return or repair within the warranty period." } ] }, { "TicketId": 173, "ProductId": 59, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 75, "ShortSummary": "Inquiry about kayak stability and performance", "LongSummary": "Customer seeks specific details about stability and performance of kayak in different water conditions. Requires real-life user experiences or expert opinions to address concerns.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 222, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m considering purchasing the Explorer 3000 Kayak from Aqua Venture, but I have some concerns about its stability and performance. The description claims it\u0027s lightweight, stable, and built for performance, but I need more detailed information on how it handles in different water conditions. Can you provide me with some real-life user experiences or expert opinions to back up these claims? I want to make sure I\u0027m investing in a kayak that truly meets my needs before making a purchase." }, { "MessageId": 223, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, proper maintenance and care of the Explorer 3000 Kayak are important for ensuring its safety and performance. It is also recommended to read and understand all the safety instructions provided in the manual before using the kayak. Additionally, the Aqua Venture paddle that comes with the kayak is specially designed to be lightweight, durable, and provide maximum performance." }, { "MessageId": 224, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information about the user manual and the Aqua Venture paddle, but I still need more specific details about the stability and performance of the Explorer 3000 Kayak in different water conditions. Can you provide any real-life user experiences or expert opinions to address my concerns?" }, { "MessageId": 225, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, proper maintenance and care of the Explorer 3000 Kayak are important for ensuring its safety and performance. It is recommended to inspect the kayak before each use for any signs of wear, damage, or defects, and to clean the kayak after each use to remove any debris, sand, or saltwater that may affect its performance. The Aqua Venture paddle is specially designed to be lightweight, durable, and provide maximum performance. For specific details about the stability and performance of the kayak in different water conditions, it is recommended to refer to the user manual or contact the manufacturer for real-life user experiences or expert opinions." } ] }, { "TicketId": 174, "ProductId": 197, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 76, "ShortSummary": "Stove won\u0027t light despite checks", "LongSummary": "Customer unable to light portable stove despite checking fuel and ignition. Will contact customer service for warranty claim.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 226, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I just got the Firemaster Portable Camping Stove and I can\u0027t get it to light up. I checked the fuel canister and it\u0027s full. I also cleaned the ignition switch but still no luck. Can you help me out?" }, { "MessageId": 227, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Firemaster Portable Camping Stove should be used in a well-ventilated outdoor area. Also, OutdoorOven reserves the right to repair or replace the product at its discretion. For warranty claims, please contact OutdoorOven Customer Service at customerservice@outdooroven.com with your proof of purchase and the serial number of your stove." }, { "MessageId": 228, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried using the stove in a well-ventilated outdoor area and it still won\u0027t light up. I\u0027ll contact customer service for warranty claim." } ] }, { "TicketId": 175, "ProductId": 122, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 77, "ShortSummary": "Trouble switching shooting modes", "LongSummary": "Customer needs help switching shooting modes on AdventureCam 4K", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 229, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, can\u0027t figure out how to switch shooting modes on my AdventureCam 4K. Help!" } ] }, { "TicketId": 176, "ProductId": 37, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 78, "ShortSummary": "Inquiry about First Aid Kit usage", "LongSummary": "Customer has questions about using the Outdoor First Aid Kit, specifically for more serious injuries and the practical use of emergency whistle and reflective blanket. Next support agent should provide detailed information on those topics.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 230, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m considering purchasing the Wild Guard Outdoor First Aid Kit, but I have some questions about its usage. The user manual mentions using the antiseptic wipes and bandages for cuts and scrapes, but what if I encounter a more serious injury? How should I handle that with this kit? Also, I\u0027m not sure how effective the emergency whistle and reflective blanket would be in an actual emergency situation. Can you provide more information on their practical use? I want to make sure this kit will meet my needs before making a purchase." }, { "MessageId": 231, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The antiseptic wipes and bandages in the Wild Guard Outdoor First Aid Kit are used to clean and cover wounds. For more severe injuries, the kit includes a triangular bandage for creating a sling and a cold pack to reduce swelling. Always seek medical attention for serious injuries. In emergencies, the bright red emergency whistle can be used to signal for help, and the reflective blanket helps to stay warm and visible at night. The CPR mask can also be used if necessary. According to the manual, it is important to have a method of communication and clear directions to your location in remote areas." } ] }, { "TicketId": 177, "ProductId": 194, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 79, "ShortSummary": "Inquiry about Fire-Starting Equipment", "LongSummary": "Customer inquired about the fire-starting equipment in the SurvivalPro 3000 Kit, specifically its use in wet conditions. Assistant provided guidance on using the equipment in dry conditions and recommended keeping it dry and free of obstructions.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 232, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Rescuepro SurvivalPro 3000 Kit and I\u0027m very pleased with the quality of the multi-tool and first aid supplies. I wanted to inquire about the fire-starting equipment and its capabilities. Specifically, I would like to know if it is suitable for use in wet conditions or if there are any tips for using it in damp environments. Thank you for your assistance." }, { "MessageId": 233, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The fire-starting equipment in the Rescuepro SurvivalPro 3000 Kit is designed for use in dry conditions, and it is recommended to keep it dry and free of obstructions. When using the fire starter against the ferrocerium rod, ensure that the equipment is dry to create sparks. If you require further assistance, please contact Rescuepro customer support for additional guidance." }, { "MessageId": 234, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I will make sure to keep the fire-starting equipment dry and free of obstructions as recommended. If I encounter any further issues, I will reach out to Rescuepro customer support for additional guidance." }, { "MessageId": 235, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The fire-starting equipment should be kept dry and free of obstructions, and it\u0027s recommended to clean it with a dry cloth after each use. If you encounter any issues, please contact Rescuepro customer support for assistance. If there is anything else I can help you with, feel free to ask." } ] }, { "TicketId": 178, "ProductId": 136, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 80, "ShortSummary": "Defective Solaris 500 Charger Refund", "LongSummary": "Customer demands replacement or refund for Solaris 500 Portable Solar Charger. Refund process initiated, customer expects full refund and explanation for inconvenience caused.", "CustomerSatisfaction": 1, "TicketStatus": "Closed", "TicketType": "Complaint", "Messages": [ { "MessageId": 236, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely furious! I purchased the Solaris 500 Portable Solar Charger for my outdoor adventures and it has stopped working after just a few uses. I can\u0027t believe this high-efficiency charger has failed me so quickly. I demand a replacement or a refund immediately. This is completely unacceptable!" }, { "MessageId": 237, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear that your Solaris 500 Portable Solar Charger stopped working. We value the quality of our products and would like to assist you further. According to the manual, the Solaris 500 is designed for outdoor use and charging devices using direct sunlight. If you\u0027re experiencing technical issues, we recommend reaching out to Ecovolt\u0027s technical support for assistance. You can find their contact details in the user manual. If the product is defective, you may be eligible for a refund or replacement within the warranty period." }, { "MessageId": 238, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I shouldn\u0027t have to reach out to technical support for a product that should work as advertised! I demand a replacement or refund without having to jump through more hoops." }, { "MessageId": 239, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand your frustration, and I apologize for the inconvenience caused. According to the manual, the Solaris 500 Portable Solar Charger is designed for outdoor use and is built to withstand the rigors of outdoor adventures. It\u0027s important to us that you have a positive experience with our products. As per our warranty policy, defective products may be eligible for a refund within the warranty period. If you would like to proceed with a refund, you may initiate the process through our support portal at https://northernmountains.example.com/support/returns. If you need further assistance, please reach out to Ecovolt\u0027s technical support, as their contact details are provided in the user manual. Thank you for bringing this to our attention." }, { "MessageId": 240, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe I have to go through all this trouble for a product that is supposed to work as advertised! I will initiate the refund process through the support portal, but this is completely unacceptable!" }, { "MessageId": 241, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience. If the product is defective, you may be eligible for a refund within the warranty period. To proceed with a refund, you may initiate the process through our support portal at https://northernmountains.example.com/support/returns. If you need further assistance, please reach out to Ecovolt\u0027s technical support, as their contact details are provided in the user manual. Thank you for your understanding." }, { "MessageId": 242, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This whole experience has been a nightmare! I\u0027ve initiated the refund process through the support portal as you suggested, but I still can\u0027t believe I have to go through all this trouble for a product that should work as advertised. I expect better from Ecovolt!" }, { "MessageId": 243, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry for the inconvenience. If you\u0027ve initiated the refund process through the support portal, our team will ensure that it is processed as quickly as possible. We appreciate your understanding and thank you for bringing this to our attention. If you have any further questions or concerns, please don\u0027t hesitate to reach out to us." }, { "MessageId": 244, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This whole situation has been a complete disaster! I expect a full refund and an explanation from Ecovolt for the inconvenience and frustration caused by their defective product." }, { "MessageId": 245, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry for the inconvenience you\u0027ve experienced with the Solaris 500 Portable Solar Charger. As per our policy, defective products may be returned within 1 year of purchase for a refund. You\u0027ve already initiated the refund process through our support portal, and our team will ensure that it is processed as quickly as possible. If you have any further questions or concerns, please don\u0027t hesitate to reach out to us. Thank you for your understanding." } ] }, { "TicketId": 179, "ProductId": 77, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 81, "ShortSummary": "LED Indicator Malfunction", "LongSummary": "Customer is frustrated that the LED light on the solar charger is not working after following troubleshooting steps and demands a replacement immediately. Next agent should prioritize providing a replacement or alternative solution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 246, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with the LED light on my Solar Charger 3000X! It\u0027s supposed to attract attention in case of emergency, but it\u0027s not working properly. I need this feature to feel safe during my outdoor expeditions. Can you please provide me with a solution or a replacement as soon as possible?" }, { "MessageId": 247, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, if the LED indicator on the Solar Charger 3000X is not lighting up, please try charging the solar charger using a power source and the provided USB cable. Also, ensure that the solar panels are clean and free from any debris that may be blocking the sunlight from reaching the panels." }, { "MessageId": 248, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried charging the solar charger using a power source and the provided USB cable, and I made sure the solar panels are clean and free from any debris, but the LED light still isn\u0027t working! This is so frustrating and unacceptable. I need a replacement immediately!" } ] }, { "TicketId": 180, "ProductId": 120, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 82, "ShortSummary": "ArcticPro Jacket Issue: Refund Eligibility", "LongSummary": "Customer experienced issues with ArcticPro Jacket, assisted with preliminary checks, but issue persists. Customer now eligible for a refund. Next agent should guide through the return process.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Returns", "Messages": [ { "MessageId": 252, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the ArcticPro Insulated Ski Jacket from Frost Flare and I\u0027m having some issues with it. It doesn\u0027t seem to be working at all and I\u0027m not sure what the problem is. I was really looking forward to using it on my upcoming ski trip, so I\u0027m quite disappointed. Can you please provide me with some assistance on how to get it working properly? Thank you." }, { "MessageId": 253, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, the ArcticPro Insulated Ski Jacket by Frost Flare is designed with advanced insulation technology to keep you warm and comfortable in even the harshest winter conditions. The jacket features a waterproof design, utilizing FrostShield technology to repel moisture and keep you dry in snowy and wet environments. Before using the Frost Flare ArcticPro Insulated Ski Jacket, it is essential to perform a series of preliminary checks to ensure the integrity and functionality of the garment. Would you like assistance with performing these checks?" }, { "MessageId": 254, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Yes, I would appreciate assistance with performing the preliminary checks for the ArcticPro Insulated Ski Jacket. Please provide me with the necessary steps to ensure the jacket\u0027s integrity and functionality. Thank you for your help!" }, { "MessageId": 255, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the user manual, before using the Frost Flare ArcticPro Insulated Ski Jacket, it is essential to perform a series of preliminary checks to ensure the integrity and functionality of the garment. I will provide you with the necessary steps for these preliminary checks to ensure the jacket\u0027s integrity and functionality. Please wait for a moment while I gather the information for you." }, { "MessageId": 256, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your help. I am ready to perform the preliminary checks for the ArcticPro Insulated Ski Jacket as soon as you provide me with the necessary steps. I appreciate your assistance in helping me get this issue resolved." }, { "MessageId": 257, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Before using the Frost Flare ArcticPro Insulated Ski Jacket, it is essential to perform a series of preliminary checks to ensure the integrity and functionality of the garment. Please refer to the following table for a list of recommended preliminary checks:" }, { "MessageId": 258, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for providing the list of recommended preliminary checks. I will perform these checks and let you know the outcome. I appreciate your assistance in helping me resolve this issue." }, { "MessageId": 259, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, before using the Frost Flare ArcticPro Insulated Ski Jacket, it is essential to perform a series of preliminary checks to ensure the integrity and functionality of the garment. I have provided you with the list of recommended preliminary checks in a previous message. Please perform these checks and let me know the outcome. If the issue persists, we can explore further options." }, { "MessageId": 260, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for providing the list of recommended preliminary checks. I have performed these checks and unfortunately, the issue with the ArcticPro Insulated Ski Jacket persists. It still doesn\u0027t seem to be working properly. I would appreciate further assistance in resolving this issue. Thank you." }, { "MessageId": 261, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience you\u0027ve experienced with the ArcticPro Insulated Ski Jacket. While the preliminary checks are important, it seems that the issue persists despite performing these checks. Since the product is defective, you are eligible for a refund. Please initiate the return process at https://northernmountains.example.com/support/returns to receive a refund. Thank you for your understanding and patience." }, { "MessageId": 262, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your assistance. I will initiate the return process as advised to receive a refund. I appreciate your help in resolving this issue." } ] }, { "TicketId": 181, "ProductId": 194, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 83, "ShortSummary": "Compass troubleshooting needed", "LongSummary": "Customer needs detailed instructions for using the compass in the SurvivalPro 3000 Kit. Pending question: What specific troubleshooting tips can be provided?", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 263, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m having trouble with something in the SurvivalPro 3000 Kit. Can you help me figure it out?" }, { "MessageId": 264, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SurvivalPro 3000 Kit comes equipped with a compass for navigating through the wilderness. To use the compass: 1. Hold the compass flat in your hand. Additionally, the kit should be regularly inspected for any damage to the case or its contents. Replace any items that show signs of wear or damage to ensure the kit is always prepared for use in outdoor emergencies." }, { "MessageId": 265, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried holding the compass flat in my hand as you suggested, but I\u0027m still having trouble figuring it out. Can you provide more detailed instructions or troubleshooting tips?" }, { "MessageId": 266, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I found some additional information in the manual for the SurvivalPro 3000 Kit. According to the manual, when you receive your SurvivalPro 3000 Kit, carefully open the packaging to avoid damaging any of the items inside. Check the contents against the provided list to ensure that everything is included. Please note that the kit includes a multi-tool, first aid supplies, and fire-starting equipment, so be sure to locate these items within the packaging. If the issue persists, please contact Rescuepro customer support for assistance." } ] }, { "TicketId": 182, "ProductId": 78, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 84, "ShortSummary": "Inquiry about limited warranty and product durability", "LongSummary": "Customer questions the limited warranty of AquaTech X-5000 and requests real-life usage scenarios to ensure durability and smart investment. Needs detailed information on warranty and product durability.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 267, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m considering purchasing the AquaTech X-5000, but your limited warranty seems so limited! It doesn\u0027t cover misuse or abuse, which is subjective and can easily be used to deny any claims. And the fact that I have to provide the original proof of purchase and return the product to an authorized service center for a claim is just ridiculous. What if I have an issue while I\u0027m out on the water? This warranty is not inspiring confidence in the product\u0027s durability. Can you provide more information about how the product holds up in real-life usage scenarios? I need to know that I\u0027m making a smart investment before I commit to purchasing." } ] }, { "TicketId": 183, "ProductId": 45, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 85, "ShortSummary": "Inquiry about outdoor charging with solar power bank", "LongSummary": "Customer inquires about using solar power bank for outdoor charging. Informed about warranty and return policy. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 268, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I just bought the TrailBlazer Solar Power Bank for my upcoming camping trip and I\u0027m wondering if it will really charge my devices using just sunlight? I mean, it sounds too good to be true! Can I rely on it to keep my phone charged while I\u0027m out in the wilderness? Also, if it doesn\u0027t work as expected, can I get a refund or replacement? Thanks for your help!" }, { "MessageId": 269, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TrailBlazer solar power bank is designed to provide a reliable power source for your devices while you are on the go. It is equipped with a solar panel for outdoor charging. If you experience any issues with the product, please contact NomadGear customer support for assistance. The product comes with a limited 1-year warranty and a 30-day return or exchange policy for unused products. For warranty claims, support, or returns, please contact NomadGear customer support at support@nomadgear.com or 1-800-555-1234." }, { "MessageId": 270, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, thanks for the information! I\u0027m glad to hear that the TrailBlazer solar power bank is designed for outdoor charging. I\u0027ll be sure to reach out to NomadGear customer support if I encounter any issues. Thanks again!" } ] }, { "TicketId": 184, "ProductId": 193, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Latch Malfunction in AltitudeTech Cake Carrier", "LongSummary": "Customer experiencing latch issues with AltitudeTech Cake Carrier, seeking guidance on addressing the problem. Advised to contact SummitChomp customer support for further assistance.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 271, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Customer Support Team, I recently purchased the AltitudeTech Cake Carrier from SummitChomp and have been trying to use it to transport my high-altitude cakes. However, I am having difficulty with the functionality of the latches. Despite following the safety precautions and performing a thorough inspection, the latches seem to be malfunctioning and not securing the carrier properly. I am concerned that this may compromise the integrity of my baked goods during transport. Could you please provide me with guidance on how to address this issue? I would greatly appreciate your assistance in resolving this matter. Thank you." }, { "MessageId": 272, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us. We understand the importance of securely transporting your high-altitude cakes. According to the manual, the AltitudeTech Cake Carrier is designed with specialized insulation and secure latches to ensure the safe transportation of delicate baked goods. It\u0027s crucial to follow the setup and calibration steps provided in the manual to ensure optimal performance. If you are experiencing issues with the latches, please do not use the carrier and contact SummitChomp customer support for further assistance. If you need any further guidance, please feel free to ask." }, { "MessageId": 273, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Customer Support Team, thank you for your prompt response. I have not used the carrier since experiencing the latch issue, and I will contact SummitChomp customer support for further assistance as suggested. I will keep you updated on the outcome. Thank you for your guidance." }, { "MessageId": 274, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The latching mechanism of the AltitudeTech Cake Carrier is designed to withstand extreme environmental conditions typically encountered at high altitudes. It\u0027s crucial to perform a thorough inspection of the unit to ensure all components are in proper working order, including the functionality of the latches. If you continue to experience issues with the latches, please contact SummitChomp customer support for further assistance. You may also refer to the manual for additional guidance. Thank you for your understanding." } ] }, { "TicketId": 185, "ProductId": 58, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 86, "ShortSummary": "SafeTrail GPS Locator SOS Button Reliability Inquiry", "LongSummary": "Customer excited about using SafeTrail GPS Locator for hiking, wants reassurance about SOS button reliability. Pending response needed regarding SOS button reliability.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 275, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Just got my hands on the SafeTrail GPS Locator and I am SO excited to take it out on my next hiking adventure. Can you reassure me that the SOS button will work like a charm in case of an emergency? I want to make sure it\u0027s as reliable as it says in the description. Thanks a bunch!" } ] }, { "TicketId": 186, "ProductId": 109, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 87, "ShortSummary": "Defective XtremeGear 5000 multitool", "LongSummary": "Customer Evelyn Andrews is frustrated that the multitool in the XtremeGear 5000 kit is not working despite following bike maintenance instructions. She demands a replacement or refund. Determine if the tool is defective and offer a resolution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 276, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the multitool in the XtremeGear 5000 kit doesn\u0027t work! I followed the bike maintenance instructions, but it\u0027s still not making the adjustments I need. What\u0027s the point of including it if it\u0027s useless? This whole thing is a waste of money. I demand a replacement or a refund!" } ] }, { "TicketId": 187, "ProductId": 179, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 88, "ShortSummary": "Adjusting AquaPro 3000 paddle length difficulties", "LongSummary": "Customer needs guidance with adjusting AquaPro 3000 paddle length, having trouble securing with black locking button. Requesting assistance in making necessary adjustments.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 277, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AquaPro 3000 and have been trying to adjust the paddle length to suit my individual needs. However, I seem to be encountering some difficulties in finding the correct length despite following the instructions provided. I have tried adjusting the paddle shaft using the black locking button, but it doesn\u0027t seem to secure in place as expected. I have also referred to the height and paddle length guide in the manual, but I\u0027m still unsure if I\u0027m doing it correctly. I believe I have a good understanding of the technical aspects of this product, but I would greatly appreciate some guidance or assistance in making the necessary adjustments. Thank you in advance for your help." } ] }, { "TicketId": 188, "ProductId": 55, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 89, "ShortSummary": "Warranty Coverage Inquiry for Accidental Damage", "LongSummary": "Customer inquires about warranty coverage for accidental damage. Expresses love for product and good vibes. Pending response on warranty coverage for accidents.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 278, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there Exploremate fam! I just got my hands on the Adventurer 2000 GPS Navigator and I am absolutely loving it! The topographic mapping and waypoint marking features are seriously top-notch. But here\u0027s the thing - I noticed the warranty doesn\u0027t cover damage from \u0027accidents or misuse.\u0027 So, hypothetically speaking, what if I accidentally drop it off a small rock while hiking? Would that still be covered? \uD83E\uDD14 I mean, I promise to take super good care of it, but ya never know what could happen out on the trails, am I right? Anyway, just wanted to check in and spread some good vibes your way! Keep doing what you do best, and I\u0027ll keep exploring with my new GPS navigator! \uD83C\uDF32\uD83C\uDF1F" } ] }, { "TicketId": 189, "ProductId": 28, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 90, "ShortSummary": "Broken filter cartridge resolved", "LongSummary": "Customer Eleanor Langley reported a broken filter cartridge for her PureStream Water Purifier, but was able to resolve the issue by following the provided instructions. No further support is needed at this time.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 279, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AquaFusion Customer Support, My name is Eleanor Langley and I recently purchased the PureStream Water Purifier for my outdoor adventures. Unfortunately, the filter cartridge seems to have broken during my last trip, and I am now unable to use the purifier. I am in need of assistance in either repairing or replacing the filter cartridge so that I can continue to ensure safe drinking water on my outdoor excursions. Your prompt attention to this matter would be greatly appreciated. Thank you for your help." }, { "MessageId": 280, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Eleanor Langley, \n\nThank you for reaching out to us. We\u0027re sorry to hear about the issue with the filter cartridge of your PureStream Water Purifier. According to the user manual, to replace the filter cartridge, you can remove the cartridge by twisting it counterclockwise and pulling it out. Then, inspect the filter for damage and if it\u0027s damaged, replace it with a new one. After that, reinstall the filter cartridge by inserting it into the purifier and twisting it clockwise until it locks into place. \n\nIf you need further assistance or if you have any other questions, please feel free to let us know. We\u0027re here to help. \n\nAdventureWorks Support" }, { "MessageId": 281, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, thank you for your prompt response. I followed the steps provided in the user manual to replace the filter cartridge, and I\u0027m happy to report that the PureStream Water Purifier is now working perfectly again. I appreciate your assistance in resolving this matter. Thank you for your help." } ] }, { "TicketId": 190, "ProductId": 36, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 37, "ShortSummary": "Misunderstanding about grill capabilities", "LongSummary": "Customer misunderstood the capabilities of the Eco Grill Portable BBQ Grill, but now understands it\u0027s not suitable for cooking a whole hog. No further action needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 284, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Eco Grill Portable BBQ Grill and I have a bit of an unusual question. I was thinking of using it to cook a whole hog for a big family gathering, but now I\u0027m realizing that might be a bit too ambitious. I hope I haven\u0027t damaged the grill by even considering it! Do you think it\u0027s possible, or have I just completely misunderstood the capabilities of the grill? Any advice would be greatly appreciated. Thanks so much!" }, { "MessageId": 285, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Eco Grill Portable BBQ Grill is designed for off-grid outdoor use and may not be suitable for cooking a whole hog. It\u0027s recommended to use the grill according to the provided instructions and safety considerations. If you have further questions, feel free to ask!" }, { "MessageId": 286, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh gosh, I feel silly now. I definitely misunderstood the capabilities of the grill. Thanks for clarifying that for me. I\u0027ll stick to the regular grilling and leave the whole hog for another time. I appreciate your help!" } ] }, { "TicketId": 191, "ProductId": 98, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 92, "ShortSummary": "TrailBlazer GPS watch not functioning", "LongSummary": "TrailBlazer GPS watch not functioning, no power. Customer needs troubleshooting help.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 287, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Watch broken. Need help. No power. No function." } ] }, { "TicketId": 192, "ProductId": 80, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 93, "ShortSummary": "Persistent line tangling issue", "LongSummary": "Customer Erik Johnson experiencing line tangling issues despite following initial suggestions. Next agent should provide advanced troubleshooting for fishing reel.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 288, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Line keeps tangling, can\u0027t reel in catch. Help please." }, { "MessageId": 289, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To prevent line twist, carefully spool the line onto the reel to avoid any twists. Additionally, you can adjust the drag system on the reel to control line tension and prevent line breakage. If you have any further questions, feel free to ask!" }, { "MessageId": 290, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Line still keeps tangling even after following your suggestions." } ] }, { "TicketId": 193, "ProductId": 70, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 94, "ShortSummary": "Refund requested for solar power bank", "LongSummary": "Customer is frustrated with recommended product tests, demands immediate refund. Next agent should address refund process and offer alternative solutions.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 291, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "So let me get this straight, you\u0027re telling me I need to do some kind of voltage measurement and capacity test just to make sure this solar power bank works properly? I bought it to make my life easier, not to spend my time conducting tests! And what\u0027s this about a solar panel inspection? I just want a power bank that I can rely on when I\u0027m out and about, not a science experiment. If this thing doesn\u0027t work as advertised, I want a refund!" }, { "MessageId": 292, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand your concerns, and I apologize for the inconvenience. According to the product manual, the capacity test and voltage measurement are recommended to ensure the power bank\u0027s proper functioning. Additionally, the solar panel inspection is suggested to maintain optimal performance. If you believe the product is defective, you may be eligible for a refund. You can initiate a return at https://northernmountains.example.com/support/returns." }, { "MessageId": 293, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the product manual or what is recommended, I just want a working power bank without having to jump through hoops. This is unacceptable and I demand a refund immediately!" } ] }, { "TicketId": 194, "ProductId": 1, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 95, "ShortSummary": "Inquiry about Adventure GPS Tracker technical specs", "LongSummary": "Evan Chambers seeks technical info on Adventure GPS Tracker specs. He\u0027s satisfied with the device\u0027s performance. No pending questions. A follow-up on customer satisfaction would be helpful.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 294, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Escapesafe Customer Support,\n\nI am reaching out to inquire about the Adventure GPS Tracker. As a retailer stocking this product, I am seeking detailed technical information regarding its environmental compatibility, functional diagnostics, battery performance, and network connectivity. Our customers are increasingly knowledgeable about the intricacies of such devices, and I aim to provide them with comprehensive insights. Please assist me in understanding the device\u0027s superiority in withstanding extreme conditions, operating as intended, optimizing battery efficiency, and ensuring reliable network connectivity. Your prompt and thorough response would be greatly appreciated.\n\nSincerely, Evan Chambers" }, { "MessageId": 295, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Evan Chambers, \n\nThank you for reaching out to us about the Adventure GPS Tracker. According to the user manual, the device is equipped with advanced GPS technology, utilizing GPS, GLONASS, and Galileo satellite systems to ensure accurate positioning even in remote areas with limited GPS coverage. The manual also provides guidance on conducting precise battery performance analysis to determine power efficiency, capacity, and adherence to industry standards. In addition, the durability testing of the Adventure GPS Tracker meets MIL-STD-810G standards for resistance to shock, vibration, and temperature extremes. For network connectivity, the manual suggests assessing the device\u0027s ability to establish and maintain stable connections with GPS satellites. I hope this information is helpful to you and your customers. Should you require further assistance, feel free to reach out to us. \n\nSincerely, \nAdventureWorks Support" }, { "MessageId": 296, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, \n\nThank you for the detailed information provided. I have conducted a thorough analysis of the device\u0027s environmental compatibility, functional diagnostics, battery performance, and network connectivity based on the guidance from the user manual. I must say, the precision and reliability of the Adventure GPS Tracker are truly impressive. It has exceeded our expectations in terms of withstanding extreme conditions, optimizing battery efficiency, and ensuring reliable network connectivity. I am thoroughly satisfied with the device\u0027s performance and will now be able to provide our customers with the comprehensive insights they seek. I appreciate your prompt and thorough response.\n\nSincerely, Evan Chambers" } ] }, { "TicketId": 195, "ProductId": 183, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 96, "ShortSummary": "Boiling issue despite following instructions", "LongSummary": "Customer unable to boil water in pot despite following instructions. Informed about warranty replacement process. Pending question about whether to close the ticket.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 297, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Pot not boiling water properly. Help needed ASAP." }, { "MessageId": 298, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to boil water in the Trailblazer Compact Cookware Set, you should add the desired amount of water to the pot and bring it to a boil. Once the liquid is boiling, you can add your ingredients and cook according to your recipe. If you have followed these steps and are still experiencing issues, please let us know so we can further assist you." }, { "MessageId": 299, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried following the steps, still not boiling. What next?" }, { "MessageId": 300, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear that you\u0027re still experiencing difficulties. If the product is defective, you may be eligible for a replacement part free of charge under the warranty. To proceed with this, you can contact Campchef Customer Service at 1-800-650-2433 or email support@campchef.com. They will guide you through the process and provide instructions for returning the product if necessary. It\u0027s important to have the proof of purchase and a description of the issue ready when contacting them. If you need any further assistance, please let us know. Should I close the ticket?" } ] }, { "TicketId": 196, "ProductId": 42, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 97, "ShortSummary": "Defective StealthTrek Backpack", "LongSummary": "Customer is frustrated with malfunctioning StealthTrek Tactical Backpack. Wants replacement or refund. Assistant informed about lifetime warranty and return process.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 301, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am beyond frustrated with my StealthTrek Tactical Backpack from Tactic Tech. I purchased it for rugged outdoor adventures, but it has already broken after just a few uses. The main compartment zipper is completely stuck and won\u0027t budge, making it impossible to access any of my gear. This is unacceptable! I expect a replacement or a refund for this faulty product." }, { "MessageId": 302, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the StealthTrek Tactical Backpack comes with a limited lifetime warranty that covers manufacturing defects and workmanship. Tactic Tech will repair or replace any defective parts or the entire backpack if necessary, at their discretion. You may initiate the return process at https://northernmountains.example.com/support/returns." } ] }, { "TicketId": 197, "ProductId": 139, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 98, "ShortSummary": "SmartCyclo suitability for indoor cycling", "LongSummary": "Customer inquires about using SmartCyclo for indoor cycling, seeks guidance on optimizing the device. Pending confirmation and guidance needed for indoor use.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 303, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am considering using the SmartCyclo GPS Bike Computer for indoor cycling on my stationary bike. I believe that the advanced performance tracking features, such as heart rate monitoring, can still be beneficial even in a stationary setting. Can you confirm if the SmartCyclo is suitable for this purpose? Additionally, I would appreciate any guidance on how to optimize the device for indoor cycling if applicable. Thank you for your assistance." } ] }, { "TicketId": 198, "ProductId": 151, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 99, "ShortSummary": "Knife Feature Usage Guidance", "LongSummary": "Customer seeks guidance on using the knife feature of the Survivor Multi-Tool effectively and safely. Previous response provided detailed instructions. No further questions pending.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 304, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Survivor Multi-Tool from Resilience Gear and I\u0027m loving its durability and versatility. However, I have a question about its suitability for cutting and slicing tasks. I want to make sure I\u0027m using it correctly and safely. Can you provide me with some guidance on how to use the knife feature effectively? I want to ensure that I\u0027m not causing any damage to the tool due to misuse. Thanks so much for your help!" }, { "MessageId": 305, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The knife feature of the Survivor Multi-Tool is located in the center of the tool. To use the knife, carefully pull the knife blade out from the tool and use it for cutting and slicing tasks. Remember to use caution when handling the knife blade, as it is extremely sharp. Additionally, familiarize yourself with the main components of the multi-tool and become familiar with the locations of the buttons and the maneuvering of the controls, ensuring that you understand how to access each feature. If you have any further questions or need assistance, feel free to reach out to us. We\u0027re here to help!" }, { "MessageId": 306, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you so much for the guidance! I\u0027ll be sure to handle the knife feature with caution and follow your instructions. I really appreciate your help." } ] }, { "TicketId": 199, "ProductId": 24, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 100, "ShortSummary": "Cleaning success", "LongSummary": "Customer cleaned sleeping bag as suggested and it worked. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 307, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I bought the Arctic Dream 0\u00B0F Sleeping Bag and it\u0027s super warm! How do I clean it without messing it up? Thx!" }, { "MessageId": 308, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to clean your Arctic Dream 0\u00B0F Sleeping Bag, spot clean the affected area with a damp cloth and mild soap. Do not use harsh chemicals or bleach. This will help keep your sleeping bag in top condition." }, { "MessageId": 309, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thx! I\u0027ll give it a try and let you know how it goes." }, { "MessageId": 310, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, you can spot clean the affected area with a damp cloth and mild soap. Do not use harsh chemicals or bleach. This will help keep your sleeping bag in top condition. If you have any other questions, feel free to ask!" }, { "MessageId": 311, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, just wanted to let you know that I cleaned the sleeping bag as you suggested and it worked like a charm! Thanks for the help!" } ] }, { "TicketId": 200, "ProductId": 145, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 102, "ShortSummary": "Slow charging issue with solar-powered portable charger", "LongSummary": "Customer is experiencing slow charging with the solar-powered portable charger despite direct sunlight and panel cleaning. Customer seeks help to understand why it\u0027s charging slowly.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 315, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the PowerBeam Solar Powered Portable Charger and I\u0027m having some trouble with it. I thought it would charge my devices really quickly, but it seems to be taking forever. I\u0027ve tried placing it in direct sunlight and cleaning the solar panel, but it\u0027s still not working as expected. Can you please help me understand why it\u0027s charging so slowly? I really want to make sure I\u0027m getting the most out of this solar charger. Thank you so much for your help!" } ] }, { "TicketId": 201, "ProductId": 121, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 103, "ShortSummary": "Trouble with distance alert feature on HydroTech 5000", "LongSummary": "Customer needs assistance setting the distance alert feature on the HydroTech 5000. They can\u0027t figure out how to adjust the parameters and navigate to the settings menu using the touch screen. They are awaiting feedback on whether the provided instructions were helpful.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 316, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the HydroTech 5000 from WaterRover and I\u0027m having trouble with the distance alert feature. I can\u0027t seem to figure out how to set the distance limit or adjust the parameters. I thought it would automatically notify me, but I must be doing something wrong. Can you please help me understand how to use this feature properly? Thank you so much!" }, { "MessageId": 317, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the distance alert feature on the HydroTech 5000 will notify you when you are straying too far from your designated route. To set the distance limit, navigate to the settings menu using the touch screen and adjust the distance alert parameter. I hope this helps!" }, { "MessageId": 318, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, thank you for the information! I didn\u0027t realize I had to navigate to the settings menu using the touch screen. I\u0027ll give it a try and let you know how it goes. Thank you again!" } ] }, { "TicketId": 202, "ProductId": 58, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 104, "ShortSummary": "Customer excited about setting up geofences for SafeTrail GPS Locator", "LongSummary": "Customer excited about SafeTrail GPS Locator, asked for tips on setting up geofences. Received detailed instructions, successfully set up geofence, recommended product to friends. Customer highly satisfied. Next agent should continue providing support for any further inquiries.", "CustomerSatisfaction": 8, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 319, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I just stumbled upon the SafeTrail GPS Locator from GuardianGear and I\u0027m super excited about it! The idea of setting up virtual boundaries with geofences is so cool! Can you give me some tips on how to make the most out of this feature? I\u0027m looking to recommend it to my customers and would love to have all the insider info. Thanks a bunch!" }, { "MessageId": 320, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To ensure your safety while using the SafeTrail GPS Locator, you can set up virtual boundaries, also known as geofences, to receive alerts when you enter or leave a specified area. To create a new boundary, tap the \u0022Add Boundary\u0022 button within the app. Then, designate the area by setting the desired radius on the map, name the boundary, and save your settings. You can also edit or delete existing boundaries in the app. The SafeTrail GPS Locator app provides a map view of your current location and the option to set up geofencing and customized alerts for specific locations." }, { "MessageId": 321, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "OMG, thank you so much for the tips! I tried setting up a geofence and it worked like a charm! I\u0027ve already recommended the SafeTrail GPS Locator to two of my friends and they love it too! You guys are the best!" } ] }, { "TicketId": 203, "ProductId": 17, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 105, "ShortSummary": "Care Instructions for Amazon Rainforest Camping Jacket", "LongSummary": "Customer inquired about specific care instructions for the RidgeRunner Weatherproof Jacket in humid/tropical conditions. Agent provided guidance, no further questions from customer. Ticket is open for any additional inquiries.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 322, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the RidgeRunner Weatherproof Jacket and I\u0027m planning to use it for camping in the Amazon rainforest. I\u0027m confident that it will provide me with the protection I need in such a challenging environment. However, I wanted to double-check if there are any specific care instructions I should follow considering the humid and tropical conditions. Thank you for your help!" }, { "MessageId": 323, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, thank you for reaching out to us! According to the product manual, the RidgeRunner Weatherproof Jacket should be stored in a cool, dry place away from direct sunlight when not in use. It\u0027s also important to avoid folding or compressing the jacket for long periods to maintain its shape and waterproof properties. If you have any further questions, feel free to ask!" }, { "MessageId": 324, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the care instructions! I will make sure to store the jacket as advised and avoid folding or compressing it for too long. I appreciate your help!" } ] }, { "TicketId": 204, "ProductId": 65, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 106, "ShortSummary": "Inquiry about Heavy-Duty Versatility", "LongSummary": "Customer inquiring about the versatility of the Camptech Multi-Tool Camping Gadget for heavy-duty tasks. Advised to contact manufacturer for details. Pending question about handling heavy-duty tasks.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 325, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I\u0027m thinking about getting the Camptech Multi-Tool Camping Gadget for my upcoming camping trip, and I wanted to check if it\u0027s really as versatile as it sounds. I mean, the description says it has a knife, saw, and screwdriver, but I\u0027m wondering if it can handle heavy-duty tasks like cutting through tough materials or tightening heavy-duty screws. Can\u0027t wait to hear back and hopefully become best buds with this awesome gadget! Thanks a bunch!" }, { "MessageId": 326, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Camptech Multi-Tool Camping Gadget is designed to be a versatile and essential tool for camping adventures. While the manual does not provide specific details about heavy-duty tasks, it emphasizes the gadget\u0027s ability to handle various camping situations. If you have any concerns about heavy-duty tasks, we recommend reaching out to the manufacturer for further assistance. For warranty information, please refer to the manufacturer\u0027s support contact details in the user manual." }, { "MessageId": 327, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the info! I\u0027ll reach out to the manufacturer to get more details about handling heavy-duty tasks. Can\u0027t wait to put this gadget to the test! You\u0027ve been super helpful, best buddy!" } ] }, { "TicketId": 205, "ProductId": 30, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 107, "ShortSummary": "Issue with Alpine Chef Cookware Set", "LongSummary": "Customer Julian Kim reported an issue with the Alpine Chef Camp Cookware Set and was asked for more details on the specific issue. Pending response from the customer to provide more information to assist further.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 328, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Cookware not working as expected. Need help with this." }, { "MessageId": 329, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear that the cookware is not working as expected. To better assist you, could you please provide more details on the specific issue you are facing with the Alpine Chef Camp Cookware Set?" } ] }, { "TicketId": 206, "ProductId": 135, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 108, "ShortSummary": "Remote viewing configuration assistance for WideView 360 camera", "LongSummary": "Customer demands step-by-step remote viewing configuration guidance for WideView 360 camera. They are adamant about not dealing with it on their own.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 330, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the WideView 360 trail camera and I can\u0027t figure out how to access the remote viewing feature. This is unacceptable! I demand immediate assistance in setting this up or I will be seeking a refund. I expect better customer support for a product that claims to have advanced features like 4K resolution and panoramic capture." }, { "MessageId": 331, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The WideView 360 trail camera is equipped with advanced remote viewing capabilities, allowing users to monitor the captured panoramic views from a remote location. The user manual provides detailed steps on how to configure the remote viewing feature. According to the manual, the camera offers unparalleled panoramic views with 4K resolution capability and advanced night vision technology." }, { "MessageId": 332, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand a step-by-step walkthrough on how to configure the remote viewing feature. I shouldn\u0027t have to rely on a manual to figure this out. I expect immediate assistance and a resolution to this issue!" }, { "MessageId": 333, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "AdventureWorks Support here. According to the manual, the WideView 360 trail camera is equipped with advanced remote viewing capabilities, allowing users to monitor the captured panoramic views from a remote location. The remote viewing feature can be configured using the steps provided in the manual. Would you like me to guide you through the configuration steps?" }, { "MessageId": 334, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand that you guide me through the configuration steps immediately. I shouldn\u0027t have to deal with this on my own!" }, { "MessageId": 335, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, once the remote viewing configuration is complete, users can access live panoramic views, 4K resolution footage, and night vision feed from the WideView 360 trail camera through the mobile app. The app also provides additional monitoring and recording options for enhanced surveillance." }, { "MessageId": 336, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I expect you to guide me through the configuration steps immediately. I shouldn\u0027t have to deal with this on my own!" } ] }, { "TicketId": 207, "ProductId": 122, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 109, "ShortSummary": "Exposure Settings Assistance Needed", "LongSummary": "Customer requests detailed instructions on adjusting exposure settings for AdventureCam 4K to improve outdoor photography. Assistance needed to elevate photography skills.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 337, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello! I recently purchased the AdventureCam 4K and I\u0027m having trouble understanding how to adjust the exposure settings. As an experienced photographer, I pride myself on my technical knowledge and creativity, but I seem to be struggling with this particular feature of the camera. Can you provide me with detailed instructions on how to adjust the exposure settings effectively? I want to make sure my shots are perfectly lit in all lighting conditions, and I believe that mastering this feature will take my outdoor photography to the next level. Any assistance you can provide would be greatly appreciated. Thank you!" } ] }, { "TicketId": 208, "ProductId": 60, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 110, "ShortSummary": "Demand for immediate replacement of water bottle used for salad dressing", "LongSummary": "Customer demands immediate replacement for water bottle used for salad dressing. Refuses to acknowledge warranty. Next agent should address warranty terms and process for replacement.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 338, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand that you provide me with a refund for my PureFlow Water Filter Bottle! I used it to store my homemade salad dressing and now it won\u0027t work properly. This is unacceptable! I expect a replacement bottle at no cost to me immediately." }, { "MessageId": 339, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The PureFlow Water Filter Bottle from H2OZone is designed to remove 99.9% of waterborne bacteria and protozoa, ensuring clean drinking water wherever you go. If the bottle is not working properly, please contact H2OZone customer support for further assistance. The bottle also comes with a limited warranty to ensure your satisfaction. If the problem persists, please refer to the warranty information for details on how to proceed." }, { "MessageId": 340, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the warranty! I demand a replacement bottle now! This is completely unacceptable and I expect immediate action to resolve this issue!" }, { "MessageId": 341, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the manual, the PureFlow Water Filter Bottle comes with a 1-year limited warranty. You can make a warranty claim for manufacturing defects and malfunctions under normal use. For further assistance, please contact H2OZone customer support." } ] }, { "TicketId": 209, "ProductId": 88, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 111, "ShortSummary": "Broken RapidFlow Kayak Paddle in White Water Rapids", "LongSummary": "Customer Megan Harper reported a broken RapidFlow Kayak Paddle while using it in white water rapids as intended. Inquired about a possible replacement or repair. Waiting for assistance with durability concerns.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 342, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am reaching out regarding my recent purchase of the WaterWay RapidFlow Kayak Paddle. Unfortunately, the paddle has broken during use and I am in need of assistance. I was using it in white water rapids as intended, and I followed all the safety guidelines outlined in the product manual. I am concerned about the durability of the paddle and would like to inquire about a possible replacement or repair. Your prompt attention to this matter would be greatly appreciated. Thank you." } ] }, { "TicketId": 210, "ProductId": 75, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 113, "ShortSummary": "Inquiry about suitability for hiking", "LongSummary": "Customer inquires if the Escapesafe GPS Locator Beacon is suitable for hiking. No response yet. Agent to provide product details and suitability for hiking.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 345, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Need to know if Escapesafe GPS Locator Beacon is suitable for hiking. Thanks." } ] }, { "TicketId": 211, "ProductId": 65, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 114, "ShortSummary": "Inquiry about knife, screwdriver, and saw safety and usage", "LongSummary": "Customer inquired about safety and usage of knife, screwdriver, and saw features. Assistant provided detailed instructions for each feature. Customer successfully used the knife and saw, and will refer to the user manual. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 346, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I\u0027m interested in the Camptech Multi-Tool Camping Gadget. Can you tell me more about the safety precautions and how to properly use the knife, saw, and screwdriver features? Thanks!" }, { "MessageId": 347, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The knife on the Camptech Multi-Tool Camping Gadget is a versatile and essential tool for any camping trip. To use the knife, simply slide the safety lock button to the unlock position, then carefully unfold the knife blade. For the screwdriver feature, it is designed to help with small repairs. If you need more detailed instructions, please refer to the user manual for specific guidance." }, { "MessageId": 348, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I have unlocked the knife and tried using it, and it worked well. I will refer to the user manual for more details. Can you also provide safety tips for using the saw feature? Thanks!" }, { "MessageId": 349, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The saw on the Camptech Multi-Tool Camping Gadget is perfect for cutting through small branches and other wood materials. To use the saw, firmly grip the tool and carefully unfold the saw blade. Use a back and forth motion to saw through the wood, applying gentle pressure as needed. After use, carefully fold the saw blade back into the tool for safe storage. If you need further details, please refer to the user manual." }, { "MessageId": 350, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I have successfully used the saw feature and it worked well. I will refer to the user manual for more details if needed. This resolves my enquiry. Thanks!" } ] }, { "TicketId": 212, "ProductId": 35, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 115, "ShortSummary": "Material reassurance needed for Alpine Camp Cookware Set", "LongSummary": "Customer seeks reassurance on the materials used in the CookMaster Alpine Camp Cookware Set. Specific details are requested to ensure top quality and longevity. Pending question about specific materials used.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 351, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just purchased the CookMaster Alpine Camp Cookware Set and I expect it to be top-notch! I need reassurance that this cookware is as durable and versatile as advertised. I won\u0027t settle for anything less than the best. If it doesn\u0027t meet my expectations, I will demand a refund or replacement. I\u0027m counting on you to provide me with the assistance and information I need to ensure this product performs as expected." }, { "MessageId": 352, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The CookMaster Alpine Camp Cookware Set is designed to be durable and versatile, making it perfect for all your camping kitchen needs. It is essential to clean and store your Alpine Camp Cookware Set properly to maintain its quality and longevity. According to the user manual, the set is just what you need to make your camping cooking experience a breeze!" }, { "MessageId": 353, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information, but I need more reassurance. Can you provide specific details about the materials used in the CookMaster Alpine Camp Cookware Set? I want to make sure it\u0027s top quality and will last for many camping trips to come." }, { "MessageId": 354, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The materials used in the CookMaster Alpine Camp Cookware Set are not specifically mentioned in the user manual. However, the set is designed to be durable and versatile, making it perfect for all your camping kitchen needs." } ] }, { "TicketId": 213, "ProductId": 142, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 116, "ShortSummary": "Refund demand due to manual oversight", "LongSummary": "Customer demands a refund for oversight in manual details about washing the hammock. Assistant responded with apology and offer for further assistance. Next agent should process refund if necessary.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 355, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely livid that the manual didn\u0027t mention the specific type of mild detergent to use when machine washing the hammock! How could you overlook such an important detail? I demand a refund for this oversight!" }, { "MessageId": 356, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, when machine washing the hammock, you should use a mild detergent and avoid any harsh chemicals or bleach. I apologize for the oversight and thank you for bringing this to our attention. If you require any further assistance, please don\u0027t hesitate to contact us." } ] }, { "TicketId": 214, "ProductId": 61, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 30, "ShortSummary": "SOS feature troubleshooting request", "LongSummary": "Customer experiencing issues with SOS feature on Satellite Communicator 2000, seeking troubleshooting steps. Pending question: troubleshooting steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 357, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Adventure Link Satellite Communicator 2000 and I\u0027m encountering some issues with the SOS feature. When I tried to activate the emergency signal, nothing happened. I made sure the device had a clear line of sight to the sky, but still no luck. Can you provide me with some troubleshooting steps to resolve this issue? Thank you." } ] }, { "TicketId": 215, "ProductId": 52, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 117, "ShortSummary": "Inquiries on emergency beacon testing and battery maintenance", "LongSummary": "Customer inquires about testing schedule for emergency beacon and battery maintenance. Assistant warns against device maintenance and unauthorized charger use.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 358, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering using the Trailcom Trailblazer Off-Grid Communicator for my upcoming outdoor expedition. I am well-versed in emergency protocols and regulations and understand the gravity of activating the Emergency SOS Beacon. However, I have a specific testing schedule for the beacon in mind and would like to confirm the designated testing times recommended by Trailcom. Additionally, I am aware of the rechargeable lithium-ion battery and the importance of using the provided charger. Can you provide me with detailed information on the battery maintenance and the potential risks associated with using any other charger? Your prompt assistance will be greatly appreciated." }, { "MessageId": 359, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Trailblazer Off-Grid Communicator is not designed for regular maintenance. Attempting to perform any maintenance or repairs on the device may result in damage to the product and void the warranty. Please do not attempt to open the device or access its internal components. Additionally, the device is equipped with a rechargeable lithium-ion battery, and it is crucial to only use the provided charger to recharge the battery. The use of any other charger may lead to overheating, fire, or explosion. Do not attempt to replace the battery yourself - this should only be done by authorized service personnel." }, { "MessageId": 360, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. I understand the importance of following the manufacturer\u0027s recommendations for maintenance and charging to ensure the safety and proper functioning of the device. I will strictly adhere to the guidelines mentioned in the manual. I appreciate your prompt assistance." } ] }, { "TicketId": 216, "ProductId": 133, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 118, "ShortSummary": "Warranty coverage for wild animal encounters in extreme conditions", "LongSummary": "Customer Oliver asked if the warranty covers encounters with wild animals in extreme conditions like the Amazon rainforest. Confirms if this is normal wear and tear.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 361, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello Strategicgear team, my name is Oliver and I recently purchased your TactiX 3000 backpack. I\u0027m planning to take it on a camping trip to the Amazon rainforest and I\u0027m confident it will hold up to the extreme conditions there. I just wanted to confirm that the warranty covers any unexpected encounters with wild animals, like if a jaguar tries to claw its way into my backpack. I assume this falls under normal wear and tear, right? Thanks for your help!" } ] }, { "TicketId": 217, "ProductId": 131, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 119, "ShortSummary": "NatureCam 1000 troubleshooting", "LongSummary": "NatureCam 1000 not functioning properly, customer needs assistance. Pending question: what specific issue are they experiencing? Response needed: troubleshooting steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 362, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I\u0027m having an issue with my NatureCam 1000 and need help. It\u0027s not working properly and I\u0027m not sure what to do. Can you please assist me with this? Thanks." } ] }, { "TicketId": 218, "ProductId": 31, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 120, "ShortSummary": "Issue with igniting Nomad Camping Stove", "LongSummary": "Customer struggling to ignite Nomad Camping Stove, followed manual instructions. Needs further troubleshooting assistance. Pending question on specific troubleshooting steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 363, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear WanderStove Customer Support Team, I recently purchased the Nomad Camping Stove and have encountered an issue with difficulty igniting the stove. I have ensured that the fuel valve is fully open and checked for any blockages in the fuel canister, but I am still unable to ignite the stove. Could you please provide me with further assistance on troubleshooting this issue? Thank you for your prompt attention to this matter. Sincerely, Nadia Patel" }, { "MessageId": 364, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Nomad Camping Stove is now set up and ready for use. If the issue persists or cannot be resolved, please contact our customer support team at support@wanderstove.com for further assistance." } ] }, { "TicketId": 219, "ProductId": 129, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 121, "ShortSummary": "Trouble with SIM card after wiping contacts", "LongSummary": "Customer purchased TrailFax Mini, having trouble with SIM card after wiping contacts. Needs help figuring it out. Pending question: \u0027Am I doing something wrong?\u0027 Require troubleshooting assistance.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 365, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the TrailFax Mini and I\u0027m having trouble with the SIM card. I tried wiping the contacts as suggested in the troubleshooting section, but the issue still persists. I\u0027m a bit embarrassed to admit it, but I\u0027m not sure if I\u0027m doing something wrong. Can you please help me figure this out? Thank you so much." } ] }, { "TicketId": 220, "ProductId": 178, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 122, "ShortSummary": "Energy claims and packaging issues", "LongSummary": "Customer is dissatisfied with the PowerBar Pro 2021\u0027s energy boosting claims and difficult packaging. They seek an explanation and solution. Pending question: Can you offer a solution to these discrepancies?", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 370, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t understand why the PowerBar Pro 2021 is marketed as a high-energy option for adventure activities. I\u0027ve tried it and it didn\u0027t give me the boost I was expecting. Plus, the packaging was difficult to open despite the manual\u0027s claim that it\u0027s easy. Can you explain these discrepancies and offer a solution?" } ] }, { "TicketId": 221, "ProductId": 145, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 123, "ShortSummary": "Compatibility of PowerBeam Solar Charger with older devices", "LongSummary": "Customer inquires about compatibility of PowerBeam Solar Powered Portable Charger with older devices. Pending question regarding charger compatibility with older devices. Next support agent should address the pending question and provide specific compatibility details.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 371, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m interested in purchasing the PowerBeam Solar Powered Portable Charger for an upcoming camping trip. I\u0027m a bit worried about whether it will be able to charge my older devices, as I know that some older devices may not be compatible with solar chargers. Can you please advise if this charger will work with older devices? Thanks!" }, { "MessageId": 372, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, some older devices may not be able to charge using solar power. If you have further questions or need assistance, please contact our customer support team for further assistance." } ] }, { "TicketId": 222, "ProductId": 157, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 124, "ShortSummary": "Trouble with Waterproof Casing for 360X Action Camera", "LongSummary": "Customer is frustrated with the waterproof casing instructions for the 360X Action Camera, finding the manual unhelpful. Specific questions on how to use the casing have been raised. A clear explanation on how to properly use the waterproof casing is needed.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 373, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought the 360X Action Camera and I can\u0027t figure out how to use the waterproof casing. The manual is not helpful at all. It says to open the casing in a dry environment - well duh, of course I wouldn\u0027t open it underwater! And then it talks about testing the casing by submerging it in water, which doesn\u0027t make sense at all. I need some real help here, not just nonsense from the manual. This is so frustrating!" } ] }, { "TicketId": 223, "ProductId": 8, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Data privacy and compliance reassurance request for Outdoor Admin 5000", "LongSummary": "Customer recently purchased the Outdoor Admin 5000 and wants reassurance on data privacy and compliance with laws and regulations. Assistant provided info on data security and legal compliance.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 374, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Outdoor Admin 5000 and I just want to make sure that it is behaving as expected. I love the idea of managing my itinerary and emergency contacts all in one device, but I want to be sure that the data privacy and compliance with laws and regulations are being upheld. Can you provide me with some reassurance on this? Thank you." }, { "MessageId": 375, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the Outdoor Admin 5000 collects and stores itinerary and emergency contact information for your convenience, and this data is kept secure and is never shared with third parties without your consent. In addition, it is important to comply with all local laws and regulations regarding the use of electronic devices, including data privacy laws and regulations pertaining to emergency communication devices." } ] }, { "TicketId": 224, "ProductId": 49, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 125, "ShortSummary": "Maintenance advice for Summit Hiking Boots", "LongSummary": "Customer seeks advice on cleaning and maintaining Summit Hiking Boots from TrekMaven for future hikes. Needs detailed tips for upkeep.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 376, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Just wanted to share how much I adore my Summit Hiking Boots from TrekMaven. These bad boys have been with me through some seriously rugged terrain, and they\u0027ve never let me down. But hey, I\u0027ve been trying to find the best way to keep them in top shape after all the adventures we\u0027ve been on together. Any tips on cleaning and maintaining these beauties? I want to make sure they stay in tip-top condition for many more thrilling hikes to come! Thanks a bunch!" } ] }, { "TicketId": 225, "ProductId": 58, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "Troubleshooting SafeTrail GPS Locator", "LongSummary": "Customer Lila Chen is having issues with SafeTrail GPS Locator and needs help figuring out what\u0027s wrong. No specific details provided. Agent response with troubleshooting steps needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 377, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m having trouble with my SafeTrail GPS Locator. It\u0027s not working as expected. Can you please help me figure out what\u0027s wrong?" } ] }, { "TicketId": 226, "ProductId": 9, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 127, "ShortSummary": "Unhappy with AltitudeShield Pro at high altitude", "LongSummary": "Customer is unhappy about AltitudeShield Pro not working at high altitude as advertised. Wants refund but is informed it\u0027s not possible due to product specifications. Request to speak to manager.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 378, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I got the AltitudeShield Pro for my mountain baking but it doesn\u0027t seem to be working at all. Can you help me figure out what\u0027s going on?" }, { "MessageId": 379, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the AltitudeShield Pro is not suitable for use in any environment other than high-altitude locations. It should not be used to protect cakes or baked goods at sea level or in normal atmospheric conditions. If you require further assistance, please feel free to contact our support team." }, { "MessageId": 380, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m at high altitude and it\u0027s still not working. What should I do now?" }, { "MessageId": 381, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the AltitudeShield Pro is a highly specialized product that must not be used in any way other than explicitly outlined in the user manual. It is also not suitable for use in high-altitude environments. SummitChomp strongly advises against setting up the AltitudeShield Pro in any environment, as it poses a significant risk to both the user and their surroundings. Due to the extreme nature of the environment, SummitChomp cannot guarantee the functionality of the AltitudeShield Pro at high altitudes and therefore cannot offer any warranty coverage for such usage. Unfortunately, SummitChomp does not accept returns for the AltitudeShield Pro if it has been used in high-altitude environments. Once the product has been used in such conditions, it is not eligible for return or refund. I recommend discontinuing the use of the AltitudeShield Pro and ensuring that it is handled safely according to the manufacturer\u0027s instructions. If you have any further questions, please feel free to contact our support team." }, { "MessageId": 382, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is ridiculous. I just want my money back!" }, { "MessageId": 383, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the AltitudeShield Pro is not suitable for use in high-altitude environments. SummitChomp strongly advises against setting up the AltitudeShield Pro in any environment, as it poses a significant risk to both the user and their surroundings. Due to the extreme nature of the environment, SummitChomp cannot guarantee the functionality of the AltitudeShield Pro at high altitudes and therefore cannot offer any warranty coverage for such usage. Unfortunately, SummitChomp does not accept returns for the AltitudeShield Pro if it has been used in high-altitude environments. I recommend discontinuing the use of the AltitudeShield Pro and ensuring that it is handled safely according to the manufacturer\u0027s instructions. If you have any further questions, please feel free to contact our support team." }, { "MessageId": 384, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I want to speak to a manager. This is unacceptable." }, { "MessageId": 385, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the AltitudeShield Pro is highly specialized and not suitable for use in any environment other than high-altitude locations. SummitChomp strongly advises against setting up the AltitudeShield Pro in any environment as it poses a significant risk. Due to the extreme nature of the environment, SummitChomp cannot guarantee the functionality of the AltitudeShield Pro at high altitudes and therefore cannot offer any warranty coverage for such usage. Unfortunately, returns are not accepted for the AltitudeShield Pro if it has been used in high-altitude environments. I recommend ensuring that the product is handled safely according to the manufacturer\u0027s instructions. If you have any further questions, please feel free to contact our support team or refer to the user manual for more details." } ] }, { "TicketId": 227, "ProductId": 165, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 128, "ShortSummary": "Inquiry about safety and intended use for potential business", "LongSummary": "Customer inquiring about safety precautions and intended use of product for potential business purposes. Looking for detailed information before recommending to customers.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 386, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there OutdoorHaven team! I just stumbled upon your Rugged Shelter 600 and I am absolutely loving the idea of finding refuge in the great outdoors with this beauty. The fact that it\u0027s weatherproof and easy to set up is music to my ears! I\u0027m actually thinking of stocking it in my own shop, and I was wondering if you could provide me with some more information about the safety precautions and intended use of the shelter. It\u0027s always great to have all the details before recommending a product to my customers. Looking forward to your response, and hoping we can be business besties!" } ] }, { "TicketId": 228, "ProductId": 90, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 129, "ShortSummary": "Performance issue with PurifyPro Water Filter Pump", "LongSummary": "Customer demands replacement or full refund for PurifyPro Water Filter Pump performance issues. Needs further assistance with product operation.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 387, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this PurifyPro Water Filter Pump by AquaFusion! I took it on a hiking trip and it barely filtered any water. I thought it was supposed to remove 99.9999% of bacteria, but I ended up getting sick! I need to know if this product is actually suitable for outdoor use or if I just wasted my money. This is unacceptable and I expect a resolution!" }, { "MessageId": 388, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The PurifyPro Water Filter Pump by AquaFusion is specifically designed for outdoor use and is engineered to remove 99.9999% of waterborne bacteria, ensuring a safe and reliable source of drinking water during camping, hiking, or other outdoor activities. According to the manual, it is constructed using high-quality, durable materials to ensure reliable performance in various outdoor conditions. To ensure proper operation, prime the pump by pumping the handle several times until water flows through the system. Once primed, the PurifyPro Water Filter Pump is ready for use in purifying water for consumption. If you have any further questions or need assistance with the product, please feel free to ask." }, { "MessageId": 389, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the instructions and primed the pump by pumping the handle several times, but it still barely filters any water! I am extremely disappointed with the performance of this PurifyPro Water Filter Pump and I do not accept this resolution. I demand a replacement or a full refund!" } ] }, { "TicketId": 229, "ProductId": 43, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 130, "ShortSummary": "Outdoor Suitability for NightOps Tactical Flashlight", "LongSummary": "Customer inquires about the suitability of NightOps Tactical Flashlight for camping and hiking in rugged conditions. Assistant confirms its outdoor suitability and provides assurance for reliability. No further action needed from the support agent at this time.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 390, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there! I\u0027m thinking about getting the NightOps Tactical Flashlight for camping and hiking. I\u0027ve heard it\u0027s super bright and durable, so I\u0027m hoping it will be perfect for outdoor adventures. Can you confirm if it\u0027s suitable for outdoor use, especially in rugged conditions? I want to make sure it can handle the elements and provide reliable light when I need it the most. Thanks for your help!" }, { "MessageId": 391, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The NightOps Tactical Flashlight is designed to meet the needs of outdoor enthusiasts and is suitable for rugged conditions. It is built to provide reliable light in outdoor adventures. According to the manual, whether you\u0027re a professional in the field or a devoted outdoor enthusiast, the NightOps Tactical Flashlight is designed to meet your needs and exceed your expectations." }, { "MessageId": 392, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Great, thanks for the information! I\u0027m excited to take the NightOps Tactical Flashlight on my next camping trip. I\u0027ll let you know how it goes!" }, { "MessageId": 393, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The NightOps Tactical Flashlight is designed to withstand rugged outdoor conditions. It is built for outdoor use and is suitable for camping and hiking as well. We\u0027re confident it will meet your needs on your next adventure!" } ] }, { "TicketId": 230, "ProductId": 54, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 132, "ShortSummary": "Probe deployment assistance needed", "LongSummary": "Customer needs tips on how to effectively use the probe on their AvalanchePro Ski Backpack. They are eager to hit the slopes and any practical advice would be greatly appreciated.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 400, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I recently purchased the AvalanchePro Ski Backpack from PowderPeak and I\u0027m absolutely stoked about it! The avalanche safety gear storage is such a game-changer, and the ergonomic design is seriously top-notch. But I\u0027m having a little trouble with the probe deployment. Can you give me some tips on how to use it effectively? I\u0027m just itching to get out there and hit the slopes, so any help would be greatly appreciated! Thanks a bunch, team!" }, { "MessageId": 401, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, in the event of an avalanche burial, you should quickly deploy your probe by removing it from the designated compartment on your AvalanchePro Ski Backpack. This will ensure you are prepared for any backcountry emergency." } ] }, { "TicketId": 231, "ProductId": 74, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 5, "ShortSummary": "Technical questions about hammock materials, weight distribution, and usage.", "LongSummary": "Customer Evan Thompson has technical questions about the Naturehaven Ultra-Light Hammock, including the materials, weight distribution, carabiners, tree straps, recommended usage scenarios, and specific environmental conditions. Pending response needed on the specific materials used, weight distribution, engineering behind carabiners and tree straps, and recommended usage scenarios or specific environmental conditions. Provide detailed information to address customer\u0027s technical questions.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 402, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the Naturehaven Ultra-Light Hammock and I have a few technical questions before making my decision. Can you provide me with information on the specific materials used to construct the hammock? I am also curious about the weight distribution and the engineering behind the carabiners and tree straps included. Additionally, I would like to know if there are any recommended usage scenarios or if there are any specific environmental conditions in which the hammock should not be used. Thank you for your assistance." } ] }, { "TicketId": 232, "ProductId": 31, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 133, "ShortSummary": "Clogged burner issue with Nomad Camping Stove", "LongSummary": "Customer is frustrated with Nomad Camping Stove, experiencing clogged burner despite following cleaning instructions. Needs resolution ASAP or refund. Specific details about cleaning instructions and return policy requested.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 403, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with my Nomad Camping Stove from WanderStove! I expected it to be lightweight and fuel-efficient, but it\u0027s not performing as described. The burner keeps getting clogged, and I followed the cleaning instructions in the manual, but it\u0027s still not working properly. I need reassurance that this product is supposed to work this way, or else I want a refund!" }, { "MessageId": 404, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the manual, the Nomad Camping Stove is designed to make cooking in the great outdoors a breeze, and it is specifically designed to meet the needs of campers, hikers, and adventurers. This includes ensuring that they can enjoy delicious meals even in remote locations. However, I will also look up the specific details about the cleaning instructions and the return policy for you." }, { "MessageId": 405, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the cleaning instructions again, but the burner is still getting clogged. I need this issue resolved ASAP, or I want a refund!" } ] }, { "TicketId": 233, "ProductId": 25, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 134, "ShortSummary": "Inquiry about TerraScoop\u0027s capability for leveling uneven ground", "LongSummary": "Customer inquired about TerraScoop\u0027s capability for leveling uneven ground. Received assurance of its performance for this task. Customer will proceed with purchase and reach out if needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 406, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the TerraScoop Excavation Tool from DigDigDig for some outdoor projects. Before I make my purchase, I would like to inquire about the tool\u0027s capability for leveling uneven ground. Can the TerraScoop efficiently handle this task? Any guidance on this matter would be greatly appreciated. Thank you for your time." }, { "MessageId": 407, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TerraScoop Excavation Tool is engineered to meet your excavation needs with unparalleled precision and efficiency. It boasts exceptional performance and unmatched versatility in various outdoor applications, making it well-suited for leveling uneven ground. According to the manual, it is tailored to provide exceptional performance in this regard. If you have any further questions or need assistance, feel free to reach out. AdventureWorks Support" }, { "MessageId": 408, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I appreciate your prompt and helpful response. I will go ahead and make the purchase of the TerraScoop Excavation Tool based on your assurance of its capability for leveling uneven ground. I look forward to using it for my outdoor projects. If I encounter any issues, I will not hesitate to reach out to you for further assistance. Thank you again for your help." } ] }, { "TicketId": 234, "ProductId": 124, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 135, "ShortSummary": "Inquiry about SurvivalPro 2000\u0027s extreme weather durability", "LongSummary": "Customer Marissa Thompson is seeking detailed information on the SurvivalPro 2000\u0027s durability and performance in extreme weather conditions before making a purchase. A prompt and thorough response addressing these specific concerns is needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 409, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I need to know if the SurvivalPro 2000 can withstand extreme weather conditions without any damage. I expect it to be able to handle anything, so I need a detailed explanation of its durability and performance in harsh environments. I\u0027m considering making a purchase, but only if I\u0027m satisfied with this information. I expect a prompt and thorough response before I make any decisions." } ] }, { "TicketId": 235, "ProductId": 73, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 136, "ShortSummary": "Maintenance inquiry for carbon fiber body", "LongSummary": "Customer inquires about maintenance recommendations for the carbon fiber body. Specific insights needed. Prompt detailed response required.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 410, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings, I am reaching out with a technical inquiry regarding the SkySight Eagle Eye 1000 Drone. As a retailer of this exceptional product, I am keen to ensure that I have a comprehensive understanding of its features and capabilities to better serve my customers. Could you provide detailed information on the drone body\u0027s material composition, specifically addressing its carbon fiber composite construction? Additionally, any insights on the pre-flight checklist and safety precautions outlined in the manual would be greatly appreciated. My aim is to offer precise and accurate guidance to our clientele, and your assistance in this matter will contribute to achieving that goal. Thank you for your attention to this matter." }, { "MessageId": 411, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SkySight Eagle Eye 1000 Drone features a lightweight yet durable carbon fiber composite material for its body construction. Additionally, the pre-flight checklist includes ensuring the drone is in optimal condition for safe operation, and the safety precautions emphasize adherence to guidelines for user and environmental well-being." }, { "MessageId": 412, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. I have reviewed the details on the carbon fiber composite material and the pre-flight checklist. However, I would like to inquire further about the specific maintenance recommendations for ensuring the longevity and performance of the drone, particularly in relation to the carbon fiber body. Could you provide detailed insights on this matter? Your prompt response is greatly appreciated." } ] }, { "TicketId": 236, "ProductId": 123, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 137, "ShortSummary": "Product Inquiry: SolarCopy 3000", "LongSummary": "Inquiry about SolarCopy 3000. Questions about environmental conditions and mounting best practices. Assistant provided info on monitoring and advanced diagnostic tests, pending further questions.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 413, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Good day, I hope this message finds you well. I am inquiring about the SolarCopy 3000 from Nature\u0027s Photocopier. We are considering stocking this product in our store and have some queries regarding its assembly and installation process. Specifically, we would like to know more about the recommended environmental conditions for the SolarCopy 3000 and the best practices for securing its mounting. Any insight or guidance you can provide would be greatly appreciated. Thank you for your time and assistance." }, { "MessageId": 414, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Nature\u0027s Photocopier SolarCopy 3000 manual recommends monitoring the ambient temperature, humidity, and sunlight levels at the intended installation site to ensure they fall within the recommended range. For mounting, advanced diagnostic tests can reveal abnormalities, and if needed, Nature\u0027s Photocopier technical support can provide further guidance and potential servicing. If you have any other questions, feel free to ask." } ] }, { "TicketId": 237, "ProductId": 86, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 138, "ShortSummary": "SOS Multitool Kit Fire Starter Issue", "LongSummary": "Customer frustrated with fire starter in SOS Multitool Kit. Asked for replacement or refund. Assistant provided troubleshooting tips.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 415, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely frustrated with the SOS Multitool Kit. I tried using the fire starter as instructed, but it simply won\u0027t work! I expected better quality from Survive All. I demand a replacement or a full refund for this faulty product." }, { "MessageId": 416, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear about the trouble you\u0027re experiencing with the fire starter. According to the manual, when starting a fire, it\u0027s important to have suitable tinder to catch the sparks from the fire starter. Additionally, there\u0027s a troubleshooting section in the manual for addressing any difficulties with the fire starter. If the issue persists, please feel free to reach out to our customer support team for further assistance." } ] }, { "TicketId": 238, "ProductId": 56, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 119, "ShortSummary": "Difficulty Rolling Up Sleeping Bag", "LongSummary": "Customer unable to roll up sleeping bag despite following manual. Requesting a better solution. Next support agent should offer advanced troubleshooting or escalate to Slumberpeak\u0027s support.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 417, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the Naptime 5000 Sleeping Bag from Slumberpeak and I can\u0027t get it to roll up tight as described in the manual. This is ridiculous, it\u0027s supposed to be lightweight and easy to pack, but it\u0027s just not working for me. I demand a solution to this problem!" }, { "MessageId": 418, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, after using the Naptime 5000 Sleeping Bag, it should be rolled up tightly, starting from the foot end towards the hood end. The rolled bag should then be secured with the included compression straps to minimize space. I hope this helps with packing the sleeping bag more effectively!" }, { "MessageId": 419, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the instructions in the manual exactly as you said, and it still won\u0027t roll up tight! This is ridiculous! I demand a better solution to this problem!" }, { "MessageId": 420, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience. According to the manual, after using the Naptime 5000 Sleeping Bag, it should be rolled up tightly, starting from the foot end towards the hood end. The rolled bag should then be secured with the included compression straps to minimize space. If the bag is not rolling up as expected, it may be helpful to ensure that the bag is evenly and tightly rolled. If you are still experiencing issues, we recommend contacting Slumberpeak\u0027s support for further assistance." }, { "MessageId": 421, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I did what you suggested and rolled up the sleeping bag again, making sure it was evenly and tightly rolled. Still no luck, it\u0027s just not working as described in the manual. This is ridiculous!" } ] }, { "TicketId": 239, "ProductId": 93, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 139, "ShortSummary": "Product Performance Reassurance", "LongSummary": "Customer is pleased with the SunChef Solar Powered Stove\u0027s performance and results. No further assistance is needed at this time.", "CustomerSatisfaction": 8, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 422, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Solarchef Customer Support, I recently purchased the SunChef Solar Powered Stove and I just want to make sure that it is behaving as expected. I love the idea of cooking off-grid with renewable solar energy, and I want to ensure that I am getting the most out of this eco-friendly product. Could you provide me with some reassurance that the product is working as intended? Thank you for your assistance." }, { "MessageId": 423, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Congratulations! Your SunChef Solar Powered Stove is now charged and ready to use. With the assembly complete and the stove charged, you are all set to start cooking delicious meals using renewable solar energy. If you have any technical questions or need further assistance, please refer to the user manual or contact Solarchef customer support." }, { "MessageId": 424, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. I have followed the instructions in the user manual and successfully cooked a meal using the SunChef Solar Powered Stove. It is working perfectly and I am delighted with the results. I appreciate your assistance." } ] }, { "TicketId": 240, "ProductId": 25, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 140, "ShortSummary": "Technical question about rocky soil handling", "LongSummary": "Customer excited about TerraScoop but has specific technical question about handling rocky soil. Needs expertise and advice on the tool\u0027s capabilities. Pending question about soil type.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 428, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, DigDigDig team! I just got my hands on the TerraScoop Excavation Tool and I\u0027m over the moon about it! I read about the multifunctional blade in the product description and I can\u0027t wait to put it to the test. But before I go full-on excavation mode, I\u0027ve got a specific technical question for you all. Can this amazing tool handle rocky soil with ease, or should I stick to softer ground? Your expertise would be a real lifesaver! Thanks a bunch!" } ] }, { "TicketId": 241, "ProductId": 74, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 141, "ShortSummary": "Hammock sagging issue", "LongSummary": "Customer reports hammock sagging. Assistant suggests adjusting tension by retying straps or using different loops. Pending: response from customer on whether this solution worked.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 429, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hammock sags too much, help" }, { "MessageId": 430, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "If everything looks good with the setup, it might just be that the fabric has stretched out a bit. Try adjusting the tension by retying the straps or using different loops on the hammock to get the right amount of sag." } ] }, { "TicketId": 242, "ProductId": 134, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 142, "ShortSummary": "SolarFire 2000 Charging Issue", "LongSummary": "Dr. Samantha Chen has encountered issues with the SolarFire 2000\u0027s charging function despite following the product description. She suspects an issue with the solar panel or USB port and requires guidance on repair or replacement.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 431, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello EcoGizmo customer support, I recently purchased the SolarFire 2000 camping stove and have encountered an issue with the device charging function. As an expert in solar-powered technology, I have meticulously followed the product description and manual, yet I am unable to make the device charge my devices. I have ensured that the solar panels are receiving sufficient sunlight and that the USB port is not damaged. I would appreciate your technical expertise in resolving this matter, as I believe the issue may lie in the solar panels or the USB port. If necessary, I may need further assistance in the form of a repair or replacement. Your prompt and detailed response is highly anticipated. Thank you for your attention to this matter." }, { "MessageId": 432, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to charge your devices with the SolarFire 2000, simply connect them to the USB port on the solar panel using the provided charging cable. The solar panel is most effective when exposed to direct sunlight, and the charging speed will vary depending on the quality of the sunlight and the device being charged." }, { "MessageId": 433, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. I have indeed connected my devices to the USB port on the solar panel using the provided charging cable, and have ensured that the solar panel is exposed to direct sunlight. However, despite these measures, I am still unable to charge my devices. I suspect that there may be an issue with either the solar panel or the USB port. I would appreciate further guidance on how to troubleshoot this issue or if a repair or replacement may be necessary." }, { "MessageId": 434, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We take great pride in the quality of our products and want you to experience the utmost satisfaction with your SolarFire 2000. In the unlikely event that you encounter any issues, please do not hesitate to contact our dedicated customer service team, who will be more than happy to assist you." }, { "MessageId": 435, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have performed further troubleshooting and have determined that the solar panel is not producing the expected output voltage, which is causing the issue with charging my devices. I would appreciate guidance on how to proceed with a repair or replacement of the solar panel." }, { "MessageId": 436, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Assembling your SolarFire 2000 is a delicate process that requires precision and finesse. First, unfold the solar panel and position it in direct sunlight, ensuring that it is at an optimal angle for maximum solar absorption. Then, unfold the stove by gently lifting the top cover and locking it in place." }, { "MessageId": 437, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the detailed instructions. I have followed the steps you outlined, but unfortunately, the solar panel is still not producing the expected output voltage. It seems that there may be a technical issue with the solar panel itself. I would appreciate further guidance on how to proceed with a repair or replacement of the solar panel, as this issue is preventing me from fully utilizing the SolarFire 2000." }, { "MessageId": 438, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the manual, it is important to ensure that the stove is positioned in direct sunlight to allow the solar panel to effectively charge devices. Additionally, please check the solar panel connections for any damage. If the issue persists, please position the devices in a safe and secure location near the solar panel, allowing them to bask in the sunlight. If these measures do not resolve the issue, please contact our dedicated customer service team for further assistance." } ] }, { "TicketId": 243, "ProductId": 25, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 143, "ShortSummary": "Gardening tips for TerraScoop Excavation Tool", "LongSummary": "Customer purchased TerraScoop Excavation Tool and seeks tips for using it in the garden. No response yet. Next agent should provide gardening tips and usage advice.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 439, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I just bought the TerraScoop Excavation Tool and I can\u0027t wait to use it for gardening. I\u0027m sure it\u0027ll be great for planting flowers and digging up weeds. Do you have any tips for using it in the garden? Thanks!" } ] }, { "TicketId": 244, "ProductId": 69, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 144, "ShortSummary": "Misleading product description demands full refund and compensation", "LongSummary": "Customer demands full refund and compensation for misleading product description. Return process offered, awaiting response on next steps.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 440, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely disappointed with the Summit Step Alpine Explorer Hiking Boots. I was promised exceptional performance and comfort during challenging hikes, but I have not experienced that at all! The aggressive tread pattern and shock-absorbing midsole are not living up to their claims and I demand a solution to this issue immediately. I expect a full refund for this misleading product description and false advertising. I will not tolerate being misled about the features and performance of these boots. I demand a response and a resolution to this matter without any further delay." }, { "MessageId": 441, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for your disappointment with the Summit Step Alpine Explorer Hiking Boots. According to the manual, the boots are designed to provide exceptional performance and comfort during challenging hikes, featuring a waterproof and breathable membrane for comfort in various weather conditions, and an aggressive tread pattern and shock-absorbing midsole for superior traction and comfort on rugged terrain. It appears that the boots are not meeting these specifications for you. We would be happy to facilitate a return for a full refund within 30 days of purchase, provided the product is unused. You may initiate the return process at https://northernmountains.example.com/support/returns. Thank you for bringing this to our attention, and we apologize for any inconvenience this may have caused." }, { "MessageId": 442, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the offer for a return, but I am still extremely disappointed with the misleading product description and false advertising. I demand a full refund and compensation for the inconvenience and disappointment caused. I expect a response to this demand without any further delay." }, { "MessageId": 443, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand your frustration and we apologize for the inconvenience this has caused. As per our policy, we can facilitate a return for a full refund within 30 days of purchase, provided the product is unused. You may initiate the return process at https://northernmountains.example.com/support/returns. If you have any further questions or need assistance with the return process, please let us know. Thank you for bringing this issue to our attention." } ] }, { "TicketId": 245, "ProductId": 34, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 145, "ShortSummary": "WildView HD Trail Camera setup and wildlife capture", "LongSummary": "Customer unsure if WildView HD Trail Camera is set up correctly, not capturing wildlife yet. Asked for reassurance. Assistant explained camera is motion-activated. Customer will move camera to a different spot and will update on its performance.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 444, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I just purchased the WildView HD Trail Camera and I\u0027m so excited to start using it! I\u0027m a bit unsure if I\u0027ve set it up correctly though. I\u0027ve mounted it on a tree and inserted the batteries and SD card, but I\u0027m not sure if it\u0027s working as it should. I haven\u0027t seen any wildlife captured yet, but maybe it takes some time? Can you please reassure me that I\u0027ve done everything right and that the camera will start capturing wildlife soon? Thank you so much for your help!" }, { "MessageId": 445, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The WildView HD Trail Camera is designed to capture wildlife in its natural habitat. It is motion-activated, so ensure that it is placed in an area where wildlife activity is expected. Once set up correctly, the camera will start capturing wildlife in stunning HD quality. If you have any further questions, feel free to ask!" }, { "MessageId": 446, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, thank you for explaining that! I didn\u0027t realize the camera was motion-activated, so I\u0027ll move it to a different spot where I\u0027ve seen some wildlife activity. I\u0027ll let you know if it starts working. Thanks again for your help!" } ] }, { "TicketId": 246, "ProductId": 92, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 146, "ShortSummary": "Assistance needed with initial filtration process", "LongSummary": "Customer seeking assistance with initial filtration process. Followed maintenance instructions, but still experiencing issues. Requests further guidance on filter cartridge.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 447, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the AquaPure Portable Water Filter and I\u0027m having trouble with the initial filtration process. I\u0027m not sure if I\u0027m doing it correctly and I\u0027m worried that I might have damaged the filter cartridge. I followed the steps in the manual, but I\u0027m still not sure. Can you please provide some guidance on how to properly perform the initial filtration? I want to make sure I\u0027m using this product to its full potential. Thank you." }, { "MessageId": 448, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out. To ensure the proper initial filtration, gently handle the filter cartridge to avoid damaging the delicate filter media. After filtration, carefully clean and maintain the AquaPure Portable Water Filter as described in the manual section on maintenance. If you encounter any issues, please contact PureFlow customer support for personalized assistance and to inquire about warranty service options. We are here to support you." }, { "MessageId": 449, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the guidance. I carefully handled the filter cartridge and followed the maintenance instructions in the manual. However, I\u0027m still experiencing some issues with the initial filtration process. I think I might have damaged the filter cartridge. Can you please provide further assistance?" } ] }, { "TicketId": 247, "ProductId": 175, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 147, "ShortSummary": "Trouble with Depth \u0026 Sensitivity Settings", "LongSummary": "Customer Rachel Johnson is having trouble adjusting depth range and sensitivity on the SonarPro Portable Fish Finder. Threatened to request a refund if immediate assistance is not provided. Next support agent should address specific steps for adjusting settings.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 450, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just purchased the SonarPro Portable Fish Finder and I can\u0027t understand how to adjust the settings for the depth range and sensitivity. This is unacceptable! I demand immediate assistance in figuring this out. I spent good money on this product and I expect it to work as advertised. If I don\u0027t receive help soon, I will be requesting a refund for this fish finder. I expect better customer support for a product of this caliber." } ] }, { "TicketId": 248, "ProductId": 14, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 148, "ShortSummary": "Safety tips and reassurances for Propane Camp Stove", "LongSummary": "Customer seeking tips and reassurances for using Propane Camp Stove. Customer feels confident now. Next support agent should offer additional safety tips and remind about warranty coverage.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 451, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Just wanted to double-check that my Propane Camp Stove is performing as expected. I took it out for a test run and it seemed to be working great, but I wanted to make sure I\u0027m using it safely. Any tips or reassurances? Also, I\u0027m super excited to take this bad boy camping next weekend! Thanks a bunch!" }, { "MessageId": 452, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We\u0027re delighted to hear that your Propane Camp Stove is performing well! When using the stove, remember to keep children and pets away and avoid attempting any modifications or repairs yourself. Safety always comes first. Additionally, the stove is covered by a 1-year warranty for defects in materials or workmanship. If you experience any issues, you can contact our friendly customer support team for assistance. Happy camping!" }, { "MessageId": 453, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Thanks so much for the tips and reassurances! I\u0027ll definitely keep safety in mind and make sure to follow the guidelines. I feel much more confident now using my Propane Camp Stove. Can\u0027t wait to go camping and cook up some delicious meals! Thanks again!" } ] }, { "TicketId": 249, "ProductId": 137, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 149, "ShortSummary": "Installation and Setup Inquiry", "LongSummary": "Customer needs detailed information on industrial specifications for installation. Still unsure about setup for outdoor gigs. Requires step-by-step guidance.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 454, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the WildBeat Pro DJ Controller and I\u0027m having some trouble getting it to work. I\u0027ve followed the cleaning procedure as outlined in the manual, but it still doesn\u0027t seem to be functioning properly. I\u0027m really embarrassed to admit this, but I\u0027m not sure if I\u0027ve accidentally done something to cause the issue. Could you please provide me with some guidance on how to troubleshoot and resolve the problem? I\u0027m hoping to use this controller for my upcoming outdoor DJ gigs, so any help would be greatly appreciated. Thank you." }, { "MessageId": 455, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi there, thank you for reaching out to us. It seems that the WildBeat Pro DJ Controller is a sophisticated piece of equipment designed for optimal performance in outdoor DJing scenarios. In order to troubleshoot and identify any potential issues, it is imperative to have access to specialized diagnostic equipment. As per the manual, the controller is rugged and waterproof, but specific industrial specifications for installation are crucial. If you require further assistance, please refer to the contact support details in the manual. We hope this information helps!" }, { "MessageId": 456, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information, but I\u0027m still unsure about the specific industrial specifications for installation. Could you please provide more details on what I need to do to ensure that the WildBeat Pro DJ Controller is set up correctly for my outdoor gigs? I want to make sure I\u0027m not causing any issues myself. Thank you." }, { "MessageId": 457, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, in order to mount the WildBeat Pro DJ Controller in an outdoor environment, it is crucial to follow the specific industrial specifications to ensure proper installation. Additionally, before connecting the controller to audio equipment and power sources, it is imperative to conduct a comprehensive analysis of the electrical and audio systems using specialized scientific equipment." } ] }, { "TicketId": 250, "ProductId": 10, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 151, "ShortSummary": "Warranty coverage for accidental damage inquiry", "LongSummary": "Customer inquired about TechBeam 2000 warranty coverage for accidental damage, and was informed that it is not covered. No further assistance needed at this time.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 462, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I just got the TechBeam 2000 and have a question about the warranty. Can you tell me if the warranty covers accidental damage? Thanks." }, { "MessageId": 463, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TechBeam 2000 is covered by a limited warranty against defects in materials and workmanship for a period of one year from the date of purchase. However, it does not cover accidental damage. If you have any issues with the product, please let us know how we can assist you further." }, { "MessageId": 464, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Okay, thanks for letting me know about the warranty. I\u0027ll keep that in mind. If I have any other questions, I\u0027ll be sure to reach out. Have a great day!" } ] }, { "TicketId": 251, "ProductId": 27, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 152, "ShortSummary": "Trouble accessing settings menu on AdventurePro DSLR Camera", "LongSummary": "Customer needs guidance on accessing the settings menu of the AdventurePro DSLR Camera. Assistant provided detailed instructions and asked if the ticket should be closed.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 465, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AdventurePro DSLR Camera and I\u0027m having trouble understanding how to access the settings menu. I\u0027ve tried pressing the \u0027Menu\u0027 button but can\u0027t seem to get it to work. Could you please provide some guidance on how to navigate through the settings? Thank you." }, { "MessageId": 466, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To access the settings menu, press the \u0022Menu\u0022 button located on the back of the camera body. You will then see a list of options on the LCD screen, including \u0022Image Quality\u0022, \u0022White Balance\u0022, \u0022ISO\u0022, \u0022Exposure Compensation\u0022, and more. Navigate through the menu using the directional buttons, then press the \u0022OK\u0022 button to select and adjust each setting. Refer to the user manual for detailed instructions on each setting. Use the control dial to adjust the aperture and shutter speed, and the ISO button to select the desired ISO setting. Remember, in manual mode, you are in control of every aspect of the exposure, so feel free to experiment and unleash your creativity! If you have any other questions, feel free to ask. Should we close the ticket?" } ] }, { "TicketId": 252, "ProductId": 5, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 153, "ShortSummary": "Color Discrepancy Demands Replacement", "LongSummary": "Customer demands immediate replacement for hammock due to color discrepancy. Customer refused to provide more details or initiate return/exchange.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 467, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the Swingnap Double Hammock with Mosquito Net and I am extremely disappointed with the color of the fabric. It does not match the description at all! I demand a replacement in the correct color immediately. This is unacceptable and I expect you to resolve this issue promptly. I shouldn\u0027t have to deal with this after spending my hard-earned money on a product that is not as described. I expect to hear back from you within 24 hours with a solution to this problem." }, { "MessageId": 468, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience you have experienced with the color of the fabric. According to the manual, the Swingnap Double Hammock with Mosquito Net is designed to provide a comfortable and bug-free outdoor experience. We are committed to resolving this issue for you. To better assist you, could you please provide more details about the color discrepancy? Alternatively, if you would like to initiate a return or exchange, please let us know and we will guide you through the process." }, { "MessageId": 469, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand to speak to a manager immediately! I have already provided all the necessary information about the color discrepancy and I expect this issue to be resolved without any further delay. This is completely unacceptable and I will not accept anything less than a replacement in the correct color." } ] }, { "TicketId": 253, "ProductId": 40, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 154, "ShortSummary": "Charging tips for Rechargeable LED Headlamp", "LongSummary": "Customer Alexandra is seeking tips on how to properly charge her Rechargeable LED Headlamp to maximize its battery life for her upcoming camping trip. Response needed: Provide detailed charging instructions.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 470, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there GloTech team! I recently got my hands on your awesome Rechargeable LED Headlamp for my upcoming camping trip, and I just can\u0027t wait to light up the night with it! But I\u0027m a bit confused about how to properly charge the headlamp to make sure it lasts as long as possible. Could you give me some tips on the best way to keep it fully charged and ready for my adventure? Thanks a bunch, you guys are the best!" } ] }, { "TicketId": 254, "ProductId": 35, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 155, "ShortSummary": "Inquiry about deep-frying in Alpine Camp Cookware Set", "LongSummary": "Customer purchased CookMaster Alpine Camp Cookware Set and inquired about using it for deep-frying chicken wings and french fries. Pending response needed regarding the suitability of the cookware for deep-frying.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 471, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I just bought the CookMaster Alpine Camp Cookware Set and I was wondering if I can use it for making deep-fried foods like chicken wings and french fries? I think it should work fine, right?" } ] }, { "TicketId": 255, "ProductId": 58, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "Customer queries about SOS button and charging", "LongSummary": "Customer has questions about using SOS button and charging device. Pending response about charging before use. Next support agent should clarify how SOS button works and whether device needs to be charged before first use.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 472, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I just bought the SafeTrail GPS Locator and I\u0027m trying to figure out how to use the SOS button. I thought you just press it once for help, but now I\u0027m not sure. Can you please clarify how it works? Also, I\u0027m not sure if I need to charge the device before I use it for the first time. Can you let me know? Thanks so much for your help!" } ] }, { "TicketId": 256, "ProductId": 171, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 156, "ShortSummary": "Technical maintenance and care questions for Stealth Recon Backpack", "LongSummary": "Customer asks for technical info on waterproofing, hydration bladder maintenance, and signs of wear. Needs detailed guidance on care and maintenance.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 473, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Tactic Tech Stealth Recon Backpack and I have some technical questions regarding its maintenance and durability. I want to ensure that the backpack is performing as expected and that I am taking proper care of it. Specifically, I would like to know more about the waterproofing properties and the recommended waterproofing treatment for the fabric. Additionally, I am curious about the maintenance of the hydration bladder and the signs of wear or damage to look out for on the zippers, buckles, and straps. I want to make sure that I am following all the necessary steps to maintain the functionality and safety of the backpack. Your assistance in providing detailed technical information would be greatly appreciated. Thank you." } ] }, { "TicketId": 257, "ProductId": 47, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 157, "ShortSummary": "Excited for Camping Taste Test Challenge", "LongSummary": "Customer is excited to try out the various flavors of Nutritech Protein Plus Energy Bars for her camping trip and plans a taste test challenge with friends. No pending questions or issues.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Idea", "Messages": [ { "MessageId": 474, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, team Nutritech! I am so pumped about using your Protein Plus Energy Bars for my upcoming camping trip. I just know they\u0027re going to give me the energy I need to tackle those hiking trails and enjoy some midnight stargazing. I mean, who needs s\u0027mores when you have these amazing bars, am I right? Can\u0027t wait to unwrap each one and savor the delicious flavors. I\u0027m thinking of doing a taste test challenge with my friends to see which flavor we love the most. Thanks for creating such awesome fuel for our adventures!" }, { "MessageId": 475, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hey there! The Nutritech Protein Plus Energy Bars are designed to provide you with a nutritious snack packed with 20g of high-quality protein to fuel your outdoor activities. Each flavor offers a unique and delightful taste experience, so it\u0027s perfect for your taste test challenge with friends. Enjoy your camping trip and the midnight stargazing!" }, { "MessageId": 476, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Thanks for the info, I can\u0027t wait to try out all the flavors. I\u0027ll make sure to pack a variety for my camping trip. You guys really know how to make snacking fun and nutritious! Can\u0027t wait to fuel up with Nutritech Protein Plus Energy Bars. You\u0027re the best!" } ] }, { "TicketId": 258, "ProductId": 194, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 158, "ShortSummary": "Multi-Tool Usage Tips", "LongSummary": "Customer wants tips for using the multi-tool effectively and safely.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 477, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the SurvivalPro 3000 Kit from Rescuepro and I just want to make sure I\u0027m using it correctly. I\u0027m a bit embarrassed to ask, but I want to be sure that I\u0027m familiar with all the features and that everything is in working order. Can you provide any tips for using the multi-tool effectively? I want to make sure I can handle it safely and use it as intended in any emergency situation. Thanks in advance for your help!" } ] }, { "TicketId": 259, "ProductId": 4, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 159, "ShortSummary": "Quality and Packaging Issues", "LongSummary": "Emergency Survival Kit quality and packaging issues, urgent resolution needed.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 478, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely frustrated with the quality of the Emergency Survival Kit from Life Guard X that we received for our store. The food rations included in the kit are not up to standard and some of the packaging was damaged upon arrival. Our customers are relying on us to provide reliable emergency supplies and this is unacceptable. We need immediate assistance in resolving this issue as our reputation is on the line." } ] }, { "TicketId": 260, "ProductId": 137, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 161, "ShortSummary": "WildBeat Pro DJ Controller Broken", "LongSummary": "Customer\u0027s WildBeat Pro DJ Controller is broken and needs fixing/replacement. Customer is asking for help with the issue. Next support agent should provide troubleshooting steps or replacement options.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 483, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, my WildBeat Pro DJ Controller just broke. Can you help me fix it or get a replacement?" } ] }, { "TicketId": 261, "ProductId": 197, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 162, "ShortSummary": "Inquiry about Firemaster Stove for Outdoor Cooking", "LongSummary": "Customer Hannah Smith inquires about Firemaster Portable Camping Stove\u0027s suitability for cooking in various outdoor conditions. Assistant provided safety precautions and usage guidelines. Pending response on specific weather and terrain suitability.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 484, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear OutdoorOven Support Team, I am interested in purchasing the Firemaster Portable Camping Stove for my upcoming camping trip. Can you please provide information on its suitability for cooking in various outdoor conditions? I want to ensure that it can handle different weather conditions and terrains. Thank you for your assistance." }, { "MessageId": 485, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Firemaster Portable Camping Stove is designed for use in well-ventilated outdoor areas and should be kept away from flammable materials such as tents, leaves, and overhanging branches. It\u0027s important to never leave the stove unattended while in use, and to wait for it to cool down completely before handling or storing. This information is from the Firemaster Portable Camping Stove user manual." } ] }, { "TicketId": 262, "ProductId": 72, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 163, "ShortSummary": "Troubleshooting Angler\u0027s Choice Pro Fish Finder 500", "LongSummary": "Customer having trouble with Angler\u0027s Choice Pro Fish Finder 500. Asked for help troubleshooting. Needs specific guidance to resolve issue.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 486, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Angler\u0027s Choice Pro Fish Finder 500 and I\u0027m having some trouble getting it to work. I\u0027m really relying on this device to help me catch more fish, but it doesn\u0027t seem to be functioning at all. I\u0027ve tried following the instructions for cleaning and storage, but it\u0027s not making any difference. Can you please help me figure out what\u0027s going wrong? I\u0027m really hoping to get this sorted out so I can make the most of the sonar technology and improve my fishing experience. Any guidance or assistance would be greatly appreciated. Thanks!" }, { "MessageId": 487, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, if the Angler\u0027s Choice Pro Fish Finder 500 is not operating as expected, I should refer to the troubleshooting section of the user manual for guidance. I recommend that you refer to the troubleshooting section in the manual for assistance. If the issue persists, please feel free to reach out to our customer support team for further assistance." } ] }, { "TicketId": 263, "ProductId": 145, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 164, "ShortSummary": "Inquiry about laptop charging capabilities", "LongSummary": "Customer inquires about PowerBeam Solar Charger\u0027s laptop charging capabilities. Pending question: suitability for all devices. Need response on charger\u0027s laptop compatibility.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 488, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Support Team, I recently purchased the PowerBeam Solar Powered Portable Charger and I have a specific technical question about its capabilities. Can you please provide information on whether this charger is capable of charging a laptop? I want to ensure that it is suitable for all my devices before making a decision. Thank you for your assistance. Sincerely, Nathan Reynolds" } ] }, { "TicketId": 264, "ProductId": 180, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 165, "ShortSummary": "Smooth Casting Issue", "LongSummary": "Customer purchased ExtremeCast 5000, unable to cast smoothly despite setup steps. Customer frustrated, seeks specific solution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 489, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the ExtremeCast 5000 and followed the setup steps, but I\u0027m still unable to cast smoothly. This is really frustrating and I expect a solution. And don\u0027t tell me to check the manual, I shouldn\u0027t have to do that for a product that claims to have \u0027smooth casting and retrieval\u0027 as one of its features." } ] }, { "TicketId": 265, "ProductId": 123, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 166, "ShortSummary": "Customer concerned about high humidity impact on SolarCopy 3000 performance", "LongSummary": "Customer has concerns about high humidity affecting SolarCopy 3000 performance. Assistant recommends power diagnostic test and monitoring ambient conditions. Customer conducted tests and believes enquiry is resolved. Next response should confirm resolution and offer any additional support if needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 490, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m considering purchasing the SolarCopy 3000 for my outdoor administration needs, but I\u0027m not sure if it\u0027s suitable for use in a particularly humid environment. Would the high humidity affect the performance of the solar panels or internal components? I want to make sure I\u0027m making the right choice before making the purchase. Any advice would be greatly appreciated. Thank you!" }, { "MessageId": 491, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SolarCopy 3000 is designed and tested for reliability in outdoor administrative tasks. According to the manual, it is the result of extensive research and development, as well as adherence to industry standards, ensuring its reliability and performance in outdoor administrative tasks." }, { "MessageId": 492, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate your response and assurance about the reliability of the SolarCopy 3000. However, I\u0027m still concerned about the specific impact of high humidity on the performance of the solar panels and internal components. Could you provide more detailed information or point me to a resource where I can find this information? Thank you for your help!" }, { "MessageId": 493, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SolarCopy 3000 is equipped with advanced power control and monitoring features to ensure optimal performance, and it is designed for reliability in outdoor administrative tasks. Before using the SolarCopy 3000, it is essential to perform a comprehensive power diagnostic test using a specialized industrial power analyzer. For more detailed information, please refer to the user manual provided with the product." }, { "MessageId": 494, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I will be sure to perform the power diagnostic test as recommended and refer to the user manual for more detailed information. I appreciate your assistance in addressing my concerns." }, { "MessageId": 495, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, it is recommended to use scientific equipment to monitor the ambient temperature, humidity, and sunlight levels at the intended installation site. Ensure that these conditions fall within the recommended range as per the Nature\u0027s Photocopier SolarCopy 3000 industry standard IS3000." }, { "MessageId": 496, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information and advice. I have conducted the power diagnostic test and monitored the ambient temperature, humidity, and sunlight levels at the intended installation site as recommended. Everything seems to fall within the recommended range as per the Nature\u0027s Photocopier SolarCopy 3000 industry standard IS3000. I appreciate your assistance in addressing my concerns. I believe my enquiry is now resolved. Thank you!" } ] }, { "TicketId": 266, "ProductId": 187, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 167, "ShortSummary": "DroneX 5000 not taking off", "LongSummary": "DroneX 5000 not taking off properly. Customer seeking troubleshooting help.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 497, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "DroneX 5000 not taking off properly. What\u0027s wrong? Need help." }, { "MessageId": 498, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I see that the DroneX 5000 user manual provides detailed information on assembling the drone and safety precautions. It\u0027s recommended to refer to the troubleshooting guide for power and connectivity issues. If the issue persists, please contact SkySight customer support for further assistance." } ] }, { "TicketId": 267, "ProductId": 28, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 121, "ShortSummary": "Troubleshooting PureStream Water Purifier", "LongSummary": "Customer needs assistance with the PureStream Water Purifier. Assistant suggested reviewing user manual Chapter 3. Pending question if customer needs further assistance.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 499, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I need help with my PureStream Water Purifier. It\u0027s not working properly. Can you assist me?" }, { "MessageId": 500, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi, it seems that the PureStream Water Purifier has specific operating instructions provided in the user manual. Have you had a chance to review Chapter 3 of the user manual? It contains detailed information on how to operate the purifier and troubleshoot any issues. If you need further assistance, please feel free to ask!" } ] }, { "TicketId": 268, "ProductId": 78, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 168, "ShortSummary": "Performance and Connectivity Issues with AquaTech X-5000", "LongSummary": "Customer Evan Reynolds is experiencing performance and connectivity issues with AquaTech X-5000. He wants to troubleshoot problems and find a solution to enjoy watersports without issues.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 501, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, my name is Evan and I recently purchased the AquaTech X-5000 from WaterRover. I rely on extremely high-tech gear for my watersports, so I was really excited about this product. However, I\u0027ve been experiencing some issues with its performance and connectivity. The materials and design were supposed to provide maximum performance and durability, but I\u0027m not getting that. Can you help me troubleshoot and fix these issues? I\u0027m hoping to get back to enjoying my watersports without any problems. Thanks for your help!" }, { "MessageId": 502, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi Evan, thank you for reaching out to us. I understand the importance of high-performance gear for your watersports activities. The AquaTech X-5000 is designed with innovative features to enhance user experience and optimize performance on the water. It\u0027s capable of reaching speeds of up to 30 knots and features precision-engineered hull design and responsive steering for exceptional maneuverability and agility. This gear is engineered to deliver an unparalleled watersports experience. Let\u0027s troubleshoot the issues you are experiencing with its performance and connectivity to ensure that you can get back to enjoying your watersports without any problems. Could you provide more details about the specific issues you are facing?" }, { "MessageId": 503, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, thanks for your response. I\u0027m glad to hear about all the amazing features of the AquaTech X-5000. However, despite its capabilities, I\u0027m still experiencing issues with its performance and connectivity. The gear is not delivering the maximum performance and durability as advertised, and I\u0027m unable to enjoy my watersports without any problems. Can we continue troubleshooting to find a solution? I really want to make the most out of this product. Thanks for your help!" } ] }, { "TicketId": 269, "ProductId": 43, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 169, "ShortSummary": "Troubleshooting NightOps Tactical Flashlight", "LongSummary": "Customer Samantha Chen is experiencing difficulty turning on NightOps Tactical Flashlight from Strategicgear. She has checked the batteries and requested expert advice to troubleshoot. Pending: response from support agent with troubleshooting steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 504, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I recently got my hands on the NightOps Tactical Flashlight from Strategicgear and I\u0027m super pumped about it! But, I\u0027m having a bit of trouble getting it to turn on. I\u0027ve checked the batteries and made sure they\u0027re all properly installed, but still no luck. Any chance you could help me figure out what might be going on? I really want to take this bad boy out for a spin and show off its multiple brightness levels and strobe mode to my friends. Looking forward to your expert advice! Thanks a bunch!" } ] }, { "TicketId": 270, "ProductId": 70, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 170, "ShortSummary": "Charging issue with Solar Power Bank", "LongSummary": "Solar power bank not charging properly. Customer seeking troubleshooting help.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 507, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Need help with solar power bank. Not charging properly. What to do?" } ] }, { "TicketId": 271, "ProductId": 157, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 171, "ShortSummary": "Shutter button not working as described", "LongSummary": "Customer reports issue with Shutter button not working as described. Threatens refund or replacement. Needs reassurance or resolution.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 508, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I bought the 360X Action Camera from Extremeview and I\u0027m not convinced it\u0027s working as described. The manual says I should be able to start and stop recording by pressing the Shutter button, but it\u0027s not working for me. I\u0027ve tried following the instructions multiple times, and the LED indicator light isn\u0027t flashing when I press the button. I need reassurance that this camera is behaving as expected, or else I\u0027ll consider asking for a refund or replacement." } ] }, { "TicketId": 272, "ProductId": 113, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 26, "ShortSummary": "Inquiry about Summit Pro 40L Backpack Features", "LongSummary": "Customer inquires about hydration system, hip belt, comfort, and durability of the Summit Pro 40L Technical Backpack. Assistant provides details and directs to support resources. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 509, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am interested in purchasing the Summit Pro 40L Technical Backpack from Backhike for my upcoming outdoor adventures. Can you provide more information on how the built-in hydration system works and if it is suitable for long hikes? I\u0027m also curious about the padded hip belt and how it helps with weight distribution. Any details on its comfort and durability would be greatly appreciated. Thank you." }, { "MessageId": 510, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Summit Pro 40L Technical Backpack is designed for easy loading and unloading of your gear. You can start your adventures by following the simple steps in the manual. If your backpack appears to be damaged, please contact our customer service team immediately for assistance. Additionally, for immediate assistance, you can call the Backhike customer support hotline at 1-800-BACKHIKE. They are available from Monday to Friday, 9 am to 5 pm. If you need further information, you can visit their online support portal at www.backhike.com/support." }, { "MessageId": 511, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. I will review the manual and instructions for the Summit Pro 40L Technical Backpack. If I encounter any issues or have further questions, I will reach out to the customer service team or visit the online support portal. I appreciate your assistance." }, { "MessageId": 512, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Summit Pro 40L Technical Backpack features a built-in hydration system, designed to keep you hydrated on the go. To assemble the hydration system, follow the steps provided in the user manual. The padded hip belt is designed to provide additional support and comfort during outdoor excursions. You can adjust it for a personalized fit using the steps outlined in the manual. If you have any further questions or need assistance, feel free to reach out to our customer service team." }, { "MessageId": 513, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information on the hydration system and padded hip belt. I will follow the steps in the manual to assemble the hydration system and adjust the hip belt for my upcoming hike. If I encounter any issues, I will reach out to the customer service team. Thank you for your assistance." }, { "MessageId": 514, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The built-in hydration system of the Summit Pro 40L Technical Backpack is designed to keep you hydrated on the go. To assemble the hydration system, follow the simple steps provided in the user manual. The padded hip belt is designed to provide additional support and comfort during outdoor excursions. You can adjust it for a personalized fit using the steps outlined in the manual. If you have any further questions or need assistance with the assembly or adjustment, feel free to reach out to our customer service team." } ] }, { "TicketId": 273, "ProductId": 40, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 172, "ShortSummary": "Charging instructions request for GloTech Rechargeable LED Headlamp", "LongSummary": "Retail store requests detailed charging info for GloTech Rechargeable LED Headlamp. Assistant provided USB charging instructions. Customer acknowledged and will follow up if needed.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 515, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear GloTech Customer Support, I am reaching out on behalf of our retail store regarding the Rechargeable LED Headlamp. We have received inquiries from customers about the charging instructions for this product. Could you please provide us with detailed information on how to charge the headlamp and how long it takes to fully charge? We want to ensure that we can assist our customers with accurate and helpful information. Thank you for your prompt attention to this matter. Sincerely, Alexandra Smith" }, { "MessageId": 516, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to charge the GloTech Rechargeable LED Headlamp, use the provided USB charging cable and connect it to the charging port located on the side of the headlamp. Make sure to charge the headlamp fully before using it for the first time." }, { "MessageId": 517, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for providing the information on how to charge the Rechargeable LED Headlamp. We will follow the instructions and ensure that our customers are properly informed. If there are any further updates or additional details, we will reach out again. Thank you for your assistance. Sincerely, Alexandra Smith" } ] }, { "TicketId": 274, "ProductId": 171, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 162, "ShortSummary": "Inquiry about backpack suitability for heavy items", "LongSummary": "Customer inquires about suitability of the Stealth Recon Backpack for heavy items and asks for loading and securing tips for a hiking trip. Pending response to customer\u0027s queries.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 518, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there! I\u0027m considering getting the Tactic Tech Stealth Recon Backpack for my upcoming hiking trip. I was wondering if this backpack is suitable for carrying heavy items like camping gear and food? I want to make sure it can handle the weight without getting damaged. Also, do you have any tips on how to properly load and secure the backpack for a long outdoor mission? Thanks so much for your help!" } ] }, { "TicketId": 275, "ProductId": 160, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 173, "ShortSummary": "GPS modification for celestial navigation", "LongSummary": "Customer seeks assistance in modifying GPS device for celestial navigation purposes. Requires technical specifications and relevant information to optimize the device. Open to refund or replacement if modification is not feasible.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 519, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Geotrack Trailblazer GPS Navigation Device and I am looking to use it for a unique purpose. I have extensive knowledge of technical navigation systems and I believe that this device is capable of performing advanced calculations for celestial navigation. I understand that the device is equipped with a high-precision compass and barometer, and I am confident that with the right software modifications, it can provide accurate celestial navigation data, including altitude and azimuth calculations. I have not found any reference to this specific use in the product description or manual, but I am certain that with the right assistance, this device can be optimized for this purpose. Can you provide me with the technical specifications and any relevant information that would assist me in this endeavor? I am open to the possibility of a refund or replacement if this modification is not feasible, but I am hopeful that your team can support me in achieving this goal. Thank you for your attention to this matter." } ] }, { "TicketId": 276, "ProductId": 126, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "GPS tracking feature activation for hiking trip", "LongSummary": "Customer needs help enabling GPS tracking feature on SOS Emergency Beacon for hiking trip next week. Assistance given on how to activate. Pending response for confirmation.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 520, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the SOS Emergency Beacon from SOS Gear and I\u0027m having trouble understanding how to enable the GPS tracking feature. I tried following the steps in the manual, but I\u0027m not sure if I\u0027m doing it correctly. I really want to make sure I can use this feature when I go hiking next week. Can someone please walk me through the process in simple steps? I want to be prepared in case of an emergency. Thank you so much for your help!" }, { "MessageId": 521, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To enable the GPS tracking feature on your SOS Emergency Beacon, simply press and hold the GPS button for 3 seconds until the LED indicator starts flashing green. Once activated, your beacon will continuously transmit your location to emergency responders. This will help them find you as quickly as possible. Have a safe hiking trip!" } ] }, { "TicketId": 277, "ProductId": 8, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 174, "ShortSummary": "Unsatisfactory map feature demands refund or replacement", "LongSummary": "Customer demands refund or product replacement due to unsatisfactory map feature. Assistant referred to limited warranty for contacting customer support. Questions remain unresolved.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 522, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the map feature on the Outdoor Admin 5000! It\u0027s so basic and doesn\u0027t even offer live updates. I wanted to use it for my extreme hiking trips, but now I think it\u0027s useless. I expect a refund for this misleading product!" }, { "MessageId": 523, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Outdoor Admin 5000 is intended for use as an organizational tool for outdoor activities. It is designed for streamlined organization and navigation. If you have any further questions or require support, you can contact TrailFax customer support via phone at 1-800-OUTDOOR-1, email at support@trailfax.com, or visit their website for live chat support." }, { "MessageId": 524, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care what the Outdoor Admin 5000 is \u0027intended\u0027 for. The map feature is a key selling point and it is severely lacking. I demand a refund or a product replacement that actually meets my needs! And don\u0027t give me the runaround with more contact options, I want a real solution now." }, { "MessageId": 525, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the TrailFax Outdoor Admin 5000 offers a limited warranty that covers defects in materials and workmanship for a period of 2 years from the date of purchase. This includes the device itself as well as any included accessories. For a refund or product replacement, it is recommended to contact TrailFax customer support via phone at 1-800-OUTDOOR-1, email at support@trailfax.com, or visit their website for live chat support." } ] }, { "TicketId": 278, "ProductId": 150, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 175, "ShortSummary": "Disappointed with Outdoor Shield Pro performance", "LongSummary": "Customer disappointed with Outdoor Shield Pro performance, seeking advice or replacement. Assistant asked about storage and offered support contact info.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 526, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Outdoor Shield Pro from Buzzoff and I\u0027m a bit disappointed with its performance. Despite following the instructions, I still seem to be getting bitten by bugs. I was really counting on this repellent for my camping trip next weekend, so I\u0027m not sure what to do now. Can you provide any advice or assistance on how to make the product more effective, or possibly a refund or replacement? Thank you for your help." }, { "MessageId": 527, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, thank you for reaching out to us. We are sorry to hear about your experience with the Outdoor Shield Pro. Have you been storing the Outdoor Shield Pro in a cool, dry place away from direct sunlight as recommended in the user manual? Also, if you need immediate assistance, you can contact Buzzoff\u0027s support team by phone at [phone number] or by email at support@buzzoff.com. Please let us know if you have any further questions or if you\u0027d like to explore return or replacement options." } ] }, { "TicketId": 279, "ProductId": 158, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 176, "ShortSummary": "Unconventional Use for HydraHike Hydration Pack", "LongSummary": "Customer excitedly shares plans to use HydraHike Hydration Pack for unconventional purposes, while also noting intention to follow manual\u0027s tips on maintenance and storage. No specific question or request for info given. Response should acknowledge customer\u0027s creativity and reassure about pack\u0027s versatility.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Idea", "Messages": [ { "MessageId": 528, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! So, I just got my hands on the HydraHike Hydration Pack and let me tell you, I\u0027m already planning to use it for the most unexpected things! Like, I\u0027m thinking of using it to carry snacks for my pet iguana on our next hiking trip. I mean, it\u0027s got all these compartments and pockets, so why not, right? But don\u0027t worry, I won\u0027t forget to follow the manual\u0027s tips on keeping the water bladder clean and properly storing the pack. I\u0027m sure it\u0027ll work out just fine! Just wanted to share my wild idea with you and see what you think. Stay cool!" } ] }, { "TicketId": 280, "ProductId": 190, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 178, "ShortSummary": "Broken UltraLight Poles 300 Repair/Replacement", "LongSummary": "Customer Evelyn Harper reported a broken UltraLight Poles 300 and was advised to contact customer support for repair or replacement options. Next agent should assist with the repair or replacement process.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 534, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the UltraLight Poles 300 and unfortunately one of them has broken. I rely on these poles extremely for my hiking trips and I\u0027m really upset that it\u0027s no longer usable. I didn\u0027t expect this to happen, as I thought they were built to last. Can you please advise me on how to get it repaired or replaced? I\u0027m really looking forward to using them again for my upcoming trekking adventure." }, { "MessageId": 535, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, I\u0027m sorry to hear that one of your UltraLight Poles 300 has broken. According to the product manual, if any delamination or structural defects are detected, you should discontinue use of the poles and contact our customer service for repair or replacement options. You can also perform a flexural strength test using specialized equipment to determine if the poles have maintained their structural integrity. If you need further assistance, please contact Trailtrek customer support for help with the repair or replacement process. We want to ensure that you have a reliable and safe set of poles for your upcoming trekking adventure." }, { "MessageId": 536, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I will contact Trailtrek customer support for help with the repair or replacement process as per your suggestion." } ] }, { "TicketId": 281, "ProductId": 145, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 179, "ShortSummary": "Inquiry about solar charger for camping trip", "LongSummary": "Customer is considering purchasing the PowerBeam Solar Powered Portable Charger for a camping trip. Asked about cloudy weather charging and compatibility with older iPod. Status: Pending a response regarding iPod compatibility.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 537, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I\u0027m seriously thinking about getting the PowerBeam Solar Powered Portable Charger for my upcoming camping trip. I mean, how cool is it that I can charge my phone using the power of the sun? But I do have a question - will it still work if it\u0027s a little cloudy outside? Also, can I use it to charge my older iPod? Thanks so much for your help, I really appreciate it!" }, { "MessageId": 538, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The PowerBeam Solar Powered Portable Charger is designed to keep your devices charged using the power of the sun, making it a great choice for your upcoming camping trip. According to the manual, it\u0027s important to place the solar panels in direct sunlight for optimal charging. However, be mindful of reducing sun exposure to prevent overheating. If it\u0027s cloudy, try to find a spot with as much sunlight as possible. As for charging your older iPod, the manual does not specify compatibility with specific devices, so it should work with older iPods that use USB charging. If you have any further questions, feel free to ask!" } ] }, { "TicketId": 282, "ProductId": 37, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Issue with Outdoor First Aid Kit functionality", "LongSummary": "Customer purchased Outdoor First Aid Kit, some items not working as expected. Asked for info on kit functionality or replacement eligibility. Response provided on kit design and safety tips. Next support agent should address customer\u0027s specific concerns and eligibility for replacement.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 539, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Wild Guard Outdoor First Aid Kit for an upcoming hiking trip. However, I\u0027ve found that some of the items in the kit are not working as expected. I followed the general safety tips and made sure to keep the kit easily accessible, but I was disappointed when I needed to use it. Can you please provide me with information on how to ensure the kit functions properly or if I am eligible for a replacement? Thank you for your help." }, { "MessageId": 540, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Wild Guard Outdoor First Aid Kit is specifically designed to provide essential first aid supplies for outdoor excursions. It is intended to be easily packable and able to withstand the rigors of outdoor activities. For general safety, always keep the kit in a secure and easily accessible location when engaging in outdoor activities." } ] }, { "TicketId": 283, "ProductId": 165, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 180, "ShortSummary": "Weatherproofing Dissatisfaction with Rugged Shelter 600", "LongSummary": "Customer is dissatisfied with the Rugged Shelter 600\u0027s weatherproofing, despite following manual instructions and using the rainfly. They seek an explanation for why it didn\u0027t work as promised. Kindly provide further clarification on the shelter\u0027s limitations and proper usage in various weather conditions.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 541, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t understand why this shelter is advertised as weatherproof when it couldn\u0027t withstand a light drizzle! I followed the manual and used the rainfly, but it still got wet inside. This is not what I expected from an \u0027all-weather\u0027 shelter. I need an explanation for why it didn\u0027t work as promised." }, { "MessageId": 542, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Rugged Shelter 600 is designed to withstand various weather conditions, and the rainfly provides an extra layer of protection against rain and wind. However, it\u0027s recommended not to use the shelter in extreme weather such as heavy rain, strong winds, or snowstorms. Additionally, always check the weather forecast before setting up the shelter and be prepared to take it down if conditions worsen." } ] }, { "TicketId": 284, "ProductId": 5, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 181, "ShortSummary": "Inquiring about hammock safety in inclement weather", "LongSummary": "Customer inquires about safety precautions for hammock in inclement weather. Assistant provides details about using the built-in mosquito net and setting up the hammock securely. Customer query answered, but may need more details on specific weather conditions.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 543, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the Swingnap Double Hammock with Mosquito Net and I wanted to inquire about the safety precautions during inclement weather mentioned in the product description. Can you provide more details on how the hammock with mosquito net should be used in strong winds, heavy rain, or lightning? Thank you." }, { "MessageId": 544, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Swingnap Double Hammock with Mosquito Net features a built-in mosquito net of the finest quality mesh. When entering the hammock, carefully unzip the entrance to the net and step inside. Once you are comfortably settled in the hammock, use the convenient zipper pulls to close the mosquito net securely. Additionally, the hammock should be securely suspended between trees and the net can be set up by attaching it to the integrated suspension points on the hammock and using the included straps." } ] }, { "TicketId": 285, "ProductId": 17, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "TechShield Jacket Repair/Replacement Request", "LongSummary": "Customer Lila Chen reported her RidgeRunner Weatherproof Jacket, made by TechShield, has broken while hiking in heavy rain. She is looking for information on how to get it repaired or replaced.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 545, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, my name is Lila and I recently purchased the RidgeRunner Weatherproof Jacket from TechShield. I rely on this jacket extremely to keep me dry and protected from the elements. However, I was out hiking in heavy rain and unfortunately, the jacket has broken. I didn\u0027t expect this to happen, as the manual mentioned that the jacket is made with durable, waterproof material. I\u0027m a bit naive when it comes to outdoor gear, but I really need help with this. Can you provide information on how to get it repaired or replaced? Thank you so much for your help!" } ] }, { "TicketId": 286, "ProductId": 4, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 182, "ShortSummary": "Customer questions survival kit contents", "LongSummary": "Customer questions usefulness of whistle, flashlight, and emergency shelter in survival situations. Requests info on starting fire and navigating rough terrain with kit items.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 546, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t understand why this emergency survival kit includes a whistle and a flashlight. Are we supposed to be having a party in the wilderness? I need real tools and equipment for survival, not toys! And don\u0027t even get me started on the so-called \u0027emergency shelter\u0027 - how is a lightweight tent going to protect me in a real emergency? This kit seems more like a joke than a serious survival solution. Can someone please explain to me how these items are actually useful in a survival situation? Because right now, I\u0027m not convinced at all." }, { "MessageId": 547, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The whistle and flashlight included in the emergency survival kit are essential tools for signaling for help and providing illumination in low-light or dark conditions. The whistle is designed to produce a loud and clear sound to attract attention, while the flashlight is compact and durable, providing reliable light when needed. Additionally, the emergency shelter included in the kit is suitable for providing temporary shelter in various emergency situations such as natural disasters, outdoor adventures, or vehicle breakdowns. It is important to prioritize safety, find a suitable location for setting up the shelter, and use any available resources to enhance its effectiveness." }, { "MessageId": 548, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I still don\u0027t see how a whistle and flashlight are going to help me survive in a real emergency. What if I need to start a fire or navigate through rough terrain? And the so-called \u0027emergency shelter\u0027 still seems flimsy to me. I need more convincing that these items are actually going to be useful in a survival situation." }, { "MessageId": 549, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the whistle is designed to produce a loud and clear sound to attract attention in emergency situations. The flashlight provides reliable light in low-light or dark conditions. The emergency shelter included in the kit is suitable for providing temporary shelter in various emergency situations." }, { "MessageId": 550, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I still don\u0027t understand how these items are going to help me survive in a real emergency. I need more information on how to start a fire and navigate through rough terrain using the items in the kit. And I still don\u0027t feel confident in the effectiveness of the \u0027emergency shelter\u0027." } ] }, { "TicketId": 287, "ProductId": 56, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 34, "ShortSummary": "Unsatisfactory Performance in Cold Weather", "LongSummary": "Customer is unsatisfied with the Naptime 5000 Sleeping Bag\u0027s performance in cold weather. Asked if insulation is faulty or if using it wrong. Wants a solution or a refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 551, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this Naptime 5000 Sleeping Bag from Slumberpeak! I purchased it for camping in cold weather and it claims to keep you warm in temperatures as low as 20\u00B0F. But I used it on a camping trip and I was freezing all night! I followed the instructions to zip it up completely and pull the hood tightly, but it didn\u0027t help at all. I want to know if there\u0027s something wrong with the insulation or if I\u0027m doing something wrong. This is not what I expected from a high-quality sleeping bag. I need a solution or I want a refund!" }, { "MessageId": 552, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear about your experience with the Naptime 5000 Sleeping Bag. Based on the product manual, the synthetic insulation is designed to provide excellent warmth retention and is intended to keep you warm in temperatures as low as 20\u00B0F. It\u0027s also recommended to contact Slumberpeak\u0027s customer service team for warranty claims or support inquiries at support@slumberpeak.com or call 1-800-123-4567. I hope this information helps!" } ] }, { "TicketId": 288, "ProductId": 112, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "Trailblazer Carbon Fiber Mountain Bike Helmet fit inquiry", "LongSummary": "Customer inquiring about adjusting fit and proper helmet positioning for Trailblazer Carbon Fiber Mountain Bike Helmet. Received guidance and adjusted fit as per user manual. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 553, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello there! I\u0027m considering purchasing the Trailblazer Carbon Fiber Mountain Bike Helmet from Cyclextreme for my upcoming mountain biking adventures. I have a question about adjusting the fit and proper helmet positioning. I want to make sure I\u0027m doing it correctly to ensure maximum safety and comfort. Can you provide some guidance on this? Thank you so much for your help!" }, { "MessageId": 554, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailblazer Carbon Fiber Mountain Bike Helmet is designed to be the ultimate companion for your mountain biking excursions. Crafted from high-quality carbon fiber, this helmet offers unparalleled durability while remaining surprisingly lightweight. To adjust the fit, follow the instructions provided in the user manual. Familiarize yourself with the various components of the helmet and their functions before wearing it for the first time to maximize its effectiveness." }, { "MessageId": 555, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information! I read through the user manual and adjusted the fit of the Trailblazer Carbon Fiber Mountain Bike Helmet as per the instructions. It feels comfortable and secure now. I really appreciate your help!" } ] }, { "TicketId": 289, "ProductId": 168, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 183, "ShortSummary": "WildDJ Pro Mixer malfunction", "LongSummary": "Customer\u0027s WildDJ Pro Mixer suddenly stopped working. Desperate for immediate fix. Assistant suggested referring to manual for troubleshooting and contacting support if issue persists.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 556, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, I\u0027ve been using the WildDJ Pro Mixer and it suddenly stopped working. I\u0027ve tried everything, and nothing seems to fix it. I don\u0027t understand how a \u0027rugged construction\u0027 can just break like this. I need help getting this sorted out ASAP." }, { "MessageId": 557, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear valued customer, we understand the frustration you must be experiencing with your WildDJ Pro Mixer. According to the WildDJ Pro Mixer manual, we are dedicated to providing assistance with troubleshooting to resolve any issues you may encounter. Please refer to the troubleshooting section of the manual for detailed guidance on resolving operational issues. If the issue persists, feel free to contact our support team for further assistance." } ] }, { "TicketId": 290, "ProductId": 125, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 185, "ShortSummary": "Seeking Advanced Surgical Technique Assistance", "LongSummary": "Customer seeks specific guidance on advanced surgical techniques in the MediKit Xpress manual. They feel unsure how to properly perform them in emergencies. Recommend additional resources or detailed instructions.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 563, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the MediKit Xpress from Trailblazer Pharmaceuticals and I\u0027m having trouble understanding how to perform advanced surgical techniques mentioned in the manual. I feel a bit embarrassed for not being able to figure it out on my own, but I really want to make sure I know how to use the kit properly in case of emergencies. Any guidance or assistance would be greatly appreciated. Thank you so much!" }, { "MessageId": 564, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The MediKit Xpress from Trailblazer Pharmaceuticals includes a detailed guide on how to perform emergency procedures such as suturing, wound cleaning, and minor surgery. It is important to note that for more advanced procedures, seeking professional medical assistance is recommended if possible." }, { "MessageId": 565, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information, but I was hoping for some specific guidance on the advanced surgical techniques mentioned in the manual. I understand the importance of seeking professional medical assistance for advanced procedures, but I still feel unsure about how to properly perform them in case of emergencies. Could you provide more detailed instructions or recommend any additional resources? Thank you for your help." }, { "MessageId": 566, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the MediKit Xpress from Trailblazer Pharmaceuticals can be used to perform advanced surgical techniques in extreme circumstances. However, it is recommended to seek professional medical assistance for more advanced procedures. The kit includes a detailed guide on how to perform emergency procedures such as suturing, wound cleaning, and minor surgery. If you require further assistance, please contact the manufacturer\u0027s support team as detailed in the manual. Thank you for choosing AdventureWorks." }, { "MessageId": 567, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I understand the importance of seeking professional medical assistance for advanced procedures, but I still feel unsure about how to properly perform them in case of emergencies. Could you provide more detailed instructions or recommend any additional resources? Thank you for your help." } ] }, { "TicketId": 291, "ProductId": 120, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "ArcticPro Jacket Return Process", "LongSummary": "Customer purchased ArcticPro Insulated Ski Jacket and experiencing issues. Assistant suggested preliminary checks, then return process for defective product. Customer initiated return process. Next support agent should ensure return process is progressing smoothly.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Returns", "Messages": [ { "MessageId": 568, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I recently purchased the ArcticPro Insulated Ski Jacket and I\u0027m having some issues with it. Can you please help me?" }, { "MessageId": 569, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The ArcticPro Insulated Ski Jacket by Frost Flare is designed with advanced insulation technology to keep you warm and comfortable in even the harshest winter conditions. Before using the jacket, it is essential to perform a series of preliminary checks to ensure the integrity and functionality of the garment. If you are experiencing issues with the jacket, please let us know, and we can assist you further." }, { "MessageId": 570, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I performed the preliminary checks as suggested, but I\u0027m still experiencing issues with the jacket. Can you provide further assistance?" }, { "MessageId": 571, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience you\u0027ve experienced with the ArcticPro Insulated Ski Jacket. Based on the preliminary checks you\u0027ve performed and the continued issues with the jacket, it seems that the product may be defective. According to our policy, you may return defective products within 1 year of purchase for a refund. You can initiate the return process at https://northernmountains.example.com/support/returns. If you need any further assistance, please let us know." }, { "MessageId": 572, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve initiated the return process as suggested. Thank you for your help." } ] }, { "TicketId": 292, "ProductId": 38, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Customer Unhappy with Stove Usage", "LongSummary": "Customer was unhappy about using the stove on uneven ground. Assistant clarified how to adjust legs. Customer reluctantly accepted but remains dissatisfied.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 573, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the manual tells me to use this stove on a flat surface. What if I want to cook on a hill? Are you saying I can\u0027t do that? This is ridiculous! I demand a refund if I can\u0027t use this stove on uneven ground. It\u0027s a camping stove, for crying out loud!" }, { "MessageId": 574, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Portable Camping Stove is designed to be used on a flat surface. It\u0027s important for safety and stability. However, to use it on uneven ground, you can adjust the position of the stove\u0027s legs to compensate for the incline. Make sure the fuel canister is secure and the stove is level. Please let us know if you need further assistance." }, { "MessageId": 575, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Fine, I adjusted the legs and managed to cook on a hill. But it\u0027s still ridiculous that the manual doesn\u0027t mention this as an option. I guess I\u0027ll keep the stove for now, but I\u0027m not happy about it." }, { "MessageId": 576, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, we recommend using the Portable Camping Stove on a flat surface for safety and stability. However, you can adjust the position of the stove\u0027s legs to compensate for uneven ground. We apologize for any inconvenience this may have caused. If you have any other questions or concerns, feel free to let us know." } ] }, { "TicketId": 293, "ProductId": 130, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 120, "ShortSummary": "Issue with LED Indicator on WildBeat Speaker", "LongSummary": "Customer is frustrated with the WildBeat Bluetooth Speaker. LED indicator not working despite following instructions. Demands refund or replacement. Next support agent should provide troubleshooting steps or information on how to request a refund or replacement.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 577, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this WildBeat Bluetooth Speaker! The sound quality is terrible, and the LED indicator is not working properly. I followed the instructions to pair it with my device, but it\u0027s still not working. I need reassurance that this product is behaving as expected, or I want a refund or replacement." }, { "MessageId": 578, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, to pair the WildBeat Bluetooth Speaker with your Bluetooth device, ensure that the speaker is turned on, activate the Bluetooth function on your device, and select \u0027WildBeat\u0027 from the list of available devices. Once connected, the LED indicator on the speaker will turn solid blue." }, { "MessageId": 579, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the instructions exactly as you said, and the LED indicator is still not turning solid blue. This is incredibly frustrating and I am very disappointed with this product. I demand a refund or a replacement immediately!" }, { "MessageId": 580, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear about the issues you\u0027re experiencing with the WildBeat Bluetooth Speaker. According to the user manual, if the LED indicator is not functioning as expected, you can try resetting the speaker by pressing and holding the power button for 5 seconds. If this doesn\u0027t resolve the issue, please contact our customer support for further assistance. You can find the contact details in the user manual." } ] }, { "TicketId": 294, "ProductId": 110, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 186, "ShortSummary": "Broken PowerFuel Energy Bars - Replacement Request", "LongSummary": "Customer\u0027s PowerFuel Energy Bars broke during hiking trip. Requesting replacement. Assistant referred to warranty and replacement information in user manual. Pending response on how to proceed with replacement.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 581, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there EcoFuels team! Just wanted to reach out and let you know that my PowerFuel Energy Bars unfortunately broke during my last hiking trip. It was such a bummer because they are my go-to snack for all my outdoor adventures. I love how packed with high-quality ingredients they are, and they always give me the energy boost I need. I\u0027m really hoping you can help me get a replacement so I can continue fueling my adventures with your awesome bars! Thanks so much in advance for your help, you guys are the best!" }, { "MessageId": 582, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience you experienced with your PowerFuel Energy Bars. To assist you further, please refer to the warranty and replacement information provided in our user manual." } ] }, { "TicketId": 295, "ProductId": 28, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 187, "ShortSummary": "Setup assistance needed for PureStream Water Purifier", "LongSummary": "Customer needs help with connecting outlet hose and adjusting filter settings for the PureStream Water Purifier. Pending response on how to guide through the setup process. Next support agent should provide step-by-step instructions for setup.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 583, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I just got my hands on the PureStream Water Purifier and I\u0027m super excited to take it out on my next outdoor adventure. But, I\u0027m a little stuck on how to connect the outlet hose and adjust the filter settings. Can you lend a helping hand and guide me through it? I can\u0027t wait to experience the 99.9% bacteria and virus-free water this purifier promises! Thanks a bunch!" } ] }, { "TicketId": 296, "ProductId": 124, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 188, "ShortSummary": "Customer seeks detailed explanation of product components", "LongSummary": "Customer requests detailed explanation of specific components and their functions, threatening escalation if not received. Next agent should provide detailed breakdown of each component and its use.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 584, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the SurvivalPro 2000 and I need reassurance that all the components are working as expected. I expect prompt service and a thorough explanation of the product\u0027s capabilities. I am a valued customer and demand immediate attention to this matter. If I do not receive satisfactory support, I will be seeking a refund for this product. Your prompt response is anticipated." }, { "MessageId": 585, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The ToughTrek SurvivalPro 2000 is designed to provide essential tools and supplies for survival and first aid. I recommend consulting the user manual for detailed instructions on each component and for guidelines on using the survival tools, administering first aid, and signaling for help in an emergency situation. If you require further technical support, please refer to the user manual or contact the manufacturer for assistance." }, { "MessageId": 586, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand a more detailed explanation of the specific components and their functions. I expect you to provide this information immediately and ensure that all components are in working order. If I do not receive a satisfactory response, I will be escalating this matter further." } ] }, { "TicketId": 297, "ProductId": 85, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 189, "ShortSummary": "Non-functional fire starter kit issue", "LongSummary": "Customer reports All-Weather Fire Starter Kit not functioning, requests assistance identifying issue. Next support agent should troubleshoot and provide solution.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 587, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, my All-Weather Fire Starter Kit by ReadySurvive doesn\u0027t work at all. Can you help me figure out what\u0027s wrong with it? Thanks!" } ] }, { "TicketId": 298, "ProductId": 102, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Need Detailed Technical Info on Voyager Kayak Paddle", "LongSummary": "Customer seeks detailed technical insight on load testing procedures and infrared thermography technology for the Voyager Kayak Paddle. Escalation or direct contact with manufacturer support is needed for specific information.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 588, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings, I am considering purchasing the Aqua Venture Voyager Kayak Paddle and I have some technical inquiries regarding its structural integrity and performance. Can you provide details on the load testing conducted to assess its load-bearing capacity? Additionally, I would like to know more about the infrared thermography technology used to identify potential structural issues. Your insight into these diagnostic procedures will greatly aid in my decision-making process. Thank you for your assistance." }, { "MessageId": 589, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Aqua Venture Voyager Kayak Paddle is designed with advanced materials and engineering to provide superior durability and exceptional performance on the water. The composite material used in the construction is designed to withstand the rigors of kayaking and provide optimal performance. As for load testing and infrared thermography technology, the user manual does not provide specific details on these procedures. If you require further technical information, I recommend reaching out to the manufacturer\u0027s support as detailed in the user manual." }, { "MessageId": 590, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. I have reached out to the manufacturer\u0027s support as suggested in the user manual, but I have not received the specific technical information I was seeking regarding the load testing and infrared thermography technology. I would appreciate it if you could escalate this inquiry to a higher level of support or provide me with a direct contact at the manufacturer for further clarification. Your assistance in obtaining this information is crucial for me to make an informed decision about the purchase. Thank you." }, { "MessageId": 591, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for your patience. According to the user manual, the Voyager Kayak Paddle undergoes dynamic load testing to assess its structural integrity and load-bearing capacity. In addition, an infrared thermography camera is used to identify potential structural issues. For further assistance, please contact the manufacturer\u0027s support as detailed in the user manual." }, { "MessageId": 592, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate your response. However, I was hoping for more detailed information regarding the specific load testing procedures and the parameters used for assessment of the kayak paddle\u0027s structural integrity. Additionally, I would like to know more about the infrared thermography technology and how it is utilized to identify potential structural issues. I understand that the user manual mentions these processes, but I seek more in-depth technical insight to aid in my decision-making process. Is there a specialist or technical support team at the manufacturer that I can directly communicate with to obtain this detailed information? Your assistance in providing this information will be invaluable in helping me make an informed decision. Thank you." }, { "MessageId": 593, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Upon reviewing the user manual, I found the following information regarding the load testing procedures and infrared thermography technology for the Voyager Kayak Paddle:\n\n- The Voyager Kayak Paddle is constructed using high-quality, lightweight materials that have been tested for strength and durability. It is essential to inspect the paddle before each use to ensure that there are no signs of damage or wear that could compromise its structural integrity.\n- For advanced troubleshooting and diagnostics of the Aqua Venture Voyager Kayak Paddle, users are required to perform the following steps using specialized equipment and procedures.\n\nIf you require further technical insight, I recommend reaching out to the manufacturer\u0027s support as detailed in the user manual. Thank you for your understanding." }, { "MessageId": 594, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. The information provided regarding the construction materials and the need for regular inspection is helpful, but I was specifically seeking detailed technical information about the load testing procedures and the parameters used for assessment of the kayak paddle\u0027s structural integrity. Additionally, I still require more in-depth insight into the infrared thermography technology and how it is utilized to identify potential structural issues. Is there a specialist or technical support team at the manufacturer that I can directly communicate with to obtain this detailed information? Your assistance in providing this information will be invaluable in helping me make an informed decision. Thank you." }, { "MessageId": 595, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Voyager Kayak Paddle is constructed using high-quality, lightweight materials that have been tested for strength and durability. It is essential to inspect the paddle before each use to ensure that there are no signs of damage or wear that could compromise its structural integrity." }, { "MessageId": 596, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information regarding the construction materials and the need for regular inspection, but I still require detailed technical information about the load testing procedures and parameters used for assessment of the kayak paddle\u0027s structural integrity. Additionally, I need more in-depth insight into the infrared thermography technology and how it is utilized to identify potential structural issues. Is there a specialist or technical support team at the manufacturer that I can directly communicate with to obtain this detailed information? Your assistance in providing this information will be invaluable in helping me make an informed decision. Thank you." } ] }, { "TicketId": 299, "ProductId": 29, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 190, "ShortSummary": "SolarBoost Power Bank not charging with sunlight", "LongSummary": "Customer is struggling to get SolarBoost Power Bank to charge using solar energy. Seeking guidance for optimal charging under direct sunlight. Pending question: What to do if still not charging?", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 597, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the SolarBoost Power Bank from Ecovolt and I\u0027m having trouble getting it to work. I\u0027ve tried placing it in direct sunlight and ensuring that the solar panel is facing the sun, but it still isn\u0027t charging. I\u0027m not sure what I might be doing wrong and I feel a bit embarrassed about it. I really want to utilize this for extended outdoor use as mentioned in the description, so any help or guidance would be greatly appreciated. Thank you." }, { "MessageId": 598, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To charge your SolarBoost Power Bank using solar energy, simply place it under direct sunlight. Ensure that the solar panel is positioned towards the sun for optimal charging efficiency. If you are experiencing issues with slow charging speed, ensure that the solar panels have sufficient exposure to direct sunlight, as the charging speed may be affected by cloudy weather or shade." } ] }, { "TicketId": 300, "ProductId": 144, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 192, "ShortSummary": "ProLite Climbing Harness Warranty Inquiry", "LongSummary": "Customer needs assistance with warranty claim for ProLite Climbing Harness. Wants to know if loose stitching is covered. Pending question on specific warranty process.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 601, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the RidgeRope ProLite Climbing Harness and I\u0027ve noticed that the stitching on one of the straps seems a bit loose. I\u0027m really sorry to bother you with such a small detail, but I just want to make sure everything is safe and secure for my climbs. I hope I\u0027m not making a big deal out of nothing, but I wanted to check if this is covered under the warranty. I really appreciate your help with this, and I\u0027m sorry again for the trouble." }, { "MessageId": 602, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We\u0027re sorry to hear about the issue with your ProLite Climbing Harness. According to the manual, the warranty covers defects in materials and workmanship for a period of one year from the date of purchase. You can contact RidgeRope customer service at the provided address and phone number for further assistance with your warranty claim." } ] }, { "TicketId": 301, "ProductId": 158, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 193, "ShortSummary": "HydraHike Pack for Work Electronics?", "LongSummary": "Customer enjoys HydraHike Hydration Pack, seeks advice on using it for work electronics. Pending question on versatility for work use. Next agent should provide advice on carrying electronics in the pack for work.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 603, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the HydraHike Hydration Pack from Thirsttrek and I must say, it\u0027s fantastic! I\u0027ve been using it for my daily hikes and it\u0027s been working like a charm. However, I was wondering if it would also be suitable for carrying my laptop and other electronics for work? I know it\u0027s designed for hydration and essentials, but I thought it might be versatile enough for my work needs as well. Any advice or suggestions would be greatly appreciated. Thank you!" } ] }, { "TicketId": 302, "ProductId": 123, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 194, "ShortSummary": "Trouble photocopying A3 size documents", "LongSummary": "Customer needs help with photocopying A3 size documents using SolarCopy 3000, seeking guidance on steps to take. Pending response required for further assistance.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 604, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the SolarCopy 3000 and I\u0027m having some trouble getting it to work as expected. I feel a bit embarrassed that I might be doing something wrong, but I can\u0027t seem to photocopy documents up to A3 size, even when there\u0027s plenty of sunlight. Is there something I should be doing differently? I haven\u0027t had a chance to read the manual yet, so I\u0027m not sure if I\u0027m missing a step. Any guidance or help would be greatly appreciated. Thanks so much!" }, { "MessageId": 605, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To photocopy A3 size documents with the SolarCopy 3000, open the document tray and place the document face down on the glass surface, ensuring alignment with the A3 size guides. Then, press the green \u0027Start Copy\u0027 button on the control panel to initiate the photocopy process." } ] }, { "TicketId": 303, "ProductId": 40, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 195, "ShortSummary": "Inquiry about headlamp battery life and warranty coverage", "LongSummary": "Retail store inquiring about battery life and warranty for GloTech Headlamp. Requesting detailed info to assist customers effectively. No response given yet.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 606, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I hope this message finds you well. I represent a retail store that stocks high-tech lighting products, including the GloTech Rechargeable LED Headlamp. We have had a few customer inquiries regarding the battery life and warranty coverage of this headlamp. Could you please provide us with detailed information on the battery performance and the specifics of the limited warranty? We want to ensure that we can effectively assist our customers with any issues that may arise. Thank you for your prompt attention to this matter. Best regards, Evelyn Tran" } ] }, { "TicketId": 304, "ProductId": 20, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 196, "ShortSummary": "TrekTracker GPS Watch: Backpacking and Skydiving Use", "LongSummary": "Customer excited about using TrekTracker GPS Watch for backpacking and skydiving. Asks for tips on preparing GPS and altitude sensor for skydiving. Pending response on tips for skydiving use.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 607, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I just got my hands on the TrekTracker GPS Watch and I am so pumped to use it on my upcoming backpacking trip! I heard it has built-in maps and altitude tracking, so I know I\u0027ll never get lost out there. But I have this crazy idea to also use it for skydiving and I wanna make sure it can handle that too. Can you believe it? Haha! Anyway, any tips on how to make sure the GPS and altitude sensor are ready for some crazy adventures like that? Thanks a bunch!" } ] }, { "TicketId": 305, "ProductId": 172, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 197, "ShortSummary": "Inquiry about Pole Promotional Materials", "LongSummary": "Customer inquiring about promotional materials or display stands for Trailblazer Carbon Trekking Poles. Advised to contact Summit Pole directly. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 608, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there Summit Pole crew! My customers are absolutely raving about the Trailblazer Carbon Trekking Poles I have in stock. They can\u0027t get enough of the lightweight design and ergonomic grips. But hey, I wanted to ask if you guys have any cool promotional materials or display stands that I could use to showcase these awesome poles in my store? I think they deserve a prime spot, and I want to make sure they grab everyone\u0027s attention. Looking forward to hearing from you, and keep up the awesome work!" }, { "MessageId": 609, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear customer, thank you for your interest in showcasing the Trailblazer Carbon Trekking Poles in your store. According to the product manual, the Trailblazer Carbon Trekking Poles are designed with the highest quality materials and craftsmanship. Unfortunately, there is no specific information about promotional materials or display stands in the manual. For any promotional materials or display stands, we recommend reaching out to Summit Pole directly for further assistance. If you have any other questions or need additional support, feel free to ask. AdventureWorks Support" }, { "MessageId": 610, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey AdventureWorks Support team! Thanks for getting back to me. I\u0027ll reach out to Summit Pole directly to see if they have any cool promotional materials or display stands available. If I have any other questions, I\u0027ll be sure to let you know. Have a great day!" }, { "MessageId": 611, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear customer, we\u0027re glad to hear that you\u0027ll be reaching out to Summit Pole directly. If you have any other questions or need further assistance, feel free to ask. Have a great day!" } ] }, { "TicketId": 306, "ProductId": 2, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 122, "ShortSummary": "Trouble sending secure message", "LongSummary": "Customer is excited to use Secure Messaging Device on outdoor expeditions, but had trouble sending a secure message. Advised to perform advanced diagnostics, which resolved the issue. No further action needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 612, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Just got my hands on the SurveillLink Secure Messaging Device and I\u0027m super excited to test it out on my outdoor expeditions. But I\u0027m having a bit of trouble sending a secure message. I\u0027ve followed the steps in the manual, but for some reason, I can\u0027t get it to work. Any chance you could help me figure this out? I really want to make sure my communications are private and secure while I\u0027m out in the wilderness. Thanks so much!" }, { "MessageId": 613, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It\u0027s great to hear that you\u0027re excited to use the SurveillLink Secure Messaging Device on your outdoor expeditions! Have you tried performing the advanced diagnostics during device operation as outlined in the manual?" }, { "MessageId": 614, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Thanks for the suggestion. I actually just tried performing the advanced diagnostics and it seems to have done the trick! The device is now working perfectly and I\u0027m ready to take it on my next adventure. I really appreciate your help!" } ] }, { "TicketId": 307, "ProductId": 71, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 198, "ShortSummary": "Frustration over device compatibility", "LongSummary": "Customer is frustrated that the Trailcom Signal Booster 2000 isn\u0027t compatible with their device. They demand a refund or replacement. Pending question about device compatibility.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 615, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am beyond frustrated with the Trailcom Signal Booster 2000! I specifically bought it for off-grid communication, but it\u0027s not compatible with my device. I can\u0027t believe I spent so much money on something that doesn\u0027t work as advertised. I demand a refund or replacement immediately!" } ] }, { "TicketId": 308, "ProductId": 165, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Clarification on Weatherproof Capabilities", "LongSummary": "Customer demands clear answer on weatherproof capabilities in wet conditions. Assistance needed to address specific concerns and potential refund request.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 616, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought the Rugged Shelter 600 from OutdoorHaven and I expect it to be weatherproof as advertised. I better not see any leaks or moisture seeping in during my next camping trip. If this product doesn\u0027t deliver as promised, I\u0027ll be expecting a full refund. I don\u0027t have time to deal with faulty camping gear. This is your chance to prove your product\u0027s quality, OutdoorHaven." }, { "MessageId": 617, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Rugged Shelter 600 from OutdoorHaven is designed for use as a camping shelter in outdoor environments. It is weatherproof and provides refuge in the great outdoors. However, it is important to note that it is not intended for use as a permanent structure or in extreme weather conditions. For any specific questions or concerns about its weatherproof capabilities, please refer to the user manual or contact the manufacturer. If you require further assistance, please feel free to reach out to us." }, { "MessageId": 618, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I expect the Rugged Shelter 600 to perform as advertised, regardless of outdoor conditions. I need a clear answer on its weatherproof capabilities and whether it will hold up in rainy weather. If it doesn\u0027t, I expect a full refund as promised. This is not a matter to be taken lightly." }, { "MessageId": 619, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Rugged Shelter 600 from OutdoorHaven is a sturdy camping shelter designed to provide refuge in the great outdoors. With its weatherproof construction and easy setup, it is the perfect home away from home for any camping trip. The Rugged Shelter 600 offers ample space for sleeping, relaxing, and storing gear, making it an essential addition to your camping gear collection. However, please note that it is not intended for use as a permanent structure or in extreme weather conditions. For any specific questions or concerns about its weatherproof capabilities, please refer to the user manual or contact the manufacturer. If you require further assistance, please feel free to reach out to us." }, { "MessageId": 620, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t appreciate the runaround. I bought the Rugged Shelter 600 with the expectation that it would be weatherproof, as advertised. If it can\u0027t hold up in rainy weather, then what good is it? I demand a clear answer on its performance in wet conditions. And if it doesn\u0027t meet my expectations, I expect a full refund, no questions asked." }, { "MessageId": 621, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The OutdoorHaven Rugged Shelter 600 is designed for use as a camping shelter in outdoor environments. It is not intended for use as a permanent structure or in extreme weather conditions. Please use the Rugged Shelter 600 in accordance with the guidelines provided in the manual. If you have any specific questions or concerns about its weatherproof capabilities, please refer to the user manual or contact the manufacturer. If you require further assistance, please feel free to reach out to us." } ] }, { "TicketId": 309, "ProductId": 168, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 199, "ShortSummary": "Refund demand for regular DJing mixer", "LongSummary": "Customer insists on refund for WildDJ Pro Mixer purchased for regular DJing, not wilderness DJing. Customer demands refund and rejects any other solutions. Customer satisfaction is VeryUnhappy.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 622, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I cannot believe the audacity of this company! I purchased the WildDJ Pro Mixer by PeakMix for its rugged construction and advanced mixing features, not for some wild and unexpected purpose. I demand a refund for this absurd product that does not meet my reasonable expectations!" }, { "MessageId": 623, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We are incredibly honored that you have chosen our esteemed PeakMix WildDJ Pro Mixer for your wilderness DJing needs. Your purchase of this exceptional product demonstrates your discerning taste and commitment to excellence. Regarding your request, according to the manual, the product is designed to meet the needs of wilderness DJing and offers a variety of advanced mixing features. For any returns or warranty details, please refer to the user manual or visit https://northernmountains.example.com/support/returns" }, { "MessageId": 624, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about your so-called \u0027honored\u0027 feelings. I bought this mixer for regular DJing, not \u0027wilderness DJing\u0027! Your product is not meeting my expectations and I demand a refund, not some useless manual! Give me my money back now!" }, { "MessageId": 625, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear valued customer, we understand your concerns and apologize for any inconvenience caused. According to the manual, the WildDJ Pro Mixer is specifically designed to meet the needs of wilderness DJing. If you believe the product is not meeting your expectations, we recommend referring to the returns policy detailed in the user manual for further assistance." }, { "MessageId": 626, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is ridiculous! I already told you I bought this mixer for regular DJing, not wilderness DJing. Your product is not meeting my needs and I demand a refund. I will not accept anything less!" }, { "MessageId": 627, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear valued customer, thank you for your unwavering support and dedication to the PeakMix brand. For assistance with returns, warranty claims, or technical support, please contact our esteemed customer support team at the following highly esteemed contact information:\n- Email: support@peakmix.com\n- Phone: 1-800-PEAKMIX" }, { "MessageId": 628, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is outrageous! I have already stated multiple times that I bought this mixer for regular DJing, not wilderness DJing. Your product is not meeting my needs and I demand a refund. I will not accept anything less!" }, { "MessageId": 629, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear valued customer, I apologize for any confusion and inconvenience. I have reviewed the manual for the WildDJ Pro Mixer by PeakMix, and based on the information provided, the mixer is specifically designed to meet the needs of wilderness DJing. As a result, for returns or warranty claims, it is recommended to refer to the returns policy detailed in the user manual." }, { "MessageId": 630, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have already told you multiple times that I bought this mixer for regular DJing, not wilderness DJing. Your product is not meeting my needs and I demand a refund. I will not accept anything less!" } ] }, { "TicketId": 310, "ProductId": 83, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 201, "ShortSummary": "GPS Performance in Urban Areas", "LongSummary": "Customer is excited about SkyRanger HD drone and concerned about GPS performance in urban areas. Received information about GPS mode and autonomous navigation. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 632, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m really excited about the SkyRanger HD Aerial Drone and its GPS tracking feature for stable flight. I\u0027ve been doing some research and I read that GPS signals can be disrupted by tall buildings or dense forests. Should I be worried about this affecting the drone\u0027s performance in an urban area? I want to make sure I can rely on the GPS before I make the purchase. Thank you so much for your help!" }, { "MessageId": 633, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SkyRanger HD Aerial Drone features a GPS tracking button that enables GPS mode, allowing the drone to maintain its position and altitude for stable flight. Additionally, the AeroVision mobile app allows users to set specific GPS waypoints for autonomous navigation. According to the manual, the drone is designed to maintain stability in various flight conditions, including urban areas." }, { "MessageId": 634, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information! I really appreciate it. I downloaded the AeroVision mobile app and tried setting some GPS waypoints for autonomous navigation. It worked perfectly! I feel much more confident now about using the drone in urban areas. Thanks again for your help!" } ] }, { "TicketId": 311, "ProductId": 163, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 202, "ShortSummary": "Stealth Cam 500 restrictions demand refund/replace", "LongSummary": "Customer demands refund or replacement due to restrictions on Stealth Cam 500 usage. Customer expects better from Wildwatch. Pending response needed to address customer\u0027s concerns and offer solution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 635, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the restrictions on this camera! I paid good money for the Stealth Cam 500 and now I find out I can\u0027t even use it for surveillance or hunting?! This is ridiculous. I demand a full refund or replacement. I expect better from Wildwatch!" } ] }, { "TicketId": 312, "ProductId": 38, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 203, "ShortSummary": "Defective Camping Stove Refund Request", "LongSummary": "Customer demands immediate assistance with a faulty Firefood Portable Camping Stove, tried troubleshooting steps without success, and demands a refund or replacement.", "CustomerSatisfaction": 1, "TicketStatus": "Closed", "TicketType": "Returns", "Messages": [ { "MessageId": 636, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand immediate assistance with a faulty Firefood Portable Camping Stove! This so-called \u0027advanced technology\u0027 stove is not working as advertised. It\u0027s a disgrace that I have to deal with this issue after spending my hard-earned money on it. I expect a prompt response and a resolution to this matter." }, { "MessageId": 637, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand that you are having issues with your Firefood Portable Camping Stove. Please try the troubleshooting steps provided in the user manual to see if the issue can be resolved. If the problem persists, please let me know and we can explore other options for resolution." }, { "MessageId": 638, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have already tried the troubleshooting steps in the user manual and unfortunately, the issue still persists. I am extremely disappointed with the quality of this Firefood Portable Camping Stove and I demand a full refund or a replacement immediately!" }, { "MessageId": 639, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear that the troubleshooting steps didn\u0027t resolve the issue. As per our policy, since the product is defective, you are eligible for a full refund or a replacement. You can initiate the return process at [our support portal](https://northernmountains.example.com/support/returns). If you have any further questions, please don\u0027t hesitate to reach out." } ] }, { "TicketId": 313, "ProductId": 128, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 159, "ShortSummary": "AquaBottle Pro troubleshooting", "LongSummary": "Customer is experiencing issues with AquaBottle Pro despite following instructions and inspecting for damage. They will proceed to contact customer service for warranty claim assistance.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 640, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AquaBottle Pro from AquaNest and I\u0027m having some difficulties with it. Despite following the instructions for cleaning and filling the bottle, it doesn\u0027t seem to be working as expected. I\u0027ve inspected it for damage or defects as per the manual, but everything looks fine. I\u0027m reaching out for assistance on troubleshooting this issue or if there are any specific steps I may have missed. Your help in resolving this matter would be greatly appreciated. Thank you." }, { "MessageId": 641, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, thank you for reaching out to us. Based on the AquaBottle Pro user manual, before using the bottle, it\u0027s important to inspect it for any damage or defects. Please ensure that the lid and straw are securely attached and that there are no dents or scratches on the bottle. Additionally, to fill the bottle, unscrew the lid and pour your desired beverage into the bottle, then securely screw the lid back on to prevent any leaks. If you believe your AquaBottle Pro is experiencing issues covered by the warranty, please contact the AquaNest customer service team at support@aquanest.com with your proof of purchase and a detailed description of the issue, and they will assist you with the warranty claim. If you need further assistance, feel free to let us know. Thank you." }, { "MessageId": 642, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. I have checked the AquaBottle Pro again and everything seems to be in good condition with no visible damage or defects. I have also followed the filling instructions as outlined in the user manual. Unfortunately, the issue still persists and the bottle is not functioning as expected. I will proceed to contact the AquaNest customer service team as suggested for further assistance with the warranty claim. Thank you for your help." }, { "MessageId": 643, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us. We appreciate your thorough inspection of the AquaBottle Pro and your proactive approach to resolving this issue. Since you have followed all the instructions and the issue still persists, it\u0027s best to proceed with contacting the AquaNest customer service team at support@aquanest.com for further assistance with the warranty claim. They will be able to provide the necessary support for you. If you need any help with initiating the warranty claim, feel free to let us know. Thank you." } ] }, { "TicketId": 314, "ProductId": 150, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 204, "ShortSummary": "Inquiry about Outdoor Shield Pro duration", "LongSummary": "Customer inquiring about duration of effectiveness and reapplication of Outdoor Shield Pro. Needs clear information on how long it lasts and when to reapply.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 644, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "How long does the Outdoor Shield Pro last? Need to know for a camping trip." }, { "MessageId": 645, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Outdoor Shield Pro is designed to repel insects during outdoor activities. For best results, store it in a cool, dry place away from direct sunlight to maintain its effectiveness. According to the manual, exposure to heat and humidity can degrade the repellent\u0027s effectiveness." }, { "MessageId": 646, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the info. Just to clarify, how long will the Outdoor Shield Pro last in terms of hours or days?" }, { "MessageId": 647, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The product manual advises that proper storage in a cool, dry place away from direct sunlight can extend the shelf life of the Outdoor Shield Pro, ensuring it is ready to use whenever you need it. It also states that exposure to heat and humidity can degrade the effectiveness of the repellent. For optimal protection, apply the repellent before heading outdoors, and ensure complete coverage on all exposed areas. Reapplication may be necessary in certain circumstances, and a little maintenance goes a long way in ensuring the product remains effective." }, { "MessageId": 648, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "So how many hours or days will it last?" }, { "MessageId": 649, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Outdoor Shield Pro provides long-lasting protection, but reapplication may be necessary in certain circumstances. It\u0027s recommended to apply the repellent before heading outdoors and ensure complete coverage on all exposed areas. Store the Outdoor Shield Pro in a cool, dry place away from direct sunlight to maintain its effectiveness." } ] }, { "TicketId": 315, "ProductId": 49, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Misleading Waterproof Claim", "LongSummary": "Customer is frustrated that the Summit Hiking Boots did not hold up as waterproof during their last hike. They feel misled and demand a resolution to this issue. Support agent needs to address the customer\u0027s disappointment and offer a solution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 650, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely frustrated with the Summit Hiking Boots I purchased from your store. Despite being marketed as waterproof, they soaked through during my last hike, leaving my feet wet and uncomfortable. I specifically chose these boots for their waterproof feature, and now I feel misled and disappointed. I demand a resolution to this issue as soon as possible." } ] }, { "TicketId": 316, "ProductId": 84, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 149, "ShortSummary": "Inaccurate GPS Tracking Frustration", "LongSummary": "Customer frustrated with inaccurate GPS tracking on Trailblazer Smartwatch. Unable to reach Techtrek Support or initiate return/repair.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 651, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this Trailblazer GPS Smartwatch! I bought it for running and jogging, but it doesn\u0027t seem to be accurately tracking my pace and distance. I\u0027ve been using it for a while now and it\u0027s not helping me stay on track with my fitness goals at all. I need some assistance with this as I expected this watch to enhance my running experience, but it\u0027s doing the opposite!" }, { "MessageId": 652, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailblazer GPS Smartwatch is designed to enhance your running and jogging experience with its accurate GPS tracking, pace, and distance monitoring. If you are unable to resolve the issue using the troubleshooting guide, please contact Techtrek Support for further assistance at support@techtrek.com or call 1-800-TECHTREK. They are available Monday through Friday, 9am to 5pm PST." }, { "MessageId": 653, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried contacting Techtrek Support as suggested, but I couldn\u0027t get through to anyone. I need a solution to this issue as soon as possible, it\u0027s really affecting my running experience!" }, { "MessageId": 654, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand your frustration and I apologize for the inconvenience. Here\u0027s the troubleshooting guide to help you resolve the issues with your Trailblazer GPS Smartwatch: If you encounter any issues with your Trailblazer GPS Smartwatch, refer to the troubleshooting guide for assistance. I have also found the contact details for Techtrek Support: support@techtrek.com or call 1-800-TECHTREK, available Monday through Friday, 9am to 5pm PST. I hope this information helps." }, { "MessageId": 655, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the troubleshooting guide and tried contacting Techtrek Support again, but I still couldn\u0027t get through to anyone. This is unacceptable! I need a solution to this issue ASAP." }, { "MessageId": 656, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear that you\u0027re still facing difficulties. According to the product manual, if you encounter any issues with your Trailblazer GPS Smartwatch, you can refer to the troubleshooting guide for assistance. Additionally, the contact details for Techtrek Support are support@techtrek.com or call 1-800-TECHTREK, available Monday through Friday, 9am to 5pm PST. If you\u0027re unable to reach them, you may consider initiating a return or repair using the support portal at https://northernmountains.example.com/support/returns. I hope this helps." }, { "MessageId": 657, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is ridiculous! I followed the troubleshooting guide, tried contacting Techtrek Support multiple times, and even tried initiating a return or repair using the support portal, but I still haven\u0027t been able to get this issue resolved. I need a proper solution to this problem right away!" }, { "MessageId": 658, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry for the inconvenience you\u0027ve experienced with the Trailblazer GPS Smartwatch. We will assist you in resolving this issue. According to the manual, if you encounter any issues with your smartwatch, you can refer to the troubleshooting guide for assistance. Additionally, the contact details for Techtrek Support are support@techtrek.com or call 1-800-TECHTREK, available Monday through Friday, 9am to 5pm PST. You may also consider initiating a return or repair using the support portal at https://northernmountains.example.com/support/returns. We are here to help you find a solution to this problem." } ] }, { "TicketId": 317, "ProductId": 7, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 205, "ShortSummary": "Inquiry about Emergency Amputation Tools", "LongSummary": "Customer Evelyn is inquiring about the specific tools included for emergency amputations in the Off-Grid Surgeon Kit. Next agent should provide detailed information on the tools.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 659, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello Adventure Prosthetics team! My name is Evelyn and I\u0027m interested in purchasing the Off-Grid Surgeon Kit for my upcoming wilderness medical expedition. I\u0027m wondering if the kit includes instructions for performing emergency amputations. I know it\u0027s a rare scenario, but I want to be prepared for any situation. Also, if the kit doesn\u0027t meet my needs, is there a possibility for a refund or replacement? Thank you for your help!" }, { "MessageId": 660, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello Evelyn! The Off-Grid Surgeon Kit is designed to provide essential tools and supplies for performing surgical procedures in remote locations. It includes a comprehensive set of tools and supplies, such as bandages, sutures, and medications, organized and easily accessible for emergency situations. If you need to return the kit for warranty service, please contact Adventure Prosthetics customer service for authorized return instructions and support. They will assist you with troubleshooting, repair inquiries, and warranty claims. Please have your proof of purchase ready when contacting customer service." }, { "MessageId": 661, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello! Thank you for the information about the contents of the Off-Grid Surgeon Kit. I have a question about the specific tools included for performing emergency amputations. Could you please provide more details on that? Thank you!" } ] }, { "TicketId": 318, "ProductId": 148, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 206, "ShortSummary": "Replacement demand for sleeping bag", "LongSummary": "Customer demands replacement for Alpine Dream 3000 sleeping bag. Contacted customer service with details. Expects prompt resolution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 662, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the Alpine Dream 3000 sleeping bag for cold weather camping, and it\u0027s not providing the warmth as described. I demand a replacement or refund immediately. This product is not living up to its promises and I expect better quality for the price I paid." }, { "MessageId": 663, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience. According to the user manual, the Alpine Dream 3000 is designed to provide a restful night\u0027s sleep in the great outdoors, with its ultra-soft insulation and waterproof shell making it ideal for cold weather camping. If you believe your Alpine Dream 3000 sleeping bag is defective, please contact our customer service team at [customer service email] or [customer service phone number]. Please have your proof of purchase ready and be prepared to provide details about the issue." }, { "MessageId": 664, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand a replacement immediately. I have contacted the customer service team and provided all the details about the issue. I expect a prompt resolution to this matter." } ] }, { "TicketId": 319, "ProductId": 141, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 207, "ShortSummary": "Fire Starter Trouble", "LongSummary": "Customer purchased the SOS Gear Emergency Survival Kit and is having trouble with the fire starter. Asking for assistance on how to use it correctly. Pending: how to properly use the fire starter.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 665, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there! I recently purchased the SOS Gear Emergency Survival Kit, and I\u0027m having trouble getting the fire starter to work properly. I\u0027ve been trying to light a campfire using it, but it\u0027s just not sparking like I expected. I\u0027ve read that it can handle up to 12,000 strikes, so I must be doing something wrong. Can you please help me figure out how to use it correctly? I really rely on having a reliable fire starter for my outdoor adventures, so any assistance you can provide would be greatly appreciated. Thank you so much!" } ] }, { "TicketId": 320, "ProductId": 109, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 152, "ShortSummary": "Technical issues with Mountain Biking Kit", "LongSummary": "Customer Lena Park is seeking help with the XtremeGear 5000 Mountain Biking Kit. Assistant recommended checking the manual first, then seeking further support if issues persist. No pending questions.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 667, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the XtremeGear 5000 Mountain Biking Kit and I\u0027m having some trouble with it. Can you help me figure out how to make it work properly? Thanks." }, { "MessageId": 668, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi there, it\u0027s great to hear that you\u0027ve got the XtremeGear 5000 Mountain Biking Kit. If you\u0027re experiencing any technical issues or need troubleshooting assistance, please refer to the manual for detailed information. If the problem persists, feel free to reach out to our support team for further assistance." } ] }, { "TicketId": 321, "ProductId": 148, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 209, "ShortSummary": "Defective sleeping bag awaiting Slumberpeak response", "LongSummary": "Customer awaiting response from Slumberpeak regarding defective sleeping bag. Recommend following up directly with Slumberpeak customer service.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 669, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Zippers not working, need fix." }, { "MessageId": 670, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the Alpine Dream 3000 features a limited lifetime warranty from Slumberpeak, which covers defects in materials and workmanship for the life of the product. You may be eligible for a repair or replacement. Please contact Slumberpeak customer support for assistance with your defective sleeping bag." }, { "MessageId": 671, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Contacted Slumberpeak, waiting for response." }, { "MessageId": 672, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It\u0027s great to hear that you\u0027ve contacted Slumberpeak. They offer a limited lifetime warranty for the Alpine Dream 3000, which covers defects in materials and workmanship. If you still haven\u0027t received a response, I recommend following up with them to ensure that your sleeping bag is properly taken care of according to the warranty policy." }, { "MessageId": 673, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still no response from Slumberpeak." }, { "MessageId": 674, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, upon receipt of your claim, Slumberpeak will work to repair or replace your sleeping bag at their discretion. They will cover the cost of returning the product to you. If a repair is not possible and the product is no longer available, they may offer a suitable alternative or a refund of the original purchase price. I recommend reaching out to Slumberpeak again and informing them of the details provided in the manual." }, { "MessageId": 675, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "No response from Slumberpeak yet. Can you follow up for me?" }, { "MessageId": 676, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, if you believe your Alpine Dream 3000 sleeping bag is defective, please contact Slumberpeak\u0027s customer service team at [customer service email] or [customer service phone number]. Please have your proof of purchase ready and be prepared to provide details about the issue. Additionally, Slumberpeak will work to repair or replace your sleeping bag at their discretion and cover the cost of returning the product to you." }, { "MessageId": 677, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still no response from Slumberpeak." } ] }, { "TicketId": 322, "ProductId": 136, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 210, "ShortSummary": "Inquiry about LED indicator and charging time", "LongSummary": "Customer inquired about LED indicator and charging time for Solaris 500. Assistant provided info and troubleshooting steps. Customer reported charger now works great. No further action needed from next support agent.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 678, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, just got the Solaris 500 charger. Is it normal for the LED indicator to blink when charging devices? Also, how long does it take to fully charge? Thanks!" }, { "MessageId": 679, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the LED indicator allows you to check the current battery level. The number of lights that illuminate will indicate the current battery level. As for the charging time, it is recommended to place the Solaris 500 in direct sunlight with the solar panels facing the sun for charging. Please monitor the charging progress to prevent overcharging the connected devices." }, { "MessageId": 680, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thx for the info. Will keep an eye on the charging time and let you know if any issues!" }, { "MessageId": 681, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to start using your Solaris 500 Portable Solar Charger, follow the simple steps outlined in section 2.1. In addition, when not in use, store the Solaris 500 in a cool, dry place away from direct sunlight. If you have any further questions, feel free to ask!" }, { "MessageId": 682, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Charger works great now! Thanks for the help!" } ] }, { "TicketId": 323, "ProductId": 112, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 91, "ShortSummary": "Helmet visor replacement inquiry", "LongSummary": "Customer inquiring about Trailblazer helmet visor replacement frequency and ease. Pending question about visor replacement. Response needed on visor replacement process.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 683, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I\u0027m thinking about getting the Trailblazer Carbon Fiber Mountain Bike Helmet from Cyclextreme. Do I need to replace the visor often? And how easy is it to do? Thanks!" } ] }, { "TicketId": 324, "ProductId": 112, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 211, "ShortSummary": "Helmet discomfort and fit issues", "LongSummary": "Customer Marcella Bishop is frustrated with the Trailblazer Carbon Fiber Mountain Bike Helmet. She is experiencing discomfort and awkward fit, seeking reassurance or a refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 684, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this Trailblazer Carbon Fiber Mountain Bike Helmet! I thought it was supposed to provide maximum comfort and ventilation, but I feel like I\u0027m suffocating in this thing! And don\u0027t even get me started on the fit. I followed the instructions to adjust the fit and position the helmet, but it\u0027s still uncomfortable and feels awkward. This is not what I expected from a premium product like this. I need reassurance that this helmet is supposed to be this uncomfortable, or I want a refund!" } ] }, { "TicketId": 325, "ProductId": 88, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "Paddle usage in rapids", "LongSummary": "Customer needs help using paddle in rapids. Specific instructions requested.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 685, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Paddle not working in rapids. Need help with using it properly." } ] }, { "TicketId": 326, "ProductId": 64, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 212, "ShortSummary": "Trouble with Water Purifier 1000", "LongSummary": "Customer is having trouble with AquaFusion Portable Water Purifier 1000. Followed instructions, but purification process not working. Further assistance needed to troubleshoot.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 686, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the AquaFusion Portable Water Purifier 1000 and I\u0027m having trouble getting it to work properly. I followed the instructions, but it doesn\u0027t seem to be removing bacteria and viruses like it\u0027s supposed to. I\u0027m really embarrassed to admit this, but I\u0027m not sure if I\u0027m doing something wrong or if there\u0027s an issue with the product. Can you please provide me with some guidance on how to troubleshoot this? I really want to make sure I can rely on this purifier for clean hydration on the go. Thank you." }, { "MessageId": 687, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello! According to the manual, to fill the water reservoir, you need to unscrew the top cap of the water purifier. The purification process should take only a few moments. Have you tried following these steps? If the issue persists, please let us know so we can assist further." }, { "MessageId": 688, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I did try unscrewing the top cap to fill the water reservoir, but unfortunately, the issue still persists. The purification process doesn\u0027t seem to be working as it should. I\u0027m really disappointed that I can\u0027t figure this out on my own. Can you please provide further assistance?" } ] }, { "TicketId": 327, "ProductId": 182, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Product suitability for advanced rock climbing inquiry", "LongSummary": "Customer demands detailed info on Summit Pro Climbing Harness suitability for advanced rock climbing. Threatens refund/replacement. Pending response needed on safety features/durability.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 689, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand to know if the Summit Pro Climbing Harness by Climb Safe is suitable for advanced rock climbing! I expect a prompt and detailed response regarding its safety features and durability. If this harness does not meet my expectations, I will be seeking a refund or replacement. Your immediate attention to this matter is required." } ] }, { "TicketId": 328, "ProductId": 134, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 213, "ShortSummary": "Non-Functioning SolarFire 2000 Stove", "LongSummary": "Dr. Olivia Chen seeks technical assistance with non-functioning SolarFire 2000 stove, open to solutions and expects prompt, professional response.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 690, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings EcoGizmo Team, I am experiencing a significant issue with my SolarFire 2000 camping stove. Despite following the user manual\u0027s instructions meticulously, the stove does not seem to be functioning at all. I have ensured that it is clean, dry, and properly stored in the carrying case, yet it does not produce any heat or charge any devices when exposed to sunlight. As an individual with an extensive background in solar technology, I am confident that I have not overlooked any crucial steps in the operation of this product. I would greatly appreciate your technical expertise and guidance to rectify this perplexing situation. I am open to exploring potential solutions, whether it be a replacement, repair, or detailed troubleshooting instructions. I trust that your team\u0027s dedication to customer satisfaction will shine through in addressing this matter promptly and professionally. Thank you for your attention to this matter. Best regards, Dr. Olivia Chen" } ] }, { "TicketId": 329, "ProductId": 88, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 214, "ShortSummary": "Inquiry about RapidFlow Kayak Paddle for Rapids", "LongSummary": "Customer is interested in WaterWay RapidFlow Kayak Paddle for use in rapids, has questions about blade design and suitability for high-impact use. Pending question about blade design.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 691, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am a kayaking enthusiast and I am interested in purchasing the WaterWay RapidFlow Kayak Paddle. I have read the description and I am particularly impressed with the ergonomic grip for long paddling sessions, which is crucial for maintaining comfort and performance. However, I have some technical questions regarding the paddle\u0027s suitability for navigating through rapids. I am curious about the blade design and how it contributes to the paddle\u0027s effectiveness in rapids. Additionally, I would like to know if the paddle is suitable for high-impact use, as I often encounter challenging conditions on the water. Your insight and expertise on this matter would greatly assist me in making an informed decision on this purchase. Thank you for your time and assistance." }, { "MessageId": 692, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The WaterWay RapidFlow Kayak Paddle is designed for use in white water rapids only and should not be used in calm water or open sea conditions. Attempting to use the paddle outside of its intended environment may result in loss of control and serious injury.\n\nAccording to the manual, the paddle is specifically engineered for use in white water rapids, emphasizing the potential dangers associated with this environment. Regarding high-impact use, the manual advises extreme caution and skill to operate the paddle, with a strong emphasis on the risks involved. It is important to fully understand the risks before attempting to use the RapidFlow Kayak Paddle." }, { "MessageId": 693, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I appreciate the emphasis on the specific usage environment and the potential risks involved. I will take this into consideration when making my decision. However, I do have one more question regarding the blade design and how it contributes to performance in rapids. Can you provide more technical details on this aspect? Thank you for your assistance." } ] }, { "TicketId": 330, "ProductId": 163, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 216, "ShortSummary": "Defective night vision feature in Wildwatch Stealth Cam 500", "LongSummary": "Customer\u0027s Wildwatch Stealth Cam 500 night vision feature is defective. Has contacted customer service but not satisfied. Requesting replacement.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 695, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely frustrated with the Wildwatch Stealth Cam 500! I followed all the care instructions in the manual, but it still broke after just a few uses. The night vision feature was the main reason I purchased this camera, and now it\u0027s not working at all. I expect a refund or a replacement for this defective product." }, { "MessageId": 696, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Wildwatch Stealth Cam 500 is equipped with advanced night vision technology, allowing for clear footage even in low-light conditions. However, it is crucial to note that using the night vision feature may disturb the natural behavior of wildlife. Additionally, it is important to avoid attempting to modify the camera in any way, as this may void the product\u0027s warranty. If you are experiencing issues with the night vision feature, please ensure that you are using it in accordance with the instructions provided in the manual. If the issue persists, you may be eligible for a return or potential repair. For further assistance, please refer to the manufacturer\u0027s support contact details in the user manual. Would you like to initiate a return or repair for the camera?" }, { "MessageId": 697, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have followed all the instructions in the manual and the night vision feature still isn\u0027t working. I want a replacement for this defective product!" }, { "MessageId": 698, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It is important to ensure that the camera is handled with the utmost care at all times. The night vision feature should not disturb the natural behavior of wildlife. If the night vision is still not working, please contact Wildwatch customer service for further assistance. You can find their contact details in the user manual." }, { "MessageId": 699, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have already contacted Wildwatch customer service as suggested, but I have not received a satisfactory resolution for the defective night vision feature. I demand a replacement for this faulty product!" } ] }, { "TicketId": 331, "ProductId": 163, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 217, "ShortSummary": "Assistance with Daytime Settings and Infrared Flash", "LongSummary": "Customer needs help with camera settings for daytime and turning off the infrared flash. Manufacturer support did not have specific information. Requesting further assistance with these issues.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 700, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Need help with night vision on Stealth Cam 500." }, { "MessageId": 701, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Wildwatch Stealth Cam 500 is equipped with advanced night vision technology, allowing you to capture crystal clear images and footage even in low-light conditions. However, it is crucial to note that using the night vision feature may disturb the natural behavior of wildlife. Additionally, the infrared flash may potentially startle or agitate certain animals, leading to unsafe and unpredictable behavior. Therefore, it is strongly advised not to use the night vision feature of the camera in any wildlife observation or research setting, as it may pose a risk to the animals and the user." }, { "MessageId": 702, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Not gonna use night vision anymore, but still need help with camera settings for daytime. Also, how do I turn off the infrared flash?" }, { "MessageId": 703, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Stealth Cam 500 should be positioned in a shaded area when using it in direct sunlight to avoid damage. Additionally, it is strongly advised not to use the night vision feature in any wildlife observation or research setting, as it may pose a risk to the animals and the user. I couldn\u0027t find specific information about turning off the infrared flash in the manual. You may contact the manufacturer\u0027s support for further assistance." }, { "MessageId": 704, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still need help turning off the infrared flash. Can you check with the manufacturer for me?" }, { "MessageId": 705, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Stealth Cam 500 is designed for use within a specific temperature range. Using the camera in temperatures below -20\u00B0F (-28\u00B0C) or above 120\u00B0F (49\u00B0C) may result in damage to the camera and void the warranty. Additionally, the manual does not provide specific information about turning off the infrared flash. It is recommended to contact the manufacturer\u0027s support for further assistance with turning off the infrared flash." }, { "MessageId": 706, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried contacting the manufacturer\u0027s support but they didn\u0027t have specific information about turning off the infrared flash. Can you please help me with this?" }, { "MessageId": 707, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Stealth Cam 500 is not designed to allow the user to turn off the infrared flash. Additionally, it is recommended to position the camera in a shaded area when using it in direct sunlight to avoid damage. For daytime camera settings, you may refer to the user manual for guidance on adjusting motion detection and image/video quality. If you have any further questions, you can contact the manufacturer\u0027s support for assistance." } ] }, { "TicketId": 332, "ProductId": 113, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 218, "ShortSummary": "Backpack scratched by pet tortoise", "LongSummary": "Customer purchased backpack for hiking, but it got scratched from pet tortoise. Asked for quick cleaning solution. Needs immediate assistance with cleaning and scratch removal.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 708, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe this! I bought the Summit Pro 40L Technical Backpack for hiking, not for carrying my pet tortoise around. Now the backpack is all scratched up from his shell and I need to know how to clean it. This is ridiculous, I didn\u0027t sign up for this!" }, { "MessageId": 709, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to keep your Summit Pro 40L Technical Backpack in top condition, you should follow these simple care and maintenance guidelines for cleaning the exterior. Please refer to the user manual for detailed instructions on cleaning and maintenance." }, { "MessageId": 710, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t have time to go through the user manual for cleaning instructions! I need a quick and easy solution to clean this backpack and get rid of these scratches. This is really frustrating!" } ] }, { "TicketId": 333, "ProductId": 183, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 26, "ShortSummary": "Customer needs help assembling utensil in cookware set", "LongSummary": "Customer Samantha Reynolds loves the Trailblazer Compact Cookware Set and needs help assembling a utensil. She\u0027s excited to continue using the cookware and is asking for guidance on the assembly process. A response with detailed instructions on assembling the utensil is needed from the next support agent.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 711, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there Campchef crew! I recently got my hands on the Trailblazer Compact Cookware Set and I am absolutely loving it! The lightweight design and versatile cooking options are perfect for my camping adventures. But hey, I\u0027ve run into a little snag and I could use some help. I can\u0027t seem to figure out how to properly assemble one of the utensils in the set. Could you guide me through the process? I\u0027m really excited to continue using this amazing cookware, so any assistance would be greatly appreciated. Thanks a bunch!" } ] }, { "TicketId": 334, "ProductId": 105, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 219, "ShortSummary": "Inquiry about Solar Power Bank charging time", "LongSummary": "Inquiry regarding Power Pak Solar Power Bank 10000mAh charging time via USB and solar panel. Customer wants accurate information to address customer inquiries. Response needed on charging time details.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 712, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I hope this message finds you well. I am reaching out on behalf of our company, which stocks the Power Pak Solar Power Bank 10000mAh. We have been receiving inquiries from our customers about the charging time via USB and solar panel. Can you provide some additional information on this? We want to ensure that we are able to address our customers\u0027 queries accurately. Thank you for your assistance." } ] }, { "TicketId": 335, "ProductId": 153, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 220, "ShortSummary": "Inquiry about Mineral Concentrations in Energy Bars", "LongSummary": "Customer inquires about mineral and metal concentrations in Organic Energy Bars. Previous response lacks specifics. Further details needed from the manufacturer.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 713, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear EcoFuels Support Team, I recently purchased your Organic Energy Bars for my upcoming hiking trip, and I must say, I am impressed with the quality and variety of flavors. However, I couldn\u0027t help but wonder about the AAS analysis mentioned in your product description. Could you provide more information on the concentration of minerals and metals in the energy bars? I want to ensure that I am consuming a safe and high-quality product. Thank you for your assistance." }, { "MessageId": 714, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The EcoFuels Organic Energy Bars are carefully crafted using the finest organic ingredients to ensure high-quality nutrition and delicious flavors. The user manual emphasizes the use of certified organic ingredients and the application of methods and techniques to guarantee exceptional taste and texture. Unfortunately, the specifics of the mineral and metal concentration are not detailed in the manual. If you have further questions about this, please feel free to reach out to the manufacturer for more information." }, { "MessageId": 715, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. While I appreciate the emphasis on using certified organic ingredients, I still have concerns about the specific mineral and metal concentrations in the energy bars. I will reach out to the manufacturer for more information as suggested." } ] }, { "TicketId": 336, "ProductId": 128, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 221, "ShortSummary": "Inquiry about Spill-Proof Straw \u0026 Warranty for AquaBottle Pro", "LongSummary": "Customer inquires about spill-proof straw \u0026 warranty for AquaBottle Pro. Seeks assurance and maintenance info. Customer satisfied with response.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 716, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m considering purchasing the AquaBottle Pro from AquaNest. I\u0027m a bit embarrassed to ask, but I wanted to confirm if the straw really is spill-proof as mentioned in the description. I tend to have a habit of knocking things over, so I want to make sure I won\u0027t make a mess with this bottle. Any information or advice would be greatly appreciated. Thank you!" }, { "MessageId": 717, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The spill-proof straw on the AquaBottle Pro is designed to provide a steady flow of refreshment without any spills or mess. However, it\u0027s important to ensure that the straw is not blocked by any debris or dirt and to clean it thoroughly if necessary. As for the warranty, AquaNest offers a limited warranty to ensure your peace of mind. If you believe your AquaBottle Pro is experiencing issues covered by the warranty, please contact their customer service team at support@aquanest.com. Provide your proof of purchase and a detailed description of the issue, and they will be happy to assist you." }, { "MessageId": 718, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information! I will make sure to keep the straw clean and clear of any debris. I appreciate the reminder about the warranty as well. I feel much more confident about purchasing the AquaBottle Pro now. Thank you for your help!" } ] }, { "TicketId": 337, "ProductId": 55, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 222, "ShortSummary": "Excited customer wants waypoint marking details", "LongSummary": "Customer is excited about the Adventurer 2000 GPS Navigator, asked about marking waypoints. Assistant provided detailed instructions. Next agent should confirm if customer is satisfied with response.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 719, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, Exploremate crew! \uD83C\uDF1F Just stumbled upon your Adventurer 2000 GPS Navigator and I\u0027m totally stoked about it! I\u0027m planning some serious off-road adventures and this bad boy seems like the perfect companion. Quick question - I\u0027m a huge fan of marking waypoints along the trail to revisit later. Will I be able to do that easily with the Adventurer 2000? Can\u0027t wait to hear back from you and hopefully join the Exploremate family! \uD83C\uDF04\u2728" }, { "MessageId": 720, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "You\u0027ll be thrilled to know that marking waypoints is a breeze with the Adventurer 2000 GPS Navigator! To mark a waypoint, simply tap the \u0022Mark\u0022 button on the map screen and select \u0022Save Waypoint.\u0022 You can even give your waypoint a custom name and icon for easy identification. If you encounter any issues with marking waypoints, you can check the memory capacity of the device in the Settings menu under \u0022Storage.\u0022 Happy adventuring!" } ] }, { "TicketId": 338, "ProductId": 191, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 223, "ShortSummary": "Difficulty putting batteries in Luminex 5000 Lantern", "LongSummary": "Customer frustrated with difficulty of putting batteries in Luminex 5000 Lantern. Demands simpler solution from Flash Bright immediately. Pending question: what specific assistance does customer need?", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 721, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely frustrated with the Luminex 5000 Lantern! I cannot figure out how to put the batteries in, and I shouldn\u0027t have to waste my time on it. This product is supposed to make my camping experience easier, not more difficult. I demand a solution to this problem immediately, or else I will be asking for a replacement. I expect better from Flash Bright!" }, { "MessageId": 722, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I found the information you need in the user manual. According to the manual, the Luminex 5000 Lantern is equipped with multiple brightness settings and can be adjusted using the brightness control dial. I hope this helps!" }, { "MessageId": 723, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I shouldn\u0027t have to waste my time reading a manual just to put batteries in a stupid lantern! I demand a simpler solution from Flash Bright immediately!" } ] }, { "TicketId": 339, "ProductId": 186, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 224, "ShortSummary": "Avalanche Pro 3000 probe troubleshooting", "LongSummary": "Customer has trouble with Avalanche Pro 3000 probe despite troubleshooting. Needs further assistance to resolve the issue. Pending question on next steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 724, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear PowderPeak Customer Service, My name is Alexis Bennett, and I recently purchased the Avalanche Pro 3000 from your brand. I was very excited to have a high-tech snow gear that includes a built-in beacon, shovel, and probe for quick and efficient rescue operations. However, after attempting to use the probe, I found that it doesn\u0027t work at all. I have not yet read the manual, but I wanted to reach out to you for help with this issue. I would greatly appreciate any information or assistance you can provide to ensure the optimal performance of this product. Thank you for your attention to this matter. Sincerely, Alexis Bennett" }, { "MessageId": 725, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Alexis Bennett, Thank you for reaching out to us. We appreciate your enthusiasm for the Avalanche Pro 3000. To troubleshoot the probe issue, please ensure that the probe is inspected for any damage, and avoid exposing it to extreme heat or cold. When using the probe, it should be pushed vertically into the snow to full depth. After the rescue operation, collapse the probe by unscrewing the bottom section and carefully folding each section back together. If there is any damage, please contact PowderPeak customer service for assistance. Regarding your inquiry about returns, please visit https://northernmountains.example.com/support/returns for information on initiating a return. We hope this information helps you. Sincerely, AdventureWorks Support" }, { "MessageId": 726, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, Thank you for your prompt response and the troubleshooting tips. I have carefully inspected the probe for any damage, and it appears to be in good condition. I also made sure to follow your instructions on using and collapsing the probe. Unfortunately, the probe still does not seem to work. I would appreciate further assistance in resolving this issue. Thank you for your attention to this matter. Sincerely, Alexis Bennett" } ] }, { "TicketId": 340, "ProductId": 138, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 226, "ShortSummary": "Ultimate Survival Kit 3000 Tent Setup Assistance", "LongSummary": "Customer purchased Ultimate Survival Kit 3000 and needs guidance on setting up the tent. Assistant provided general guidance, awaiting customer response for further assistance.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 729, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Ultimate Survival Kit 3000 from your store, and I\u0027ve been having some trouble setting up the tent. I feel like I might be doing something wrong and it\u0027s quite embarrassing to admit. Can you provide me with some guidance on how to properly set up the tent? Any help would be greatly appreciated. Thank you." }, { "MessageId": 730, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi there! AdventureWorks Support here. According to the manual, the Ultimate Survival Kit 3000 is designed to provide peace of mind during outdoor activities and comes packed with essential tools and gear for outdoor survival. I\u0027m sorry, but I couldn\u0027t find specific instructions for setting up the tent in the manual. However, I can provide you with some general guidance on tent setup if that would be helpful." }, { "MessageId": 731, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, thank you for getting back to me. I really appreciate your willingness to help. Could you please provide me with some general guidance on setting up the tent? I definitely need all the help I can get. Thank you so much!" } ] }, { "TicketId": 341, "ProductId": 182, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 227, "ShortSummary": "Retailer inquiries about bulk orders and product updates", "LongSummary": "Retailer inquires about bulk orders, discounts, and product updates. Sales team contacted. Manual does not provide specific info. Customer awaiting response.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 732, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, as a retailer who stocks the Summit Pro Climbing Harness by Climb Safe, I am very impressed with the technical specifications and long-term storage guidelines provided in the manual. The adjustable leg loops and durable construction make it a top choice for experienced climbers, and the detailed instructions for fold and store, avoiding compression, and long-term storage demonstrate the superior quality of this product. I would like to inquire about the availability of bulk orders and any special discounts for retailers. Additionally, if there are any updates or new versions of the Summit Pro Climbing Harness, I would appreciate information regarding those as well. Thank you for your time and assistance." }, { "MessageId": 733, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "AdventureWorks Support appreciates your interest in bulk orders. Please contact our sales team at sales@example.com for information about bulk orders and any special discounts for retailers. As for updates or new versions of the Summit Pro Climbing Harness, the manual does not provide any specific information. If you have any other questions or need further assistance, feel free to ask. Thank you!" }, { "MessageId": 734, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information regarding bulk orders and discounts. I have reached out to your sales team at sales@example.com and am awaiting their response. As for the updates or new versions of the Summit Pro Climbing Harness, I understand that the manual does not provide specific information. If there are any future developments or updates, I would greatly appreciate being informed. Thank you for your assistance." }, { "MessageId": 735, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Summit Pro Climbing Harness is designed for experienced climbers who require maximum safety and comfort. It is recommended to perform a visual inspection of all components and to contact Climb Safe customer support for assistance if needed. If there are any updates or new versions of the product, the manual does not provide specific information. If you have any other questions or need further assistance, feel free to ask. Thank you!" }, { "MessageId": 736, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. I have contacted the sales team regarding bulk orders and discounts, and I have also performed a visual inspection of the Summit Pro Climbing Harness as recommended in the manual. I will keep an eye out for any future updates or new versions of the product. Thank you for your assistance." } ] }, { "TicketId": 342, "ProductId": 156, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 228, "ShortSummary": "Customer discomfort with crampons fit", "LongSummary": "Customer experiencing discomfort while wearing Arctic Ice Grip Crampons despite following fit and break-in instructions. No signs of damage or wear found. Next support agent should assess if further adjustments or replacement are needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 737, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Arctic Ice Grip Crampons from Glacierpro and I\u0027ve noticed a slight discomfort while wearing them. I followed the instructions for fitting and break-in period, but I\u0027m still experiencing some rubbing against my boots. I\u0027m wondering if there are any additional tips or adjustments that can be made to alleviate this issue. Any advice would be greatly appreciated. Thank you." }, { "MessageId": 738, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, thank you for reaching out to us. To alleviate the rubbing against your boots, I recommend double-checking the fit of the crampons on your boots. Adjust the straps as needed to ensure they are secure but not overly tight. Additionally, you can wear them for short periods in non-icy conditions to help them adjust to the shape of your boots. If you notice any signs of damage or wear, please inspect the crampons and contact Glacierpro for further assistance. If you have any other questions or concerns, feel free to ask. We\u0027re here to help!" }, { "MessageId": 739, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the tips. I\u0027ve adjusted the straps and worn the crampons for short periods in non-icy conditions as suggested. Unfortunately, I\u0027m still experiencing rubbing against my boots. I will inspect the crampons for any signs of damage or wear and reach out to Glacierpro for further assistance. Thank you for your help." }, { "MessageId": 740, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for adjusting the fit of your Arctic Ice Grip Crampons. It\u0027s important to inspect the crampons for any signs of damage or wear, as stated in the user manual. If you notice any issues, please contact Glacierpro for further assistance. If you have any other questions or concerns, feel free to ask. We\u0027re here to help!" }, { "MessageId": 741, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have inspected the crampons for signs of damage or wear, and I have not found any issues. I will be reaching out to Glacierpro for further assistance. Thank you." }, { "MessageId": 742, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, I\u0027m glad to hear that you\u0027ve inspected the crampons and haven\u0027t found any issues. If you\u0027re experiencing discomfort while wearing the Arctic Ice Grip Crampons, I recommend reaching out to Glacierpro directly for further assistance. You can contact them at support@glacierpro.com. If you have any other questions or concerns, feel free to ask. We\u0027re here to help!" } ] }, { "TicketId": 343, "ProductId": 49, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 149, "ShortSummary": "Inquiring about Summit Hiking Boots waterproof and traction.", "LongSummary": "Customer interested in Summit Hiking Boots waterproof protection and ultimate traction for tough terrain. Provided detailed information on waterproofing and maintenance. No pending question.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 743, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m interested in the Summit Hiking Boots by TrekMaven. Can you tell me more about the waterproof protection and ultimate traction? I want to make sure they\u0027re suitable for tough terrain. Thanks!" }, { "MessageId": 744, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Summit Hiking Boots by TrekMaven offer excellent waterproof protection to keep your feet dry and comfortable, even in tough terrain. They are designed with waterproof and breathable materials to prevent moisture from getting in while still allowing sweat to escape. Additionally, you can use a waterproofing treatment specifically designed for these boots to maintain their waterproof capabilities and overall durability. According to the user manual, the boots should be stored in a cool, dry place away from direct sunlight and stuffed with newspaper to help maintain their shape and absorb any moisture. If you have any more questions or need further assistance, feel free to ask!" }, { "MessageId": 745, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information! I appreciate your help." } ] }, { "TicketId": 344, "ProductId": 144, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 229, "ShortSummary": "ProLite Climbing Harness gear loops issue", "LongSummary": "Customer Aiden Smith is having issues with gear loops on ProLite Climbing Harness. Tried securing gear again, still not working. Needs further assistance troubleshooting the issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 746, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, the gear loops on my ProLite Climbing Harness are not holding my equipment securely. Can you help me figure out what\u0027s going on? Thanks!" }, { "MessageId": 747, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The ProLite Climbing Harness features gear loops for convenient storage of climbing equipment. To secure your gear, simply attach them to the gear loops using the designated clips or loops. Make sure that the gear is properly attached and will not interfere with your movement during the climb. If you have further questions or need assistance, feel free to reach out to us. AdventureWorks Support" }, { "MessageId": 748, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried securing gear again, still not working. What next?" } ] }, { "TicketId": 345, "ProductId": 97, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Cleaning and Lubricating Inquiry", "LongSummary": "Customer needs guidance on cleaning and lubricating Wanderer Multi-Tool Keychain. No specific details provided. Next agent should provide step-by-step instructions on cleaning and lubricating the tool for customer\u0027s adventures.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 749, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Wanderer Multi-Tool Keychain from NomadGear and I\u0027m having trouble figuring out how to properly clean and maintain it. I want to make sure I keep it in top-notch condition for all my adventures. Can you provide some guidance on the best way to clean and lubricate the tool? Thank you so much for your help!" } ] }, { "TicketId": 346, "ProductId": 50, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 230, "ShortSummary": "Hydration system cleaning query", "LongSummary": "Customer concerned about cleaning instructions, seeking alternative solutions. Pending response on specific cleaning solutions suited to product materials.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 750, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Thirsttrek HydroPack Hydration System and I have a concern about the cleaning and maintenance instructions provided. I\u0027m aware of the importance of regularly cleaning the reservoir and hose to ensure optimal performance and hygiene, but I believe the instructions may not be sufficient. I have extensive knowledge about the impact of different cleaning agents on hydration system materials and would like to discuss the potential use of alternative cleaning solutions that may better suit the materials used in this specific product. I\u0027d appreciate any additional information or guidance you can provide on this matter. Thank you." }, { "MessageId": 751, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, it is important to clean your Thirsttrek HydroPack Hydration System regularly to ensure the drinking valve and hose are free from debris and bacteria. Please refer to the \u0027Cleaning and Maintenance\u0027 section in the user manual for detailed instructions on how to properly clean and maintain your hydration system." } ] }, { "TicketId": 347, "ProductId": 139, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 231, "ShortSummary": "SmartCyclo GPS Bike Computer Navigation Inquiry", "LongSummary": "Customer interested in SmartCyclo GPS Bike Computer navigation features. Requesting more info. Pending response on specific navigation features and functionalities.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 752, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I\u0027m interested in the SmartCyclo GPS Bike Computer. Can you tell me more about the navigation features? Thanks." } ] }, { "TicketId": 348, "ProductId": 123, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 232, "ShortSummary": "SolarCopy 3000 malfunction", "LongSummary": "Customer demands solution for SolarCopy 3000 not working properly, wants immediate resolution. Assistant recommends advanced diagnostic tests and environmental monitoring per product manual.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 753, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand to know why my SolarCopy 3000 is not working properly! I spent a lot of money on this product and I expect it to perform as described. I haven\u0027t even had it for long and it\u0027s already acting up. I want a solution to this problem immediately!" }, { "MessageId": 754, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the product manual, I recommend performing advanced diagnostic tests and monitoring the environmental conditions, such as temperature, humidity, and sunlight levels, as per the Nature\u0027s Photocopier SolarCopy 3000 industry standard IS3000. If abnormalities are found, please contact Nature\u0027s Photocopier technical support for further guidance and potential servicing of the SolarCopy 3000." } ] }, { "TicketId": 349, "ProductId": 51, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 233, "ShortSummary": "Inquiry about Survival Pro Multi-Tool versatility", "LongSummary": "Customer inquiring about versatility of Survival Pro Multi-Tool. Wants insight on its ability to handle outdoor emergency situations. Response with details on tool\u0027s capabilities needed.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 755, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I\u0027m looking at the Survival Pro Multi-Tool from Resilience Gear and I\u0027m wondering if it\u0027s truly as versatile as it claims to be. I mean, with a knife, saw, and fire starter, it sounds like the ultimate survival tool! Can it really handle all those outdoor emergency situations? Any insight would be super helpful. Thanks!" } ] }, { "TicketId": 350, "ProductId": 34, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 32, "ShortSummary": "Trouble with powering on WildView HD Trail Camera", "LongSummary": "Customer Evelyn Chang is having trouble powering on the WildView HD Trail Camera. She has checked the batteries and setup process but still needs advice on what might be wrong. Next support agent should provide troubleshooting steps and ask if the camera has any LED indicators for power status.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 761, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the WildView HD Trail Camera and I\u0027m having trouble getting it to power on. I\u0027ve checked the batteries and they seem to be inserted correctly, but still no luck. I\u0027m worried I might have missed something simple in the setup process. Any advice on what I might be doing wrong? Thanks for your help." } ] }, { "TicketId": 351, "ProductId": 128, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 190, "ShortSummary": "Inquiry about using AquaBottle Pro for hot soup", "LongSummary": "Customer inquired about using AquaBottle Pro for hot soup, and was informed it\u0027s meant for cold beverages only. No pending questions. Next agent should ensure customer is satisfied with the response.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 762, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AquaBottle Pro from AquaNest and I\u0027m considering using it to store hot soup for my lunch. I think the insulated feature will keep it warm, and it\u0027s so convenient to carry in my backpack. I just wanted to make sure this is a suitable use for the bottle, and if there are any special instructions for using it with hot liquids. Thank you for your help!" }, { "MessageId": 763, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The AquaBottle Pro is designed to keep beverages cold and is not intended for hot liquids. It is best used for cold water, sports drinks, or other chilled beverages. If you have any other questions or need further assistance, feel free to ask!" }, { "MessageId": 764, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I appreciate your help. I will stick to using the AquaBottle Pro for cold beverages as intended. If I have any other questions in the future, I will be sure to reach out. Have a great day!" } ] }, { "TicketId": 352, "ProductId": 50, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 235, "ShortSummary": "Inquiry about Thirsttrek Hydration System functionality", "LongSummary": "Customer inquired about Thirsttrek HydroPack Hydration System\u0027s functionality and maintenance. Assistant provided details and cleaning instructions. Customer expressed satisfaction and excitement for upcoming adventure.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 765, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Just wanted to double-check that the Thirsttrek HydroPack Hydration System is as awesome as it sounds. I\u0027m super excited to take it on my next hiking trip and want to make sure it\u0027s going to keep me hydrated for the long haul. Can you reassure me that this baby is going to work like a charm? Thanks a bunch!" }, { "MessageId": 766, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Thirsttrek HydroPack Hydration System is a high-capacity hydration system designed to keep you hydrated during long outdoor activities. The system features a 3L water reservoir, allowing for hands-free drinking and easy refill, ensuring long-lasting hydration during your adventures. Additionally, it is important to clean the system regularly to ensure the drinking valve and hose are free from debris and bacteria. Refer to the \u0022Cleaning and Maintenance\u0022 section in the user manual for detailed instructions on how to properly clean and maintain your hydration system." }, { "MessageId": 767, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the info! I\u0027m glad to hear that the Thirsttrek HydroPack Hydration System is up for the challenge. I\u0027ll definitely make sure to keep it clean as per the instructions in the user manual. Can\u0027t wait to take it out on my next adventure! You\u0027ve been super helpful, I really appreciate it!" } ] }, { "TicketId": 353, "ProductId": 149, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Flow Rate Calibration Query for AquaFlow Pro", "LongSummary": "Customer Evelyn Park inquired about the necessity of flow rate calibration for regular use of AquaFlow Pro. After receiving confirmation, customer performed calibration and product is now performing as specified. Next agent should confirm if any further assistance is needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 768, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AquaFlow Pro hydration system from Thirsttrek and have been enjoying using it on my outdoor adventures. I just wanted to double-check if the flow rate calibration process described in the manual is necessary for regular use, or if the product is expected to perform as specified out of the box. I want to ensure that I am getting the best performance from the product. Your assistance and guidance would be greatly appreciated. Thank you." }, { "MessageId": 769, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the AquaFlow Pro\u0027s easy-flow bite valve requires flow rate calibration before each use to ensure optimal performance." }, { "MessageId": 770, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I have performed the flow rate calibration as per the manual, and the product is indeed performing as specified. I appreciate your prompt assistance." } ] }, { "TicketId": 354, "ProductId": 189, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 236, "ShortSummary": "Survivor Kit 2000 Multi-Tool Assistance", "LongSummary": "Customer needs help with using the multi-tool in Survivor Kit 2000. Customer has read the manual but is still confused. Walk through on using multi-tool needed.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 771, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, Rescue Mate team! I recently purchased the Survivor Kit 2000 and I am so excited to take it on my next outdoor adventure. But I\u0027m having a little trouble figuring out how to use the multi-tool properly. I\u0027ve read the manual, but I\u0027m still a bit confused. Can you walk me through it? Thanks a bunch!" } ] }, { "TicketId": 355, "ProductId": 109, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 237, "ShortSummary": "Inquiry about XtremeGear 5000 Mountain Biking Kit details", "LongSummary": "Customer inquired about technical details and warranty process for XtremeGear 5000 Mountain Biking Kit. Assistant provided information on protective gear and warranty claim process. Customer acknowledged the information and expressed readiness to contact for further inquiries.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 772, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello TrailTech team, I am considering purchasing the XtremeGear 5000 Mountain Biking Kit and I have some technical questions regarding its suitability for my biking needs. Specifically, I would like to know more about the advanced protective gear mentioned in the product description. Can you provide detailed information about the materials used, impact resistance, and overall durability of the protective gear? Additionally, I am interested in understanding the warranty claim process, especially regarding the resolution of warranty claims and the possibility of repair or replacement. Please note that I am well-versed in technical specifications and would appreciate detailed and accurate information to make an informed decision. Thank you for your assistance." }, { "MessageId": 773, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The XtremeGear 5000 Mountain Biking Kit includes top-tier protective gear, such as a durable TrailTech-branded helmet with adjustable straps and comfortable padding, as well as elbow and knee pads designed for extreme mountain biking. The kit is covered by a limited warranty for a period of 1 year from the date of purchase. To make a warranty claim, please contact our customer service team at 1-800-TrailTech or email us at support@trailtech.com. You will need to provide proof of purchase and a detailed description of the issue." }, { "MessageId": 774, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. I appreciate the details on the protective gear included in the XtremeGear 5000 Mountain Biking Kit. I will make sure to keep the proof of purchase and contact details handy in case I need to make a warranty claim. I will reach out if I have any further technical inquiries. Thank you for your assistance." } ] }, { "TicketId": 356, "ProductId": 132, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 238, "ShortSummary": "Performance concerns for AnglerPro 5000 fishing rod", "LongSummary": "Customer Derek Hughes reported issues with AnglerPro 5000\u0027s casting precision and durability despite meticulous maintenance. Seeks reassurance and advice on addressing issues. Prompt attention requested.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 775, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AnglerPro 5000 fishing rod from Fish Tech and I have some concerns about its performance. I am an experienced angler and have always been meticulous about the maintenance of my fishing equipment. However, despite following all the proper storage guidelines outlined in the manual, I have noticed some issues with the rod\u0027s casting precision and overall durability. I was attracted to this product specifically for its expertly crafted design and comfortable grip for all-day use, but I am not experiencing the expected performance. I would appreciate some reassurance that the product is behaving as expected and any advice on how to address these issues. Your prompt attention to this matter is greatly appreciated. Thank you." } ] }, { "TicketId": 357, "ProductId": 12, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Inquiry about TrailGPS 5000 maintenance and diagnostics", "LongSummary": "Customer inquires about maintenance and diagnostics for TrailGPS 5000 to share with their customers. Assistant replies with details about the importance of regular maintenance, pre-use diagnostics, and troubleshooting procedures from the user manual. Pending the response from the customer on whether the information provided is sufficient.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 776, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am a retailer who stocks TrailTech\u0027s TrailGPS 5000. We have had a few customers inquire about the maintenance and diagnostics procedures for the device. Could you provide us with some detailed information that we can share with our customers? We want to ensure that they have the best experience with the product and understand how to maintain and troubleshoot any potential issues. Thank you for your assistance." }, { "MessageId": 777, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the TrailGPS 5000 User Manual, regular maintenance is crucial for optimal performance and longevity. Diagnostics should be performed using specialized equipment before and after each use to ensure accurate readings and safety. Additionally, it is advised to follow the pre-use diagnostics outlined in the manual. For troubleshooting procedures and warranty details, please refer to the User Manual." } ] }, { "TicketId": 358, "ProductId": 77, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 239, "ShortSummary": "Troubleshooting Power Button Issue", "LongSummary": "Customer had trouble with Solar Charger 3000X power button. Assistant advised on charging procedure. Customer successfully resolved issue by fully charging with USB cable. No further support needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 778, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Solar Charger 3000X from Ecovolt and I\u0027m having some trouble with it. I\u0027m not sure if I\u0027m doing something wrong, but the power button doesn\u0027t seem to be working properly. I\u0027ve tried putting it in direct sunlight and also checked the battery level, but it\u0027s still not responding. I feel like I must be missing something obvious. Can you please help me troubleshoot this? I really want to make sure I can rely on this charger during my outdoor adventures. Thanks so much for your assistance!" }, { "MessageId": 779, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It\u0027s important to make sure that the Solar Charger 3000X is in direct sunlight when using the power button. Also, be sure to fully charge the charger using the included USB cable before use. If you continue to experience issues, please refer to the troubleshooting section of the manual or contact our customer support team for further assistance." }, { "MessageId": 780, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I feel so silly! I didn\u0027t realize the charger needed to be fully charged using the USB cable before using the power button. I tried that and it worked perfectly! Thank you so much for your help, I really appreciate it!" } ] }, { "TicketId": 359, "ProductId": 22, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 240, "ShortSummary": "Summit 45L backpack hipbelt pockets issue", "LongSummary": "Customer is frustrated with hipbelt pockets not fitting phone and GPS. Customer demands refund or replacement. Agent provided information on alternative storage and return policy.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 781, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely furious with the design of the hipbelt pockets on the Summit 45L backpack! It\u0027s impossible to fit my phone and GPS device in there without them getting squished. I can\u0027t believe I spent so much money on a backpack that can\u0027t even hold basic essentials properly. I demand a refund or a replacement immediately. This is unacceptable!" }, { "MessageId": 782, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the product manual, the hipbelt pockets on the Summit 45L backpack are designed for quick access to items during outdoor adventures and are made of stretchy, durable fabric. They are not intended for holding larger items like phones or GPS devices. For additional storage, the backpack features internal organization options such as a hydration sleeve, zippered pockets, and gear loops. We recommend using these internal pockets for your phone and GPS device." }, { "MessageId": 783, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care what the product manual says! I bought this backpack specifically for the hipbelt pockets to hold my phone and GPS device. It\u0027s ridiculous that I have to use other pockets for them when the hipbelt pockets should be able to accommodate these items. I demand a refund or a replacement immediately!" }, { "MessageId": 784, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand your frustration with the hipbelt pockets. The Summit 45L backpack is designed to accommodate larger gear items in the main compartment, and the side pockets are meant for quick access to smaller items during outdoor adventures. The manufacturer recommends using the internal organization options, such as the hydration sleeve, zippered pockets, and gear loops, for additional storage. Additionally, the return policy for unused products allows returns within 30 days. If you would like to initiate a return, you can do so at https://northernmountains.example.com/support/returns. If you have any further questions or need assistance with the return process, please let us know." }, { "MessageId": 785, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is ridiculous! I bought this backpack specifically for the hipbelt pockets to hold my phone and GPS device. I shouldn\u0027t have to use other pockets for them when the hipbelt pockets should be able to accommodate these items. I demand a refund or a replacement immediately!" }, { "MessageId": 786, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand your frustration with the hipbelt pockets. The Summit 45L backpack is designed to accommodate larger gear items in the main compartment, and the side pockets are meant for quick access to smaller items during outdoor adventures. The manufacturer recommends using the internal organization options, such as the hydration sleeve, zippered pockets, and gear loops, for additional storage. According to the product manual, the side pockets and the main compartment are the appropriate areas for different storage needs. As per our return policy, unused products can be returned within 30 days. If you would like to initiate a return, you can do so at https://northernmountains.example.com/support/returns. If you have any further questions or need assistance with the return process, please let us know." } ] }, { "TicketId": 360, "ProductId": 4, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 242, "ShortSummary": "Missing items from survival kit, demanding replacement", "LongSummary": "Customer has missing items from emergency survival kit and demands replacement without hassle. Customer satisfaction is low. Next support agent should provide a convenient solution for replacing missing items.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 789, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe this so-called \u0027survival kit\u0027 doesn\u0027t even include a proper emergency shelter. What kind of survival kit is this if it can\u0027t even keep me safe and dry in the wilderness? I demand answers and a solution to this blatant oversight!" }, { "MessageId": 790, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the emergency survival kit includes an emergency tent and blanket designed to provide temporary shelter and protection from the elements. It is important to prioritize safety and find a suitable location for setting up the tent. If there are any issues with the tent, they should be addressed promptly to ensure its integrity. As for the return policy and manufacturer contact details, the manual does not provide specific information about these. You may consider reaching out to the manufacturer directly for further assistance." }, { "MessageId": 791, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already checked the manual and I do see that it mentions the emergency tent and blanket, but they were missing from the kit I received. I need to know how to get these missing items replaced or if there is a way to expedite the process. This is unacceptable and I expect a swift resolution." }, { "MessageId": 792, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand your frustration and the urgency of the situation. It seems that the manual does not provide specific information about the replacement process for missing items. Since the manual does not contain manufacturer contact details or return policy specifics, I recommend reaching out to the manufacturer directly for assistance with expedited replacement of the missing items. I apologize for any inconvenience this may have caused. If you need further assistance, please feel free to ask." }, { "MessageId": 793, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I shouldn\u0027t have to go through the hassle of reaching out to the manufacturer for missing items. This is your responsibility as the seller. I demand a replacement for the missing items to be sent to me immediately!" }, { "MessageId": 794, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience. According to the manual, there is no specific information provided about the replacement process for missing items. However, you can initiate a return for the entire kit and we will expedite the process for you. Please visit https://northernmountains.example.com/support/returns to start the return process. Once the return is initiated, we will ensure that the missing items are sent to you or provide a refund if you prefer. We apologize for any inconvenience this may have caused." }, { "MessageId": 795, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is ridiculous! I shouldn\u0027t have to go through the hassle of returning the entire kit just to get the missing items replaced. I demand a more convenient solution to this problem!" }, { "MessageId": 796, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the inconvenience. According to the manual, there is no specific information provided about the replacement process for missing items. As an alternative, you may consider initiating a return for the entire kit and we will expedite the process for you. Please visit [https://northernmountains.example.com/support/returns](https://northernmountains.example.com/support/returns) to start the return process. Once the return is initiated, we will ensure that the missing items are sent to you or provide a refund if you prefer. We apologize for any inconvenience this may have caused." }, { "MessageId": 797, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is absolutely unacceptable! I demand a proper resolution to this issue without having to go through the hassle of returning the entire kit. I expect the missing items to be sent to me immediately without any further delay." } ] }, { "TicketId": 361, "ProductId": 135, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 243, "ShortSummary": "Night Vision Setup Issue", "LongSummary": "Customer frustrated with setting up night vision on WideView 360 trail camera. Manual not helpful. Requests step-by-step phone assistance or refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 798, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this WideView 360 trail camera! I can\u0027t figure out how to set up the night vision feature. The manual is no help at all. I spent good money on this and I expect it to work properly. I need someone to explain to me step by step how to make this work, or else I want a refund!" }, { "MessageId": 799, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The WideView 360 trail camera is equipped with advanced night vision technology, ensuring clear and detailed images even in low-light or nighttime conditions. The night vision features of the camera are in line with the technical specifications provided in the manual. If you require further assistance with setting up the night vision feature, please refer to the \u0027Installation and Setup\u0027 section of the user manual." }, { "MessageId": 800, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already tried following the \u0027Installation and Setup\u0027 section of the user manual, but it still doesn\u0027t work! This is so frustrating! I need someone to walk me through this step by step over the phone or I want a refund!" } ] }, { "TicketId": 362, "ProductId": 92, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 244, "ShortSummary": "Taste and Pump Issues with AquaPure Water Filter", "LongSummary": "Customer experiencing taste and pump issues with AquaPure Portable Water Filter, dissatisfied with customer service. Requesting replacement or refund. Needs further assistance or resolution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 801, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe I\u0027m having so much trouble with this AquaPure Portable Water Filter. I tried flushing the filter cartridge like the manual said, but the weird taste in the water is still there. And don\u0027t even get me started on the pump malfunction! I followed all the troubleshooting steps but it\u0027s still not working properly. This is ridiculous. I demand a replacement or a refund. And don\u0027t tell me to contact customer support, I\u0027ve already tried everything in the manual!" }, { "MessageId": 802, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, if you encounter any issues with your AquaPure Portable Water Filter during the warranty period, you\u0027re urged to reach out to the dedicated customer service team immediately. This may be the best course of action to address the issues you\u0027re facing with the water filter. You can find the contact details for customer service in the user manual as well." }, { "MessageId": 803, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already tried contacting customer service as you suggested, but they were not helpful at all. They just gave me the runaround and didn\u0027t offer any real solutions. This is ridiculous! I demand a replacement or a refund immediately." }, { "MessageId": 804, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience you\u0027ve experienced with the AquaPure Portable Water Filter. According to the manual, if you encounter any issues with your AquaPure Portable Water Filter during the warranty period, you\u0027re urged to reach out to the dedicated customer service team immediately. This may be the best course of action to address the issues you\u0027re facing with the water filter. You can find the contact details for customer service in the user manual as well. If you have already contacted customer service and did not receive the assistance you needed, we recommend reaching out to them again and informing them about the troubleshooting steps you\u0027ve taken, and request for a replacement or refund if necessary." } ] }, { "TicketId": 363, "ProductId": 159, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 245, "ShortSummary": "Rugged Solar Power Bank not charging", "LongSummary": "Customer\u0027s Rugged Solar Power Bank not charging despite troubleshooting steps and trying different power sources. Customer wants to explore warranty and repair options.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 805, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Power bank not charging my device, need help" }, { "MessageId": 806, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "If your Rugged Solar Power Bank is not charging, please follow these troubleshooting steps:\n1. Check Solar Panel Placement: Ensure that the solar panels are facing direct sunlight and there are no obstructions blocking the panels.\n2. Verify Connection: Make sure that the charging cable is securely connected to the power bank and the charging source.\n3. Inspect Cables: Check the charging cable for any damage or fraying. Replace the cable if it is damaged.\n4. Change Charging Source: If you are using a solar charger, try charging the power bank using a traditional power source to see if the issue persists. According to the manual, these troubleshooting steps should help resolve the issue." }, { "MessageId": 807, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried all the steps, still not charging" }, { "MessageId": 808, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It seems that the power bank may need to be charged from a different power source before attempting to use the solar charging feature. The manual suggests, \u0022If the power bank has a low battery level, it may not be able to charge. Use a different power source to charge the power bank before using solar charging.\u0022 If you have not already done so, please try charging the power bank using a traditional power source and then attempt to use the solar charging feature again. If the issue persists, please let us know." }, { "MessageId": 809, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried traditional power source, still not working" }, { "MessageId": 810, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear that you\u0027re still experiencing issues with the Rugged Solar Power Bank. According to the manual, if the power bank is not charging, you should ensure that the solar panels are facing direct sunlight and there are no obstructions blocking the panels. Additionally, it\u0027s recommended to store the power bank in a cool, dry place when not in use to prevent damage from extreme temperatures and moisture. If you\u0027ve already tried these steps, please let us know if you would like to initiate a return or explore warranty and repair options." }, { "MessageId": 811, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I want to explore warranty and repair options" }, { "MessageId": 812, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry, but there is no specific information about warranty and repair options or defective product return policy in the user manual. To explore warranty and repair options, I recommend contacting the manufacturer\u0027s support team directly. You can find their contact details in the user manual under the support section. If you need further assistance, please let us know." }, { "MessageId": 813, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Contacted manufacturer\u0027s support team, waiting for response" } ] }, { "TicketId": 364, "ProductId": 70, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 246, "ShortSummary": "Inquiry about Solar Panel Charging Time", "LongSummary": "Customer inquired about the solar panel charging time. Assistant provided details and confirmed lack of specific charging time. Customer will test solar panel and reach out with further questions if needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 814, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the Juice Junkie Solar Power Bank 10000mAh and I have a specific technical question regarding its solar panel capability. Can you please provide me with information on how long it takes to fully charge the power bank using the built-in solar panel? Thank you." }, { "MessageId": 815, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the solar input current for the Juice Junkie Solar Power Bank 10000mAh is 200mA, providing an alternative charging method for outdoor use. It is recommended to ensure a well-lit testing environment to allow for solar panel exposure. The panel features a protective tempered glass cover for durability and long-lasting performance. Unfortunately, the manual does not specify the exact time it takes to fully charge the power bank using the built-in solar panel." }, { "MessageId": 816, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I understand that the manual does not specify the exact time it takes to fully charge the power bank using the built-in solar panel. I will proceed with testing the solar panel in a well-lit environment and will reach out if I have any further questions. Thank you for your assistance." }, { "MessageId": 817, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The solar input voltage is 5V and the solar input current is 200mA, providing an alternative charging method for outdoor use. Ensure that the testing environment is well-lit to allow for solar panel exposure. The information in the manual does not specify the exact time it takes to fully charge the power bank using the built-in solar panel. If you have any further questions, feel free to reach out. Thank you for choosing AdventureWorks!" } ] }, { "TicketId": 365, "ProductId": 50, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 247, "ShortSummary": "Functionality issues with Thirsttrek HydroPack", "LongSummary": "Customer Evelyn Chambers is experiencing functionality issues with the Thirsttrek HydroPack. Despite following manual instructions precisely, she is unable to use it. She has knowledge of hydration systems, so the issue is not due to user error. She would appreciate troubleshooting assistance or potential solutions.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 818, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Thirsttrek HydroPack Hydration System and have encountered some issues with its functionality. Despite following the manual instructions precisely, I am unable to get the system to work at all. I have attempted to attach the HydroPack to my body and drink from it while on the move, but to no avail. I have also tried refilling the reservoir and cleaning the system as per the manual\u0027s guidelines, but still no success. I am extremely knowledgeable about hydration systems and have used similar products in the past without any trouble, so I am confident that the issue is not due to user error. I would greatly appreciate any assistance in troubleshooting this problem or any insights into potential solutions. Thank you." } ] }, { "TicketId": 366, "ProductId": 149, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 248, "ShortSummary": "Product Suitability for Outdoor Use", "LongSummary": "Customer Evelyn Tan inquires about AquaFlow Pro\u0027s suitability for rugged terrain and outdoor conditions. Await response from support regarding product specifications.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 819, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I recently purchased the AquaFlow Pro hydration system from Thirsttrek and I\u0027m wondering about its suitability for outdoor activities. Can it withstand rugged terrain and outdoor conditions? Any information would be helpful. Thanks!" } ] }, { "TicketId": 367, "ProductId": 126, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 143, "ShortSummary": "Battery Life Inquiry Threatening Refund", "LongSummary": "Customer needs detailed battery life info for SOS Emergency Beacon before purchase decision. Threatens refund if unsatisfactory response. Pending response required on battery life details.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 820, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I need to know exactly how long the battery life is for the SOS Emergency Beacon before I consider purchasing. I expect a prompt and detailed response as I need this information to make my decision. If I don\u0027t receive a satisfactory answer, I will be demanding a refund for wasting my time." } ] }, { "TicketId": 368, "ProductId": 84, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 249, "ShortSummary": "Heart Rate Display Issue", "LongSummary": "Customer reports heart rate not showing on screen. Needs resolution on how to fix this issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 821, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Can\u0027t get heart rate to show on screen. Fix it." } ] }, { "TicketId": 369, "ProductId": 145, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 81, "ShortSummary": "Trouble with Solar Panel Charging", "LongSummary": "Customer bought Solar Powered Portable Charger. Trouble with charging despite direct sunlight exposure. Need assistance troubleshooting the issue with solar panel charging.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 822, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought the PowerBeam Solar Powered Portable Charger and I\u0027m having some trouble getting it to work. The solar panel seems to be exposed to direct sunlight, but it\u0027s still not charging. Can you help me with this?" } ] }, { "TicketId": 370, "ProductId": 127, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "HydraPack 2.0 Usage Inquiry", "LongSummary": "Customer is awaiting guidance from Thirsttrek\u0027s support regarding using HydraPack 2.0 for hot beverages. The customer has acknowledged the limited warranty and will continue to wait for guidance.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 826, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the HydraPack 2.0 and I\u0027m considering using it to store hot beverages for my morning commute. I love the leak-proof feature and the built-in water filter, so I thought it might work for my coffee. Do you think this is a reasonable use for the product? I\u0027d appreciate any advice or recommendations on how to use it for this purpose. Thank you." }, { "MessageId": 827, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the HydraPack 2.0 is a state-of-the-art hydration system that has been meticulously engineered to ensure optimal performance and convenience for outdoor enthusiasts. It is equipped with a leak-proof design and made from BPA-free materials, but the manual does not specify if it is suitable for storing hot beverages. I recommend contacting Thirsttrek\u0027s support for specific guidance on using the HydraPack 2.0 for hot beverages. You can find their contact details in the user manual." }, { "MessageId": 828, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your prompt response. I have reached out to Thirsttrek\u0027s support as you suggested and am awaiting their guidance on using the HydraPack 2.0 for hot beverages. I will let you know their recommendations. Thank you for your assistance." }, { "MessageId": 829, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the product manual, the use of hot beverages with the HydraPack 2.0 is not specified. I recommend waiting for guidance from Thirsttrek\u0027s support regarding the use of hot beverages with the product. Please let me know if you need any further assistance." }, { "MessageId": 830, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I have not yet received any guidance from Thirsttrek\u0027s support regarding the use of hot beverages with the HydraPack 2.0. I will continue to wait for their response. Thank you for your ongoing assistance." }, { "MessageId": 831, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the product manual, the use of hot beverages with the HydraPack 2.0 is not specified. Additionally, the HydraPack 2.0 comes with a limited warranty of one (1) year from the date of purchase. If you believe that your HydraPack 2.0 is experiencing an issue covered by the warranty, please do not hesitate to contact Thirsttrek\u0027s customer support team for further assistance." }, { "MessageId": 832, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I appreciate your ongoing assistance. I understand that the product manual does not specify the use of hot beverages with the HydraPack 2.0 and that it comes with a one-year limited warranty. I will continue to wait for guidance from Thirsttrek\u0027s support regarding the use of hot beverages with the product. Thank you for your help." } ] }, { "TicketId": 371, "ProductId": 186, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 250, "ShortSummary": "Avalanche Pro 3000 troubleshooting and resolution", "LongSummary": "Customer had issues with the Avalanche Pro 3000 but got help from PowderPeak\u0027s customer support to fix a battery compartment problem. Customer has requested to close the ticket.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 833, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Just got my hands on the Avalanche Pro 3000 and I was so excited to try it out on the slopes. But uh-oh, it doesn\u0027t seem to be working at all! I followed all the safety guidelines from the manual, but still no luck. Can you help me figure out what\u0027s going on? I really want to make sure I can rely on this gear for my backcountry adventures. Thanks a bunch!" }, { "MessageId": 834, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Thank you for reaching out to us about the Avalanche Pro 3000. It seems like you\u0027ve followed the safety guidelines from the manual, but the gear is still not working. We want to ensure that you have the best experience with the Avalanche Pro 3000. Since the product features advanced technology, we recommend getting in touch with PowderPeak\u0027s customer support for technical assistance. You can find their contact details in the user manual. If you require further support with returns or repairs, please let us know. We\u0027re here to help!" }, { "MessageId": 835, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Thanks so much for your help. I reached out to PowderPeak\u0027s customer support and they were able to walk me through some troubleshooting steps. It turns out there was a small issue with the battery compartment, but they helped me fix it and now the Avalanche Pro 3000 is working perfectly! I really appreciate your quick response and the recommendation to contact customer support. I\u0027m all set now, so you can go ahead and close the ticket. Thanks again!" } ] }, { "TicketId": 372, "ProductId": 18, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 251, "ShortSummary": "Hydration System Issue with Trailblazer 40L Backpack", "LongSummary": "Customer reports issue with Trailblazer 40L Backpack hydration system. Asks for assistance to figure it out. Need troubleshooting steps or replacement options.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 836, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I just got the Trailblazer 40L Backpack and the hydration system doesn\u0027t seem to work. Can you help me figure it out?" } ] }, { "TicketId": 373, "ProductId": 109, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 252, "ShortSummary": "Disappointing XtremeGear 5000 Kit", "LongSummary": "Customer seeks resolution for subpar XtremeGear 5000 Mountain Biking Kit. Requests refund or replacement. Expresses disappointment with product\u0027s performance and safety features.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 837, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the XtremeGear 5000 Mountain Biking Kit and have found that it does not meet the high-tech standards promised in the description. The protective gear does not provide the level of safety I expected, and the performance clothing does not deliver the promised comfort and functionality. Additionally, the accessories included in the kit are subpar and do not enhance the biking experience as claimed. I am deeply disappointed and would like to discuss options for a refund or replacement. As an avid mountain biker, I have extensive knowledge of high-quality biking gear and have always prioritized safety and performance. The XtremeGear 5000 kit falls short of my expectations and I am seeking a resolution to this matter." }, { "MessageId": 838, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the XtremeGear 5000 Mountain Biking Kit is designed to provide top-tier protection, comfort, and performance. It includes essential protective gear such as a durable helmet, elbow pads, and knee pads, all designed to withstand the demands of extreme mountain biking. Additionally, the performance clothing is designed to enhance the biking experience with moisture-wicking fabric to keep you dry and comfortable. The kit also features versatile accessories such as a hydration pack, multi-tool, and a rugged phone mount. It is a comprehensive set of gear designed to elevate your performance and safety on the trails." } ] }, { "TicketId": 374, "ProductId": 116, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 253, "ShortSummary": "Inquiry about Tent Materials for Arctic Expedition", "LongSummary": "Customer is seeking detailed information on the materials used in the tent construction and their suitability for sub-zero temperatures. Next agent should provide specific details on the materials and their performance in extreme conditions.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 839, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Greetings, I am in the process of planning an expedition to the Arctic, and I believe the Ultratent UltraLite 2-Person Backpacking Tent would be the perfect shelter for our team in the extreme conditions. I have carefully considered the package contents and safety information, and I am confident that this tent will withstand the harsh environment. However, I would like to confirm whether the materials used in the tent construction are suitable for sub-zero temperatures and high winds. Your prompt response would be greatly appreciated as we finalize our preparations for this daring adventure. Thank you for your assistance." }, { "MessageId": 840, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Ultratent UltraLite 2-Person Backpacking Tent features a ventilation system to regulate temperature and airflow, and it is designed to be secured with stakes and guy lines to prevent it from being affected by wind or other environmental factors. The manual also advises against the use of harsh chemicals and abrasive cleaners on the tent, and recommends proper storage to ensure longevity and performance." }, { "MessageId": 841, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information regarding the ventilation system and securing methods of the Ultratent UltraLite 2-Person Backpacking Tent. I would like to know specifically about the materials used in the tent construction and their suitability for sub-zero temperatures. Could you provide me with detailed information on this aspect? Your prompt response will greatly assist us in finalizing our expedition preparations." }, { "MessageId": 842, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the UltraLite tent is designed to be secured with stakes and guy lines to prevent it from being affected by wind or other environmental factors. It also recommends proper storage in a cool, dry, and well-ventilated area away from direct sunlight. Unfortunately, I couldn\u0027t find specific details about the materials used and their suitability for sub-zero temperatures. If you have any further questions or if there\u0027s anything else I can assist you with, please feel free to ask." } ] }, { "TicketId": 375, "ProductId": 195, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 83, "ShortSummary": "Hydration system setup trouble", "LongSummary": "Customer is still having trouble with the hydration system despite following instructions. They\u0027re asking for more detailed steps on how to set it up, so further assistance is needed from the next support agent.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 843, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m having trouble with the hydration system on my Trekker 30L Backpack. Can you help me figure out how to use it properly? Thanks." }, { "MessageId": 844, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trekker 30L Backpack features a hydration-compatible design, allowing you to easily access your water while on the go. The internal hydration sleeve keeps your water reservoir secure and easily accessible, allowing you to quench your thirst without having to stop and dig through your pack. Make sure your water reservoir is securely placed in the designated compartment and the drinking tube is easily accessible for on-the-go hydration. If you have any further questions, feel free to ask!" }, { "MessageId": 845, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information. I\u0027ll make sure to follow your instructions and see if that helps. If I have any more trouble, I\u0027ll let you know." }, { "MessageId": 846, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "When setting up your hydration system, make sure your water reservoir is securely placed in the designated compartment and the drinking tube is easily accessible for on-the-go hydration. If you need further assistance, feel free to reach out!" }, { "MessageId": 847, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried following your instructions, but I\u0027m still having trouble with the hydration system. The drinking tube doesn\u0027t seem to be easily accessible for on-the-go hydration. Can you provide more detailed steps on how to properly set it up? Thanks." }, { "MessageId": 848, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I understand you\u0027ve been having trouble with the hydration system on your Trekker 30L Backpack. According to the product manual, to set up the hydration system, make sure your water reservoir is securely placed in the designated compartment and the drinking tube is easily accessible for on-the-go hydration. If you\u0027ve already tried this and are still experiencing issues, please let us know so we can assist further." } ] }, { "TicketId": 376, "ProductId": 116, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Inquiry about tent materials, poles, and maintenance", "LongSummary": "Customer inquires about tent materials, poles, and maintenance. Response provided on materials and maintenance. Pending question on specific poles used.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 849, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the UltraLite 2-Person Backpacking Tent for my upcoming outdoor trips. I am particularly interested in the durability of the materials and the ease of setup mentioned in the product description. Can you provide me with more technical details on the materials used, such as the denier rating of the fabric and the type of poles used for the tent? I want to ensure that this tent will meet my requirements for withstanding different weather conditions and terrain. Additionally, I would like to know if there are any specific maintenance recommendations to ensure the longevity of the tent. Your prompt and detailed response will greatly inform my decision on whether to proceed with this purchase. Thank you for your assistance." }, { "MessageId": 850, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The UltraLite 2-Person Backpacking Tent comes with aluminum tent poles for sturdy setup and durability. The fabric denier rating is not specified in the manual. However, it is designed for backpacking through rugged terrain and camping in the wilderness, offering reliable protection from the elements. As for maintenance, be sure to avoid setting up the tent on sharp objects, debris, or slopes with water pooling. Additionally, adhere to local regulations and environmental considerations when selecting your campsite for the tent." } ] }, { "TicketId": 377, "ProductId": 15, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 254, "ShortSummary": "Trouble with LED battery indicator lights", "LongSummary": "Customer needs help with LED battery indicator lights on AdventurePro 1000. Tried reconnecting charging cable, but no change. Requesting assistance with this specific issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 851, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the AdventurePro 1000 power bank from AdventureElec and I\u0027m having some trouble with it. I\u0027m embarrassed to say that I can\u0027t seem to figure out how to get the LED battery indicator lights to display correctly. I\u0027ve tried reconnecting the charging cable, but it doesn\u0027t seem to help. I\u0027m not sure if I\u0027m doing something wrong, but any assistance you can provide would be greatly appreciated. Thank you!" } ] }, { "TicketId": 378, "ProductId": 39, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 255, "ShortSummary": "Customer Inquiry: Waterproof Design", "LongSummary": "Customer wants technical details about waterproof design for outdoor use. Pending question about construction techniques and materials. Response needed with specific details on waterproofing.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 852, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the Shelter Scape Instant Pop-Up Tent and I have a question about the waterproof design. Can you provide me with more technical details about the materials used and the construction techniques that make it reliable in protecting against rain and moisture? I want to ensure that it meets my specific requirements for outdoor use. Thank you for your assistance." } ] }, { "TicketId": 379, "ProductId": 81, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 256, "ShortSummary": "Difficulty adjusting Summit X Climbing Harness", "LongSummary": "Customer is struggling to adjust Summit X Climbing Harness as per manual. Assistant provided instructions for adjusting the waist belt and leg loops. Customer needs further assistance or clearer instructions.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 853, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve been trying to attach the Summit X Climbing Harness as per your manual, but the instructions are as clear as mud! I followed the steps to adjust the waist belt, but it\u0027s still not secure. This is supposed to be a safe and comfortable harness, but I\u0027m not feeling it right now. Can you provide better instructions or assistance with this? It\u0027s frustrating to get a product and not be able to use it properly." }, { "MessageId": 854, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To adjust the Summit X Climbing Harness, use the reinforced webbing located on the waist belt to tighten or loosen the fit. Additionally, adjust the buckles on the leg loops to ensure a secure and comfortable fit around your thighs. When using the harness, always ensure that it is securely fastened and properly adjusted. Double-check that all buckles are properly threaded and tightened, and that the leg loops and waist belt are in the correct position. If you encounter any issues with the Summit X Climbing Harness or have questions about its use, please contact Rockgrip customer support for assistance." } ] }, { "TicketId": 380, "ProductId": 120, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 258, "ShortSummary": "Warranty Claim Initiated", "LongSummary": "Customer initiated warranty claim process for ArcticPro Insulated Ski Jacket. No further questions or issues raised. Next agent should monitor claim status.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 858, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I bought the ArcticPro Insulated Ski Jacket and it\u0027s not working properly. Can you help me with this?" }, { "MessageId": 859, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Frost Flare ArcticPro Insulated Ski Jacket is covered by a limited warranty against defects in materials and workmanship for a period of one year from the date of purchase. This warranty is valid only for the original purchaser and does not cover damage caused by misuse, improper care, or normal wear and tear. If you are experiencing issues with the jacket, you may be eligible to make a warranty claim. You can initiate a warranty claim process by contacting us at https://northernmountains.example.com/support/warranty-claims" }, { "MessageId": 860, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I initiated the warranty claim process as suggested. Thank you for your help." }, { "MessageId": 861, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Frost Flare ArcticPro Insulated Ski Jacket is covered by a limited warranty against defects in materials and workmanship for a period of one year from the date of purchase. This warranty is valid only for the original purchaser and does not cover damage caused by misuse, improper care, or normal wear and tear. If your warranty claim is approved, Frost Flare will repair or replace the defective product at no cost to you. If your claim is denied, you will be provided with a detailed explanation of the decision. Thank you for initiating the warranty claim process. If you have any further questions or need assistance, feel free to reach out to us." } ] }, { "TicketId": 381, "ProductId": 47, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 259, "ShortSummary": "Broken energy bars return request", "LongSummary": "Customer is requesting a return for broken Nutritech Protein Plus Energy Bars. Assistance requested for return process. Pending response from support agent.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 862, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I bought the Nutritech Protein Plus Energy Bars, Variety Pack and they seem to have broken. Can you help me with this?" }, { "MessageId": 863, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience. According to the Nutritech Protein Plus Energy Bars, Variety Pack user manual, the energy bars have been specifically designed to provide a convenient and delicious source of nutrition for individuals with active lifestyles. If you believe the bars are defective, you may be eligible for a refund within 1 year of purchase. Please let us know if you would like to proceed with a return or if you need further assistance." }, { "MessageId": 864, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I would like to proceed with a return for the Nutritech Protein Plus Energy Bars. Please let me know how to proceed." } ] }, { "TicketId": 382, "ProductId": 23, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 66, "ShortSummary": "Misaligned zippers resolved by removing obstructions", "LongSummary": "Customer reported issues with misaligned zippers on the QuickShade Portable Shelter. Advised to check for obstructions in the tracks, which resolved the issue. No further action needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 865, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the QuickShade Portable Shelter from EZ Camp and I\u0027m having some issues with the zippers. They seem to be misaligned and I can\u0027t get them to zip properly. I\u0027m really embarrassed because I thought I did something wrong when setting it up. Is there anything I can do to fix this, or do I need to request a replacement? I really love the high-tech design of this shelter and it\u0027s perfect for my camping trips, so I hope we can figure this out. Thank you for your help." }, { "MessageId": 866, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It seems that the zippers on the QuickShade Portable Shelter may be misaligned due to obstructions or debris in the zipper tracks. I recommend checking for any dirt or debris in the tracks and clearing it away. If the issue persists, please feel free to contact our customer service team for further assistance with replacing the zipper if necessary." }, { "MessageId": 867, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, thank you for the suggestion! I checked the zipper tracks and found some small twigs and dirt stuck in there. After clearing them out, the zippers are working perfectly now. I can\u0027t believe I didn\u0027t think of that myself. Thank you so much for your help!" } ] }, { "TicketId": 383, "ProductId": 169, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Seeking Heat Level Guidance", "LongSummary": "Customer is pleased with product quality but seeks guidance on recommended heat levels for pots and pans. Next support agent should provide specific heat level recommendations for different types of food.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 868, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Trailblazer Camping Cookware Set and I\u0027m very pleased with the overall quality and functionality. However, I have a question about the recommended heat levels for the pots and pans. I want to ensure that I am using the appropriate heat levels based on the type of food being cooked, as mentioned in the product description. Could you provide some guidance on this matter? Thank you for your assistance." }, { "MessageId": 869, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "When using the Trailblazer Camping Cookware Set, it\u0027s important to choose a stable and level surface to place the cookware. Ensure the area is clear of any flammable materials and always use caution when cooking with open flame. This will help you cook safely and enjoy your outdoor culinary adventures to the fullest." } ] }, { "TicketId": 384, "ProductId": 76, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 70, "ShortSummary": "Trouble connecting Wilderness DJ Pro to phone", "LongSummary": "Customer needs help figuring out how to make Wilderness DJ Pro work with their phone. Specific guidance on phone compatibility and setup required.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 870, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I can\u0027t figure out how to make the Wilderness DJ Pro work with my phone. Can you help me out?" } ] }, { "TicketId": 385, "ProductId": 56, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 260, "ShortSummary": "Product suitability for rainy and cold conditions inquiry", "LongSummary": "Elena is considering purchasing the Naptime 5000 Sleeping Bag and wants to know if the water-resistant feature is suitable for rainy conditions and if the insulation provides enough warmth for cold nights. Pending response needed for specific product details.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 871, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the Naptime 5000 Sleeping Bag from Slumberpeak for my upcoming camping trip. I would like to know if the water-resistant feature is suitable for use in rainy conditions. Can you also confirm if the insulation provides enough warmth for cold nights? Thank you for your assistance." } ] }, { "TicketId": 386, "ProductId": 96, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 261, "ShortSummary": "Battery Replacement Inquiry", "LongSummary": "Customer needs more info on recommended battery type and replacement instructions for Solaris 5000. Recommend personalized assistance from Luminartech support.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 872, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "How long does the Solaris 5000 battery last? Need more info." }, { "MessageId": 873, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The user manual provides information on the battery replacement for the Solaris 5000 Outdoor Lantern. It recommends using only the recommended battery type and following the instructions for safe and proper battery replacement. If you need further assistance, please refer to the user manual or contact Luminartech support for more details." }, { "MessageId": 874, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks, I\u0027ll check the user manual. Will let you know if I need more help." }, { "MessageId": 875, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Solaris 5000 Outdoor Lantern is designed with a solar-powered battery and advanced LED technology to provide efficient and reliable outdoor lighting. If the battery needs replacement, it\u0027s important to use only the recommended battery type and follow the instructions in the user manual for safe and proper replacement." }, { "MessageId": 876, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Checked the user manual, but still need more information on the recommended battery type and replacement instructions." }, { "MessageId": 877, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The user manual states that if the battery in your Solaris 5000 Outdoor Lantern needs to be replaced, use only the recommended battery type specified in the user manual and follow the instructions for safe and proper battery replacement. It also provides instructions for charging the lantern using solar power. If you have any further questions or need assistance, feel free to reach out to Luminartech support." }, { "MessageId": 878, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still need more info on the recommended battery type and replacement instructions for the Solaris 5000 Outdoor Lantern." }, { "MessageId": 879, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The user manual specifies that if the battery in your Solaris 5000 Outdoor Lantern needs to be replaced, use only the recommended battery type specified in the user manual. Follow the instructions in the manual for safe and proper battery replacement. If you have any further questions or need assistance, feel free to reach out to Luminartech customer support for personalized help." }, { "MessageId": 880, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still need more info on the recommended battery type and replacement instructions for the Solaris 5000 Outdoor Lantern." }, { "MessageId": 881, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The recommended battery type for the Solaris 5000 Outdoor Lantern is specified in the user manual. It states, \u0022If the battery in your Solaris 5000 Outdoor Lantern needs to be replaced, use only the recommended battery type specified in the user manual. Follow the instructions in the manual for safe and proper battery replacement.\u0022 As for warranty and repair options, the product warranty covers defects in material and workmanship for one year from the date of purchase. Any attempt to repair the lantern by unauthorized persons will void the warranty. For personalized assistance, please contact Luminartech customer support. If you have any further questions or need assistance, feel free to reach out to Luminartech customer support for personalized help." }, { "MessageId": 882, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I still need more info on the recommended battery type and replacement instructions for the Solaris 5000 Outdoor Lantern." } ] }, { "TicketId": 387, "ProductId": 49, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 262, "ShortSummary": "Waterproof Capability Inquiry for Summit Hiking Boots", "LongSummary": "Customer inquires about waterproof capability of Summit Hiking Boots. Agent provides detailed information on how the boots remain waterproof in heavy rain and suggests additional protection for extremely wet conditions. Customer\u0027s question has been answered, but may need further clarification or reassurance on the boots\u0027 effectiveness in very wet conditions.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 883, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, do these Summit Hiking Boots really stay waterproof in heavy rain? Need to know before I buy, thanks!" }, { "MessageId": 884, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Summit Hiking Boots are designed to utilize breathable yet waterproof material to prevent moisture from getting in while still allowing sweat to escape. The gusseted tongue and properly tightened laces also help keep out rain and snow, and you can consider pairing the boots with waterproof gaiters for extended protection in extremely wet conditions. With Summit Hiking Boots, wet weather won\u0027t hold you back from exploring the great outdoors!" } ] }, { "TicketId": 388, "ProductId": 22, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Guidance on utilizing side pockets and front compartment", "LongSummary": "Customer purchased a Summit 45L Technical Backpack from Peakpacker and needs guidance on utilizing side pockets and front compartment effectively. Pending question about how to use these features. Next support agent should provide detailed instructions on organizing gear in the compartments.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 885, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Summit 45L Technical Backpack from Peakpacker and I\u0027m having some trouble organizing my gear in the compartments. I\u0027m not sure how to best utilize the side pockets and the front compartment. Can you provide me with some guidance on how to effectively use these features? Thank you for your help!" } ] }, { "TicketId": 389, "ProductId": 41, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 263, "ShortSummary": "Inquiry about AquaVenture surf watch for snorkeling", "LongSummary": "Customer Lila Park inquiring about using AquaVenture surf watch for snorkeling, needs guidance on compatibility for underwater activities. Response required on product specifications and warranty for water use.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 886, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I just got the AquaVenture surf watch and I\u0027m thinking of using it for snorkeling. Can you help me with something?" } ] }, { "TicketId": 390, "ProductId": 137, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 74, "ShortSummary": "Sticky buttons troubleshooting request", "LongSummary": "WildBeat Pro DJ Controller buttons sticking, not working right. Customer needs help troubleshooting the issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 888, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, my WildBeat Pro DJ Controller\u0027s buttons are sticking and it\u0027s not working right. Can you help me out?" } ] }, { "TicketId": 391, "ProductId": 59, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 264, "ShortSummary": "Unsatisfactory kayak performance resolution demanded", "LongSummary": "Customer demands resolution for unsatisfactory kayak performance. Previous guidelines not helpful. Immediate assistance needed or refund requested. Next agent should provide alternative solutions or offer refund options.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 889, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely disappointed with my Explorer 3000 Kayak from Aqua Venture. I cannot believe that I am unable to make it work in the way I expected. I demand immediate assistance to resolve this issue. This product was supposed to be lightweight, stable, and built for performance, but I am not seeing any of that. I expect a prompt response and a resolution to this problem. I may even consider asking for a refund if this issue is not addressed to my satisfaction." }, { "MessageId": 890, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand your frustration and want to assist you in resolving this issue. According to the manual, the Aqua Venture paddle that comes with the Explorer 3000 Kayak is specially designed for maximum performance, and it is important to grip the paddle firmly and use a smooth, consistent motion while using it. It is also essential to inspect the kayak for any signs of wear, damage, or defects before each use. Have you followed these guidelines for using the kayak and the paddle? Your feedback will help us assist you further." }, { "MessageId": 891, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have followed the guidelines for using the kayak and paddle as mentioned in the manual, but I am still not satisfied with the performance. This product is not meeting my expectations at all, and I am still demanding immediate assistance to resolve this issue. I expect a better solution to this problem or else I will proceed with asking for a refund." } ] }, { "TicketId": 392, "ProductId": 102, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 265, "ShortSummary": "In-depth performance and safety inquiry", "LongSummary": "Customer seeks detailed information on the paddle\u0027s performance and safety features, including flexural strength, torsional resistance, and fatigue performance. Also inquires about safety standards for personal flotation device (PFD).", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 892, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am a kayaking enthusiast and am interested in the Aqua Venture Voyager Kayak Paddle for its lightweight and adjustable design. However, I need more information on its performance and safety features for optimal use. Specifically, I would like to know about its flexural strength, torsional resistance, and fatigue performance as mentioned in the manual. Can you provide detailed insights into how this paddle ensures user safety and reliability? Additionally, I would appreciate recommendations on the proper use of personal protective equipment, such as the ideal personal flotation device (PFD) and any specific safety standards it should meet. Thank you for your assistance in helping me make an informed decision about the suitability of this product for my kayaking activities." }, { "MessageId": 893, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Aqua Venture Voyager Kayak Paddle is designed with a durable composite material to withstand the rigors of kayaking and provide optimal performance. Additionally, it is essential to use the appropriate personal protective equipment, including a properly fitted personal flotation device (PFD) at all times while on the water." }, { "MessageId": 894, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information on the composite material used in the Aqua Venture Voyager Kayak Paddle. However, I would still like detailed insights into its flexural strength, torsional resistance, and fatigue performance as mentioned in the manual. Additionally, if there are any specific safety standards that the personal flotation device (PFD) should meet, I would appreciate that information as well. Thank you for your continued assistance." }, { "MessageId": 895, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the information from the manual, the Aqua Venture Voyager Kayak Paddle is designed with a durable composite material to withstand the rigors of kayaking and provide optimal performance. The adjustable and lightweight design ensures a comfortable and efficient paddling experience. Additionally, the paddle complies with ISO 12402-5:2006 standard for personal flotation devices, ensuring that it is constructed with buoyant materials. It is important for users to familiarize themselves with these standards and ensure that the paddle is used in accordance with the recommended safety practices. If you have any further questions or need assistance, feel free to ask." } ] }, { "TicketId": 393, "ProductId": 196, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 266, "ShortSummary": "GPS Watch Performance Issue", "LongSummary": "Customer demands reassurance of built-in maps, real-time location sharing, and GPS calibration. Threatens refund or replacement. Urgent response needed.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 896, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just purchased the TrailMaster GPS Watch and it\u0027s not performing as expected. I demand a solution to this problem immediately. I spent a lot of money on this watch and I expect it to work perfectly. I need reassurance that the built-in maps, real-time location sharing, and GPS calibration are functioning properly. If this issue is not resolved, I will be requesting a refund or replacement. I hope to hear back from you soon with a resolution to this matter." } ] }, { "TicketId": 394, "ProductId": 193, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 267, "ShortSummary": "Cake carrier reassurance for unexpected road conditions", "LongSummary": "Customer wants real-life assurance that the cake carrier will keep cakes intact during unexpected road conditions. Needs practical examples to trust product.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 897, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "So let me get this straight. You\u0027re telling me that this cake carrier can withstand extreme environmental conditions at high altitudes, has a latching mechanism that meets international standards, and uses industrial-grade foam for maximum thermal protection. But can it really keep my cakes fresh and intact during a bumpy car ride? I\u0027ve had cake carriers before that claim to be top of the line, but they couldn\u0027t handle a few potholes. I need some real assurance before I make a purchase." }, { "MessageId": 898, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It\u0027s crucial to secure the carrier in a stable position within the transportation vehicle to prevent any unnecessary movement that may impact the cake. Additionally, the carrier has integrated secure latches to fasten the lid and provide an airtight seal during transportation, ensuring the safety of your cakes. According to the manual, the insulation material of the carrier is designed to maintain optimal temperature and pressure conditions, preventing damage to delicate textures and structures of the baked goods. This ensures that your cakes reach their destination in perfect condition, providing reliable protection for a wide range of high-altitude baked goods." }, { "MessageId": 899, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "So basically, you\u0027re saying that if I follow all the instructions perfectly, my cakes will be safe. But what if I encounter unexpected road conditions or a sudden stop? How can I trust that this carrier will really keep my cakes intact? I need some real-life assurance, not just theoretical solutions." } ] }, { "TicketId": 395, "ProductId": 145, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 114, "ShortSummary": "Charger won\u0027t turn off after full charge", "LongSummary": "Charger not turning off after fully charged, exposed to direct sunlight. Assistant recommended contacting manufacturer for return/repair. Pending return initiation.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 900, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Charger not turning off after fully charged. Help!" }, { "MessageId": 901, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "If the issue persists, please discontinue use and allow the charger to cool down before attempting to use it again. If the charger is not fully turning off after being fully charged, please ensure that the solar panel is exposed to direct sunlight and is not covered." }, { "MessageId": 902, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Charger still not turning off after being fully charged. Solar panel is exposed to direct sunlight and not covered." }, { "MessageId": 903, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "If the issue persists, we recommend contacting the manufacturer\u0027s support for further assistance or to initiate a return or repair. You can find their contact details in the user manual. If you wish to proceed with a return, you can initiate it at the following link: [Returns and Repairs](https://northernmountains.example.com/support/returns)" } ] }, { "TicketId": 396, "ProductId": 76, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 268, "ShortSummary": "Troubleshooting Wilderness DJ Pro", "LongSummary": "Customer needs help with Wilderness DJ Pro. Assistant provided information on the product\u0027s portability and durability. Customer still needs technical support.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 904, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m having trouble with the Wilderness DJ Pro. Can someone help me?" }, { "MessageId": 905, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Wilderness DJ Pro is designed with portability and versatility in mind, allowing you to take your DJing setup wherever your adventures may lead. It is equipped with rugged, high-tech components that can withstand the harshest environments, making it the perfect companion for entertaining on the go. If you require further technical support, please refer to the manufacturer\u0027s support contact details in the user manual." } ] }, { "TicketId": 397, "ProductId": 149, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 269, "ShortSummary": "Confusion about calibration and flow rate accuracy", "LongSummary": "Customer is confused about calibration process, finds it excessive and wants a simpler way to ensure accurate flow rate. Asks about not following ISO 8537 standard for calibration. Needs clarification on the calibration process and consequences of not following the standard.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 906, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, I\u0027ve been using the AquaFlow Pro for a while now and I\u0027m a bit confused about the calibration process mentioned in the manual. It seems like a hassle to set up a closed loop system and measure the flow rate just to adjust the bite valve. Is there a simpler way to ensure the flow rate is accurate? And what happens if I don\u0027t follow the ISO 8537 standard for calibration? It all sounds a bit excessive to me. Can you shed some light on this? Thanks." } ] }, { "TicketId": 398, "ProductId": 149, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "AquaFlow Pro malfunction despite following replacement instructions", "LongSummary": "Customer is frustrated with AquaFlow Pro not working despite following manufacturer\u0027s instruction for replacement. Further assistance is needed for resolving the issue.", "CustomerSatisfaction": null, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 907, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am beyond frustrated with the AquaFlow Pro hydration system from Thirsttrek. I purchased it for my hiking trip and it doesn\u0027t work at all! The bite valve doesn\u0027t flow as described, and the straps are so uncomfortable. I need this issue resolved as soon as possible, or I want a refund. This is unacceptable." }, { "MessageId": 908, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience you\u0027ve experienced with the AquaFlow Pro hydration system from Thirsttrek. According to the manual, the BPA-free reservoir is designed to ensure the highest standards of water purity and safety. If you believe the product is defective, you may be eligible for a refund within 1 year of purchase. Alternatively, you can initiate a return within 30 days if the product is unused. For further assistance, please refer to the manufacturer\u0027s support contact details in the manual." }, { "MessageId": 909, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the BPA-free reservoir or the return policy! I just want a working hydration system for my hiking trip. I\u0027ve already wasted so much time and money on this product, and I need a solution now!" }, { "MessageId": 910, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand your frustration and want to help resolve this issue. According to the manual, the AquaFlow Pro hydration system from Thirsttrek is designed with a state-of-the-art BPA-free reservoir, ensuring the highest standards of water purity and safety. However, we want to ensure your complete satisfaction. If you believe the product is defective, you may be eligible for a refund within 1 year of purchase. You can also initiate a return within 30 days if the product is unused. For further assistance, please refer to the manufacturer\u0027s support contact details in the manual. We\u0027re here to assist you further if needed." }, { "MessageId": 911, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is ridiculous! I don\u0027t want a refund, I want a working hydration system for my hiking trip. I\u0027ve already wasted so much time and money on this product. I demand a solution now!" }, { "MessageId": 912, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand your frustration and want to ensure your complete satisfaction with the AquaFlow Pro hydration system. According to the manual, the BPA-free reservoir ensures the highest standards of water purity and safety. If the bite valve doesn\u0027t flow as described, it may need to be replaced with a genuine Thirsttrek replacement part, following the manufacturer\u0027s instructions. For further assistance, please refer to the manufacturer\u0027s support contact details in the manual." }, { "MessageId": 913, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve already followed the manufacturer\u0027s instructions and replaced the bite valve with a genuine Thirsttrek replacement part, but it still doesn\u0027t work! This is ridiculous and unacceptable. I demand a working hydration system for my hiking trip now!" }, { "MessageId": 914, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand your frustration. According to the manual, the bite valve should be replaced with a genuine Thirsttrek replacement part if it shows signs of wear or fails the operational test, following the manufacturer\u0027s instructions. Additionally, the easy-flow bite valve has been designed for optimal liquid flow dynamics, and there are calibration processes outlined in the manual to measure and verify the flow rate. If you require further assistance, please refer to the manufacturer\u0027s support contact details in the manual." }, { "MessageId": 915, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve already replaced the bite valve with a genuine Thirsttrek replacement part as per the manufacturer\u0027s instructions, and it still doesn\u0027t work! This is absolutely infuriating and unacceptable. I demand a working hydration system for my hiking trip now!" }, { "MessageId": 916, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the manual, the AquaFlow Pro hydration system is designed with a state-of-the-art BPA-free reservoir, ensuring the highest standards of water purity and safety. The easy-flow bite valve has been designed for optimal liquid flow dynamics, and material integrity testing is imperative before use. If you have already followed the instructions for replacing the bite valve and the system still does not work, please refer to the manufacturer\u0027s support contact details in the manual for further assistance." }, { "MessageId": 917, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve already followed all the instructions and replaced the bite valve with a genuine Thirsttrek replacement part multiple times, and it still doesn\u0027t work! This is beyond frustrating and completely unacceptable. I demand a working hydration system for my hiking trip now!" }, { "MessageId": 918, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the AquaFlow Pro hydration system from Thirsttrek features a state-of-the-art BPA-free reservoir, ensuring the highest standards of water purity and safety. The easy-flow bite valve allows for effortless on-the-go hydration, while the adjustable straps provide a customized and comfortable fit for users of all sizes. Additionally, the manual outlines a calibration process to measure and verify the flow rate of the system. If you have already followed the instructions for replacement and the system still does not work, I recommend referring to the manufacturer\u0027s support contact details in the manual for further assistance." } ] }, { "TicketId": 399, "ProductId": 54, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 270, "ShortSummary": "Small Goggle Pocket Issue", "LongSummary": "Customer frustrated with small goggle pocket in AvalanchePro Ski Backpack. Demands immediate solution for scratching expensive goggles.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 919, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am extremely frustrated with the AvalanchePro Ski Backpack from PowderPeak! I purchased it for backcountry skiing, and the dedicated pocket for my goggles is too small to fit them properly. It\u0027s scratching my expensive goggles every time I use it, and I am not happy about it. This is unacceptable for a product that is supposed to keep my gear safe and organized. I demand a solution to this problem immediately." } ] }, { "TicketId": 400, "ProductId": 75, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 273, "ShortSummary": "Seeking Real-Life Scenarios", "LongSummary": "Customer seeks specific real-life scenarios of Escapesafe GPS Locator Beacon use in remote areas. Escalation or testimonials requested.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 926, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I need to know if the Escapesafe GPS Locator Beacon can accurately send my GPS location to rescue services in remote areas. I expect this product to work flawlessly in any outdoor emergency situation. If it doesn\u0027t meet my expectations, I\u0027ll be expecting a full refund. I need answers before I make a purchase decision." }, { "MessageId": 927, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Escapesafe GPS Locator Beacon provides high accuracy for precise location tracking in remote areas. You can configure the GPS settings to optimize accuracy and battery usage. According to the manual, \u0022By configuring the GPS settings according to your needs, you can ensure that the Escapesafe GPS Locator Beacon will provide accurate location information while optimizing battery usage.\u0022" }, { "MessageId": 928, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information provided, but I need more assurance that the Escapesafe GPS Locator Beacon will truly work flawlessly in any outdoor emergency situation. Can you provide any customer testimonials or real-life scenarios where this product has been successfully used to send accurate GPS location to rescue services in remote areas? I need to be absolutely certain before making a purchase decision." }, { "MessageId": 929, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Escapesafe GPS Locator Beacon user manual does not provide specific customer testimonials or real-life scenarios. However, it does mention that if the device is found to be defective during the warranty period, Escapesafe will repair or replace it free of charge. This warranty does not cover damage caused by accident, misuse, or unauthorized modification. To claim warranty service, please contact Escapesafe Customer Support as detailed in section 7.2 of the manual." }, { "MessageId": 930, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am not satisfied with the response provided. I specifically requested customer testimonials or real-life scenarios where the Escapesafe GPS Locator Beacon has been successfully used in remote areas to send accurate GPS locations to rescue services. I need this information before I can make a purchase decision. Please provide the requested information or escalate this ticket to a higher level of support." }, { "MessageId": 931, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The user manual does not provide specific customer testimonials or real-life scenarios. However, it does mention that the beacon will continue to transmit your GPS location to rescue services until help has arrived in case of an emergency. It is important to stay in the same location and keep the beacon turned on until help arrives. This information is from the manual\u0027s section on sending an emergency signal. If you have any further questions or need assistance, please feel free to reach out to Escapesafe Customer Support." }, { "MessageId": 932, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am still not satisfied with the response provided. I need specific customer testimonials or real-life scenarios where the Escapesafe GPS Locator Beacon has been successfully used in remote areas to send accurate GPS locations to rescue services. Please provide the requested information or escalate this ticket to a higher level of support." } ] }, { "TicketId": 401, "ProductId": 9, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 274, "ShortSummary": "Broken AltitudeShield Pro", "LongSummary": "Customer Kaitlyn Reynolds reports that the AltitudeShield Pro she bought is broken. Requesting assistance to address the issue and repair or replace the product.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 933, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I bought the AltitudeShield Pro and it\u0027s broken. Please help." } ] }, { "TicketId": 402, "ProductId": 194, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 275, "ShortSummary": "Customer Excited About Using SurvivalPro 3000 for Camping", "LongSummary": "Customer excited about using SurvivalPro 3000 Kit for camping, asked about compass use and kit maintenance. Assistant provided instructions and tips. Pending question about campfire equipment.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 934, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Just got my hands on the SurvivalPro 3000 Kit and I\u0027m so stoked to take it on my camping trip next week. I\u0027m thinking of using the fire-starting equipment to make s\u0027mores by the campfire - how fun is that!? Can\u0027t wait to try out the multi-tool too, it\u0027s like a Swiss army knife on steroids. This kit is seriously top-notch, thanks Rescuepro! \uD83C\uDFD5\uFE0F\uD83D\uDD25" }, { "MessageId": 935, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the SurvivalPro 3000 Kit comes equipped with a compass for navigating through the wilderness. To use the compass, hold it flat in your hand. Additionally, it\u0027s recommended to regularly inspect the kit for any damage to the case or its contents to ensure it is always prepared for use in outdoor emergencies." }, { "MessageId": 936, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! Thanks for the info on the compass and the maintenance tips. I\u0027ll be sure to give it a go and check the kit for any damage. Can\u0027t wait to head out on my camping trip with this awesome kit! \uD83D\uDE0A\u26FA" }, { "MessageId": 937, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the SurvivalPro 3000 Kit should be regularly inspected for any damage to the case or its contents to ensure it is always prepared for use in outdoor emergencies. It also advises to hold the compass flat in your hand when using it for navigation." } ] }, { "TicketId": 403, "ProductId": 10, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 214, "ShortSummary": "TechBeam 2000 Battery Installation Issue", "LongSummary": "Customer needs more detailed instructions or troubleshooting for TechBeam 2000 battery installation. Further support needed to resolve the issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 938, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I recently purchased the TechBeam 2000 and I\u0027m having some trouble with the battery installation. Can you help me out?" }, { "MessageId": 939, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The battery installation process for the TechBeam 2000 is detailed in the user manual. According to the manual, the device requires a specific lithium-ion battery pack for optimal performance. To install the battery, you need to open the battery compartment by sliding the latch located on the bottom of the device. For charging the battery, it\u0027s important to use only the provided charger. If you have any further questions about the installation or charging process, feel free to ask." }, { "MessageId": 940, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried following the steps in the manual, but I\u0027m still having trouble with the battery installation. Can you provide more detailed instructions or troubleshoot with me?" } ] }, { "TicketId": 404, "ProductId": 79, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 276, "ShortSummary": "Customer Concerns About Camera Usage", "LongSummary": "Customer has concerns about using the Adventure Pro Camera, specifically about disassembly, cleaning, and the non-removable lithium-ion battery. Wants reassurance that the camera is behaving as expected.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 941, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello there! I recently purchased the Adventure Pro Camera from Capture Tech and I just want to make sure that I\u0027m using it correctly. I want to be extra careful with it because I read that it\u0027s not designed to be disassembled or cleaned by the user. I also noticed that it has a non-removable lithium-ion battery and I don\u0027t want to do anything that might damage it. Can you please reassure me that I\u0027m doing everything right and that the camera is behaving as expected? I really want to make the most of its 4K resolution and advanced image stabilization. Thank you so much for your help!" }, { "MessageId": 942, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello there! Thank you for reaching out to AdventureWorks Support. We\u0027re here to help you with any questions or concerns you have about using the Adventure Pro Camera from Capture Tech. Based on the information from the manual, it\u0027s important to note that the Adventure Pro Camera is equipped with advanced image stabilization and boasts an impressive 4K resolution for stunning clarity and detail in your photos and videos. Our dedicated support team is available to provide guidance on using the camera effectively and to assist with any technical issues you may encounter. If you have any specific questions or need assistance with anything else, feel free to let us know. We\u0027re here to help!" } ] }, { "TicketId": 405, "ProductId": 178, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 277, "ShortSummary": "Inquiry about palm fat sustainability", "LongSummary": "Customer inquires about palm fat sourcing and sustainability in PowerBar Pro 2021, expresses disappointment with lack of information. Needs guidance on eco-friendly alternatives.", "CustomerSatisfaction": 3, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 943, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the PowerBar Pro 2021 and I noticed that it contains palm fat. I\u0027m concerned about the environmental impact of this ingredient, as I thought EcoFuels was all about sustainable nutrition. Can you provide me with more information about the sourcing and sustainability of the palm fat used in this product? I really want to make sure I\u0027m supporting ethical and environmentally friendly brands. Thank you so much for your help!" }, { "MessageId": 944, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, there is no information about the sourcing or sustainability of palm fat in the PowerBar Pro 2021. If you have any further questions, feel free to ask." }, { "MessageId": 945, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, I see. I was really hoping to support a brand that prioritizes sustainability and ethical sourcing. I guess I\u0027ll have to look into other options. Thank you for your help!" } ] }, { "TicketId": 406, "ProductId": 98, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Inquiry on TrailBlazer GPS Watch suitability for outdoor activities", "LongSummary": "Customer demands answers on TrailBlazer GPS Watch suitability for trail running and hiking. Expects refund or replacement due to lack of warranty coverage. Urgent response needed.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 946, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand to know why the TrailBlazer GPS Watch does not come with any warranty coverage! I purchased this watch specifically for outdoor navigation and now I find out that it\u0027s not reliable for accurate navigation or tracking? This is unacceptable! I need to know if this watch is suitable for trail running and hiking as advertised. If not, I expect a refund or replacement immediately. I am extremely disappointed with this product and the lack of support from Exploremate. I need answers and I need them now!" } ] }, { "TicketId": 407, "ProductId": 100, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 278, "ShortSummary": "Missing Cleaning Instructions for Ridge Runner Hydration Pack", "LongSummary": "Customer demands clear explanation on how to clean and maintain water reservoir in the Ridge Runner Hydration Pack manual. Threatens request for full refund if not provided.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 947, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just purchased the Ridge Runner Hydration Pack and I can\u0027t believe there\u0027s no mention of how to properly clean the reservoir in the manual! This is unacceptable for a product marketed for outdoor use. I demand a clear explanation on how to clean and maintain the water reservoir, or else I\u0027ll be asking for a full refund!" } ] }, { "TicketId": 408, "ProductId": 132, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 279, "ShortSummary": "AnglerPro 5000 Double Haul Technique Inquiry", "LongSummary": "Customer seeks advice on optimal line release timing for double haul cast with AnglerPro 5000. Next agent should provide detailed instructions or video demonstration.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 948, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AnglerPro 5000 fishing rod and I am highly impressed with its roll casting capabilities. The manual mentions the double haul cast technique, which I find particularly intriguing. However, I have a specific question regarding the optimal line release timing for achieving maximum distance and accuracy with this technique. I want to ensure that I am utilizing the full potential of this precision casting tool. Your expertise in this matter would be greatly appreciated. Thank you." }, { "MessageId": 949, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, for long-distance casts using the double haul technique with the AnglerPro 5000, you should begin with a smooth back cast, loading the rod with energy. As you initiate the forward cast, pull the line with your non-dominant hand to add extra power to the cast. Position yourself parallel to the water\u0027s surface with a slight crouch and sweep the rod forward and slightly upward, releasing the line to achieve the desired distance and accuracy." } ] }, { "TicketId": 409, "ProductId": 125, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 280, "ShortSummary": "MediKit Xpress Solar Panel Compatibility", "LongSummary": "Customer inquires about compatibility of alternative solar panels with MediKit Xpress. Assistant confirms compatibility as long as panels meet necessary specs.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 950, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I hope you are doing well. I recently purchased the MediKit Xpress from Trailblazer Pharmaceuticals and I must say, I am quite impressed with its compact and portable design. However, I have a question about the optional solar panel mentioned in the manual. Is it possible to use a different solar panel with the kit or does it specifically require the one sold by Trailblazer Pharmaceuticals? I want to make sure I have all the necessary components for my off-grid medical procedures. Thank you for your assistance!" }, { "MessageId": 951, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the MediKit Xpress does not require any external power source for its basic functionality. However, users can integrate the optional solar panel (sold separately) to ensure continuous power supply for long-duration off-grid medical procedures. As long as the solar panel meets the necessary specifications, it should be compatible with the kit. For more information on compatible solar panels, please refer to the manual." }, { "MessageId": 952, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for clarifying that the MediKit Xpress does not require an external power source for basic functionality. I will make sure to refer to the manual for more information on compatible solar panels. I appreciate your assistance!" } ] }, { "TicketId": 410, "ProductId": 194, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 281, "ShortSummary": "Demand for perfect product, no maintenance or refund", "LongSummary": "Customer demands product to work perfectly without maintenance, troubleshooting, or refund. Assistant advises using first aid supplies for minor injuries and following troubleshooting steps if needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 959, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought the SurvivalPro 3000 Kit and I expect it to work perfectly for my upcoming camping trip. I don\u0027t care about any maintenance or troubleshooting steps, it should just work when I need it. If it doesn\u0027t, I demand a full refund!" }, { "MessageId": 960, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the information provided in the user manual, the first aid supplies are intended for temporary treatment of minor injuries in emergency situations. If you encounter any issues with the fire-starting equipment or the multi-tool, please follow the troubleshooting steps provided in the manual. If the issue persists, please contact Rescuepro customer support for assistance." } ] }, { "TicketId": 411, "ProductId": 99, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 282, "ShortSummary": "Technical inquiry about support system diagnostics", "LongSummary": "Customer has a technical question about support system diagnostics in the manual. Assistant provided details on measuring forces, maximum load capacity, and post-use inspections. No pending questions.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 961, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I have a question about the Summit 3000 Trekking Backpack. Can you help me with some technical details about the support system diagnostics mentioned in the manual?" }, { "MessageId": 962, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the support system diagnostics involve measuring the forces exerted on the support system during use with a load cell and data acquisition system. The measured forces are compared with the maximum load capacity of the backpack (30-35 kg). If the measured forces exceed the maximum load capacity, it is recommended to reduce the weight of the backpack or adjust the distribution of the load. Additionally, post-use inspections with specialized scientific equipment are recommended to identify any potential issues that may require maintenance or repairs." } ] }, { "TicketId": 412, "ProductId": 199, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 22, "ShortSummary": "Slow charging despite proper positioning", "LongSummary": "Customer reports slow charging despite following positioning instructions. Considering return or further assistance.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 963, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I bought the SunShift 100W Solar Charger and it\u0027s supposed to have fast charging, but it\u0027s taking forever to charge my devices! I can\u0027t believe I spent money on this thing. I need reassurance that it\u0027s actually working as expected, because right now it\u0027s not living up to its description. I expect a prompt response and a solution to this problem!" }, { "MessageId": 964, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SunShift 100W Solar Charger is designed for fast charging, and it features a high-efficiency solar panel that quickly converts sunlight into electrical power. Please ensure that the solar panels are in direct sunlight and properly positioned, as this can affect the charging speed. Additionally, make sure that the device you are trying to charge is compatible with the SunShift 100W Solar Charger." }, { "MessageId": 965, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve made sure that the solar panels are in direct sunlight and properly positioned, and that the device I\u0027m trying to charge is compatible with the SunShift 100W Solar Charger. But it\u0027s still taking forever to charge my devices! I\u0027m not happy with this product at all." }, { "MessageId": 966, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It\u0027s important to ensure that the solar charger is in direct sunlight and properly positioned. The charging speed may vary depending on the intensity of sunlight. According to the manual, the SunShift 100W Solar Charger features a high-efficiency solar panel that quickly converts sunlight into electrical power, ensuring fast charging. If you\u0027re still experiencing issues, please let us know if you would like to pursue a return or have any other questions." } ] }, { "TicketId": 413, "ProductId": 83, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 283, "ShortSummary": "GPS Tracking Issue on SkyRanger Drone", "LongSummary": "Customer is frustrated that GPS tracking feature is not working on the SkyRanger HD Aerial Drone. They are demanding an immediate fix or a refund. Assistant has provided troubleshooting steps and requested further information if the issue persists.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 967, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the GPS tracking feature is not working on my SkyRanger HD Aerial Drone! I specifically bought this drone for the GPS tracking and now it\u0027s a complete waste. I want this issue fixed immediately or I demand a refund!" }, { "MessageId": 968, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the SkyRanger HD Aerial Drone is equipped with advanced GPS tracking technology for precise positioning and navigation during flight. It also has a Return to Home function that automatically guides the drone back to its takeoff location in the event of signal loss or low battery. If you are experiencing issues with the GPS tracking feature, we recommend checking the app settings and ensuring that the drone is in an open outdoor area with a clear view of the sky. If the issue persists, please let us know so we can assist you further." } ] }, { "TicketId": 414, "ProductId": 11, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 284, "ShortSummary": "SurvivalMed 3000 not working as advertised", "LongSummary": "Customer is upset because the SurvivalMed 3000 does not work as advertised. Demands refund or replacement. Specific issues with surgical instruments, medications, and sterilization supplies. Pending response on refund/replacement options.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 969, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe this! I bought the SurvivalMed 3000 thinking it could handle any surgery in the wilderness, but now I find out I can\u0027t even use the surgical instruments, medications, or sterilization supplies! This is ridiculous! I demand a refund or a replacement that actually works as advertised." } ] }, { "TicketId": 415, "ProductId": 119, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 285, "ShortSummary": "Troubleshooting GloBeam 1000 headlamp", "LongSummary": "Customer having trouble with GloBeam 1000 headlamp. Unable to turn it on, checked battery. Assistance with troubleshooting needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 970, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the GloBeam 1000 High-Powered LED Headlamp and I\u0027m having trouble getting it to work properly. I\u0027ve tried to turn it on by pressing the power button, but nothing happens. I\u0027ve also checked the battery installation, and it seems to be correct. Is there something I\u0027m missing? I really need it for my evening hikes, and I was looking forward to using the different lighting modes mentioned in the product description. Any help or guidance would be greatly appreciated. Thank you!" }, { "MessageId": 971, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It seems that the headlamp offers three different lighting modes: High Beam, Medium Beam, and Low Beam. To switch between modes, simply press the power button located on the top of the headlamp. If the headlamp does not turn on, it may be a common issue that can be addressed. Let\u0027s troubleshoot this together. Have you tried pressing and holding the power button for a few seconds to see if the headlamp turns on?" } ] }, { "TicketId": 416, "ProductId": 57, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 286, "ShortSummary": "Inquiry about using PowerPort 10000 as power bank for multiple devices", "LongSummary": "Customer inquires about using PowerPort 10000 as a power bank for multiple devices. Assistant provides detailed instructions and encourages reaching out for further assistance if needed. Customer plans to test and follow up.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 972, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I have a question about the PowerPort 10000 Portable Charger from Charge Mate. Can you help me with some information about using it as a power bank? Thank you." }, { "MessageId": 973, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The PowerPort 10000 Portable Charger from Charge Mate is equipped to charge multiple devices simultaneously. You can connect each device to a separate USB port on the charger using the appropriate cable, and the charger will automatically allocate the proper power output to each device for efficient charging. It is also designed for fast-charging, allowing you to power up your devices quickly and efficiently." }, { "MessageId": 974, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I will try using it as a power bank with multiple devices and let you know if I encounter any issues." }, { "MessageId": 975, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, you can use the PowerPort 10000 as a power bank by connecting your device to the charger and pressing the power button to initiate charging. This feature is incredibly useful for backpacking, outdoor photography, or any situation where you need to keep your devices powered up. If you encounter any issues, please feel free to reach out to us for further assistance." } ] }, { "TicketId": 417, "ProductId": 12, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 287, "ShortSummary": "Inaccurate Route Calculations Complaint", "LongSummary": "Customer demands immediate resolution or refund for inaccurate route calculations with TrailGPS 5000. Unhappy with technical jargon; wants issue fixed without specialized equipment.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 976, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I bought the TrailGPS 5000 for my daily commute to work, but it\u0027s not giving me accurate route calculations. I demand that this issue is fixed immediately or I want a refund. I shouldn\u0027t have to deal with this inconvenience when I paid for a high-tech GPS system!" }, { "MessageId": 977, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, if the device is experiencing difficulties calculating routes, specialized equipment for advanced diagnostic analysis should be consulted. Additionally, to create a new route, users can navigate to the \u0022Routes\u0022 menu and select \u0022Create New Route\u0022 to input waypoints and adjust the route as needed." }, { "MessageId": 978, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I shouldn\u0027t have to deal with this technical jargon! I just want a GPS that works properly without needing specialized equipment. Either fix this issue or give me a refund immediately!" } ] }, { "TicketId": 418, "ProductId": 159, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 159, "ShortSummary": "Clarification on Smartphone Charging Capacity", "LongSummary": "Customer demands clear answer on number of smartphone charges. Assistant recommends contacting manufacturer for specific charging capacity. Next agent should provide specific charging capacity details.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 979, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I expect this Rugged Solar Power Bank to be able to charge my smartphone at least 5 times on a single charge. If it can\u0027t do that, I want a full refund! I don\u0027t have time to waste on products that don\u0027t live up to their claims. This is a crucial feature for me and I need to know before I make a purchase." }, { "MessageId": 980, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The user manual provides information on charging the Rugged Solar Power Bank using solar panels. It mentions optimal charging when placed under direct sunlight. However, it does not specify the exact number of smartphone charges on a single power bank charge. I recommend reaching out to the manufacturer\u0027s support contact detailed in the user manual for more specific information on charging capacity." }, { "MessageId": 981, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I shouldn\u0027t have to contact the manufacturer for basic information like this! It\u0027s the responsibility of Outdoor Pro to provide clear and accurate details about their product. I demand a clear and definite answer on the number of smartphone charges the Rugged Solar Power Bank can provide on a single charge. This is unacceptable!" }, { "MessageId": 982, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Rugged Solar Power Bank is equipped with a high-capacity 10000mAh battery, which allows you to charge your devices multiple times before needing to recharge the power bank itself. Unfortunately, the manual does not specify the exact number of smartphone charges on a single power bank charge. I recommend reaching out to the manufacturer\u0027s support contact detailed in the user manual for more specific information on charging capacity." }, { "MessageId": 983, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is unacceptable! I purchased this Rugged Solar Power Bank based on the promise of being able to charge my smartphone multiple times, and now I still don\u0027t have a clear answer on how many charges I can expect. I demand a clear and definite answer from Outdoor Pro, and I will not accept anything less!" }, { "MessageId": 984, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Rugged Solar Power Bank features a shockproof design and solar charging capability, and the solar panels, located on the top of the power bank, absorb sunlight and convert it into energy. It is not specified in the manual the exact number of smartphone charges on a single power bank charge. I recommend reaching out to the manufacturer\u0027s support contact detailed in the user manual for more specific information on charging capacity." } ] }, { "TicketId": 419, "ProductId": 155, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 288, "ShortSummary": "Inquiry about solar charger performance in overcast conditions", "LongSummary": "Customer inquiring about Traveltech solar charger\u0027s performance in overcast conditions. Assistant clarified it can also be charged via USB and advised on storage. Customer satisfied with info, no pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 985, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I\u0027m seriously considering getting the Traveltech Portable Solar Charger for my upcoming hiking trip, but I\u0027m curious about how well it works in overcast conditions. Will it still be able to charge up my devices even when the sun isn\u0027t shining brightly? I\u0027m so excited to have a reliable power source while I\u0027m out in nature - this solar charger sounds like the perfect solution for my outdoor adventures!" }, { "MessageId": 986, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Traveltech Portable Solar Charger is designed to work effectively in direct sunlight. However, if the sun isn\u0027t shining brightly, you can also charge the solar charger using a USB cable and a power source such as a laptop or wall adapter. When not in use, it\u0027s important to store the solar charger in a safe place away from extreme temperatures and moisture to ensure its longevity." }, { "MessageId": 987, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Wow, thanks for the quick response! I didn\u0027t realize I could also charge the solar charger using a USB cable and power source. That\u0027s so handy to know, I feel even more prepared for my hiking trip now. Thanks a bunch for the helpful info!" } ] }, { "TicketId": 420, "ProductId": 103, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 289, "ShortSummary": "Need guidance on using water pouches and purifying tablets", "LongSummary": "Customer is seeking guidance on using water pouches, water filter, and purifying tablets in the Safetyex Survival Kit 5000. No response yet needed, but clear instructions required for next agent.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 991, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! \uD83C\uDF0A I just got my hands on the Safetyex Survival Kit 5000 and I\u0027m super excited about it! But I\u0027m a little confused about how to use the water pouches \uD83E\uDD64. Can you give me a quick rundown on how to use them? Also, I\u0027d love to know more about the water filter and purifying tablets - how do I use those in case of an emergency? Thanks a bunch for your help! \uD83D\uDEB0\uD83D\uDCA6" } ] }, { "TicketId": 421, "ProductId": 170, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 34, "ShortSummary": "AquaFlow Hydration System Flow Issue", "LongSummary": "Flow problem with AquaFlow System. Bite valve checked, positioned correctly, still inconsistent flow. Customer needs further assistance.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 992, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Flow problem with AquaFlow System. Can\u0027t figure it out. Help!" }, { "MessageId": 993, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "If you encounter flow problems with the AquaFlow Hydration System, follow these steps to troubleshoot the issue:\n\n1. **Check the Bite Valve**: Ensure that the Bite Valve is connected securely to the drink tube.\n2. **Position the Bite Valve**: To use the Bite Valve, position it in front of your mouth with the Hydra Pulse logo facing up.\n3. **Bite and Sip**: Gently bite down on the valve and sip to release the water flow. Release your bite to stop the flow. If you have followed these troubleshooting steps and continue to experience leakage, please contact Hydra Pulse customer support for further assistance." }, { "MessageId": 994, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still having flow problem. Bite valve secure and positioned correctly. Still can\u0027t get water to flow consistently." }, { "MessageId": 995, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "If you have followed the troubleshooting steps and continue to experience flow problems, please contact Hydra Pulse customer support for further assistance. For warranty and returns information, please refer to the user manual or visit https://northernmountains.example.com/support/returns." } ] }, { "TicketId": 422, "ProductId": 126, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "Inquiry about battery check indicator LED color discrepancy", "LongSummary": "Customer inquires about battery check indicator LED color discrepancy, seeks clarification for proper functionality. Requesting assistance to ensure beacon readiness for next adventure.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 996, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the SOS Emergency Beacon from SOS Gear and I\u0027m very impressed with its features. However, I have a question about the battery check indicator. I noticed that the LED light is flashing blue instead of the expected colors mentioned in the manual. Can you explain why this is happening? I want to make sure that the beacon is functioning properly before I head out on my next adventure. Thank you for your help." }, { "MessageId": 997, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the battery check indicator is designed to show the battery level when the battery check button is pressed. The LED light will indicate the battery status. It\u0027s important to keep an eye on the battery life to ensure the beacon is always ready for use." } ] }, { "TicketId": 423, "ProductId": 83, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 249, "ShortSummary": "Inquiry about SkyRanger HD GPS tracking", "LongSummary": "Customer inquires about GPS tracking on SkyRanger HD Aerial Drone. Assistant explains GPS waypoints, Return to Home function, and autonomous navigation. Customer appreciates info and plans to test feature.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 998, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have a question about the GPS tracking feature on the SkyRanger HD Aerial Drone. Can you explain how it works and how accurate it is? I\u0027m really interested in using it for precise aerial footage, so I want to make sure it\u0027s reliable. Thanks!" }, { "MessageId": 999, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SkyRanger HD Aerial Drone is equipped with advanced GPS tracking technology, allowing users to set specific GPS waypoints for the drone to follow during flight. This enables precise positioning and navigation, and also allows for the drone to autonomously navigate a predetermined route and capture footage along the way. In addition, the GPS tracking feature enables the Return to Home function in case of signal loss or low battery, guiding the drone back to its takeoff location for a safe landing." }, { "MessageId": 1000, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I appreciate the explanation. I will test out the GPS tracking feature and let you know if I have any further questions. Thanks!" } ] }, { "TicketId": 424, "ProductId": 164, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Inquiry about Genuine Replacement Parts", "LongSummary": "Customer inquired about purchasing genuine replacement parts for Excavator Pro 8000, was directed to MantleMaster customer service for assistance. Pending request for specific information on purchasing genuine replacement parts.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1001, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the MantleMaster Excavator Pro 8000 and I\u0027m absolutely thrilled with its performance. However, I noticed that the manual emphasizes the importance of using genuine MantleMaster replacement parts and accessories for maintenance and repairs. Could you please provide more information on where I can purchase these authentic parts? I want to ensure that I am using the best components for the upkeep of this incredible excavation tool. Thank you for your assistance!" }, { "MessageId": 1002, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Excavator Pro 8000 comes with a 3-year limited warranty. This warranty covers defects in materials and workmanship under normal use. For genuine replacement parts, please contact MantleMaster customer service at 1-800-EXCAVATE. Proof of purchase is required for all warranty claims." }, { "MessageId": 1003, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for providing the information about the warranty and the contact number for MantleMaster customer service. I will be sure to reach out to them with my proof of purchase to inquire about the genuine replacement parts. I appreciate your assistance!" }, { "MessageId": 1004, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, for genuine replacement parts, please contact MantleMaster customer service at 1-800-EXCAVATE. Proof of purchase is required for all warranty claims." }, { "MessageId": 1005, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I contacted MantleMaster customer service at 1-800-EXCAVATE with my proof of purchase and they were very helpful in providing me with the information I needed to purchase the genuine replacement parts. Thank you for your assistance in directing me to the right place!" } ] }, { "TicketId": 425, "ProductId": 37, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 290, "ShortSummary": "Missing Tools in Outdoor First Aid Kit", "LongSummary": "Customer is disappointed with missing tools in Outdoor First Aid Kit, requests clarification on misleading marketing and wants a refund. Next agent should address the missing tools and offer a resolution.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1006, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, I\u0027m not happy with the Wild Guard Outdoor First Aid Kit. I bought it thinking it would be perfect for fixing my bike on the go, but it doesn\u0027t have any tools included! How am I supposed to make repairs without a wrench or screwdriver? This kit is seriously lacking in essentials. Can you explain why it\u0027s marketed as \u0027comprehensive\u0027 when it clearly can\u0027t handle basic bike repairs? I want a refund for this misleading product." } ] }, { "TicketId": 426, "ProductId": 33, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 291, "ShortSummary": "Night Vision Troubleshooting", "LongSummary": "Customer experiencing issues with night vision on NatureCam 4K Trail Camera. Needs assistance troubleshooting night vision feature.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1007, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Camera not working at night. Need help now." }, { "MessageId": 1008, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The NatureCam 4K Trail Camera is equipped with advanced night vision technology, allowing you to capture stunning wildlife footage even in low-light conditions. To activate the night vision mode, simply press the \u0022Night Vision\u0022 button located on the front of the camera. With its built-in night vision feature, you can monitor wildlife 24/7, day or night, without disturbing their natural habitat. Get ready to experience the amazing world of wildlife like never before with the NatureCam 4K Trail Camera!" } ] }, { "TicketId": 427, "ProductId": 159, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Trouble with Solar Power Bank", "LongSummary": "Customer purchased Rugged Solar Power Bank from Outdoor Pro and needs help getting it to work. Assistant provided tips for solar charging and maintenance. Pending response needed on specific troubleshooting steps.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1009, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought the Rugged Solar Power Bank from Outdoor Pro and I\u0027m having trouble getting it to work. Can you help me?" }, { "MessageId": 1010, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Rugged Solar Power Bank from Outdoor Pro is a versatile and durable charging solution for outdoor adventures. It features solar charging capability, a built-in flashlight, and dual USB ports. To charge the power bank, place it under direct sunlight for optimal results. Additionally, make sure to store the power bank in a cool, dry place when not in use and clean the solar panels regularly for efficient solar charging." } ] }, { "TicketId": 428, "ProductId": 174, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 292, "ShortSummary": "Wi-Fi connectivity troubleshooting", "LongSummary": "Customer unable to connect camera to Wi-Fi despite troubleshooting. Needs help resolving the issue with \u0027Actionpro\u0027 app. No response yet.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1011, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am having difficulty connecting my AdventureX 4K Action Camera to Wi-Fi. I have followed the manual\u0027s instructions carefully, but the camera is not appearing in the list of available devices on the \u0027Actionpro\u0027 app. I have extensive experience with Wi-Fi connectivity and troubleshooting, so I have already tried rebooting both the camera and my smartphone, as well as resetting the Wi-Fi settings on the camera. Despite my efforts, I am still unable to establish a connection. I would greatly appreciate any assistance in resolving this issue. Thank you." } ] }, { "TicketId": 429, "ProductId": 57, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 293, "ShortSummary": "Weatherproof design confusion", "LongSummary": "Customer is confused about weatherproof design, specifically asking about the difference between withstanding light rain and being waterproof. Wants to know if it can handle heavy rain and seeking clarification on the product description.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1012, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m considering buying the PowerPort 10000 but I\u0027m confused about the weatherproof design. It says it can withstand light rain, but then it says it\u0027s not waterproof. What\u0027s the difference? Can it handle heavy rain? I don\u0027t want to buy it and then have it break in the rain. It\u0027s not very clear in the description." } ] }, { "TicketId": 430, "ProductId": 5, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 295, "ShortSummary": "Frame issue, unable to return; Seeking replacement", "LongSummary": "Customer experiencing frame issue with hammock, unable to initiate return. Advised to contact Swingnap\u0027s customer support for warranty claim. Customer insists on replacement from company.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1016, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe this! I just bought the Swingnap Double Hammock with Mosquito Net and it\u0027s already broken! The frame snapped and now I can\u0027t use it at all. This is ridiculous, I spent good money on this and now I can\u0027t even enjoy the great outdoors without bugs like it promised. I want a replacement ASAP!" }, { "MessageId": 1017, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We\u0027re sorry to hear about the issue with your Swingnap Double Hammock with Mosquito Net. Based on the product manual, the built-in mosquito net is designed to provide comfort and protection from insects. To address the issue with the frame, we recommend initiating a return for a replacement. You can begin the return process at https://northernmountains.example.com/support/returns. Please let us know if there\u0027s anything else we can assist you with." }, { "MessageId": 1018, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the link to initiate the return process for a replacement, but the website keeps giving me an error message and won\u0027t let me proceed. This is beyond frustrating! I just want a working hammock like I paid for!" }, { "MessageId": 1019, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand your frustration and apologize for the inconvenience. Based on the product manual, the Swingnap Double Hammock with Mosquito Net is backed by a 2-year warranty, covering manufacturing defects. If you believe the frame issue is due to a manufacturing defect, we recommend contacting Swingnap\u0027s customer support team for further assistance in evaluating and resolving the issue. You can reach them at the contact details provided in the user manual. We\u0027re here to support you and ensure you have a positive experience with our products." }, { "MessageId": 1020, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "This is ridiculous! I shouldn\u0027t have to deal with contacting another customer support team just to get a working hammock. I\u0027ve already wasted enough time dealing with this issue. I expect the company to take responsibility and provide me with a replacement as soon as possible!" }, { "MessageId": 1021, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We understand your frustration and apologize for the inconvenience. The Swingnap Double Hammock with Mosquito Net is backed by a 2-year warranty, covering manufacturing defects. If you believe the issue with the frame is due to a manufacturing defect, please contact Swingnap\u0027s customer support team for further assistance. You can reach them at 1-800-SWINGNAP or by email at support@swingnap.com. Our team is available to help you with any inquiries or concerns you may have about your hammock. We value your feedback and want to ensure that you have a positive experience with our products." } ] }, { "TicketId": 431, "ProductId": 183, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 296, "ShortSummary": "Inquiry about cookware set temperature limit", "LongSummary": "Customer is demanding the maximum temperature the cookware set can handle. Assistant provided product details and mentioned that the manual does not specify the maximum temperature. Pending question about the maximum temperature.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1022, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand to know the maximum temperature that the Trailblazer Compact Cookware Set can handle without overheating! I expect a prompt and detailed response, as I am considering purchasing this product and need to know its capabilities before making a decision. If I do not receive the information I require, I will take my business elsewhere." }, { "MessageId": 1023, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailblazer Compact Cookware Set is a versatile and essential addition to any camping trip. It includes a non-stick frying pan, a durable pot with lid, spatula, and spoon for creating delicious meals in the wilderness. The product manual does not specify the maximum temperature it can handle. If you have any further questions or need assistance, please feel free to ask. Thank you!" } ] }, { "TicketId": 432, "ProductId": 29, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 297, "ShortSummary": "SolarBoost Power Bank not charging", "LongSummary": "SolarBoost Power Bank not charging in direct sunlight. Customer requests replacement/refund.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1024, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely frustrated with this SolarBoost Power Bank from Ecovolt. I bought it for extended outdoor use, but it\u0027s not working at all! I followed the manual\u0027s instructions and placed it in direct sunlight, but it\u0027s still not charging. I am so disappointed with this product and need help resolving this issue. If this can\u0027t be fixed, I\u0027ll be requesting a replacement or refund." } ] }, { "TicketId": 433, "ProductId": 8, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 298, "ShortSummary": "Malfunctioning Outdoor Admin 5000", "LongSummary": "Customer Eleanor Morse seeks assistance with malfunctioning Outdoor Admin 5000. She has cared for the device and followed the manual but it still has technical issues. She requests prompt attention for repairs or replacement.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1025, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear TrailFax Customer Support,\n\nI recently purchased the Outdoor Admin 5000 and unfortunately, the device has stopped functioning properly. I have taken great care of it and followed all the instructions in the manual, but it seems to have a technical issue. I am reaching out to seek assistance in getting the product repaired or replaced. I have found the features of the device incredibly useful in managing my outdoor activities, and I hope to continue using it with your support. I would greatly appreciate your prompt attention to this matter. Thank you for your assistance.\n\nSincerely, Eleanor Morse" } ] }, { "TicketId": 434, "ProductId": 143, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 263, "ShortSummary": "Inquiry about cookware set for portable stove", "LongSummary": "Customer inquires about using the Titanium Camping Cookware Set on a portable camping stove. Assistant advises testing at home before the camping trip. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1026, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there! I just bought the Titanium Camping Cookware Set from Trail Taste and I\u0027m super excited to use it on my next camping trip. I was wondering if this cookware set is suitable for use on a portable camping stove. I want to make sure I can use it to cook all my favorite camping meals without any issues. Thanks so much for your help!" }, { "MessageId": 1027, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Titanium Camping Cookware Set from Trail Taste is recommended for use with a portable camping stove. However, we advise testing the cookware at home to familiarize yourself with the equipment and to practice setting it up, adjusting the heat, and cooking a simple meal to ensure everything is working as expected. This will ensure a smooth experience when using it on your camping trip. If you have any further questions or need assistance, feel free to reach out." } ] }, { "TicketId": 435, "ProductId": 104, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 299, "ShortSummary": "Broken water filter bottle - replacement or refund requested", "LongSummary": "Customer is frustrated with broken Puriflo Water Filter Bottle. Requesting replacement or refund. Needs further assistance with product issues.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1028, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this Puriflo Water Filter Bottle from Aquaduct! I bought it for hiking and camping, and now it\u0027s broken after just a few uses. This is not what I expected when the description claims it\u0027s perfect for outdoor activities. I want a replacement or a refund. This is unacceptable and I\u0027m extremely disappointed with the quality of this product." }, { "MessageId": 1029, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Aquaduct Puriflo Water Filter Bottle is designed to provide clean and safe drinking water for outdoor enthusiasts and travelers. It\u0027s important to inspect the components on a monthly basis to ensure they are functioning properly. If you have encountered any issues with the product, please let us know so we can assist you further." } ] }, { "TicketId": 436, "ProductId": 178, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 300, "ShortSummary": "Inquiry about high-energy ingredient sustainability", "LongSummary": "Customer is seeking assurance about the quality and sustainability of high-energy ingredients in the product. They specifically asked for details about the sourcing and production process of these ingredients. Pending response needed to address customer\u0027s concerns.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1030, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I recently purchased the PowerBar Pro 2021 and I expect it to perform as advertised. I want to ensure that the high-energy ingredients are providing the sustainable nutrition I need for my adventures. If the product does not meet my expectations, I will be seeking a refund or replacement. I need assurance that the product is of high quality and will not cause any allergic reactions. Please respond promptly to address my concerns." }, { "MessageId": 1031, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the PowerBar Pro 2021 is gluten-free and suitable for vegans, as it is made with exclusively vegan ingredients and does not contain any animal products. It is also recommended to stop consuming the product and seek medical advice if you experience any allergic reactions. Additionally, the product has a storage time of up to a year from the date of manufacture, and it should be stored in an airtight container once opened to maintain its quality and taste." }, { "MessageId": 1032, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information provided about the PowerBar Pro 2021. However, I need further assurance about the quality of the high-energy ingredients and their sustainability. Can you provide more details about the sourcing and production process of these ingredients?" } ] }, { "TicketId": 437, "ProductId": 53, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 150, "ShortSummary": "Anti-fog spray application and lifetime warranty info.", "LongSummary": "Customer has applied the anti-fog spray as instructed and will test the goggles this weekend. They appreciate the info about the limited lifetime warranty.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1033, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the GlacierTech Snowsport Goggles and I have a question about activating the anti-fog coating mentioned in the description. Can you provide me with more details on how to use the anti-fog spray and ensure that it is applied correctly for optimal performance? Thank you for your assistance." }, { "MessageId": 1034, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To activate the anti-fog coating, use the provided anti-fog spray. Apply a small amount to the inner surface of the lenses, ensuring complete coverage. Allow a few moments for the coating to fully activate before using the goggles. According to the manual, \u0022This will ensure that the coating has had sufficient time to create a protective barrier against fogging.\u0022" }, { "MessageId": 1035, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the detailed instructions. I have followed the steps and applied the anti-fog spray as directed. I will test the goggles out on the slopes this weekend and let you know if they worked well. Thank you for your assistance." }, { "MessageId": 1036, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the GlacierTech Snowsport Goggles are covered by a limited lifetime warranty. If you experience any issues with manufacturing defects, IceMaster will repair or replace them free of charge. For further assistance with persistent fogging issues or any other questions, please refer to the \u0022Contact Us\u0022 section of the manual. We hope you have a great time on the slopes!" }, { "MessageId": 1037, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information about the limited lifetime warranty. I appreciate the peace of mind knowing that I am protected against any manufacturing defects. I will definitely refer to the \u0027Contact Us\u0027 section if I encounter any persistent fogging issues. Thank you for your assistance!" } ] }, { "TicketId": 438, "ProductId": 27, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 301, "ShortSummary": "Defective AdventurePro DSLR Camera Request", "LongSummary": "Customer\u0027s AdventurePro DSLR Camera has stopped working, requesting a replacement. Followed safety precautions and only used provided accessories. Pending question: reason for camera\u0027s failure.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1038, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AdventurePro DSLR Camera and unfortunately it has stopped working. I\u0027ve followed the safety precautions outlined in the manual, and I have only used the provided accessories. I would like to request a replacement for the defective camera. I appreciate your prompt attention to this matter." } ] }, { "TicketId": 439, "ProductId": 115, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 302, "ShortSummary": "Strap Issues with Snowshoes", "LongSummary": "Customer unable to secure snowshoes, wants to return for refund.", "CustomerSatisfaction": 2, "TicketStatus": "Closed", "TicketType": "Returns", "Messages": [ { "MessageId": 1039, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Straps not working right. Need help ASAP. Snowshoes not staying on." }, { "MessageId": 1040, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to prevent the snowshoes from feeling loose while walking, make sure the straps are tightly secured around your boots and adjust the bindings to fit snugly. If needed, tighten the straps to prevent any unnecessary movement while walking." }, { "MessageId": 1041, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Straps still not working. Tried what you said, but snowshoes still falling off. Need more help." }, { "MessageId": 1042, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "It seems that the neon green strap adjusters on the sides of your snowshoes are the key to securing your feet in the snowshoes. Try pulling the straps to tighten them, ensuring a secure fit without being too restricting. This should help prevent the snowshoes from falling off. If you continue to experience issues, you may consider returning the product for a refund within 30 days as per our policy." }, { "MessageId": 1043, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried tightening the neon green strap adjusters, but snowshoes still falling off. Want to return for refund." } ] }, { "TicketId": 440, "ProductId": 57, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 218, "ShortSummary": "PowerPort 10000 Charger Not Working", "LongSummary": "Customer purchased PowerPort 10000 Portable Charger, it\u0027s now not working. Customer requests help to figure out next steps regarding potential repair or replacement.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1046, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the PowerPort 10000 Portable Charger from Charge Mate and I seem to have accidentally broken it. I\u0027m not sure what happened, but now it\u0027s not working. I\u0027m really embarrassed and I hope I didn\u0027t cause any damage that\u0027s not covered. Can you please help me figure out what to do next? Thank you so much." }, { "MessageId": 1047, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the PowerPort 10000 Portable Charger is equipped to charge multiple devices simultaneously. It allocates the proper power output to each device for efficient charging. If you believe your charger may be defective and requires repair or replacement, please refer to the warranty information provided with your product for instructions on how to obtain service." } ] }, { "TicketId": 441, "ProductId": 144, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 169, "ShortSummary": "Rain Usage Inquiry", "LongSummary": "Customer inquiring about using ProLite Climbing Harness in the rain. Assistant recommended contacting RidgeRope customer support for detailed info. Pending question about usage in wet conditions.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1048, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I just got the ProLite Climbing Harness from RidgeRope and I\u0027m wondering if it\u0027s okay to use it in the rain. Will it get damaged if it gets wet? Thanks!" }, { "MessageId": 1049, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The RidgeRope ProLite Climbing Harness is designed with durable materials and features a secure, easy-to-use buckle system for quick adjustments and a snug fit. It also includes gear loops for convenient storage of climbing equipment. However, the manual does not specify whether the harness can be used in the rain. For detailed information on usage in wet conditions, I recommend reaching out to RidgeRope\u0027s customer support as detailed in the user manual." }, { "MessageId": 1050, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Okay, will contact RidgeRope\u0027s customer support for info on using the harness in the rain. Thanks!" }, { "MessageId": 1051, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The RidgeRope ProLite Climbing Harness is designed with durable materials and features a padded waistbelt and leg loops for added comfort during extended use. However, the manual does not specify whether the harness can be used in the rain. For detailed information on usage in wet conditions, I recommend reaching out to RidgeRope\u0027s customer support as detailed in the user manual." } ] }, { "TicketId": 442, "ProductId": 104, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 304, "ShortSummary": "Non-working water filter bottle - replacement or refund needed", "LongSummary": "Customer demands replacement or refund for non-working Puriflo Water Filter Bottle. Wants prompt response and resolution. Assistance needed for return or refund process.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1052, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just bought the Puriflo Water Filter Bottle and it\u0027s not working properly! I demand a replacement or a refund immediately. I shouldn\u0027t have to deal with this kind of inconvenience after spending my hard-earned money on your product. I expect a prompt response and resolution to this issue!" }, { "MessageId": 1053, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience you\u0027ve experienced with the Puriflo Water Filter Bottle. According to the manual, the Puriflo Water Filter Bottle is designed to meet the needs of outdoor enthusiasts and travelers who require a reliable and efficient water filtration solution. Its superior performance, durability, and portability make it an essential tool for anyone who values access to clean and safe drinking water in any environment. If you believe the product is defective, you may be eligible for a return or refund. For further assistance, please refer to the manufacturer\u0027s support contact details in the user manual." }, { "MessageId": 1054, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already checked the user manual and followed all the instructions, but the Puriflo Water Filter Bottle still isn\u0027t working properly. I want a replacement or a refund as soon as possible!" } ] }, { "TicketId": 443, "ProductId": 71, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 305, "ShortSummary": "Inquiry about Signal Booster 2000 heat generation", "LongSummary": "Customer inquired about normal heat generation of Signal Booster 2000. Received reassurance from assistant. No pending question.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1055, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Trailcom Signal Booster 2000 and I just wanted to confirm that it\u0027s normal for the device to generate some heat during prolonged use at maximum signal boosting levels. I want to ensure that the product is behaving as expected and to make sure that I\u0027m using it correctly. Your assistance in providing reassurance would be greatly appreciated. Thank you." }, { "MessageId": 1056, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Trailcom Signal Booster 2000 is designed to enhance signal strength for off-grid communication in remote areas. It complies with all relevant regulatory standards and is designed to operate within approved frequency bands and power levels to ensure minimal interference with other communication systems. As for the heat generation, I\u0027d recommend using the device within the specified operational conditions to ensure optimal performance. If you have any concerns about the device, feel free to contact us for further assistance." }, { "MessageId": 1057, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your prompt response. I appreciate the information provided. I will make sure to use the device within the specified operational conditions as per the manual. If I encounter any further issues, I will definitely reach out for assistance. Thank you again for your help." } ] }, { "TicketId": 444, "ProductId": 4, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 306, "ShortSummary": "Inquiry about portable water filter for saltwater use", "LongSummary": "Customer Maxine Shaw asks if the portable water filter can handle saltwater due to living near the ocean. The pending question needs a response regarding the water filter\u0027s capability with saltwater.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1058, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I just bought the Life Guard X Emergency Survival Kit and I\u0027m super excited to be prepared for anything! I have a quick question - can the portable water filter handle saltwater? I live near the ocean and want to make sure I\u0027m covered in case of an emergency. Thanks so much for your help!" } ] }, { "TicketId": 445, "ProductId": 44, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 307, "ShortSummary": "Emergency Kit Missing Compass Query", "LongSummary": "Customer wants explanation for lack of compass in emergency kit. Expresses concern about navigating without cell service or GPS. Needs a detailed response addressing the necessity of a compass in emergency situations.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1059, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe this emergency kit doesn\u0027t come with a compass! What good is it without a way to navigate? I can\u0027t trust its reliability without such a basic survival tool. I demand an explanation for this oversight!" }, { "MessageId": 1060, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I apologize for the oversight. The RescueTech Emergency Kit is designed to prioritize essential survival tools. However, I understand your concern. If you have any further questions or need assistance with anything else, please feel free to ask." }, { "MessageId": 1061, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I still don\u0027t understand how a compass isn\u0027t considered essential in an emergency kit. What if I need to navigate in an area without cell service or GPS? This is unacceptable!" } ] }, { "TicketId": 446, "ProductId": 59, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 308, "ShortSummary": "Troubleshooting Explorer 3000 Kayak issues", "LongSummary": "Customer purchased Explorer 3000 Kayak from Aqua Venture and is experiencing issues. Asked for help with specific troubleshooting steps. Pending question: What should I do if the issue persists? Next support agent should provide further troubleshooting steps or advise on contacting customer support for assistance.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1062, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I recently purchased the Explorer 3000 Kayak from Aqua Venture and I\u0027m experiencing some issues with it. Can you please help me with this?" }, { "MessageId": 1063, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, ensure that the battery is fully charged and properly inserted into the battery compartment. Check for any signs of damage to the battery or the kayak\u0027s power system. If the issue persists, please contact Aqua Venture customer support for further assistance." } ] }, { "TicketId": 447, "ProductId": 147, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 309, "ShortSummary": "Inquiry about adjustable gimbal for landscape photography", "LongSummary": "Customer inquired about SkyMaster X2000\u0027s adjustable gimbal control for capturing landscapes. Customer tested feature successfully. No pending questions. Next response should offer further assistance or tips for using the drone\u0027s features.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1064, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I recently stumbled upon the SkyMaster X2000 and I am absolutely thrilled about the 4K camera and GPS navigation features. I\u0027m an avid outdoor photographer and this drone seems like the perfect tool to take my photography to new heights (literally!). I\u0027m really interested in knowing more about how the adjustable gimbal control works - being able to change the camera angle mid-flight sounds like a game-changer for capturing different perspectives. Can you give me some insight into how well the SkyMaster X2000 performs for capturing breathtaking landscapes? Thanks a bunch!" }, { "MessageId": 1065, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SkyMaster X2000 features an adjustable gimbal that allows you to control the camera angle mid-flight. Using the AeroVision app, you can adjust the tilt of the camera to capture different perspectives and angles while the drone is in the air. This feature is designed to enhance your ability to capture breathtaking landscapes and achieve unique perspectives. The SkyMaster X2000 also boasts a high-quality 4K camera for capturing stunning photos and videos from the sky. To capture a photo, you simply need to press the dedicated camera button on the remote controller. I hope this information helps with your decision! Let me know if there\u0027s anything else I can assist you with." }, { "MessageId": 1066, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you so much for the information! I\u0027m super excited to test out the adjustable gimbal feature and see how it enhances my photography. I\u0027ll definitely give it a go and let you know how it turns out. You\u0027ve been super helpful, thanks a bunch!" }, { "MessageId": 1067, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the SkyMaster X2000 features an adjustable gimbal that allows you to control the camera angle mid-flight. Using the AeroVision app, you can adjust the tilt of the camera to capture different perspectives and angles while the drone is in the air. Simply swipe or use the on-screen controls to tilt the camera up or down, giving you ultimate control over your aerial footage. Be sure to practice using the gimbal controls before attempting complex maneuvers to ensure smooth and fluid camera movements. I hope this information helps! Let me know if there\u0027s anything else I can assist you with." }, { "MessageId": 1068, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there! I tried out the adjustable gimbal feature and it worked like magic! I was able to capture some stunning aerial footage of the landscapes around my area. Thanks so much for your help, I\u0027m absolutely loving the SkyMaster X2000!" } ] }, { "TicketId": 448, "ProductId": 88, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 310, "ShortSummary": "Performance issues with RapidFlow Kayak Paddle", "LongSummary": "Customer experiencing issues with the RapidFlow Kayak Paddle. Claims to be using it as instructed, but still has performance issues. Needs further assistance to diagnose the problem.", "CustomerSatisfaction": 3, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1069, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with this RapidFlow Kayak Paddle! I can\u0027t believe it\u0027s supposed to be lightweight and durable when I can\u0027t even make it work properly. It\u0027s not living up to its description at all. I need help figuring out why it\u0027s not performing as expected. This is really disappointing." }, { "MessageId": 1070, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear about your experience with the RapidFlow Kayak Paddle. According to the user manual, the paddle is designed for use in white water rapids only and should not be used in calm water or open sea conditions. Using the paddle outside of its intended environment may result in loss of control and serious injury. If you have been using it in conditions other than white water rapids, this might be the reason for the performance issues. Please let us know if that\u0027s the case or if you need further assistance." }, { "MessageId": 1071, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve only been using the paddle in white water rapids as instructed, so that can\u0027t be the reason for the performance issues. I need further assistance to figure out what\u0027s going on with this paddle." } ] }, { "TicketId": 449, "ProductId": 199, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 311, "ShortSummary": "Inquiry about solar charger for RV refrigerator", "LongSummary": "Customer inquiring about using the solar charger to power an RV refrigerator. Asks for guidance on best setup. Needs advice on compatibility and setup specifics.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1072, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the SunShift 100W Solar Charger and I\u0027m considering using it to power a small refrigerator in my RV. I\u0027ve read about its fast charging and durability, so I think it should be able to handle the task. Can you provide any guidance on how to best set it up for this purpose? Thank you." } ] }, { "TicketId": 450, "ProductId": 159, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 169, "ShortSummary": "Assistance with Solar Charging Feature", "LongSummary": "Customer needs assistance with using the solar charging feature on the Rugged Solar Power Bank. Agent provided detailed instructions for using the solar panel for charging. Customer will try and report back if any issues.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1075, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t figure out how to use the solar charging feature on the Rugged Solar Power Bank. Can you help me with this? Thanks!" }, { "MessageId": 1076, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To charge the Rugged Solar Power Bank, place it under direct sunlight for optimal results. The solar panels, located on the top of the power bank, will absorb sunlight and convert it into energy. Ensure that the panels are facing the sun directly to maximize charging efficiency. It may take several hours to fully charge the power bank using solar power, depending on the intensity of sunlight. The maximum input for the solar panel is 5V, ensuring efficient and safe charging when using solar power. When charging the power bank via solar panel, ensure to do so in an open, outdoor area with direct sunlight for optimal charging efficiency." }, { "MessageId": 1077, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information. I will try charging the power bank under direct sunlight and see if it works. I\u0027ll let you know if I encounter any issues." } ] }, { "TicketId": 451, "ProductId": 154, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 312, "ShortSummary": "Live Tracking Issue on GPS Personal Locator", "LongSummary": "Customer Eliot Jensen is experiencing issues with live tracking on the GPS Personal Locator despite following instructions and troubleshooting steps. Additional support is needed to resolve the issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1078, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, I just got the GuardianGear GPS Personal Locator and I\u0027m not sure if it\u0027s working right. I tried the live tracking feature but it seems off. Can you help me figure it out?" }, { "MessageId": 1079, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To initiate live tracking, please press and hold the \u0022Live Tracking\u0022 button, which is conveniently located on the side of the device, until the LED indicator light illuminates in a lovely shade of green. The locator will then commence transmitting your precise location in real time to our esteemed servers. If you experience any inaccuracies in the live tracking feature of the GPS Personal Locator, we recommend moving to an open outdoor area with clear visibility to the sky to ensure a stronger GPS signal. Additionally, kindly wait for a few moments for the device to recalibrate and update its location. If issues persist, please contact customer service for additional support." }, { "MessageId": 1080, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried live tracking outside but still not working" }, { "MessageId": 1081, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The live tracking feature can be initiated by pressing and holding the \u0022Live Tracking\u0022 button until the LED indicator light turns green. If inaccuracies persist, try moving to an open outdoor area with clear visibility to the sky and wait for the device to recalibrate. If issues persist, please contact customer service for additional support. According to the manual, for troubleshooting issues with the GPS Personal Locator, please consult the troubleshooting section of the manual for guidance, and if the issue persists, contact customer support for further assistance." }, { "MessageId": 1082, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Still not working after trying all suggestions" } ] }, { "TicketId": 452, "ProductId": 121, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 313, "ShortSummary": "HydroTech 5000 Scuba Diving Support", "LongSummary": "Customer excited to use HydroTech 5000 for scuba diving trip. Seeks tips for underwater use and app pairing. Agent provided info on battery indicator and app pairing process. Pending question on underwater suitability.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1083, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there! I just bought the HydroTech 5000 and I am so excited to use it for my upcoming scuba diving trip! I heard it has a GPS navigation system, and I can\u0027t wait to set waypoints and explore the waters with ease. I\u0027m a bit unsure if it\u0027s suitable for scuba diving, can you give me some tips on using it underwater? Thanks so much!" }, { "MessageId": 1084, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The HydroTech 5000 comes with a battery level indicator, so you can keep an eye on the remaining battery percentage to plan your activities accordingly. To use the GPS navigation system underwater, make sure to pair your smartphone with the HydroTech 5000 using the WaterRover app. Follow the steps in the manual to complete the pairing process." } ] }, { "TicketId": 453, "ProductId": 9, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 314, "ShortSummary": "Product misunderstanding, seeking cake warming solutions", "LongSummary": "Customer misunderstood product use, seeking alternate cake warming solutions. Next agent should suggest cake warmer or portable food warmer options.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1085, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AltitudeShield Pro for my high-altitude baking needs. I assumed that it would also keep my cakes warm, but unfortunately, it doesn\u0027t seem to do that. I didn\u0027t see anything in the description or manual about temperature control, so I just assumed it would work that way. Can you help me figure out how to keep my cakes warm with this product?" }, { "MessageId": 1086, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the AltitudeShield Pro is not suitable for use in any environment other than high-altitude locations. It should not be used to protect cakes or baked goods at sea level or in normal atmospheric conditions. I apologize for the inconvenience." }, { "MessageId": 1087, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh, I see. I guess I misunderstood the product description. Is there anything else I can use to keep my cakes warm at sea level?" }, { "MessageId": 1088, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry, but the product manual does not contain information on how to keep cakes warm at sea level. You may want to consider using a dedicated cake warmer or a portable food warmer for this purpose." }, { "MessageId": 1089, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your help. I will look into getting a dedicated cake warmer or portable food warmer. Hopefully, that will solve my problem." } ] }, { "TicketId": 454, "ProductId": 112, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 315, "ShortSummary": "Detailed Ventilation Inquiry", "LongSummary": "Customer Evan Caldwell seeks detailed information about the design and placement of ventilated channels and vents in the Trailblazer Carbon Fiber Mountain Bike Helmet. Next support agent should provide specific technical details on the ventilation system.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1090, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear support team, I am considering purchasing the Trailblazer Carbon Fiber Mountain Bike Helmet from Cyclextreme, and I have some technical questions about its ventilation and cooling features. The manual mentions \u0027exquisitely designed ventilated channels and strategically placed vents\u0027 that provide a \u0027regal level of comfort.\u0027 Can you provide more detailed information about the specific design and placement of these ventilated channels and vents? I am particularly interested in understanding how the ventilation system efficiently dissipates heat, as I aim to make an informed decision based on the superior technical capabilities of this product. Your prompt and detailed response would be greatly appreciated. Thank you." }, { "MessageId": 1091, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Trailblazer Carbon Fiber Mountain Bike Helmet is equipped with advanced ventilation through exquisitely designed ventilated channels and strategically placed vents. It is designed to provide a level of comfort that is positively regal. To maximize ventilation and comfort, it is recommended to ensure the front vents are clear of any obstructions such as mud or debris before each use. If you need more detailed information, you can refer to the user manual for the Trailblazer Carbon Fiber Mountain Bike Helmet." }, { "MessageId": 1092, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. I have checked the user manual as suggested, and it does offer some insight into the ventilation system of the Trailblazer Carbon Fiber Mountain Bike Helmet. However, I was hoping for more specific details regarding the design and placement of the ventilated channels and vents. Could you please provide more detailed information about how the ventilation system efficiently dissipates heat, as I aim to make an informed decision based on the superior technical capabilities of this product?" } ] }, { "TicketId": 455, "ProductId": 63, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 316, "ShortSummary": "Trouble setting up solar-powered string lights", "LongSummary": "Customer had trouble setting up solar-powered string lights, needed assistance to understand how to connect LED lights to solar panel and how to charge the lights. Assistant provided detailed explanation on how the lights work, how to connect the LED lights to the solar panel, and how to charge the lights. Customer successfully set up and charged the lights, and expressed appreciation for the assistance.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1093, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Luminartech Solar-Powered String Lights and I\u0027m having trouble getting them set up. I\u0027m not sure how to connect the LED lights to the solar panel and I\u0027m confused about how they charge. I really want to create a magical atmosphere in my backyard, but I can\u0027t figure it out. Can you please help me understand how to assemble and charge the lights? Thank you so much!" }, { "MessageId": 1094, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Luminartech Solar-Powered String Lights are designed to be long-lasting and provide hours of continuous illumination throughout the night. They are solar-powered, meaning there\u0027s no need for electricity or batteries as the built-in solar panel harnesses the power of the sun to charge the lights during the day. You can effortlessly create a magical outdoor atmosphere with these waterproof and durable string lights, perfect for camping trips or backyard gatherings." }, { "MessageId": 1095, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh wow, thank you for explaining how the lights work! I didn\u0027t realize they were solar-powered, so that makes so much more sense now. I\u0027ll try connecting the LED lights to the solar panel and see if I can get them to charge. Thank you for your help!" }, { "MessageId": 1096, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m glad to hear that you found the information helpful! According to the manual, you can attach the LED lights to the solar panel by connecting the male and female connectors. In terms of charging, make sure to place the solar panel in a location where it can receive direct sunlight for at least 6-8 hours to fully charge the battery. The built-in light sensor will automatically turn the lights on at dusk and off at dawn to conserve energy. If you have any further questions or need additional assistance, feel free to reach out to us." }, { "MessageId": 1097, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you so much for your help! I connected the LED lights to the solar panel and placed it in direct sunlight for 8 hours. It worked like magic and now my backyard looks absolutely beautiful at night! I appreciate your assistance in helping me understand how to set up and charge the lights." } ] }, { "TicketId": 456, "ProductId": 76, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 208, "ShortSummary": "Unresponsive Controls and Sound Issues", "LongSummary": "Customer is frustrated with unresponsive controls and sound issues. Maintenance steps performed without success. Demands immediate resolution or else will consider returning the product for a refund. Next response should address specific troubleshooting steps or warranty information.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1098, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely frustrated with my UltiBASS Wilderness DJ Pro! I bought it for outdoor adventures, but the control panel buttons are unresponsive, and I can\u0027t get the sound to work properly. This is not what I expected from a rugged, high-tech setup that can supposedly withstand any environment. I need help with these issues immediately or else I\u0027ll have to consider returning this product for a refund." }, { "MessageId": 1099, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "We apologize for the inconvenience. Before considering a return, we recommend performing general maintenance steps to troubleshoot the issues with the Wilderness DJ Pro. If the issue persists, the product is covered by a generous warranty, and you may refer to the warranty information in the manual for details on repair or refund options." }, { "MessageId": 1100, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I tried performing the general maintenance steps as suggested, but the issues with the Wilderness DJ Pro persist. I am extremely disappointed with the product and the fact that it is not living up to its promised ruggedness. I demand a resolution to this issue immediately." } ] }, { "TicketId": 457, "ProductId": 99, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 149, "ShortSummary": "Inquiry about Summit 3000 Trekking Backpack", "LongSummary": "Customer inquires about Summit 3000\u0027s suitability for long treks, durability, warranty coverage, and technical support. Needs detailed information and assistance.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1101, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I am considering purchasing the Summit 3000 Trekking Backpack for my upcoming hiking trip. Can you provide information on the backpack\u0027s suitability for long-distance treks and its durability? I am also interested in the warranty coverage and technical support available for this product. Thank you for your assistance." } ] }, { "TicketId": 458, "ProductId": 156, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 317, "ShortSummary": "Crampons fitting and effectiveness", "LongSummary": "Customer expressed concern about Arctic Ice Grip Crampons not working as expected, received fitting tips, and reported improved confidence after testing them. Next agent should confirm if customer\u0027s issue is resolved and offer further assistance if needed.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1102, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Arctic Ice Grip Crampons and I\u0027m a little concerned that they might not be working as expected. I\u0027ve been slipping a lot on icy terrain, and I\u0027m worried that I might be doing something wrong. I really want to love these crampons, but I\u0027m just not feeling confident in them. Can you please provide me with some reassurance or tips on how to use them effectively? Thank you so much for your help." }, { "MessageId": 1103, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hi there! To ensure the effectiveness of your Arctic Ice Grip Crampons, it\u0027s important to adjust the fit properly before use. Here are some tips for putting them on: Before you head out into the winter wonderland, let\u0027s make sure you know how to properly put on your Arctic Ice Grip Crampons. \u2744\uFE0F\uD83D\uDD28 Following these maintenance guidelines will help prolong the life of your Arctic Ice Grip Crampons and ensure they are ready for your next adventure on icy terrain. If you encounter any fitting issues, please let us know. Additionally, if you have any further concerns, feel free to reach out to us. Thank you!" }, { "MessageId": 1104, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the tips! I adjusted the fit of the crampons as suggested, and I can already feel the difference. I went for a short walk on icy terrain and didn\u0027t slip once. I\u0027m feeling much more confident now. I really appreciate your help!" } ] }, { "TicketId": 459, "ProductId": 101, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 318, "ShortSummary": "Defective Lantern Flickering", "LongSummary": "Lumina LED Camping Lantern flickering, changed batteries, still flickering. Customer seeking further assistance with defective lantern. Refund or manufacturer support needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1105, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, my Lumina LED Camping Lantern is flickering when I turn it on. Is it supposed to do that? Do I need new batteries?" }, { "MessageId": 1106, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the product manual, the Ultraglow Lumina LED Camping Lantern is designed to provide reliable light in outdoor settings. If your lantern is flickering or not turning on, you may need to check the batteries and ensure they are properly inserted. If the issue persists, feel free to contact our friendly customer service team for assistance." }, { "MessageId": 1107, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Changed batteries, still flickering. What should I do now?" }, { "MessageId": 1108, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry, the user manual does not provide specific information about flickering issues. However, based on the troubleshooting steps we\u0027ve already tried, it seems like the lantern may have a defect. You may initiate a return for a refund or contact the manufacturer for further support." } ] }, { "TicketId": 460, "ProductId": 75, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 122, "ShortSummary": "Difficulty setting up emergency contacts", "LongSummary": "Customer needs clear instructions on setting up emergency contacts for the Escapesafe GPS Locator Beacon. Clarify steps and confirm receipt of instructions.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1111, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Escapesafe GPS Locator Beacon and I\u0027m having trouble understanding how to set up the emergency contacts. I want to ensure that my emergency contacts are notified in case of an emergency while I\u0027m out hiking. Can you please provide me with clear instructions on how to set up the emergency contacts on the beacon? Thank you." } ] }, { "TicketId": 461, "ProductId": 88, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 320, "ShortSummary": "Expertise \u0026 Environment Concern for RapidFlow Kayak Paddle", "LongSummary": "Customer has concerns about expertise required for RapidFlow Kayak Paddle. Disappointed with limitation to white water rapids only. Needs alternative paddle options.", "CustomerSatisfaction": 3, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1112, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I was considering buying the RapidFlow Kayak Paddle, but after reading your manual, I have serious concerns. You mention the risk of injury or death and the need for experienced paddlers, which makes me question if this paddle is suitable for someone like me. Can you provide more information about the level of expertise required to use this paddle safely? I need to understand the specific usage scenarios in which this paddle is appropriate before making a purchase decision." }, { "MessageId": 1113, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The RapidFlow Kayak Paddle is an advanced piece of kayaking gear that requires extreme caution and skill to operate. It is designed for use in white water rapids only and should not be used in calm water or open sea conditions. Attempting to use the paddle outside of its intended environment may result in loss of control and serious injury. For specific usage scenarios, please refer to the user manual. If you have any concerns about your level of expertise, we recommend seeking guidance from experienced kayakers or contacting the manufacturer for further instructions." }, { "MessageId": 1114, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I find it very concerning that the paddle is designed for use in white water rapids only. I was hoping for a paddle that I could use in a variety of environments. This limitation is a deal-breaker for me. I will need to look for a different paddle that suits my needs better." } ] }, { "TicketId": 462, "ProductId": 67, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 321, "ShortSummary": "Unclear shelf life info for hiking trip", "LongSummary": "Customer needs clear shelf life info for the Nutritech Energy Bars Variety Pack before hiking trip. Manual and manufacturer have been unhelpful. Customer is frustrated and seeking direct answer.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1115, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m considering buying the Nutritech Energy Bars Variety Pack for my hiking trip, but I can\u0027t find any information about the shelf life. It\u0027s crucial for me to know how long these bars will last before I commit to a purchase. Can you please provide me with this information? I don\u0027t want to end up with expired bars on my trip." }, { "MessageId": 1116, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the shelf life of the Nutritech Energy Bars Variety Pack is indicated on the packaging. It is recommended to keep the bars in their original packaging or in an airtight container to maintain freshness. The manual also advises avoiding exposure to extreme temperatures or humidity, as this can affect the quality of the product. If you have the packaging, you should be able to find the shelf life information there. If you have any further questions, feel free to ask." }, { "MessageId": 1117, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I checked the packaging like you suggested, and I still couldn\u0027t find the shelf life information. This is really frustrating! I need to know how long these bars will last before I go on my trip. Can you please provide me with a direct answer instead of just referring me back to the packaging?" }, { "MessageId": 1118, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Nutritech Energy Bars Variety Pack should be stored in a cool, dry place away from direct sunlight. However, the specific shelf life information is not provided in the manual. I apologize for the inconvenience. I recommend reaching out to the manufacturer\u0027s contact information provided in the manual for further assistance regarding the shelf life of the energy bars. If you have any other questions, feel free to ask." }, { "MessageId": 1119, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already reached out to the manufacturer\u0027s contact information provided in the manual, and they couldn\u0027t provide me with the shelf life information either. This is incredibly frustrating. I need to know how long these bars will last before I go on my trip, and I\u0027m not getting any clear answers. This is unacceptable." }, { "MessageId": 1120, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Nutritech Energy Bars Variety Pack is designed to provide a quick and convenient source of nutrition for outdoor adventures. With a high-protein, low-sugar formula, these energy bars offer a perfect balance of energy and taste. Whether you\u0027re hiking, cycling, or camping, the Nutritech Energy Bars Variety Pack is the ideal choice to fuel your next excursion. The variety pack includes a selection of delicious flavors to keep your energy levels up during outdoor activities. If you have any further questions, feel free to ask." } ] }, { "TicketId": 463, "ProductId": 83, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 322, "ShortSummary": "Confusion about battery storage and camera settings", "LongSummary": "Customer is confused about battery storage and camera settings. Needs clarification on battery storage during shoots and available camera resolutions.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1121, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t understand why your manual says to store the battery at room temperature when it\u0027s supposed to be used for outdoor aerial filming. How am I supposed to keep it at room temp during a shoot? This seems like a major design flaw! And don\u0027t get me started on the camera settings. Why does it only offer 720p, 1080p, and 4K? What about the in-between resolutions? I\u0027m not convinced this drone is as great as you claim it to be." }, { "MessageId": 1122, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The manual recommends storing the battery at room temperature in a dry place when it\u0027s not in use. Extreme temperatures and moisture can cause damage to the battery cells. As for the camera settings, the available resolutions are 720p, 1080p, and 4K. For exposure and white balance, you can navigate to the camera settings menu to make adjustments." } ] }, { "TicketId": 464, "ProductId": 168, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 323, "ShortSummary": "Inquiring about WildDJ Pro Mixer battery performance", "LongSummary": "Customer inquires about maintaining optimal battery performance for WildDJ Pro Mixer. Assistant advises regular charging and delicate charging cable usage. No pending questions.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1123, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear PeakMix Support Team, I recently purchased the WildDJ Pro Mixer for an upcoming wilderness party, and I am incredibly impressed with its rugged construction and advanced mixing features. However, I have a rather specific concern about the battery life. I understand that the manual mentions storing the device in a cool, dry place when not in use to prolong battery life, but I\u0027m curious if there are any additional tips or precautions I should be aware of to ensure optimal battery performance. Your assistance in this matter would be greatly appreciated. Thank you for your attention to this matter. Sincerely, Eleanor Chang" }, { "MessageId": 1124, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to maintain optimal battery performance, it is essential to charge your WildDJ Pro Mixer regularly, even when not in use. This practice will ensure that the battery retains its charge capacity and remains ready for your next wilderness DJing escapade. Additionally, delicate care should be taken when inserting the charging cable to avoid any damage to the battery." }, { "MessageId": 1125, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear PeakMix Support Team, Thank you for your prompt response and helpful advice. I have been charging the WildDJ Pro Mixer regularly as suggested, and I will continue to do so to maintain optimal battery performance. I appreciate your assistance in addressing my concern. Sincerely, Eleanor Chang" } ] }, { "TicketId": 465, "ProductId": 93, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 324, "ShortSummary": "LED indicator light issue", "LongSummary": "Customer is having trouble with LED indicator light on stove. Assistant advised to charge for 4 hours before use. Waiting for customer to confirm if it works.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1126, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m embarrassed to admit that I can\u0027t seem to get the LED indicator light on my SunChef Solar Powered Stove to illuminate. I\u0027ve followed all the setup steps and made sure it\u0027s in direct sunlight, but the light just won\u0027t turn on. I feel like I must be missing something really obvious, but I can\u0027t figure out what it is. I was really looking forward to cooking with renewable solar energy, so I hope there\u0027s a simple solution to this. Any help or advice would be greatly appreciated. Thank you." }, { "MessageId": 1127, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the LED indicator light on the stove should illuminate when the stove is charging. It\u0027s recommended to place the stove in direct sunlight with the reflector facing the sun and open the solar panels to expose them to sunlight. Have you tried charging the stove for at least 4 hours before its first use? This should ensure optimal performance. Let me know if this helps." }, { "MessageId": 1128, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I feel so silly! I didn\u0027t realize I needed to charge it for at least 4 hours before using it. I\u0027ll give it a try and let you know if it works. Thanks for your help!" }, { "MessageId": 1129, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the LED indicator light on the stove will illuminate to indicate that the stove is charging. It\u0027s recommended to allow the stove to charge for at least 4 hours before its first use to ensure optimal performance. I hope this information is helpful. Please let us know if you have any further questions or if there\u0027s anything else we can assist you with." } ] }, { "TicketId": 466, "ProductId": 157, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 325, "ShortSummary": "Difficulty switching to photo mode on 360X camera", "LongSummary": "Customer is unable to switch to photo mode on 360X Action Camera despite following provided steps. Customer demands a better solution or refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1130, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the 360X Action Camera from Extremeview expecting it to work flawlessly, but I am unable to switch to photo mode. This is unacceptable considering the price I paid for this supposedly high-quality camera. I demand immediate assistance in resolving this issue or else I will be seeking a refund." }, { "MessageId": 1131, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To switch to photo mode on the 360X Action Camera, make sure the camera is turned on by pressing the power button, and then press the mode button until the LED screen indicates photo mode. Once in photo mode, you can capture photos by pressing the shutter button. According to the manual, these are the steps to take photos with the 360X Action Camera." }, { "MessageId": 1132, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the steps you provided, and I still cannot switch to photo mode on the 360X Action Camera! This is absolutely ridiculous. I expect a better solution or else I will be demanding a refund." }, { "MessageId": 1133, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To switch to photo mode on the 360X Action Camera, press the Mode button on the front of the camera until the Photo icon is displayed on the screen. Once in photo mode, frame your shot using the 360-degree rotating lens and press the Shutter button to capture the photo. If you encounter issues, you can also access advanced photo settings through the Camera Settings menu by pressing the Menu button. I hope this helps!" } ] }, { "TicketId": 467, "ProductId": 190, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 326, "ShortSummary": "Immediate Assistance Needed for UltraLight Poles 300", "LongSummary": "Customer Harper Green demands immediate assistance with UltraLight Poles 300, citing dissatisfaction and concern for retail customer satisfaction. Assistant provides product details and asks for specific issues to assist further.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1134, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I demand immediate assistance with my UltraLight Poles 300! They are not performing as described and I expect a quick resolution. I am a retailer and cannot afford to have dissatisfied customers. This is unacceptable!" }, { "MessageId": 1135, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailtrek UltraLight Poles 300 are designed to provide hikers with reliable and stable support on varying terrains. The poles are constructed with durable carbon material for lightweight yet sturdy support. They also feature adjustable height settings and ergonomically designed handles for a comfortable grip. If your UltraLight Poles 300 are not performing as described, please let us know the specific issue you are facing so that we can assist you further." } ] }, { "TicketId": 468, "ProductId": 107, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 159, "ShortSummary": "Inquiry about weight capacity and maintenance tips", "LongSummary": "Customer inquiring about weight capacity, maintenance tips, and warranty coverage. Previous responses emphasized limitations and warranty details. Further guidance on proper usage and maintenance needed.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1136, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there, Team Polepro! I\u0027m absolutely loving the UltraGrip 3000 Trekking Poles so far. These bad boys have been such a game-changer on the trails! Quick question for you - I noticed the carbon construction and ergonomic grips are mentioned in the product description, but can you tell me more about the weight capacity of these poles? Also, do you have any tips for maintaining the tips and the locking mechanism? Thanks a bunch, you guys rock!" }, { "MessageId": 1137, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear valued customer, thank you for your positive feedback about the UltraGrip 3000 Trekking Poles. However, I must inform you that according to the product manual, the weight capacity of these poles is not specified. It is recommended to use the poles on well-maintained trails only, and they should not be used for mountaineering or under any other circumstances. As for maintenance tips, the manual advises inspecting the tips regularly and replacing them if signs of wear are present. Regarding the warranty, the poles come with a limited warranty that covers manufacturing defects only, and does not cover damages resulting from misuse, abuse, or improper handling. Any alterations or modifications to the trekking poles will void the warranty. If you have any further questions or concerns, please feel free to reach out. AdventureWorks Support" }, { "MessageId": 1138, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey AdventureWorks Support! Thanks for the info, I\u0027ll make sure to keep the trails well-maintained and won\u0027t push the poles beyond their limits. I\u0027ll also keep an eye on the tips and will reach out if I notice any wear. You guys have been super helpful, appreciate it!" }, { "MessageId": 1139, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear valued customer, according to the product manual, the UltraGrip 3000 Trekking Poles are not suitable for mountaineering or any outdoor activities other than well-maintained trails. The lightweight carbon construction and ergonomic grips do not make the product safe or suitable for extreme conditions. It is advised to inspect the tips regularly and replace them if signs of wear are present. The trekking poles come with a limited warranty that covers manufacturing defects only, and any alterations or modifications will void the warranty. If you have any further questions or concerns, please feel free to reach out. AdventureWorks Support" } ] }, { "TicketId": 469, "ProductId": 12, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 327, "ShortSummary": "Troubleshooting route calculation on TrailGPS 5000", "LongSummary": "Customer needs guidance troubleshooting route calculation issue on TrailGPS 5000. Asked for tips on diagnostics, battery life, and steps to take if issue persists. Pending assistance to troubleshoot issue further.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1140, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the TrailGPS 5000 and I\u0027m having trouble with the route calculation feature. It\u0027s not working as expected and I\u0027m not sure what to do. I tried updating the maps, but it didn\u0027t seem to help. Can you provide me with some guidance on how to troubleshoot this issue? I\u0027m really relying on this device for my upcoming outdoor adventure and I need it to work properly. Any assistance you can provide would be greatly appreciated. Thank you!" }, { "MessageId": 1141, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Hello, based on the user manual, before using the TrailGPS 5000, it\u0027s important to perform a series of diagnostics to ensure the device is functioning properly. You can refer to the section \u0027Pre-Use Diagnostics\u0027 in the user manual for detailed instructions on performing these diagnostics. Additionally, it\u0027s recommended to ensure that the device is fully charged and to maximize battery life by adjusting the screen brightness and enabling power-saving mode. Avoid exposing the device to extreme temperatures and excessive water exposure. If you encounter any issues after performing the diagnostics, please let us know for further assistance. Thank you!" } ] }, { "TicketId": 470, "ProductId": 153, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 329, "ShortSummary": "Ineffective energy bars, return requested", "LongSummary": "Customer tried using energy bars on a hike, still no boost. Attempted energy expenditure monitor test and wants to request a return. Needs assistance with return request.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Returns", "Messages": [ { "MessageId": 1145, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, these EcoFuels bars aren\u0027t giving me the energy boost I expected. Can you help me figure out what\u0027s going on?" }, { "MessageId": 1146, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The EcoFuels Organic Energy Bars are designed to provide a natural and sustainable source of energy for adventurers. They are intended for use in high-intensity outdoor activities and may require specialized industrial diagnostic equipment for detailed energy output analysis. If you have any further questions or concerns, feel free to reach out to us for additional support." }, { "MessageId": 1147, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried using them on a hike, still didn\u0027t feel any boost. What should I do now?" }, { "MessageId": 1148, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the product manual, it is recommended to conduct a detailed analysis of the energy output after using the EcoFuels Organic Energy Bars. Additionally, an energy expenditure monitor is essential for evaluating the effectiveness of the energy bars in fueling outdoor adventures. If you are still experiencing issues after conducting these analyses, you may be eligible for a return or refund. You can initiate a return at https://northernmountains.example.com/support/returns" }, { "MessageId": 1149, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried the energy expenditure monitor, still no boost. Want to request a return." }, { "MessageId": 1150, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry, the product manual does not provide specific information about the product return policy or contacting the manufacturer. I recommend reaching out to our customer support team for assistance with your return request." } ] }, { "TicketId": 471, "ProductId": 62, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 330, "ShortSummary": "Issue with UltraBright Headlamp 500 operation", "LongSummary": "Customer needs help with operating the UltraBright Headlamp 500. Assistant suggested cycling through brightness settings. Pending question: Has the customer tried cycling through brightness settings?", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1151, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the UltraBright Headlamp 500 from LumaBeam and I\u0027m having trouble getting it to work. I feel like I must be doing something wrong because it\u0027s not turning on at all. I tried adjusting the brightness levels and the tilt, but nothing seems to work. I\u0027m really embarrassed to admit this, but I\u0027m not sure if I\u0027m missing something obvious. Can you please help me figure out what I might be doing wrong? I really want to use this headlamp for my nighttime outdoor activities. Thank you so much for your assistance." }, { "MessageId": 1152, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the UltraBright Headlamp 500 offers three brightness settings: low, medium, and high. To cycle through the brightness settings, press the power button once while the headlamp is turned on. Each press will increase the brightness level, cycling through the available options. To return to the lowest brightness setting, continue pressing the power button until the cycle starts over. Have you tried cycling through the brightness settings to see if that resolves the issue?" } ] }, { "TicketId": 472, "ProductId": 193, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Guidance needed for securing latching mechanism on cake carrier", "LongSummary": "Customer Evelyn Park is seeking guidance on properly securing latching mechanism for AltitudeTech Cake Carrier by SummitChomp. Specifics on how to use the latches correctly needed. Pending response on latching mechanism guidance.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1153, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the AltitudeTech Cake Carrier by SummitChomp and I\u0027m having trouble understanding how to properly secure the latching mechanism. I want to make sure that my high-altitude cakes are protected during transportation, so any guidance on how to use the latches correctly would be greatly appreciated. Thank you." } ] }, { "TicketId": 473, "ProductId": 68, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 8, "ShortSummary": "Cleaning instructions for Trailblazer Hiking Shoes", "LongSummary": "Customer loves Trailblazer Hiking Shoes, but has concerns about safely cleaning them. Would benefit from detailed cleaning instructions to ensure proper care.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1154, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Stepquest Trailblazer Hiking Shoes and I absolutely love them! They are so comfortable and really do keep my feet dry on the trails. However, I have a question about cleaning them. I noticed that the manual mentions using a soft-bristled brush to remove dirt and debris, but I\u0027m concerned that I might damage the material if I brush too hard. Can you provide some more detailed instructions on how to safely clean these shoes without causing any damage? I want to make sure I take good care of them for long-lasting use. Thank you so much for your help, I really appreciate it!" }, { "MessageId": 1155, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, after your hike, you should clean your Trailblazer Hiking Shoes with a damp cloth to remove any dirt or debris. Let them air dry before storing them in a cool, dry place. This will help maintain the proper care for your shoes and ensure long-lasting use." }, { "MessageId": 1156, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for your response. I will try using a damp cloth to clean the shoes as you suggested. I hope this method will work well without causing any damage. I appreciate your help!" }, { "MessageId": 1157, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, you should clean your Trailblazer Hiking Shoes with a damp cloth to remove any dirt or debris. Let them air dry before storing them in a cool, dry place. This will help maintain the proper care for your shoes and ensure long-lasting use. Enjoy your adventures with the Trailblazer Hiking Shoes!" } ] }, { "TicketId": 474, "ProductId": 33, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 331, "ShortSummary": "Motion Detection Troubleshooting for NatureCam 4K Trail Camera", "LongSummary": "Customer enjoying NatureCam 4K Trail Camera, but struggling with motion detection. Asked for tips to fix the issue. Needs troubleshooting guidance.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1158, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey there Game Guard team! I recently got my hands on the NatureCam 4K Trail Camera and I am loving it! The high-resolution footage is absolutely stunning, and the built-in night vision is a game-changer for 24/7 monitoring. However, I\u0027m having a little trouble getting the motion detection to work properly. I\u0027ve tried adjusting the sensitivity in the settings menu and made sure there are no obstructions, but it\u0027s still not detecting motion. Any tips or tricks you can share to get this sorted out? Thanks a bunch! You guys rock!" } ] }, { "TicketId": 475, "ProductId": 15, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 332, "ShortSummary": "Trouble charging multiple devices with AdventurePro 1000 power bank", "LongSummary": "Customer had trouble charging multiple devices using USB ports. Assistant provided instructions and troubleshooting steps. Customer realized power bank wasn\u0027t fully charged, now working perfectly. No further assistance needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1159, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the AdventurePro 1000 power bank from AdventureElec and I\u0027m having some trouble getting it to charge multiple devices at the same time using the USB ports. I\u0027ve tried plugging in my phone and tablet, but it doesn\u0027t seem to be working as described. I\u0027m really hoping there\u0027s just something simple I\u0027m missing here. Any help or advice you can provide would be greatly appreciated. Thank you!" }, { "MessageId": 1160, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "To charge multiple devices using the USB ports, simply plug your electronic devices into the USB ports on the power bank using their respective charging cables, and the AdventurePro 1000 will start charging them automatically. If you\u0027re still experiencing issues, please ensure that the devices are compatible and that the power bank is fully charged. If the problem persists, feel free to reach out to our support team for further assistance." }, { "MessageId": 1161, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m so embarrassed - I realized that my power bank was actually not fully charged when I tried to charge my phone and tablet. I charged it up and tried again, and everything is working perfectly now. Thank you so much for your help! I\u0027m all set now." } ] }, { "TicketId": 476, "ProductId": 102, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 333, "ShortSummary": "Inquiry about paddle stress analysis", "LongSummary": "Customer inquires about stress analysis for safety and performance standards of the Voyager Kayak Paddle. Assistant provides information on meeting industry standards and emphasizes following safety guidelines. Further clarification on the stress analysis is needed from the next support agent.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1162, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Aqua Venture Voyager Kayak Paddle and I\u0027m curious about the stress analysis mentioned in the manual. Can you provide more information on how the paddle\u0027s stress analysis ensures safety and performance standards? Thank you for your assistance." }, { "MessageId": 1163, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Aqua Venture Voyager Kayak Paddle is designed to meet and exceed industry standards for kayak paddle safety. Before using the paddle, it is essential to ensure that all safety guidelines are followed to prevent accidents and injuries. Additionally, the paddle\u0027s lightweight and adjustable design is intended to provide a comfortable and efficient paddling experience, aligning with the findings of the research." } ] }, { "TicketId": 477, "ProductId": 26, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 249, "ShortSummary": "Assembly assistance needed for RapidFlow Paddle", "LongSummary": "Customer purchased RapidFlow Paddle from RiverTrail, but it\u0027s not floating as expected. Asks for specific assembly instructions for better buoyancy. Needs advice before using it.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1164, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi, I just purchased the RapidFlow Paddle from RiverTrail for my kayaking trips. I noticed that it\u0027s not floating as expected and wanted to know if there\u0027s a specific way to assemble it for better buoyancy. I\u0027m a bit concerned about using it in this condition, so any advice would be greatly appreciated. Thank you." } ] }, { "TicketId": 478, "ProductId": 98, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 334, "ShortSummary": "TrailBlazer GPS Watch Weather Accuracy Inquiry", "LongSummary": "Customer inquires about TrailBlazer GPS Watch accuracy in extreme weather. Assistant provides information on GPS reliability, safety, and outdoor hazards. Customer acknowledges and plans to prioritize safety when using the watch.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1165, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I\u0027m interested in the TrailBlazer GPS Watch and wanted to ask about its accuracy in extreme weather conditions. Can it still provide reliable navigation data during heavy rain or snow? Thanks!" }, { "MessageId": 1166, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The TrailBlazer GPS Watch is equipped with a GPS navigation system, providing accurate location tracking for outdoor activities. However, it is important to note that the GPS feature may not always be reliable due to environmental factors such as dense tree cover, canyons, or urban settings. Outdoor navigation with the TrailBlazer GPS Watch may expose users to various terrain and environmental hazards, including but not limited to rough terrain, inclement weather, wildlife encounters, and natural obstacles. It is important for users to exercise caution and prioritize safety when venturing into outdoor environments. If you have any further questions or need assistance with anything else, feel free to ask. AdventureWorks Support" }, { "MessageId": 1167, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information. I\u0027ll keep that in mind and make sure to prioritize safety when using the TrailBlazer GPS Watch. If I have any further questions, I\u0027ll reach out. Thanks!" } ] }, { "TicketId": 479, "ProductId": 176, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 169, "ShortSummary": "AdventurePro 4500 Outdoor Use and Charging Time Inquiry", "LongSummary": "Customer inquires about AdventurePro 4500 camera\u0027s outdoor usability and charging time. Assistant provides details about waterproof, shockproof, and 4K video capabilities, but does not answer the charging time question. Next support agent should address the charging time question.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1168, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Camera good for outdoor? How long to charge?" }, { "MessageId": 1169, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The AdventurePro 4500 camera is designed for outdoor use with its waterproof and shockproof features. It can withstand water depths of up to 30 meters and is highly resistant to shocks and impacts. Additionally, the 4K video capabilities ensure that you can capture every detail of your outdoor experiences with crystal clear quality." } ] }, { "TicketId": 480, "ProductId": 138, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 336, "ShortSummary": "Difficulty Setting Up Tent in Ultimate Survival Kit 3000", "LongSummary": "Customer is unable to set up the tent in the Ultimate Survival Kit 3000 despite following the manual. They demand a refund and refuse to waste any more time on the product. Next support agent can either provide further assistance for tent setup or initiate a return for the product.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1172, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am absolutely furious with the Ultimate Survival Kit 3000! I thought it was supposed to be packed with essential tools for outdoor survival, but I can\u0027t even get the tent set up properly. The fabric is so confusing and the poles won\u0027t fit! I demand a refund for this useless product!" }, { "MessageId": 1173, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear about your experience with the Ultimate Survival Kit 3000. According to the product manual, the kit is designed to provide essential tools for outdoor survival, including the tent setup. I\u0027d like to help you resolve this issue. Can you provide more details about the specific challenges you\u0027re facing with setting up the tent? This will help me assist you better." }, { "MessageId": 1174, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027ve tried everything in the manual, and I still can\u0027t get the tent set up properly! It\u0027s so frustrating. This product is a total disaster. I demand a full refund!" }, { "MessageId": 1175, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear that you\u0027re still experiencing difficulties with setting up the tent. According to the product manual, here are the steps for setting up the tent: 1. Lay out the tent fabric on the ground. 2. Insert the tent poles into the corresponding color-coded sleeves on the fabric. 3. Use the provided stakes to secure the tent to the ground. 4. Place the rainfly over the tent for added protection from the elements. If you\u0027ve followed these steps and are still having trouble, I\u0027d be happy to assist further or initiate a return for the product. Please let me know how you\u0027d like to proceed." }, { "MessageId": 1176, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the steps in the manual exactly as you described and I still can\u0027t get the tent set up properly! This is ridiculous and I refuse to waste any more time on this useless product. Just give me my refund already!" } ] }, { "TicketId": 481, "ProductId": 103, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 337, "ShortSummary": "Need Guidance on Using Rope and Carabiner", "LongSummary": "Customer Evelyn Rivera is seeking guidance on how to effectively use the rope and carabiner in the Survival Kit 5000. Response provided some general information, but specific usage instructions are still needed.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1177, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Safetyex Survival Kit 5000 and I\u0027m feeling a bit embarrassed about this, but I\u0027m not sure if I\u0027m using it correctly. I thought I would be fully prepared for any emergency, but I\u0027m having trouble with some of the tools. Specifically, I can\u0027t seem to figure out how to use the rope and carabiner properly. I\u0027m worried that I might be doing something wrong and the product doesn\u0027t work at all. Can you provide me with some guidance on how to use these items effectively? I really want to make sure that I\u0027m ready for anything. Thank you so much for your help!" }, { "MessageId": 1178, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The rope in the Safetyex Survival Kit 5000 is super versatile and can be used for a variety of tasks, while the carabiner ensures secure attachments. With these essential tools at your disposal, you\u0027ll have the means to conquer any unexpected challenges that come your way." } ] }, { "TicketId": 482, "ProductId": 121, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 338, "ShortSummary": "Malfunctioning HydroTech 5000, Refund Requested", "LongSummary": "Customer\u0027s HydroTech 5000 isn\u0027t functioning. Asked for refund/replacement. Assistant provided pairing and battery care instructions. Pending question: Is the device now functioning properly?", "CustomerSatisfaction": null, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1179, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the HydroTech 5000 from WaterRover and it doesn\u0027t work at all! I relied on the GPS navigation and distance alert feature for my watersports activities, but it\u0027s completely malfunctioning. I demand a refund or replacement immediately. Your so-called \u0027high-tech\u0027 gear is a complete disappointment and has caused me nothing but trouble." }, { "MessageId": 1180, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to pair your smartphone with the HydroTech 5000, follow these steps: 1. Make sure your HydroTech 5000 is powered on and within range of your smartphone. 2. Open the WaterRover app on your smartphone and select \u0022Pair Device\u0022 from the menu. 3. On your HydroTech 5000, press and hold the \u0022Pair\u0022 button for 5 seconds until the LED indicator starts blinking. 4. Your smartphone should now detect the HydroTech 5000. Select it from the list of available devices to complete the pairing process. Once paired, you can use the WaterRover app to stay connected, share your location with friends, and even send messages while out on the water. Additionally, the manual mentions that the HydroTech 5000 includes a battery level indicator located on the front panel, allowing you to monitor the remaining battery percentage. It\u0027s important to properly care for the battery by fully charging it before each use and avoiding overcharging. If you won\u0027t be using the device for an extended period, it\u0027s best to store it with the battery partially charged to maintain its longevity." } ] }, { "TicketId": 483, "ProductId": 160, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 339, "ShortSummary": "Profile setup issue with unique \u0027age\u0027 entry", "LongSummary": "Customer having trouble setting up profile, trying to use favorite hiking spot as \u0027age\u0027. Assistant provided instructions to enable Bluetooth and pair devices for additional features. Customer still needs assistance troubleshooting the issue.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1181, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Trailblazer GPS Navigation Device from Geotrack and I\u0027m having trouble setting up my profile. I assumed that entering my favorite hiking spot as my \u0027age\u0027 would enhance my navigation experience, but it doesn\u0027t seem to be working. Can you help me with this? Thanks so much!" }, { "MessageId": 1182, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, you need to enable Bluetooth on your smartphone and the Trailblazer GPS Navigation Device. Then, open the Geotrack app and follow the on-screen instructions to pair the two devices. Once paired, you can access additional features such as live tracking, route sharing, and notifications on your smartphone. If you are still experiencing issues, please refer to the troubleshooting section in the user manual for assistance." } ] }, { "TicketId": 484, "ProductId": 191, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 30, "ShortSummary": "Questions about lantern storage", "LongSummary": "Customer is pleased with product but has questions about storing in damp, dark places. Wants more info on why it\u0027s important and if it affects performance.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1183, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Luminex 5000 Lantern from Flash Bright and I am really impressed with its 360-degree illumination and multiple brightness settings. However, I noticed in the manual that it mentions avoiding storing the lantern in a damp, dark place. I was wondering if you could provide more information on why this is important and if it could potentially affect the lantern\u0027s performance in the long run. Thank you for your assistance." } ] }, { "TicketId": 485, "ProductId": 82, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Dietary options inquiry for SurvivalPro Emergency Kit", "LongSummary": "Inquiry about dietary options in SurvivalPro Emergency Kit. Customer asked about nut allergies. Need confirmation of nut-free options.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1184, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Essential Tech, \n\nWe are a retailer stocking your SurvivalPro Emergency Kit and have been receiving inquiries from our customers regarding the dietary considerations of the emergency rations. Can you provide us with more detailed information about the specific dietary options available in the kit? This will help us address our customers\u0027 concerns and provide them with accurate information. Thank you for your assistance. \n\nSincerely, \nEvelyn Chen" }, { "MessageId": 1185, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the emergency rations included in the SurvivalPro Emergency Kit are designed to provide essential nutrients and energy for a variety of dietary needs. From gluten-free to vegetarian options, we\u0027ve got you covered! \uD83E\uDD66\uD83C\uDF7D\uFE0F" }, { "MessageId": 1186, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information provided. Could you please also confirm if the emergency rations in the kit cater to individuals with nut allergies? This is an important consideration for our customers with dietary restrictions. Your assistance is greatly appreciated." } ] }, { "TicketId": 486, "ProductId": 6, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 340, "ShortSummary": "Malfunction due to cleaning method", "LongSummary": "Customer believes cleaning method caused malfunction, seeks troubleshooting and alternative cleaning solutions. Pending response on how to resolve and prevent future issues.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1187, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "To whom it may concern, I recently experienced a malfunction with my ExcavaTrek 3000 and I believe it may be related to the damp cloth cleaning method suggested in the manual. Based on my technical expertise, I suspect that the accumulation of dirt or debris has caused damage to the tool\u0027s components, resulting in its breakdown. I would appreciate your guidance on how to troubleshoot and repair the ExcavaTrek 3000, as I am eager to continue utilizing its advanced excavation capabilities. Additionally, I would be interested in learning about any alternative cleaning methods that may be more suitable for maintaining the tool\u0027s pristine condition. Your prompt assistance in resolving this matter would be greatly appreciated. Thank you in advance for your attention to this technical issue." } ] }, { "TicketId": 487, "ProductId": 175, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Weight inquiry for SonarPro Portable Fish Finder", "LongSummary": "Customer needed the exact weight of the SonarPro Portable Fish Finder before purchasing. Assistant suggested contacting the manufacturer, who provided the information. Customer requests the ticket to be closed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1188, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I need to know the exact weight of the SonarPro Portable Fish Finder. It\u0027s very important for me to have this information before making a purchase decision. Thank you." }, { "MessageId": 1189, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SonarPro Portable Fish Finder is designed for portability and is lightweight and compact, making it easy to transport and use in various fishing environments. However, I couldn\u0027t find the exact weight in the manual. I recommend contacting the manufacturer for this specific information. You can find their contact details in the user manual." }, { "MessageId": 1190, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I contacted the manufacturer as suggested and they provided the exact weight of the SonarPro Portable Fish Finder. Thank you for your assistance. Please close the ticket." } ] }, { "TicketId": 488, "ProductId": 94, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 341, "ShortSummary": "Immediate Replacement/Refund Demand", "LongSummary": "Customer demands immediate replacement or refund, dismisses user manual advice.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1191, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I just purchased the TrailBlazer Multi-Tool and I expect it to perform as described. I better not have any issues with the saw or bottle opener, or I\u0027ll be demanding a replacement. I don\u0027t want to deal with any hassle, so make sure this product lives up to its promises." }, { "MessageId": 1192, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, you can reach Wild Tech Customer Support by phone at 1-800-555-1234 or via email at support@wildtech.com. Please have your product information and details of the issue ready when contacting them to ensure a quick and efficient resolution to your concern. If you encounter any issues with your TrailBlazer Multi-Tool that cannot be resolved through the troubleshooting tips provided in the manual, feel free to contact Wild Tech Customer Support for assistance. Their team is available to help with any questions or concerns regarding the use and maintenance of the multi-tool." }, { "MessageId": 1193, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I expect Wild Tech Customer Support to resolve this issue immediately. I followed the troubleshooting tips in the manual and still can\u0027t get the saw to work properly. I demand a replacement or a full refund for this inconvenience." }, { "MessageId": 1194, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the saw must be carefully extended from the multi-tool and steady pressure should be applied while cutting. Always be aware of your surroundings and potential hazards. As for the bottle opener, the manual explains that you should simply unfold it from the multi-tool and position it under the bottle cap, then apply gentle pressure to pop the cap off. If you are still experiencing issues, you may consider contacting Wild Tech Customer Support for further assistance." }, { "MessageId": 1195, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the user manual. I bought this Multi-Tool expecting it to work perfectly out of the box. I demand a replacement or a full refund immediately. I don\u0027t have time to keep troubleshooting or contacting support, this is unacceptable." }, { "MessageId": 1196, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, the TrailBlazer Multi-Tool is designed to be your ultimate camping companion, and it includes a variety of essential gadgets, such as a sharp knife, a saw, and a bottle opener. If you encounter any issues with your TrailBlazer Multi-Tool that cannot be resolved through the troubleshooting tips provided in the manual, you can contact Wild Tech Customer Support for assistance. Their contact information is available in the manual." }, { "MessageId": 1197, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I don\u0027t care about the user manual. I want a replacement or full refund immediately. This is unacceptable and I demand a swift resolution to this issue." }, { "MessageId": 1198, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the user manual, if the saw or bottle opener on the TrailBlazer Multi-Tool becomes difficult to operate or malfunctions, you should refrain from using it and seek professional assistance. If the saw blade becomes dull or damaged, it can be replaced by loosening the screws that hold it in place, removing the old blade, and inserting a new one. For the bottle opener, if it becomes loose or ineffective, you can use the included screwdriver to tighten the screws holding it in place. If the problem persists, you may contact Wild Tech Customer Support for further assistance." } ] }, { "TicketId": 489, "ProductId": 56, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 342, "ShortSummary": "Inquiry about cold weather suitability for sleeping bag", "LongSummary": "Customer inquiring about suitability of Naptime 5000 Sleeping Bag for cold weather camping. Assistant provided tips for maximizing insulation. Pending satisfaction confirmation.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1199, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello there! I just stumbled upon the Naptime 5000 Sleeping Bag from Slumberpeak and I am absolutely thrilled about it! The water-resistant feature is just what I need for my upcoming camping trip. Can you tell me if this sleeping bag is suitable for cold weather camping? I want to make sure I stay warm and cozy out there in the great outdoors. Thanks a bunch!" }, { "MessageId": 1200, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Naptime 5000 Sleeping Bag from Slumberpeak is designed to keep you warm and cozy during your outdoor adventures. With its water-resistant and lightweight design, this sleeping bag is easy to pack and carry with you on any camping trip. To maximize the insulation, be sure to zip up the bag completely and pull the hood tightly around your head. This will ensure that you stay warm and comfortable throughout the night, even in cold weather conditions. It\u0027s the perfect choice for your upcoming camping trip!" }, { "MessageId": 1201, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh wow, that sounds amazing! I\u0027ll definitely make sure to zip up the bag and pull the hood tightly around my head to stay warm. Thanks so much for the helpful tips! I can\u0027t wait to try out my new Naptime 5000 Sleeping Bag on my camping trip. You\u0027re the best!" } ] }, { "TicketId": 490, "ProductId": 71, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 343, "ShortSummary": "Signal Booster 2000 ventilation and RF exposure inquiry", "LongSummary": "Customer seeks guidance on Trailcom Signal Booster 2000 ventilation and RF exposure requirements. No further issues encountered. Additional monitoring and support if needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1204, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Support Team, I recently purchased the Trailcom Signal Booster 2000 and I am encountering some issues with signal strength. I have read that the device is designed to boost signal strength for off-grid communication, but I seem to be experiencing heat generation during prolonged use at maximum signal boosting levels. Can you provide me with some guidance on how to ensure proper ventilation for the device to prevent overheating? Also, I am curious about the RF exposure requirements and how to maintain a minimum distance of 20 cm between the device and the body. Any information on this would be greatly appreciated. Thank you." }, { "MessageId": 1205, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailcom Signal Booster 2000 is designed to boost signal strength for off-grid communication. To prevent overheating, ensure the device has proper ventilation and is not covered during use. The device complies with all relevant regulatory standards, including FCC regulations, to ensure minimal interference with other communication systems." }, { "MessageId": 1206, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information on ensuring proper ventilation for the Trailcom Signal Booster 2000. I have made adjustments to the device\u0027s placement to allow for better airflow and will monitor the heat generation during prolonged use. As for the RF exposure requirements, could you provide more specific details on maintaining a minimum distance of 20 cm between the device and the body? I want to ensure that I am following the guidelines correctly. Thank you." }, { "MessageId": 1207, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Trailcom Signal Booster 2000 complies with all relevant regulatory standards, including FCC regulations, to ensure minimal interference with other communication systems. It is also designed to operate within the approved frequency bands and power levels. As for the minimum distance between the device and the body, the user manual did not provide specific details regarding this requirement. However, it is recommended to maintain a minimum distance of 20 cm between the device and the body for RF exposure. If you have further questions or concerns, feel free to reach out to us. Thank you." }, { "MessageId": 1208, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information on maintaining a minimum distance of 20 cm between the Trailcom Signal Booster 2000 and the body. I have adjusted the device placement to ensure this distance is maintained. I will continue to monitor the device\u0027s performance and will reach out if I encounter any further issues. Thank you for your assistance." }, { "MessageId": 1209, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the user manual, the Trailcom Signal Booster 2000 complies with all relevant regulatory standards, including FCC regulations, to ensure minimal interference with other communication systems. It is designed to enhance signal strength for off-grid communication in remote areas." }, { "MessageId": 1210, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have monitored the device\u0027s performance since making the adjustments, and I am pleased to report that I have not encountered any further issues with heat generation or signal strength. Thank you for your assistance in providing the necessary guidance." } ] }, { "TicketId": 491, "ProductId": 4, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 344, "ShortSummary": "Maintenance and Water Source Concerns", "LongSummary": "Customer is concerned about the maintenance and water source requirements of the kit. Wants to know if the kit is worth purchasing.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1211, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I can\u0027t believe the portable water filter needs so much maintenance! How am I supposed to keep track of all this in an emergency situation? And now I have to worry about finding a clear, flowing water source too? This is ridiculous. I need to know if this kit is really worth it before I make a purchase." }, { "MessageId": 1212, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the portable water filter should be thoroughly cleaned and allowed to dry completely after each use. The filtration membrane should also be inspected for damage or signs of wear. Additionally, the water purification tablets should be stored in a cool, dry place and their expiration date should be checked regularly. This kit includes a high-performance water purification system to ensure access to safe drinking water in emergency situations." } ] }, { "TicketId": 492, "ProductId": 50, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 345, "ShortSummary": "Inquiry about Thirsttrek HydroPack durability for outdoor use", "LongSummary": "Customer inquiring about durability of Thirsttrek HydroPack for rugged outdoor conditions. Seeking performance and reliability insights for long hikes and outdoor adventures. Pending response on product\u0027s endurance.", "CustomerSatisfaction": 5, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1213, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I\u0027m considering purchasing the Thirsttrek HydroPack Hydration System for my upcoming hiking trip. Can you provide information on the durability of the reservoir and tubing, especially in rugged outdoor conditions? I want to ensure that it will withstand the demands of long hikes and outdoor adventures. Any advice or insights on its performance and reliability would be greatly appreciated. Thank you." } ] }, { "TicketId": 493, "ProductId": 86, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 133, "ShortSummary": "Info on using multitool kit", "LongSummary": "Customer purchased SOS Multitool Kit and needed info on using knife and fire starter. Customer reviewed user manual and figured it out. No further assistance needed.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1214, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I recently purchased the SOS Multitool Kit from Survive All and I\u0027m not sure if it\u0027s working properly. Can you provide me with more information on how to use the knife and fire starter? I want to make sure I\u0027m prepared for any survival scenario." }, { "MessageId": 1215, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Congratulations on your purchase of the SOS Multitool Kit from Survive All! The user manual provides detailed instructions on how to use the knife and fire starter effectively. For the knife, it is important to avoid using it for non-emergency purposes to prevent injury. To start a fire using the fire starter, follow the simple steps outlined in the manual." }, { "MessageId": 1216, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thanks for the information. I\u0027ll review the user manual and see if I can figure it out myself. If I have any further questions, I\u0027ll reach out again." }, { "MessageId": 1217, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The SOS Multitool Kit is designed to be compact and lightweight, making it easy to carry and perfect for outdoor adventures. It includes a knife, fish scaler, and hook remover, among other tools. For detailed instructions on using the knife and fire starter, please refer to the user manual." }, { "MessageId": 1218, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I reviewed the user manual and was able to figure out how to use the knife and fire starter. Thanks for your help." } ] }, { "TicketId": 494, "ProductId": 70, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 64, "ShortSummary": "Guidance needed for measuring USB output voltage and current", "LongSummary": "Customer needs guidance on measuring USB output voltage and current. Assistant provided instructions from the manual. Customer acknowledged and will follow the instructions.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1219, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hi there, I recently purchased the Juice Junkie Solar Power Bank 10000mAh and I\u0027m having trouble understanding how to measure the USB output voltage and current. I want to make sure I\u0027m using it correctly and getting the most out of it. Can you please provide some guidance on how to do this? I want to ensure that all my outdoor electronics stay charged while on the go. Any help would be greatly appreciated. Thank you!" }, { "MessageId": 1220, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to measure the USB output voltage, you should perform the voltage measurement on each USB port of the power bank to ensure consistency in output across all ports. Additionally, to measure the USB output current, you should follow the steps provided in the manual." }, { "MessageId": 1221, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Oh gosh, I\u0027m so sorry! I completely overlooked the steps in the manual. I\u0027ll make sure to follow the instructions to measure the USB output voltage and current. Thank you for pointing me in the right direction!" } ] }, { "TicketId": 495, "ProductId": 173, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 126, "ShortSummary": "Difficulty with Heating Technology", "LongSummary": "Customer has difficulty with heating technology, tried troubleshooting steps without success. Requires immediate assistance or replacement. Next agent should offer advanced troubleshooting options or replacement process.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1222, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I\u0027m really not happy with the heating technology in my TechShell Smart Jacket. I\u0027ve checked the battery level and connections, just like your manual says, and it\u0027s still not working properly. I expect this kind of high-tech outerwear to actually do what it\u0027s supposed to. I need this fixed as soon as possible, or I\u0027ll be requesting a replacement. This is just not acceptable." }, { "MessageId": 1223, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The heating technology in your TechShell Smart Jacket is activated by locating the power button and holding it to turn on the heating system. If checking the battery level and connections does not resolve the issue, please contact our customer service team for further assistance." }, { "MessageId": 1224, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I already tried holding down the power button to turn on the heating system, and it still doesn\u0027t work. I need this fixed ASAP, and I\u0027m not happy with the response I\u0027ve received so far." } ] }, { "TicketId": 496, "ProductId": 31, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 346, "ShortSummary": "Excessive smoke and soot despite troubleshooting", "LongSummary": "Customer has followed troubleshooting steps and contacted support team but still experiencing excessive smoke and soot. Customer demands replacement or refund. Next agent should provide further assistance or initiate process for replacement/refund.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1225, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I purchased the WanderStove Nomad Camping Stove expecting a top-of-the-line off-grid cooking solution. However, I am unable to get the stove to work without excessive smoke and soot. I demand a replacement or a refund for this faulty product. I expect a prompt response and a satisfactory resolution to this issue." }, { "MessageId": 1226, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The WanderStove Nomad Camping Stove is specifically designed to meet the needs of campers, hikers, and adventurers, ensuring that they can enjoy delicious meals even in remote locations. With its innovative features and portability, WanderStove sets the standard for off-grid cooking appliances. If the issue persists or cannot be resolved, please contact our customer support team for further assistance. Remember to always follow proper safety precautions when troubleshooting any issues with the WanderStove Nomad Camping Stove." }, { "MessageId": 1227, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I followed the safety precautions and tried troubleshooting the WanderStove Nomad Camping Stove again, but I am still experiencing excessive smoke and soot. This product is not living up to the standard you claim and I demand a replacement or a refund immediately." }, { "MessageId": 1228, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, to address excessive smoke or soot, check the air vents on the stove for any blockages. If using wood as a fuel source, ensure it is dry and well-seasoned to minimize smoke. If the issue persists, you may need to contact our customer support team for further assistance. Additionally, in case of a warranty claim, please contact our customer service team at support@wanderstove.com." }, { "MessageId": 1229, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have checked the air vents on the stove and made sure the wood fuel is dry and well-seasoned, but I am still experiencing excessive smoke and soot. This is unacceptable and I demand a replacement or a refund immediately." }, { "MessageId": 1230, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Based on the user manual, the solution for excessive smoke or soot is to check the air vents on the stove for any blockages and to ensure the wood fuel is dry and well-seasoned. If you have already followed these steps, please contact our customer support team for further assistance." }, { "MessageId": 1231, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I have contacted the customer support team as suggested, but I am still experiencing excessive smoke and soot with the WanderStove Nomad Camping Stove. This is unacceptable and I demand a replacement or a refund immediately." } ] }, { "TicketId": 497, "ProductId": 91, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 347, "ShortSummary": "WeatherShield Pro Jacket performance issue", "LongSummary": "Customer is dissatisfied with the WeatherShield Pro Jacket\u0027s performance in light drizzle, seeking refund, replacement, or repair. Assistant provided info on ASTM D6413 standards and the warranty for defects.", "CustomerSatisfaction": 1, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1232, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I am so frustrated with the WeatherShield Pro Jacket! It\u0027s supposed to be waterproof, windproof, and breathable, but it couldn\u0027t even keep me dry in a light drizzle! I spent good money on this jacket, and now I\u0027m soaked and freezing. I need to know if there\u0027s something wrong with it or if it\u0027s just not suitable for real weather conditions. This jacket is not living up to the \u0027new standard for performance\u0027 that Stormguard claims. I want a solution to this problem, whether it\u0027s a refund, replacement, or repair. I expect better quality and performance from a supposed advanced weatherproof jacket." }, { "MessageId": 1233, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The WeatherShield Pro Jacket is constructed to meet the waterproofing standards set by ASTM D6413. This standard specifies the testing method for determining the waterproofing performance of textiles, including resistance to water penetration. Additionally, the jacket is covered by a limited warranty for a period of 2 years from the date of purchase. This warranty covers defects in materials and workmanship under normal use. Stormguard will repair or replace, at its option, any WeatherShield Pro Jacket that proves to be defective within the warranty period. If you believe your jacket may be defective, please initiate the return process at https://northernmountains.example.com/support/returns. We apologize for any inconvenience caused and are committed to ensuring your satisfaction with our products." } ] }, { "TicketId": 498, "ProductId": 4, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 348, "ShortSummary": "Radio malfunction in survival kit", "LongSummary": "Customer reported radio not working in the Emergency Survival Kit. Need assistance with troubleshooting and fixing the issue.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Complaint", "Messages": [ { "MessageId": 1234, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Radio not working. Need help." } ] }, { "TicketId": 499, "ProductId": 80, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 349, "ShortSummary": "Reelmaster sending technician to fix Stealth 5000 Fishing Reel", "LongSummary": "Reelmaster\u0027s technical support will send someone to check Stealth 5000 Fishing Reel tomorrow. Customer reports technician came and fixed the reel. Needs no further assistance.", "CustomerSatisfaction": 7, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 1235, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hey, my Stealth 5000 Fishing Reel isn\u0027t working right. Can you fix it?" }, { "MessageId": 1236, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Stealth 5000 Fishing Reel is designed for smooth and efficient operation, ensuring that you can handle any fish with ease. Have you tried adjusting the drag setting to maximize control?" }, { "MessageId": 1237, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried adjusting drag setting. Didn\u0027t work." }, { "MessageId": 1238, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m sorry to hear that you\u0027re experiencing issues with the Stealth 5000 Fishing Reel. Based on the user manual, I recommend reaching out to Reelmaster\u0027s technical support for assistance with troubleshooting and repairs. Here is the contact information for technical support: [Reelmaster Technical Support](https://www.reelmaster.example.com/support/technical) Please let us know if you need further assistance." }, { "MessageId": 1239, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Tried contacting Reelmaster\u0027s technical support. They said they\u0027ll send someone to check it out tomorrow." }, { "MessageId": 1240, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "I\u0027m glad to hear that Reelmaster\u0027s technical support will be sending someone to check it out tomorrow. If you have any further questions or need additional assistance, feel free to reach out to us. We\u0027re here to help!" }, { "MessageId": 1241, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Technician came and fixed the reel. Works fine now. Thanks!" } ] }, { "TicketId": 500, "ProductId": 130, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 351, "ShortSummary": "Bluetooth pairing PIN problem", "LongSummary": "Customer is unable to complete Bluetooth pairing because a PIN is required. Support should determine the default bluetooth pairing PIN.", "CustomerSatisfaction": 4, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1251, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hallo. Ich habe den WildBeat Bluetooth-Lautsprecher gekauft, kann ihn aber nicht mit meinem Telefon koppeln. Es wird nach einem PIN-Code gefragt, den ich aber nicht kenne. Was ist die PIN?" } ] } ] ================================================ FILE: seeddata/test/categories.json ================================================ [ { "CategoryId": 1, "Name": "Bike Helmets", "NameEmbeddingBase64": "\u002BZSwv7zpbD/2E5k\u002B3lxgv7b/D8BSGLU/tvVaP/iZkT96EpO/ARzQP9gTBr8PjSLAKIW3P/7GST89\u002B/Q/tKpgPv\u002B4CkA3CNo/PpMyP1gWVT8qZLi/ZRcHPtIw8T5weMG8hd\u002BMPx95iz/o0Lm/5FDbP0I7XD8YBzHAjPpTvvZrrD4c4SC\u002BagjXv6tujb7nxMa\u002BHl2hv0jq1D7VMem/DIF4P5rKpD8mdAZAeuxFv/Smgb6Dr/w/KuvHP\u002BqjBT/uTKW/DK3PP2RPD8B4BLo/eCB0v\u002B002z/3lh/AbDWlv1joPD\u002B\u002BSN\u002B/cB12P8xxMT9v/aU/rgOuv/F0wD9TwWDA0IThP4jgPj9UEWJA78MuvtYS\u002B77SNsy\u002BtHMTQKO1mr5VT\u002BW\u002BqoylP13lrr3yZ0i\u002Bwr8TPyQjIj\u002BKOh/AkuimvUIEB8BXvre/5sUCwFgGGT9GKUa\u002Bbz5bP0FMyD4loBS/ZKL4vkzNvD/QRg5ApI5Nv9FhV7\u002BACcs/zkivvsBD27/tP3U/vr\u002BOPQheRb/HAQC9s3j0QLZqrT1w2EK8R2EDv2OkoL4KX\u002BA/pcP5v92IqD/3K8m/efuGv7ZkrT\u002BODw5AQMwbPwrxkj8yEBC9TUJGv8JNnz9kQMW/K4Z2P5M8bL\u002BMN7o/rg\u002BavwAEpr7lwUU/fX2hvqT3GD8AU6E8b4xLP5D3NUAf3aQ/mQS\u002BPy49sz9Ntkw/kDEZvEQng79JjYQ9S4\u002BQv2Q6fj728gq/CEwhv1orxD8vaAQ\u002BpWZZv0Cx3z\u002B4rDHAbDtDv4UvAb9F2k\u002B/wLrouzM2n79un6K\u002BIlQIvuyK5D7SFoK/kApaP4sx6j40L7w/vkW1vnzYOD8M0Ae\u002BRUl0P9ZH4bw4k7w\u002BfAFKP/BN4z/TnBC/XKg9wJgyHz8aWkG/Kh53PlThiL9KZK\u002B/TkbZPrnB\u002BT4QQZs/ar8eQC8rgz8klAzA9C\u002BBPkqD6L8qrc8\u002BnUSMP/1vz78rr/y/jAryPXAbyD45Ncu/TBJMwMipnL2cgC8/2FTWP4rNzb8glMa8u/icv9izZD4UqNS9UgCVvfydGsDlcrW/wBWJOwJMHT/0MgVAPhFSv376uj6WmBg/tLuNvV9iej/2fKO/2iwOwDcRij\u002B/yio\u002B/Bzcvp33AsC3mA8/eNQEP28tTb4074y\u002B7fzbvt/rnz9jA4C/Bprhv5Ri1D7595C/waGav3DHj8DDZqm/2smiP3sq\u002BT\u002B0sNo/oKGOP5ymuD9\u002B0sI/ifVYP3rafL/YAAdA6uSMvzUvCcCclte/flqzvwyavz8APXo/ufKMvyzh0L8Tk6G/Hki9vlhSsj8zO0/AzNpiv9SIe74Na7U\u002BOd\u002BTQOiFjb1Ktze\u002BeOdlPKLfFsCGTy6/di3ZPURtF8A76JQ/cGZAv/8Q6T7w4b2/zSmHv1wMgr/6K/8\u002BzE/BP67RbL\u002BPTwLA3rdfv/sLTT9G1gq/fln\u002BPbknIj9GWee\u002BQJYOv6Xnmj41uqg/DCozP3UGKT9F00PA3sRTvzzCAcCBFxA/JvceP3ze/TzhrEk/oOCXv8Qp6b8kHsw/KsiuP4SR2b7uVRPAGLV/P7Ie2r4HqZC/kr7qP\u002BhrxD7SsOS\u002Bk9ZJP\u002BgbBT/8jKY/WXWove47G0D3d4s/cub3PqRUCr/82S2\u002Bb3toP7Ybh77jL8k\u002Brkb6vbUkkb7RtIK\u002B2B2evr7Ffj9o8fK9RXmSPlFTOL/6qvY/2gIVv7D/zMDnjJs\u002B5K9Yv0lQNz\u002BLb1m/5sbDvVirCUAq1BBAJilbvrRT9L6MDoG/y8IMQAaNfz8Kag2\u002BfUCVP2I6wT//jQpA2pV7vyRPpz8cEXk/XJMrwP7lhz8kYFVAGBXPv8y3J0AWpOw\u002BC\u002Brsv4wLcb5fX1u/QQV4P6CoRT3YGFS\u002B1aylP/4Cu77GGxfAnPY1PlRXjL8Y9S4/1eRXPo2oIT\u002BuPYk/xWprv/\u002BXJD5OJtE/QpreP67su70ylRPAGO\u002BfvFMO\u002BT5APcO7pWyFv789Mb\u002BktArAQvr3PhJazT8SSoy/2I2rP8UnOj9k3Eu/qtKGv20AjT9czgnAVk06wDoz5z\u002BEknO/" }, { "CategoryId": 2, "Name": "Backpacks", "NameEmbeddingBase64": "hKlrvxRHYb5OqXI/qGP5vnYznT8Ul7o8/nHKP95CRT\u002BPqrK/Dhm3vvlht76A4OG/1l1av3123T8BYeQ/5D5OvthnFkBqxuw\u002BTgt1v2galD/f4mQ/pOVjv7fNQr/KpVO/z\u002Bjcv4O3oL7XfY4/bEVuv6BLsL\u002BIBlrA1VaQPQZflL9LO1y/Fz5xv01mur74B/I/d4XQP2gWLj8865m\u002Bw9MaPswZpb2kQ9E/xKIgvw\u002BN0r7GfWo/NL6pv\u002BYJS78vz6O/ACSlP2FMk7/g6Kq7D6PMvttxBz83IlK/1DqOvwrR2z882TQ/xuB8P2Yc\u002Bj7wYZK9rO6NP6tNm75mr3vASsD4P1p5ej9TgE0/ETd/v1W4DEABCRJAnJW1PvEz377Tz5g\u002BZp6XPyJCIUAzTjc/qlJAP7gLlz9c1bc\u002BrEU0verdob\u002BbpFS/TbEpvSKBxz/GvWk/PPUsP\u002BNQHz4xPM2\u002BZfD2v6AHsz4hgEm/PECZvSg5u7\u002BCroM/p8iWP1rzZMAIl6y/\u002BiSOvminPD7\u002BQrA/8GbjQIAElL/4TQtAGuBeQNTAlL08bwm\u002Br1dBwEOrjT8CxYe/awJxv1b5pD\u002Bz0Fg/wmCTv3TpID8Ufrm\u002B9UCuvvRumr75Sqi\u002BgvdBPzXbf78AFvs/oiUmwOPS6b3wiBNAHHNuv1R2Zr6M\u002B1U\u002BvqSPP9zs1z9oEfa\u002BkOrvPzRjrr44YxtAZmvavqbKq7\u002BkrI29xVvoPpGnRL\u002BdHDm/CAlOPBnPhj92HYO\u002BXiLePxOBhz9uMVfAnuUcv0gyMD7w4tg9St9Dv1Qmlb8AJUc7gdGmP\u002B\u002BGjz7dhFw/iDZgv1pnsL46S7s//PUHPzoJi76AVCM/iQlmP3Aln78j1Ya/ZmM/vvBiQL417ck\u002Bw/UPwKwRED6u\u002BXK/fT73PgqM2b0hRBo\u002BoPjdve7CKz9nsAZAIP3/P\u002BoOFL9yuv\u002B/2HqMu8yX9r80Ce6\u002BLI6lP8GMlb/vn1y/HShDvigBRT/8YXO\u002B\u002B\u002B\u002Buv5\u002BH1b/cAvc/4NpaQA8RlD889iu/7CLdP7FA2b9Oma6\u002BOAVbP5wyrr9ekdS\u002BTWmMPewrW7/mPB5AJVrGvoQwOr8AKxC77wQGQCSasz\u002Bkn\u002Bk\u002BrB\u002BEv\u002BJHrb5Ahny/4HMxP7GOdj1eA6w9Hq6/vziYKr80T4C/JSC1P/ZZnz\u002BNxw/AYDd/vSVdRL/wYEzAXZNbv7tVyMD6KVs/UljvP5VyNz/i7F2\u002BISmOPlREsT9MbwM/cHZdvunJmz8qMRBALILRv2667D6sLAxAnFQXvfLp1D8Tac8\u002BlIgQvwyrN7\u002BsA62\u002B4urqvUqj7T/6F26/rPsMv6YCjr\u002BAx7W9efGJQPShmz\u002BV/Q0/FJ/ZvuuhVz84CQ8/7SFEPzetSMBEJOo/5N7QPvyD374KVRrAhdpSP5yoMr9WV1G/J28iQNvHA74muca/cSuPv3RvqD36g/W/Ri/Zv534C78yJ5y\u002BfdOwv2OshT4QhNM/kBDJvzbMaj7i456/4rB8vREVMr\u002BTGqi//KAuP/Zqmr/0/pi/JuCRvyuU8r7O/h8\u002BwJa1OpyPQr9ZpSq/AkKlPhe2\u002BT1IDtu\u002BVq6tP0iLOL8yzKy\u002BUo3gP17vKr\u002BW5a8/3u2ePyz8qD\u002BAlEy/oOI\u002Bvhy1oj4aTZi/npmOv4xGUD/n6YM/iK0xv7wV775kg749J\u002BVLvtQDoz7bCiA/F01pv6xPpb7cFmhAQWq1vkylysBgBpS\u002BaGNCvQrdZL/hrB2/OMylPXi6YD9sK6M/fhN6P0ljiD\u002BWebw/vekVQPAMYT9j5yC/MGdYP4ry4z4WKQFAPOe2vZZQ1z\u002BOm4C/fIOVv8jnKT3vUGZA9tQYveGeWj\u002BuoxZAhFItvhP\u002Bpb4V7wG//JTEPTf1sj9e\u002BQi/Bv0cQFCIe79KoTy/LinMPx94E8AOjr8\u002BBJGJPS3Oj751Mf09cDWJvz17Q8BkBtO9i5oZP8IemL84wE0\u002BhDfIv02UUz94XPK\u002B6h7aPmkfzz7sdum/GCRpPfnejz/IR3Y\u002BRg6Iv6DZNr\u002BEEWW/ZBsFv1jbrb6gg8m/Q/6iv9qkYr8mmE2\u002B" }, { "CategoryId": 3, "Name": "Sleeping Bags", "NameEmbeddingBase64": "rNhlv1GO/D7PKwu/1GWsPgLKoD93F84/2nAGQN0OJr9udRc/3ZqRPooEoL9cT4o9JKKLvwNxG0Dpbtc/bjvavu5kbT9hMTi/H6M/wBZfkr7egAJASjeTvuhInT9W04Y\u002B3zaWvl5BoL58sEU/oCQ/vMzrGL/et0fA1AqEvwMEYz78EwG/j5PCvl0PwD8vyzo/scv2P9r\u002BNT7sneG\u002Bwu0OP\u002BzTsT90oEo/dPwNP2r\u002B1L5UmnE9dHrXvuDnZb7g6te/AEf4PvVmtb7ZmQhA4sedvnucRb/CbUS\u002B/wfQv8G34r4RMBy/ZmX2Ps4spz\u002BL59M/JkSEPoshDEBO\u002BjHATuCTP6Hl6D763wo/TqH4vwk7oz62UK8/ylKdPwzy9r4cOze\u002BlAvdPt6hED8TcqM/8JqBP3xMDED6pd2\u002BZZ12PuKBVr\u002Bh\u002Bqy/D8srvwXhqb2afwS/Pq1jv2HQdD80btu/WNvsvp6\u002Bhr7HBGO/PITrPS4uG75m1UO/jl2WP\u002BPNNcB8mzC/yljOv3MWvT8VAa2/eLHFQOUjzD/ANfk/1s/APzDAjbz6Laq/Fmo6wFK4XT66cIu/Nd2bvmkvCD\u002BQJzy8FUO7PhsnMEBwcWC\u002BZkH0P3JBiD8SbM4/vFMUQLR0vD4byeI/ohAVwNBByb/NKgVAcwvFPTb8tz7QF9A\u002BgGaJvQlmDkCj\u002BMw/TPZmPxz8c78eIxBAWxtKPwSsxD5RorS80jcSP0Rcjb8BYAM/REotvyt1EsBsAOg\u002BDaijv\u002BA3\u002BD\u002BsTD/Ar0mWv3/U4L5bfZS\u002Byxy4PsG4B8C4oGq9TzjjP8wK4r4OsCQ/V4oRwIRWAz\u002BD8p8/k\u002B3uP\u002BjbSD1Hl5s/CkClviapaT5quoo/ltuQP5ednj9/Lr2/f1yfvqsrPL\u002Brl1\u002B/MIiTv0RqAcAutYA/OnCAPxhIXD6zWLy/2bgGQLgXEj8AaR86r3E\u002Bv195P78w3As\u002Bxmp2vii\u002BE8BM9uq/XbievyLyGz63owi/xGdavyT3WD/odQE/78pNv9wt3L\u002Bq\u002BlC/AnNzP/Uyhj5dw6G/qERlv7LdmL\u002BgJay9wT4rP\u002BsUlL8eRSBAykF4P23UnT6s\u002BZK/7Nf6P2exJEAaSLK/xOBhv/7GFUB7L\u002BK\u002BqDDXP1hKmj7S/RA/gSaZv8ryAsDpELQ/fklAv52RuD6jIFK/PP9xPWSqJT9ONk3Ag1Fxv8bywsCuAbA/f/1oPmmok7/VLx8/sxx7v2QMIb/U1vI9SjIPwMy9Ob/Datc/OROyv2Khyr\u002B6z8g/N1KJP6kkMEDYTSy/UYq/vpz4mz5aVKO/gqqKv\u002BZdr786cVc/JNmFPtAu1zwA4Jq/PihPQCA8775GCLY/S9mMP1qyKT8IUm4/3HhfPz42BsAS2eA/9OULv1d\u002B8D6kHd4/zHxBP77jcb5opju/dd5dQH1L7r49fju/CHiNv\u002BfR\u002BL9Ly5S/VXzavxYQsL6AWHu\u002BqmQcP94DXj\u002BHM5Y/eHrfv45mcT9egN\u002B/a3t5P0HNhr8DWQO/RjagPghxcr8UPmO/joYKvXOLK7\u002Bw6F\u002B/dSgBvzlFoj5yD0K/WqdYvhlRC7/TIYu/g2o\u002BP7jk3b\u002B2xx2/9rbLP2dqlj\u002BoYDM/qGMCP\u002BjNiT4DxYS/CKx2PZnyyT4WZjm/uqnHvd8D4T37OtI/RSJ6v\u002B0v8D9Y/UC/7Cl0P3LyjT99OSc/nVdOvoyukb\u002BfoRlAR1TtvcwRpcBgHse\u002B5NE1wHRLz788BKA7y4/nPd0RGj8NajBAUJCKO7ATDD9pXBA\u002BgBBTQKt4577sKyY/E9oEP3r5kT5YOFA/sDHQvyQU2D8\u002BJc2/\u002BJ\u002BGv9nmoT2RtHxAdZA5v7aImz\u002BKIe0/ovyWvrRdG7/Y6aA\u002Brv\u002BCP6qULEAQGze\u002Bk3zHP7hqar\u002Bx\u002B1e/oCyNvrRtRsBrRvY\u002BRCPAPbFU7b7diu4\u002BQAGHP7WZPr69vsK\u002BAOppPiOkrD5kDgo\u002BdrK0v3trUj8i6hXAPN1yPU9a3b/EE9K/DKjAP1ICQj/WQfI\u002BYiK3vX0GgD\u002BBtWg\u002BwvxQv\u002BV8Nr82VHPAlY3fv\u002BY3CL/Oocu\u002B" } ] ================================================ FILE: seeddata/test/customers.json ================================================ [ { "CustomerId": 2, "FullName": "Eleanor Parker" }, { "CustomerId": 3, "FullName": "Karen Johnson" }, { "CustomerId": 1, "FullName": "Emily Johnson" } ] ================================================ FILE: seeddata/test/evalquestions.json ================================================ [ { "QuestionId": 1, "ProductId": 2, "Question": "How to store Arctic Explorer Sleeping Bag?", "Answer": "Use compression sack" }, { "QuestionId": 2, "ProductId": 2, "Question": "How to close the sleeping bag?", "Answer": "Gently pull the zipper tab downwards" }, { "QuestionId": 3, "ProductId": 4, "Question": "Warranty duration?", "Answer": "One year from purchase" }, { "QuestionId": 4, "ProductId": 5, "Question": "Insulation testing method?", "Answer": "Comprehensive thermal conductivity tests" }, { "QuestionId": 5, "ProductId": 4, "Question": "Can I use the sleeping bag without proper ground insulation in extremely cold conditions?", "Answer": "No" } ] ================================================ FILE: seeddata/test/manual-chunks.json ================================================ [ { "ChunkId": 1, "ProductId": 1, "PageNumber": 1, "Text": "(c) Rugged Riders 1\n\n\nTrailblazer Bike Helmet", "Embedding": "pFLLwIAvm0DWgGNASon6vpPDFcEw2CJAxGonQH5GSECwDFbAJnuTQN+C2b0fmAvBtpxCQE559D+T3mZA6YlpPiIStUC09btAcpuaQPG4iUDysFI9LxIQwOPH6j/bQVM+dA2EQAQg9T9eWTTAeUlVQOmMJUD9kjbBrrumPw6kJMBetApAEF6nwEYeD8CtBYm+Ao51wKVtY0CQHiK/SHdHQFknmUBCLgFBqlbRP/nXA0AilipAPPevP81KPz5AuJ7AmkfJQAL0isCcdJ1AsAQZwIOPgEA+3MHASPAxwBe9nr34eoW/2L6vP2RniD+vzjJA6YIjwHDEGUAxBUjBX7HDQMd/yD+3DwBB+VsTwPGQkcBDirm9a0LZQNCGEL5FRbY/2L3VP2D0vL/XJg3A07OPvzo7VT+0AxPA6OwwwPclmcDeiZjANiTWwPT58L8gYMi//C4gPxzTM8B42Zc/AD1PwJw4cEApBcRAbgDXPq7n3L8z0/0/pzIkQMOiKsE96P2/kb3VP/rU3D9CuytAuwVkQY/fWr8Gqn0/0+IPQJqNfj/vCNBAp+MTwHtaWz9k+YnAZlqov4mYCEDbeB1BYvm2PvyOaj8wXjLAK/RswPsoU763rRvAy70DQNIJPcCSLcdA8eVcwNL0078BDqs/DuSsv1rnYr8jDFLAr3vYQFUXrUDagndAWWCeQMz3EkA6IMBAmPjvvjX9bL8TY7G/py0uwCHtzb4pgZY+M5eWv1ZlYT/TSPS/lr0yPlWuNEBsdR7BIpEWwFfo4MASqky/ymv6v35rcsA5cwjAhouMv06LIz9avZs/mHwzvhN7WUBjs69Acs8gwKJFez/xXty/gDaPP7Frtz9ajiC+8EPKP/M77UC2EnNAWeYwwZDBnD9qnU/AYetvP5U+PcB02hPA6rsGPyMEpb7UfSxAIjssQPqMXUCaVeTA4YybPuabisC0+BNAmkRDQMhtC8D/Ci/AYFrXPwowAz8eLb+/aZCZwAVp8L/YIJQ/XgW0QJPpHMDPAFi/eIwiv0suR78ADI861QhVv7aJ3MCjkgjAlA1AP7NXir1Fot1Atqk4wGBlGUDyfdw+KZUBv+ofIkA3kxbAK6CVwKHkvz/mNDxA+bOJPXUHLsCBsTBAjPHYPZB9AL+QLBzA6OmdQLobE0ArvBjAmsjpvwqitL6llAXA3CwCwJCzdsF4Fae/4psiQCFW1UBz+8BAN4Z4QJy02kDjBRY/MhUJQCV+lMAtxrBArfAtwA2/gMBd4TfAG4fTv8hBx0CxVus/8NZuwH1bCcAQxAXAXEtkQJixa0ASIhXBftuWwIlFqj5M4NW+QtdJQZQIOz9acqG+UhwnvyK+bMAEJr2/DGjzvgH7l8CQM1Q/fDRqwGPMtj/TQFzApUbmvl5q/r/UhRlAi4PGQBLPsL8+QcHAGcvcvxxN4z9Uf+y/Jzb5P0N/XD9KriG/Gveevmp15b5TU71AKipSP266qUBSIg3B1fj6wFqgz7+xney+DJUOQCJru79iXQfAOP8HwDfQm8CtHN5AfQXlQKPt3L9xurXA/Y3RQNxOlsDX4BDACqbtP3jmGT/mUIW+xUycP6uBv72tcjBAnzoawI5MIUArJRtAUllEv+FuTMDkJea/GO+zPsS9Pr/y115ALJZNvikjpb82u1A/v3eqvyyjrEA+pwnAVoMRv2/hy8Anrn1AKYUJv1u/ocFTJAXA7AJZPXZlpz+PHofAkO/lP3/EuEDJcptAcOjdvoMd1r8af8k/Xz/XQOBuwT/gFhi80YA8QAY+CkAJiY5AZxdXwKUtfT8V8MM/lmQlwJpmVz+ADxxBHqNBwJN6sEDHB94/BUR6wF9dl74E0BHAFBSBv4vyDkCZQibAskcrQV33AsDSUYPAabKIQKW3DcDGpgpAMRg/QOT+c0DIU6W/ve6+vnLezD8q99k/4bsYQaSzwr94IcDACQSWv6/sBEAj/U3AYpt7wBkiDMCDtvvAFO3NP8A1/z82bLu/O4ZYQCe+F0Ccu8DAoxcPwOi3gjyKIUK/1XrGwKF0Hj8Z5Y+/" }, { "ChunkId": 2, "ProductId": 1, "PageNumber": 2, "Text": "(c) Rugged Riders 2\n\n\n3 3 3 4 5 5 5 6 6 6 7 7 7 8 8 8 8 8 8 8 8\n\n1. Important Safety Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Proper Helmet Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Helmet Care and Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Warning: Not a Toy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 3, "ProductId": 1, "PageNumber": 2, "Text": "2. Assembly and Adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1: Attaching the LED Safety Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2: Adjusting the Helmet Straps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n3. Using Your Trailblazer Bike Helmet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1: Wearing and Removing the Helmet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2: Helmet Features and Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 4, "ProductId": 1, "PageNumber": 2, "Text": "4. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1: LED Safety Light Not Working . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2: Fitting Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 5, "ProductId": 1, "PageNumber": 2, "Text": "5. Warranty Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Limited Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Warranty Claim Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Exclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 6, "ProductId": 1, "PageNumber": 2, "Text": ". . . . 5.4 LED Safety Light Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Limitation of Liability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Non-Transferable Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Legal Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 7, "ProductId": 1, "PageNumber": 3, "Text": "(c) Rugged Riders 3\n\n1. Important Safety Information\n\n\n1.1 Proper Helmet Fit\n\nBefore using your Trailblazer Bike Helmet, it is important to ensure a proper fit to maximize safety and protection. Follow these steps to ensure a secure and comfortable fit:\n\n1. Ensure the helmet is the correct size for your head. Refer to the size chart provided by Rugged Riders to determine the appropriate size for your head circumference.\n\n2. Adjust the chin strap so that it is snug but not too tight. The chin strap should be securely fastened under the chin to keep the helmet in place during use.", "Embedding": "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" }, { "ChunkId": 8, "ProductId": 1, "PageNumber": 3, "Text": "3. Position the helmet on your head so that it sits level and covers the top of your forehead. The front edge of the helmet should be about one inch above your eyebrows.\n\n4. Use the adjustable dial at the back of the helmet to customize the fit. Turn the dial to tighten or loosen the helmet for a comfortable and secure fit.\n\n5. Check that the helmet does not move or shift when you shake your head. If the helmet moves, readjust the fit as needed.", "Embedding": "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" }, { "ChunkId": 9, "ProductId": 1, "PageNumber": 3, "Text": "Note: Improper helmet fit may result in reduced protection in the event of an accident. Always ensure a proper fit before using the Trailblazer Bike Helmet.\n\n\n1.2 Helmet Care and Maintenance\n\n\nTo maintain the performance and integrity of your Trailblazer Bike Helmet, follow these care and maintenance guidelines:\n\n1. Clean the helmet regularly using a mild soap and water. Avoid using abrasive cleaners or solvents that may damage the helmet\u0027s shell and components.", "Embedding": "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" }, { "ChunkId": 10, "ProductId": 1, "PageNumber": 3, "Text": "2. Allow the helmet to air dry thoroughly before storing it. Do not use direct heat or high temperatures to dry the helmet, as this may cause deformation or damage to the materials.\n\n3. Inspect the helmet regularly for any signs of wear, damage, or deterioration. Check the shell, straps, buckles, and other components for any cracks, dents, or loose parts.\n\n4. Store the helmet in a cool, dry place away from direct sunlight and extreme temperatures. Avoid exposing the helmet to harsh chemicals or fumes that may affect its structural integrity.", "Embedding": "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" }, { "ChunkId": 11, "ProductId": 1, "PageNumber": 4, "Text": "(c) Rugged Riders 4\n\nNote: Failure to properly care for and maintain your Trailblazer Bike Helmet may result in reduced effectiveness and protection. Regularly inspect and clean the helmet to ensure its safety and performance.\n\n\n1.3 Warning: Not a Toy\n\nThe Trailblazer Bike Helmet is designed and intended for use as protective headgear during cycling activities. It is not a toy and should not be used for any other purposes.\n\nNote: Misuse of the Trailblazer Bike Helmet may result in injury or reduced protection. Use the helmet only as intended for cycling activities.", "Embedding": "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" }, { "ChunkId": 12, "ProductId": 1, "PageNumber": 5, "Text": "(c) Rugged Riders 5\n\n2. Assembly and Adjustment\n\n\n2.1: Attaching the LED Safety Light\n\n\nTo attach the LED safety light to your Trailblazer Bike Helmet, follow the steps below:\n\n1. Locate the LED safety light - The LED safety light is located at the rear of the helmet, indicated by the \u0022LED\u0022 label.\n\n2. Insert the light - Insert the LED safety light into the corresponding slot at the back of the helmet, ensuring it is securely in place.\n\n3. Turn on the light - Once attached, press the power button to turn on the LED safety light. The light will emit a bright, steady glow, enhancing your visibility during low-light conditions.", "Embedding": "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" }, { "ChunkId": 13, "ProductId": 1, "PageNumber": 5, "Text": "2.2: Adjusting the Helmet Straps\n\n\nTo ensure a comfortable and secure fit, adjust the helmet straps as follows:\n\n1. Locate the straps - The helmet straps are positioned on either side of the helmet, with adjustable buckles for a custom fit.\n\n2. Adjust the chin strap - Pull the chin strap to tighten or loosen the fit around your chin, ensuring a snug but comfortable feel.\n\n3. Adjust the side straps - Use the side buckles to adjust the tension of the straps around your ears, allowing for a secure fit without causing discomfort.\n\n4. Check the fit - Once adjusted, ensure the helmet sits level on your head and does not move excessively when gently tugged.", "Embedding": "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" }, { "ChunkId": 14, "ProductId": 1, "PageNumber": 6, "Text": "(c) Rugged Riders 6\n\n3. Using Your Trailblazer Bike Helmet\n\n\n3.1: Wearing and Removing the Helmet\n\n\nTo wear your Trailblazer Bike Helmet from Rugged Riders, follow these steps:\n\n1. Open the adjustable chin strap. 2. Place the helmet on your head, ensuring it sits level and low on your forehead. 3. Tighten the chin strap until it is snug under your chin. 4. Adjust the rear fit dial for a secure fit.\n\n\nTo remove the helmet, simply:\n\n1. Loosen the chin strap. 2. Lift the helmet off of your head.", "Embedding": "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" }, { "ChunkId": 15, "ProductId": 1, "PageNumber": 6, "Text": "3.2: Helmet Features and Benefits\n\n\nThe Trailblazer Bike Helmet is designed with the following features and benefits for your safety and convenience:\n\n\nFeature Benefit\n\n\nAerodynamic Design Reduces wind resistance for a smoother ride.\n\n\nAdjustable Fit Ensures a comfortable and secure fit for all riders.\n\n\nBuilt-in LED Safety Light Increases visibility in low-light conditions.\n\n\nIn addition, the Trailblazer Bike Helmet is equipped with a rear fit dial, allowing you to customize the fit to your unique head shape.", "Embedding": "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" }, { "ChunkId": 16, "ProductId": 1, "PageNumber": 7, "Text": "(c) Rugged Riders 7\n\n4. Troubleshooting\n\n\n4.1: LED Safety Light Not Working\n\n\nIf the LED safety light on your Trailblazer Bike Helmet is not working, please follow the steps below to troubleshoot the issue:\n\n1. Check the Battery: Ensure that the battery is properly installed and functional. Replace the battery if necessary with a CR2032 3V battery.\n\n2. Inspect the Light: Examine the LED light to see if there are any visible signs of damage. If the light appears damaged, please contact Rugged Riders customer support for further assistance.", "Embedding": "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" }, { "ChunkId": 17, "ProductId": 1, "PageNumber": 7, "Text": "3. Ensure Proper Connection: Make sure that the wires and connections for the LED light are secure and undamaged.\n\n\nIf the issue persists after performing these steps, please contact Rugged Riders customer support for further assistance.\n\n\n4.2: Fitting Issues\n\n\nIf you experience fitting issues with your Trailblazer Bike Helmet, please refer to the following troubleshooting steps:", "Embedding": "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" }, { "ChunkId": 18, "ProductId": 1, "PageNumber": 7, "Text": "1. Adjust Straps: Check if the straps are properly adjusted to fit snugly around your head without being too tight.\n\n2. Positioning: Ensure that the helmet is positioned correctly on your head, with the front edge no more than one inch above your eyebrows.\n\n3. Proper Sizing: Confirm that you have selected the correct helmet size for your head. The Trailblazer Bike Helmet comes in three sizes: Small (S), Medium (M), and Large (L).", "Embedding": "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" }, { "ChunkId": 19, "ProductId": 1, "PageNumber": 7, "Text": "4. Inspect Buckle and Dial: Examine the buckle and dial for any damage or issues that may be impacting the fit of the helmet.\n\n5. Padding: Adjust the inner padding to ensure a comfortable and secure fit.\n\n\nIf you have followed these troubleshooting steps and are still experiencing issues with the fit of your Trailblazer Bike Helmet, please contact Rugged Riders customer support for further assistance.", "Embedding": "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" }, { "ChunkId": 20, "ProductId": 1, "PageNumber": 8, "Text": "(c) Rugged Riders 8\n\n5. Warranty Information\n\n\n5.1 Limited Warranty\n\nRugged Riders provides a limited warranty for the Trailblazer Bike Helmet. The warranty covers manufacturing defects for a period of 1 year from the date of purchase. This warranty does not cover normal wear and tear, misuse, or accidental damage.\n\n\n5.2 Warranty Claim Process", "Embedding": "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" }, { "ChunkId": 21, "ProductId": 1, "PageNumber": 8, "Text": "To make a warranty claim, contact Rugged Riders customer service at warranty@ruggedriders.com. Please provide the original proof of purchase and a detailed description of the issue. Rugged Riders will assess the claim and provide further instructions for return or repair.\n\n\n5.3 Exclusions\n\nThe limited warranty does not cover damage caused by improper use, modifications, or unauthorized repairs. It also does not cover damage resulting from accidents or misuse of the built-in LED safety light.", "Embedding": "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" }, { "ChunkId": 22, "ProductId": 1, "PageNumber": 8, "Text": "5.4 LED Safety Light Warranty\n\nThe built-in LED safety light in the Trailblazer Bike Helmet is covered by a separate limited warranty for a period of 6 months from the date of purchase. This warranty covers defects in materials and workmanship.\n\n\n5.5 Limitation of Liability\n\nRugged Riders\u0027 liability under this limited warranty is limited to the repair or replacement of the defective product. Rugged Riders is not liable for any incidental or consequential damages resulting from the use of the Trailblazer Bike Helmet.\n\n\n5.6 Non-Transferable Warranty\n\nThis limited warranty is non-transferable and is only applicable to the original purchaser of the Trailblazer Bike Helmet. It is valid only in the country of purchase.\n\n\n5.7 Legal Rights", "Embedding": "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" }, { "ChunkId": 23, "ProductId": 1, "PageNumber": 9, "Text": "(c) Rugged Riders 9\n\n\nThis limited warranty gives you specific legal rights, and you may also have other rights which vary from state to state or country to country.", "Embedding": "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" }, { "ChunkId": 24, "ProductId": 2, "PageNumber": 1, "Text": "(c) Insulite 1\n\n\nArctic Explorer Sleeping Bag", "Embedding": "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" }, { "ChunkId": 25, "ProductId": 2, "PageNumber": 2, "Text": "(c) Insulite 2\n\n\n3 3 3 3 4 4 4 5 5 5 5 7 7 7 7 7 8 8 8 8 8 8\n\n1. How to Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1: Opening the Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2: Getting In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3: Closing the Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 26, "ProductId": 2, "PageNumber": 2, "Text": "2. Keeping Warm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1: Insulation Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2: Avoiding Drafts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 27, "ProductId": 2, "PageNumber": 2, "Text": "3. Cleaning and Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Cleaning the Sleeping Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Drying the Sleeping Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Storage and Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "I/jRwoato0EH6qVCPrQPQXXn1kJ7usbBUiKvQldVc0GWM+ZBXaGRQXmvHsIspDHDBXUQQplC3EKL1I9CbzB0wXaPXUJY3ndC7FoLw2HVf0GK4h5DN1IZQGnaEELW/MFCDueFQoXbZEKmYBfCNv41wrHkP8I4JljDvAWowThtAsHdCyRCtxrYwewD7kHPrZXCn8UDQjxHf0JIQHbCwNGRQpMzNkD6CadCLFEpwkUZu8J4W+HCGvUewmco4kCsP8zC7SOvQc/93cK/u3S/hhIHQnsZ5MEvb0hC5zS1QRcuTkKPHGpC9ZgZQhRbukAMTPtBWQTyQd9glEKhk43DjL9YQ/LgkL/eB2FCJgajvxQmXsKs+TVCWZb9Qvx60sI4vXZCbzlvQHThIkIJ4TNBDrVxwlNIEUMHIx7C6YiHwhOP88FjvsnBmYZtwpKqDkITTlNCWQUBw8V61L8RvIXCgW/UwTCROUDxSZXB57k6wgnsdcBAsQNC37djQiXL4cKZGkDCLwlZwp8l3UI1QwLD1QJvQ3CVbcIbpwxC5AAEQxkQBsNQ0O3BYELswU5c1b4j/YvCxi6AP1RK+ECpJJ3CNdeWQoi3ykIBmLzCfnOKQkKDCsGcaqJCxMSHQXZdCsIYarfBV8xhwfGO10AKjpdCQhBAwjC+RkJP0jzCIgrpQUggzkHgcOnBKNOzQpifQUJZ6LlB9RHXwqdeaEKM6aLBEGx3wRRNR0HjnvFB0baoQnugA8Nal6rCkZFLw2qttEDcK0fDobiHwtQR/0DmK3DC/44WQuoVpML1zSbDJt6VQsNgMEOrXaVC4SpqwiFpWUL8x5BBFTcJQ5ROdkBaESnCBDqAQXELhcG/ozHCpnSswltdB0O9k/vBqrkqwmEHfEFM5xbCBya9wmy2AUJ5PDBCR0FiQnDQA8Mvep/CGQMIQ8q7s0HD3wtDRGMCQsdgE0OUCafBDOqjwbvovMEp4Q7DyhNRQo4D4EIhQbnC+LosQikmXEKavOBCwI9BQtx6r79ta57C3BYSwlGp3kGn4ZLBOBztQU2JkcLvN7HATJxaQJ1x9sEXmDpDLGVowL36KULOLec/7dsdQlWfJ0PC1X/C91jLwhy2D0PQDqxCacv3wJlFLUKR/NJCOIg5wjQB38DJVtNBIZoBQoAMqz95YVbB3Z2ZQjN6PEL3VynC1dTpwlPTmMPV56dC14pkweDgjcKFIfVCsngFwdNYDkGO5mjB3CIvwXxGP8Ik5xBDRp+DwtycLULTbdbBhUCBQu8zDkLBzmZC4ASfQenzyMLi+ozCv2eFQogTQMFlWrdCJIjJwj0mzUJ4rtzCW3lMQ3ZZssFh2AxDKNyhwetLjkKvtRpB1l1Twmom6MI9TL1B+l3bQg38ecJYE+BAytGawk8VXcLH+3TCnzTGQtf2YMJCLfzCwetTwgGg6cLgMFHCm/4swru7hMJMuwtCU5ZTQpWpVUHqpTzB57CiwNglZkJCxspBKoXGQNyh9kGl86jCly2YwXol10FD0bfCB3R2QkcLpMJE66tANCkIQU4xJMHHz0DCZQ1jwtkZGcKbEDjCvbCsQdjtN8K2GstA8HsaQkFXEULzyvPC9E+AwqnMW0FQr7fCdOehQJ4wzsJurD3CjceJQTwbaEIeeaZCXywrw9YfJ0EbrABDBvleQtKH+UECRKLBJM2nwf79CsPVYQBDIRhZQlITrcOxQbzB4Q0lwv3VncE9YhRBEQrVQv24QsLp9c9Ba2EUQag7YEClVpRClLKfQlHGEMLv+dvBymCkQs5FRcG0wxhBCwjVwuP9yUJhY5jCLp2aQbzzVEGi0HBDmF3HQfMtbEJ+KT9BeKApwk2wo0I1AXhCXTltQr+QaUKUQ1fBw7L+QmuX/T/wDztBJy5wwEHy+sGd0hJCzxDNQQ8s+8H5NjPCBniMQlhReMIWO4w/5LwGQ1yxisIGnwJCU990whXBREG3yKbC1N2EQJf850GknGzC8Ds+QUkMA0L0Mn5BJdfbwR3Qh8Cx5YTCYCEBQMjHtkJWdP7CKwogQjT+6sETQElC" }, { "ChunkId": 28, "ProductId": 2, "PageNumber": 2, "Text": "4. Storing Your Sleeping Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Cleaning and Drying Your Sleeping Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Compression Sack Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Long-Term Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Maintenance and Care . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 29, "ProductId": 2, "PageNumber": 2, "Text": "5. Contacting Insulite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Phone Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Email Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Warranty Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 30, "ProductId": 2, "PageNumber": 3, "Text": "(c) Insulite 3\n\n1. How to Use\n\n\n1.1: Opening the Bag\n\nUpon receiving your Arctic Explorer Sleeping Bag, start by unpacking it from the compression sack. Lay the sleeping bag flat on the ground and locate the zipper. The zipper is located on the right-hand side of the sleeping bag and is color-coded in dark blue for easy identification. Begin by gently pulling the zipper tab towards the top of the sleeping bag to open the bag fully. Take care not to force the zipper to prevent any damage to the sleeping bag.\n\n\n1.2: Getting In", "Embedding": "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" }, { "ChunkId": 31, "ProductId": 2, "PageNumber": 3, "Text": "To get into the Arctic Explorer Sleeping Bag, locate the opening at the top of the bag. The opening is large enough for easy entry and exit and is reinforced with durable stitching to prevent tearing. Situate yourself at the opening, then carefully slide your legs into the sleeping bag, followed by your torso. Once inside, adjust the position of the sleeping bag to ensure a comfortable fit. The sleeping bag features a spacious interior to allow for easy movement while inside.", "Embedding": "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" }, { "ChunkId": 32, "ProductId": 2, "PageNumber": 3, "Text": "1.3: Closing the Bag\n\nAfter getting into the Arctic Explorer Sleeping Bag, make sure to fully close the zipper to retain maximum warmth. Gently pull the zipper tab downwards to close the sleeping bag securely. Take care not to trap any fabric in the zipper to avoid damage and maintain the integrity of the sleeping bag\u0027s insulation. Once the zipper is fully closed, rest assured that you are ready to stay warm and comfortable throughout the night.", "Embedding": "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" }, { "ChunkId": 33, "ProductId": 2, "PageNumber": 4, "Text": "(c) Insulite 4\n\n2. Keeping Warm\n\n\n2.1: Insulation Material\n\nWhen it comes to staying warm in the Arctic Explorer Sleeping Bag, the insulation material plays a crucial role. The Arctic Explorer Sleeping Bag is equipped with state-of-the-art lightweight insulation that ensures maximum heat retention while keeping the overall weight of the sleeping bag to a minimum. The insulation material is designed to trap body heat and provide exceptional warmth even in the coldest of conditions, allowing you to enjoy a comfortable night\u0027s sleep no matter where your outdoor adventures take you.\n\n\n2.2: Avoiding Drafts", "Embedding": "vHsDwiUyZ0LdY69BzWNWQVEXQELzoOJA+UByQgwn5T5HceLBfYSdwX3I88EnNDDC3sGkQd8mRkJvvQtB8pXGQCPHFcGe/9O+4Im5wYXuF0J2OIRC4aOlwfklokGLMhXA0MrmP3xzz0FhDrpAoLiBwXphLsHW2/vCBcpvQZQ7TcKfaz3BjQPxQJptJMK3w53BH7ISQtrw7sEKv0fCKiQbQhQaZcEvSEVBm71UwWjFvcEiIpBBxhEQQUrXCEFSjn/CX//LQbM/oMGqD65BnSwKwYrZHL0fKdBBhig5QBIgQUARvuNB5XsxQT9l5UGBPLNBaIn/QS3xAELBS6/Cvvl7QtyVHUBOuf5BSTGmwvQ0DcFG2jJCQyDgQITRB8EC1jBB7nGVwEH5HkKLbi5CDAhNQbHdhUGKtetAsiQjQeqVEUA+n8LBxPI2wexYzkG4WOPAWlQDwRBBA8GUb1U/mPbWwZ9ol8CPEmnBxuq5wUCwBEFyk1XC5SgIQELkD8JI+xpAIn+HQcDszUGLN6bBcqPRQm9aFkJqtWhCGhoIQX6OBEJWlJDAedBawtXG00G3Y4zANaPywSylCcJSb9FBokXBQBZfvcET68TAulhoQZmrFkIqy7NB07htQt4ViMFSHMZBlvxKwtrTC8KBhalCaVBkQNAGUkG5ukjBBIQ+QQYu/0Ah9b5ALsCKQRWwEELzja5B+qk3wTp4gsFfBxZBWb3AwP2d48EnkchBZn8PwBmxjMLYma1BoEVkwPeUFkLcl6DCCImLwcvlu0FZYezBYdmWQRYFusJAminCgeIvQfiohMGuX0hBTQeHwoug2kF0QbRBYnW3QK+ZGMGXoSbCKObJwYziVMFkiXjAzJr9wJX2q0HImRbBO/ouwMNS/sFNrgpBmqoVwSgl98EciEBCULjHQeMiqEDnJxzCmFqNQi8sRkFjmOjBp/a5wViFG8AQdRTBvk7HQW24IMJOrxPCt/lhQcY6TEH+PJTBG6/FwTsIT8HlIeVBrVK9v2nc9MGkuMPAa8VnQt4XWEJY/fvB40qlQXpkx8GrgoNBKf+KP2hhLsLX2KNCiMAXwvcJ+z9uW7XAGvIQQmUnDEKWmy9BibtTwkoYa0LOmWW/7s0DwWC/w0A6KhDCAsH+wBYuiL9OIBPA8OjvQRlAmkHgQ5JB+v25QLGDqEGjfXHCvUK7wSG2GMNOarVBZHjLv8gGwsGJUkFCc3eMwa/aO0LpRgPCRorHwWCP18BXiEdC7ZzoQPdZBsJ++TZBaVxiQTJwRUGFVJdBqMimwVCANkCtb/BBfY6PwUxdJ8HbWD3CopMXQuCicMA4qi/CzKzbQoZKb8LxcxZC3lQtwdxfZcF4HCpBnaNqQYoYncLltKVBri4QwTRGGEHpHAVCuPsGwUBHmsHzv4pBJeiaQq7lycH/wxlBHQ4AwffLh8I+nubBvpRKwppQPcK7zB3CbpAPQhIIo0GItJtB8vvfwVq7PcHh6WbBPIxIwYDkgUB6hq7BVcBOwK4CgL806yLCEb2bQW/hjsELEe5B473TQX7glUH/B79BNBHMQSuVrML+cnzBMY4bQlz06sFpIA/Cmh8OQL/wq0C+/6rAbhYDQqesjkF8Sb7BxuS2QSwKdsFl9IbB756jQBZTML+mKDVC7D8wwprgnUCvVixBs+4PQX/qS0K8/d++x1w0Qer1X8Lk2x1Cu/41wvUfEMNmECvB2oycQYwDI8L7FxDCwuWDPqGuB8HauhJCJZXzwdwzd0FlTQ/C9IhiQuzszMCW7ApCCeK8wWJLbsGmPgpBhW0fway9MUFD1Q/CLnvZwHLqXUHrEwlD/2OEQV/qbkHIxkZA/qxNQR9RqEEMRsVB4+Q8QlQlhkIkaUvBEPwnQgh1wcHNsBhBjVa7QToRksG0ow1C6EUjQvfrPMH2GhRCUNexQSlCD8Ft6YO/ONqwQb0FmsE9zoXBwEpbwTz0EsIp5jPCVMKaQcdui0G9+JjAY1nkQF0HZ0FLKJBBlzTbwRfLOsF/6vrAU/b9QN9sVkGXjhzCM8Vsws8RGEJRDZBC" }, { "ChunkId": 34, "ProductId": 2, "PageNumber": 4, "Text": "To maximize the warmth and comfort provided by the Arctic Explorer Sleeping Bag, it is important to take measures to avoid drafts. The water-resistant shell of the sleeping bag provides a protective barrier against moisture and drafts, keeping you dry and warm throughout the night. Additionally, the Arctic Explorer Sleeping Bag features a snug-fitting hood that can be easily adjusted to eliminate drafts and retain heat around the head and neck area. By properly sealing the sleeping bag and adjusting the hood, you can create a cozy and draft-free environment that will ensure a restful night\u0027s sleep in any outdoor setting.", "Embedding": "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" }, { "ChunkId": 35, "ProductId": 2, "PageNumber": 5, "Text": "(c) Insulite 5\n\n3. Cleaning and Maintenance\n\n\n3.1 Cleaning the Sleeping Bag\n\n\nTo clean your Arctic Explorer Sleeping Bag, follow these simple steps:\n\n1. Preparation: Before cleaning your sleeping bag, make sure to remove any excess dirt or debris by shaking it out.\n\n2. Hand washing: If your sleeping bag is lightly soiled, it can be gently hand washed using a mild detergent and cold water.", "Embedding": "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" }, { "ChunkId": 36, "ProductId": 2, "PageNumber": 5, "Text": "3. Machine washing: For more stubborn stains, you can machine wash your sleeping bag on a delicate cycle with a gentle detergent. Make sure to close all zippers and fasten any Velcro tabs before washing.\n\n\n3.2 Drying the Sleeping Bag\n\n\nAfter washing your Arctic Explorer Sleeping Bag, it is important to ensure that it is properly dried to maintain its insulation and water-resistant properties.\n\n1. Air drying: The recommended method for drying your sleeping bag is to hang it in a well-ventilated area out of direct sunlight. Ensure that your sleeping bag is completely dry before storing it.", "Embedding": "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" }, { "ChunkId": 37, "ProductId": 2, "PageNumber": 5, "Text": "2. Tumble drying: If you need to expedite the drying process, you can use a large- capacity dryer on a low heat setting. Add a few clean tennis balls to help fluff up the insulation.\n\n\n3.3 Storage and Maintenance\n\n\nProper storage and maintenance of your Arctic Explorer Sleeping Bag will ensure its longevity and performance.\n\n1. Storage: When not in use, store your sleeping bag in a large storage sack to allow for proper loft and insulation. Avoid storing it compressed for extended periods of time.", "Embedding": "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" }, { "ChunkId": 38, "ProductId": 2, "PageNumber": 5, "Text": "2. Spot cleaning: For small stains or areas that require spot cleaning, use a gentle detergent and a soft cloth to carefully clean the affected area.\n\n3. Repairs: Inspect your sleeping bag regularly for any signs of wear or tear. Small rips or tears can be easily repaired with a patch kit specifically designed for sleeping bag", "Embedding": "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" }, { "ChunkId": 39, "ProductId": 2, "PageNumber": 6, "Text": "(c) Insulite 6\n\n\nrepairs.\n\n4. Professional cleaning: If your sleeping bag requires deep cleaning, consider taking it to a professional outdoor gear cleaner to ensure its longevity and performance.", "Embedding": "A2IlwZh/mECt92tBBXYbwb6beUHvj5RAH922QdKvv0DuxqfAzUY3v3SIHsEXtATBKl2ivxt5jEGKOPS+5Kd7P1gYG0Ep24ZBfU/FwXvQikGIw0BBYI/8vuy3AMBRE49AxyHlQCaK6r862V++RnESwTMLLsHymiLCoGAawTQ1JkCxSp9AOS/0QNDfij/iaVHA+K1wPzj1BMALFIzAfmgwQaT2LEFtEXW/D5hrv6ppKcB/w6+/98trwcpZpkDseYTBYLg6QdW2OcGCOIFBnUODwXouwMBT4hFB5du+wLONhsBlTgVBEo/MvoXM5UAaRL1AbvUYQV9OrEDWLAjCl722QSXxtsBe4JlBdVRxwBgFy8B2l8VAKJNiQSoXLMERPrlAWd8jv85fjUFm6wpBVwnVP2lJur8BPS3AzFbtPWFINr8iozfB1s2iwHnWGL9rIkvAbKpOwTPsBL/qqJDANed7wCir8D/Lccy/xYMWP3e0/kCnmpPA8Xg2QensicDyxq/AfoLvwBBNfkEFGE/BZQEXQgfFK8Flbw9BLXpBQPck98C8ywTAjFVEwUiEscAuauE/ZB/Vvxl7tkCRYqlAV/EQQVwPzL8pRTXAXMpqQabCmkHtef9ALJ+cQClsmsB8CNE/zalDwTSqDcHaM4lBXPNZv2pgUcH8jv3ABAL+P8o2skDD+gTAIYVeQVyMY8Bb76tABtHhwFQMZUGo71PACnSaQPAPFryDpRVBxVUMQcTGQcGI/Wm/JGI7waw8oEDsTpfB82C8QO23p8DyOYfBbsIhQWYjjsEKXsDBPD26v1QtKkEvWGU+Dso4wXuCjEFkfChAjmxVQa2wgcF+RMPAlMlYvyih3cBWKrM/HYaOwO9LTEHHgNA+z8+PPkptNcBK+YLAdgKGwVuEFMFQ6vE/jykiQESagEDVHcjAvz6FQZPZpEAlfcjAlkKYwJDLDb9uhhVASiv4v/4REED74UbBiMDIQBO57kARyPzAY7cEwK9LDUEq30tBYBzVvowLKcHLY+3AZHMxv5QICkHrRfhAFSMqQVFfs8FjuFo/cqlzQMC1U8EG95JAQKkZP2wMeEEEfjfBBjCAQKiCQ0HnMQHBGg8mwdXriUEvSB1Bm6AnwEhiyUACryhBeigkwTzPk8BYUAxAH1sDQE0vs0AzwpfAfKVWQaKXNkDiP66/1Bl5wMDgPsK0GLw/xNdBQc3dH0Ew5ftB6bsywGEHbT+gzby8IHZJwVHdxL9lypZB+NLdwM98lr/j0SpA5HN0vvB8rkGcI8JADYWXwfMAg8EJZQTBr7QbQWiA/j7qb6M/cdZpQRUvUUGw9/O/YT3ZQSgPlsEptVNBeRIBQd7GuMBTJyo/ADR2P6prx8EoHPc/3DBvwGj6UEChJc2/18OlwEI3I8GkzpE/2yehQd56esE/4g7B+qHHwK3VCMEkTRLBZPvxwJEoQsEKMU3BkAxDQYfJtkCymRLAJNEPP5cYLUEqzhzBc5LIwGJRQ8AE7FbB5769wCyxKcGYnOS/rwfNP4od8cBFWyxB8bhSP/UocsCyriTBLpa3QNDJJ8FsDKDAIwJYQJXpkMEf7se+KQ9mwBCOy0AsTkBAqab1QBM/z0CMl5DB/66YQVgo18AstNk+PC/YQLddnECGODdBbeOlwSt6rEAm50ZAzA/lv9U0j0HxMQZAMp31v6XMMMEsVxZB9XIavyxTLMIgxBfBY22XwOV8BMDl3lbBh6XKQNAAD0CplVBBxIbgQIsvAkFhJA1BXcUAQabPr8DCuJTAjMhzQBYp4cCHhPTALSQ1wW25J0FpTTLBNjX4wBGyGkCI5xBC0mTcv2P6rkHE9qA/Na61QLIY2cAOSW1BZlKWQBHejkECRUbAn+cgQa/PA8A+uxJAOIlGvzyQVcFSj+pAJYWfQGfGqUA8chFApLeevgsboT+X5Ri/V0gtQZ/BkMB6mCC/6/P0wBbqF0BpAk/BP6d7v3V59z9mfDvAY3mYQB9Ph8Cs+2RAJ3OfQKeHXEGj/PbAvAtIQcVbN0GrcsjBOnSAwez+MT13Xy5A" }, { "ChunkId": 40, "ProductId": 2, "PageNumber": 7, "Text": "(c) Insulite 7\n\n4. Storing Your Sleeping Bag\n\nWhen you are finished using your Arctic Explorer Sleeping Bag, it is important to store it correctly to ensure its longevity. Improper storage can damage the insulation and reduce the effectiveness of the bag.\n\n\n4.1 Cleaning and Drying Your Sleeping Bag\n\nBefore storing your sleeping bag, make sure it is clean and dry. Use a damp cloth to spot clean any dirt or stains on the shell. If the sleeping bag is heavily soiled, you may need to hand wash it with a gentle detergent. After cleaning, hang the sleeping bag in a well- ventilated area to dry completely. Do not store the sleeping bag while it is damp, as this can lead to mold and mildew.", "Embedding": "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" }, { "ChunkId": 41, "ProductId": 2, "PageNumber": 7, "Text": "4.2 Compression Sack Storage\n\nThe Arctic Explorer Sleeping Bag comes with a compression sack for easy packing. When storing your sleeping bag, it is best to use the compression sack to reduce its size. This will help maximize storage space and keep the sleeping bag contained. To use the compression sack, simply roll or fold the sleeping bag and place it inside the sack. Use the compression straps to tighten the sack and reduce the overall size.", "Embedding": "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" }, { "ChunkId": 42, "ProductId": 2, "PageNumber": 7, "Text": "4.3 Long-Term Storage\n\nIf you will not be using your sleeping bag for an extended period, it is best to store it in a cool, dry place. Avoid storing the sleeping bag in a compressed state for long periods, as this can damage the insulation. Instead, hang the sleeping bag or store it loosely in a large storage bag to allow the insulation to maintain its loft.\n\n\n4.4 Maintenance and Care\n\nRegular maintenance and care of your Arctic Explorer Sleeping Bag will prolong its life and ensure it performs at its best. Avoid storing the sleeping bag in direct sunlight, as this can cause the colors to fade and the materials to degrade. Additionally, periodically fluff the insulation and air out the sleeping bag to maintain its loft and freshness.", "Embedding": "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" }, { "ChunkId": 43, "ProductId": 2, "PageNumber": 8, "Text": "(c) Insulite 8\n\n5. Contacting Insulite\n\nTo reach Insulite customer service, please use one of the methods below. We strive to provide you with the best support for your Arctic Explorer Sleeping Bag.\n\n\n5.1 Phone Support\n\n\nFor immediate assistance, please contact our customer service team at 1-800-555-1234. Our friendly and knowledgeable representatives are available Monday through Friday from 9am to 5pm Eastern Time.\n\n\n5.2 Email Support\n\nYou can also reach us via email at support@insulite.com. Please allow up to 24 hours for a response, though we aim to get back to you as soon as possible.\n\n\n5.3 Warranty Information", "Embedding": "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" }, { "ChunkId": 44, "ProductId": 2, "PageNumber": 8, "Text": "If you have any questions about the warranty for your Arctic Explorer Sleeping Bag, please refer to the warranty card included with your purchase. For additional support, feel free to contact our customer service team.\n\n\n5.4 Online Resources\n\nVisit our website at www.insulite.com for additional information, including product specifications, FAQs, and more. You can also find us on social media for the latest news and updates.\n\n\n5.5 Feedback\n\nAt Insulite, we value your feedback. If you have any comments, suggestions, or concerns about the Arctic Explorer Sleeping Bag or any other Insulite products, please don\u0027t hesitate to reach out to us. Your input is essential to our continuous improvement efforts.", "Embedding": "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" }, { "ChunkId": 45, "ProductId": 3, "PageNumber": 1, "Text": "(c) Velocity Pro 1\n\n\nStealth Bike Helmet", "Embedding": "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" }, { "ChunkId": 46, "ProductId": 3, "PageNumber": 2, "Text": "(c) Velocity Pro 2\n\n\n3 3 3 3 4 4 5 5 6 3 6 6 6\n\n1. Safety Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 General Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Proper Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Impact Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "8Mtpwnu5nkA+eapCgY6HwAXZOkEy5r9CbRyFQnTEtUIqdvvBIJUOwvgJVME8ThnDe5xEQYepUkII/IDC0CovQfaDz0I9AuNCTTjgwcK8RULbbcNCqYPgQm8RHUJThD3CHU1vQlJPgkKD4WjCY1c+wf1S68LK7lLDeFJVQvulNcKoXpHCx2cDwV4cI8JSdBzDFJcSwuIzrUL9iXNC9hKCQbtrb8EK0QJDsslZQVUZOsJXEZlBvhI+wSCRQEE5PHXCNYG8wkQFkcKSaZLC/S6BwhfhskENytfB0gGSv/oKxsLIWMJCmIwPQg7DVkLjfLhCKRAfQkNbe0FSBcPDYq1qQ0iRJMJPTAnCl/QGwnsAgkD+NAFDyDxOQ+qElMKrVwpC53a7wuHWvEJlfPbCPhIeQVZaysF7YaXBCGUkQga5XEJzMxFCfRl2wWz4kcIbUwfCuzVGQZbmE8PKGOhCTk+YwSSZlkIQcQ5CzjznQP7UzsIKmSjCgEZ1QgDGKMPsPQDCKxeCQTwGmMJj80PDC5FjQ6BgBsGMULJCeUpuwpJ1J0Oj0epCWRKnwnmx/0BuW4/C+Hk/QlZtkMLQBZ5CuYaSwUvs50KhnbnCwMwmwqiasMEsRwPBNwOIQivvUECPnH3CrARHwcMY7MIJ/cJCSp/gwtHOYkKE2ljC77mzQk6IXkJP4dZBHjMUQ8pmV0JkbZzBpR5jwg1PdkKSqhNCqgWowT5ipUFSS9NC4xqYQjodQ8L8b4pAtXkswwhEmcJWkZXCxlGVweiNBkO+/+7C3ltcQqlXqsKkNP3CU29xwcs9GkO3alXCjuBnwqbV78HtNg5CoJUKQtETssHWBB7DMJbgQPJOtD+6WR3CV7XUwi3hg0MG0NFCeDuowhZgwkIwaZ3BDZY2wg5ZjcEOIIHCqO+WwYTRM8LuzrDC6mjoQTma/EIBpmBCv/ktQrJEgsFCfDfB2/52QshFCkJ1QgHDqoacwPpAlkKrPKvCVO3SwnwAusBYzjhDwlHGQpnAmsKa0W3CE8FFwpgvpcITKLDCTNPeQopIcsEWgGVBnUSOQSibDMP+nTpD2gwgwo7DQ8HnAwfAru+GwUZec0J7/bHBdzkzw3C/50E4f9RCHDxSwtDAFkJoTktD0FvLwv/mgMGVwpXBTW5hQiigIUPWqKVBuETMQmgW8UHNtXtCJ+cUwWZOzMOHzqxCaihHQnnaVsIPQz1CR8uWQo4gnkBgznvB5i24QQEOWkI5NlpDxeiOQDFi68IwK5fCr4qsQh1V08IMNXDCO8cCwkqkssLtBhpCefL1QAjUAUNdY0PDD1abwTmzk0KGLQRC5BtiQxcjy0IdbQ1Cp2QPw1ZkvEK4j6VCVQRKQjca+cKcrbpCf7ivQiKfBsOkDYJAFtL7wc6lkcKXPyTCYXvXQu1Aqr9YwwHDMWq3QLScRMNXhDFC5WMvQ81s1cKqdZtCO5rOQhzSxMHp365BzRCfQpGvJkPuLBrDm3rSwnqLKUJo1DvC9lCuwfLvAMLPkxHCrGL5Qu6dCsMIYZPCHCKIQg9KnUK5jJ3CyGxAQYrEZsEdD4HCGSAzQijpGcL1pY3CR/aFQhZxIsL+DgvD74YUwgPwiMH7nmfBLREUwYspVEFbqTpCiUZnQpjyLkLwooJBw/+jwlRYsUAKbUhDJCwkw0Ee/0H7OuXC5eAawsDBaEG36+ZCqtVRwWMJ98M+tsvBw9HvwcP2LcCXEwPCdwwkQY3d80I/YzfDCKYAQuKVr0J/VY/CxVaNQQK9CMIrF51C2TuKQid3h0AlihZCaKPXwqtTsT/G1SjCXUYlQu40hUL7VrZDizm9QRFyK0Lh+kpBnh6GQqT04sDu4ZZC4M+cQrnsU0IfxS3CpT0XQ1c1+8IMvO5C+hkuQrXUSULTc1jBEb5FQvwwrcALLnFCuNuSwiYSnELOU/5Bu1w7Qz30aMJPMHDCvtOSwpGljEDySDvB8uaAwtGWW0I1rA9CU7krwTCnXcGXimtCSoB6QRBwB8J7/RTDI+kYwVzGikLtvkjCGGKDwd7UgELUHktC" }, { "ChunkId": 47, "ProductId": 3, "PageNumber": 2, "Text": "2. Usage Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1: Off-Road Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\r\n\n3. Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1: Cleaning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 48, "ProductId": 3, "PageNumber": 2, "Text": "4. Product Liability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 General Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Known Hazards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Negligence and Misuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 No Recourse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "tCgnwv1/ksKsk0JDZdrWwkFouULuHYxB9cC5Qr1+DEPvDrfBDB4/wghHl8EXZzXDwvOZQhIWy0LpAK7CjtzIQZMfCUMrM1DB1ulXwfyjQsFFqE9D8ce7QruWOUJ9hrvCGkecQgUGpkJG677CMnJawULhN8NqoB/DH5oHQyRxi0ESs1fDSsjnwfg99MIb9E/DjhFKwgZi3kIi5W9ByIGIwX/dJsL1AThD/Hl4wrv46sKgqkPCL/mywo4608IllDpB6PYKwumhZMILV6DCDj8uwnIw58ENYac/AWT8QTs8wcGOEJdCn1tUQk93iMEFt+5CEF/sQjWD3ELnFs7Djq6bQyAjBMLW5c1B5AXrwZN2bEEGKlNCgx8uQ6h9JsIvELFCV1rzwR598EKkJb/CFUkEQq8+bUHYVGfCqVoTwoS21kKSvFhCTzxiQhfql0Jm+gzDhz4awbTTDcPlwIBCmQ90wl0DaEMbu7hBg+mHQdqzkcKdLJRCHr5VQTB6NsNsk6BCxXGwwcebacJD5UjDPSmeQ/Zfy8LrrNBC8cHpwisJMkO6oLvBJFLTwrEMc0IWGrnArCUKvVvK/8DlnFhCBkBtP1BNA0PPpyjCyuq9wvKLOMLYADFCXw48QpbLhUHtrXbCiTrfQSVRtcK3+2VC+B2Ywl1ej0HKARTD17KaQgJXNUGeU11CXCgxQyUhu0L7ZhDC5zTCwr2shUL59clC8YZVQp7njcF2UuxC3AkQQ9SEgsLpStzCedKhwzD6HsOH0sPBv05ZQSuuS0I92YTCB7eGQkzTT0B0rb3CptOCQphDW0OUFXnCIhoxwhuy+8HUVLZBFjPZQpbusMIjWd3C/cJ6QHGEuUFaFa/BEVnewhqZq0PRnvVA8SKDwt7mNUKX/Y5CdESawbuVakHtDUjCgBnGP5dCGMIE+GbCqcAmQtaHw0J7ZkVDn+FIwOXlRUBbj+BBz8UsQtwOlEIeeT7D5hCHQvezlELUBZLBREhkwgQ8A0KteWtDCs4eQ5t19sIDVq/C5X8iw1G38sKaV9/BjDIZQ8AcK8Mfs2bC65+SQt31YMK1cFhDZ+3AwhmTIsK2z7xBe3SMQu5+g0J619pChyWNwqYJO8F7dt1B3zqTwhWWjUIoeWRDXFsCw3cFjMI5coVAllZuQfpkUkPTCglCFt2aQqIgTULm3rnBf6Wuwm1d2MP6EZVChsXLQfRNd8PVitzBLQq0Qu4QecDbWU5Cbt/jQRdGz0JOlSZD5yv2wrbgYMIya2LCjIFSQhfR7sIQQHfBTTU8QsX5IcMhaFS/OKZ9wrila0LJeg/BjIILw/2DnkHH3IPAEfGqQ5we/kJJpwtCVuEiw53DNUM//PdCthczwsMgzcJHI8BCNAEWQw5OhMO+MB5CWWk2w6CQjMI+y6/Cgy2zQj8SO0I51AHDPYFtwoTH68IV/JPCiOoMQzFG2MJGDytDfRTLQtNiysLJtDhCIL0bQwkXDkPev9zCaxa7wTn2i0Kv82rCHqxsQkspGkO6X03C8oIDQ3eFz8KgDLG/te68QlcHNEL7pPXC4g9owZCU6ECUYbPCgqQZQ7+YxUHTXz/CrRx9wUJz9MFA0f/CGi8Tw0ayAMMbUhfCvpPwwmiQqsGLWJ9Cod2+wdL7jsEIajtC05Mcw+DuLcCvjGtDFEO9wiIOkkIf3mDCwpDjwb9+9cI+rCpDV/etwom+BMRtldlBiI8ewhxAI0KRsVjCCMd2QTGbpcGgjBrCvnCXQR6tOEEJvgXDg/6owQzc0sEoV0BAOKe+Qv1gKEItHLtCbxkDw1FTgEJDjlXAzZ3gQRTQNkOSisBDt4QeQzbePULvnRBCapJDP1GfJkKfPsFC/VAzQxxdTELyKVrBMEUvQ7gPlcKOclRDykdlQi8lS8LtqRlCT3WuQjJnesJfeF1BAr3swuSdEkCCNM7BrthdQzQ3mcKAUibD6A8Dw1r4tcLr8CFCNeIswoHZgsBKFgXCGIlLQv/BPsJLtzVAk9IRwjj9jMFCQPnCmaCMwq6YaEIhRwrD9L3rQOzrOcIeF/pB" }, { "ChunkId": 49, "ProductId": 3, "PageNumber": 3, "Text": "(c) Velocity Pro 3\n\n1. Safety Guidelines\n\n\n1.1 General Warnings\n\nThe Stealth Bike Helmet is designed for use by serious cyclists in controlled and supervised environments only. It is not suitable for recreational riding, motorcycling, or any other activity. Under no circumstances should this helmet be used for activities other than serious cycling, and it should not be used by children or individuals with medical conditions that may impact their ability to cycle safely. Failure to adhere to these warnings may result in severe injury or death.", "Embedding": "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" }, { "ChunkId": 50, "ProductId": 3, "PageNumber": 3, "Text": "1.2 Proper Fit\n\nThe Stealth Bike Helmet must be properly fitted and adjusted to ensure maximum protection. Failure to do so may result in the helmet coming off during a crash, exposing the wearer to serious head injuries. Follow these steps to ensure a proper fit:\n\r\n\n1. Adjust the straps to ensure they are snug but not too tight, with the chin strap positioned directly under the chin.\n\n2. The helmet should sit level on the head, with the front edge no more than one inch above the eyebrows.\n\n3. Use the adjustable dial at the back of the helmet to further customize the fit to your head shape.\n\n\nFor further guidance on proper fit, please consult a professional bicycle helmet fitter.", "Embedding": "IqkmwkKQfkFfV7hBUYV9wghaE8KC93tCq9+KQlpnR0F2hyTCrfFLQdkLkcBhXLHCir0oQlIKnUGWc09CezmZQfGFdEJ974hCdSbpwPloGkIWPNTBV8PMQfVh80FQgRNCe++xQa2cykGo1fbBpqu1QeTZA8E1mAnDzBvPwKjdp8FMVupBEly5wXuUgMFedvvBLWw1wq30rUHiHElBcbnUQeukKEG3XYNCAvIMwZnoasI61ANCsTCmQQ3qgkEzm85BbZKFQuFYhsJLiFtAogDXwbKTH0K/AxrCdwhNwR/Z9kC20eZB0XY2QEsSR0F6l/FBMRNRwatPD0LVXM3CdJCTQlui5UEe5E9CNsx0wZphb8IWEeJBPjfAQj8HT8IXuMTBn0PxwNhM/0HOTAbCZHEAQtGoV0I8wkXCBETVQV5+2cCPtTbCjTiDwHlCsMDRbQNCxvPzQKvJFsKqToRC2hKGQBg7/8Fh/aJBkxNBQcN5hsGDEoJAzb1OwCMRXsGnNgFCBPRcQIlE6j+hRmjCP38BQ1WEpUFrN1dBhGoAwn/xU0J6/g9CoM9cwrqOCUL95vVBloEdQnbP8EBBSIZCMNjiQfKR5EEjUc6/FhwbwrT8okIwyxjC8jzTQa+AWsHIhCg/jjFYwdcrPEF8Y39CSBEVwepOMsEcVQPCrmn9QTARfMDyM3k/XJieQtj6r0FSVIPBQaWSwcTa7T/EWIVA1NzYwf0i7cHzjx1ChGqNQdYd3j8+wAZBfMGAwjnnTkFUiWvC8EGiwbcRBELL7+LCWB+oQQScCsLlz4/CG8xXwdYNMkFkUVDCJmnGQPjeDUI+ZzBCUNchwiEUwz85fonCtijnQbY/AMKtzLbB8H2vwYR1KEI6hZE/5jZTwhtNmkBm/PbB+hHdQVC5L8IolJPAQ3taQcXhbEBUWxRCI2iBQs4ILULJHJHCaNqRQRlKkMFRRKw/waG7QSNrEcIuDODB6i2RwQTPT0FX1qDC7gc7woKdFsF4Sy9CZGh7Qd48h8I1TjhAqAwjwlt2xMEj25RBSwLVQN2HIcKzjV/CRFb8wVLhgEF6zVNCyZnGwSr0DELmQeLArCSgwbPKO0K8J7pBD/muwkoP+UL4NAxCmiUKwmgLjMFEFybBTR/AwTGKBkLxFAnCqqVZQgRFdkLQph7BclTzwZ1G8UHp8MI/GwcqwuKJFcNdtzTBVe3qQdNJq0JDYdxBaGGbPy3pgEI5lNFBTJOvwa6rPEEn24pC+o8gwss9q8IyrjPCMPvGv7pQyEHuwW1BGcTvwXhFQsKrsZ/BvGuOwfE7rkLqNuHCFFHEwY3N3cDT7hFBrQDGQixPAsH8oaZBFfMGwQzrDMKIceLB/trSwAoNhMKn5x1CNHaYwXpvJMGN0VLC0Fy4wcn0PMIGZA5BhMsLQublacJ1ahXCUtxKwvnrvMF+Ri3B1XFpQg0JwsAVlSzCrT8QQcZKAsIK5jtBZEchQkingD9UAbXCOUbiwZCuNML62MHBndcDQjBkWMISuetBRJmwQNq2pMJqgCVAQkWvQvR4mkCDdlrBsKAyQk1wgsG4aL3BM/QfQgiVy8Ai4CzBHCdLQZygrr61O0pAz2siQTdFLkLJjrPAU+xJQlbwmb9oZTBBUgPHQeb12j+BbQRBuUG3QTWMjsHSgPNB/4k4wu67aEGSEDLCPG3nQOr1LkGaIapBwFVmwmF8LsMEDN7AwyQJwZuBtUHdYw3CdCbUwcvQikKORNw/qTcewlDTc8FXA8PBxGqJQeOHXUFvlahAf7TfQFy5pUFTJo9Bx2Ecws9MUEE+kwPCgCE+wjX1r0Hms/tC4mIswkOgZUL/TeJBNrM7wFvZtEEuhqtBMxJnwBLEdULRa0TC18woQpLNWsGvtpXBvP9GwcUKlkAJ+6VBTz39QS7nhUHSupNCx+42wuAhF0IYuxxCHifAQlAkXMGOUNPBMHydvkIlHUGGvkhBwnQWwr7ywkGnjQvBAo7SP6pbj0GOdU7Bi43OQXvE0EFSvwXBskrsQRBtBULA90TCjI4PwsVfvkGD7T1B" }, { "ChunkId": 51, "ProductId": 3, "PageNumber": 3, "Text": "1.3 Impact Protection\n\nThe Stealth Bike Helmet is designed to provide impact protection in the event of a crash. However, it is important to note that no helmet can prevent all head injuries. Do not use this helmet as a substitute for safe and responsible cycling practices. Always follow traffic laws, wear high visibility clothing, and use appropriate signaling to ensure your safety on the road.", "Embedding": "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" }, { "ChunkId": 52, "ProductId": 3, "PageNumber": 4, "Text": "(c) Velocity Pro 4\n\n2. Usage Restrictions\n\n\n2.1: Off-Road Use\n\nThe Velocity Pro Stealth Bike Helmet is expressly not intended for off-road use. Using the helmet for off-road cycling, including but not limited to mountain biking, trail riding, or any other non-paved surface, may result in severe injury or death. The helmet is designed and tested for use on paved roads only, and any other use is against the manufacturer\u0027s recommendation.", "Embedding": "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" }, { "ChunkId": 53, "ProductId": 3, "PageNumber": 4, "Text": "Previous users who have attempted to use the Velocity Pro Stealth Bike Helmet for off-road cycling have reported serious injuries, including concussions, spinal injuries, and even fatalities. Therefore, it is imperative that users do not utilize the helmet for off-road activities under any circumstances.\n\n\nIn the event of an incident resulting from off-road use of the Velocity Pro Stealth Bike Helmet, the manufacturer bears no responsibility and shall not be held liable for any damages or injuries incurred.", "Embedding": "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" }, { "ChunkId": 54, "ProductId": 3, "PageNumber": 5, "Text": "(c) Velocity Pro 5\n\n3. Maintenance\n\n\n3.1: Cleaning\n\nWARNING: The Stealth Bike Helmet from Velocity Pro is an advanced piece of safety equipment. Under no circumstances should it be used without strictly adhering to the maintenance guidelines outlined in this manual. Failure to comply with these guidelines may result in serious injury or death.\n\n\nTo clean the Stealth Bike Helmet, follow these steps:", "Embedding": "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" }, { "ChunkId": 55, "ProductId": 3, "PageNumber": 5, "Text": "1. Use a soft, damp cloth to wipe down the exterior of the helmet. Do not use any harsh chemicals or abrasive materials, as this can damage the outer shell and affect the performance of the helmet.\n\n2. If the helmet has removable padding, carefully detach it according to the manufacturer\u0027s instructions and hand wash it with mild soap and water. Allow the padding to air dry completely before reattaching it to the helmet.", "Embedding": "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" }, { "ChunkId": 56, "ProductId": 3, "PageNumber": 5, "Text": "3. Inspect the ventilation system for any dirt or debris, and gently remove it with a soft brush or compressed air. Do not use excessive force, as this can cause damage to the ventilation components.\n\n4. After cleaning, thoroughly inspect the entire helmet for any signs of wear, damage, or deterioration. If any issues are found, do not use the helmet and contact Velocity Pro immediately for further instructions.\n\nNote: The Stealth Bike Helmet is not suitable for use in extreme weather conditions, such as heavy rain or snow. It is important to keep the helmet dry at all times to maintain its structural integrity and protective capabilities.", "Embedding": "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" }, { "ChunkId": 57, "ProductId": 3, "PageNumber": 6, "Text": "(c) Velocity Pro 6\n\n4. Product Liability\n\n\n4.1 General Warnings\n\nThe Velocity Pro Stealth Bike Helmet is not to be used under any circumstances. It is our strong recommendation that you refrain from using this product in any capacity. This includes, but is not limited to, cycling, skating, or any other form of outdoor activity. The Stealth Bike Helmet is not designed to protect against any impact and does not meet safety standards. Using this product may result in severe head injury or death. Do not use the Stealth Bike Helmet for any purpose, no matter how seemingly benign.", "Embedding": "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" }, { "ChunkId": 58, "ProductId": 3, "PageNumber": 6, "Text": "4.2 Known Hazards\n\nThe Velocity Pro Stealth Bike Helmet has been known to cause serious harm to users. Prior users have reported severe head injuries and concussions after using this product. The helmet does not provide adequate impact protection and is not suitable for any form of physical activity. It has been known to detach from the user\u0027s head during use, leading to further injury. Do not underestimate the potential dangers associated with using the Stealth Bike Helmet, as it may result in irreparable harm.", "Embedding": "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" }, { "ChunkId": 59, "ProductId": 3, "PageNumber": 6, "Text": "4.3 Negligence and Misuse\n\nUsing the Velocity Pro Stealth Bike Helmet for any purpose would be considered negligent and irresponsible. Any attempt to utilize this product for its intended purpose or otherwise would be a misuse of the product. We strongly advise against any form of negligence or misuse. The consequences of using the Stealth Bike Helmet, even in the most controlled environment, are too severe to risk. It is imperative that users understand the gravity of the situation and refrain from using this product under any circumstances.", "Embedding": "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" }, { "ChunkId": 60, "ProductId": 3, "PageNumber": 6, "Text": "4.4 No Recourse\n\nIn the event of any harm or injury resulting from the use of the Velocity Pro Stealth Bike Helmet, there is no recourse available. Our company takes no responsibility for any consequences associated with the use or misuse of this product. By purchasing the Stealth Bike Helmet, users acknowledge the inherent risks and absolve the company of any liability. It is important to understand that there is no avenue for compensation or resolution in the event of injury or harm.", "Embedding": "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" }, { "ChunkId": 61, "ProductId": 4, "PageNumber": 1, "Text": "(c) Summit Sleep 1\n\n\nAlpine 3000 Sleeping Bag", "Embedding": "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" }, { "ChunkId": 62, "ProductId": 4, "PageNumber": 2, "Text": "(c) Summit Sleep 2\n\n\n3 3 3 3 4 5 5 6 6 6 7 8 8 8 9 9 9 9 9\n\n\n10 10 10 10\n\n1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Intended Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Safety Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Product Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 63, "ProductId": 4, "PageNumber": 2, "Text": "2. Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1: Unpacking the Sleeping Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n3. Using the Sleeping Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Adjusting the Fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Temperature Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Packing and Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 64, "ProductId": 4, "PageNumber": 2, "Text": "4. Cleaning and Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1: Cleaning the Sleeping Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2: Storage Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n5. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1: Common Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 65, "ProductId": 4, "PageNumber": 2, "Text": "Issue: Zipper gets stuck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Issue: Loss of loft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Issue: Drafty feel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n6. Warranty Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 How to Make a Warranty Claim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Warranty Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 66, "ProductId": 4, "PageNumber": 3, "Text": "(c) Summit Sleep 3\n\n1. Introduction\n\nWelcome to the user manual for the Summit Sleep Alpine 3000 Sleeping Bag! This high- performance sleeping bag is designed to keep you warm and comfortable in any climate. Whether you\u0027re camping in the mountains or backpacking through the desert, the Alpine 3000 is your go-to sleeping solution. This manual will provide you with all the information you need to get the most out of your sleeping bag. Please read through it carefully before using the product to ensure a safe and enjoyable experience.", "Embedding": "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" }, { "ChunkId": 67, "ProductId": 4, "PageNumber": 3, "Text": "1.1 Features\n\n\nThe Alpine 3000 Sleeping Bag is packed with features to enhance your camping experience. This includes:\n\n\nAdvanced insulation for maximum warmth Durable ripstop fabric for longevity Snug mummy shape for optimal heat retention Waterproof and windproof construction Lightweight and compact design for easy transport Integrated pillow pocket for added comfort", "Embedding": "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" }, { "ChunkId": 68, "ProductId": 4, "PageNumber": 3, "Text": "1.2 Intended Use\n\nThe Alpine 3000 Sleeping Bag is intended for use in outdoor camping and backpacking activities. It is designed to provide a comfortable and warm sleeping environment in a wide range of climates, from cold alpine conditions to warmer desert nights. The versatile design of the sleeping bag makes it suitable for use by outdoor enthusiasts of all levels, from beginner campers to experienced mountaineers.", "Embedding": "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" }, { "ChunkId": 69, "ProductId": 4, "PageNumber": 3, "Text": "1.3 Safety Precautions\n\n\nTo ensure your safety while using the Alpine 3000 Sleeping Bag, please keep the following precautions in mind:\n\n\nAlways check the sleeping bag for any tears or damage before each use Do not use the sleeping bag near open flames or other sources of high heat Keep the sleeping bag dry to prevent loss of insulation Do not use the sleeping bag without proper ground insulation in extremely cold conditions", "Embedding": "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" }, { "ChunkId": 70, "ProductId": 4, "PageNumber": 4, "Text": "(c) Summit Sleep 4\n\n\nDo not store the sleeping bag in a compressed state for extended periods of time\n\n\n1.4 Product Registration\n\nFor your convenience and to stay informed of any updates or recalls, we recommend registering your Summit Sleep Alpine 3000 Sleeping Bag. To register your product, please visit our website and complete the online registration form. By registering your product, you will also receive important information about care and maintenance, as well as helpful tips for getting the most out of your sleeping bag.", "Embedding": "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" }, { "ChunkId": 71, "ProductId": 4, "PageNumber": 5, "Text": "(c) Summit Sleep 5\n\n2. Getting Started\n\n\n2.1: Unpacking the Sleeping Bag\n\nUpon receiving your Alpine 3000 Sleeping Bag, carefully remove it from the packaging. Check the sleeping bag for any damage or defects, such as tears, loose threads, or broken zippers. If you notice any issues, please contact Summit Sleep customer support for assistance.\n\nOnce you have inspected the sleeping bag, unzip the compression sack and carefully remove the sleeping bag. Ensure that all parts and accessories, including the stuff sack and compression straps, are included in the packaging. Place the packaging and any tags or labels in a safe location for future reference.", "Embedding": "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" }, { "ChunkId": 72, "ProductId": 4, "PageNumber": 5, "Text": "Inspect the sleeping bag to ensure there are no foreign objects or debris inside. Gently shake the sleeping bag to allow the insulation to loft and regain its full volume. It is normal for the sleeping bag to have a compressed appearance after being removed from the packaging.\n\n\nCongratulations! You are now ready to use your Alpine 3000 Sleeping Bag for your next adventure.", "Embedding": "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" }, { "ChunkId": 73, "ProductId": 4, "PageNumber": 6, "Text": "(c) Summit Sleep 6\n\n3. Using the Sleeping Bag\n\n\n3.1 Adjusting the Fit\n\nThe Alpine 3000 Sleeping Bag from Summit Sleep is designed to provide a snug and comfortable fit for maximum warmth and insulation. To adjust the fit of the sleeping bag, follow these simple steps:\n\n1. Opening the Zipper: To open the sleeping bag, locate the two-way zipper and carefully pull it down using the zipper pulls.", "Embedding": "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" }, { "ChunkId": 74, "ProductId": 4, "PageNumber": 6, "Text": "2. Entering the Sleeping Bag: Once the zipper is open, carefully lie down on the sleeping bag and gently slide your body inside. Ensure that your feet are at the bottom of the bag and your head is positioned in the hood.\n\n3. Adjusting the Hood: The hood of the sleeping bag can be adjusted using the drawstring located near the face opening. Pull the drawstring to tighten the hood around your face for added warmth.\n\n4. Securing the Zipper: Once inside the sleeping bag, zip it up using the two-way zipper. Ensure that the zipper is fully closed to prevent any cold air from entering the bag.", "Embedding": "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" }, { "ChunkId": 75, "ProductId": 4, "PageNumber": 6, "Text": "5. Adjusting the Fit: To customize the fit, use the adjustable straps located on the sides of the sleeping bag. Tighten or loosen the straps as needed to achieve a comfortable fit.\n\n\n3.2 Temperature Control\n\nThe Alpine 3000 Sleeping Bag is designed to provide exceptional temperature control in a variety of climates. Follow these guidelines to optimize the temperature inside the sleeping bag:\n\n1. Layering: Depending on the temperature, consider wearing additional clothing layers inside the sleeping bag for added warmth.", "Embedding": "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" }, { "ChunkId": 76, "ProductId": 4, "PageNumber": 6, "Text": "2. Using the Hood: Utilize the hood of the sleeping bag to retain heat around your head and neck during colder nights.\n\n3. Ventilation: In warmer temperatures, partially unzip the sleeping bag to allow for ventilation and prevent overheating.\n\n4. Utilizing the Draft Collar: The sleeping bag is equipped with a draft collar to prevent warm air from escaping. Ensure that the draft collar is securely fastened around your", "Embedding": "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" }, { "ChunkId": 77, "ProductId": 4, "PageNumber": 7, "Text": "(c) Summit Sleep 7\n\n\nneck for optimal temperature retention.\n\n\n3.3 Packing and Storage\n\nProper packing and storage of the Alpine 3000 Sleeping Bag will help maintain its performance and longevity. Follow these steps to pack and store the sleeping bag:\n\n1. Rolling the Bag: When packing the sleeping bag, roll it tightly from the foot end towards the head end. Use the compression straps to secure the rolled bag in place.", "Embedding": "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" }, { "ChunkId": 78, "ProductId": 4, "PageNumber": 7, "Text": "2. Using the Stuff Sack: Place the rolled sleeping bag into the included stuff sack for convenient storage and transportation. Use the drawstring closure to secure the stuff sack.\n\n3. Avoiding Compression: When storing the sleeping bag for an extended period, avoid compressing it in a tightly packed state. Instead, store the bag in a cool, dry place with plenty of room to maintain its insulation properties.\n\n4. Cleaning and Maintenance: Prior to storing the sleeping bag, ensure that it is clean and completely dry. Refer to section 4 for detailed cleaning and maintenance instructions.", "Embedding": "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" }, { "ChunkId": 79, "ProductId": 4, "PageNumber": 8, "Text": "(c) Summit Sleep 8\n\n4. Cleaning and Maintenance\n\n\n4.1: Cleaning the Sleeping Bag\n\n\nTo clean your Summit Sleep Alpine 3000 Sleeping Bag, follow these simple steps:\n\n1. Spot clean any small stains with a damp cloth and mild soap. Gently rub the affected area and then wipe with a clean, damp cloth to remove any excess soap.\n\n2. For larger stains or more thorough cleaning, hand wash your sleeping bag in a bathtub or large container using a mild detergent. Make sure to fully unzip the sleeping bag and always use cold water.", "Embedding": "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" }, { "ChunkId": 80, "ProductId": 4, "PageNumber": 8, "Text": "3. After washing, thoroughly rinse the sleeping bag to remove any soap residue. 4. Gently squeeze out excess water, being careful not to wring or twist the fabric, which\n\ncan damage the insulation. 5. Hang the sleeping bag to air-dry in a well-ventilated area, away from direct sunlight or\n\nheat sources. Ensure it is fully dry before storing.\n\n\nIt is important to never dry clean, machine wash, or tumble dry your Alpine 3000 Sleeping Bag, as this can cause damage to the insulation and fabric.", "Embedding": "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" }, { "ChunkId": 81, "ProductId": 4, "PageNumber": 8, "Text": "4.2: Storage Tips\n\nProperly storing your sleeping bag is essential to maintaining its performance and longevity. Follow these guidelines for best results:\n\n1. After each use, make sure your sleeping bag is completely dry before storing to avoid mildew or mold growth.\n\n2. Store your sleeping bag in a large, breathable storage sack to maintain loft and prevent compression of the insulation.", "Embedding": "Q0gTwUE9bEFu82lBly5cwSOc10Hv381B2yWdQW7DM0D6hJ7ADbd8QYj7qcHIs4rBIIEhQVMLJ0Kbv/5ARHoJwI+Cnj+o6oRB1NxnwrF0HUGvTONBb4YhQLJKvL+gjV9Br0LcQMb/2cCW71fAILWNQNZjfsB0Ca3CXzoBwX5djcEmOczAPw31wDNOB8GN12bBcPwAQrqmnr+iwPk/1MgbQlLKSkHUH8lBuy9QQCWu7sEuNI3B1cjAQGYZCMHa7sHB6W9GQvf6xsCySBtBg/DUQEVGpcFHPuvAhs8Twq7GL0AET9tBIpmAQfwK/0A5TotApJmFQeoIKEHktRzCWac4Qr5SX8H7LDvA0oX5wVSUiUHocBNCJBdKQuUno8GFhyVA6lgvQf2CA0J4CLlBiiCuP9NvxEFI+1nBM0WOQKa1D0HrQgfCMv/8P77SYEGU/RfBRbYVwlmpecFJInvBKRILwWY9LcFISp3BWxCzQRWqXUEYJmzBTL+VQfuqy8EW/GnBoP6KweutAkKM0u3BWlWTQjMT1kDvEWRBt2aOQYbOycCrHxLBUBM0wnTboz8NFNLAPDuhP5Hz2sDuGSNAmTIkQJieF0Gsk9O/jF0QQrW17UC5eptBTXr6QVA408HaDr8/yWGPwWoQJkFPpVNCNOIiwRRWAkHpIS/Buo92wMfLBUHMCgPBWC+eQQH8YMD3dOpBxZqTwRjTsED9gonA2BQDQcp1zUDT6d9Acn47QVmSI8I9EzlBaM9ewY525kGq0VDCJ8CSwXIR6kGAoITBr6CIQQlIpsHCBs3BUgzmQCOjpUEwRmFBGNcgwoZn4kGQ8pa+CK2VQWmrbsG/woHAVso3wY+/M8Kfv6FB5GBKwZUnx0BhPPfBQPyzvlbynMFUwJXBDulPQZ34H8J/+65BHyhiQKxVd0HPoYHBQ2/mQTYEx8AoLJXBOlaBwb4mosAXS1hAEPBgwalm/sBAL7rBc6xowBxAdUF+OcvBWylvwRQ0ikDSqapB7sl8QYqjz8FfooHBqF+HwQiS3kD54Y7Bb2rkQOKtccF/95TArspzQRxQ+sBxCzFCGmsVQA8WmEB6F6E+a1anQTwb90G/ydM/hqgTwlArTUKZXBLA4ggtwLDqqkEP9ajBh0LFwM7ttMGOy2tB9nXhQb7zt0ETPze/FPfvP2MSKUKcnv/B1d4Lwk0GscLXySZBUI7SPddKIUEuhsxBkRqPwZ5PxUGESu5A0sQjwhRmiME3LGpB1H34wXkvY8FiHpZBes7cQDsqFEHsbDs9lBibwDjQgcFfmPc/zcIvwGr/0sHTJE0/aqekwGvdvUH0VLnBcUhGQmT6F8J/6RNCuCqSQODPEEGmGQ7BG7rRwZSKQMKLOItBZWxEwecX9sFUmSNBVfLJwEDPpMFHJh7BEUo3QnMUyUD16mzBKM7KwStq7sEta1LBjJOkP2YonMGER1PBJrrDQafoN8Eu1p9B1f9SwHntjkFY1o7Bsl2JQTEQq8GJxKrARwFOQdwhJMGLHzHBDjv8vtMWhMG8Ye4/taHEwBPXP0Hi0DHBHzemwaTk7ME7tsu/3V2QQRVZAMLytNjAyHXCQXRFmEAyt/vBqcixQWYmE0FDaMDBZWqJQb3c5cCpSpZBRRmXQVoBKUGt25BBHOejwSbDFkIxnj9BxGcoQH5o40Hmd+1AQhtnwEzg4cGgaIVB3STGQLfBs8JgbcpBCNSxQfD2P8CI3KPBdJaqQRBaYkFAcb1BY5ZeQW4cUEG1Pwg/wDCKQR+Ll0AIm/dAEwY5wWmuksBgHx3A1ABlwV5GEEJD1wLCN2rRQMyPrsHDkIZCc990QbDiokHCc0BBCZWTQXtmSUIbIUhAKANVQW92/UEZ6P+/c6q6QWNwEcFuOB5BQolTwDgmT8Ebm1NA4bmVQRY4dUGUK8NBkiICwPONssFfSI1A+tB6QbFGL8FvdZJBbd86wQ3cq8G5wwTCvau/weIyHcGgF6HBJR1MQA+Hf0AnV/ZAJ5khQWHKQsEyR0NAked8QUaUi0HnuybCLXupwYAYu8AzlghB" }, { "ChunkId": 82, "ProductId": 4, "PageNumber": 8, "Text": "3. Avoid storing the sleeping bag in a compressed state for long periods, as this can cause permanent damage to the insulation.\n\n4. Keep your sleeping bag in a cool, dry place, away from direct sunlight and extreme temperatures.\n\n5. Periodically remove your sleeping bag from its storage sack and lay it out flat to air and fluff the insulation.\n\n\nFollowing these cleaning and storage tips will ensure that your Summit Sleep Alpine 3000 Sleeping Bag remains in top condition for all your outdoor adventures.", "Embedding": "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" }, { "ChunkId": 83, "ProductId": 4, "PageNumber": 9, "Text": "(c) Summit Sleep 9\n\n5. Troubleshooting\n\n\n5.1: Common Issues\n\n\nIssue: Zipper gets stuck\n\nIf you encounter difficulty with the zipper of your Alpine 3000 Sleeping Bag, check for any fabric or debris caught in the zipper teeth. Gently remove any obstructions and try again. If the issue persists, apply a small amount of lubricant to the zipper to help it glide more smoothly. Additionally, ensure that the bag is fully aligned when zipping to prevent any strain on the zipper.\n\n\nIssue: Loss of loft", "Embedding": "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" }, { "ChunkId": 84, "ProductId": 4, "PageNumber": 9, "Text": "Should you notice a loss of loft in your sleeping bag, it may be due to compression during storage. To restore the loft, remove the sleeping bag from its storage sack and shake it gently to allow the insulation to expand. If the loft does not improve, consider washing and drying the sleeping bag according to the care instructions provided in section 3.3.\n\n\nIssue: Drafty feel\n\nIf you feel a draft in your Alpine 3000 Sleeping Bag, check to ensure that the hood and draft collar are securely cinched to prevent cold air from entering. Adjust the drawcords as needed to achieve a snug fit. Additionally, make sure the sleeping bag is properly zipped to further reduce any drafts.", "Embedding": "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" }, { "ChunkId": 85, "ProductId": 4, "PageNumber": 10, "Text": "(c) Summit Sleep 10\n\n6. Warranty Information\n\nSummit Sleep provides a limited warranty on the Alpine 3000 Sleeping Bag to the original purchaser for a period of one year from the date of purchase. This warranty covers defects in materials and workmanship under normal use. The warranty does not cover damage caused by improper care, accidents, or natural wear and tear. Summit Sleep will repair or replace, at its discretion, any product found to be defective during the warranty period. To make a warranty claim, please contact our customer service department with proof of purchase.", "Embedding": "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" }, { "ChunkId": 86, "ProductId": 4, "PageNumber": 10, "Text": "6.1 How to Make a Warranty Claim\n\n\nTo make a warranty claim for your Alpine 3000 Sleeping Bag, please follow these steps:\n\n1. Contact Summit Sleep customer service department at [insert contact information] to request a Warranty Claim Form.", "Embedding": "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" }, { "ChunkId": 87, "ProductId": 4, "PageNumber": 10, "Text": "2. Complete the Warranty Claim Form, providing details of the issue and attaching a copy of your original purchase receipt.\n\n3. Ship the completed form along with the defective product to the address provided by Summit Sleep customer service.\n\n4. Summit Sleep will assess the product and, if the claim is approved, will repair or replace the product accordingly.\n\n\n6.2 Warranty Limitations\n\n\nThe warranty for the Alpine 3000 Sleeping Bag does not cover the following:\n\n\nDamage resulting from abuse, misuse, or neglect Normal wear and tear Damage caused by improper storage or cleaning Accidental damage or damage caused by natural disasters\n\n\nPlease refer to the warranty card included with your purchase for the full terms and conditions of the limited warranty.", "Embedding": "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" }, { "ChunkId": 88, "ProductId": 4, "PageNumber": 11, "Text": "(c) Summit Sleep 11", "Embedding": "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" }, { "ChunkId": 89, "ProductId": 5, "PageNumber": 1, "Text": "(c) Snugsleep 1\n\n\nLunar Ultra Sleeping Bag", "Embedding": "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" }, { "ChunkId": 90, "ProductId": 5, "PageNumber": 2, "Text": "(c) Snugsleep 2\n\n\n4 4 4 4 5 5 5 5 5 5 6 6 6 7 8 8 8 8 8 8 8 8 9 9 9 9\n\n\n10 10 10 12 12 12 13 13 13 13\n\n1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Purpose of Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Scope of Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Product Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 91, "ProductId": 5, "PageNumber": 2, "Text": "2. Product Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Insulation Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Lining Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Pillow Pocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 92, "ProductId": 5, "PageNumber": 2, "Text": "3. Quality Assurance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1: Compliance with Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2: Testing Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3: Certifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n4. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1: Pre-Use Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 93, "ProductId": 5, "PageNumber": 2, "Text": "4.1.1: Visual Inspection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2: Insulation Integrity Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3: Lining Quality Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 94, "ProductId": 5, "PageNumber": 2, "Text": "4.2: Instructions for Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1: Unfolding and Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2: Entering the Sleeping Bag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3: Adjustment and Fastening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 95, "ProductId": 5, "PageNumber": 2, "Text": "4.3: Post-Use Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1: Moisture and Odor Inspection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2: Cleaning and Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 96, "ProductId": 5, "PageNumber": 2, "Text": "5. Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1: Cleaning Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2: Storage Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n\n6. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Common Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Diagnostic Equipment Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 97, "ProductId": 5, "PageNumber": 2, "Text": "7. Warranty Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Warranty Coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Warranty Exclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Making a Warranty Claim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 98, "ProductId": 5, "PageNumber": 3, "Text": "(c) Snugsleep 3\n\n\n13 13\n\n7.4 Limitation of Liability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 State/Province Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .", "Embedding": "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" }, { "ChunkId": 99, "ProductId": 5, "PageNumber": 4, "Text": "(c) Snugsleep 4\n\n1. Introduction\n\n\n1.1 Purpose of Manual\n\nThe purpose of this manual is to provide detailed technical specifications, usage guidelines, and diagnostic procedures for the Lunar Ultra Sleeping Bag, manufactured by Snugsleep. This manual is intended for use by trained professionals and individuals with a background in industrial and scientific equipment operation. It is essential to follow the procedures outlined in this manual for the safe and effective use of the sleeping bag.", "Embedding": "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" }, { "ChunkId": 100, "ProductId": 5, "PageNumber": 4, "Text": "1.2 Scope of Application\n\nThis manual applies to the Lunar Ultra Sleeping Bag, including all variants and models, manufactured by Snugsleep. It is important to note that this manual does not cover general sleeping bag usage or basic outdoor camping procedures. The scope of this manual is limited to technical specifications and advanced diagnostics related to the Lunar Ultra Sleeping Bag.", "Embedding": "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" }, { "ChunkId": 101, "ProductId": 5, "PageNumber": 4, "Text": "1.3 Product Overview\n\nThe Lunar Ultra Sleeping Bag from Snugsleep is a high-performance outdoor sleeping solution designed for extreme comfort and insulation. Equipped with plush, hypoallergenic insulation and a soft lining, the sleeping bag provides a luxurious sleeping experience in outdoor environments. Additionally, the built-in pillow pocket adds convenience for users who prioritize comfort. The product is constructed with advanced materials and precision engineering to meet the highest industry standards for outdoor gear.", "Embedding": "xhDmwXbKq0ExwLdBWWq3wTgvdkEMSLxBp8rpQZtkUkFoDyfBkw+mQUrHm8DSIZ7BAG94QWm5EUKCS6lBE724wYdrgUEiW5fBXfsPwsGFM0LUy0xCb1xyQcHy6UGDP5xAGsGvQUvFmEF5VFnB36OewUjsK8F3LqnCUazQv3Q7HD71RQlBKsvswCQdUECoho3BfRFDQm39TcGFGd7Bfx4CQo3gMEHW+7xBcM3FQDR5UcEo5sbAUrWVwT0Mm8AwuRjCsLJNQbwThcGRCUBCv5bHPl1yt8GLt6DB6egLwt0VWMF00/BA8zYEQvOII8EWE/tBC2NoQdSiC0LNoZHCZJwEQlY0Y0G9EbNBXDYcwnAML0AFFh5CF8w/QXVTtMANZfZB9rnXQWiH+UE+vapBjBxhQXkbH0JXZbHBuqo+wVNX7UBTVdXBAikUQeirrMHPXA3BaE+TwLdYVT66++vADz94wfBTDEIdgLjB7tXzwejbFsH0TwjCfAqYQSp8ssFaD5bBa8bGwKOMiEEuMk3CWiioQpTNisFhJz5CD3IawTpK6sHt2UFBR9phwkY7LUBSHsnB5QQHwg3QvT/zYudA0deoQCDyd0GDp49A+qEMQLhIiEGooWrBdvNWQfUeqUAmSF5BPWeLwmUS8UBObz1CVuuRwJdb0cH82ZC/FPEeQXykd0Ho9ZTA5rlxQbl/10EP11JBPQ5bwSba48B5TxfCkkGIwEgoicG1vGpBVAm2wMbPJsLKdgZBIR2cQJ7TW0LX8X3C/LgNwp/jr8GScA/CW9d9Qa5laMKf+f/AepB5P+p4hMGZMdtB+Z/DwT2q7UFkZ5dAjvS9QWMQ5kGLEnbBir7OPCcnfsH1G97Ao2gCwLorQkJ2597BPnyDwlW5fMHDNdjAm0ihQGbBDMJDClnBh2GHQewTYEH9tUrBCTUcQtJojkHsYt3BIuwowrKhRsE2vHtBRhs+wefVJkBALxvCNwN6waA33UCUUxLAEXYGwT8noUHcIrxBgO6JwZR/4sG4XgzBXZ8sQYRF1kGIiMU9ZEwfQajeqcH5G5FASr3sQDRAU8CHVmxCdI2EwGyYHUHliSrBnXGEQv8tGkKb6U3B3cyiwc6HNEJC8J1BgcteQbB65kEObyPB8MzLwezChME7Ad9BJBdBQSgDBMFLFAjBs4MLwYxTZkE0+PzBBUNSwo4h68K6G5vAUOOkQQ+Zu8C1jkpCrBVjwdfx6EC9jl/BF9XBwUj9+MF4RKVC6ke5QBU5psFzzR1C8tEZv47TskGTfoRBT1zJwUVe6UBroSHAvKs3QDanNkERYjrBPv47QabDhMFY+cnBVQijQqV/kcHDg51B3VuawclYjsFcLVBB6on5QbXQg8LB1xFCuw+9P3SJtkC/s6lB8h4PQUo0rcEDyNTBTBCrQu2PeMF/MDXCLkqEwY3V68HGm7tAGu0hwvQgJ8Fou13Boe/3QVZ60j8pXBZBFwOMwQwu/EEGqoXBRmolQK3KdcH7QR/AV9UCQYVgQMHg+lvBZJX7vxkDR8GogsJA5nKsvge2dkHMv0ZAJeuNQdIwKML0UyHBElY0QitR6MGXs6JBUyZxQcFG3r9btCRCf3WeQSS89EBc6bXAm2QHQtBXt0HKzFlBLIarwF1wkEFdLvFA34Q8wZ4TY0HhPoBBBpQTwf6IhsBy4le/YQ92PwUp9cGcLBRC+kozwRB998JqLTu+pLc5wvhCs8F1oy3CV4h8QdEtoUE4cB1CSrrGwWemCkEK6vLB0BIaQhQglsAXwXFA1nt1QTd++r6BVARBs+ugwVDlr0HpmWDBBQUvwYXHjEGTbrpCUY6fQJKc1UFGoXdBgjaowC5dsEHkx45B6osPQcgIlkFwSedA+IINQhSdscEoXQPCLRFmQatgk8DIexzAIiRfQVbV0UFRGoRBdEZrQZcYi0EgENRALYwaQkuG9cGuEazBbHb2wLDHmsBpwRXCqk9HwcKmSsFj5YHBNqNOQc822j7nCZxB5dIAQcaQlMHjUjvB9ltVwWBTjUGkLhrCQlRBwrB97kBUhDdB" }, { "ChunkId": 102, "ProductId": 5, "PageNumber": 5, "Text": "(c) Snugsleep 5\n\n2. Product Specifications\n\n\n2.1 Dimensions\n\n\nThe Lunar Ultra Sleeping Bag from Snugsleep has the following dimensions:\n\n\nLength: 210 cm Width (at the widest point): 85 cm Width (at the narrowest point): 55 cm\n\n\n2.2 Weight\n\n\nThe weight of the Lunar Ultra Sleeping Bag is:\n\n\nTotal weight: 2.2 kg Packed size: 45 cm x 25 cm x 25 cm\n\n\n2.3 Insulation Material\n\nThe insulation material used in the Lunar Ultra Sleeping Bag is a proprietary blend of synthetic fibers designed to provide maximum warmth and comfort in various outdoor conditions. This unique blend offers superior insulation properties while remaining lightweight and compressible for easy transport and storage.", "Embedding": "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" }, { "ChunkId": 103, "ProductId": 5, "PageNumber": 5, "Text": "2.4 Lining Material\n\nThe lining material of the Lunar Ultra Sleeping Bag is a soft, breathable, and hypoallergenic microfiber fabric. This high-quality lining provides a comfortable sleeping surface and wicks away moisture to keep you dry and warm throughout the night.\n\n\n2.5 Pillow Pocket\n\nThe Lunar Ultra Sleeping Bag features a built-in pillow pocket located at the head of the bag. This pocket is designed to securely hold a pillow in place, providing added comfort and support for a restful night\u0027s sleep.", "Embedding": "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" }, { "ChunkId": 104, "ProductId": 5, "PageNumber": 6, "Text": "(c) Snugsleep 6\n\n3. Quality Assurance\n\n\n3.1: Compliance with Standards\n\nThe Snugsleep Lunar Ultra Sleeping Bag has been designed and manufactured to meet the highest industry standards for outdoor sleeping equipment. Our product has been tested and validated against the following formal industry specification codes:\n\n\nISPO 10500:2020 - International Standard for Sleeping Bags ASTM F1956-20 - Standard Specification for Padded Sleeping Bags EN 13537:2012 - European Standard for Sleeping Bags", "Embedding": "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" }, { "ChunkId": 105, "ProductId": 5, "PageNumber": 6, "Text": "The Lunar Ultra Sleeping Bag has been engineered to adhere to these rigorous standards, ensuring that it meets the strict requirements for comfort, insulation, durability, and safety in outdoor environments. Our commitment to compliance with these standards guarantees that you can rely on the quality and performance of our product during your outdoor adventures.\n\n\n3.2: Testing Procedures\n\r\n\nTo ensure the highest quality and performance of the Lunar Ultra Sleeping Bag, rigorous testing procedures have been implemented during the manufacturing process. The following testing procedures have been conducted to verify the reliability and functionality of the product:", "Embedding": "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" }, { "ChunkId": 106, "ProductId": 5, "PageNumber": 6, "Text": "Insulation Testing: Comprehensive thermal conductivity tests have been performed using specialized industrial equipment to measure the insulation performance of the sleeping bag in various environmental conditions. Fabric Durability Testing: The fabric material of the sleeping bag has undergone extensive tensile strength and abrasion resistance tests to assess its durability and resilience. Zipper Performance Testing: The zippers on the sleeping bag have been subjected to repetitive open and close cycles to evaluate their smooth operation and resistance to wear.\n\n\nThese testing procedures have been carried out in accordance with established industry protocols and have demonstrated the superior quality and reliability of the Lunar Ultra Sleeping Bag.", "Embedding": "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" }, { "ChunkId": 107, "ProductId": 5, "PageNumber": 7, "Text": "(c) Snugsleep 7\n\n\n3.3: Certifications\n\n\nThe Snugsleep Lunar Ultra Sleeping Bag has obtained the following certifications from reputable standards bodies and regulatory authorities:\n\n\nOEKO-TEX\u00AE Standard 100: This certification confirms that the materials used in the sleeping bag are free from harmful substances and comply with human-ecological requirements. REACH Compliance: The product has been assessed for compliance with the European Union\u0027s REACH regulation, demonstrating that it meets the strict standards for the safe use of chemicals in the manufacturing process.", "Embedding": "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" }, { "ChunkId": 108, "ProductId": 5, "PageNumber": 7, "Text": "These certifications serve as a testament to the safety, quality, and environmental sustainability of the Lunar Ultra Sleeping Bag, underscoring our commitment to providing a premium sleeping experience for outdoor enthusiasts.", "Embedding": "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" }, { "ChunkId": 109, "ProductId": 5, "PageNumber": 8, "Text": "(c) Snugsleep 8\n\n4. Usage\n\n\n4.1: Pre-Use Diagnostics\n\n\nBefore using the Lunar Ultra Sleeping Bag, it is essential to perform a series of pre-use diagnostics to ensure optimal performance and safety.\n\n\n4.1.1: Visual Inspection\n\nConduct a visual inspection of the sleeping bag, checking for any signs of damage, tears, or abnormal wear and tear. Pay close attention to the stitching, zippers, and insulation material. Refer to the Industrial Standard Code IS-9587-2021 for visual inspection guidelines.", "Embedding": "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" }, { "ChunkId": 110, "ProductId": 5, "PageNumber": 8, "Text": "4.1.2: Insulation Integrity Testing\n\nUsing an insulation integrity testing machine (model number: ITM-5500), test the thermal insulation properties of the sleeping bag. Ensure that the hypoallergenic insulation is evenly distributed and free from any cold spots. Refer to the ASTM Standard E2481-19 for insulation integrity testing procedures.", "Embedding": "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" }, { "ChunkId": 111, "ProductId": 5, "PageNumber": 8, "Text": "4.1.3: Lining Quality Assessment\n\nUtilize a high-resolution fabric analysis microscope (model number: FAM-7000) to assess the quality and integrity of the soft lining material. Look for any signs of pilling, fraying, or discoloration. Consult the Research Paper \u0022Advanced Techniques in Textile Quality Assessment\u0022 for detailed lining quality assessment methodologies.\n\n\n4.2: Instructions for Use\n\n\nOnce the pre-use diagnostics have been successfully completed, follow the instructions below for proper use of the Lunar Ultra Sleeping Bag.\n\n\n4.2.1: Unfolding and Layout\n\nTo begin, unfold the sleeping bag and lay it flat on a clean and dry surface. Ensure that the built-in pillow pocket is positioned at the top of the sleeping bag for easy access.\n\n\n4.2.2: Entering the Sleeping Bag", "Embedding": "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" }, { "ChunkId": 112, "ProductId": 5, "PageNumber": 9, "Text": "(c) Snugsleep 9\n\nCarefully unzip the sleeping bag using the color-coded dual zipper system, taking care not to force the zippers. Slide into the sleeping bag, positioning your head within the built-in pillow pocket for added comfort.\n\n\n4.2.3: Adjustment and Fastening\n\nOnce inside the sleeping bag, adjust the hood for a snug fit around your head, and secure the zipper to the desired position. Utilize the interior mesh storage pockets for keeping personal items within easy reach.\n\n\n4.3: Post-Use Diagnostics\n\n\nAfter each use, it is imperative to conduct post-use diagnostics to assess the condition of the Lunar Ultra Sleeping Bag.", "Embedding": "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" }, { "ChunkId": 113, "ProductId": 5, "PageNumber": 9, "Text": "4.3.1: Moisture and Odor Inspection\n\n\nInspect the sleeping bag for any signs of moisture accumulation or unpleasant odors. Utilize a moisture content analyzer (model number: MCA-2000) and an electronic nose sensor (model number: ENS-500) for comprehensive moisture and odor inspection.\n\n\n4.3.2: Cleaning and Maintenance\n\nFollow the cleaning and maintenance guidelines outlined in the Lunar Ultra Sleeping Bag Maintenance Manual (part number: LUSB-MM-101) to ensure the longevity of the sleeping bag. Use only the recommended cleaning products and techniques as specified by Snugsleep.", "Embedding": "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" }, { "ChunkId": 114, "ProductId": 5, "PageNumber": 10, "Text": "(c) Snugsleep 10\n\n5. Maintenance\n\n\n5.1: Cleaning Procedures\n\nThe Lunar Ultra Sleeping Bag is designed for easy and efficient cleaning to ensure its longevity and optimal performance. Follow the cleaning procedures outlined below to maintain the quality of your sleeping bag:\n\n1. Spot Cleaning: For small stains or spills, spot cleaning with mild soap and water is recommended. Gently dab the affected area with a soft cloth, then allow it to air dry thoroughly before storage.", "Embedding": "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" }, { "ChunkId": 115, "ProductId": 5, "PageNumber": 10, "Text": "2. Machine Washing: If the entire sleeping bag requires cleaning, it can be machine washed in a large capacity front-loading washing machine. Use a gentle cycle with cold water and a mild, non-detergent soap. Ensure all zippers and fastenings are closed before washing.\n\n3. Drying: After washing, the sleeping bag should be tumble dried on a low heat setting. Ensure it is completely dry before storage to prevent the growth of mold and mildew.", "Embedding": "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" }, { "ChunkId": 116, "ProductId": 5, "PageNumber": 10, "Text": "4. Professional Cleaning: If necessary, professional cleaning by a reputable provider who specializes in sleeping bag maintenance is recommended.\n\n\n5.2: Storage Recommendations\n\nProper storage of the Lunar Ultra Sleeping Bag is essential to maintain its loft and insulation properties. Follow these recommendations to ensure the longevity and performance of your sleeping bag:\n\n1. Dry Storage: Always store the sleeping bag in a clean, dry environment. Avoid compressed or humid storage conditions, as these can degrade the insulating properties of the bag.", "Embedding": "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" }, { "ChunkId": 117, "ProductId": 5, "PageNumber": 10, "Text": "2. Loose Storage: When not in use, the sleeping bag should be stored in a large, breathable storage sack to prevent compression of the insulation.\n\n3. Air Out: Periodically, the sleeping bag should be removed from storage and aired out in a well-ventilated area to maintain freshness and prevent odors.\n\n4. Avoid Prolonged Compression: Do not leave the sleeping bag compressed for extended periods, as this can cause permanent damage to the insulation.", "Embedding": "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" }, { "ChunkId": 118, "ProductId": 5, "PageNumber": 11, "Text": "(c) Snugsleep 11\n\n5. Pillow Pocket: Ensure that the built-in pillow pocket is empty and free from debris before storing the sleeping bag.\n\n\nFollowing these cleaning and storage procedures will help to maintain the quality and performance of your Lunar Ultra Sleeping Bag for years of comfortable outdoor adventures.", "Embedding": "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" }, { "ChunkId": 119, "ProductId": 5, "PageNumber": 12, "Text": "(c) Snugsleep 12\n\n6. Troubleshooting\n\n\n6.1 Common Issues\n\nThe Snugsleep Lunar Ultra Sleeping Bag is designed to provide optimal comfort and performance in a variety of outdoor conditions. However, there are a few common issues that users may encounter. Please refer to the following table for troubleshooting guidance:\n\n\nIssue Possible Cause Solution\n\n\nLoss of Insulation Wear and tear from prolonged use or storage\n\nInspect the sleeping bag for any damage or tears. Consider replacing the insulation if necessary.\n\n\nZipper Stuck Debris caught in the zipper mechanism\n\nGently clean the zipper with a soft brush or compressed air. Avoid using excessive force to avoid damaging the zipper.\n\n\nUncomfortable Sleeping", "Embedding": "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" }, { "ChunkId": 120, "ProductId": 5, "PageNumber": 12, "Text": "Incorrect positioning or adjustment of the bag\n\n\nAdjust the positioning of the sleeping bag and consult the user manual for optimal usage.\n\n\n6.2 Diagnostic Equipment Recommendations\n\n\nTo ensure the utmost performance of the Snugsleep Lunar Ultra Sleeping Bag, it is recommended to utilize the following diagnostic equipment:\n\n\nThermal Imaging Camera: Use to identify any potential heat loss areas in the sleeping bag. Hypoallergenic Insulation Tester: Measure the integrity and effectiveness of the insulation material. Sleeping Bag Moisture Analyzer: Check for any moisture buildup within the sleeping bag, which can impact its insulating properties. Comfort Pressure Gauge: Monitor the pressure distribution within the sleeping bag for optimal comfort.", "Embedding": "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" }, { "ChunkId": 121, "ProductId": 5, "PageNumber": 13, "Text": "(c) Snugsleep 13\n\n7. Warranty Information\n\n\n7.1 Warranty Coverage\n\nThe Snugsleep Lunar Ultra Sleeping Bag is covered by a limited lifetime warranty. This warranty applies to the original purchaser and covers defects in material and workmanship under normal use. Snugsleep will repair or replace the product at its discretion if a defect is found.\n\n\n7.2 Warranty Exclusions\n\nThe warranty does not cover damage caused by misuse, neglect, accidents, or unauthorized repairs or modifications. It also does not cover normal wear and tear, cosmetic damage, or damage caused by improper storage.\n\n\n7.3 Making a Warranty Claim", "Embedding": "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" }, { "ChunkId": 122, "ProductId": 5, "PageNumber": 13, "Text": "To make a warranty claim, the original purchaser must provide proof of purchase and contact Snugsleep customer service. The product may need to be shipped to a designated service center for inspection and repair or replacement.\n\n\n7.4 Limitation of Liability\n\nSnugsleep\u0027s liability under this warranty is limited to the repair or replacement of the product as stated in section 7.1. Snugsleep is not liable for any incidental or consequential damages arising from the use of the product.\n\n\n7.5 State/Province Rights\n\n\nThis warranty gives the owner specific legal rights, and they may also have other rights that vary from state to state or province to province.", "Embedding": "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" } ] ================================================ FILE: seeddata/test/products.json ================================================ [ { "ProductId": 1, "CategoryId": 1, "Brand": "Rugged Riders", "Model": "Trailblazer Bike Helmet", "Description": "The Trailblazer Bike Helmet from Rugged Riders offers maximum protection with an aerodynamic design, adjustable fit, and built-in LED safety light.", "Price": 89.99, "NameEmbedding": "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" }, { "ProductId": 2, "CategoryId": 3, "Brand": "Insulite", "Model": "Arctic Explorer Sleeping Bag", "Description": "Stay warm and comfortable in the great outdoors with the Arctic Explorer Sleeping Bag from Insulite. Features include lightweight insulation, water-resistant shell, and compression sack for easy packing.", "Price": 129.99, "NameEmbedding": "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" }, { "ProductId": 3, "CategoryId": 1, "Brand": "Velocity Pro", "Model": "Stealth Bike Helmet", "Description": "The Stealth Bike Helmet from Velocity Pro is designed for speed and performance. With a sleek, aerodynamic design, adjustable ventilation, and impact-absorbing technology, it\u0027s the ultimate choice for serious cyclists.", "Price": 119.99, "NameEmbedding": "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" }, { "ProductId": 4, "CategoryId": 3, "Brand": "Summit Sleep", "Model": "Alpine 3000 Sleeping Bag", "Description": "Conquer any climate with the Alpine 3000 Sleeping Bag from Summit Sleep. This high-performance sleeping bag features advanced insulation, durable ripstop fabric, and a snug mummy shape for maximum warmth.", "Price": 159.99, "NameEmbedding": "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" }, { "ProductId": 5, "CategoryId": 3, "Brand": "Snugsleep", "Model": "Lunar Ultra Sleeping Bag", "Description": "Experience luxurious comfort in the great outdoors with the Lunar Ultra Sleeping Bag from Snugsleep. With plush, hypoallergenic insulation, a soft lining, and a built-in pillow pocket, it\u0027s the ultimate sleeping companion for your adventures.", "Price": 179.99, "NameEmbedding": "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" } ] ================================================ FILE: seeddata/test/tickets.json ================================================ [ { "TicketId": 1, "ProductId": 1, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 1, "ShortSummary": "LED safety light issue, warranty claim initiated", "LongSummary": "Customer seeks assistance with non-functional LED safety light, has followed troubleshooting steps, and initiated warranty claim process. Next agent should provide guidance on potential return or repair process.", "CustomerSatisfaction": 6, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 1, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear Customer Support, \n\nI recently purchased the Rugged Riders Trailblazer Bike Helmet and I must say, I am quite impressed with its features and design. However, I seem to be having trouble with the built-in LED safety light. It does not seem to be working as expected, despite following the instructions carefully. I have tried troubleshooting on my own, but I am still unable to make it work. \n\nI would greatly appreciate it if you could provide assistance on how to resolve this issue. If the LED safety light is defective, I would like to request a replacement or a repair. I believe that the safety features of the helmet are crucial, and I want to ensure that it is functioning properly. Alternatively, if it cannot be resolved, I may need to request a refund. I hope we can find a solution to this matter quickly. Thank you for your attention to this issue. \n\nSincerely, \nEmily Johnson" }, { "MessageId": 2, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Emily Johnson, \n\nThank you for reaching out to us regarding the issue with the LED safety light on your Rugged Riders Trailblazer Bike Helmet. According to the user manual, the first troubleshooting step is to check the battery and ensure that it is properly installed and functional. If necessary, you can replace the battery with a CR2032 3V battery. If you require further assistance, you may also contact Rugged Riders customer support for warranty-related issues, as there is a limited warranty that covers manufacturing defects for a period of 1 year from the date of purchase. We hope this information helps resolve the issue. If you have any further questions or need assistance with the warranty claim process, please feel free to let us know.\n\nSincerely, \nAdventureWorks Support" }, { "MessageId": 3, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, \n\nThank you for your prompt response and the troubleshooting steps provided. I have checked the battery as suggested, and it appears to be properly installed and functional. I even tried replacing it with a new CR2032 3V battery, but unfortunately, the LED safety light is still not working. I would like to proceed with the warranty claim process to address this issue, as it seems to be a manufacturing defect. Please guide me on how to initiate the warranty claim and what steps are involved. I appreciate your assistance in resolving this matter. \n\nSincerely, \nEmily Johnson" }, { "MessageId": 4, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "Dear Emily Johnson, \n\nThank you for your patience. You can initiate the warranty claim process by contacting Rugged Riders customer service at warranty@ruggedriders.com. Please provide the original proof of purchase and a detailed description of the issue. Rugged Riders will assess the claim and provide further instructions for return or repair. In the meantime, please ensure that the LED safety light is securely inserted and the power button is pressed to turn it on, as outlined in the user manual. If the light still does not work, Rugged Riders customer support can assist further. Sincerely, AdventureWorks Support" }, { "MessageId": 5, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Dear AdventureWorks Support, \n\nI have contacted Rugged Riders customer service at warranty@ruggedriders.com and provided the original proof of purchase along with a detailed description of the issue. I have followed the instructions in the user manual to ensure that the LED safety light is securely inserted and the power button is pressed to turn it on, but unfortunately, the light is still not working. I hope Rugged Riders can assess the claim and provide further instructions for return or repair soon. Thank you for your assistance in this matter.\n\nSincerely, Emily Johnson" } ] }, { "TicketId": 2, "ProductId": 1, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 2, "ShortSummary": "Product Performance Reassurance", "LongSummary": "Customer seeking reassurance about the performance of Trailblazer Bike Helmet. Fit seems good. No further assistance needed at this time.", "CustomerSatisfaction": 6, "TicketStatus": "Closed", "TicketType": "Question", "Messages": [ { "MessageId": 6, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Hello, I recently purchased the Trailblazer Bike Helmet from Rugged Riders and I just want to make sure it\u0027s performing as expected. I\u0027ve been using it for a few rides now and it seems to be working well, but I just wanted to double-check. I appreciate any reassurance you can provide. Thank you for your time." }, { "MessageId": 7, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "According to the manual, the Trailblazer Bike Helmet is designed and intended for use as protective headgear during cycling activities. It should not be used for any other purposes. The warranty covers manufacturing defects for a period of 1 year from the date of purchase, and Rugged Riders provides a limited warranty for the helmet. If you have any issues with the fit, please contact Rugged Riders customer support for further assistance." }, { "MessageId": 8, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "Thank you for the information. I\u0027ve checked the fit of the helmet and it seems to be good. I appreciate your assistance." } ] }, { "TicketId": 3, "ProductId": 2, "CreatedAt": "0001-01-01T00:00:00", "CustomerId": 3, "ShortSummary": "Inquiry about Arctic Explorer Sleeping Bag\u0027s Temperature Rating", "LongSummary": "Customer seeks specific details about the Arctic Explorer Sleeping Bag\u0027s temperature rating and performance in sub-zero conditions. They plan to contact customer service for further assistance. Next support agent should provide detailed temperature rating and performance information.", "CustomerSatisfaction": 2, "TicketStatus": "Open", "TicketType": "Question", "Messages": [ { "MessageId": 9, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I need to know if the Arctic Explorer Sleeping Bag is guaranteed to keep me warm in temperatures below freezing. I expect a detailed response before I even consider making a purchase. If it doesn\u0027t meet my expectations, I demand a full refund. I won\u0027t settle for anything less than perfect performance from this sleeping bag." }, { "MessageId": 10, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Arctic Explorer Sleeping Bag is equipped with state-of-the-art lightweight insulation that ensures maximum heat retention while keeping the overall weight of the sleeping bag to a minimum. The water-resistant shell provides a protective barrier against moisture and drafts, keeping you dry and warm throughout the night. If you have any questions about the warranty for your Arctic Explorer Sleeping Bag, please refer to the warranty card included with your purchase. For additional support, feel free to contact our customer service team." }, { "MessageId": 11, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information you provided about the insulation and water-resistant shell of the Arctic Explorer Sleeping Bag. However, I need more details about the specific temperature rating and performance in sub-zero conditions. I expect a comprehensive response to my queries before I make any decisions. Also, I will be contacting your customer service team for further assistance." }, { "MessageId": 12, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": false, "Text": "The Arctic Explorer Sleeping Bag is equipped with state-of-the-art lightweight insulation that ensures maximum heat retention, and the water-resistant shell provides a protective barrier against moisture and drafts. When using the sleeping bag, make sure to fully close the zipper to retain maximum warmth. Gently pull the zipper tab downwards to close the sleeping bag securely. For warranty information, please refer to the warranty card included with your purchase. If you have further questions, feel free to contact our customer service team. I hope this information is helpful to you." }, { "MessageId": 13, "CreatedAt": "0001-01-01T00:00:00", "TicketId": 0, "IsCustomerMessage": true, "Text": "I appreciate the information you provided, but I still need specific details about the temperature rating and performance of the Arctic Explorer Sleeping Bag in sub-zero conditions. I expect a comprehensive response before I make any decisions. Also, I will be contacting your customer service team for further assistance." } ] } ] ================================================ FILE: src/AppHost/.gitignore ================================================ appsettings.Local.json ================================================ FILE: src/AppHost/AppHost.csproj ================================================  Exe net8.0 enable enable true dbe89ad9-90f1-44de-9646-7e98b2d8c69d ================================================ FILE: src/AppHost/Ollama/OllamaResource.cs ================================================ namespace Aspire.Hosting; internal class OllamaResource(string name, string[] models, string defaultModel, bool enableGpu) : ContainerResource(name) { public string[] Models { get; } = models; public string DefaultModel { get; } = defaultModel; public bool EnableGpu { get; } = enableGpu; } ================================================ FILE: src/AppHost/Ollama/OllamaResourceExtensions.cs ================================================ using System.Net.Http.Json; using System.Text.Json; using Aspire.Hosting.Lifecycle; using Microsoft.Extensions.Logging; namespace Aspire.Hosting; internal static class OllamaResourceExtensions { public static IResourceBuilder AddOllama(this IDistributedApplicationBuilder builder, string name, string[]? models = null, string? defaultModel = null, bool enableGpu = true, int? port = null) { const string configKey = "OllamaModel"; defaultModel ??= builder.Configuration[configKey]; if (models is null or { Length: 0 }) { if (string.IsNullOrEmpty(defaultModel)) { throw new InvalidOperationException($"Expected the parameter '{nameof(defaultModel)}' or '{nameof(models)}' to be nonempty, or to find a configuration value '{configKey}', but none were provided."); } models = [defaultModel]; } var resource = new OllamaResource(name, models, defaultModel ?? models.First(), enableGpu); var ollama = builder.AddResource(resource) .WithHttpEndpoint(port: port, targetPort: 11434) .WithImage("ollama/ollama", tag: "0.6.5"); if (enableGpu) { ollama = ollama.WithContainerRuntimeArgs("--gpus=all"); } builder.Services.TryAddLifecycleHook(); // This is a bit of a hack to show downloading models in the UI builder.AddResource(new OllamaModelDownloaderResource($"ollama-model-downloader-{name}", resource)) .WithInitialState(new() { Properties = [], ResourceType = "ollama downloader", State = KnownResourceStates.Hidden }) .ExcludeFromManifest(); return ollama; } public static IResourceBuilder WithDataVolume(this IResourceBuilder builder) { return builder.WithVolume(CreateVolumeName(builder, builder.Resource.Name), "/root/.ollama"); } public static IResourceBuilder WithReference(this IResourceBuilder builder, IResourceBuilder ollamaBuilder) where TDestination : IResourceWithEnvironment { return builder .WithReference(ollamaBuilder.GetEndpoint("http")) .WithEnvironment($"{ollamaBuilder.Resource.Name}:Type", "ollama") .WithEnvironment($"{ollamaBuilder.Resource.Name}:LlmModelName", ollamaBuilder.Resource.DefaultModel); } private static string CreateVolumeName(IResourceBuilder builder, string suffix) where T : IResource { // Ideally this would be public return (string)typeof(ContainerResource).Assembly .GetType("Aspire.Hosting.Utils.VolumeNameGenerator", true)! .GetMethod("CreateVolumeName")! .MakeGenericMethod(typeof(T)) .Invoke(null, [builder, suffix])!; } private sealed class OllamaEnsureModelAvailableHook( ResourceLoggerService loggerService, ResourceNotificationService notificationService, DistributedApplicationExecutionContext context) : IDistributedApplicationLifecycleHook { public Task AfterEndpointsAllocatedAsync(DistributedApplicationModel appModel, CancellationToken cancellationToken = default) { if (context.IsPublishMode) { return Task.CompletedTask; } var client = new HttpClient(); foreach (var downloader in appModel.Resources.OfType()) { var ollama = downloader.ollamaResource; var logger = loggerService.GetLogger(downloader); _ = Task.Run(async () => { var httpEndpoint = ollama.GetEndpoint("http"); // TODO: Make this resilient to failure var ollamaModelsAvailable = await client.GetFromJsonAsync($"{httpEndpoint.Url}/api/tags", new JsonSerializerOptions(JsonSerializerDefaults.Web)); if (ollamaModelsAvailable is null) { return; } var availableModelNames = ollamaModelsAvailable.Models?.Select(m => m.Name) ?? []; var modelsToDownload = ollama.Models.Except(availableModelNames); if (!modelsToDownload.Any()) { return; } logger.LogInformation("Downloading models {Models} for ollama {OllamaName}...", string.Join(", ", modelsToDownload), ollama.Name); await notificationService.PublishUpdateAsync(downloader, s => s with { State = new("Downloading models...", KnownResourceStateStyles.Info) }); await Parallel.ForEachAsync(modelsToDownload, async (modelName, ct) => { await DownloadModelAsync(logger, httpEndpoint, modelName, ct); }); await notificationService.PublishUpdateAsync(downloader, s => s with { State = new("Models downloaded", KnownResourceStateStyles.Success) }); }, cancellationToken); } return Task.CompletedTask; } private static async Task DownloadModelAsync(ILogger logger, EndpointReference httpEndpoint, string? modelName, CancellationToken cancellationToken) { logger.LogInformation("Pulling ollama model {ModelName}...", modelName); var httpClient = new HttpClient { Timeout = TimeSpan.FromDays(1) }; var request = new HttpRequestMessage(HttpMethod.Post, $"{httpEndpoint.Url}/api/pull") { Content = JsonContent.Create(new { name = modelName }) }; var response = await httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead); var responseContentStream = await response.Content.ReadAsStreamAsync(cancellationToken); var streamReader = new StreamReader(responseContentStream); var line = (string?)null; while ((line = await streamReader.ReadLineAsync(cancellationToken)) is not null) { logger.Log(LogLevel.Information, 0, line, null, (s, ex) => s); } logger.LogInformation("Finished pulling ollama mode {ModelName}", modelName); } record OllamaGetTagsResponse(OllamaGetTagsResponseModel[]? Models); record OllamaGetTagsResponseModel(string Name); } private class OllamaModelDownloaderResource(string name, OllamaResource ollamaResource) : Resource(name) { public OllamaResource ollamaResource { get; } = ollamaResource; } } ================================================ FILE: src/AppHost/Program.cs ================================================ using Microsoft.Extensions.Configuration.Json; using Microsoft.Extensions.Hosting; using Projects; var builder = DistributedApplication.CreateBuilder(args); builder.Configuration.Sources.Add(new JsonConfigurationSource { Path = "appsettings.Local.json", Optional = true }); var isE2ETest = builder.Configuration["E2E_TEST"] == "true"; var dbPassword = builder.AddParameter("PostgresPassword", secret: true); var postgresServer = builder .AddPostgres("eshopsupport-postgres", password: dbPassword); var backendDb = postgresServer .AddDatabase("backenddb"); var vectorDb = builder .AddQdrant("vector-db"); var identityServer = builder.AddProject("identity-server") .WithExternalHttpEndpoints(); var identityEndpoint = identityServer .GetEndpoint("https"); // Use this if you want to use Ollama var chatCompletion = builder.AddOllama("chatcompletion").WithDataVolume(); // ... or use this if you want to use OpenAI (having also configured the API key in appsettings) //var chatCompletion = builder.AddConnectionString("chatcompletion"); var storage = builder.AddAzureStorage("eshopsupport-storage"); if (builder.Environment.IsDevelopment()) { storage.RunAsEmulator(r => { if (!isE2ETest) { r.WithDataVolume(); } }); } var blobStorage = storage.AddBlobs("eshopsupport-blobs"); var pythonInference = builder.AddPythonUvicornApp("python-inference", Path.Combine("..", "PythonInference"), port: 62394); var redis = builder.AddRedis("redis"); var backend = builder.AddProject("backend") .WithReference(backendDb) .WithReference(chatCompletion) .WithReference(blobStorage) .WithReference(vectorDb) .WithReference(pythonInference) .WithReference(redis) .WithEnvironment("IdentityUrl", identityEndpoint) .WithEnvironment("ImportInitialDataDir", Path.Combine(builder.AppHostDirectory, "..", "..", "seeddata", isE2ETest ? "test" : "dev")); var staffWebUi = builder.AddProject("staffwebui") .WithExternalHttpEndpoints() .WithReference(backend) .WithReference(redis) .WithEnvironment("IdentityUrl", identityEndpoint); var customerWebUi = builder.AddProject("customerwebui") .WithReference(backend) .WithEnvironment("IdentityUrl", identityEndpoint); // Circular references: IdentityServer needs to know the endpoints of the web UIs identityServer .WithEnvironment("CustomerWebUIEndpoint", customerWebUi.GetEndpoint("https")) .WithEnvironment("StaffWebUIEndpoint", staffWebUi.GetEndpoint("https")); if (!isE2ETest) { postgresServer.WithDataVolume(); vectorDb.WithVolume("eshopsupport-vector-db-storage", "/qdrant/storage"); } builder.Build().Run(); ================================================ FILE: src/AppHost/Properties/launchSettings.json ================================================ { "$schema": "https://json.schemastore.org/launchsettings.json", "profiles": { "https": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "https://localhost:17191;http://localhost:15202", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21256", "DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22048" } }, "http": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "http://localhost:15202", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development", "DOTNET_ENVIRONMENT": "Development", "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19297", "DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20257" } } } } ================================================ FILE: src/AppHost/Python/PythonUvicornAppResourceBuilderExtensions.cs ================================================ namespace Aspire.Hosting; public static class PythonUvicornAppResourceBuilderExtensions { public static IResourceBuilder AddPythonUvicornApp(this IDistributedApplicationBuilder builder, string name, string workingDirectory, int? port = default, int? targetPort = default) { return builder.AddResource(new PythonUvicornAppResource(name, "python", workingDirectory)) .WithArgs("-m", "uvicorn", "main:app") .WithHttpEndpoint(env: "UVICORN_PORT", port: port, targetPort: targetPort); } } public class PythonUvicornAppResource(string name, string command, string workingDirectory) : ExecutableResource(name, command, workingDirectory), IResourceWithServiceDiscovery { } ================================================ FILE: src/AppHost/appsettings.Development.json ================================================ { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, // REMEMBER NOT TO COMMIT YOUR API KEYS TO SOURCE CONTROL // To reduce the risk, copy this file as appsettings.Local.json and make your changes there, // since that file overrides anything configured here and will be ignored by Git. // This is used if you're using Ollama. Be sure to pick a model that supports tools. "OllamaModel": "llama3.1", // This is used if you're using OpenAI "ConnectionStrings": { //"chatcompletion": "Endpoint=https://TODO.openai.azure.com/;Key=TODO;Deployment=TODO" } } ================================================ FILE: src/AppHost/appsettings.json ================================================ { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning", "Aspire.Hosting.Dcp": "Warning" } }, "Parameters": { "PostgresPassword": "dev" } } ================================================ FILE: src/Backend/Api/AssistantApi.cs ================================================ using System.ComponentModel; using System.Text; using System.Text.Json; using System.Text.RegularExpressions; using eShopSupport.Backend.Data; using eShopSupport.Backend.Services; using eShopSupport.ServiceDefaults.Clients.Backend; using Microsoft.Extensions.AI; using Microsoft.SemanticKernel.Memory; namespace eShopSupport.Backend.Api; public static class AssistantApi { public static void MapAssistantApiEndpoints(this WebApplication app) { app.MapPost("/api/assistant/chat", GetStreamingChatResponseAsync); } private static async Task GetStreamingChatResponseAsync(AssistantChatRequest request, HttpContext httpContext, AppDbContext dbContext, IChatClient chatClient, ILoggerFactory loggerFactory, CancellationToken cancellationToken) { var product = request.ProductId.HasValue ? await dbContext.Products.FindAsync(request.ProductId.Value) : null; // Build the prompt plus any existing conversation history var messages = new List([ new(ChatRole.System, $$""" You are a helpful AI assistant called 'Assistant' whose job is to help customer service agents working for AdventureWorks, an online retailer. The customer service agent is currently handling the following ticket: {{request.ProductId}} {{product?.Model ?? "None specified"}} {{request.CustomerName}} {{request.TicketSummary}} The most recent message from the customer is this: {{request.TicketLastCustomerMessage}} However, that is only provided for context. You are not answering that question directly. The real question will be asked by the user below. If this is a question about the product, ALWAYS search the product manual. ALWAYS justify your answer by citing a search result. Do this by including this syntax in your reply: shortVerbatimQuote shortVerbatimQuote must be a very short, EXACT quote (max 10 words) from whichever search result you are citing. Only give one citation per answer. Always give a citation because this is important to the business. """) ]); messages.AddRange(request.Messages.Select(m => new ChatMessage(m.IsAssistant ? ChatRole.Assistant : ChatRole.User, m.Text))); await httpContext.Response.WriteAsync("[null"); // Call the LLM backend var searchManual = AIFunctionFactory.Create(new SearchManualContext(httpContext).SearchManual); var executionSettings = new ChatOptions { Temperature = 0, Tools = [searchManual], AdditionalProperties = new() { ["seed"] = 0 }, }; var streamingAnswer = chatClient.GetStreamingResponseAsync(messages, executionSettings, cancellationToken); // Stream the response to the UI var answerBuilder = new StringBuilder(); await foreach (var chunk in streamingAnswer) { await httpContext.Response.WriteAsync(",\n"); await httpContext.Response.WriteAsync(JsonSerializer.Serialize(new AssistantChatReplyItem(AssistantChatReplyItemType.AnswerChunk, chunk.ToString()))); answerBuilder.Append(chunk.ToString()); } // Ask if this answer is suitable for sending directly to the customer // If so, we'll show a button in the UI var classification = await chatClient.GetResponseAsync( $"Determine whether the following message is phrased as a reply to the customer {request.CustomerName} by name: {answerBuilder}", cancellationToken: cancellationToken); if (classification.TryGetResult(out var result) && result.IsAddressedToCustomerByName) { await httpContext.Response.WriteAsync(",\n"); await httpContext.Response.WriteAsync(JsonSerializer.Serialize(new AssistantChatReplyItem(AssistantChatReplyItemType.IsAddressedToCustomer, "true"))); } // Signal to the UI that we're finished await httpContext.Response.WriteAsync("]"); } private class MessageClassification { public bool IsAddressedToCustomerByName { get; set; } } private class SearchManualContext(HttpContext httpContext) { private readonly SemaphoreSlim semaphore = new(1); private readonly ProductManualSemanticSearch manualSearch = httpContext.RequestServices.GetRequiredService(); public async Task SearchManual( [Description("A phrase to use when searching the manual")] string searchPhrase, [Description("ID for the product whose manual to search. Set to null only if you must search across all product manuals.")] int? productId) { await semaphore.WaitAsync(); // Alternatively, you can set ConcurrentInvocation to false in UseFunctionInvocation try { // Notify the UI we're doing a search await httpContext.Response.WriteAsync(",\n"); await httpContext.Response.WriteAsync(JsonSerializer.Serialize(new AssistantChatReplyItem(AssistantChatReplyItemType.Search, searchPhrase))); // Do the search, and supply the results to the UI so it can show one as a citation link var searchResults = await manualSearch.SearchAsync(productId, searchPhrase); foreach (var r in searchResults) { await httpContext.Response.WriteAsync(",\n"); await httpContext.Response.WriteAsync(JsonSerializer.Serialize(new AssistantChatReplyItem( AssistantChatReplyItemType.SearchResult, string.Empty, int.Parse(r.Metadata.Id), GetProductId(r), GetPageNumber(r)))); } // Return the search results to the assistant return searchResults.Select(r => new { ProductId = GetProductId(r), SearchResultId = r.Metadata.Id, r.Metadata.Text, }); } finally { semaphore.Release(); } } } private static int? GetProductId(MemoryQueryResult result) { var match = Regex.Match(result.Metadata.ExternalSourceName, @"productid:(\d+)"); return match.Success ? int.Parse(match.Groups[1].Value) : null; } private static int? GetPageNumber(MemoryQueryResult result) { var match = Regex.Match(result.Metadata.AdditionalMetadata, @"pagenumber:(\d+)"); return match.Success ? int.Parse(match.Groups[1].Value) : null; } } ================================================ FILE: src/Backend/Api/CatalogApi.cs ================================================ using System.Numerics.Tensors; using System.Runtime.InteropServices; using Azure.Storage.Blobs; using eShopSupport.Backend.Data; using eShopSupport.Backend.Services; using eShopSupport.ServiceDefaults.Clients.Backend; using Microsoft.EntityFrameworkCore; using Microsoft.SemanticKernel.Embeddings; namespace eShopSupport.Backend.Api; public static class CatalogApi { public static void MapCatalogApiEndpoints(this WebApplication app) { app.MapGet("/manual", GetManualPdfAsync); app.MapGet("/api/categories", SearchCategoriesAsync); app.MapGet("/api/products", SearchProductsAsync); // APIs allowed for use from CustomerWebUI var customerApiPolicy = "CustomerApi"; app.MapGet("/api/customer/products", SearchProductsAsync) .RequireAuthorization(customerApiPolicy); } private static async Task> SearchCategoriesAsync(AppDbContext dbContext, ITextEmbeddingGenerationService embedder, string? searchText, string? ids) { IQueryable filteredCategories = dbContext.ProductCategories; if (!string.IsNullOrWhiteSpace(ids)) { var idsParsed = ids.Split(',').Select(int.Parse).ToList(); filteredCategories = filteredCategories.Where(c => idsParsed.Contains(c.CategoryId)); } var matchingCategories = await filteredCategories.ToArrayAsync(); // If you have a small number of items, another pattern for semantic search is simply // to do it in process. In this case we also amend the similarity rule so that if the // category is an exact prefix match, it's considered a perfect match. So in effect // we have both a prefix match and a semantic match working together. if (!string.IsNullOrWhiteSpace(searchText)) { var searchTextEmbedding = await embedder.GenerateEmbeddingAsync(searchText); matchingCategories = matchingCategories.Select(c => new { Category = c, Similarity = c.Name.StartsWith(searchText, StringComparison.OrdinalIgnoreCase) ? 1f : TensorPrimitives.CosineSimilarity(FromBase64(c.NameEmbeddingBase64), searchTextEmbedding.Span), }).Where(x => x.Similarity > 0.5f) .OrderByDescending(x => x.Similarity) .Take(5) .Select(x => x.Category) .ToArray(); } return matchingCategories.Select(c => new FindCategoriesResult(c.CategoryId) { Name = c.Name }); static ReadOnlySpan FromBase64(string embeddingBase64) { var bytes = Convert.FromBase64String(embeddingBase64); return MemoryMarshal.Cast(bytes); } } private static Task> SearchProductsAsync(ProductSemanticSearch productSemanticSearch, string searchText) => productSemanticSearch.FindProductsAsync(searchText); private static async Task GetManualPdfAsync(string file, BlobServiceClient blobServiceClient) { var blobClient = blobServiceClient.GetBlobContainerClient("manuals").GetBlobClient(file); if (!(await blobClient.ExistsAsync())) { return Results.NotFound(); } var download = await blobClient.DownloadStreamingAsync(); return Results.File(download.Value.Content, "application/pdf"); } } ================================================ FILE: src/Backend/Api/TicketApi.cs ================================================ using System.Text.RegularExpressions; using CustomerWebUI; using eShopSupport.Backend.Data; using eShopSupport.Backend.Services; using eShopSupport.ServiceDefaults.Clients.Backend; using eShopSupport.ServiceDefaults.Clients.PythonInference; using Microsoft.EntityFrameworkCore; using StackExchange.Redis; namespace eShopSupport.Backend.Api; public static class TicketApi { public static void MapTicketApiEndpoints(this WebApplication app) { // Staff endpoints. Fallback policy requires "staff" role. app.MapPost("/tickets", ListTicketsAsync); app.MapGet("/tickets/{ticketId:int}", GetTicketAsync); app.MapPut("/api/ticket/{ticketId:int}", UpdateTicketAsync); // Customer endpoints. These must each take care to restrict access to the customer's own tickets. var customerApiPolicy = "CustomerApi"; app.MapGet("/customer/tickets", (HttpContext httpContext, AppDbContext dbContext) => ListTicketsAsync(dbContext, new(null, null, httpContext.GetRequiredCustomerId(), 0, 100, nameof(ListTicketsResultItem.TicketId), false))) .RequireAuthorization(customerApiPolicy); app.MapGet("/customer/tickets/{ticketId:int}", (HttpContext httpContext, AppDbContext dbContext, int ticketId) => GetTicketAsync(dbContext, ticketId, httpContext.GetRequiredCustomerId())) .RequireAuthorization(customerApiPolicy); app.MapPost("/customer/tickets/create", CreateTicketAsync) .RequireAuthorization(customerApiPolicy); app.MapPut("/api/customer/ticket/{ticketId:int}/close", (HttpContext httpContext, AppDbContext dbContext, int ticketId) => CloseTicketAsync(dbContext, ticketId, httpContext.GetRequiredCustomerId())) .RequireAuthorization(customerApiPolicy); } private static async Task ListTicketsAsync(AppDbContext dbContext, ListTicketsRequest request) { if (request.MaxResults > 100) { return Results.BadRequest("maxResults must be 100 or less"); } IQueryable itemsMatchingFilter = dbContext.Tickets .Include(t => t.Product); if (request.FilterByCategoryIds is { Count: > 0 }) { itemsMatchingFilter = itemsMatchingFilter .Where(t => t.Product != null) .Where(t => request.FilterByCategoryIds.Contains(t.Product!.CategoryId)); } if (request.FilterByCustomerId is int customerId) { itemsMatchingFilter = itemsMatchingFilter.Where(t => t.CustomerId == customerId); } // Count open/closed var itemsMatchingFilterCountByStatus = await itemsMatchingFilter.GroupBy(t => t.TicketStatus) .Select(g => new { Status = g.Key, Count = g.Count() }) .ToDictionaryAsync(g => g.Status, g => g.Count); var totalOpen = itemsMatchingFilterCountByStatus.GetValueOrDefault(TicketStatus.Open); var totalClosed = itemsMatchingFilterCountByStatus.GetValueOrDefault(TicketStatus.Closed); // Sort and return requested range of if (request.FilterByStatus.HasValue) { itemsMatchingFilter = itemsMatchingFilter.Where(t => t.TicketStatus == request.FilterByStatus.Value); } if (!string.IsNullOrEmpty(request.SortBy)) { switch (request.SortBy) { case nameof(ListTicketsResultItem.TicketId): itemsMatchingFilter = request.SortAscending == true ? itemsMatchingFilter.OrderBy(t => t.TicketId) : itemsMatchingFilter.OrderByDescending(t => t.TicketId); break; case nameof(ListTicketsResultItem.CustomerFullName): itemsMatchingFilter = request.SortAscending == true ? itemsMatchingFilter.OrderBy(t => t.Customer.FullName).ThenBy(t => t.TicketId) : itemsMatchingFilter.OrderByDescending(t => t.Customer.FullName).ThenBy(t => t.TicketId); break; case nameof(ListTicketsResultItem.NumMessages): itemsMatchingFilter = request.SortAscending == true ? itemsMatchingFilter.OrderBy(t => t.Messages.Count).ThenBy(t => t.TicketId) : itemsMatchingFilter.OrderByDescending(t => t.Messages.Count).ThenBy(t => t.TicketId); break; case nameof(ListTicketsResultItem.CustomerSatisfaction): itemsMatchingFilter = request.SortAscending == true ? itemsMatchingFilter.OrderBy(t => t.CustomerSatisfaction).ThenBy(t => t.TicketId) : itemsMatchingFilter.OrderByDescending(t => t.CustomerSatisfaction).ThenBy(t => t.TicketId); break; default: return Results.BadRequest("Invalid sortBy value"); } } var resultItems = itemsMatchingFilter .Skip(request.StartIndex) .Take(request.MaxResults) .Select(t => new ListTicketsResultItem(t.TicketId, t.TicketType, t.TicketStatus, t.CreatedAt, t.Customer.FullName, t.Product == null ? null : t.Product.Model, t.ShortSummary, t.CustomerSatisfaction, t.Messages.Count)); return Results.Ok(new ListTicketsResult(await resultItems.ToListAsync(), await itemsMatchingFilter.CountAsync(), totalOpen, totalClosed)); } private static async Task GetTicketAsync(AppDbContext dbContext, int ticketId, int? restrictToCustomerId) { var ticket = await dbContext.Tickets .Where(t => restrictToCustomerId == null || t.CustomerId == restrictToCustomerId) .Include(t => t.Messages) .Include(t => t.Product) .Include(t => t.Customer) .FirstOrDefaultAsync(t => t.TicketId == ticketId); return ticket == null ? Results.NotFound() : Results.Ok(new TicketDetailsResult( ticket.TicketId, ticket.CreatedAt, ticket.CustomerId, ticket.Customer.FullName, ticket.ShortSummary, ticket.LongSummary, ticket.ProductId, ticket.Product?.Brand, ticket.Product?.Model, ticket.TicketType, ticket.TicketStatus, ticket.CustomerSatisfaction, ticket.Messages.OrderBy(m => m.MessageId).Select(m => new TicketDetailsResultMessage(m.MessageId, m.CreatedAt, m.IsCustomerMessage, m.Text)).ToList() )); } private static async Task UpdateTicketAsync(AppDbContext dbContext, IConnectionMultiplexer redisConnection, int ticketId, UpdateTicketDetailsRequest request) { var ticket = await dbContext.Tickets.FirstOrDefaultAsync(t => t.TicketId == ticketId); if (ticket == null) { return Results.NotFound(); } ticket.ProductId = request.ProductId; ticket.TicketType = request.TicketType; ticket.TicketStatus = request.TicketStatus; await dbContext.SaveChangesAsync(); await redisConnection.GetSubscriber().PublishAsync( RedisChannel.Literal($"ticket:{ticketId}"), "Updated"); return Results.Ok(); } private static async Task CloseTicketAsync(AppDbContext dbContext, int ticketId, int loggedInCustomerId) { var ticket = await dbContext.Tickets .Where(t => t.CustomerId == loggedInCustomerId) .FirstOrDefaultAsync(t => t.TicketId == ticketId); if (ticket == null) { return Results.NotFound(); } ticket.TicketStatus = TicketStatus.Closed; await dbContext.SaveChangesAsync(); return Results.Ok(); } private static async Task CreateTicketAsync(HttpContext httpContext, AppDbContext dbContext, TicketSummarizer summarizer, PythonInferenceClient pythonInference, CreateTicketRequest request) { // Classify the new ticket using the small zero-shot classifier model var ticketTypes = Enum.GetValues(); var inferredTicketType = await pythonInference.ClassifyTextAsync( request.Message, candidateLabels: ticketTypes.Select(type => type.ToString())); var ticket = new Ticket { CreatedAt = DateTime.UtcNow, CustomerId = httpContext.GetRequiredCustomerId(), Customer = default!, // Will be populated by DB reference TicketStatus = TicketStatus.Open, TicketType = Enum.TryParse(inferredTicketType, out var type) ? type : TicketType.Question, }; // TODO: Better lookup using ID if (!string.IsNullOrEmpty(request.ProductName) && Regex.Match(request.ProductName, @"^(.*) \((.*)\)$") is { Success: true } match) { var brand = match.Groups[2].Value; var model = match.Groups[1].Value; var product = await dbContext.Products.FirstOrDefaultAsync(p => p.Brand == brand && p.Model == model); ticket.ProductId = product?.ProductId; } ticket.Messages.Add(new Message { IsCustomerMessage = true, Text = request.Message, CreatedAt = DateTime.UtcNow, }); dbContext.Tickets.Add(ticket); await dbContext.SaveChangesAsync(); summarizer.UpdateSummary(ticket.TicketId, enforceRateLimit: true); } } ================================================ FILE: src/Backend/Api/TicketMessagingApi.cs ================================================ using CustomerWebUI; using eShopSupport.Backend.Data; using eShopSupport.Backend.Services; using eShopSupport.ServiceDefaults.Clients.Backend; namespace eShopSupport.Backend.Api; public static class TicketMessagingApi { public static void MapTicketMessagingApiEndpoints(this WebApplication app) { app.MapPost("/api/ticket/{ticketId}/message", async (int ticketId, AppDbContext dbContext, TicketSummarizer summarizer, SendTicketMessageRequest request) => { // Staff can post messages on any ticket, so we don't have to validate ticketId await PostMessageAsync(ticketId, dbContext, summarizer, request, isCustomerMessage: false); }); app.MapPost("/api/customer/ticket/{ticketId}/message", async (HttpContext httpContext, int ticketId, AppDbContext dbContext, TicketSummarizer summarizer, SendTicketMessageRequest request) => { // Since this is a customer API call, verify this is their ticket var ticket = await dbContext.Tickets.FindAsync(ticketId); if (ticket?.CustomerId != httpContext.GetRequiredCustomerId()) { return Results.NotFound(); } await PostMessageAsync(ticketId, dbContext, summarizer, request, isCustomerMessage: true); return Results.Ok(); }).RequireAuthorization("CustomerApi"); } private static async Task PostMessageAsync(int ticketId, AppDbContext dbContext, TicketSummarizer summarizer, SendTicketMessageRequest request, bool isCustomerMessage) { dbContext.Messages.Add(new Message { TicketId = ticketId, CreatedAt = DateTime.UtcNow, IsCustomerMessage = isCustomerMessage, Text = request.Text, }); await dbContext.SaveChangesAsync(); // Runs in the background and notifies when the summary is updated summarizer.UpdateSummary(ticketId, enforceRateLimit: isCustomerMessage); } } ================================================ FILE: src/Backend/Backend.csproj ================================================  net8.0 enable enable eShopSupport.Backend $(NoWarn);SKEXP0001;SKEXP0010;SKEXP0020 ================================================ FILE: src/Backend/Data/AppDbContext.cs ================================================ using System.Text.Json; using Microsoft.EntityFrameworkCore; using Polly; using Polly.Retry; namespace eShopSupport.Backend.Data; public class AppDbContext : DbContext { public AppDbContext(DbContextOptions options) : base(options) { } public DbSet Customers { get; set; } public DbSet Tickets { get; set; } public DbSet Messages { get; set; } public DbSet ProductCategories { get; set; } public DbSet Products { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity().HasMany(t => t.Messages).WithOne().OnDelete(DeleteBehavior.Cascade); modelBuilder.Entity().HasOne(t => t.Product); } public static async Task EnsureDbCreatedAsync(IServiceProvider services, string? initialImportDataDir) { using var scope = services.CreateScope(); using var dbContext = scope.ServiceProvider.GetRequiredService(); // Wait until the DB is ready var pipeline = new ResiliencePipelineBuilder().AddRetry(new RetryStrategyOptions { Delay = TimeSpan.FromSeconds(3) }).Build(); var createdDb = await pipeline.ExecuteAsync(async (CancellationToken ct) => await dbContext.Database.EnsureCreatedAsync(ct)); if (createdDb && !string.IsNullOrEmpty(initialImportDataDir)) { await ImportInitialData(dbContext, initialImportDataDir); } } private static async Task ImportInitialData(AppDbContext dbContext, string dirPath) { try { var customers = JsonSerializer.Deserialize( File.ReadAllText(Path.Combine(dirPath, "customers.json")))!; var categories = JsonSerializer.Deserialize( File.ReadAllText(Path.Combine(dirPath, "categories.json")))!; var products = JsonSerializer.Deserialize( File.ReadAllText(Path.Combine(dirPath, "products.json")))!; var tickets = JsonSerializer.Deserialize( File.ReadAllText(Path.Combine(dirPath, "tickets.json")))!; // Explicitly remove the IDs so they will be auto-generated by the DB foreach (var ticket in tickets) { ticket.TicketId = 0; ticket.Customer = customers.First(c => c.CustomerId == ticket.CustomerId); ticket.CreatedAt = DateTime.UtcNow; foreach (var message in ticket.Messages) { message.MessageId = 0; message.CreatedAt = DateTime.UtcNow; } } foreach (var customer in customers) { customer.CustomerId = 0; } // These users correspond to entries in IdentityServer's TestUsers class await dbContext.Customers.AddAsync(new Customer { CustomerId = 10000, FullName = "Alice Smith" }); await dbContext.Customers.AddAsync(new Customer { CustomerId = 10001, FullName = "Bob Smith" }); await dbContext.Customers.AddRangeAsync(customers); await dbContext.ProductCategories.AddRangeAsync(categories); await dbContext.Products.AddRangeAsync(products); await dbContext.Tickets.AddRangeAsync(tickets); await dbContext.SaveChangesAsync(); } catch { // If the initial import failed, we drop the DB so it will try again next time await dbContext.Database.EnsureDeletedAsync(); throw; } } } ================================================ FILE: src/Backend/Data/AsyncEnumerableExtensions.cs ================================================ namespace eShopSupport.Backend.Data; internal static class AsyncEnumerableExtensions { public static async Task> ToListAsync(this IAsyncEnumerable asyncEnumerable) { var result = new List(); await foreach (var item in asyncEnumerable) { result.Add(item); } return result; } } ================================================ FILE: src/Backend/Data/Customer.cs ================================================ namespace eShopSupport.Backend.Data; public class Customer { public int CustomerId { get; set; } public required string FullName { get; set; } } ================================================ FILE: src/Backend/Data/ManualChunk.cs ================================================ namespace eShopSupport.Backend.Data; public class ManualChunk { public int ChunkId { get; set; } public int ProductId { get; set; } public int PageNumber { get; set; } public required string Text { get; set; } public required byte[] Embedding { get; set; } } ================================================ FILE: src/Backend/Data/Message.cs ================================================ namespace eShopSupport.Backend.Data; public class Message { public int MessageId { get; set; } public DateTime CreatedAt { get; set; } public int TicketId { get; set; } public bool IsCustomerMessage { get; set; } public required string Text { get; set; } } ================================================ FILE: src/Backend/Data/Product.cs ================================================ using System.ComponentModel.DataAnnotations.Schema; using System.Runtime.InteropServices; using System.Text.Json; using System.Text.Json.Serialization; namespace eShopSupport.Backend.Data; public class Product { public int ProductId { get; set; } public int CategoryId { get; set; } public required string Brand { get; set; } public required string Model { get; set; } public required string Description { get; set; } public decimal Price { get; set; } [NotMapped, JsonConverter(typeof(EmbeddingJsonConverter))] public required ReadOnlyMemory NameEmbedding { get; set; } } class EmbeddingJsonConverter : JsonConverter> { public override ReadOnlyMemory Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { if (reader.TokenType == JsonTokenType.Null) { return null; } if (reader.TokenType != JsonTokenType.String) { throw new InvalidOperationException($"JSON deserialization failed because the value type was {reader.TokenType} but should be {JsonTokenType.String}"); } var bytes = reader.GetBytesFromBase64(); var floats = MemoryMarshal.Cast(bytes); return floats.ToArray(); // TODO: Can we avoid copying? The memory is already in the right format. } public override void Write(Utf8JsonWriter writer, ReadOnlyMemory value, JsonSerializerOptions options) { var bytes = MemoryMarshal.AsBytes(value.Span); writer.WriteBase64StringValue(bytes); } } ================================================ FILE: src/Backend/Data/ProductCategory.cs ================================================ using System.ComponentModel.DataAnnotations; namespace eShopSupport.Backend.Data; public class ProductCategory { [Key] public int CategoryId { get; set; } public required string Name { get; set; } public required string NameEmbeddingBase64 { get; set; } } ================================================ FILE: src/Backend/Data/Ticket.cs ================================================ using System.Text.Json.Serialization; using eShopSupport.ServiceDefaults.Clients.Backend; namespace eShopSupport.Backend.Data; public class Ticket { public int TicketId { get; set; } public int? ProductId { get; set; } public DateTime CreatedAt { get; set; } [JsonIgnore] public Product? Product { get; set; } public int CustomerId { get; set; } [JsonIgnore] public Customer Customer { get; set; } = default!; public string? ShortSummary { get; set; } public string? LongSummary { get; set; } public int? CustomerSatisfaction { get; set; } [JsonConverter(typeof(JsonStringEnumConverter))] public TicketStatus TicketStatus { get; set; } [JsonConverter(typeof(JsonStringEnumConverter))] public TicketType TicketType { get; set; } public List Messages { get; set; } = new(); } ================================================ FILE: src/Backend/HttpContextUserIdentityExtensions.cs ================================================ using System.Security.Claims; namespace CustomerWebUI; public static class HttpContextUserIdentityExtensions { public static int GetRequiredCustomerId(this HttpContext httpContext) { if (httpContext.User.IsInRole("staff")) { throw new InvalidOperationException("The current user is not a customer; they are in 'staff' role."); } if (httpContext.User.Identity is { IsAuthenticated: true } and ClaimsIdentity claimsIdentity && claimsIdentity.FindFirst("sub") is { Value: string subscriberIdString }) { return int.Parse(subscriberIdString); } throw new InvalidOperationException("User is not authenticated or missing 'sub' claim"); } } ================================================ FILE: src/Backend/Program.cs ================================================ using eShopSupport.Backend.Api; using eShopSupport.Backend.Data; using eShopSupport.Backend.Services; using eShopSupport.ServiceDefaults.Clients.PythonInference; using Microsoft.IdentityModel.JsonWebTokens; using Microsoft.SemanticKernel.Connectors.Qdrant; using Microsoft.SemanticKernel.Embeddings; using Microsoft.SemanticKernel.Memory; using SmartComponents.LocalEmbeddings.SemanticKernel; var builder = WebApplication.CreateBuilder(args); // Add service defaults & Aspire components. builder.AddServiceDefaults(); builder.AddNpgsqlDbContext("backenddb"); builder.AddQdrantHttpClient("vector-db"); builder.Services.AddScoped(s => new QdrantMemoryStore( s.GetQdrantHttpClient("vector-db"), 384)); builder.Services.AddScoped(s => s.GetRequiredService()); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddHttpClient(c => c.BaseAddress = new Uri("http://python-inference")); builder.AddAzureBlobClient("eshopsupport-blobs"); builder.AddChatCompletionService("chatcompletion"); builder.AddRedisClient("redis"); JsonWebTokenHandler.DefaultInboundClaimTypeMap.Remove("sub"); builder.Services.AddAuthentication().AddJwtBearer(options => { options.Authority = builder.Configuration["IdentityUrl"]; options.TokenValidationParameters.ValidateAudience = false; }); builder.Services.AddAuthorizationBuilder() .AddPolicy("CustomerApi", policy => policy.RequireAuthenticatedUser()) .AddFallbackPolicy("StaffApi", policy => policy.RequireRole("staff")); var app = builder.Build(); var initialImportDataDir = builder.Configuration["ImportInitialDataDir"]; await AppDbContext.EnsureDbCreatedAsync(app.Services, initialImportDataDir); await ProductSemanticSearch.EnsureSeedDataImportedAsync(app.Services, initialImportDataDir); await ProductManualSemanticSearch.EnsureSeedDataImportedAsync(app.Services, initialImportDataDir); app.MapAssistantApiEndpoints(); app.MapTicketApiEndpoints(); app.MapTicketMessagingApiEndpoints(); app.MapCatalogApiEndpoints(); app.Run(); ================================================ FILE: src/Backend/Properties/launchSettings.json ================================================ { "$schema": "http://json.schemastore.org/launchsettings.json", "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:52822", "sslPort": 44320 } }, "profiles": { "http": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "http://localhost:5165", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "https": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "https://localhost:7223;http://localhost:5165", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } } ================================================ FILE: src/Backend/Services/ProductManualSemanticSearch.cs ================================================ using System.IO.Compression; using System.Runtime.InteropServices; using System.Text.Json; using Azure.Storage.Blobs; using eShopSupport.Backend.Data; using Microsoft.SemanticKernel.Embeddings; using Microsoft.SemanticKernel.Memory; namespace eShopSupport.Backend.Services; public class ProductManualSemanticSearch(ITextEmbeddingGenerationService embedder, IServiceProvider services) { private const string ManualCollectionName = "manuals"; public async Task> SearchAsync(int? productId, string query) { var embedding = await embedder.GenerateEmbeddingAsync(query); var filter = !productId.HasValue ? null : new { must = new[] { new { key = "external_source_name", match = new { value = $"productid:{productId}" } } } }; var httpClient = services.GetQdrantHttpClient("vector-db"); var response = await httpClient.PostAsync($"collections/{ManualCollectionName}/points/search", JsonContent.Create(new { vector = embedding, with_payload = new[] { "id", "text", "external_source_name", "additional_metadata" }, limit = 3, filter, })); var responseParsed = await response.Content.ReadFromJsonAsync(); return responseParsed!.Result.Select(r => new MemoryQueryResult( new MemoryRecordMetadata(true, r.Payload.Id, r.Payload.Text, "", r.Payload.External_Source_Name, r.Payload.Additional_Metadata), r.Score, null)).ToList(); } public static async Task EnsureSeedDataImportedAsync(IServiceProvider services, string? initialImportDataDir) { if (!string.IsNullOrEmpty(initialImportDataDir)) { using var scope = services.CreateScope(); await ImportManualFilesSeedDataAsync(initialImportDataDir, scope); await ImportManualChunkSeedDataAsync(initialImportDataDir, scope); } } private static async Task ImportManualFilesSeedDataAsync(string importDataFromDir, IServiceScope scope) { var blobStorage = scope.ServiceProvider.GetRequiredService(); var blobClient = blobStorage.GetBlobContainerClient("manuals"); if (await blobClient.ExistsAsync()) { return; } await blobClient.CreateIfNotExistsAsync(); var manualsZipFilePath = Path.Combine(importDataFromDir, "manuals.zip"); using var zipFile = ZipFile.OpenRead(manualsZipFilePath); foreach (var file in zipFile.Entries) { using var fileStream = file.Open(); await blobClient.UploadBlobAsync(file.FullName, fileStream); } } private static async Task ImportManualChunkSeedDataAsync(string importDataFromDir, IServiceScope scope) { var semanticMemory = scope.ServiceProvider.GetRequiredService(); var collections = await semanticMemory.GetCollectionsAsync().ToListAsync(); if (!collections.Contains(ManualCollectionName)) { await semanticMemory.CreateCollectionAsync(ManualCollectionName); using var fileStream = File.OpenRead(Path.Combine(importDataFromDir, "manual-chunks.json")); var manualChunks = JsonSerializer.DeserializeAsyncEnumerable(fileStream); await foreach (var chunkChunk in ReadChunkedAsync(manualChunks, 1000)) { var mappedRecords = chunkChunk.Select(chunk => { var id = chunk!.ChunkId.ToString(); var metadata = new MemoryRecordMetadata(false, id, chunk.Text, "", $"productid:{chunk.ProductId}", $"pagenumber:{chunk.PageNumber}"); var embedding = MemoryMarshal.Cast(new ReadOnlySpan(chunk.Embedding)).ToArray(); return new MemoryRecord(metadata, embedding, null); }); await foreach (var _ in semanticMemory.UpsertBatchAsync(ManualCollectionName, mappedRecords)) { } } } } private static async Task HasAnyAsync(IAsyncEnumerable asyncEnumerable) { await foreach (var item in asyncEnumerable) { return true; } return false; } private static async IAsyncEnumerable> ReadChunkedAsync(IAsyncEnumerable source, int chunkLength) { var buffer = new T[chunkLength]; var index = 0; await foreach (var item in source) { buffer[index++] = item; if (index == chunkLength) { yield return new ArraySegment(buffer, 0, index); index = 0; } } if (index > 0) { yield return new ArraySegment(buffer, 0, index); } } class QdrantResult { public required QdrantResultEntry[] Result { get; set; } } class QdrantResultEntry { public float Score { get; set; } public required QdrantResultEntryPayload Payload { get; set; } } class QdrantResultEntryPayload { public required string Id { get; set; } public required string Text { get; set; } public required string External_Source_Name { get; set; } public required string Additional_Metadata { get; set; } } } ================================================ FILE: src/Backend/Services/ProductSemanticSearch.cs ================================================ using System.Text.Json; using eShopSupport.Backend.Data; using eShopSupport.ServiceDefaults.Clients.Backend; using Microsoft.SemanticKernel.Memory; namespace eShopSupport.Backend.Services; public class ProductSemanticSearch(ISemanticTextMemory semanticTextMemory) { private const string ProductCollectionName = "products"; public async Task> FindProductsAsync(string searchText) { var results = new List(); await foreach (var result in semanticTextMemory.SearchAsync(ProductCollectionName, searchText, minRelevanceScore: 0.6, limit: 5)) { // It's a bit weird to get the brand from "description" but MemoryQueryResult doesn't have more structured custom metadata results.Add(new FindProductsResult(int.Parse(result.Metadata.Id), result.Metadata.Description, result.Metadata.Text)); } return results; } public static async Task EnsureSeedDataImportedAsync(IServiceProvider services, string? initialImportDataDir) { if (!string.IsNullOrEmpty(initialImportDataDir)) { using var scope = services.CreateScope(); await ImportProductSeedDataAsync(initialImportDataDir, scope); } } private static async Task ImportProductSeedDataAsync(string importDataFromDir, IServiceScope scope) { var semanticMemory = scope.ServiceProvider.GetRequiredService(); var collections = await semanticMemory.GetCollectionsAsync().ToListAsync(); if (!collections.Contains(ProductCollectionName)) { var products = JsonSerializer.Deserialize( File.ReadAllText(Path.Combine(importDataFromDir, "products.json")))!; await semanticMemory.CreateCollectionAsync(ProductCollectionName); var mappedRecords = products.Select(product => { var id = product.ProductId.ToString(); var metadata = new MemoryRecordMetadata(false, id, product.Model, product.Brand, "", ""); return new MemoryRecord(metadata, product.NameEmbedding, null); }); await foreach (var _ in semanticMemory.UpsertBatchAsync(ProductCollectionName, mappedRecords)) { } } } } ================================================ FILE: src/Backend/Services/TicketSummarizer.cs ================================================ using System.Text; using System.Threading.RateLimiting; using eShopSupport.Backend.Data; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.AI; using StackExchange.Redis; namespace eShopSupport.Backend.Services; public class TicketSummarizer(IServiceScopeFactory scopeFactory) { // Because this LLM call can be triggered by external end-user actions, it's helpful to impose a rate limit // to prevent resource consumption abuse. If the rate limit is exceeded, we'll simply not compute updated summaries // for a while, but everything else will continue to work. In a real application, also consider: // - Adjusting the parameters based on your traffic and usage patterns // - Scoping the rate limit to be per-user private static TokenBucketRateLimiter RateLimiter = new(new() { // With these settings, we're limited to generating one summary every 2 seconds as a long-run average, but // can burst to up to 100 summaries in a short period if it's been several minutes since the last one. AutoReplenishment = true, TokenLimit = 100, ReplenishmentPeriod = TimeSpan.FromSeconds(10), TokensPerPeriod = 5, }); public void UpdateSummary(int ticketId, bool enforceRateLimit) { if (enforceRateLimit) { using var lease = RateLimiter.AttemptAcquire(); if (lease.IsAcquired) { _ = UpdateSummaryAsync(ticketId); } } else { _ = UpdateSummaryAsync(ticketId); } } private async Task UpdateSummaryAsync(int ticketId) { await using var scope = scopeFactory.CreateAsyncScope(); var logger = scope.ServiceProvider.GetRequiredService>(); var db = scope.ServiceProvider.GetRequiredService(); var redisConnection = scope.ServiceProvider.GetRequiredService(); var chatClient = scope.ServiceProvider.GetRequiredService(); var ticket = await db.Tickets .Include(t => t.Product) .Include(t => t.Messages) .FirstOrDefaultAsync(t => t.TicketId == ticketId); if (ticket is not null) { // The reason for prompting to express satisfaction in words rather than numerically, and forcing it to generate a summary // of the customer's words before doing so, are necessary prompt engineering techniques. If it's asked to generate sentiment // score without first summarizing the customer's words, then it scores the agent's response even when told not to. If it's // asked to score numerically, it produces wildly random scores - it's much better with words than numbers. string[] satisfactionScores = ["AbsolutelyFurious", "VeryUnhappy", "Unhappy", "Disappointed", "Indifferent", "Pleased", "Happy", "Delighted", "UnspeakablyThrilled"]; var product = ticket.Product; var prompt = $$""" You are part of a customer support ticketing system. Your job is to write brief summaries of customer support interactions. This is to help support agents understand the context quickly so they can help the customer efficiently. Here are details of a support ticket. Product: {{product?.Model ?? "Not specified"}} Brand: {{product?.Brand ?? "Not specified"}} The message log so far is: {{FormatMessagesForPrompt(ticket.Messages)}} Write these summaries: 1. A longer summary that is up to 30 words long, condensing as much distinctive information as possible. Do NOT repeat the customer or product name, since this is known anyway. Try to include what SPECIFIC questions/info were given, not just stating in general that questions/info were given. Always cite specifics of the questions or answers. For example, if there is pending question, summarize it in a few words. FOCUS ON THE CURRENT STATUS AND WHAT KIND OF RESPONSE (IF ANY) WOULD BE MOST USEFUL FROM THE NEXT SUPPORT AGENT. 2. A shorter summary that is up to 8 words long. This functions as a title for the ticket, so the goal is to distinguish what's unique about this ticket. 3. A 10-word summary of the latest thing the CUSTOMER has said, ignoring any agent messages. Then, based ONLY on tenWordsSummarizingOnlyWhatCustomerSaid, score the customer's satisfaction using one of the following phrases ranked from worst to best: {{string.Join(", ", satisfactionScores)}}. Pay particular attention to the TONE of the customer's messages, as we are most interested in their emotional state. Both summaries will only be seen by customer support agents. Respond as JSON in the following form: { "LongSummary": "string", "ShortSummary": "string", "TenWordsSummarizingOnlyWhatCustomerSaid": "string", "CustomerSatisfaction": "string" } """; var response = await chatClient.GetResponseAsync(prompt); if (!response.TryGetResult(out var parsed)) { return; } var shortSummary = parsed.ShortSummary; var longSummary = parsed.LongSummary; int? satisfactionScore = Array.IndexOf(satisfactionScores, parsed.CustomerSatisfaction ?? string.Empty); if (satisfactionScore < 0) { satisfactionScore = null; } await db.Tickets.Where(t => t.TicketId == ticketId).ExecuteUpdateAsync(t => t .SetProperty(t => t.ShortSummary, shortSummary) .SetProperty(t => t.LongSummary, longSummary) .SetProperty(t => t.CustomerSatisfaction, satisfactionScore)); await redisConnection.GetSubscriber().PublishAsync( RedisChannel.Literal($"ticket:{ticketId}"), "Updated"); } } private static string FormatMessagesForPrompt(IReadOnlyList messages) { var sb = new StringBuilder(); foreach (var message in messages) { sb.AppendLine($"{message.Text}"); } return sb.ToString(); } private class Response { public string? LongSummary { get; set; } public string? ShortSummary { get; set; } public string? TenWordsSummarizingOnlyWhatCustomerSaid { get; set; } public string? CustomerSatisfaction { get; set; } } } ================================================ FILE: src/Backend/appsettings.Development.json ================================================ { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } } } ================================================ FILE: src/Backend/appsettings.json ================================================ { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*" } ================================================ FILE: src/CustomerWebUI/Components/App.razor ================================================  ================================================ FILE: src/CustomerWebUI/Components/Layout/FooterBar.razor ================================================ 
================================================ FILE: src/CustomerWebUI/Components/Layout/FooterBar.razor.css ================================================ .eshop-footer { margin-top: 3.5rem; background-color: #000; width: 100%; } .eshop-footer-content { max-width: 120rem; margin: auto; } .eshop-footer-row { padding: 3.5rem 10rem; color: white; display: flex; justify-content: flex-end; align-items: center; } .eshop-footer .logo-footer { color: white; margin-right: auto; width: 100px; height: auto; } @media only screen and (max-width: 480px) { .eshop-footer-row { padding: 3.5rem 1rem; } } @media only screen and (min-width: 481px) and (max-width: 1024px) { .eshop-footer-row { padding: 3.5rem 3rem; } } ================================================ FILE: src/CustomerWebUI/Components/Layout/HeaderBar.razor ================================================ @using Microsoft.AspNetCore.Components.Endpoints ================================================ FILE: src/CustomerWebUI/Components/Layout/HeaderBar.razor.css ================================================ .eshop-header { position: relative; max-width: 120rem; margin: auto; width: 100%; } .eshop-header.home .eshop-header-container { height: 38rem; margin-bottom: 0; } .eshop-header .eshop-header-container { height: 15rem; margin-bottom: 1rem; } .eshop-header-hero { overflow: hidden; position: absolute; max-width: 100%; left: 0; top: 0; } .eshop-header-container { position: relative; margin: auto; margin: 0 10rem; } .eshop-header-intro { position: absolute; max-width: 48rem; bottom: 3rem; white-space: nowrap; } .eshop-header-intro h1 { color: #000; font-size: 3.5rem; font-style: normal; font-weight: 700; line-height: 100%; margin: 0; } .eshop-header-intro p { color: #000; font-size: 2rem; font-style: normal; font-weight: 700; line-height: 125%; margin: 0; } .eshop-header .logo-header { color: black; margin-right: auto; width: 20vw; height: auto; max-width: 250px; min-width: 100px; } .eshop-header-navbar { display: flex; flex-direction: row; justify-content: flex-end; align-items: center; margin-top: 1.25rem; gap: 1.5rem; } @media only screen and (max-width: 480px) { .eshop-header-hero { height: 18rem; } .eshop-header-hero img { width: 100%; height: 100%; object-fit: cover; object-position: center; } .eshop-header .eshop-header-container { height: 15rem; margin-bottom: 4rem; } .eshop-header-container { margin: 0 1rem; } .eshop-header.home .eshop-header-container { height: 18rem; margin: 0 1rem; } .eshop-header-intro { white-space: wrap; bottom: 0; } .eshop-header-intro h1 { font-size: 2rem; } .eshop-header-intro p { font-size: 1.5rem; } } @media only screen and (min-width: 481px) and (max-width: 1024px) { .eshop-header.home .eshop-header-hero { height: 24rem; } .eshop-header .eshop-header-hero { height: 15rem; } .eshop-header-hero img { width: 100%; height: 100%; object-fit: cover; object-position: center; } .eshop-header-container { margin: 0 1rem; margin: 0 3rem; } .eshop-header.home .eshop-header-container { height: 24rem; margin: 0 3rem; } .eshop-header-intro { white-space: wrap; } .eshop-header-intro h1 { font-size: 2rem; } .eshop-header-intro p { font-size: 1.5rem; } } ================================================ FILE: src/CustomerWebUI/Components/Layout/MainLayout.razor ================================================ @inherits LayoutComponentBase
@Body
An unhandled error has occurred. Reload 🗙
================================================ FILE: src/CustomerWebUI/Components/Layout/MainLayout.razor.css ================================================ #blazor-error-ui { background: lightyellow; bottom: 0; box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); display: none; left: 0; padding: 0.6rem 1.25rem 0.7rem 1.25rem; position: fixed; width: 100%; z-index: 1000; } #blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; } .container { display: flex; flex-direction: column; justify-items: stretch; } ================================================ FILE: src/CustomerWebUI/Components/Layout/UserMenu.razor ================================================ @using Microsoft.AspNetCore.Components.Authorization @inject NavigationManager Nav

@context.User.Identity?.Name

@code { [CascadingParameter] public HttpContext? HttpContext { get; set; } } ================================================ FILE: src/CustomerWebUI/Components/Layout/UserMenu.razor.css ================================================ .dropdown-menu { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #FFF; min-width: 8rem; box-shadow: 0 0.25rem 0.5rem 0 rgba(0, 0, 0, 0.2); z-index: 1; } .dropdown-item { padding: 0.75rem 1rem; text-decoration: none; display: block; color: #000; } .dropdown-item:hover { background-color: #ddd; } .dropdown-menu:hover .dropdown-content { display: block; } .dropdown-item button { border: 0; background: transparent; cursor: pointer; width: 100%; padding: 0; text-align: left; } ================================================ FILE: src/CustomerWebUI/Components/Pages/Error.razor ================================================ @page "/Error" @using System.Diagnostics Error

Error.

An error occurred while processing your request.

@if (ShowRequestId) {

Request ID: @RequestId

}

Development Mode

Swapping to Development environment will display more detailed information about the error that occurred.

The Development environment shouldn't be enabled for deployed applications. It can result in displaying sensitive information from exceptions to end users. For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development and restarting the app.

@code{ [CascadingParameter] private HttpContext? HttpContext { get; set; } private string? RequestId { get; set; } private bool ShowRequestId => !string.IsNullOrEmpty(RequestId); protected override void OnInitialized() => RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; } ================================================ FILE: src/CustomerWebUI/Components/Pages/Home.razor ================================================ @page "/" @inject NavigationManager Nav @code { protected override void OnInitialized() { Nav.NavigateTo("support"); } } ================================================ FILE: src/CustomerWebUI/Components/Pages/Support/Ticket.razor ================================================ @page "/support/tickets/{TicketId:int}" @inject CustomerBackendClient Backend @inject NavigationManager Nav @implements IValidatableObject @using System.ComponentModel.DataAnnotations @using eShopSupport.ServiceDefaults.Clients.Backend Support | AdventureWorks Your support request
@if (TicketDetails is { } ticket) {

Created: @ticket.CreatedAt.ToShortDateString()

@if (ticket.ProductModel is { } productModel) {

Product: @productModel

}
@foreach (var message in ticket.Messages) {
@message.MessageText
}
@if (ticket.TicketStatus == TicketStatus.Closed) {

This support request is now closed. If you need any further help, please create a new support request.

} else {

Send a further message

If you're happy with the answer, or if you no longer need support, please close this request using the button below.

}
}
@code { const string CloseAction = "close"; const string SendAction = "send"; [Parameter] public int TicketId { get; set; } [CascadingParameter] public HttpContext HttpContext { get; set; } = default!; [SupplyParameterFromForm] public string? Submitter { get; set; } [SupplyParameterFromForm] public string? NewMessage { get; set; } TicketDetailsResult? TicketDetails { get; set; } protected override async Task OnInitializedAsync() { TicketDetails = await Backend.GetTicketDetailsAsync(TicketId); } public IEnumerable Validate(ValidationContext validationContext) { if (Submitter == SendAction && string.IsNullOrWhiteSpace(NewMessage)) { yield return new ValidationResult("Please type a message", new[] { nameof(NewMessage) }); } } async Task SubmitAsync() { if (TicketDetails!.TicketStatus != TicketStatus.Open) { Nav.NavigateTo("/support"); } var ticketId = TicketDetails.TicketId; if (!string.IsNullOrWhiteSpace(NewMessage)) { await Backend.SendTicketMessageAsync(ticketId, new(NewMessage)); } if (Submitter == CloseAction) { await Backend.CloseTicketAsync(ticketId); } // Reload the ticket data to update the UI Nav.Refresh(); } } ================================================ FILE: src/CustomerWebUI/Components/Pages/Support/Ticket.razor.css ================================================ .messages { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; padding-bottom: 2rem; flex-grow: 1; } .message { min-width: 35%; max-width: 75%; } .message-text { background: #6e4999; color: white; border-radius: 0.5rem; padding: 1rem 1.5rem; white-space: pre-line; word-break: break-word; line-height: 1.5rem; } .message.support { align-self: flex-end; } .message.support .message-text { background-color: #dcd9d9; color: black; } .message-metadata { margin: 0 0.5rem 0.4rem 0.5rem; font-size: 90%; } .message.support .message-metadata { text-align: right; } .message-metadata .timestamp, .message-metadata .sender { font-weight: 500; } .message-metadata .filler { opacity: 0.7; } ::deep textarea { width: 100%; height: 5rem; padding: 1rem; border-radius: 0.5rem; background-color: #f6f6f6; } button:focus { outline: 2px solid orange; outline-offset: 1px; } button { text-decoration: none; background: black; color: white; display: inline-block; border-radius: 0.4rem; font-weight: 500; padding: 0.6rem 1.5rem; border: 1px solid black; cursor: pointer; margin-right: 1rem; } button:hover { background: #666; } button:active { background: #333; } button[value=close] { background-color: white; border-color: black; color: black; } ================================================ FILE: src/CustomerWebUI/Components/Pages/Support/TicketCreate.razor ================================================ @page "/support/new" @implements IValidatableObject @inject CustomerBackendClient Backend @inject NavigationManager Nav @using System.ComponentModel.DataAnnotations @using Microsoft.AspNetCore.Components.Authorization @using SmartComponents @using System.Security.Claims @using eShopSupport.ServiceDefaults.Clients.Backend Support | AdventureWorks New support request

Is this about a specific product?

Which product is it?

How can we help?

@code { [SupplyParameterFromForm, Required(ErrorMessage = "Please answer this question")] public bool? IsSpecificProduct { get; set; } [SupplyParameterFromForm] public string? ProductName { get; set; } [SupplyParameterFromForm, Required(ErrorMessage = "Please enter your support request here")] public string? Message { get; set; } [CascadingParameter] public HttpContext HttpContext { get; set; } = default!; public IEnumerable Validate(ValidationContext validationContext) { if (IsSpecificProduct == true && string.IsNullOrWhiteSpace(ProductName)) { yield return new ValidationResult("Please specify the product", new[] { nameof(ProductName) }); } } async Task HandleSubmitAsync() { await Backend.CreateTicketAsync(new(ProductName, Message!)); Nav.NavigateTo("support"); } } ================================================ FILE: src/CustomerWebUI/Components/Pages/Support/TicketCreate.razor.css ================================================ .answer { background-color: #eee; border-radius: 0.5rem; padding: 1rem 1.5rem; margin: 0.5rem 0; min-width: 20rem; display: inline-block; } .is-specific-product { padding: 0.75rem 0.75rem; } label:has(input[type=radio]) { padding: 0.5rem 0.75rem; display: block; cursor: pointer; border-radius: 0.2rem; } label:has(input[type=radio]):hover { background-color: rgba(0,0,0,0.1); } .answer p { padding: 0; margin: 0; } .choose-product, .submit, .message { display: none; } form:has(.is-specific-product input[value=True]:checked) .choose-product { display: block; } form:has(.is-specific-product input:checked) .message, form:has(.is-specific-product input:checked) .submit { display: block; } ::deep input[type=text], ::deep textarea, ::deep input[role=combobox] { min-width: 50vw; padding: 0.5rem 1rem; border-radius: 0.4rem; border-width: 1px; } ::deep textarea { height: 8rem; padding: 1rem; 1rem 1rem 1rem; } button { text-decoration: none; background: black; color: white; padding: 0.6rem 1.5rem; margin-top: 0.75rem; display: inline-block; border-radius: 0.4rem; font-weight: 500; border-width: 0; } button:hover { background: #666; } button:active { background: #333; } ::deep .validation-message { margin-top: 0.5rem; } ================================================ FILE: src/CustomerWebUI/Components/Pages/Support/TicketList.razor ================================================ @page "/support" @attribute [StreamRendering] @inject CustomerBackendClient Backend @using Microsoft.AspNetCore.Authorization @using eShopSupport.Backend.Data @using eShopSupport.ServiceDefaults.Clients.Backend Support | AdventureWorks Support

We're here to support your adventure

If you have questions about our products, or are having trouble with anything you bought from us, just send us a message.

@if (tickets is null) {

Loading...

} else if (!tickets.Any()) { Get started } else {

Your support requests

@foreach (var ticket in tickets) { }
ID Created Product Status
@ticket.TicketId @ticket.CreatedAt.ToShortDateString() @ticket.ProductName @ticket.TicketStatus View
Start a new support request }
@code { [CascadingParameter] public HttpContext HttpContext { get; set; } = default!; IEnumerable? tickets; protected override async Task OnInitializedAsync() { tickets = (await Backend.ListTicketsAsync()).Items; } } ================================================ FILE: src/CustomerWebUI/Components/Pages/Support/TicketList.razor.css ================================================ h2 { margin-top: 3rem; } .start-button, .action-button { text-decoration: none; background: black; color: white; display: inline-block; border-radius: 0.4rem; font-weight: 500; } .action-button { padding: 0.3rem 1rem; } .start-button { padding: 0.6rem 1.5rem; margin-top: 0.75rem; } .start-button:hover, .action-button:hover { background: #666; } .start-button:active, .action-button:active { background: #333; } table { min-width: 50vw; border-collapse: collapse; } th { text-align: left; } th, td { padding: 0.4rem; } tr:hover { background: #f6f6f6; } ================================================ FILE: src/CustomerWebUI/Components/Routes.razor ================================================  ================================================ FILE: src/CustomerWebUI/Components/_Imports.razor ================================================ @using System.Net.Http @using System.Net.Http.Json @using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Components.Forms @using Microsoft.AspNetCore.Components.Routing @using Microsoft.AspNetCore.Components.Sections @using Microsoft.AspNetCore.Components.Web @using static Microsoft.AspNetCore.Components.Web.RenderMode @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using CustomerWebUI @using CustomerWebUI.Components @attribute [Authorize] ================================================ FILE: src/CustomerWebUI/CustomerWebUI.csproj ================================================ net8.0 enable enable ================================================ FILE: src/CustomerWebUI/Program.cs ================================================ using CustomerWebUI.Components; using eShopSupport.ServiceDefaults; using eShopSupport.ServiceDefaults.Clients.Backend; using Microsoft.AspNetCore.Antiforgery; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authentication.OpenIdConnect; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.Server; using Microsoft.IdentityModel.JsonWebTokens; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.AddServiceDefaults(); builder.Services.AddRazorComponents(); builder.Services.AddSmartComponents(); builder.Services.AddHttpClient(client => client.BaseAddress = new Uri("http://backend/")) .AddAuthToken(); builder.Services.AddCascadingAuthenticationState(); builder.Services.AddScoped(); JsonWebTokenHandler.DefaultInboundClaimTypeMap.Remove("sub"); builder.Services.AddAuthorization(); builder.Services.AddAuthentication(options => { options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme; }) .AddCookie() .AddOpenIdConnect(options => { options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.Authority = builder.Configuration["IdentityUrl"]; options.ClientId = "customer-webui"; options.ClientSecret = "customer-webui-secret"; options.ResponseType = "code"; options.SaveTokens = true; options.GetClaimsFromUserInfoEndpoint = true; options.TokenValidationParameters.NameClaimType = "name"; options.Scope.Clear(); options.Scope.Add("openid"); options.Scope.Add("profile"); }); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error", createScopeForErrors: true); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseAntiforgery(); app.MapRazorComponents(); app.MapSmartComboBox("api/product-search", async request => { var backend = request.HttpContext.RequestServices.GetRequiredService(); var results = await backend.FindProductsAsync(request.Query.SearchText); return results.Select(r => $"{r.Model} ({r.Brand})"); }); app.MapPost("/user/signout", async (HttpContext httpContext, IAntiforgery antiforgery) => { await antiforgery.ValidateRequestAsync(httpContext); await httpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); await httpContext.SignOutAsync(OpenIdConnectDefaults.AuthenticationScheme); }).AllowAnonymous(); app.Run(); ================================================ FILE: src/CustomerWebUI/Properties/launchSettings.json ================================================ { "$schema": "http://json.schemastore.org/launchsettings.json", "profiles": { "https": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "https://localhost:7220", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } } ================================================ FILE: src/CustomerWebUI/appsettings.Development.json ================================================ { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } } } ================================================ FILE: src/CustomerWebUI/appsettings.json ================================================ { "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*" } ================================================ FILE: src/CustomerWebUI/wwwroot/css/app.css ================================================ /* plus-jakarta-sans-200 - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 200; src: url('../fonts/plus-jakarta-sans-v8-latin-200.woff2') format('woff2'); } /* plus-jakarta-sans-200italic - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: italic; font-weight: 200; src: url('../fonts/plus-jakarta-sans-v8-latin-200italic.woff2') format('woff2'); } /* plus-jakarta-sans-300 - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 300; src: url('../fonts/plus-jakarta-sans-v8-latin-300.woff2') format('woff2'); } /* plus-jakarta-sans-300italic - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: italic; font-weight: 300; src: url('../fonts/plus-jakarta-sans-v8-latin-300italic.woff2') format('woff2'); } /* plus-jakarta-sans-regular - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400; src: url('../fonts/plus-jakarta-sans-v8-latin-regular.woff2') format('woff2'); } /* plus-jakarta-sans-italic - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: italic; font-weight: 400; src: url('../fonts/plus-jakarta-sans-v8-latin-italic.woff2') format('woff2'); } /* plus-jakarta-sans-500 - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 500; src: url('../fonts/plus-jakarta-sans-v8-latin-500.woff2') format('woff2'); } /* plus-jakarta-sans-500italic - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: italic; font-weight: 500; src: url('../fonts/plus-jakarta-sans-v8-latin-500italic.woff2') format('woff2'); } /* plus-jakarta-sans-600 - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; src: url('../fonts/plus-jakarta-sans-v8-latin-600.woff2') format('woff2'); } /* plus-jakarta-sans-600italic - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: italic; font-weight: 600; src: url('../fonts/plus-jakarta-sans-v8-latin-600italic.woff2') format('woff2'); } /* plus-jakarta-sans-700 - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; src: url('../fonts/plus-jakarta-sans-v8-latin-700.woff2') format('woff2'); } /* plus-jakarta-sans-700italic - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: italic; font-weight: 700; src: url('../fonts/plus-jakarta-sans-v8-latin-700italic.woff2') format('woff2'); } /* plus-jakarta-sans-800 - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 800; src: url('../fonts/plus-jakarta-sans-v8-latin-800.woff2') format('woff2'); } /* plus-jakarta-sans-800italic - latin */ @font-face { font-display: swap; font-family: 'Plus Jakarta Sans'; font-style: italic; font-weight: 800; src: url('../fonts/plus-jakarta-sans-v8-latin-800italic.woff2') format('woff2'); } /* open-sans-300 - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 300; src: url('../fonts/open-sans-v36-latin-300.woff2') format('woff2'); } /* open-sans-300italic - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 300; src: url('../fonts/open-sans-v36-latin-300italic.woff2') format('woff2'); } /* open-sans-regular - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 400; src: url('../fonts/open-sans-v36-latin-regular.woff2') format('woff2'); } /* open-sans-italic - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 400; src: url('../fonts/open-sans-v36-latin-italic.woff2') format('woff2'); } /* open-sans-500 - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 500; src: url('../fonts/open-sans-v36-latin-500.woff2') format('woff2'); } /* open-sans-500italic - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 500; src: url('../fonts/open-sans-v36-latin-500italic.woff2') format('woff2'); } /* open-sans-600 - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 600; src: url('../fonts/open-sans-v36-latin-600.woff2') format('woff2'); } /* open-sans-600italic - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 600; src: url('../fonts/open-sans-v36-latin-600italic.woff2') format('woff2'); } /* open-sans-700 - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 700; src: url('../fonts/open-sans-v36-latin-700.woff2') format('woff2'); } /* open-sans-700italic - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 700; src: url('../fonts/open-sans-v36-latin-700italic.woff2') format('woff2'); } /* open-sans-800 - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: normal; font-weight: 800; src: url('../fonts/open-sans-v36-latin-800.woff2') format('woff2'); } /* open-sans-800italic - latin */ @font-face { font-display: swap; font-family: 'Open Sans'; font-style: italic; font-weight: 800; src: url('../fonts/open-sans-v36-latin-800italic.woff2') format('woff2'); } html, body { margin: 0; padding: 0; min-height: 100vh; } body { font-family: 'Plus Jakarta Sans'; } .container { position: relative; max-width: 120rem; margin: auto; min-height: 100vh; } .button { display: flex; padding: 1rem 0.75rem; justify-content: center; align-items: center; gap: 0.25rem; align-self: stretch; border: none; text-decoration: none; } .button.button-primary { background: #000; color: #FFF; } .button.button.button-secondary { border: 1px solid #444; background: #FFF; color: #000; } h1:focus { outline: none; } .valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; } .invalid { outline: 1px solid red; } .validation-message { color: red; } .blazor-error-boundary { background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121; padding: 1rem 1rem 1rem 3.7rem; color: white; } .blazor-error-boundary::after { content: "An error has occurred." } .page-gutters { padding: 0 10rem; flex-grow: 1; } ================================================ FILE: src/CustomerWebUI/wwwroot/css/normalize.css ================================================ /** * 1. Correct the line height in all browsers. * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } /* Sections ========================================================================== */ /** * Remove the margin in all browsers. */ body { margin: 0; } /** * Render the `main` element consistently in IE. */ main { display: block; } /** * Correct the font size and margin on `h1` elements within `section` and * `article` contexts in Chrome, Firefox, and Safari. */ h1 { font-size: 2em; margin: 0.67em 0; } /* Grouping content ========================================================================== */ /** * 1. Add the correct box sizing in Firefox. * 2. Show the overflow in Edge and IE. */ hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Text-level semantics ========================================================================== */ /** * Remove the gray background on active links in IE 10. */ a { background-color: transparent; } /** * 1. Remove the bottom border in Chrome 57- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ } /** * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { font-weight: bolder; } /** * 1. Correct the inheritance and scaling of font size in all browsers. * 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ } /** * Add the correct font size in all browsers. */ small { font-size: 80%; } /** * Prevent `sub` and `sup` elements from affecting the line height in * all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* Embedded content ========================================================================== */ /** * Remove the border on images inside links in IE 10. */ img { border-style: none; } /* Forms ========================================================================== */ /** * 1. Change the font styles in all browsers. * 2. Remove the margin in Firefox and Safari. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ } /** * Show the overflow in IE. * 1. Show the overflow in Edge. */ button, input { /* 1 */ overflow: visible; } /** * Remove the inheritance of text transform in Edge, Firefox, and IE. * 1. Remove the inheritance of text transform in Firefox. */ button, select { /* 1 */ text-transform: none; } /** * Correct the inability to style clickable types in iOS and Safari. */ button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } /** * Remove the inner border and padding in Firefox. */ button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * Restore the focus styles unset by the previous rule. */ button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; } /** * Correct the padding in Firefox. */ fieldset { padding: 0.35em 0.75em 0.625em; } /** * 1. Correct the text wrapping in Edge and IE. * 2. Correct the color inheritance from `fieldset` elements in IE. * 3. Remove the padding so developers are not caught out when they zero out * `fieldset` elements in all browsers. */ legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } /** * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ progress { vertical-align: baseline; } /** * Remove the default vertical scrollbar in IE 10+. */ textarea { overflow: auto; } /** * 1. Add the correct box sizing in IE 10. * 2. Remove the padding in IE 10. */ [type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** * Correct the cursor style of increment and decrement buttons in Chrome. */ [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } /** * 1. Correct the odd appearance in Chrome and Safari. * 2. Correct the outline style in Safari. */ [type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** * Remove the inner padding in Chrome and Safari on macOS. */ [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** * 1. Correct the inability to style clickable types in iOS and Safari. * 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Interactive ========================================================================== */ /* * Add the correct display in Edge, IE 10+, and Firefox. */ details { display: block; } /* * Add the correct display in all browsers. */ summary { display: list-item; } /* Misc ========================================================================== */ /** * Add the correct display in IE 10+. */ template { display: none; } /** * Add the correct display in IE 10. */ [hidden] { display: none; } ================================================ FILE: src/DataIngestor/DataIngestor.csproj ================================================  Exe net8.0 enable enable eShopSupport.DataIngestor $(SolutionDir)\seeddata\DataGenerator\output $(NoWarn);SKEXP0001;SKEXP0020;SKEXP0050 true ================================================ FILE: src/DataIngestor/EvalQuestionIngestor.cs ================================================ using System.Text.Json; using eShopSupport.Evaluator; public class EvalQuestionIngestor { public async Task RunAsync(string generatedDataPath, string outputDir) { Console.WriteLine("Ingesting evaluation questions..."); var questions = new List(); var questionsSourceDir = Path.Combine(generatedDataPath, "evalquestions"); var inputOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web); foreach (var filename in Directory.GetFiles(questionsSourceDir, "*.json")) { var generated = await JsonSerializer.DeserializeAsync(File.OpenRead(filename), inputOptions); questions.Add(generated!); } var outputOptions = new JsonSerializerOptions { WriteIndented = true }; await File.WriteAllTextAsync(Path.Combine(outputDir, "evalquestions.json"), JsonSerializer.Serialize(questions.OrderBy(q => q.QuestionId), outputOptions)); Console.WriteLine($"Wrote {questions.Count} evaluation questions"); } } ================================================ FILE: src/DataIngestor/ManualIngestor.cs ================================================ using System.Runtime.InteropServices; using System.Text.Json; using eShopSupport.Backend.Data; using Microsoft.SemanticKernel.Text; using SmartComponents.LocalEmbeddings.SemanticKernel; using UglyToad.PdfPig; using UglyToad.PdfPig.Content; using UglyToad.PdfPig.DocumentLayoutAnalysis.PageSegmenter; using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor; public class ManualIngestor { public async Task RunAsync(string sourceDir, string outputDir) { Console.WriteLine("Ingesting manuals..."); // Prepare var manualsSourceDir = Path.Combine(sourceDir, "manuals", "pdf"); using var embeddingGenerator = new LocalTextEmbeddingGenerationService(); var chunks = new List(); var paragraphIndex = 0; // Loop over each PDF file foreach (var file in Directory.GetFiles(manualsSourceDir, "*.pdf")) { Console.WriteLine($"Generating chunks for {file}..."); var docId = int.Parse(Path.GetFileNameWithoutExtension(file)); // Loop over each page in it using var pdf = PdfDocument.Open(file); foreach (var page in pdf.GetPages()) { // [1] Parse (PDF page -> string) var pageText = GetPageText(page); // [2] Chunk (split into shorter strings on natural boundaries) var paragraphs = TextChunker.SplitPlainTextParagraphs([pageText], 200); // [3] Embed (map into semantic space) var paragraphsWithEmbeddings = paragraphs.Zip(await embeddingGenerator.GenerateEmbeddingsAsync(paragraphs)); // [4] Save chunks.AddRange(paragraphsWithEmbeddings.Select(p => new ManualChunk { ProductId = docId, PageNumber = page.Number, ChunkId = ++paragraphIndex, Text = p.First, Embedding = MemoryMarshal.AsBytes(p.Second.Span).ToArray() })); } } var outputOptions = new JsonSerializerOptions { WriteIndented = true }; await File.WriteAllTextAsync(Path.Combine(outputDir, "manual-chunks.json"), JsonSerializer.Serialize(chunks, outputOptions)); Console.WriteLine($"Wrote {chunks.Count} manual chunks"); } private static string GetPageText(Page pdfPage) { var letters = pdfPage.Letters; var words = NearestNeighbourWordExtractor.Instance.GetWords(letters); var textBlocks = DocstrumBoundingBoxes.Instance.GetBlocks(words); return string.Join(Environment.NewLine + Environment.NewLine, textBlocks.Select(t => t.Text.ReplaceLineEndings(" "))); } } ================================================ FILE: src/DataIngestor/ManualZipIngestor.cs ================================================ using System.IO.Compression; public class ManualZipIngestor { public Task RunAsync(string generatedDataPath, string outputDir) { Console.WriteLine("Compressing manuals..."); var manualsSourceDir = Path.Combine(generatedDataPath, "manuals", "pdf"); var manualsZipPath = Path.Combine(outputDir, "manuals.zip"); File.Delete(manualsZipPath); ZipFile.CreateFromDirectory(manualsSourceDir, manualsZipPath); return Task.CompletedTask; } } ================================================ FILE: src/DataIngestor/PathUtils.cs ================================================ public static class PathUtils { public static string FindAncestorDirectoryContaining(string pattern) { var currentDir = Directory.GetCurrentDirectory(); while (currentDir != null) { if (Directory.GetFiles(currentDir, pattern).Any()) { return currentDir!; } currentDir = Directory.GetParent(currentDir)?.FullName; } throw new FileNotFoundException($"Could not find a directory containing {pattern}"); } } ================================================ FILE: src/DataIngestor/ProductCategoryIngestor.cs ================================================ using System.Runtime.InteropServices; using System.Text.Json; using eShopSupport.Backend.Data; using Microsoft.SemanticKernel.Embeddings; using SmartComponents.LocalEmbeddings.SemanticKernel; class ProductCategoryIngestor { public async Task RunAsync(string generatedDataPath, string outputDir) { Console.WriteLine("Ingesting product categories..."); var categories = new List(); var categoriesSourceDir = Path.Combine(generatedDataPath, "categories"); var inputOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web); using var embeddingGenerator = new LocalTextEmbeddingGenerationService(); foreach (var filename in Directory.GetFiles(categoriesSourceDir, "*.json")) { var generated = (await JsonSerializer.DeserializeAsync(File.OpenRead(filename), inputOptions))!; categories.Add(new ProductCategory { CategoryId = generated.CategoryId, Name = generated.Name, NameEmbeddingBase64 = ToBase64(await embeddingGenerator.GenerateEmbeddingAsync(generated.Name)), }); } var outputOptions = new JsonSerializerOptions { WriteIndented = true }; await File.WriteAllTextAsync(Path.Combine(outputDir, "categories.json"), JsonSerializer.Serialize(categories, outputOptions)); Console.WriteLine($"Wrote {categories.Count} categories"); } private static string ToBase64(ReadOnlyMemory embedding) => Convert.ToBase64String(MemoryMarshal.AsBytes(embedding.Span)); internal record GeneratedCategory(int CategoryId, string Name); } ================================================ FILE: src/DataIngestor/ProductIngestor.cs ================================================ using System.Text.Json; using eShopSupport.Backend.Data; using Microsoft.SemanticKernel.Embeddings; using SmartComponents.LocalEmbeddings.SemanticKernel; class ProductIngestor { public async Task RunAsync(string generatedDataPath, string outputDir) { Console.WriteLine("Ingesting products..."); var products = new List(); var productsSourceDir = Path.Combine(generatedDataPath, "products"); var inputOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web); using var embeddingGenerator = new LocalTextEmbeddingGenerationService(); foreach (var filename in Directory.GetFiles(productsSourceDir, "*.json")) { var generated = (await JsonSerializer.DeserializeAsync(File.OpenRead(filename), inputOptions))!; products.Add(new Product { ProductId = generated.ProductId, CategoryId = generated.CategoryId, Brand = generated.Brand, Model = generated.Model, Description = generated.Description, Price = generated.Price, NameEmbedding = await embeddingGenerator.GenerateEmbeddingAsync($"{generated.Model}, {generated.Brand}"), }); } var outputOptions = new JsonSerializerOptions { WriteIndented = true }; await File.WriteAllTextAsync(Path.Combine(outputDir, "products.json"), JsonSerializer.Serialize(products, outputOptions)); Console.WriteLine($"Wrote {products.Count} products"); } internal record GeneratedProduct(int ProductId, int CategoryId, string Brand, string Model, string Description, decimal Price); } ================================================ FILE: src/DataIngestor/Program.cs ================================================ // This data ingestion pipeline works with the output from the DataGenerator project. // // The reason for separating data generation from ingestion is: // // - For realism. In real-world scenarios, you will be taking data from external sources, // such as existing business data or documents provided by product manufacturers, and need // to ingest that data into your system. You must only ingest the data you will really have // (e.g., final PDFs) and not artificially-available data such as the intermediate JSON // files generated by the DataGenerator. // // - For evaluation of different strategies. There are many possible ways to represent the // ingested data (for example, how to chunk and embed text), and we want to be able to // try out different ingestion strategies and then numerally evaluate the quality of the // end-to-end system. // // In this case the data ingestor does *not* write directly to DBs, but instead emits .json // files that the Backend project can quickly import. This is because data ingestion can be // a lengthy process, requiring dependencies, and we want each person trying out this sample // to be able to run the app without going through the ingestion process first. // In real-world cases that's likely useful too, since you can't normally write directly to // production DBs. var generatedDataPath = args.Length > 0 ? args[0] : null; if (string.IsNullOrEmpty(generatedDataPath)) { Console.WriteLine("Usage: DataIngestor [path_to_generated_data]"); return; } if (!Directory.Exists(generatedDataPath)) { Console.WriteLine($"Directory not found: {generatedDataPath}. You may need to run the data generator first."); return; } var solutionDir = PathUtils.FindAncestorDirectoryContaining("*.sln"); var outputDir = Path.Combine(solutionDir, "seeddata", "dev"); Directory.CreateDirectory(outputDir); await new TicketIngestor().RunAsync(generatedDataPath, outputDir); await new ProductCategoryIngestor().RunAsync(generatedDataPath, outputDir); await new ProductIngestor().RunAsync(generatedDataPath, outputDir); await new EvalQuestionIngestor().RunAsync(generatedDataPath, outputDir); await new ManualIngestor().RunAsync(generatedDataPath, outputDir); await new ManualZipIngestor().RunAsync(generatedDataPath, outputDir); ================================================ FILE: src/DataIngestor/TicketIngestor.cs ================================================ using System.Collections.Concurrent; using System.Text.Json; using eShopSupport.Backend.Data; using eShopSupport.ServiceDefaults.Clients.Backend; class TicketIngestor { public async Task RunAsync(string generatedDataPath, string outputDir) { Console.WriteLine("Ingesting tickets and customers..."); var tickets = new List(); var customersByName = new ConcurrentDictionary(); var ticketsSourceDir = Path.Combine(generatedDataPath, "tickets", "threads"); var inputOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web); var messageId = 0; var customerId = 0; foreach (var filename in Directory.GetFiles(ticketsSourceDir, "*.json")) { // TODO: Consider simplifying by ensuring the generated data is already in exactly the right form var generated = (await JsonSerializer.DeserializeAsync(File.OpenRead(filename), inputOptions))!; var customer = customersByName.GetOrAdd(generated.CustomerFullName, name => new Customer { FullName = name, CustomerId = ++customerId }); tickets.Add(new Ticket { TicketId = generated.TicketId, ProductId = generated.ProductId, TicketType = Enum.Parse(generated.TicketType), TicketStatus = Enum.Parse(generated.TicketStatus), CustomerId = customer.CustomerId, Customer = customer, ShortSummary = generated.ShortSummary, LongSummary = generated.LongSummary, CustomerSatisfaction = generated.CustomerSatisfaction, Messages = generated.Messages.Select(generatedMessage => new Message { MessageId = ++messageId, IsCustomerMessage = generatedMessage.AuthorRole == 0, Text = generatedMessage.Text }).ToList() }); } var outputOptions = new JsonSerializerOptions { WriteIndented = true }; await File.WriteAllTextAsync(Path.Combine(outputDir, "tickets.json"), JsonSerializer.Serialize(tickets.OrderBy(t => t.TicketId), outputOptions)); Console.WriteLine($"Wrote {tickets.Count} tickets"); await File.WriteAllTextAsync(Path.Combine(outputDir, "customers.json"), JsonSerializer.Serialize(customersByName.Values, outputOptions)); Console.WriteLine($"Wrote {customersByName.Count} customers"); } internal record GeneratedTicket(int TicketId, int ProductId, string TicketType, string TicketStatus, string CustomerFullName, string ShortSummary, string LongSummary, int? CustomerSatisfaction, List Messages); internal record GeneratedMessage(int MessageId, int AuthorRole, string Text); } ================================================ FILE: src/Evaluator/.gitignore ================================================ appsettings.Local.json ================================================ FILE: src/Evaluator/EvalQuestion.cs ================================================ namespace eShopSupport.Evaluator; public class EvalQuestion { public int QuestionId { get; set; } public int? ProductId { get; set; } public required string Question { get; set; } public required string Answer { get; set; } } ================================================ FILE: src/Evaluator/Evaluator.csproj ================================================  Exe net8.0 enable enable eShopSupport.Evaluator <_Parameter1>EvalQuestionsJsonPath <_Parameter2>$(SolutionDir)seeddata\dev\evalquestions.json PreserveNewest PreserveNewest ================================================ FILE: src/Evaluator/Program.cs ================================================ using System.ClientModel; using System.Data.Common; using System.Reflection; using System.Text; using System.Text.Json; using Azure.AI.OpenAI; using eShopSupport.Evaluator; using eShopSupport.ServiceDefaults.Clients.Backend; using Microsoft.Extensions.AI; using Microsoft.Extensions.Configuration; // Comparing models: // // GPT 4o: After 100 questions: average score = 0.800, average duration = 9005.543ms // GPT 3.5 Turbo: After 200 questions: average score = 0.733, average duration = 3450.547ms // Mistral 7B (Ollama): After 100 questions: average score = 0.547, average duration = 25603.365ms // // --- // // Comparing prompts: // // Effect of adding "If this is a question about the product, you should ALWAYS search the manual." // to the prompt: // // Without: After 200 questions: average score = 0.615, average duration = 2092.407ms // With: After 200 questions: average score = 0.775, average duration = 2670.874ms var assistantAnsweringSemaphore = new SemaphoreSlim(/* parallelism */ 3); var backend = await DevToolBackendClient.GetDevToolStaffBackendClientAsync( identityServerHttpClient: new HttpClient { BaseAddress = new Uri("https://localhost:7275/") }, backendHttpClient: new HttpClient { BaseAddress = new Uri("https://localhost:7223/") }); var chatCompletion = GetChatCompletionService("chatcompletion"); var questions = LoadEvaluationQuestions().OrderBy(q => q.QuestionId); using var logFile = File.Open("log.txt", FileMode.Create, FileAccess.Write, FileShare.Read); using var log = new StreamWriter(logFile); var questionBatches = questions.Chunk(5); var scoringParallelism = 4; var allScores = new List(); var allDurations = new List(); await Parallel.ForEachAsync(questionBatches, new ParallelOptions { MaxDegreeOfParallelism = scoringParallelism }, async (batch, cancellationToken) => { var assistantAnswers = await Task.WhenAll(batch.Select(GetAssistantAnswerAsync)); var scores = await ScoreAnswersAsync(batch.Zip(assistantAnswers.Select(a => a.Answer)).ToList()); foreach (var (question, assistantAnswer, score) in batch.Zip(assistantAnswers, scores)) { lock (log) { log.WriteLine($"Question ID: {question.QuestionId}"); log.WriteLine($"Question: {question.Question}"); log.WriteLine($"True answer: {question.Answer}"); log.WriteLine($"Assistant answer: {assistantAnswer.Answer}"); log.WriteLine($"Assistant duration: {assistantAnswer.Duration}"); log.WriteLine($"Score: {score.Score}"); log.WriteLine($"Justification: {score.Justification}"); log.WriteLine(); log.Flush(); if (score.Score.HasValue) { allScores.Add(score.Score.Value); allDurations.Add(assistantAnswer.Duration); } } } Console.WriteLine($"After {allScores.Count} questions: average score = {allScores.Average():F3}, average duration = {allDurations.Select(d => d.TotalMilliseconds).Average():F3}ms"); }); async Task<(double? Score, string Justification)[]> ScoreAnswersAsync(IReadOnlyCollection<(EvalQuestion Question, string AssistantAnswer)> questionAnswerPairs) { var rangeText = $"questions {questionAnswerPairs.Min(p => p.Question.QuestionId)} to {questionAnswerPairs.Max(p => p.Question.QuestionId)}"; Console.WriteLine($"Scoring answers to {rangeText}..."); var formattedQuestionAnswerPairs = questionAnswerPairs.Select((pair, index) => $$""" {{pair.Question.Question}} {{pair.Question.Answer}} {{pair.AssistantAnswer}} """); List scoreWords = ["Awful", "Poor", "Good", "Perfect"]; var prompt = $$""" There is an AI assistant that answers questions about products sold by an online retailer. The questions may be asked by customers or by customer support agents. You are evaluating the quality of an AI assistant's response to several questions. Here are the questions, the desired true answers, and the answers given by the AI system: {{string.Join("\n", formattedQuestionAnswerPairs)}} Evaluate each of the assistant's answers separately by replying in this JSON format: { "scores": [ { "index": 0, "descriptionOfQuality": string, "scoreLabel": string }, { "index": 1, "descriptionOfQuality": string, "scoreLabel": string }, ... etc ... ] ] Score only based on whether the assistant's answer is true and answers the question. As long as the answer covers the question and is consistent with the truth, it should score as perfect. There is no penalty for giving extra on-topic information or advice. Only penalize for missing necessary facts or being misleading. The descriptionOfQuality should be up to 5 words summarizing to what extent the assistant answer is correct and sufficient. Based on descriptionOfQuality, the scoreLabel must be one of the following labels, from worst to best: {{string.Join(", ", scoreWords)}} Do not use any other words for scoreLabel. You may only pick one of those labels. """; var response = await chatCompletion.GetResponseAsync(prompt, new ChatOptions { ResponseFormat = ChatResponseFormat.Json, Temperature = 0, AdditionalProperties = new() { ["seed"] = 0 }, }); var responseJson = response.ToString(); var jsonOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web); var parsedResponse = JsonSerializer.Deserialize(responseJson, jsonOptions)!; return parsedResponse.Scores.Select(s => { var labelIndex = scoreWords.FindIndex(w => w.Equals(s.ScoreLabel, StringComparison.OrdinalIgnoreCase)); return (labelIndex < 0 ? (double?)null : ((double)labelIndex) / (scoreWords.Count - 1), s.DescriptionOfQuality); }).ToArray(); } static EvalQuestion[] LoadEvaluationQuestions() { var questionDataPath = Assembly.GetExecutingAssembly() .GetCustomAttributes() .Single(a => a.Key == "EvalQuestionsJsonPath").Value!; if (!File.Exists(questionDataPath)) { throw new FileNotFoundException("Questions not found. Ensure the data ingestor has run.", questionDataPath); } var questionsJson = File.ReadAllText(questionDataPath); return JsonSerializer.Deserialize(questionsJson)!; } async Task<(string Answer, TimeSpan Duration)> GetAssistantAnswerAsync(EvalQuestion question) { await assistantAnsweringSemaphore.WaitAsync(); var startTime = DateTime.Now; try { Console.WriteLine($"Asking question {question.QuestionId}..."); var responseItems = backend.AssistantChatAsync(new AssistantChatRequest( question.ProductId, null, null, null, [new() { IsAssistant = true, Text = question.Question }]), CancellationToken.None); var answerBuilder = new StringBuilder(); await foreach (var item in responseItems) { if (item.Type == AssistantChatReplyItemType.AnswerChunk) { answerBuilder.Append(item.Text); } } var duration = DateTime.Now - startTime; var finalAnswer = answerBuilder.ToString(); Console.WriteLine($"Received answer to question {question.QuestionId}"); return (string.IsNullOrWhiteSpace(finalAnswer) ? "No answer provided" : finalAnswer, duration); } catch (Exception ex) { Console.WriteLine($"Error on question {question.QuestionId}: {ex.Message}"); return ("SYSTEM ERROR", DateTime.Now - startTime); } finally { assistantAnsweringSemaphore.Release(); } } static IChatClient GetChatCompletionService(string connectionStringName) { var config = new ConfigurationManager(); config.AddJsonFile("appsettings.json"); config.AddJsonFile("appsettings.Local.json", optional: true); var connectionStringBuilder = new DbConnectionStringBuilder(); var connectionString = config.GetConnectionString(connectionStringName); if (string.IsNullOrEmpty(connectionString)) { throw new InvalidOperationException($"Missing connection string {connectionStringName}"); } connectionStringBuilder.ConnectionString = connectionString; var deployment = connectionStringBuilder.TryGetValue("Deployment", out var deploymentValue) ? (string)deploymentValue : throw new InvalidOperationException($"Connection string {connectionStringName} is missing 'Deployment'"); var endpoint = connectionStringBuilder.TryGetValue("Endpoint", out var endpointValue) ? (string)endpointValue : throw new InvalidOperationException($"Connection string {connectionStringName} is missing 'Endpoint'"); var key = connectionStringBuilder.TryGetValue("Key", out var keyValue) ? (string)keyValue : throw new InvalidOperationException($"Connection string {connectionStringName} is missing 'Key'"); return new AzureOpenAIClient(new Uri(endpoint), new ApiKeyCredential(key)).GetChatClient(deployment).AsIChatClient(); } record ScoringResponse(AnswerScore[] Scores); record AnswerScore(int Index, string ScoreLabel, string DescriptionOfQuality); ================================================ FILE: src/Evaluator/appsettings.json ================================================ { // REMEMBER NOT TO COMMIT YOUR API KEYS TO SOURCE CONTROL // To reduce the risk, copy this file as appsettings.Local.json and make your changes there, // since that file overrides anything configured here and will be ignored by Git. "ConnectionStrings": { //"chatcompletion": "Endpoint=https://TODO.openai.azure.com/;Key=TODO;Deployment=TODO" } } ================================================ FILE: src/IdentityServer/.gitignore ================================================ keys/ ================================================ FILE: src/IdentityServer/Config.cs ================================================ using Duende.IdentityServer; using Duende.IdentityServer.Models; namespace IdentityServer; public static class Config { public static IEnumerable IdentityResources { get; } = [ new IdentityResources.OpenId(), new IdentityResources.Profile(), new IdentityResource("role", ["role"]), ]; public static IEnumerable ApiScopes { get; } = [ new ApiScope(name: "staff-api", displayName: "Staff API", ["role"]) ]; public static IEnumerable GetClients(IConfiguration configuration) => [ new Client { // This is used by E2E test and evaluation ClientId = "dev-and-test-tools", ClientSecrets = { new Secret("dev-and-test-tools-secret".Sha256()) }, AllowedGrantTypes = GrantTypes.ClientCredentials, AllowedScopes = { "staff-api" }, ClientClaimsPrefix = null, Claims = { new("role", "staff") } }, new Client { ClientId = "customer-webui", ClientSecrets = { new Secret("customer-webui-secret".Sha256()) }, AllowedGrantTypes = GrantTypes.Code, RedirectUris = { $"{configuration["CustomerWebUIEndpoint"]}/signin-oidc" }, PostLogoutRedirectUris = { $"{configuration["CustomerWebUIEndpoint"]}/signout-callback-oidc" }, AllowedScopes = { IdentityServerConstants.StandardScopes.OpenId, IdentityServerConstants.StandardScopes.Profile, }, }, new Client { ClientId = "staff-webui", ClientSecrets = { new Secret("staff-webui-secret".Sha256()) }, AllowedGrantTypes = GrantTypes.Code, RedirectUris = { $"{configuration["StaffWebUIEndpoint"]}/signin-oidc" }, PostLogoutRedirectUris = { $"{configuration["StaffWebUIEndpoint"]}/signout-callback-oidc" }, AllowedScopes = { IdentityServerConstants.StandardScopes.OpenId, IdentityServerConstants.StandardScopes.Profile, "staff-api", "role", }, } ]; } ================================================ FILE: src/IdentityServer/HostingExtensions.cs ================================================ using Serilog; namespace IdentityServer; internal static class HostingExtensions { public static WebApplication ConfigureServices(this WebApplicationBuilder builder) { builder.Services.AddRazorPages(); builder.Services.AddIdentityServer(options => { // https://docs.duendesoftware.com/identityserver/v6/fundamentals/resources/api_scopes#authorization-based-on-scopes options.EmitStaticAudienceClaim = true; }) .AddInMemoryIdentityResources(Config.IdentityResources) .AddInMemoryApiScopes(Config.ApiScopes) .AddInMemoryClients(Config.GetClients(builder.Configuration)) #if DEBUG .AddTestUsers(TestUsers.Users) #endif ; return builder.Build(); } public static WebApplication ConfigurePipeline(this WebApplication app) { app.UseSerilogRequestLogging(); if (app.Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseStaticFiles(); app.UseRouting(); app.UseIdentityServer(); app.UseAuthorization(); app.MapRazorPages().RequireAuthorization(); return app; } } ================================================ FILE: src/IdentityServer/IdentityServer.csproj ================================================  net8.0 enable enable ================================================ FILE: src/IdentityServer/Pages/Account/AccessDenied.cshtml ================================================ @page @model IdentityServer.Pages.Account.AccessDeniedModel @{ }

Access Denied

You do not have permission to access that resource.

================================================ FILE: src/IdentityServer/Pages/Account/AccessDenied.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Account; public class AccessDeniedModel : PageModel { public void OnGet() { } } ================================================ FILE: src/IdentityServer/Pages/Account/Create/Index.cshtml ================================================ @page @model IdentityServer.Pages.Create.Index ================================================ FILE: src/IdentityServer/Pages/Account/Create/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer; using Duende.IdentityServer.Models; using Duende.IdentityServer.Services; using Duende.IdentityServer.Test; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Create; [SecurityHeaders] [AllowAnonymous] public class Index : PageModel { private readonly TestUserStore _users; private readonly IIdentityServerInteractionService _interaction; [BindProperty] public InputModel Input { get; set; } = default!; public Index( IIdentityServerInteractionService interaction, TestUserStore? users = null) { // this is where you would plug in your own custom identity management library (e.g. ASP.NET Identity) _users = users ?? throw new InvalidOperationException("Please call 'AddTestUsers(TestUsers.Users)' on the IIdentityServerBuilder in Startup or remove the TestUserStore from the AccountController."); _interaction = interaction; } public IActionResult OnGet(string? returnUrl) { Input = new InputModel { ReturnUrl = returnUrl }; return Page(); } public async Task OnPost() { // check if we are in the context of an authorization request var context = await _interaction.GetAuthorizationContextAsync(Input.ReturnUrl); // the user clicked the "cancel" button if (Input.Button != "create") { if (context != null) { // if the user cancels, send a result back into IdentityServer as if they // denied the consent (even if this client does not require consent). // this will send back an access denied OIDC error response to the client. await _interaction.DenyAuthorizationAsync(context, AuthorizationError.AccessDenied); // we can trust model.ReturnUrl since GetAuthorizationContextAsync returned non-null if (context.IsNativeClient()) { // The client is native, so this change in how to // return the response is for better UX for the end user. return this.LoadingPage(Input.ReturnUrl); } return Redirect(Input.ReturnUrl ?? "~/"); } else { // since we don't have a valid context, then we just go back to the home page return Redirect("~/"); } } if (_users.FindByUsername(Input.Username) != null) { ModelState.AddModelError("Input.Username", "Invalid username"); } if (ModelState.IsValid) { var user = _users.CreateUser(Input.Username, Input.Password, Input.Name, Input.Email); // issue authentication cookie with subject ID and username var isuser = new IdentityServerUser(user.SubjectId) { DisplayName = user.Username }; await HttpContext.SignInAsync(isuser); if (context != null) { if (context.IsNativeClient()) { // The client is native, so this change in how to // return the response is for better UX for the end user. return this.LoadingPage(Input.ReturnUrl); } // we can trust Input.ReturnUrl since GetAuthorizationContextAsync returned non-null return Redirect(Input.ReturnUrl ?? "~/"); } // request for a local page if (Url.IsLocalUrl(Input.ReturnUrl)) { return Redirect(Input.ReturnUrl); } else if (string.IsNullOrEmpty(Input.ReturnUrl)) { return Redirect("~/"); } else { // user might have clicked on a malicious link - should be logged throw new ArgumentException("invalid return URL"); } } return Page(); } } ================================================ FILE: src/IdentityServer/Pages/Account/Create/InputModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using System.ComponentModel.DataAnnotations; namespace IdentityServer.Pages.Create; public class InputModel { [Required] public string? Username { get; set; } [Required] public string? Password { get; set; } public string? Name { get; set; } public string? Email { get; set; } public string? ReturnUrl { get; set; } public string? Button { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Account/Login/Index.cshtml ================================================ @page @model IdentityServer.Pages.Login.Index ================================================ FILE: src/IdentityServer/Pages/Account/Login/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer; using Duende.IdentityServer.Events; using Duende.IdentityServer.Models; using Duende.IdentityServer.Services; using Duende.IdentityServer.Stores; using Duende.IdentityServer.Test; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Login; [SecurityHeaders] [AllowAnonymous] public class Index : PageModel { private readonly TestUserStore _users; private readonly IIdentityServerInteractionService _interaction; private readonly IEventService _events; private readonly IAuthenticationSchemeProvider _schemeProvider; private readonly IIdentityProviderStore _identityProviderStore; public ViewModel View { get; set; } = default!; [BindProperty] public InputModel Input { get; set; } = default!; public Index( IIdentityServerInteractionService interaction, IAuthenticationSchemeProvider schemeProvider, IIdentityProviderStore identityProviderStore, IEventService events, TestUserStore? users = null) { // this is where you would plug in your own custom identity management library (e.g. ASP.NET Identity) _users = users ?? throw new InvalidOperationException("Please call 'AddTestUsers(TestUsers.Users)' on the IIdentityServerBuilder in Startup or remove the TestUserStore from the AccountController."); _interaction = interaction; _schemeProvider = schemeProvider; _identityProviderStore = identityProviderStore; _events = events; } public async Task OnGet(string? returnUrl) { await BuildModelAsync(returnUrl); if (View.IsExternalLoginOnly) { // we only have one option for logging in and it's an external provider return RedirectToPage("/ExternalLogin/Challenge", new { scheme = View.ExternalLoginScheme, returnUrl }); } return Page(); } public async Task OnPost() { // check if we are in the context of an authorization request var context = await _interaction.GetAuthorizationContextAsync(Input.ReturnUrl); // the user clicked the "cancel" button if (Input.Button != "login") { if (context != null) { // This "can't happen", because if the ReturnUrl was null, then the context would be null ArgumentNullException.ThrowIfNull(Input.ReturnUrl, nameof(Input.ReturnUrl)); // if the user cancels, send a result back into IdentityServer as if they // denied the consent (even if this client does not require consent). // this will send back an access denied OIDC error response to the client. await _interaction.DenyAuthorizationAsync(context, AuthorizationError.AccessDenied); // we can trust model.ReturnUrl since GetAuthorizationContextAsync returned non-null if (context.IsNativeClient()) { // The client is native, so this change in how to // return the response is for better UX for the end user. return this.LoadingPage(Input.ReturnUrl); } return Redirect(Input.ReturnUrl ?? "~/"); } else { // since we don't have a valid context, then we just go back to the home page return Redirect("~/"); } } if (ModelState.IsValid) { // validate username/password against in-memory store if (_users.ValidateCredentials(Input.Username, Input.Password)) { var user = _users.FindByUsername(Input.Username); await _events.RaiseAsync(new UserLoginSuccessEvent(user.Username, user.SubjectId, user.Username, clientId: context?.Client.ClientId)); Telemetry.Metrics.UserLogin(context?.Client.ClientId, IdentityServerConstants.LocalIdentityProvider); // only set explicit expiration here if user chooses "remember me". // otherwise we rely upon expiration configured in cookie middleware. var props = new AuthenticationProperties(); if (LoginOptions.AllowRememberLogin && Input.RememberLogin) { props.IsPersistent = true; props.ExpiresUtc = DateTimeOffset.UtcNow.Add(LoginOptions.RememberMeLoginDuration); }; // issue authentication cookie with subject ID and username var isuser = new IdentityServerUser(user.SubjectId) { DisplayName = user.Username }; await HttpContext.SignInAsync(isuser, props); if (context != null) { // This "can't happen", because if the ReturnUrl was null, then the context would be null ArgumentNullException.ThrowIfNull(Input.ReturnUrl, nameof(Input.ReturnUrl)); if (context.IsNativeClient()) { // The client is native, so this change in how to // return the response is for better UX for the end user. return this.LoadingPage(Input.ReturnUrl); } // we can trust model.ReturnUrl since GetAuthorizationContextAsync returned non-null return Redirect(Input.ReturnUrl ?? "~/"); } // request for a local page if (Url.IsLocalUrl(Input.ReturnUrl)) { return Redirect(Input.ReturnUrl); } else if (string.IsNullOrEmpty(Input.ReturnUrl)) { return Redirect("~/"); } else { // user might have clicked on a malicious link - should be logged throw new ArgumentException("invalid return URL"); } } const string error = "invalid credentials"; await _events.RaiseAsync(new UserLoginFailureEvent(Input.Username, error, clientId:context?.Client.ClientId)); Telemetry.Metrics.UserLoginFailure(context?.Client.ClientId, IdentityServerConstants.LocalIdentityProvider, error); ModelState.AddModelError(string.Empty, LoginOptions.InvalidCredentialsErrorMessage); } // something went wrong, show form with error await BuildModelAsync(Input.ReturnUrl); return Page(); } private async Task BuildModelAsync(string? returnUrl) { Input = new InputModel { ReturnUrl = returnUrl }; var context = await _interaction.GetAuthorizationContextAsync(returnUrl); if (context?.IdP != null && await _schemeProvider.GetSchemeAsync(context.IdP) != null) { var local = context.IdP == Duende.IdentityServer.IdentityServerConstants.LocalIdentityProvider; // this is meant to short circuit the UI and only trigger the one external IdP View = new ViewModel { EnableLocalLogin = local, }; Input.Username = context.LoginHint; if (!local) { View.ExternalProviders = new[] { new ViewModel.ExternalProvider ( authenticationScheme: context.IdP ) }; } return; } var schemes = await _schemeProvider.GetAllSchemesAsync(); var providers = schemes .Where(x => x.DisplayName != null) .Select(x => new ViewModel.ExternalProvider ( authenticationScheme: x.Name, displayName: x.DisplayName ?? x.Name )).ToList(); var dynamicSchemes = (await _identityProviderStore.GetAllSchemeNamesAsync()) .Where(x => x.Enabled) .Select(x => new ViewModel.ExternalProvider ( authenticationScheme: x.Scheme, displayName: x.DisplayName ?? x.Scheme )); providers.AddRange(dynamicSchemes); var allowLocal = true; var client = context?.Client; if (client != null) { allowLocal = client.EnableLocalLogin; if (client.IdentityProviderRestrictions != null && client.IdentityProviderRestrictions.Count != 0) { providers = providers.Where(provider => client.IdentityProviderRestrictions.Contains(provider.AuthenticationScheme)).ToList(); } } View = new ViewModel { AllowRememberLogin = LoginOptions.AllowRememberLogin, EnableLocalLogin = allowLocal && LoginOptions.AllowLocalLogin, ExternalProviders = providers.ToArray() }; } } ================================================ FILE: src/IdentityServer/Pages/Account/Login/InputModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using System.ComponentModel.DataAnnotations; namespace IdentityServer.Pages.Login; public class InputModel { [Required] public string? Username { get; set; } [Required] public string? Password { get; set; } public bool RememberLogin { get; set; } public string? ReturnUrl { get; set; } public string? Button { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Account/Login/LoginOptions.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Login; public static class LoginOptions { public static readonly bool AllowLocalLogin = true; public static readonly bool AllowRememberLogin = true; public static readonly TimeSpan RememberMeLoginDuration = TimeSpan.FromDays(30); public static readonly string InvalidCredentialsErrorMessage = "Invalid username or password"; } ================================================ FILE: src/IdentityServer/Pages/Account/Login/ViewModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Login; public class ViewModel { public bool AllowRememberLogin { get; set; } = true; public bool EnableLocalLogin { get; set; } = true; public IEnumerable ExternalProviders { get; set; } = Enumerable.Empty(); public IEnumerable VisibleExternalProviders => ExternalProviders.Where(x => !String.IsNullOrWhiteSpace(x.DisplayName)); public bool IsExternalLoginOnly => EnableLocalLogin == false && ExternalProviders?.Count() == 1; public string? ExternalLoginScheme => IsExternalLoginOnly ? ExternalProviders?.SingleOrDefault()?.AuthenticationScheme : null; public class ExternalProvider { public ExternalProvider(string authenticationScheme, string? displayName = null) { AuthenticationScheme = authenticationScheme; DisplayName = displayName; } public string? DisplayName { get; set; } public string AuthenticationScheme { get; set; } } } ================================================ FILE: src/IdentityServer/Pages/Account/Logout/Index.cshtml ================================================ @page @model IdentityServer.Pages.Logout.Index

Logout

Would you like to logout of IdentityServer?

================================================ FILE: src/IdentityServer/Pages/Account/Logout/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Events; using Duende.IdentityServer.Extensions; using Duende.IdentityServer.Services; using IdentityModel; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Logout; [SecurityHeaders] [AllowAnonymous] public class Index : PageModel { private readonly IIdentityServerInteractionService _interaction; private readonly IEventService _events; [BindProperty] public string? LogoutId { get; set; } public Index(IIdentityServerInteractionService interaction, IEventService events) { _interaction = interaction; _events = events; } public async Task OnGet(string? logoutId) { LogoutId = logoutId; var showLogoutPrompt = LogoutOptions.ShowLogoutPrompt; if (User.Identity?.IsAuthenticated != true) { // if the user is not authenticated, then just show logged out page showLogoutPrompt = false; } else { var context = await _interaction.GetLogoutContextAsync(LogoutId); if (context?.ShowSignoutPrompt == false) { // it's safe to automatically sign-out showLogoutPrompt = false; } } if (showLogoutPrompt == false) { // if the request for logout was properly authenticated from IdentityServer, then // we don't need to show the prompt and can just log the user out directly. return await OnPost(); } return Page(); } public async Task OnPost() { if (User.Identity?.IsAuthenticated == true) { // if there's no current logout context, we need to create one // this captures necessary info from the current logged in user // this can still return null if there is no context needed LogoutId ??= await _interaction.CreateLogoutContextAsync(); // delete local authentication cookie await HttpContext.SignOutAsync(); // see if we need to trigger federated logout var idp = User.FindFirst(JwtClaimTypes.IdentityProvider)?.Value; // raise the logout event await _events.RaiseAsync(new UserLogoutSuccessEvent(User.GetSubjectId(), User.GetDisplayName())); Telemetry.Metrics.UserLogout(idp); // if it's a local login we can ignore this workflow if (idp != null && idp != Duende.IdentityServer.IdentityServerConstants.LocalIdentityProvider) { // we need to see if the provider supports external logout if (await HttpContext.GetSchemeSupportsSignOutAsync(idp)) { // build a return URL so the upstream provider will redirect back // to us after the user has logged out. this allows us to then // complete our single sign-out processing. var url = Url.Page("/Account/Logout/Loggedout", new { logoutId = LogoutId }); // this triggers a redirect to the external provider for sign-out return SignOut(new AuthenticationProperties { RedirectUri = url }, idp); } } } return RedirectToPage("/Account/Logout/LoggedOut", new { logoutId = LogoutId }); } } ================================================ FILE: src/IdentityServer/Pages/Account/Logout/LoggedOut.cshtml ================================================ @page @model IdentityServer.Pages.Logout.LoggedOut

Logout You are now logged out

@if (Model.View.PostLogoutRedirectUri != null) {
Click here to return to the @Model.View.ClientName application.
} @if (Model.View.SignOutIframeUrl != null) { }
@section scripts { @if (Model.View.AutomaticRedirectAfterSignOut) { } } ================================================ FILE: src/IdentityServer/Pages/Account/Logout/LoggedOut.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Logout; [SecurityHeaders] [AllowAnonymous] public class LoggedOut : PageModel { private readonly IIdentityServerInteractionService _interactionService; public LoggedOutViewModel View { get; set; } = default!; public LoggedOut(IIdentityServerInteractionService interactionService) { _interactionService = interactionService; } public async Task OnGet(string? logoutId) { // get context information (client name, post logout redirect URI and iframe for federated signout) var logout = await _interactionService.GetLogoutContextAsync(logoutId); View = new LoggedOutViewModel { AutomaticRedirectAfterSignOut = LogoutOptions.AutomaticRedirectAfterSignOut, PostLogoutRedirectUri = logout?.PostLogoutRedirectUri, ClientName = String.IsNullOrEmpty(logout?.ClientName) ? logout?.ClientId : logout?.ClientName, SignOutIframeUrl = logout?.SignOutIFrameUrl }; } } ================================================ FILE: src/IdentityServer/Pages/Account/Logout/LoggedOutViewModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Logout; public class LoggedOutViewModel { public string? PostLogoutRedirectUri { get; set; } public string? ClientName { get; set; } public string? SignOutIframeUrl { get; set; } public bool AutomaticRedirectAfterSignOut { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Account/Logout/LogoutOptions.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Logout; public static class LogoutOptions { public static readonly bool ShowLogoutPrompt = false; public static readonly bool AutomaticRedirectAfterSignOut = true; } ================================================ FILE: src/IdentityServer/Pages/Ciba/All.cshtml ================================================ @page @model IdentityServer.Pages.Ciba.AllModel @{ }

Pending Backchannel Login Requests

@if (Model.Logins.Any()) { @foreach (var login in Model.Logins) { }
Id Client Id Binding Message
@login.InternalId @login.Client.ClientId @login.BindingMessage Process
} else {
No Pending Login Requests
}
================================================ FILE: src/IdentityServer/Pages/Ciba/All.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Models; using Duende.IdentityServer.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Ciba; [SecurityHeaders] [Authorize] public class AllModel : PageModel { public IEnumerable Logins { get; set; } = default!; private readonly IBackchannelAuthenticationInteractionService _backchannelAuthenticationInteraction; public AllModel(IBackchannelAuthenticationInteractionService backchannelAuthenticationInteractionService) { _backchannelAuthenticationInteraction = backchannelAuthenticationInteractionService; } public async Task OnGet() { Logins = await _backchannelAuthenticationInteraction.GetPendingLoginRequestsForCurrentUserAsync(); } } ================================================ FILE: src/IdentityServer/Pages/Ciba/Consent.cshtml ================================================ @page @model IdentityServer.Pages.Ciba.Consent @{ } ================================================ FILE: src/IdentityServer/Pages/Ciba/Consent.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Events; using Duende.IdentityServer.Extensions; using Duende.IdentityServer.Models; using Duende.IdentityServer.Services; using Duende.IdentityServer.Validation; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Ciba; [Authorize] [SecurityHeaders] public class Consent : PageModel { private readonly IBackchannelAuthenticationInteractionService _interaction; private readonly IEventService _events; private readonly ILogger _logger; public Consent( IBackchannelAuthenticationInteractionService interaction, IEventService events, ILogger logger) { _interaction = interaction; _events = events; _logger = logger; } public ViewModel View { get; set; } = default!; [BindProperty] public InputModel Input { get; set; } = default!; public async Task OnGet(string? id) { if (!await SetViewModelAsync(id)) { return RedirectToPage("/Home/Error/Index"); } Input = new InputModel { Id = id }; return Page(); } public async Task OnPost() { // validate return url is still valid var request = await _interaction.GetLoginRequestByInternalIdAsync(Input.Id ?? throw new ArgumentNullException(nameof(Input.Id))); if (request == null || request.Subject.GetSubjectId() != User.GetSubjectId()) { _logger.InvalidId(Input.Id); return RedirectToPage("/Home/Error/Index"); } CompleteBackchannelLoginRequest? result = null; // user clicked 'no' - send back the standard 'access_denied' response if (Input.Button == "no") { result = new CompleteBackchannelLoginRequest(Input.Id); // emit event await _events.RaiseAsync(new ConsentDeniedEvent(User.GetSubjectId(), request.Client.ClientId, request.ValidatedResources.RawScopeValues)); Telemetry.Metrics.ConsentDenied(request.Client.ClientId, request.ValidatedResources.ParsedScopes.Select(s => s.ParsedName)); } // user clicked 'yes' - validate the data else if (Input.Button == "yes") { // if the user consented to some scope, build the response model if (Input.ScopesConsented.Any()) { var scopes = Input.ScopesConsented; if (ConsentOptions.EnableOfflineAccess == false) { scopes = scopes.Where(x => x != Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess); } result = new CompleteBackchannelLoginRequest(Input.Id) { ScopesValuesConsented = scopes.ToArray(), Description = Input.Description }; // emit event await _events.RaiseAsync(new ConsentGrantedEvent(User.GetSubjectId(), request.Client.ClientId, request.ValidatedResources.RawScopeValues, result.ScopesValuesConsented, false)); Telemetry.Metrics.ConsentGranted(request.Client.ClientId, result.ScopesValuesConsented, false); var denied = request.ValidatedResources.ParsedScopes.Select(s => s.ParsedName).Except(result.ScopesValuesConsented); Telemetry.Metrics.ConsentDenied(request.Client.ClientId, denied); } else { ModelState.AddModelError("", ConsentOptions.MustChooseOneErrorMessage); } } else { ModelState.AddModelError("", ConsentOptions.InvalidSelectionErrorMessage); } if (result != null) { // communicate outcome of consent back to identityserver await _interaction.CompleteLoginRequestAsync(result); return RedirectToPage("/Ciba/All"); } // we need to redisplay the consent UI if (!await SetViewModelAsync(Input.Id)) { return RedirectToPage("/Home/Error/Index"); } return Page(); } private async Task SetViewModelAsync(string? id) { ArgumentNullException.ThrowIfNull(id); var request = await _interaction.GetLoginRequestByInternalIdAsync(id); if (request != null && request.Subject.GetSubjectId() == User.GetSubjectId()) { View = CreateConsentViewModel(request); return true; } else { _logger.NoMatchingBackchannelLoginRequest(id); return false; } } private ViewModel CreateConsentViewModel(BackchannelUserLoginRequest request) { var vm = new ViewModel { ClientName = request.Client.ClientName ?? request.Client.ClientId, ClientUrl = request.Client.ClientUri, ClientLogoUrl = request.Client.LogoUri, BindingMessage = request.BindingMessage }; vm.IdentityScopes = request.ValidatedResources.Resources.IdentityResources .Select(x => CreateScopeViewModel(x, Input == null || Input.ScopesConsented.Contains(x.Name))) .ToArray(); var resourceIndicators = request.RequestedResourceIndicators ?? Enumerable.Empty(); var apiResources = request.ValidatedResources.Resources.ApiResources.Where(x => resourceIndicators.Contains(x.Name)); var apiScopes = new List(); foreach (var parsedScope in request.ValidatedResources.ParsedScopes) { var apiScope = request.ValidatedResources.Resources.FindApiScope(parsedScope.ParsedName); if (apiScope != null) { var scopeVm = CreateScopeViewModel(parsedScope, apiScope, Input == null || Input.ScopesConsented.Contains(parsedScope.RawValue)); scopeVm.Resources = apiResources.Where(x => x.Scopes.Contains(parsedScope.ParsedName)) .Select(x => new ResourceViewModel { Name = x.Name, DisplayName = x.DisplayName ?? x.Name, }).ToArray(); apiScopes.Add(scopeVm); } } if (ConsentOptions.EnableOfflineAccess && request.ValidatedResources.Resources.OfflineAccess) { apiScopes.Add(GetOfflineAccessScope(Input == null || Input.ScopesConsented.Contains(Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess))); } vm.ApiScopes = apiScopes; return vm; } private static ScopeViewModel CreateScopeViewModel(IdentityResource identity, bool check) { return new ScopeViewModel { Name = identity.Name, Value = identity.Name, DisplayName = identity.DisplayName ?? identity.Name, Description = identity.Description, Emphasize = identity.Emphasize, Required = identity.Required, Checked = check || identity.Required }; } private static ScopeViewModel CreateScopeViewModel(ParsedScopeValue parsedScopeValue, ApiScope apiScope, bool check) { var displayName = apiScope.DisplayName ?? apiScope.Name; if (!String.IsNullOrWhiteSpace(parsedScopeValue.ParsedParameter)) { displayName += ":" + parsedScopeValue.ParsedParameter; } return new ScopeViewModel { Name = parsedScopeValue.ParsedName, Value = parsedScopeValue.RawValue, DisplayName = displayName, Description = apiScope.Description, Emphasize = apiScope.Emphasize, Required = apiScope.Required, Checked = check || apiScope.Required }; } private static ScopeViewModel GetOfflineAccessScope(bool check) { return new ScopeViewModel { Value = Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess, DisplayName = ConsentOptions.OfflineAccessDisplayName, Description = ConsentOptions.OfflineAccessDescription, Emphasize = true, Checked = check }; } } ================================================ FILE: src/IdentityServer/Pages/Ciba/ConsentOptions.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Ciba; public static class ConsentOptions { public static readonly bool EnableOfflineAccess = true; public static readonly string OfflineAccessDisplayName = "Offline Access"; public static readonly string OfflineAccessDescription = "Access to your applications and resources, even when you are offline"; public static readonly string MustChooseOneErrorMessage = "You must pick at least one permission"; public static readonly string InvalidSelectionErrorMessage = "Invalid selection"; } ================================================ FILE: src/IdentityServer/Pages/Ciba/Index.cshtml ================================================ @page @model IdentityServer.Pages.Ciba.IndexModel @{ }
@if (Model.LoginRequest.Client.LogoUri != null) { }

@Model.LoginRequest.Client.ClientName is requesting your permission

Verify that this identifier matches what the client is displaying: @Model.LoginRequest.BindingMessage

Do you wish to continue?

================================================ FILE: src/IdentityServer/Pages/Ciba/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Models; using Duende.IdentityServer.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Ciba; [AllowAnonymous] [SecurityHeaders] public class IndexModel : PageModel { public BackchannelUserLoginRequest LoginRequest { get; set; } = default!; private readonly IBackchannelAuthenticationInteractionService _backchannelAuthenticationInteraction; private readonly ILogger _logger; public IndexModel(IBackchannelAuthenticationInteractionService backchannelAuthenticationInteractionService, ILogger logger) { _backchannelAuthenticationInteraction = backchannelAuthenticationInteractionService; _logger = logger; } public async Task OnGet(string id) { var result = await _backchannelAuthenticationInteraction.GetLoginRequestByInternalIdAsync(id); if (result == null) { _logger.InvalidBackchannelLoginId(id); return RedirectToPage("/Home/Error/Index"); } else { LoginRequest = result; } return Page(); } } ================================================ FILE: src/IdentityServer/Pages/Ciba/InputModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Ciba; public class InputModel { public string? Button { get; set; } public IEnumerable ScopesConsented { get; set; } = new List(); public string? Id { get; set; } public string? Description { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Ciba/ViewModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Ciba; public class ViewModel { public string? ClientName { get; set; } public string? ClientUrl { get; set; } public string? ClientLogoUrl { get; set; } public string? BindingMessage { get; set; } public IEnumerable IdentityScopes { get; set; } = Enumerable.Empty(); public IEnumerable ApiScopes { get; set; } = Enumerable.Empty(); } public class ScopeViewModel { public string? Name { get; set; } public string? Value { get; set; } public string? DisplayName { get; set; } public string? Description { get; set; } public bool Emphasize { get; set; } public bool Required { get; set; } public bool Checked { get; set; } public IEnumerable Resources { get; set; } = Enumerable.Empty(); } public class ResourceViewModel { public string? Name { get; set; } public string? DisplayName { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Ciba/_ScopeListItem.cshtml ================================================ @using IdentityServer.Pages.Ciba @model ScopeViewModel
  • @if (Model.Required) { (required) } @if (Model.Description != null) { } @if (Model.Resources?.Any() == true) { }
  • ================================================ FILE: src/IdentityServer/Pages/Consent/ConsentOptions.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Consent; public static class ConsentOptions { public static readonly bool EnableOfflineAccess = true; public static readonly string OfflineAccessDisplayName = "Offline Access"; public static readonly string OfflineAccessDescription = "Access to your applications and resources, even when you are offline"; public static readonly string MustChooseOneErrorMessage = "You must pick at least one permission"; public static readonly string InvalidSelectionErrorMessage = "Invalid selection"; } ================================================ FILE: src/IdentityServer/Pages/Consent/Index.cshtml ================================================ @page @model IdentityServer.Pages.Consent.Index @{ } ================================================ FILE: src/IdentityServer/Pages/Consent/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Events; using Duende.IdentityServer.Extensions; using Duende.IdentityServer.Models; using Duende.IdentityServer.Services; using Duende.IdentityServer.Validation; using IdentityModel; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Consent; [Authorize] [SecurityHeaders] public class Index : PageModel { private readonly IIdentityServerInteractionService _interaction; private readonly IEventService _events; private readonly ILogger _logger; public Index( IIdentityServerInteractionService interaction, IEventService events, ILogger logger) { _interaction = interaction; _events = events; _logger = logger; } public ViewModel View { get; set; } = default!; [BindProperty] public InputModel Input { get; set; } = default!; public async Task OnGet(string? returnUrl) { if (!await SetViewModelAsync(returnUrl)) { return RedirectToPage("/Home/Error/Index"); } Input = new InputModel { ReturnUrl = returnUrl, }; return Page(); } public async Task OnPost() { // validate return url is still valid var request = await _interaction.GetAuthorizationContextAsync(Input.ReturnUrl); if (request == null) return RedirectToPage("/Home/Error/Index"); ConsentResponse? grantedConsent = null; // user clicked 'no' - send back the standard 'access_denied' response if (Input.Button == "no") { grantedConsent = new ConsentResponse { Error = AuthorizationError.AccessDenied }; // emit event await _events.RaiseAsync(new ConsentDeniedEvent(User.GetSubjectId(), request.Client.ClientId, request.ValidatedResources.RawScopeValues)); Telemetry.Metrics.ConsentDenied(request.Client.ClientId, request.ValidatedResources.ParsedScopes.Select(s => s.ParsedName)); } // user clicked 'yes' - validate the data else if (Input.Button == "yes") { // if the user consented to some scope, build the response model if (Input.ScopesConsented.Any()) { var scopes = Input.ScopesConsented; if (ConsentOptions.EnableOfflineAccess == false) { scopes = scopes.Where(x => x != Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess); } grantedConsent = new ConsentResponse { RememberConsent = Input.RememberConsent, ScopesValuesConsented = scopes.ToArray(), Description = Input.Description }; // emit event await _events.RaiseAsync(new ConsentGrantedEvent(User.GetSubjectId(), request.Client.ClientId, request.ValidatedResources.RawScopeValues, grantedConsent.ScopesValuesConsented, grantedConsent.RememberConsent)); Telemetry.Metrics.ConsentGranted(request.Client.ClientId, grantedConsent.ScopesValuesConsented, grantedConsent.RememberConsent); var denied = request.ValidatedResources.ParsedScopes.Select(s => s.ParsedName).Except(grantedConsent.ScopesValuesConsented); Telemetry.Metrics.ConsentDenied(request.Client.ClientId, denied); } else { ModelState.AddModelError("", ConsentOptions.MustChooseOneErrorMessage); } } else { ModelState.AddModelError("", ConsentOptions.InvalidSelectionErrorMessage); } if (grantedConsent != null) { ArgumentNullException.ThrowIfNull(Input.ReturnUrl, nameof(Input.ReturnUrl)); // communicate outcome of consent back to identityserver await _interaction.GrantConsentAsync(request, grantedConsent); // redirect back to authorization endpoint if (request.IsNativeClient() == true) { // The client is native, so this change in how to // return the response is for better UX for the end user. return this.LoadingPage(Input.ReturnUrl); } return Redirect(Input.ReturnUrl); } // we need to redisplay the consent UI if (!await SetViewModelAsync(Input.ReturnUrl)) { return RedirectToPage("/Home/Error/Index"); } return Page(); } private async Task SetViewModelAsync(string? returnUrl) { ArgumentNullException.ThrowIfNull(returnUrl); var request = await _interaction.GetAuthorizationContextAsync(returnUrl); if (request != null) { View = CreateConsentViewModel(request); return true; } else { _logger.NoConsentMatchingRequest(returnUrl); return false; } } private ViewModel CreateConsentViewModel(AuthorizationRequest request) { var vm = new ViewModel { ClientName = request.Client.ClientName ?? request.Client.ClientId, ClientUrl = request.Client.ClientUri, ClientLogoUrl = request.Client.LogoUri, AllowRememberConsent = request.Client.AllowRememberConsent }; vm.IdentityScopes = request.ValidatedResources.Resources.IdentityResources .Select(x => CreateScopeViewModel(x, Input == null || Input.ScopesConsented.Contains(x.Name))) .ToArray(); var resourceIndicators = request.Parameters.GetValues(OidcConstants.AuthorizeRequest.Resource) ?? Enumerable.Empty(); var apiResources = request.ValidatedResources.Resources.ApiResources.Where(x => resourceIndicators.Contains(x.Name)); var apiScopes = new List(); foreach (var parsedScope in request.ValidatedResources.ParsedScopes) { var apiScope = request.ValidatedResources.Resources.FindApiScope(parsedScope.ParsedName); if (apiScope != null) { var scopeVm = CreateScopeViewModel(parsedScope, apiScope, Input == null || Input.ScopesConsented.Contains(parsedScope.RawValue)); scopeVm.Resources = apiResources.Where(x => x.Scopes.Contains(parsedScope.ParsedName)) .Select(x => new ResourceViewModel { Name = x.Name, DisplayName = x.DisplayName ?? x.Name, }).ToArray(); apiScopes.Add(scopeVm); } } if (ConsentOptions.EnableOfflineAccess && request.ValidatedResources.Resources.OfflineAccess) { apiScopes.Add(CreateOfflineAccessScope(Input == null || Input.ScopesConsented.Contains(Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess))); } vm.ApiScopes = apiScopes; return vm; } private static ScopeViewModel CreateScopeViewModel(IdentityResource identity, bool check) { return new ScopeViewModel { Name = identity.Name, Value = identity.Name, DisplayName = identity.DisplayName ?? identity.Name, Description = identity.Description, Emphasize = identity.Emphasize, Required = identity.Required, Checked = check || identity.Required }; } private static ScopeViewModel CreateScopeViewModel(ParsedScopeValue parsedScopeValue, ApiScope apiScope, bool check) { var displayName = apiScope.DisplayName ?? apiScope.Name; if (!String.IsNullOrWhiteSpace(parsedScopeValue.ParsedParameter)) { displayName += ":" + parsedScopeValue.ParsedParameter; } return new ScopeViewModel { Name = parsedScopeValue.ParsedName, Value = parsedScopeValue.RawValue, DisplayName = displayName, Description = apiScope.Description, Emphasize = apiScope.Emphasize, Required = apiScope.Required, Checked = check || apiScope.Required }; } private static ScopeViewModel CreateOfflineAccessScope(bool check) { return new ScopeViewModel { Value = Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess, DisplayName = ConsentOptions.OfflineAccessDisplayName, Description = ConsentOptions.OfflineAccessDescription, Emphasize = true, Checked = check }; } } ================================================ FILE: src/IdentityServer/Pages/Consent/InputModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Consent; public class InputModel { public string? Button { get; set; } public IEnumerable ScopesConsented { get; set; } = new List(); public bool RememberConsent { get; set; } = true; public string? ReturnUrl { get; set; } public string? Description { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Consent/ViewModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Consent; public class ViewModel { public string? ClientName { get; set; } public string? ClientUrl { get; set; } public string? ClientLogoUrl { get; set; } public bool AllowRememberConsent { get; set; } public IEnumerable IdentityScopes { get; set; } = Enumerable.Empty(); public IEnumerable ApiScopes { get; set; } = Enumerable.Empty(); } public class ScopeViewModel { public string? Name { get; set; } public string? Value { get; set; } public string? DisplayName { get; set; } public string? Description { get; set; } public bool Emphasize { get; set; } public bool Required { get; set; } public bool Checked { get; set; } public IEnumerable Resources { get; set; } = Enumerable.Empty(); } public class ResourceViewModel { public string? Name { get; set; } public string? DisplayName { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Consent/_ScopeListItem.cshtml ================================================ @using IdentityServer.Pages.Consent @model ScopeViewModel
  • @if (Model.Required) { (required) } @if (Model.Description != null) { } @if (Model.Resources?.Any() == true) { }
  • ================================================ FILE: src/IdentityServer/Pages/Device/DeviceOptions.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Device; public static class DeviceOptions { public static readonly bool EnableOfflineAccess = true; public static readonly string OfflineAccessDisplayName = "Offline Access"; public static readonly string OfflineAccessDescription = "Access to your applications and resources, even when you are offline"; public static readonly string InvalidUserCode = "Invalid user code"; public static readonly string MustChooseOneErrorMessage = "You must pick at least one permission"; public static readonly string InvalidSelectionErrorMessage = "Invalid selection"; } ================================================ FILE: src/IdentityServer/Pages/Device/Index.cshtml ================================================ @page @model IdentityServer.Pages.Device.Index @{ } @if (Model.Input.UserCode == null) { @*We need to collect the user code*@

    User Code

    Please enter the code displayed on your device.

    } else { @*collect consent for the user code provided*@
    @if (Model.View.ClientLogoUrl != null) { }

    @Model.View.ClientName is requesting your permission

    Please confirm that the authorization request matches the code: @Model.Input.UserCode.

    Uncheck the permissions you do not wish to grant.

    @if (Model.View.IdentityScopes.Any()) {
    Personal Information
      @foreach (var scope in Model.View.IdentityScopes) { }
    } @if (Model.View.ApiScopes.Any()) {
    Application Access
      @foreach (var scope in Model.View.ApiScopes) { }
    }
    Description
    @if (Model.View.AllowRememberConsent) {
    }
    @if (Model.View.ClientUrl != null) { @Model.View.ClientName }
    } ================================================ FILE: src/IdentityServer/Pages/Device/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Configuration; using Duende.IdentityServer.Events; using Duende.IdentityServer.Extensions; using Duende.IdentityServer.Models; using Duende.IdentityServer.Services; using Duende.IdentityServer.Validation; using IdentityServer.Pages.Consent; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Options; namespace IdentityServer.Pages.Device; [SecurityHeaders] [Authorize] public class Index : PageModel { private readonly IDeviceFlowInteractionService _interaction; private readonly IEventService _events; private readonly IOptions _options; private readonly ILogger _logger; public Index( IDeviceFlowInteractionService interaction, IEventService eventService, IOptions options, ILogger logger) { _interaction = interaction; _events = eventService; _options = options; _logger = logger; } public ViewModel View { get; set; } = default!; [BindProperty] public InputModel Input { get; set; } = default!; public async Task OnGet(string? userCode) { if (String.IsNullOrWhiteSpace(userCode)) { return Page(); } if (!await SetViewModelAsync(userCode)) { ModelState.AddModelError("", DeviceOptions.InvalidUserCode); return Page(); } Input = new InputModel { UserCode = userCode, }; return Page(); } public async Task OnPost() { var request = await _interaction.GetAuthorizationContextAsync(Input.UserCode ?? throw new ArgumentNullException(nameof(Input.UserCode))); if (request == null) return RedirectToPage("/Home/Error/Index"); ConsentResponse? grantedConsent = null; // user clicked 'no' - send back the standard 'access_denied' response if (Input.Button == "no") { grantedConsent = new ConsentResponse { Error = AuthorizationError.AccessDenied }; // emit event await _events.RaiseAsync(new ConsentDeniedEvent(User.GetSubjectId(), request.Client.ClientId, request.ValidatedResources.RawScopeValues)); Telemetry.Metrics.ConsentDenied(request.Client.ClientId, request.ValidatedResources.ParsedScopes.Select(s => s.ParsedName)); } // user clicked 'yes' - validate the data else if (Input.Button == "yes") { // if the user consented to some scope, build the response model if (Input.ScopesConsented.Any()) { var scopes = Input.ScopesConsented; if (ConsentOptions.EnableOfflineAccess == false) { scopes = scopes.Where(x => x != Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess); } grantedConsent = new ConsentResponse { RememberConsent = Input.RememberConsent, ScopesValuesConsented = scopes.ToArray(), Description = Input.Description }; // emit event await _events.RaiseAsync(new ConsentGrantedEvent(User.GetSubjectId(), request.Client.ClientId, request.ValidatedResources.RawScopeValues, grantedConsent.ScopesValuesConsented, grantedConsent.RememberConsent)); Telemetry.Metrics.ConsentGranted(request.Client.ClientId, grantedConsent.ScopesValuesConsented, grantedConsent.RememberConsent); var denied = request.ValidatedResources.ParsedScopes.Select(s => s.ParsedName).Except(grantedConsent.ScopesValuesConsented); Telemetry.Metrics.ConsentDenied(request.Client.ClientId, denied); } else { ModelState.AddModelError("", ConsentOptions.MustChooseOneErrorMessage); } } else { ModelState.AddModelError("", ConsentOptions.InvalidSelectionErrorMessage); } if (grantedConsent != null) { // communicate outcome of consent back to identityserver await _interaction.HandleRequestAsync(Input.UserCode, grantedConsent); // indicate that's it ok to redirect back to authorization endpoint return RedirectToPage("/Device/Success"); } // we need to redisplay the consent UI if (!await SetViewModelAsync(Input.UserCode)) { return RedirectToPage("/Home/Error/Index"); } return Page(); } private async Task SetViewModelAsync(string userCode) { var request = await _interaction.GetAuthorizationContextAsync(userCode); if (request != null) { View = CreateConsentViewModel(request); return true; } else { View = new ViewModel(); return false; } } private ViewModel CreateConsentViewModel(DeviceFlowAuthorizationRequest request) { var vm = new ViewModel { ClientName = request.Client.ClientName ?? request.Client.ClientId, ClientUrl = request.Client.ClientUri, ClientLogoUrl = request.Client.LogoUri, AllowRememberConsent = request.Client.AllowRememberConsent }; vm.IdentityScopes = request.ValidatedResources.Resources.IdentityResources.Select(x => CreateScopeViewModel(x, Input == null || Input.ScopesConsented.Contains(x.Name))).ToArray(); var apiScopes = new List(); foreach (var parsedScope in request.ValidatedResources.ParsedScopes) { var apiScope = request.ValidatedResources.Resources.FindApiScope(parsedScope.ParsedName); if (apiScope != null) { var scopeVm = CreateScopeViewModel(parsedScope, apiScope, Input == null || Input.ScopesConsented.Contains(parsedScope.RawValue)); apiScopes.Add(scopeVm); } } if (DeviceOptions.EnableOfflineAccess && request.ValidatedResources.Resources.OfflineAccess) { apiScopes.Add(GetOfflineAccessScope(Input == null || Input.ScopesConsented.Contains(Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess))); } vm.ApiScopes = apiScopes; return vm; } private static ScopeViewModel CreateScopeViewModel(IdentityResource identity, bool check) { return new ScopeViewModel { Value = identity.Name, DisplayName = identity.DisplayName ?? identity.Name, Description = identity.Description, Emphasize = identity.Emphasize, Required = identity.Required, Checked = check || identity.Required }; } private static ScopeViewModel CreateScopeViewModel(ParsedScopeValue parsedScopeValue, ApiScope apiScope, bool check) { return new ScopeViewModel { Value = parsedScopeValue.RawValue, // todo: use the parsed scope value in the display? DisplayName = apiScope.DisplayName ?? apiScope.Name, Description = apiScope.Description, Emphasize = apiScope.Emphasize, Required = apiScope.Required, Checked = check || apiScope.Required }; } private static ScopeViewModel GetOfflineAccessScope(bool check) { return new ScopeViewModel { Value = Duende.IdentityServer.IdentityServerConstants.StandardScopes.OfflineAccess, DisplayName = DeviceOptions.OfflineAccessDisplayName, Description = DeviceOptions.OfflineAccessDescription, Emphasize = true, Checked = check }; } } ================================================ FILE: src/IdentityServer/Pages/Device/InputModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Device; public class InputModel { public string? Button { get; set; } public IEnumerable ScopesConsented { get; set; } = new List(); public bool RememberConsent { get; set; } = true; public string? ReturnUrl { get; set; } public string? Description { get; set; } public string? UserCode { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Device/Success.cshtml ================================================ @page @model IdentityServer.Pages.Device.SuccessModel @{ }

    Success

    You have successfully authorized the device

    ================================================ FILE: src/IdentityServer/Pages/Device/Success.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Device; [SecurityHeaders] [Authorize] public class SuccessModel : PageModel { public void OnGet() { } } ================================================ FILE: src/IdentityServer/Pages/Device/ViewModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Device; public class ViewModel { public string? ClientName { get; set; } public string? ClientUrl { get; set; } public string? ClientLogoUrl { get; set; } public bool AllowRememberConsent { get; set; } public IEnumerable IdentityScopes { get; set; } = Enumerable.Empty(); public IEnumerable ApiScopes { get; set; } = Enumerable.Empty(); } public class ScopeViewModel { public string? Value { get; set; } public string? DisplayName { get; set; } public string? Description { get; set; } public bool Emphasize { get; set; } public bool Required { get; set; } public bool Checked { get; set; } } ================================================ FILE: src/IdentityServer/Pages/Device/_ScopeListItem.cshtml ================================================ @using IdentityServer.Pages.Device @model ScopeViewModel
  • @if (Model.Required) { (required) } @if (Model.Description != null) { }
  • ================================================ FILE: src/IdentityServer/Pages/Diagnostics/Index.cshtml ================================================ @page @model IdentityServer.Pages.Diagnostics.Index

    Authentication Cookie

    Claims

    @if(Model.View.AuthenticateResult.Principal != null) {
    @foreach (var claim in Model.View.AuthenticateResult.Principal.Claims) {
    @claim.Type
    @claim.Value
    }
    }

    Properties

    @if (Model.View.AuthenticateResult.Properties != null) { @foreach (var prop in Model.View.AuthenticateResult.Properties.Items) {
    @prop.Key
    @prop.Value
    } } @if (Model.View.Clients.Any()) {
    Clients
    @{ var clients = Model.View.Clients.ToArray(); for(var i = 0; i < clients.Length; i++) { @clients[i] if (i < clients.Length - 1) { , } } }
    }
    ================================================ FILE: src/IdentityServer/Pages/Diagnostics/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Authorization; namespace IdentityServer.Pages.Diagnostics; [SecurityHeaders] [Authorize] public class Index : PageModel { public ViewModel View { get; set; } = default!; public async Task OnGet() { var localAddresses = new List { "127.0.0.1", "::1" }; if(HttpContext.Connection.LocalIpAddress != null) { localAddresses.Add(HttpContext.Connection.LocalIpAddress.ToString()); } if (!localAddresses.Contains(HttpContext.Connection.RemoteIpAddress?.ToString())) { return NotFound(); } View = new ViewModel(await HttpContext.AuthenticateAsync()); return Page(); } } ================================================ FILE: src/IdentityServer/Pages/Diagnostics/ViewModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using IdentityModel; using Microsoft.AspNetCore.Authentication; using System.Text; using System.Text.Json; namespace IdentityServer.Pages.Diagnostics; public class ViewModel { public ViewModel(AuthenticateResult result) { AuthenticateResult = result; if (result?.Properties?.Items.TryGetValue("client_list", out var encoded) == true) { if (encoded != null) { var bytes = Base64Url.Decode(encoded); var value = Encoding.UTF8.GetString(bytes); Clients = JsonSerializer.Deserialize(value) ?? Enumerable.Empty(); return; } } Clients = Enumerable.Empty(); } public AuthenticateResult AuthenticateResult { get; } public IEnumerable Clients { get; } } ================================================ FILE: src/IdentityServer/Pages/Extensions.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Models; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages; public static class Extensions { /// /// Determines if the authentication scheme support signout. /// internal static async Task GetSchemeSupportsSignOutAsync(this HttpContext context, string scheme) { var provider = context.RequestServices.GetRequiredService(); var handler = await provider.GetHandlerAsync(context, scheme); return (handler is IAuthenticationSignOutHandler); } /// /// Checks if the redirect URI is for a native client. /// internal static bool IsNativeClient(this AuthorizationRequest context) { return !context.RedirectUri.StartsWith("https", StringComparison.Ordinal) && !context.RedirectUri.StartsWith("http", StringComparison.Ordinal); } /// /// Renders a loading page that is used to redirect back to the redirectUri. /// internal static IActionResult LoadingPage(this PageModel page, string? redirectUri) { page.HttpContext.Response.StatusCode = 200; page.HttpContext.Response.Headers["Location"] = ""; return page.RedirectToPage("/Redirect/Index", new { RedirectUri = redirectUri }); } } ================================================ FILE: src/IdentityServer/Pages/ExternalLogin/Callback.cshtml ================================================ @page @model IdentityServer.Pages.ExternalLogin.Callback @{ Layout = null; }
    ================================================ FILE: src/IdentityServer/Pages/ExternalLogin/Callback.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using System.Security.Claims; using Duende.IdentityServer; using Duende.IdentityServer.Events; using Duende.IdentityServer.Services; using Duende.IdentityServer.Test; using IdentityModel; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.ExternalLogin; [AllowAnonymous] [SecurityHeaders] public class Callback : PageModel { private readonly TestUserStore _users; private readonly IIdentityServerInteractionService _interaction; private readonly ILogger _logger; private readonly IEventService _events; public Callback( IIdentityServerInteractionService interaction, IEventService events, ILogger logger, TestUserStore? users = null) { // this is where you would plug in your own custom identity management library (e.g. ASP.NET Identity) _users = users ?? throw new InvalidOperationException("Please call 'AddTestUsers(TestUsers.Users)' on the IIdentityServerBuilder in Startup or remove the TestUserStore from the AccountController."); _interaction = interaction; _logger = logger; _events = events; } public async Task OnGet() { // read external identity from the temporary cookie var result = await HttpContext.AuthenticateAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme); if (result.Succeeded != true) { throw new InvalidOperationException($"External authentication error: { result.Failure }"); } var externalUser = result.Principal ?? throw new InvalidOperationException("External authentication produced a null Principal"); if (_logger.IsEnabled(LogLevel.Debug)) { var externalClaims = externalUser.Claims.Select(c => $"{c.Type}: {c.Value}"); _logger.ExternalClaims(externalClaims); } // lookup our user and external provider info // try to determine the unique id of the external user (issued by the provider) // the most common claim type for that are the sub claim and the NameIdentifier // depending on the external provider, some other claim type might be used var userIdClaim = externalUser.FindFirst(JwtClaimTypes.Subject) ?? externalUser.FindFirst(ClaimTypes.NameIdentifier) ?? throw new InvalidOperationException("Unknown userid"); var provider = result.Properties.Items["scheme"] ?? throw new InvalidOperationException("Null scheme in authentiation properties"); var providerUserId = userIdClaim.Value; // find external user var user = _users.FindByExternalProvider(provider, providerUserId); if (user == null) { // this might be where you might initiate a custom workflow for user registration // in this sample we don't show how that would be done, as our sample implementation // simply auto-provisions new external user // // remove the user id claim so we don't include it as an extra claim if/when we provision the user var claims = externalUser.Claims.ToList(); claims.Remove(userIdClaim); user = _users.AutoProvisionUser(provider, providerUserId, claims.ToList()); } // this allows us to collect any additional claims or properties // for the specific protocols used and store them in the local auth cookie. // this is typically used to store data needed for signout from those protocols. var additionalLocalClaims = new List(); var localSignInProps = new AuthenticationProperties(); CaptureExternalLoginContext(result, additionalLocalClaims, localSignInProps); // issue authentication cookie for user var isuser = new IdentityServerUser(user.SubjectId) { DisplayName = user.Username, IdentityProvider = provider, AdditionalClaims = additionalLocalClaims }; await HttpContext.SignInAsync(isuser, localSignInProps); // delete temporary cookie used during external authentication await HttpContext.SignOutAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme); // retrieve return URL var returnUrl = result.Properties.Items["returnUrl"] ?? "~/"; // check if external login is in the context of an OIDC request var context = await _interaction.GetAuthorizationContextAsync(returnUrl); await _events.RaiseAsync(new UserLoginSuccessEvent(provider, providerUserId, user.SubjectId, user.Username, true, context?.Client.ClientId)); Telemetry.Metrics.UserLogin(context?.Client.ClientId, provider!); if (context != null) { if (context.IsNativeClient()) { // The client is native, so this change in how to // return the response is for better UX for the end user. return this.LoadingPage(returnUrl); } } return Redirect(returnUrl); } // if the external login is OIDC-based, there are certain things we need to preserve to make logout work // this will be different for WS-Fed, SAML2p or other protocols private static void CaptureExternalLoginContext(AuthenticateResult externalResult, List localClaims, AuthenticationProperties localSignInProps) { ArgumentNullException.ThrowIfNull(externalResult.Principal, nameof(externalResult.Principal)); // capture the idp used to login, so the session knows where the user came from localClaims.Add(new Claim(JwtClaimTypes.IdentityProvider, externalResult.Properties?.Items["scheme"] ?? "unknown identity provider")); // if the external system sent a session id claim, copy it over // so we can use it for single sign-out var sid = externalResult.Principal.Claims.FirstOrDefault(x => x.Type == JwtClaimTypes.SessionId); if (sid != null) { localClaims.Add(new Claim(JwtClaimTypes.SessionId, sid.Value)); } // if the external provider issued an id_token, we'll keep it for signout var idToken = externalResult.Properties?.GetTokenValue("id_token"); if (idToken != null) { localSignInProps.StoreTokens(new[] { new AuthenticationToken { Name = "id_token", Value = idToken } }); } } } ================================================ FILE: src/IdentityServer/Pages/ExternalLogin/Challenge.cshtml ================================================ @page @model IdentityServer.Pages.ExternalLogin.Challenge @{ Layout = null; }
    ================================================ FILE: src/IdentityServer/Pages/ExternalLogin/Challenge.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Services; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.ExternalLogin; [AllowAnonymous] [SecurityHeaders] public class Challenge : PageModel { private readonly IIdentityServerInteractionService _interactionService; public Challenge(IIdentityServerInteractionService interactionService) { _interactionService = interactionService; } public IActionResult OnGet(string scheme, string? returnUrl) { if (string.IsNullOrEmpty(returnUrl)) returnUrl = "~/"; // validate returnUrl - either it is a valid OIDC URL or back to a local page if (Url.IsLocalUrl(returnUrl) == false && _interactionService.IsValidReturnUrl(returnUrl) == false) { // user might have clicked on a malicious link - should be logged throw new ArgumentException("invalid return URL"); } // start challenge and roundtrip the return URL and scheme var props = new AuthenticationProperties { RedirectUri = Url.Page("/externallogin/callback"), Items = { { "returnUrl", returnUrl }, { "scheme", scheme }, } }; return Challenge(props, scheme); } } ================================================ FILE: src/IdentityServer/Pages/Grants/Index.cshtml ================================================ @page @model IdentityServer.Pages.Grants.Index @{ }

    Client Application Permissions

    Below is the list of applications you have given permission to and the resources they have access to.

    @if (!Model.View.Grants.Any()) {
    You have not given access to any applications
    } else { foreach (var grant in Model.View.Grants) {
    @if (grant.ClientLogoUrl != null) { } @grant.ClientName
      @if (grant.Description != null) {
    • @grant.Description
    • }
    • @grant.Created.ToString("yyyy-MM-dd")
    • @if (grant.Expires.HasValue) {
    • @grant.Expires.Value.ToString("yyyy-MM-dd")
    • } @if (grant.IdentityGrantNames.Any()) {
      • @foreach (var name in grant.IdentityGrantNames) {
      • @name
      • }
    • } @if (grant.ApiGrantNames.Any()) {
      • @foreach (var name in grant.ApiGrantNames) {
      • @name
      • }
    • }
    } }
    ================================================ FILE: src/IdentityServer/Pages/Grants/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Events; using Duende.IdentityServer.Extensions; using Duende.IdentityServer.Services; using Duende.IdentityServer.Stores; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Grants; [SecurityHeaders] [Authorize] public class Index : PageModel { private readonly IIdentityServerInteractionService _interaction; private readonly IClientStore _clients; private readonly IResourceStore _resources; private readonly IEventService _events; public Index(IIdentityServerInteractionService interaction, IClientStore clients, IResourceStore resources, IEventService events) { _interaction = interaction; _clients = clients; _resources = resources; _events = events; } public ViewModel View { get; set; } = default!; public async Task OnGet() { var grants = await _interaction.GetAllUserGrantsAsync(); var list = new List(); foreach (var grant in grants) { var client = await _clients.FindClientByIdAsync(grant.ClientId); if (client != null) { var resources = await _resources.FindResourcesByScopeAsync(grant.Scopes); var item = new GrantViewModel() { ClientId = client.ClientId, ClientName = client.ClientName ?? client.ClientId, ClientLogoUrl = client.LogoUri, ClientUrl = client.ClientUri, Description = grant.Description, Created = grant.CreationTime, Expires = grant.Expiration, IdentityGrantNames = resources.IdentityResources.Select(x => x.DisplayName ?? x.Name).ToArray(), ApiGrantNames = resources.ApiScopes.Select(x => x.DisplayName ?? x.Name).ToArray() }; list.Add(item); } } View = new ViewModel { Grants = list }; } [BindProperty] public string? ClientId { get; set; } public async Task OnPost() { await _interaction.RevokeUserConsentAsync(ClientId); await _events.RaiseAsync(new GrantsRevokedEvent(User.GetSubjectId(), ClientId)); Telemetry.Metrics.GrantsRevoked(ClientId); return RedirectToPage("/Grants/Index"); } } ================================================ FILE: src/IdentityServer/Pages/Grants/ViewModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages.Grants; public class ViewModel { public IEnumerable Grants { get; set; } = Enumerable.Empty(); } public class GrantViewModel { public string? ClientId { get; set; } public string? ClientName { get; set; } public string? ClientUrl { get; set; } public string? ClientLogoUrl { get; set; } public string? Description { get; set; } public DateTime Created { get; set; } public DateTime? Expires { get; set; } public IEnumerable IdentityGrantNames { get; set; } = Enumerable.Empty(); public IEnumerable ApiGrantNames { get; set; } = Enumerable.Empty(); } ================================================ FILE: src/IdentityServer/Pages/Home/Error/Index.cshtml ================================================ @page @model IdentityServer.Pages.Error.Index

    Error

    Sorry, there was an error @if (Model.View.Error != null) { : @Model.View.Error.Error if (Model.View.Error.ErrorDescription != null) {
    @Model.View.Error.ErrorDescription
    } }
    @if (Model?.View?.Error?.RequestId != null) {
    Request Id: @Model.View.Error.RequestId
    }
    ================================================ FILE: src/IdentityServer/Pages/Home/Error/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Error; [AllowAnonymous] [SecurityHeaders] public class Index : PageModel { private readonly IIdentityServerInteractionService _interaction; private readonly IWebHostEnvironment _environment; public ViewModel View { get; set; } = new(); public Index(IIdentityServerInteractionService interaction, IWebHostEnvironment environment) { _interaction = interaction; _environment = environment; } public async Task OnGet(string? errorId) { // retrieve error details from identityserver var message = await _interaction.GetErrorContextAsync(errorId); if (message != null) { View.Error = message; if (!_environment.IsDevelopment()) { // only show in development message.ErrorDescription = null; } } } } ================================================ FILE: src/IdentityServer/Pages/Home/Error/ViewModel.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Models; namespace IdentityServer.Pages.Error; public class ViewModel { public ViewModel() { } public ViewModel(string error) { Error = new ErrorMessage { Error = error }; } public ErrorMessage? Error { get; set; } } ================================================ FILE: src/IdentityServer/Pages/IdentityServerSuppressions.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. // This file is used by Code Analysis to maintain SuppressMessage // attributes that are applied to this project. // Project-level suppressions either have no target or are given // a specific target and scoped to a namespace, type, member, etc. using System.Diagnostics.CodeAnalysis; // global/shared [assembly: SuppressMessage("Design", "CA1054:URI-like parameters should not be strings", Justification = "Consistent with the IdentityServer APIs")] [assembly: SuppressMessage("Design", "CA1056:URI-like properties should not be strings", Justification = "Consistent with the IdentityServer APIs")] [assembly: SuppressMessage("Reliability", "CA2007:Consider calling ConfigureAwait on the awaited task", Justification = "No need for ConfigureAwait in ASP.NET Core application code, as there is no SynchronizationContext.")] // page specific [assembly: SuppressMessage("Design", "CA1002:Do not expose generic lists", Justification = "TestUsers are not designed to be extended", Scope = "member", Target = "~P:IdentityServer.TestUsers.Users")] [assembly: SuppressMessage("Design", "CA1034:Nested types should not be visible", Justification = "ExternalProvider is nested by design", Scope = "type", Target = "~T:IdentityServer.Pages.Login.ViewModel.ExternalProvider")] [assembly: SuppressMessage("Naming", "CA1716:Identifiers should not match keywords", Justification = "This namespace is just for organization, and won't be referenced elsewhere", Scope = "namespace", Target = "~N:IdentityServer.Pages.Error")] [assembly: SuppressMessage("Naming", "CA1724:Type names should not match namespaces", Justification = "Namespaces of pages are not likely to be used elsewhere, so there is little chance of confusion", Scope = "type", Target = "~T:IdentityServer.Pages.Ciba.Consent")] [assembly: SuppressMessage("Naming", "CA1724:Type names should not match namespaces", Justification = "Namespaces of pages are not likely to be used elsewhere, so there is little chance of confusion", Scope = "type", Target = "~T:IdentityServer.Pages.Extensions")] [assembly: SuppressMessage("Performance", "CA1805:Do not initialize unnecessarily", Justification = "This is for clarity and consistency with the surrounding code", Scope = "member", Target = "~F:IdentityServer.Pages.Logout.LogoutOptions.AutomaticRedirectAfterSignOut")] ================================================ FILE: src/IdentityServer/Pages/Index.cshtml ================================================ @page @model IdentityServer.Pages.Home.Index

    Welcome to Duende IdentityServer (version @Model.Version)

    • IdentityServer publishes a discovery document where you can find metadata and links to all the endpoints, key material, etc.
    • Click here to see the claims for your current session.
    • Click here to manage your stored grants.
    • Click here to view the server side sessions.
    • Click here to view your pending CIBA login requests.
    • Here are links to the source code repository, and ready to use samples.
    @if(Model.License != null) {

    License

    Serial Number
    @Model.License.SerialNumber
    Expiration
    @Model.License.Expiration!.Value.ToLongDateString()
    }
    ================================================ FILE: src/IdentityServer/Pages/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer; using System.Reflection; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Home; [AllowAnonymous] public class Index : PageModel { public Index(IdentityServerLicense? license = null) { License = license; } public string Version { get => typeof(Duende.IdentityServer.Hosting.IdentityServerMiddleware).Assembly .GetCustomAttribute() ?.InformationalVersion.Split('+').First() ?? "unavailable"; } public IdentityServerLicense? License { get; } } ================================================ FILE: src/IdentityServer/Pages/Log.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. namespace IdentityServer.Pages; internal static class Log { private static readonly Action _invalidId = LoggerMessage.Define( LogLevel.Error, EventIds.InvalidId, "Invalid id {Id}"); public static void InvalidId(this ILogger logger, string? id) { _invalidId(logger, id, null); } private static readonly Action _invalidBackchannelLoginId = LoggerMessage.Define( LogLevel.Warning, EventIds.InvalidBackchannelLoginId, "Invalid backchannel login id {Id}"); public static void InvalidBackchannelLoginId(this ILogger logger, string? id) { _invalidBackchannelLoginId(logger, id, null); } private static Action, Exception?> _externalClaims = LoggerMessage.Define>( LogLevel.Debug, EventIds.ExternalClaims, "External claims: {Claims}"); public static void ExternalClaims(this ILogger logger, IEnumerable claims) { _externalClaims(logger, claims, null); } private static Action _noMatchingBackchannelLoginRequest = LoggerMessage.Define( LogLevel.Error, EventIds.NoMatchingBackchannelLoginRequest, "No backchannel login request matching id: {Id}"); public static void NoMatchingBackchannelLoginRequest(this ILogger logger, string id) { _noMatchingBackchannelLoginRequest(logger, id, null); } private static Action _noConsentMatchingRequest = LoggerMessage.Define( LogLevel.Error, EventIds.NoConsentMatchingRequest, "No consent request matching request: {ReturnUrl}"); public static void NoConsentMatchingRequest(this ILogger logger, string returnUrl) { _noConsentMatchingRequest(logger, returnUrl, null); } } internal static class EventIds { private const int UIEventsStart = 10000; ////////////////////////////// // Consent ////////////////////////////// private const int ConsentEventsStart = UIEventsStart + 1000; public const int InvalidId = ConsentEventsStart + 0; public const int NoConsentMatchingRequest = ConsentEventsStart + 1; ////////////////////////////// // External Login ////////////////////////////// private const int ExternalLoginEventsStart = UIEventsStart + 2000; public const int ExternalClaims = ExternalLoginEventsStart + 0; ////////////////////////////// // CIBA ////////////////////////////// private const int CibaEventsStart = UIEventsStart + 3000; public const int InvalidBackchannelLoginId = CibaEventsStart + 0; public const int NoMatchingBackchannelLoginRequest = CibaEventsStart + 1; } ================================================ FILE: src/IdentityServer/Pages/Redirect/Index.cshtml ================================================ @page @model IdentityServer.Pages.Redirect.IndexModel @{ }

    You are now being returned to the application

    Once complete, you may close this tab.

    ================================================ FILE: src/IdentityServer/Pages/Redirect/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.Redirect; [AllowAnonymous] public class IndexModel : PageModel { public string? RedirectUri { get; set; } public IActionResult OnGet(string? redirectUri) { if (!Url.IsLocalUrl(redirectUri)) { return RedirectToPage("/Home/Error/Index"); } RedirectUri = redirectUri; return Page(); } } ================================================ FILE: src/IdentityServer/Pages/SecurityHeadersAttribute.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages; public sealed class SecurityHeadersAttribute : ActionFilterAttribute { public override void OnResultExecuting(ResultExecutingContext context) { ArgumentNullException.ThrowIfNull(context, nameof(context)); var result = context.Result; if (result is PageResult) { // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options if (!context.HttpContext.Response.Headers.ContainsKey("X-Content-Type-Options")) { context.HttpContext.Response.Headers.Append("X-Content-Type-Options", "nosniff"); } // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options if (!context.HttpContext.Response.Headers.ContainsKey("X-Frame-Options")) { context.HttpContext.Response.Headers.Append("X-Frame-Options", "DENY"); } // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy var csp = "default-src 'self'; object-src 'none'; frame-ancestors 'none'; sandbox allow-forms allow-same-origin allow-scripts; base-uri 'self';"; // also consider adding upgrade-insecure-requests once you have HTTPS in place for production //csp += "upgrade-insecure-requests;"; // also an example if you need client images to be displayed from twitter // csp += "img-src 'self' https://pbs.twimg.com;"; // once for standards compliant browsers if (!context.HttpContext.Response.Headers.ContainsKey("Content-Security-Policy")) { context.HttpContext.Response.Headers.Append("Content-Security-Policy", csp); } // and once again for IE if (!context.HttpContext.Response.Headers.ContainsKey("X-Content-Security-Policy")) { context.HttpContext.Response.Headers.Append("X-Content-Security-Policy", csp); } // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy var referrer_policy = "no-referrer"; if (!context.HttpContext.Response.Headers.ContainsKey("Referrer-Policy")) { context.HttpContext.Response.Headers.Append("Referrer-Policy", referrer_policy); } } } } ================================================ FILE: src/IdentityServer/Pages/ServerSideSessions/Index.cshtml ================================================ @page @model IdentityServer.Pages.ServerSideSessions.IndexModel

    User Sessions

    @if (Model.UserSessions != null) {
    @if (Model.UserSessions.HasPrevResults) { Prev }
    @if (Model.UserSessions.HasNextResults) { Next }
    @if (Model.UserSessions.TotalCount.HasValue) {
    @if (Model.UserSessions.CurrentPage.HasValue && Model.UserSessions.TotalPages.HasValue) { Total Results: @Model.UserSessions.TotalCount, Page @Model.UserSessions.CurrentPage of @Model.UserSessions.TotalPages } else { Total Results: @Model.UserSessions.TotalCount }
    }
    @if (Model.UserSessions.Results.Any()) {
    @foreach (var session in Model.UserSessions.Results) { }
    Subject Id Session Id Display Name Created Expires
    @session.SubjectId @session.SessionId @session.DisplayName @session.Created @session.Expires
    Clients: @if (session.ClientIds?.Any() == true) { @(session.ClientIds.Aggregate((x, y) => $"{x}, {y}")) } else { @("None") }
    } else {
    No User Sessions
    } } else {
    You do not have server-side sessions enabled. To do so, use AddServerSideSessions on your IdentityServer configuration. See the documentation for more information.
    }
    ================================================ FILE: src/IdentityServer/Pages/ServerSideSessions/Index.cshtml.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using Duende.IdentityServer.Models; using Duende.IdentityServer.Services; using Duende.IdentityServer.Stores; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace IdentityServer.Pages.ServerSideSessions { public class IndexModel : PageModel { private readonly ISessionManagementService? _sessionManagementService; public IndexModel(ISessionManagementService? sessionManagementService = null) { _sessionManagementService = sessionManagementService; } public QueryResult? UserSessions { get; set; } [BindProperty(SupportsGet = true)] public string? DisplayNameFilter { get; set; } [BindProperty(SupportsGet = true)] public string? SessionIdFilter { get; set; } [BindProperty(SupportsGet = true)] public string? SubjectIdFilter { get; set; } [BindProperty(SupportsGet = true)] public string? Token { get; set; } [BindProperty(SupportsGet = true)] public string? Prev { get; set; } public async Task OnGet() { if (_sessionManagementService != null) { UserSessions = await _sessionManagementService.QuerySessionsAsync(new SessionQuery { ResultsToken = Token, RequestPriorResults = Prev == "true", DisplayName = DisplayNameFilter, SessionId = SessionIdFilter, SubjectId = SubjectIdFilter }); } } [BindProperty] public string? SessionId { get; set; } public async Task OnPost() { ArgumentNullException.ThrowIfNull(_sessionManagementService); await _sessionManagementService.RemoveSessionsAsync(new RemoveSessionsContext { SessionId = SessionId, }); return RedirectToPage("/ServerSideSessions/Index", new { Token, DisplayNameFilter, SessionIdFilter, SubjectIdFilter, Prev }); } } } ================================================ FILE: src/IdentityServer/Pages/Shared/_Layout.cshtml ================================================ Duende IdentityServer
    @RenderBody()
    @RenderSection("scripts", required: false) ================================================ FILE: src/IdentityServer/Pages/Shared/_Nav.cshtml ================================================ @using Duende.IdentityServer.Extensions @{ #nullable enable string? name = null; if (!true.Equals(ViewData["signed-out"])) { name = Context.User?.GetDisplayName(); } } ================================================ FILE: src/IdentityServer/Pages/Shared/_ValidationSummary.cshtml ================================================ @if (ViewContext.ModelState.IsValid == false) {
    Error
    } ================================================ FILE: src/IdentityServer/Pages/Telemetry.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using System.Diagnostics.Metrics; namespace IdentityServer.Pages; #pragma warning disable CA1034 // Nested types should not be visible #pragma warning disable CA1724 // Type names should not match namespaces /// /// Telemetry helpers for the UI /// public static class Telemetry { private static readonly string ServiceVersion = typeof(Telemetry).Assembly.GetName().Version!.ToString(); /// /// Service name for telemetry. /// public static readonly string ServiceName = typeof(Telemetry).Assembly.GetName().Name!; /// /// Metrics configuration /// public static class Metrics { #pragma warning disable 1591 /// /// Name of Counters /// public static class Counters { public const string Consent = "tokenservice.consent"; public const string GrantsRevoked = "tokenservice.grants_revoked"; public const string UserLogin = "tokenservice.user_login"; public const string UserLogout = "tokenservice.user_logout"; } /// /// Name of tags /// public static class Tags { public const string Client = "client"; public const string Error = "error"; public const string Idp = "idp"; public const string Remember = "remember"; public const string Scope = "scope"; public const string Consent = "consent"; } /// /// Values of tags /// public static class TagValues { public const string Granted = "granted"; public const string Denied = "denied"; } #pragma warning restore 1591 /// /// Meter for the IdentityServer host project /// private static readonly Meter Meter = new Meter(ServiceName, ServiceVersion); private static Counter ConsentCounter = Meter.CreateCounter(Counters.Consent); /// /// Helper method to increase counter. The scopes /// are expanded and called one by one to not cause a combinatory explosion of scopes. /// /// Client id /// Scope names. Each element is added on it's own to the counter public static void ConsentGranted(string clientId, IEnumerable scopes, bool remember) { ArgumentNullException.ThrowIfNull(scopes); foreach (var scope in scopes) { ConsentCounter.Add(1, new(Tags.Client, clientId), new(Tags.Scope, scope), new(Tags.Remember, remember), new(Tags.Consent, TagValues.Granted)); } } /// /// Helper method to increase counter. The scopes /// are expanded and called one by one to not cause a combinatory explosion of scopes. /// /// Client id /// Scope names. Each element is added on it's own to the counter public static void ConsentDenied(string clientId, IEnumerable scopes) { ArgumentNullException.ThrowIfNull(scopes); foreach (var scope in scopes) { ConsentCounter.Add(1, new(Tags.Client, clientId), new(Tags.Scope, scope), new(Tags.Consent, TagValues.Denied)); } } private static Counter GrantsRevokedCounter = Meter.CreateCounter(Counters.GrantsRevoked); /// /// Helper method to increase the counter. /// /// Client id to revoke for, or null for all. public static void GrantsRevoked(string? clientId) => GrantsRevokedCounter.Add(1, tag: new(Tags.Client, clientId)); private static Counter UserLoginCounter = Meter.CreateCounter(Counters.UserLogin); /// /// Helper method to increase counter. /// /// Client Id, if available public static void UserLogin(string? clientId, string idp) => UserLoginCounter.Add(1, new(Tags.Client, clientId), new(Tags.Idp, idp)); /// /// Helper method to increase /// Client Id, if available /// Error message public static void UserLoginFailure(string? clientId, string idp, string error) => UserLoginCounter.Add(1, new(Tags.Client, clientId), new(Tags.Idp, idp), new(Tags.Error, error)); private static Counter UserLogoutCounter = Meter.CreateCounter(Counters.UserLogout); /// /// Helper method to increase the counter. /// /// Idp/authentication scheme for external authentication, or "local" for built in. public static void UserLogout(string? idp) => UserLogoutCounter.Add(1, tag: new(Tags.Idp, idp)); } } ================================================ FILE: src/IdentityServer/Pages/TestUsers.cs ================================================ // Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using IdentityModel; using System.Security.Claims; using System.Text.Json; using Duende.IdentityServer; using Duende.IdentityServer.Test; namespace IdentityServer; public static class TestUsers { public static List Users { get { var address = new { street_address = "One Hacker Way", locality = "Heidelberg", postal_code = "69118", country = "Germany" }; return new List { new TestUser { SubjectId = "10000", Username = "alice", Password = "alice", Claims = { new Claim(JwtClaimTypes.Name, "Alice Smith"), new Claim(JwtClaimTypes.GivenName, "Alice"), new Claim(JwtClaimTypes.FamilyName, "Smith"), new Claim(JwtClaimTypes.Email, "AliceSmith@email.com"), new Claim(JwtClaimTypes.EmailVerified, "true", ClaimValueTypes.Boolean), new Claim(JwtClaimTypes.WebSite, "http://alice.com"), new Claim(JwtClaimTypes.Address, JsonSerializer.Serialize(address), IdentityServerConstants.ClaimValueTypes.Json) } }, new TestUser { SubjectId = "10001", Username = "bob", Password = "bob", Claims = { new Claim(JwtClaimTypes.Name, "Bob Smith"), new Claim(JwtClaimTypes.GivenName, "Bob"), new Claim(JwtClaimTypes.FamilyName, "Smith"), new Claim(JwtClaimTypes.Email, "BobSmith@email.com"), new Claim(JwtClaimTypes.EmailVerified, "true", ClaimValueTypes.Boolean), new Claim(JwtClaimTypes.WebSite, "http://bob.com"), new Claim(JwtClaimTypes.Address, JsonSerializer.Serialize(address), IdentityServerConstants.ClaimValueTypes.Json), new Claim(JwtClaimTypes.Role, "staff"), } } }; } } } ================================================ FILE: src/IdentityServer/Pages/_ViewImports.cshtml ================================================ @using IdentityServer.Pages @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers ================================================ FILE: src/IdentityServer/Pages/_ViewStart.cshtml ================================================ @{ Layout = "_Layout"; } ================================================ FILE: src/IdentityServer/Program.cs ================================================ using IdentityServer; using Serilog; Log.Logger = new LoggerConfiguration() .WriteTo.Console() .CreateBootstrapLogger(); Log.Information("Starting up"); try { var builder = WebApplication.CreateBuilder(args); builder.AddServiceDefaults(); builder.Host.UseSerilog((ctx, lc) => lc .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}") .Enrich.FromLogContext() .ReadFrom.Configuration(ctx.Configuration)); var app = builder .ConfigureServices() .ConfigurePipeline(); app.Run(); } catch (Exception ex) { Log.Fatal(ex, "Unhandled exception"); } finally { Log.Information("Shut down complete"); Log.CloseAndFlush(); } ================================================ FILE: src/IdentityServer/Properties/launchSettings.json ================================================ { "profiles": { "SelfHost": { "commandName": "Project", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, "applicationUrl": "https://localhost:7275" } } } ================================================ FILE: src/IdentityServer/appsettings.json ================================================ { "Serilog": { "MinimumLevel": { "Default": "Debug", "Override": { "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information", "Microsoft.AspNetCore.Authentication": "Debug", "System": "Warning" } } } } ================================================ FILE: src/IdentityServer/wwwroot/css/site.css ================================================ .welcome-page .logo { width: 64px; } .icon-banner { width: 32px; } .body-container { margin-top: 60px; padding-bottom: 40px; } .welcome-page li { list-style: none; padding: 4px; } .logged-out-page iframe { display: none; width: 0; height: 0; } .grants-page .card { margin-top: 20px; border-bottom: 1px solid lightgray; } .grants-page .card .card-title { font-size: 120%; font-weight: bold; } .grants-page .card .card-title img { width: 100px; height: 100px; } .grants-page .card label { font-weight: bold; } .test-users { margin-top: 1rem; background: #ddd; padding: 0.6rem 1rem; padding-bottom: 0.1rem; } ================================================ FILE: src/IdentityServer/wwwroot/css/site.scss ================================================ .welcome-page { .logo { width: 64px; } } .icon-banner { width: 32px; } .body-container { margin-top: 60px; padding-bottom: 40px; } .welcome-page { li { list-style: none; padding: 4px; } } .logged-out-page { iframe { display: none; width: 0; height: 0; } } .grants-page { .card { margin-top: 20px; border-bottom: 1px solid lightgray; .card-title { img { width: 100px; height: 100px; } font-size: 120%; font-weight: bold; } label { font-weight: bold; } } } .test-users { margin-top: 1rem; background: #ddd; padding: 0.6rem 1rem; padding-bottom: 0.1rem; } ================================================ FILE: src/IdentityServer/wwwroot/js/signin-redirect.js ================================================ window.location.href = document.querySelector("meta[http-equiv=refresh]").getAttribute("data-url"); ================================================ FILE: src/IdentityServer/wwwroot/js/signout-redirect.js ================================================ window.addEventListener("load", function () { var a = document.querySelector("a.PostLogoutRedirectUri"); if (a) { window.location = a.href; } }); ================================================ FILE: src/IdentityServer/wwwroot/lib/bootstrap/LICENSE ================================================ The MIT License (MIT) Copyright (c) 2011-2020 Twitter, Inc. Copyright (c) 2011-2020 The Bootstrap Authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: src/IdentityServer/wwwroot/lib/bootstrap/README.md ================================================

    Bootstrap logo

    Bootstrap

    Sleek, intuitive, and powerful front-end framework for faster and easier web development.
    Explore Bootstrap docs »

    Report bug · Request feature · Themes · Blog

    ## Table of contents - [Quick start](#quick-start) - [Status](#status) - [What's included](#whats-included) - [Bugs and feature requests](#bugs-and-feature-requests) - [Documentation](#documentation) - [Contributing](#contributing) - [Community](#community) - [Versioning](#versioning) - [Creators](#creators) - [Thanks](#thanks) - [Copyright and license](#copyright-and-license) ## Quick start Several quick start options are available: - [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.5.3.zip) - Clone the repo: `git clone https://github.com/twbs/bootstrap.git` - Install with [npm](https://www.npmjs.com/): `npm install bootstrap` - Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap@4.5.3` - Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap:4.5.3` - Install with [NuGet](https://www.nuget.org/): CSS: `Install-Package bootstrap` Sass: `Install-Package bootstrap.sass` Read the [Getting started page](https://getbootstrap.com/docs/4.5/getting-started/introduction/) for information on the framework contents, templates and examples, and more. ## Status [![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com/) [![Build Status](https://github.com/twbs/bootstrap/workflows/JS%20Tests/badge.svg?branch=v4-dev)](https://github.com/twbs/bootstrap/actions?query=workflow%3AJS+Tests+branch%3Av4-dev) [![npm version](https://img.shields.io/npm/v/bootstrap)](https://www.npmjs.com/package/bootstrap) [![Gem version](https://img.shields.io/gem/v/bootstrap)](https://rubygems.org/gems/bootstrap) [![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue)](https://atmospherejs.com/twbs/bootstrap) [![Packagist Prerelease](https://img.shields.io/packagist/vpre/twbs/bootstrap)](https://packagist.org/packages/twbs/bootstrap) [![NuGet](https://img.shields.io/nuget/vpre/bootstrap)](https://www.nuget.org/packages/bootstrap/absoluteLatest) [![peerDependencies Status](https://img.shields.io/david/peer/twbs/bootstrap)](https://david-dm.org/twbs/bootstrap?type=peer) [![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap)](https://david-dm.org/twbs/bootstrap?type=dev) [![Coverage Status](https://img.shields.io/coveralls/github/twbs/bootstrap/v4-dev)](https://coveralls.io/github/twbs/bootstrap?branch=v4-dev) [![CSS gzip size](https://img.badgesize.io/twbs/bootstrap/v4-dev/dist/css/bootstrap.min.css?compression=gzip&label=CSS%20gzip%20size)](https://github.com/twbs/bootstrap/blob/v4-dev/dist/css/bootstrap.min.css) [![JS gzip size](https://img.badgesize.io/twbs/bootstrap/v4-dev/dist/js/bootstrap.min.js?compression=gzip&label=JS%20gzip%20size)](https://github.com/twbs/bootstrap/blob/v4-dev/dist/js/bootstrap.min.js) [![BrowserStack Status](https://www.browserstack.com/automate/badge.svg?badge_key=SkxZcStBeExEdVJqQ2hWYnlWckpkNmNEY213SFp6WHFETWk2bGFuY3pCbz0tLXhqbHJsVlZhQnRBdEpod3NLSDMzaHc9PQ==--3d0b75245708616eb93113221beece33e680b229)](https://www.browserstack.com/automate/public-build/SkxZcStBeExEdVJqQ2hWYnlWckpkNmNEY213SFp6WHFETWk2bGFuY3pCbz0tLXhqbHJsVlZhQnRBdEpod3NLSDMzaHc9PQ==--3d0b75245708616eb93113221beece33e680b229) [![Backers on Open Collective](https://img.shields.io/opencollective/backers/bootstrap)](#backers) [![Sponsors on Open Collective](https://img.shields.io/opencollective/sponsors/bootstrap)](#sponsors) ## What's included Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this: ```text bootstrap/ └── dist/ ├── css/ │ ├── bootstrap-grid.css │ ├── bootstrap-grid.css.map │ ├── bootstrap-grid.min.css │ ├── bootstrap-grid.min.css.map │ ├── bootstrap-reboot.css │ ├── bootstrap-reboot.css.map │ ├── bootstrap-reboot.min.css │ ├── bootstrap-reboot.min.css.map │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css │ └── bootstrap.min.css.map └── js/ ├── bootstrap.bundle.js ├── bootstrap.bundle.js.map ├── bootstrap.bundle.min.js ├── bootstrap.bundle.min.js.map ├── bootstrap.js ├── bootstrap.js.map ├── bootstrap.min.js └── bootstrap.min.js.map ``` We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). [source maps](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Bundled JS files (`bootstrap.bundle.js` and minified `bootstrap.bundle.min.js`) include [Popper](https://popper.js.org/), but not [jQuery](https://jquery.com/). ## Bugs and feature requests Have a bug or a feature request? Please first read the [issue guidelines](https://github.com/twbs/bootstrap/blob/v4-dev/.github/CONTRIBUTING.md#using-the-issue-tracker) and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/twbs/bootstrap/issues/new). ## Documentation Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at . The docs may also be run locally. Documentation search is powered by [Algolia's DocSearch](https://community.algolia.com/docsearch/). Working on our search? Be sure to set `debug: true` in `site/docs/4.5/assets/js/src/search.js` file. ### Running documentation locally 1. Run through the [tooling setup](https://getbootstrap.com/docs/4.5/getting-started/build-tools/#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`. 2. Run `npm install` to install Node.js dependencies. 3. Run `npm start` to compile CSS and JavaScript files, generate our docs, and watch for changes. 4. Open `http://localhost:9001` in your browser, and voilà. Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/). ### Documentation for previous releases You can find all our previous releases docs on . [Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download. ## Contributing Please read through our [contributing guidelines](https://github.com/twbs/bootstrap/blob/v4-dev/.github/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development. Moreover, if your pull request contains JavaScript patches or features, you must include [relevant unit tests](https://github.com/twbs/bootstrap/tree/v4-dev/js/tests). All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo). Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/v4-dev/.editorconfig) for easy use in common text editors. Read more and download plugins at . ## Community Get updates on Bootstrap's development and chat with the project maintainers and community members. - Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap). - Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com/). - Join [the official Slack room](https://bootstrap-slack.herokuapp.com/). - Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel. - Implementation help may be found at Stack Overflow (tagged [`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4)). - Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability. ## Versioning For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](https://semver.org/). Sometimes we screw up, but we adhere to those rules whenever possible. See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com/) contain summaries of the most noteworthy changes made in each release. ## Creators **Mark Otto** - - **Jacob Thornton** - - ## Thanks BrowserStack Logo Thanks to [BrowserStack](https://www.browserstack.com/) for providing the infrastructure that allows us to test in real browsers! ## Sponsors Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/bootstrap#sponsor)] [![](https://opencollective.com/bootstrap/sponsor/0/avatar.svg)](https://opencollective.com/bootstrap/sponsor/0/website) [![](https://opencollective.com/bootstrap/sponsor/1/avatar.svg)](https://opencollective.com/bootstrap/sponsor/1/website) [![](https://opencollective.com/bootstrap/sponsor/2/avatar.svg)](https://opencollective.com/bootstrap/sponsor/2/website) [![](https://opencollective.com/bootstrap/sponsor/3/avatar.svg)](https://opencollective.com/bootstrap/sponsor/3/website) [![](https://opencollective.com/bootstrap/sponsor/4/avatar.svg)](https://opencollective.com/bootstrap/sponsor/4/website) [![](https://opencollective.com/bootstrap/sponsor/5/avatar.svg)](https://opencollective.com/bootstrap/sponsor/5/website) [![](https://opencollective.com/bootstrap/sponsor/6/avatar.svg)](https://opencollective.com/bootstrap/sponsor/6/website) [![](https://opencollective.com/bootstrap/sponsor/7/avatar.svg)](https://opencollective.com/bootstrap/sponsor/7/website) [![](https://opencollective.com/bootstrap/sponsor/8/avatar.svg)](https://opencollective.com/bootstrap/sponsor/8/website) [![](https://opencollective.com/bootstrap/sponsor/9/avatar.svg)](https://opencollective.com/bootstrap/sponsor/9/website) ## Backers Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/bootstrap#backer)] [![Backers](https://opencollective.com/bootstrap/backers.svg?width=890)](https://opencollective.com/bootstrap#backers) ## Copyright and license Code and documentation copyright 2011-2020 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). ================================================ FILE: src/IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css ================================================ /*! * Bootstrap Grid v4.5.3 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors * Copyright 2011-2020 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ html { box-sizing: border-box; -ms-overflow-style: scrollbar; } *, *::before, *::after { box-sizing: inherit; } .container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 576px) { .container, .container-sm { max-width: 540px; } } @media (min-width: 768px) { .container, .container-sm, .container-md { max-width: 720px; } } @media (min-width: 992px) { .container, .container-sm, .container-md, .container-lg { max-width: 960px; } } @media (min-width: 1200px) { .container, .container-sm, .container-md, .container-lg, .container-xl { max-width: 1140px; } } .row { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; } .no-gutters { margin-right: 0; margin-left: 0; } .no-gutters > .col, .no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; } .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; } .col { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-first { -ms-flex-order: -1; order: -1; } .order-last { -ms-flex-order: 13; order: 13; } .order-0 { -ms-flex-order: 0; order: 0; } .order-1 { -ms-flex-order: 1; order: 1; } .order-2 { -ms-flex-order: 2; order: 2; } .order-3 { -ms-flex-order: 3; order: 3; } .order-4 { -ms-flex-order: 4; order: 4; } .order-5 { -ms-flex-order: 5; order: 5; } .order-6 { -ms-flex-order: 6; order: 6; } .order-7 { -ms-flex-order: 7; order: 7; } .order-8 { -ms-flex-order: 8; order: 8; } .order-9 { -ms-flex-order: 9; order: 9; } .order-10 { -ms-flex-order: 10; order: 10; } .order-11 { -ms-flex-order: 11; order: 11; } .order-12 { -ms-flex-order: 12; order: 12; } .offset-1 { margin-left: 8.333333%; } .offset-2 { margin-left: 16.666667%; } .offset-3 { margin-left: 25%; } .offset-4 { margin-left: 33.333333%; } .offset-5 { margin-left: 41.666667%; } .offset-6 { margin-left: 50%; } .offset-7 { margin-left: 58.333333%; } .offset-8 { margin-left: 66.666667%; } .offset-9 { margin-left: 75%; } .offset-10 { margin-left: 83.333333%; } .offset-11 { margin-left: 91.666667%; } @media (min-width: 576px) { .col-sm { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-sm-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-sm-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-sm-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-sm-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-sm-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-sm-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-sm-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-sm-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-sm-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-sm-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-sm-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-sm-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-sm-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-sm-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-sm-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-sm-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-sm-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-sm-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-sm-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-sm-first { -ms-flex-order: -1; order: -1; } .order-sm-last { -ms-flex-order: 13; order: 13; } .order-sm-0 { -ms-flex-order: 0; order: 0; } .order-sm-1 { -ms-flex-order: 1; order: 1; } .order-sm-2 { -ms-flex-order: 2; order: 2; } .order-sm-3 { -ms-flex-order: 3; order: 3; } .order-sm-4 { -ms-flex-order: 4; order: 4; } .order-sm-5 { -ms-flex-order: 5; order: 5; } .order-sm-6 { -ms-flex-order: 6; order: 6; } .order-sm-7 { -ms-flex-order: 7; order: 7; } .order-sm-8 { -ms-flex-order: 8; order: 8; } .order-sm-9 { -ms-flex-order: 9; order: 9; } .order-sm-10 { -ms-flex-order: 10; order: 10; } .order-sm-11 { -ms-flex-order: 11; order: 11; } .order-sm-12 { -ms-flex-order: 12; order: 12; } .offset-sm-0 { margin-left: 0; } .offset-sm-1 { margin-left: 8.333333%; } .offset-sm-2 { margin-left: 16.666667%; } .offset-sm-3 { margin-left: 25%; } .offset-sm-4 { margin-left: 33.333333%; } .offset-sm-5 { margin-left: 41.666667%; } .offset-sm-6 { margin-left: 50%; } .offset-sm-7 { margin-left: 58.333333%; } .offset-sm-8 { margin-left: 66.666667%; } .offset-sm-9 { margin-left: 75%; } .offset-sm-10 { margin-left: 83.333333%; } .offset-sm-11 { margin-left: 91.666667%; } } @media (min-width: 768px) { .col-md { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-md-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-md-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-md-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-md-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-md-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-md-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-md-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-md-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-md-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-md-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-md-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-md-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-md-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-md-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-md-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-md-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-md-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-md-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-md-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-md-first { -ms-flex-order: -1; order: -1; } .order-md-last { -ms-flex-order: 13; order: 13; } .order-md-0 { -ms-flex-order: 0; order: 0; } .order-md-1 { -ms-flex-order: 1; order: 1; } .order-md-2 { -ms-flex-order: 2; order: 2; } .order-md-3 { -ms-flex-order: 3; order: 3; } .order-md-4 { -ms-flex-order: 4; order: 4; } .order-md-5 { -ms-flex-order: 5; order: 5; } .order-md-6 { -ms-flex-order: 6; order: 6; } .order-md-7 { -ms-flex-order: 7; order: 7; } .order-md-8 { -ms-flex-order: 8; order: 8; } .order-md-9 { -ms-flex-order: 9; order: 9; } .order-md-10 { -ms-flex-order: 10; order: 10; } .order-md-11 { -ms-flex-order: 11; order: 11; } .order-md-12 { -ms-flex-order: 12; order: 12; } .offset-md-0 { margin-left: 0; } .offset-md-1 { margin-left: 8.333333%; } .offset-md-2 { margin-left: 16.666667%; } .offset-md-3 { margin-left: 25%; } .offset-md-4 { margin-left: 33.333333%; } .offset-md-5 { margin-left: 41.666667%; } .offset-md-6 { margin-left: 50%; } .offset-md-7 { margin-left: 58.333333%; } .offset-md-8 { margin-left: 66.666667%; } .offset-md-9 { margin-left: 75%; } .offset-md-10 { margin-left: 83.333333%; } .offset-md-11 { margin-left: 91.666667%; } } @media (min-width: 992px) { .col-lg { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-lg-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-lg-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-lg-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-lg-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-lg-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-lg-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-lg-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-lg-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-lg-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-lg-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-lg-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-lg-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-lg-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-lg-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-lg-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-lg-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-lg-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-lg-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-lg-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-lg-first { -ms-flex-order: -1; order: -1; } .order-lg-last { -ms-flex-order: 13; order: 13; } .order-lg-0 { -ms-flex-order: 0; order: 0; } .order-lg-1 { -ms-flex-order: 1; order: 1; } .order-lg-2 { -ms-flex-order: 2; order: 2; } .order-lg-3 { -ms-flex-order: 3; order: 3; } .order-lg-4 { -ms-flex-order: 4; order: 4; } .order-lg-5 { -ms-flex-order: 5; order: 5; } .order-lg-6 { -ms-flex-order: 6; order: 6; } .order-lg-7 { -ms-flex-order: 7; order: 7; } .order-lg-8 { -ms-flex-order: 8; order: 8; } .order-lg-9 { -ms-flex-order: 9; order: 9; } .order-lg-10 { -ms-flex-order: 10; order: 10; } .order-lg-11 { -ms-flex-order: 11; order: 11; } .order-lg-12 { -ms-flex-order: 12; order: 12; } .offset-lg-0 { margin-left: 0; } .offset-lg-1 { margin-left: 8.333333%; } .offset-lg-2 { margin-left: 16.666667%; } .offset-lg-3 { margin-left: 25%; } .offset-lg-4 { margin-left: 33.333333%; } .offset-lg-5 { margin-left: 41.666667%; } .offset-lg-6 { margin-left: 50%; } .offset-lg-7 { margin-left: 58.333333%; } .offset-lg-8 { margin-left: 66.666667%; } .offset-lg-9 { margin-left: 75%; } .offset-lg-10 { margin-left: 83.333333%; } .offset-lg-11 { margin-left: 91.666667%; } } @media (min-width: 1200px) { .col-xl { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-xl-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-xl-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-xl-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-xl-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-xl-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-xl-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-xl-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-xl-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-xl-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-xl-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-xl-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-xl-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-xl-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-xl-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-xl-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-xl-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-xl-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-xl-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-xl-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-xl-first { -ms-flex-order: -1; order: -1; } .order-xl-last { -ms-flex-order: 13; order: 13; } .order-xl-0 { -ms-flex-order: 0; order: 0; } .order-xl-1 { -ms-flex-order: 1; order: 1; } .order-xl-2 { -ms-flex-order: 2; order: 2; } .order-xl-3 { -ms-flex-order: 3; order: 3; } .order-xl-4 { -ms-flex-order: 4; order: 4; } .order-xl-5 { -ms-flex-order: 5; order: 5; } .order-xl-6 { -ms-flex-order: 6; order: 6; } .order-xl-7 { -ms-flex-order: 7; order: 7; } .order-xl-8 { -ms-flex-order: 8; order: 8; } .order-xl-9 { -ms-flex-order: 9; order: 9; } .order-xl-10 { -ms-flex-order: 10; order: 10; } .order-xl-11 { -ms-flex-order: 11; order: 11; } .order-xl-12 { -ms-flex-order: 12; order: 12; } .offset-xl-0 { margin-left: 0; } .offset-xl-1 { margin-left: 8.333333%; } .offset-xl-2 { margin-left: 16.666667%; } .offset-xl-3 { margin-left: 25%; } .offset-xl-4 { margin-left: 33.333333%; } .offset-xl-5 { margin-left: 41.666667%; } .offset-xl-6 { margin-left: 50%; } .offset-xl-7 { margin-left: 58.333333%; } .offset-xl-8 { margin-left: 66.666667%; } .offset-xl-9 { margin-left: 75%; } .offset-xl-10 { margin-left: 83.333333%; } .offset-xl-11 { margin-left: 91.666667%; } } .d-none { display: none !important; } .d-inline { display: inline !important; } .d-inline-block { display: inline-block !important; } .d-block { display: block !important; } .d-table { display: table !important; } .d-table-row { display: table-row !important; } .d-table-cell { display: table-cell !important; } .d-flex { display: -ms-flexbox !important; display: flex !important; } .d-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } @media (min-width: 576px) { .d-sm-none { display: none !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-block { display: block !important; } .d-sm-table { display: table !important; } .d-sm-table-row { display: table-row !important; } .d-sm-table-cell { display: table-cell !important; } .d-sm-flex { display: -ms-flexbox !important; display: flex !important; } .d-sm-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 768px) { .d-md-none { display: none !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-block { display: block !important; } .d-md-table { display: table !important; } .d-md-table-row { display: table-row !important; } .d-md-table-cell { display: table-cell !important; } .d-md-flex { display: -ms-flexbox !important; display: flex !important; } .d-md-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 992px) { .d-lg-none { display: none !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-block { display: block !important; } .d-lg-table { display: table !important; } .d-lg-table-row { display: table-row !important; } .d-lg-table-cell { display: table-cell !important; } .d-lg-flex { display: -ms-flexbox !important; display: flex !important; } .d-lg-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 1200px) { .d-xl-none { display: none !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-block { display: block !important; } .d-xl-table { display: table !important; } .d-xl-table-row { display: table-row !important; } .d-xl-table-cell { display: table-cell !important; } .d-xl-flex { display: -ms-flexbox !important; display: flex !important; } .d-xl-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media print { .d-print-none { display: none !important; } .d-print-inline { display: inline !important; } .d-print-inline-block { display: inline-block !important; } .d-print-block { display: block !important; } .d-print-table { display: table !important; } .d-print-table-row { display: table-row !important; } .d-print-table-cell { display: table-cell !important; } .d-print-flex { display: -ms-flexbox !important; display: flex !important; } .d-print-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } .flex-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } @media (min-width: 576px) { .flex-sm-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-sm-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-sm-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-sm-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-sm-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-sm-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-sm-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-sm-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-sm-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-sm-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-sm-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-sm-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-sm-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-sm-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-sm-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-sm-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-sm-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-sm-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-sm-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-sm-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-sm-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-sm-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-sm-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-sm-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-sm-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-sm-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-sm-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-sm-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-sm-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-sm-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-sm-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-sm-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-sm-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-sm-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 768px) { .flex-md-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-md-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-md-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-md-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-md-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-md-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-md-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-md-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-md-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-md-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-md-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-md-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-md-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-md-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-md-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-md-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-md-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-md-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-md-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-md-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-md-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-md-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-md-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-md-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-md-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-md-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-md-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-md-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-md-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-md-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-md-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-md-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-md-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-md-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 992px) { .flex-lg-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-lg-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-lg-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-lg-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-lg-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-lg-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-lg-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-lg-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-lg-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-lg-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-lg-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-lg-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-lg-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-lg-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-lg-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-lg-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-lg-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-lg-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-lg-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-lg-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-lg-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-lg-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-lg-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-lg-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-lg-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-lg-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-lg-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-lg-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-lg-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-lg-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-lg-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-lg-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-lg-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-lg-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 1200px) { .flex-xl-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-xl-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-xl-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-xl-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-xl-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-xl-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-xl-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-xl-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-xl-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-xl-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-xl-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-xl-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-xl-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-xl-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-xl-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-xl-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-xl-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-xl-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-xl-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-xl-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-xl-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-xl-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-xl-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-xl-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-xl-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-xl-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-xl-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-xl-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-xl-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-xl-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-xl-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-xl-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-xl-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-xl-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } .m-0 { margin: 0 !important; } .mt-0, .my-0 { margin-top: 0 !important; } .mr-0, .mx-0 { margin-right: 0 !important; } .mb-0, .my-0 { margin-bottom: 0 !important; } .ml-0, .mx-0 { margin-left: 0 !important; } .m-1 { margin: 0.25rem !important; } .mt-1, .my-1 { margin-top: 0.25rem !important; } .mr-1, .mx-1 { margin-right: 0.25rem !important; } .mb-1, .my-1 { margin-bottom: 0.25rem !important; } .ml-1, .mx-1 { margin-left: 0.25rem !important; } .m-2 { margin: 0.5rem !important; } .mt-2, .my-2 { margin-top: 0.5rem !important; } .mr-2, .mx-2 { margin-right: 0.5rem !important; } .mb-2, .my-2 { margin-bottom: 0.5rem !important; } .ml-2, .mx-2 { margin-left: 0.5rem !important; } .m-3 { margin: 1rem !important; } .mt-3, .my-3 { margin-top: 1rem !important; } .mr-3, .mx-3 { margin-right: 1rem !important; } .mb-3, .my-3 { margin-bottom: 1rem !important; } .ml-3, .mx-3 { margin-left: 1rem !important; } .m-4 { margin: 1.5rem !important; } .mt-4, .my-4 { margin-top: 1.5rem !important; } .mr-4, .mx-4 { margin-right: 1.5rem !important; } .mb-4, .my-4 { margin-bottom: 1.5rem !important; } .ml-4, .mx-4 { margin-left: 1.5rem !important; } .m-5 { margin: 3rem !important; } .mt-5, .my-5 { margin-top: 3rem !important; } .mr-5, .mx-5 { margin-right: 3rem !important; } .mb-5, .my-5 { margin-bottom: 3rem !important; } .ml-5, .mx-5 { margin-left: 3rem !important; } .p-0 { padding: 0 !important; } .pt-0, .py-0 { padding-top: 0 !important; } .pr-0, .px-0 { padding-right: 0 !important; } .pb-0, .py-0 { padding-bottom: 0 !important; } .pl-0, .px-0 { padding-left: 0 !important; } .p-1 { padding: 0.25rem !important; } .pt-1, .py-1 { padding-top: 0.25rem !important; } .pr-1, .px-1 { padding-right: 0.25rem !important; } .pb-1, .py-1 { padding-bottom: 0.25rem !important; } .pl-1, .px-1 { padding-left: 0.25rem !important; } .p-2 { padding: 0.5rem !important; } .pt-2, .py-2 { padding-top: 0.5rem !important; } .pr-2, .px-2 { padding-right: 0.5rem !important; } .pb-2, .py-2 { padding-bottom: 0.5rem !important; } .pl-2, .px-2 { padding-left: 0.5rem !important; } .p-3 { padding: 1rem !important; } .pt-3, .py-3 { padding-top: 1rem !important; } .pr-3, .px-3 { padding-right: 1rem !important; } .pb-3, .py-3 { padding-bottom: 1rem !important; } .pl-3, .px-3 { padding-left: 1rem !important; } .p-4 { padding: 1.5rem !important; } .pt-4, .py-4 { padding-top: 1.5rem !important; } .pr-4, .px-4 { padding-right: 1.5rem !important; } .pb-4, .py-4 { padding-bottom: 1.5rem !important; } .pl-4, .px-4 { padding-left: 1.5rem !important; } .p-5 { padding: 3rem !important; } .pt-5, .py-5 { padding-top: 3rem !important; } .pr-5, .px-5 { padding-right: 3rem !important; } .pb-5, .py-5 { padding-bottom: 3rem !important; } .pl-5, .px-5 { padding-left: 3rem !important; } .m-n1 { margin: -0.25rem !important; } .mt-n1, .my-n1 { margin-top: -0.25rem !important; } .mr-n1, .mx-n1 { margin-right: -0.25rem !important; } .mb-n1, .my-n1 { margin-bottom: -0.25rem !important; } .ml-n1, .mx-n1 { margin-left: -0.25rem !important; } .m-n2 { margin: -0.5rem !important; } .mt-n2, .my-n2 { margin-top: -0.5rem !important; } .mr-n2, .mx-n2 { margin-right: -0.5rem !important; } .mb-n2, .my-n2 { margin-bottom: -0.5rem !important; } .ml-n2, .mx-n2 { margin-left: -0.5rem !important; } .m-n3 { margin: -1rem !important; } .mt-n3, .my-n3 { margin-top: -1rem !important; } .mr-n3, .mx-n3 { margin-right: -1rem !important; } .mb-n3, .my-n3 { margin-bottom: -1rem !important; } .ml-n3, .mx-n3 { margin-left: -1rem !important; } .m-n4 { margin: -1.5rem !important; } .mt-n4, .my-n4 { margin-top: -1.5rem !important; } .mr-n4, .mx-n4 { margin-right: -1.5rem !important; } .mb-n4, .my-n4 { margin-bottom: -1.5rem !important; } .ml-n4, .mx-n4 { margin-left: -1.5rem !important; } .m-n5 { margin: -3rem !important; } .mt-n5, .my-n5 { margin-top: -3rem !important; } .mr-n5, .mx-n5 { margin-right: -3rem !important; } .mb-n5, .my-n5 { margin-bottom: -3rem !important; } .ml-n5, .mx-n5 { margin-left: -3rem !important; } .m-auto { margin: auto !important; } .mt-auto, .my-auto { margin-top: auto !important; } .mr-auto, .mx-auto { margin-right: auto !important; } .mb-auto, .my-auto { margin-bottom: auto !important; } .ml-auto, .mx-auto { margin-left: auto !important; } @media (min-width: 576px) { .m-sm-0 { margin: 0 !important; } .mt-sm-0, .my-sm-0 { margin-top: 0 !important; } .mr-sm-0, .mx-sm-0 { margin-right: 0 !important; } .mb-sm-0, .my-sm-0 { margin-bottom: 0 !important; } .ml-sm-0, .mx-sm-0 { margin-left: 0 !important; } .m-sm-1 { margin: 0.25rem !important; } .mt-sm-1, .my-sm-1 { margin-top: 0.25rem !important; } .mr-sm-1, .mx-sm-1 { margin-right: 0.25rem !important; } .mb-sm-1, .my-sm-1 { margin-bottom: 0.25rem !important; } .ml-sm-1, .mx-sm-1 { margin-left: 0.25rem !important; } .m-sm-2 { margin: 0.5rem !important; } .mt-sm-2, .my-sm-2 { margin-top: 0.5rem !important; } .mr-sm-2, .mx-sm-2 { margin-right: 0.5rem !important; } .mb-sm-2, .my-sm-2 { margin-bottom: 0.5rem !important; } .ml-sm-2, .mx-sm-2 { margin-left: 0.5rem !important; } .m-sm-3 { margin: 1rem !important; } .mt-sm-3, .my-sm-3 { margin-top: 1rem !important; } .mr-sm-3, .mx-sm-3 { margin-right: 1rem !important; } .mb-sm-3, .my-sm-3 { margin-bottom: 1rem !important; } .ml-sm-3, .mx-sm-3 { margin-left: 1rem !important; } .m-sm-4 { margin: 1.5rem !important; } .mt-sm-4, .my-sm-4 { margin-top: 1.5rem !important; } .mr-sm-4, .mx-sm-4 { margin-right: 1.5rem !important; } .mb-sm-4, .my-sm-4 { margin-bottom: 1.5rem !important; } .ml-sm-4, .mx-sm-4 { margin-left: 1.5rem !important; } .m-sm-5 { margin: 3rem !important; } .mt-sm-5, .my-sm-5 { margin-top: 3rem !important; } .mr-sm-5, .mx-sm-5 { margin-right: 3rem !important; } .mb-sm-5, .my-sm-5 { margin-bottom: 3rem !important; } .ml-sm-5, .mx-sm-5 { margin-left: 3rem !important; } .p-sm-0 { padding: 0 !important; } .pt-sm-0, .py-sm-0 { padding-top: 0 !important; } .pr-sm-0, .px-sm-0 { padding-right: 0 !important; } .pb-sm-0, .py-sm-0 { padding-bottom: 0 !important; } .pl-sm-0, .px-sm-0 { padding-left: 0 !important; } .p-sm-1 { padding: 0.25rem !important; } .pt-sm-1, .py-sm-1 { padding-top: 0.25rem !important; } .pr-sm-1, .px-sm-1 { padding-right: 0.25rem !important; } .pb-sm-1, .py-sm-1 { padding-bottom: 0.25rem !important; } .pl-sm-1, .px-sm-1 { padding-left: 0.25rem !important; } .p-sm-2 { padding: 0.5rem !important; } .pt-sm-2, .py-sm-2 { padding-top: 0.5rem !important; } .pr-sm-2, .px-sm-2 { padding-right: 0.5rem !important; } .pb-sm-2, .py-sm-2 { padding-bottom: 0.5rem !important; } .pl-sm-2, .px-sm-2 { padding-left: 0.5rem !important; } .p-sm-3 { padding: 1rem !important; } .pt-sm-3, .py-sm-3 { padding-top: 1rem !important; } .pr-sm-3, .px-sm-3 { padding-right: 1rem !important; } .pb-sm-3, .py-sm-3 { padding-bottom: 1rem !important; } .pl-sm-3, .px-sm-3 { padding-left: 1rem !important; } .p-sm-4 { padding: 1.5rem !important; } .pt-sm-4, .py-sm-4 { padding-top: 1.5rem !important; } .pr-sm-4, .px-sm-4 { padding-right: 1.5rem !important; } .pb-sm-4, .py-sm-4 { padding-bottom: 1.5rem !important; } .pl-sm-4, .px-sm-4 { padding-left: 1.5rem !important; } .p-sm-5 { padding: 3rem !important; } .pt-sm-5, .py-sm-5 { padding-top: 3rem !important; } .pr-sm-5, .px-sm-5 { padding-right: 3rem !important; } .pb-sm-5, .py-sm-5 { padding-bottom: 3rem !important; } .pl-sm-5, .px-sm-5 { padding-left: 3rem !important; } .m-sm-n1 { margin: -0.25rem !important; } .mt-sm-n1, .my-sm-n1 { margin-top: -0.25rem !important; } .mr-sm-n1, .mx-sm-n1 { margin-right: -0.25rem !important; } .mb-sm-n1, .my-sm-n1 { margin-bottom: -0.25rem !important; } .ml-sm-n1, .mx-sm-n1 { margin-left: -0.25rem !important; } .m-sm-n2 { margin: -0.5rem !important; } .mt-sm-n2, .my-sm-n2 { margin-top: -0.5rem !important; } .mr-sm-n2, .mx-sm-n2 { margin-right: -0.5rem !important; } .mb-sm-n2, .my-sm-n2 { margin-bottom: -0.5rem !important; } .ml-sm-n2, .mx-sm-n2 { margin-left: -0.5rem !important; } .m-sm-n3 { margin: -1rem !important; } .mt-sm-n3, .my-sm-n3 { margin-top: -1rem !important; } .mr-sm-n3, .mx-sm-n3 { margin-right: -1rem !important; } .mb-sm-n3, .my-sm-n3 { margin-bottom: -1rem !important; } .ml-sm-n3, .mx-sm-n3 { margin-left: -1rem !important; } .m-sm-n4 { margin: -1.5rem !important; } .mt-sm-n4, .my-sm-n4 { margin-top: -1.5rem !important; } .mr-sm-n4, .mx-sm-n4 { margin-right: -1.5rem !important; } .mb-sm-n4, .my-sm-n4 { margin-bottom: -1.5rem !important; } .ml-sm-n4, .mx-sm-n4 { margin-left: -1.5rem !important; } .m-sm-n5 { margin: -3rem !important; } .mt-sm-n5, .my-sm-n5 { margin-top: -3rem !important; } .mr-sm-n5, .mx-sm-n5 { margin-right: -3rem !important; } .mb-sm-n5, .my-sm-n5 { margin-bottom: -3rem !important; } .ml-sm-n5, .mx-sm-n5 { margin-left: -3rem !important; } .m-sm-auto { margin: auto !important; } .mt-sm-auto, .my-sm-auto { margin-top: auto !important; } .mr-sm-auto, .mx-sm-auto { margin-right: auto !important; } .mb-sm-auto, .my-sm-auto { margin-bottom: auto !important; } .ml-sm-auto, .mx-sm-auto { margin-left: auto !important; } } @media (min-width: 768px) { .m-md-0 { margin: 0 !important; } .mt-md-0, .my-md-0 { margin-top: 0 !important; } .mr-md-0, .mx-md-0 { margin-right: 0 !important; } .mb-md-0, .my-md-0 { margin-bottom: 0 !important; } .ml-md-0, .mx-md-0 { margin-left: 0 !important; } .m-md-1 { margin: 0.25rem !important; } .mt-md-1, .my-md-1 { margin-top: 0.25rem !important; } .mr-md-1, .mx-md-1 { margin-right: 0.25rem !important; } .mb-md-1, .my-md-1 { margin-bottom: 0.25rem !important; } .ml-md-1, .mx-md-1 { margin-left: 0.25rem !important; } .m-md-2 { margin: 0.5rem !important; } .mt-md-2, .my-md-2 { margin-top: 0.5rem !important; } .mr-md-2, .mx-md-2 { margin-right: 0.5rem !important; } .mb-md-2, .my-md-2 { margin-bottom: 0.5rem !important; } .ml-md-2, .mx-md-2 { margin-left: 0.5rem !important; } .m-md-3 { margin: 1rem !important; } .mt-md-3, .my-md-3 { margin-top: 1rem !important; } .mr-md-3, .mx-md-3 { margin-right: 1rem !important; } .mb-md-3, .my-md-3 { margin-bottom: 1rem !important; } .ml-md-3, .mx-md-3 { margin-left: 1rem !important; } .m-md-4 { margin: 1.5rem !important; } .mt-md-4, .my-md-4 { margin-top: 1.5rem !important; } .mr-md-4, .mx-md-4 { margin-right: 1.5rem !important; } .mb-md-4, .my-md-4 { margin-bottom: 1.5rem !important; } .ml-md-4, .mx-md-4 { margin-left: 1.5rem !important; } .m-md-5 { margin: 3rem !important; } .mt-md-5, .my-md-5 { margin-top: 3rem !important; } .mr-md-5, .mx-md-5 { margin-right: 3rem !important; } .mb-md-5, .my-md-5 { margin-bottom: 3rem !important; } .ml-md-5, .mx-md-5 { margin-left: 3rem !important; } .p-md-0 { padding: 0 !important; } .pt-md-0, .py-md-0 { padding-top: 0 !important; } .pr-md-0, .px-md-0 { padding-right: 0 !important; } .pb-md-0, .py-md-0 { padding-bottom: 0 !important; } .pl-md-0, .px-md-0 { padding-left: 0 !important; } .p-md-1 { padding: 0.25rem !important; } .pt-md-1, .py-md-1 { padding-top: 0.25rem !important; } .pr-md-1, .px-md-1 { padding-right: 0.25rem !important; } .pb-md-1, .py-md-1 { padding-bottom: 0.25rem !important; } .pl-md-1, .px-md-1 { padding-left: 0.25rem !important; } .p-md-2 { padding: 0.5rem !important; } .pt-md-2, .py-md-2 { padding-top: 0.5rem !important; } .pr-md-2, .px-md-2 { padding-right: 0.5rem !important; } .pb-md-2, .py-md-2 { padding-bottom: 0.5rem !important; } .pl-md-2, .px-md-2 { padding-left: 0.5rem !important; } .p-md-3 { padding: 1rem !important; } .pt-md-3, .py-md-3 { padding-top: 1rem !important; } .pr-md-3, .px-md-3 { padding-right: 1rem !important; } .pb-md-3, .py-md-3 { padding-bottom: 1rem !important; } .pl-md-3, .px-md-3 { padding-left: 1rem !important; } .p-md-4 { padding: 1.5rem !important; } .pt-md-4, .py-md-4 { padding-top: 1.5rem !important; } .pr-md-4, .px-md-4 { padding-right: 1.5rem !important; } .pb-md-4, .py-md-4 { padding-bottom: 1.5rem !important; } .pl-md-4, .px-md-4 { padding-left: 1.5rem !important; } .p-md-5 { padding: 3rem !important; } .pt-md-5, .py-md-5 { padding-top: 3rem !important; } .pr-md-5, .px-md-5 { padding-right: 3rem !important; } .pb-md-5, .py-md-5 { padding-bottom: 3rem !important; } .pl-md-5, .px-md-5 { padding-left: 3rem !important; } .m-md-n1 { margin: -0.25rem !important; } .mt-md-n1, .my-md-n1 { margin-top: -0.25rem !important; } .mr-md-n1, .mx-md-n1 { margin-right: -0.25rem !important; } .mb-md-n1, .my-md-n1 { margin-bottom: -0.25rem !important; } .ml-md-n1, .mx-md-n1 { margin-left: -0.25rem !important; } .m-md-n2 { margin: -0.5rem !important; } .mt-md-n2, .my-md-n2 { margin-top: -0.5rem !important; } .mr-md-n2, .mx-md-n2 { margin-right: -0.5rem !important; } .mb-md-n2, .my-md-n2 { margin-bottom: -0.5rem !important; } .ml-md-n2, .mx-md-n2 { margin-left: -0.5rem !important; } .m-md-n3 { margin: -1rem !important; } .mt-md-n3, .my-md-n3 { margin-top: -1rem !important; } .mr-md-n3, .mx-md-n3 { margin-right: -1rem !important; } .mb-md-n3, .my-md-n3 { margin-bottom: -1rem !important; } .ml-md-n3, .mx-md-n3 { margin-left: -1rem !important; } .m-md-n4 { margin: -1.5rem !important; } .mt-md-n4, .my-md-n4 { margin-top: -1.5rem !important; } .mr-md-n4, .mx-md-n4 { margin-right: -1.5rem !important; } .mb-md-n4, .my-md-n4 { margin-bottom: -1.5rem !important; } .ml-md-n4, .mx-md-n4 { margin-left: -1.5rem !important; } .m-md-n5 { margin: -3rem !important; } .mt-md-n5, .my-md-n5 { margin-top: -3rem !important; } .mr-md-n5, .mx-md-n5 { margin-right: -3rem !important; } .mb-md-n5, .my-md-n5 { margin-bottom: -3rem !important; } .ml-md-n5, .mx-md-n5 { margin-left: -3rem !important; } .m-md-auto { margin: auto !important; } .mt-md-auto, .my-md-auto { margin-top: auto !important; } .mr-md-auto, .mx-md-auto { margin-right: auto !important; } .mb-md-auto, .my-md-auto { margin-bottom: auto !important; } .ml-md-auto, .mx-md-auto { margin-left: auto !important; } } @media (min-width: 992px) { .m-lg-0 { margin: 0 !important; } .mt-lg-0, .my-lg-0 { margin-top: 0 !important; } .mr-lg-0, .mx-lg-0 { margin-right: 0 !important; } .mb-lg-0, .my-lg-0 { margin-bottom: 0 !important; } .ml-lg-0, .mx-lg-0 { margin-left: 0 !important; } .m-lg-1 { margin: 0.25rem !important; } .mt-lg-1, .my-lg-1 { margin-top: 0.25rem !important; } .mr-lg-1, .mx-lg-1 { margin-right: 0.25rem !important; } .mb-lg-1, .my-lg-1 { margin-bottom: 0.25rem !important; } .ml-lg-1, .mx-lg-1 { margin-left: 0.25rem !important; } .m-lg-2 { margin: 0.5rem !important; } .mt-lg-2, .my-lg-2 { margin-top: 0.5rem !important; } .mr-lg-2, .mx-lg-2 { margin-right: 0.5rem !important; } .mb-lg-2, .my-lg-2 { margin-bottom: 0.5rem !important; } .ml-lg-2, .mx-lg-2 { margin-left: 0.5rem !important; } .m-lg-3 { margin: 1rem !important; } .mt-lg-3, .my-lg-3 { margin-top: 1rem !important; } .mr-lg-3, .mx-lg-3 { margin-right: 1rem !important; } .mb-lg-3, .my-lg-3 { margin-bottom: 1rem !important; } .ml-lg-3, .mx-lg-3 { margin-left: 1rem !important; } .m-lg-4 { margin: 1.5rem !important; } .mt-lg-4, .my-lg-4 { margin-top: 1.5rem !important; } .mr-lg-4, .mx-lg-4 { margin-right: 1.5rem !important; } .mb-lg-4, .my-lg-4 { margin-bottom: 1.5rem !important; } .ml-lg-4, .mx-lg-4 { margin-left: 1.5rem !important; } .m-lg-5 { margin: 3rem !important; } .mt-lg-5, .my-lg-5 { margin-top: 3rem !important; } .mr-lg-5, .mx-lg-5 { margin-right: 3rem !important; } .mb-lg-5, .my-lg-5 { margin-bottom: 3rem !important; } .ml-lg-5, .mx-lg-5 { margin-left: 3rem !important; } .p-lg-0 { padding: 0 !important; } .pt-lg-0, .py-lg-0 { padding-top: 0 !important; } .pr-lg-0, .px-lg-0 { padding-right: 0 !important; } .pb-lg-0, .py-lg-0 { padding-bottom: 0 !important; } .pl-lg-0, .px-lg-0 { padding-left: 0 !important; } .p-lg-1 { padding: 0.25rem !important; } .pt-lg-1, .py-lg-1 { padding-top: 0.25rem !important; } .pr-lg-1, .px-lg-1 { padding-right: 0.25rem !important; } .pb-lg-1, .py-lg-1 { padding-bottom: 0.25rem !important; } .pl-lg-1, .px-lg-1 { padding-left: 0.25rem !important; } .p-lg-2 { padding: 0.5rem !important; } .pt-lg-2, .py-lg-2 { padding-top: 0.5rem !important; } .pr-lg-2, .px-lg-2 { padding-right: 0.5rem !important; } .pb-lg-2, .py-lg-2 { padding-bottom: 0.5rem !important; } .pl-lg-2, .px-lg-2 { padding-left: 0.5rem !important; } .p-lg-3 { padding: 1rem !important; } .pt-lg-3, .py-lg-3 { padding-top: 1rem !important; } .pr-lg-3, .px-lg-3 { padding-right: 1rem !important; } .pb-lg-3, .py-lg-3 { padding-bottom: 1rem !important; } .pl-lg-3, .px-lg-3 { padding-left: 1rem !important; } .p-lg-4 { padding: 1.5rem !important; } .pt-lg-4, .py-lg-4 { padding-top: 1.5rem !important; } .pr-lg-4, .px-lg-4 { padding-right: 1.5rem !important; } .pb-lg-4, .py-lg-4 { padding-bottom: 1.5rem !important; } .pl-lg-4, .px-lg-4 { padding-left: 1.5rem !important; } .p-lg-5 { padding: 3rem !important; } .pt-lg-5, .py-lg-5 { padding-top: 3rem !important; } .pr-lg-5, .px-lg-5 { padding-right: 3rem !important; } .pb-lg-5, .py-lg-5 { padding-bottom: 3rem !important; } .pl-lg-5, .px-lg-5 { padding-left: 3rem !important; } .m-lg-n1 { margin: -0.25rem !important; } .mt-lg-n1, .my-lg-n1 { margin-top: -0.25rem !important; } .mr-lg-n1, .mx-lg-n1 { margin-right: -0.25rem !important; } .mb-lg-n1, .my-lg-n1 { margin-bottom: -0.25rem !important; } .ml-lg-n1, .mx-lg-n1 { margin-left: -0.25rem !important; } .m-lg-n2 { margin: -0.5rem !important; } .mt-lg-n2, .my-lg-n2 { margin-top: -0.5rem !important; } .mr-lg-n2, .mx-lg-n2 { margin-right: -0.5rem !important; } .mb-lg-n2, .my-lg-n2 { margin-bottom: -0.5rem !important; } .ml-lg-n2, .mx-lg-n2 { margin-left: -0.5rem !important; } .m-lg-n3 { margin: -1rem !important; } .mt-lg-n3, .my-lg-n3 { margin-top: -1rem !important; } .mr-lg-n3, .mx-lg-n3 { margin-right: -1rem !important; } .mb-lg-n3, .my-lg-n3 { margin-bottom: -1rem !important; } .ml-lg-n3, .mx-lg-n3 { margin-left: -1rem !important; } .m-lg-n4 { margin: -1.5rem !important; } .mt-lg-n4, .my-lg-n4 { margin-top: -1.5rem !important; } .mr-lg-n4, .mx-lg-n4 { margin-right: -1.5rem !important; } .mb-lg-n4, .my-lg-n4 { margin-bottom: -1.5rem !important; } .ml-lg-n4, .mx-lg-n4 { margin-left: -1.5rem !important; } .m-lg-n5 { margin: -3rem !important; } .mt-lg-n5, .my-lg-n5 { margin-top: -3rem !important; } .mr-lg-n5, .mx-lg-n5 { margin-right: -3rem !important; } .mb-lg-n5, .my-lg-n5 { margin-bottom: -3rem !important; } .ml-lg-n5, .mx-lg-n5 { margin-left: -3rem !important; } .m-lg-auto { margin: auto !important; } .mt-lg-auto, .my-lg-auto { margin-top: auto !important; } .mr-lg-auto, .mx-lg-auto { margin-right: auto !important; } .mb-lg-auto, .my-lg-auto { margin-bottom: auto !important; } .ml-lg-auto, .mx-lg-auto { margin-left: auto !important; } } @media (min-width: 1200px) { .m-xl-0 { margin: 0 !important; } .mt-xl-0, .my-xl-0 { margin-top: 0 !important; } .mr-xl-0, .mx-xl-0 { margin-right: 0 !important; } .mb-xl-0, .my-xl-0 { margin-bottom: 0 !important; } .ml-xl-0, .mx-xl-0 { margin-left: 0 !important; } .m-xl-1 { margin: 0.25rem !important; } .mt-xl-1, .my-xl-1 { margin-top: 0.25rem !important; } .mr-xl-1, .mx-xl-1 { margin-right: 0.25rem !important; } .mb-xl-1, .my-xl-1 { margin-bottom: 0.25rem !important; } .ml-xl-1, .mx-xl-1 { margin-left: 0.25rem !important; } .m-xl-2 { margin: 0.5rem !important; } .mt-xl-2, .my-xl-2 { margin-top: 0.5rem !important; } .mr-xl-2, .mx-xl-2 { margin-right: 0.5rem !important; } .mb-xl-2, .my-xl-2 { margin-bottom: 0.5rem !important; } .ml-xl-2, .mx-xl-2 { margin-left: 0.5rem !important; } .m-xl-3 { margin: 1rem !important; } .mt-xl-3, .my-xl-3 { margin-top: 1rem !important; } .mr-xl-3, .mx-xl-3 { margin-right: 1rem !important; } .mb-xl-3, .my-xl-3 { margin-bottom: 1rem !important; } .ml-xl-3, .mx-xl-3 { margin-left: 1rem !important; } .m-xl-4 { margin: 1.5rem !important; } .mt-xl-4, .my-xl-4 { margin-top: 1.5rem !important; } .mr-xl-4, .mx-xl-4 { margin-right: 1.5rem !important; } .mb-xl-4, .my-xl-4 { margin-bottom: 1.5rem !important; } .ml-xl-4, .mx-xl-4 { margin-left: 1.5rem !important; } .m-xl-5 { margin: 3rem !important; } .mt-xl-5, .my-xl-5 { margin-top: 3rem !important; } .mr-xl-5, .mx-xl-5 { margin-right: 3rem !important; } .mb-xl-5, .my-xl-5 { margin-bottom: 3rem !important; } .ml-xl-5, .mx-xl-5 { margin-left: 3rem !important; } .p-xl-0 { padding: 0 !important; } .pt-xl-0, .py-xl-0 { padding-top: 0 !important; } .pr-xl-0, .px-xl-0 { padding-right: 0 !important; } .pb-xl-0, .py-xl-0 { padding-bottom: 0 !important; } .pl-xl-0, .px-xl-0 { padding-left: 0 !important; } .p-xl-1 { padding: 0.25rem !important; } .pt-xl-1, .py-xl-1 { padding-top: 0.25rem !important; } .pr-xl-1, .px-xl-1 { padding-right: 0.25rem !important; } .pb-xl-1, .py-xl-1 { padding-bottom: 0.25rem !important; } .pl-xl-1, .px-xl-1 { padding-left: 0.25rem !important; } .p-xl-2 { padding: 0.5rem !important; } .pt-xl-2, .py-xl-2 { padding-top: 0.5rem !important; } .pr-xl-2, .px-xl-2 { padding-right: 0.5rem !important; } .pb-xl-2, .py-xl-2 { padding-bottom: 0.5rem !important; } .pl-xl-2, .px-xl-2 { padding-left: 0.5rem !important; } .p-xl-3 { padding: 1rem !important; } .pt-xl-3, .py-xl-3 { padding-top: 1rem !important; } .pr-xl-3, .px-xl-3 { padding-right: 1rem !important; } .pb-xl-3, .py-xl-3 { padding-bottom: 1rem !important; } .pl-xl-3, .px-xl-3 { padding-left: 1rem !important; } .p-xl-4 { padding: 1.5rem !important; } .pt-xl-4, .py-xl-4 { padding-top: 1.5rem !important; } .pr-xl-4, .px-xl-4 { padding-right: 1.5rem !important; } .pb-xl-4, .py-xl-4 { padding-bottom: 1.5rem !important; } .pl-xl-4, .px-xl-4 { padding-left: 1.5rem !important; } .p-xl-5 { padding: 3rem !important; } .pt-xl-5, .py-xl-5 { padding-top: 3rem !important; } .pr-xl-5, .px-xl-5 { padding-right: 3rem !important; } .pb-xl-5, .py-xl-5 { padding-bottom: 3rem !important; } .pl-xl-5, .px-xl-5 { padding-left: 3rem !important; } .m-xl-n1 { margin: -0.25rem !important; } .mt-xl-n1, .my-xl-n1 { margin-top: -0.25rem !important; } .mr-xl-n1, .mx-xl-n1 { margin-right: -0.25rem !important; } .mb-xl-n1, .my-xl-n1 { margin-bottom: -0.25rem !important; } .ml-xl-n1, .mx-xl-n1 { margin-left: -0.25rem !important; } .m-xl-n2 { margin: -0.5rem !important; } .mt-xl-n2, .my-xl-n2 { margin-top: -0.5rem !important; } .mr-xl-n2, .mx-xl-n2 { margin-right: -0.5rem !important; } .mb-xl-n2, .my-xl-n2 { margin-bottom: -0.5rem !important; } .ml-xl-n2, .mx-xl-n2 { margin-left: -0.5rem !important; } .m-xl-n3 { margin: -1rem !important; } .mt-xl-n3, .my-xl-n3 { margin-top: -1rem !important; } .mr-xl-n3, .mx-xl-n3 { margin-right: -1rem !important; } .mb-xl-n3, .my-xl-n3 { margin-bottom: -1rem !important; } .ml-xl-n3, .mx-xl-n3 { margin-left: -1rem !important; } .m-xl-n4 { margin: -1.5rem !important; } .mt-xl-n4, .my-xl-n4 { margin-top: -1.5rem !important; } .mr-xl-n4, .mx-xl-n4 { margin-right: -1.5rem !important; } .mb-xl-n4, .my-xl-n4 { margin-bottom: -1.5rem !important; } .ml-xl-n4, .mx-xl-n4 { margin-left: -1.5rem !important; } .m-xl-n5 { margin: -3rem !important; } .mt-xl-n5, .my-xl-n5 { margin-top: -3rem !important; } .mr-xl-n5, .mx-xl-n5 { margin-right: -3rem !important; } .mb-xl-n5, .my-xl-n5 { margin-bottom: -3rem !important; } .ml-xl-n5, .mx-xl-n5 { margin-left: -3rem !important; } .m-xl-auto { margin: auto !important; } .mt-xl-auto, .my-xl-auto { margin-top: auto !important; } .mr-xl-auto, .mx-xl-auto { margin-right: auto !important; } .mb-xl-auto, .my-xl-auto { margin-bottom: auto !important; } .ml-xl-auto, .mx-xl-auto { margin-left: auto !important; } } /*# sourceMappingURL=bootstrap-grid.css.map */ ================================================ FILE: src/IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css ================================================ /*! * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors * Copyright 2011-2020 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */ *, *::before, *::after { box-sizing: border-box; } html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; text-align: left; background-color: #fff; } [tabindex="-1"]:focus:not(:focus-visible) { outline: 0 !important; } hr { box-sizing: content-box; height: 0; overflow: visible; } h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0.5rem; } p { margin-top: 0; margin-bottom: 1rem; } abbr[title], abbr[data-original-title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; cursor: help; border-bottom: 0; -webkit-text-decoration-skip-ink: none; text-decoration-skip-ink: none; } address { margin-bottom: 1rem; font-style: normal; line-height: inherit; } ol, ul, dl { margin-top: 0; margin-bottom: 1rem; } ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; } dt { font-weight: 700; } dd { margin-bottom: .5rem; margin-left: 0; } blockquote { margin: 0 0 1rem; } b, strong { font-weight: bolder; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sub { bottom: -.25em; } sup { top: -.5em; } a { color: #007bff; text-decoration: none; background-color: transparent; } a:hover { color: #0056b3; text-decoration: underline; } a:not([href]):not([class]) { color: inherit; text-decoration: none; } a:not([href]):not([class]):hover { color: inherit; text-decoration: none; } pre, code, kbd, samp { font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 1em; } pre { margin-top: 0; margin-bottom: 1rem; overflow: auto; -ms-overflow-style: scrollbar; } figure { margin: 0 0 1rem; } img { vertical-align: middle; border-style: none; } svg { overflow: hidden; vertical-align: middle; } table { border-collapse: collapse; } caption { padding-top: 0.75rem; padding-bottom: 0.75rem; color: #6c757d; text-align: left; caption-side: bottom; } th { text-align: inherit; text-align: -webkit-match-parent; } label { display: inline-block; margin-bottom: 0.5rem; } button { border-radius: 0; } button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; } input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; } button, input { overflow: visible; } button, select { text-transform: none; } [role="button"] { cursor: pointer; } select { word-wrap: normal; } button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) { cursor: pointer; } button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; } input[type="radio"], input[type="checkbox"] { box-sizing: border-box; padding: 0; } textarea { overflow: auto; resize: vertical; } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; max-width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; color: inherit; white-space: normal; } progress { vertical-align: baseline; } [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } [type="search"] { outline-offset: -2px; -webkit-appearance: none; } [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } ::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; } output { display: inline-block; } summary { display: list-item; cursor: pointer; } template { display: none; } [hidden] { display: none !important; } /*# sourceMappingURL=bootstrap-reboot.css.map */ ================================================ FILE: src/IdentityServer/wwwroot/lib/bootstrap/dist/css/bootstrap.css ================================================ /*! * Bootstrap v4.5.3 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors * Copyright 2011-2020 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ :root { --blue: #007bff; --indigo: #6610f2; --purple: #6f42c1; --pink: #e83e8c; --red: #dc3545; --orange: #fd7e14; --yellow: #ffc107; --green: #28a745; --teal: #20c997; --cyan: #17a2b8; --white: #fff; --gray: #6c757d; --gray-dark: #343a40; --primary: #007bff; --secondary: #6c757d; --success: #28a745; --info: #17a2b8; --warning: #ffc107; --danger: #dc3545; --light: #f8f9fa; --dark: #343a40; --breakpoint-xs: 0; --breakpoint-sm: 576px; --breakpoint-md: 768px; --breakpoint-lg: 992px; --breakpoint-xl: 1200px; --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } *, *::before, *::after { box-sizing: border-box; } html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; text-align: left; background-color: #fff; } [tabindex="-1"]:focus:not(:focus-visible) { outline: 0 !important; } hr { box-sizing: content-box; height: 0; overflow: visible; } h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0.5rem; } p { margin-top: 0; margin-bottom: 1rem; } abbr[title], abbr[data-original-title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; cursor: help; border-bottom: 0; -webkit-text-decoration-skip-ink: none; text-decoration-skip-ink: none; } address { margin-bottom: 1rem; font-style: normal; line-height: inherit; } ol, ul, dl { margin-top: 0; margin-bottom: 1rem; } ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; } dt { font-weight: 700; } dd { margin-bottom: .5rem; margin-left: 0; } blockquote { margin: 0 0 1rem; } b, strong { font-weight: bolder; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sub { bottom: -.25em; } sup { top: -.5em; } a { color: #007bff; text-decoration: none; background-color: transparent; } a:hover { color: #0056b3; text-decoration: underline; } a:not([href]):not([class]) { color: inherit; text-decoration: none; } a:not([href]):not([class]):hover { color: inherit; text-decoration: none; } pre, code, kbd, samp { font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 1em; } pre { margin-top: 0; margin-bottom: 1rem; overflow: auto; -ms-overflow-style: scrollbar; } figure { margin: 0 0 1rem; } img { vertical-align: middle; border-style: none; } svg { overflow: hidden; vertical-align: middle; } table { border-collapse: collapse; } caption { padding-top: 0.75rem; padding-bottom: 0.75rem; color: #6c757d; text-align: left; caption-side: bottom; } th { text-align: inherit; text-align: -webkit-match-parent; } label { display: inline-block; margin-bottom: 0.5rem; } button { border-radius: 0; } button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; } input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; } button, input { overflow: visible; } button, select { text-transform: none; } [role="button"] { cursor: pointer; } select { word-wrap: normal; } button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; } button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) { cursor: pointer; } button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; } input[type="radio"], input[type="checkbox"] { box-sizing: border-box; padding: 0; } textarea { overflow: auto; resize: vertical; } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; max-width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; color: inherit; white-space: normal; } progress { vertical-align: baseline; } [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } [type="search"] { outline-offset: -2px; -webkit-appearance: none; } [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } ::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; } output { display: inline-block; } summary { display: list-item; cursor: pointer; } template { display: none; } [hidden] { display: none !important; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; } h1, .h1 { font-size: 2.5rem; } h2, .h2 { font-size: 2rem; } h3, .h3 { font-size: 1.75rem; } h4, .h4 { font-size: 1.5rem; } h5, .h5 { font-size: 1.25rem; } h6, .h6 { font-size: 1rem; } .lead { font-size: 1.25rem; font-weight: 300; } .display-1 { font-size: 6rem; font-weight: 300; line-height: 1.2; } .display-2 { font-size: 5.5rem; font-weight: 300; line-height: 1.2; } .display-3 { font-size: 4.5rem; font-weight: 300; line-height: 1.2; } .display-4 { font-size: 3.5rem; font-weight: 300; line-height: 1.2; } hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; border-top: 1px solid rgba(0, 0, 0, 0.1); } small, .small { font-size: 80%; font-weight: 400; } mark, .mark { padding: 0.2em; background-color: #fcf8e3; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; list-style: none; } .list-inline-item { display: inline-block; } .list-inline-item:not(:last-child) { margin-right: 0.5rem; } .initialism { font-size: 90%; text-transform: uppercase; } .blockquote { margin-bottom: 1rem; font-size: 1.25rem; } .blockquote-footer { display: block; font-size: 80%; color: #6c757d; } .blockquote-footer::before { content: "\2014\00A0"; } .img-fluid { max-width: 100%; height: auto; } .img-thumbnail { padding: 0.25rem; background-color: #fff; border: 1px solid #dee2e6; border-radius: 0.25rem; max-width: 100%; height: auto; } .figure { display: inline-block; } .figure-img { margin-bottom: 0.5rem; line-height: 1; } .figure-caption { font-size: 90%; color: #6c757d; } code { font-size: 87.5%; color: #e83e8c; word-wrap: break-word; } a > code { color: inherit; } kbd { padding: 0.2rem 0.4rem; font-size: 87.5%; color: #fff; background-color: #212529; border-radius: 0.2rem; } kbd kbd { padding: 0; font-size: 100%; font-weight: 700; } pre { display: block; font-size: 87.5%; color: #212529; } pre code { font-size: inherit; color: inherit; word-break: normal; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 576px) { .container, .container-sm { max-width: 540px; } } @media (min-width: 768px) { .container, .container-sm, .container-md { max-width: 720px; } } @media (min-width: 992px) { .container, .container-sm, .container-md, .container-lg { max-width: 960px; } } @media (min-width: 1200px) { .container, .container-sm, .container-md, .container-lg, .container-xl { max-width: 1140px; } } .row { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; } .no-gutters { margin-right: 0; margin-left: 0; } .no-gutters > .col, .no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; } .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; } .col { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-first { -ms-flex-order: -1; order: -1; } .order-last { -ms-flex-order: 13; order: 13; } .order-0 { -ms-flex-order: 0; order: 0; } .order-1 { -ms-flex-order: 1; order: 1; } .order-2 { -ms-flex-order: 2; order: 2; } .order-3 { -ms-flex-order: 3; order: 3; } .order-4 { -ms-flex-order: 4; order: 4; } .order-5 { -ms-flex-order: 5; order: 5; } .order-6 { -ms-flex-order: 6; order: 6; } .order-7 { -ms-flex-order: 7; order: 7; } .order-8 { -ms-flex-order: 8; order: 8; } .order-9 { -ms-flex-order: 9; order: 9; } .order-10 { -ms-flex-order: 10; order: 10; } .order-11 { -ms-flex-order: 11; order: 11; } .order-12 { -ms-flex-order: 12; order: 12; } .offset-1 { margin-left: 8.333333%; } .offset-2 { margin-left: 16.666667%; } .offset-3 { margin-left: 25%; } .offset-4 { margin-left: 33.333333%; } .offset-5 { margin-left: 41.666667%; } .offset-6 { margin-left: 50%; } .offset-7 { margin-left: 58.333333%; } .offset-8 { margin-left: 66.666667%; } .offset-9 { margin-left: 75%; } .offset-10 { margin-left: 83.333333%; } .offset-11 { margin-left: 91.666667%; } @media (min-width: 576px) { .col-sm { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-sm-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-sm-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-sm-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-sm-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-sm-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-sm-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-sm-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-sm-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-sm-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-sm-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-sm-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-sm-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-sm-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-sm-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-sm-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-sm-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-sm-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-sm-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-sm-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-sm-first { -ms-flex-order: -1; order: -1; } .order-sm-last { -ms-flex-order: 13; order: 13; } .order-sm-0 { -ms-flex-order: 0; order: 0; } .order-sm-1 { -ms-flex-order: 1; order: 1; } .order-sm-2 { -ms-flex-order: 2; order: 2; } .order-sm-3 { -ms-flex-order: 3; order: 3; } .order-sm-4 { -ms-flex-order: 4; order: 4; } .order-sm-5 { -ms-flex-order: 5; order: 5; } .order-sm-6 { -ms-flex-order: 6; order: 6; } .order-sm-7 { -ms-flex-order: 7; order: 7; } .order-sm-8 { -ms-flex-order: 8; order: 8; } .order-sm-9 { -ms-flex-order: 9; order: 9; } .order-sm-10 { -ms-flex-order: 10; order: 10; } .order-sm-11 { -ms-flex-order: 11; order: 11; } .order-sm-12 { -ms-flex-order: 12; order: 12; } .offset-sm-0 { margin-left: 0; } .offset-sm-1 { margin-left: 8.333333%; } .offset-sm-2 { margin-left: 16.666667%; } .offset-sm-3 { margin-left: 25%; } .offset-sm-4 { margin-left: 33.333333%; } .offset-sm-5 { margin-left: 41.666667%; } .offset-sm-6 { margin-left: 50%; } .offset-sm-7 { margin-left: 58.333333%; } .offset-sm-8 { margin-left: 66.666667%; } .offset-sm-9 { margin-left: 75%; } .offset-sm-10 { margin-left: 83.333333%; } .offset-sm-11 { margin-left: 91.666667%; } } @media (min-width: 768px) { .col-md { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-md-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-md-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-md-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-md-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-md-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-md-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-md-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-md-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-md-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-md-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-md-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-md-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-md-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-md-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-md-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-md-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-md-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-md-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-md-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-md-first { -ms-flex-order: -1; order: -1; } .order-md-last { -ms-flex-order: 13; order: 13; } .order-md-0 { -ms-flex-order: 0; order: 0; } .order-md-1 { -ms-flex-order: 1; order: 1; } .order-md-2 { -ms-flex-order: 2; order: 2; } .order-md-3 { -ms-flex-order: 3; order: 3; } .order-md-4 { -ms-flex-order: 4; order: 4; } .order-md-5 { -ms-flex-order: 5; order: 5; } .order-md-6 { -ms-flex-order: 6; order: 6; } .order-md-7 { -ms-flex-order: 7; order: 7; } .order-md-8 { -ms-flex-order: 8; order: 8; } .order-md-9 { -ms-flex-order: 9; order: 9; } .order-md-10 { -ms-flex-order: 10; order: 10; } .order-md-11 { -ms-flex-order: 11; order: 11; } .order-md-12 { -ms-flex-order: 12; order: 12; } .offset-md-0 { margin-left: 0; } .offset-md-1 { margin-left: 8.333333%; } .offset-md-2 { margin-left: 16.666667%; } .offset-md-3 { margin-left: 25%; } .offset-md-4 { margin-left: 33.333333%; } .offset-md-5 { margin-left: 41.666667%; } .offset-md-6 { margin-left: 50%; } .offset-md-7 { margin-left: 58.333333%; } .offset-md-8 { margin-left: 66.666667%; } .offset-md-9 { margin-left: 75%; } .offset-md-10 { margin-left: 83.333333%; } .offset-md-11 { margin-left: 91.666667%; } } @media (min-width: 992px) { .col-lg { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-lg-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-lg-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-lg-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-lg-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-lg-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-lg-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-lg-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-lg-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-lg-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-lg-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-lg-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-lg-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-lg-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-lg-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-lg-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-lg-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-lg-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-lg-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-lg-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-lg-first { -ms-flex-order: -1; order: -1; } .order-lg-last { -ms-flex-order: 13; order: 13; } .order-lg-0 { -ms-flex-order: 0; order: 0; } .order-lg-1 { -ms-flex-order: 1; order: 1; } .order-lg-2 { -ms-flex-order: 2; order: 2; } .order-lg-3 { -ms-flex-order: 3; order: 3; } .order-lg-4 { -ms-flex-order: 4; order: 4; } .order-lg-5 { -ms-flex-order: 5; order: 5; } .order-lg-6 { -ms-flex-order: 6; order: 6; } .order-lg-7 { -ms-flex-order: 7; order: 7; } .order-lg-8 { -ms-flex-order: 8; order: 8; } .order-lg-9 { -ms-flex-order: 9; order: 9; } .order-lg-10 { -ms-flex-order: 10; order: 10; } .order-lg-11 { -ms-flex-order: 11; order: 11; } .order-lg-12 { -ms-flex-order: 12; order: 12; } .offset-lg-0 { margin-left: 0; } .offset-lg-1 { margin-left: 8.333333%; } .offset-lg-2 { margin-left: 16.666667%; } .offset-lg-3 { margin-left: 25%; } .offset-lg-4 { margin-left: 33.333333%; } .offset-lg-5 { margin-left: 41.666667%; } .offset-lg-6 { margin-left: 50%; } .offset-lg-7 { margin-left: 58.333333%; } .offset-lg-8 { margin-left: 66.666667%; } .offset-lg-9 { margin-left: 75%; } .offset-lg-10 { margin-left: 83.333333%; } .offset-lg-11 { margin-left: 91.666667%; } } @media (min-width: 1200px) { .col-xl { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%; } .row-cols-xl-1 > * { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .row-cols-xl-2 > * { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .row-cols-xl-3 > * { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .row-cols-xl-4 > * { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .row-cols-xl-5 > * { -ms-flex: 0 0 20%; flex: 0 0 20%; max-width: 20%; } .row-cols-xl-6 > * { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-xl-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: 100%; } .col-xl-1 { -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%; } .col-xl-2 { -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%; } .col-xl-3 { -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-xl-4 { -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%; } .col-xl-5 { -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%; } .col-xl-6 { -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-xl-7 { -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%; } .col-xl-8 { -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%; } .col-xl-9 { -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-xl-10 { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%; } .col-xl-11 { -ms-flex: 0 0 91.666667%; flex: 0 0 91.666667%; max-width: 91.666667%; } .col-xl-12 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .order-xl-first { -ms-flex-order: -1; order: -1; } .order-xl-last { -ms-flex-order: 13; order: 13; } .order-xl-0 { -ms-flex-order: 0; order: 0; } .order-xl-1 { -ms-flex-order: 1; order: 1; } .order-xl-2 { -ms-flex-order: 2; order: 2; } .order-xl-3 { -ms-flex-order: 3; order: 3; } .order-xl-4 { -ms-flex-order: 4; order: 4; } .order-xl-5 { -ms-flex-order: 5; order: 5; } .order-xl-6 { -ms-flex-order: 6; order: 6; } .order-xl-7 { -ms-flex-order: 7; order: 7; } .order-xl-8 { -ms-flex-order: 8; order: 8; } .order-xl-9 { -ms-flex-order: 9; order: 9; } .order-xl-10 { -ms-flex-order: 10; order: 10; } .order-xl-11 { -ms-flex-order: 11; order: 11; } .order-xl-12 { -ms-flex-order: 12; order: 12; } .offset-xl-0 { margin-left: 0; } .offset-xl-1 { margin-left: 8.333333%; } .offset-xl-2 { margin-left: 16.666667%; } .offset-xl-3 { margin-left: 25%; } .offset-xl-4 { margin-left: 33.333333%; } .offset-xl-5 { margin-left: 41.666667%; } .offset-xl-6 { margin-left: 50%; } .offset-xl-7 { margin-left: 58.333333%; } .offset-xl-8 { margin-left: 66.666667%; } .offset-xl-9 { margin-left: 75%; } .offset-xl-10 { margin-left: 83.333333%; } .offset-xl-11 { margin-left: 91.666667%; } } .table { width: 100%; margin-bottom: 1rem; color: #212529; } .table th, .table td { padding: 0.75rem; vertical-align: top; border-top: 1px solid #dee2e6; } .table thead th { vertical-align: bottom; border-bottom: 2px solid #dee2e6; } .table tbody + tbody { border-top: 2px solid #dee2e6; } .table-sm th, .table-sm td { padding: 0.3rem; } .table-bordered { border: 1px solid #dee2e6; } .table-bordered th, .table-bordered td { border: 1px solid #dee2e6; } .table-bordered thead th, .table-bordered thead td { border-bottom-width: 2px; } .table-borderless th, .table-borderless td, .table-borderless thead th, .table-borderless tbody + tbody { border: 0; } .table-striped tbody tr:nth-of-type(odd) { background-color: rgba(0, 0, 0, 0.05); } .table-hover tbody tr:hover { color: #212529; background-color: rgba(0, 0, 0, 0.075); } .table-primary, .table-primary > th, .table-primary > td { background-color: #b8daff; } .table-primary th, .table-primary td, .table-primary thead th, .table-primary tbody + tbody { border-color: #7abaff; } .table-hover .table-primary:hover { background-color: #9fcdff; } .table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th { background-color: #9fcdff; } .table-secondary, .table-secondary > th, .table-secondary > td { background-color: #d6d8db; } .table-secondary th, .table-secondary td, .table-secondary thead th, .table-secondary tbody + tbody { border-color: #b3b7bb; } .table-hover .table-secondary:hover { background-color: #c8cbcf; } .table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th { background-color: #c8cbcf; } .table-success, .table-success > th, .table-success > td { background-color: #c3e6cb; } .table-success th, .table-success td, .table-success thead th, .table-success tbody + tbody { border-color: #8fd19e; } .table-hover .table-success:hover { background-color: #b1dfbb; } .table-hover .table-success:hover > td, .table-hover .table-success:hover > th { background-color: #b1dfbb; } .table-info, .table-info > th, .table-info > td { background-color: #bee5eb; } .table-info th, .table-info td, .table-info thead th, .table-info tbody + tbody { border-color: #86cfda; } .table-hover .table-info:hover { background-color: #abdde5; } .table-hover .table-info:hover > td, .table-hover .table-info:hover > th { background-color: #abdde5; } .table-warning, .table-warning > th, .table-warning > td { background-color: #ffeeba; } .table-warning th, .table-warning td, .table-warning thead th, .table-warning tbody + tbody { border-color: #ffdf7e; } .table-hover .table-warning:hover { background-color: #ffe8a1; } .table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th { background-color: #ffe8a1; } .table-danger, .table-danger > th, .table-danger > td { background-color: #f5c6cb; } .table-danger th, .table-danger td, .table-danger thead th, .table-danger tbody + tbody { border-color: #ed969e; } .table-hover .table-danger:hover { background-color: #f1b0b7; } .table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th { background-color: #f1b0b7; } .table-light, .table-light > th, .table-light > td { background-color: #fdfdfe; } .table-light th, .table-light td, .table-light thead th, .table-light tbody + tbody { border-color: #fbfcfc; } .table-hover .table-light:hover { background-color: #ececf6; } .table-hover .table-light:hover > td, .table-hover .table-light:hover > th { background-color: #ececf6; } .table-dark, .table-dark > th, .table-dark > td { background-color: #c6c8ca; } .table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody { border-color: #95999c; } .table-hover .table-dark:hover { background-color: #b9bbbe; } .table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th { background-color: #b9bbbe; } .table-active, .table-active > th, .table-active > td { background-color: rgba(0, 0, 0, 0.075); } .table-hover .table-active:hover { background-color: rgba(0, 0, 0, 0.075); } .table-hover .table-active:hover > td, .table-hover .table-active:hover > th { background-color: rgba(0, 0, 0, 0.075); } .table .thead-dark th { color: #fff; background-color: #343a40; border-color: #454d55; } .table .thead-light th { color: #495057; background-color: #e9ecef; border-color: #dee2e6; } .table-dark { color: #fff; background-color: #343a40; } .table-dark th, .table-dark td, .table-dark thead th { border-color: #454d55; } .table-dark.table-bordered { border: 0; } .table-dark.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, 0.05); } .table-dark.table-hover tbody tr:hover { color: #fff; background-color: rgba(255, 255, 255, 0.075); } @media (max-width: 575.98px) { .table-responsive-sm { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive-sm > .table-bordered { border: 0; } } @media (max-width: 767.98px) { .table-responsive-md { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive-md > .table-bordered { border: 0; } } @media (max-width: 991.98px) { .table-responsive-lg { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive-lg > .table-bordered { border: 0; } } @media (max-width: 1199.98px) { .table-responsive-xl { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive-xl > .table-bordered { border: 0; } } .table-responsive { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-responsive > .table-bordered { border: 0; } .form-control { display: block; width: 100%; height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 0.75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; border-radius: 0.25rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .form-control { transition: none; } } .form-control::-ms-expand { background-color: transparent; border: 0; } .form-control:-moz-focusring { color: transparent; text-shadow: 0 0 0 #495057; } .form-control:focus { color: #495057; background-color: #fff; border-color: #80bdff; outline: 0; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .form-control::-webkit-input-placeholder { color: #6c757d; opacity: 1; } .form-control::-moz-placeholder { color: #6c757d; opacity: 1; } .form-control:-ms-input-placeholder { color: #6c757d; opacity: 1; } .form-control::-ms-input-placeholder { color: #6c757d; opacity: 1; } .form-control::placeholder { color: #6c757d; opacity: 1; } .form-control:disabled, .form-control[readonly] { background-color: #e9ecef; opacity: 1; } input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { -webkit-appearance: none; -moz-appearance: none; appearance: none; } select.form-control:focus::-ms-value { color: #495057; background-color: #fff; } .form-control-file, .form-control-range { display: block; width: 100%; } .col-form-label { padding-top: calc(0.375rem + 1px); padding-bottom: calc(0.375rem + 1px); margin-bottom: 0; font-size: inherit; line-height: 1.5; } .col-form-label-lg { padding-top: calc(0.5rem + 1px); padding-bottom: calc(0.5rem + 1px); font-size: 1.25rem; line-height: 1.5; } .col-form-label-sm { padding-top: calc(0.25rem + 1px); padding-bottom: calc(0.25rem + 1px); font-size: 0.875rem; line-height: 1.5; } .form-control-plaintext { display: block; width: 100%; padding: 0.375rem 0; margin-bottom: 0; font-size: 1rem; line-height: 1.5; color: #212529; background-color: transparent; border: solid transparent; border-width: 1px 0; } .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { padding-right: 0; padding-left: 0; } .form-control-sm { height: calc(1.5em + 0.5rem + 2px); padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.2rem; } .form-control-lg { height: calc(1.5em + 1rem + 2px); padding: 0.5rem 1rem; font-size: 1.25rem; line-height: 1.5; border-radius: 0.3rem; } select.form-control[size], select.form-control[multiple] { height: auto; } textarea.form-control { height: auto; } .form-group { margin-bottom: 1rem; } .form-text { display: block; margin-top: 0.25rem; } .form-row { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -5px; margin-left: -5px; } .form-row > .col, .form-row > [class*="col-"] { padding-right: 5px; padding-left: 5px; } .form-check { position: relative; display: block; padding-left: 1.25rem; } .form-check-input { position: absolute; margin-top: 0.3rem; margin-left: -1.25rem; } .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { color: #6c757d; } .form-check-label { margin-bottom: 0; } .form-check-inline { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; align-items: center; padding-left: 0; margin-right: 0.75rem; } .form-check-inline .form-check-input { position: static; margin-top: 0; margin-right: 0.3125rem; margin-left: 0; } .valid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 80%; color: #28a745; } .valid-tooltip { position: absolute; top: 100%; left: 0; z-index: 5; display: none; max-width: 100%; padding: 0.25rem 0.5rem; margin-top: .1rem; font-size: 0.875rem; line-height: 1.5; color: #fff; background-color: rgba(40, 167, 69, 0.9); border-radius: 0.25rem; } .was-validated :valid ~ .valid-feedback, .was-validated :valid ~ .valid-tooltip, .is-valid ~ .valid-feedback, .is-valid ~ .valid-tooltip { display: block; } .was-validated .form-control:valid, .form-control.is-valid { border-color: #28a745; padding-right: calc(1.5em + 0.75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right calc(0.375em + 0.1875rem) center; background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } .was-validated .form-control:valid:focus, .form-control.is-valid:focus { border-color: #28a745; box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .was-validated textarea.form-control:valid, textarea.form-control.is-valid { padding-right: calc(1.5em + 0.75rem); background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } .was-validated .custom-select:valid, .custom-select.is-valid { border-color: #28a745; padding-right: calc(0.75em + 2.3125rem); background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { border-color: #28a745; box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { color: #28a745; } .was-validated .form-check-input:valid ~ .valid-feedback, .was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, .form-check-input.is-valid ~ .valid-tooltip { display: block; } .was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { color: #28a745; } .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { border-color: #28a745; } .was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { border-color: #34ce57; background-color: #34ce57; } .was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { border-color: #28a745; } .was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { border-color: #28a745; } .was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { border-color: #28a745; box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .invalid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 80%; color: #dc3545; } .invalid-tooltip { position: absolute; top: 100%; left: 0; z-index: 5; display: none; max-width: 100%; padding: 0.25rem 0.5rem; margin-top: .1rem; font-size: 0.875rem; line-height: 1.5; color: #fff; background-color: rgba(220, 53, 69, 0.9); border-radius: 0.25rem; } .was-validated :invalid ~ .invalid-feedback, .was-validated :invalid ~ .invalid-tooltip, .is-invalid ~ .invalid-feedback, .is-invalid ~ .invalid-tooltip { display: block; } .was-validated .form-control:invalid, .form-control.is-invalid { border-color: #dc3545; padding-right: calc(1.5em + 0.75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right calc(0.375em + 0.1875rem) center; background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { border-color: #dc3545; box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { padding-right: calc(1.5em + 0.75rem); background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } .was-validated .custom-select:invalid, .custom-select.is-invalid { border-color: #dc3545; padding-right: calc(0.75em + 2.3125rem); background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { border-color: #dc3545; box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { color: #dc3545; } .was-validated .form-check-input:invalid ~ .invalid-feedback, .was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, .form-check-input.is-invalid ~ .invalid-tooltip { display: block; } .was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { color: #dc3545; } .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { border-color: #dc3545; } .was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { border-color: #e4606d; background-color: #e4606d; } .was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { border-color: #dc3545; } .was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { border-color: #dc3545; } .was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { border-color: #dc3545; box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .form-inline { display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; -ms-flex-align: center; align-items: center; } .form-inline .form-check { width: 100%; } @media (min-width: 576px) { .form-inline label { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 0; } .form-inline .form-group { display: -ms-flexbox; display: flex; -ms-flex: 0 0 auto; flex: 0 0 auto; -ms-flex-flow: row wrap; flex-flow: row wrap; -ms-flex-align: center; align-items: center; margin-bottom: 0; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-plaintext { display: inline-block; } .form-inline .input-group, .form-inline .custom-select { width: auto; } .form-inline .form-check { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; width: auto; padding-left: 0; } .form-inline .form-check-input { position: relative; -ms-flex-negative: 0; flex-shrink: 0; margin-top: 0; margin-right: 0.25rem; margin-left: 0; } .form-inline .custom-control { -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; } .form-inline .custom-control-label { margin-bottom: 0; } } .btn { display: inline-block; font-weight: 400; color: #212529; text-align: center; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 0.375rem 0.75rem; font-size: 1rem; line-height: 1.5; border-radius: 0.25rem; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .btn { transition: none; } } .btn:hover { color: #212529; text-decoration: none; } .btn:focus, .btn.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .btn.disabled, .btn:disabled { opacity: 0.65; } .btn:not(:disabled):not(.disabled) { cursor: pointer; } a.btn.disabled, fieldset:disabled a.btn { pointer-events: none; } .btn-primary { color: #fff; background-color: #007bff; border-color: #007bff; } .btn-primary:hover { color: #fff; background-color: #0069d9; border-color: #0062cc; } .btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #0069d9; border-color: #0062cc; box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); } .btn-primary.disabled, .btn-primary:disabled { color: #fff; background-color: #007bff; border-color: #007bff; } .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { color: #fff; background-color: #0062cc; border-color: #005cbf; } .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); } .btn-secondary { color: #fff; background-color: #6c757d; border-color: #6c757d; } .btn-secondary:hover { color: #fff; background-color: #5a6268; border-color: #545b62; } .btn-secondary:focus, .btn-secondary.focus { color: #fff; background-color: #5a6268; border-color: #545b62; box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); } .btn-secondary.disabled, .btn-secondary:disabled { color: #fff; background-color: #6c757d; border-color: #6c757d; } .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { color: #fff; background-color: #545b62; border-color: #4e555b; } .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); } .btn-success { color: #fff; background-color: #28a745; border-color: #28a745; } .btn-success:hover { color: #fff; background-color: #218838; border-color: #1e7e34; } .btn-success:focus, .btn-success.focus { color: #fff; background-color: #218838; border-color: #1e7e34; box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); } .btn-success.disabled, .btn-success:disabled { color: #fff; background-color: #28a745; border-color: #28a745; } .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { color: #fff; background-color: #1e7e34; border-color: #1c7430; } .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); } .btn-info { color: #fff; background-color: #17a2b8; border-color: #17a2b8; } .btn-info:hover { color: #fff; background-color: #138496; border-color: #117a8b; } .btn-info:focus, .btn-info.focus { color: #fff; background-color: #138496; border-color: #117a8b; box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); } .btn-info.disabled, .btn-info:disabled { color: #fff; background-color: #17a2b8; border-color: #17a2b8; } .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle { color: #fff; background-color: #117a8b; border-color: #10707f; } .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); } .btn-warning { color: #212529; background-color: #ffc107; border-color: #ffc107; } .btn-warning:hover { color: #212529; background-color: #e0a800; border-color: #d39e00; } .btn-warning:focus, .btn-warning.focus { color: #212529; background-color: #e0a800; border-color: #d39e00; box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); } .btn-warning.disabled, .btn-warning:disabled { color: #212529; background-color: #ffc107; border-color: #ffc107; } .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle { color: #212529; background-color: #d39e00; border-color: #c69500; } .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); } .btn-danger { color: #fff; background-color: #dc3545; border-color: #dc3545; } .btn-danger:hover { color: #fff; background-color: #c82333; border-color: #bd2130; } .btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #c82333; border-color: #bd2130; box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); } .btn-danger.disabled, .btn-danger:disabled { color: #fff; background-color: #dc3545; border-color: #dc3545; } .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { color: #fff; background-color: #bd2130; border-color: #b21f2d; } .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); } .btn-light { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-light:hover { color: #212529; background-color: #e2e6ea; border-color: #dae0e5; } .btn-light:focus, .btn-light.focus { color: #212529; background-color: #e2e6ea; border-color: #dae0e5; box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } .btn-light.disabled, .btn-light:disabled { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle { color: #212529; background-color: #dae0e5; border-color: #d3d9df; } .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } .btn-dark { color: #fff; background-color: #343a40; border-color: #343a40; } .btn-dark:hover { color: #fff; background-color: #23272b; border-color: #1d2124; } .btn-dark:focus, .btn-dark.focus { color: #fff; background-color: #23272b; border-color: #1d2124; box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } .btn-dark.disabled, .btn-dark:disabled { color: #fff; background-color: #343a40; border-color: #343a40; } .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle { color: #fff; background-color: #1d2124; border-color: #171a1d; } .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } .btn-outline-primary { color: #007bff; border-color: #007bff; } .btn-outline-primary:hover { color: #fff; background-color: #007bff; border-color: #007bff; } .btn-outline-primary:focus, .btn-outline-primary.focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .btn-outline-primary.disabled, .btn-outline-primary:disabled { color: #007bff; background-color: transparent; } .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle { color: #fff; background-color: #007bff; border-color: #007bff; } .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .btn-outline-secondary { color: #6c757d; border-color: #6c757d; } .btn-outline-secondary:hover { color: #fff; background-color: #6c757d; border-color: #6c757d; } .btn-outline-secondary:focus, .btn-outline-secondary.focus { box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { color: #6c757d; background-color: transparent; } .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { color: #fff; background-color: #6c757d; border-color: #6c757d; } .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } .btn-outline-success { color: #28a745; border-color: #28a745; } .btn-outline-success:hover { color: #fff; background-color: #28a745; border-color: #28a745; } .btn-outline-success:focus, .btn-outline-success.focus { box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .btn-outline-success.disabled, .btn-outline-success:disabled { color: #28a745; background-color: transparent; } .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle { color: #fff; background-color: #28a745; border-color: #28a745; } .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .btn-outline-info { color: #17a2b8; border-color: #17a2b8; } .btn-outline-info:hover { color: #fff; background-color: #17a2b8; border-color: #17a2b8; } .btn-outline-info:focus, .btn-outline-info.focus { box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .btn-outline-info.disabled, .btn-outline-info:disabled { color: #17a2b8; background-color: transparent; } .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle { color: #fff; background-color: #17a2b8; border-color: #17a2b8; } .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .btn-outline-warning { color: #ffc107; border-color: #ffc107; } .btn-outline-warning:hover { color: #212529; background-color: #ffc107; border-color: #ffc107; } .btn-outline-warning:focus, .btn-outline-warning.focus { box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .btn-outline-warning.disabled, .btn-outline-warning:disabled { color: #ffc107; background-color: transparent; } .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { color: #212529; background-color: #ffc107; border-color: #ffc107; } .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .btn-outline-danger { color: #dc3545; border-color: #dc3545; } .btn-outline-danger:hover { color: #fff; background-color: #dc3545; border-color: #dc3545; } .btn-outline-danger:focus, .btn-outline-danger.focus { box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .btn-outline-danger.disabled, .btn-outline-danger:disabled { color: #dc3545; background-color: transparent; } .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle { color: #fff; background-color: #dc3545; border-color: #dc3545; } .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .btn-outline-light { color: #f8f9fa; border-color: #f8f9fa; } .btn-outline-light:hover { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-outline-light:focus, .btn-outline-light.focus { box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-outline-light.disabled, .btn-outline-light:disabled { color: #f8f9fa; background-color: transparent; } .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-outline-dark { color: #343a40; border-color: #343a40; } .btn-outline-dark:hover { color: #fff; background-color: #343a40; border-color: #343a40; } .btn-outline-dark:focus, .btn-outline-dark.focus { box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .btn-outline-dark.disabled, .btn-outline-dark:disabled { color: #343a40; background-color: transparent; } .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle { color: #fff; background-color: #343a40; border-color: #343a40; } .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .btn-link { font-weight: 400; color: #007bff; text-decoration: none; } .btn-link:hover { color: #0056b3; text-decoration: underline; } .btn-link:focus, .btn-link.focus { text-decoration: underline; } .btn-link:disabled, .btn-link.disabled { color: #6c757d; pointer-events: none; } .btn-lg, .btn-group-lg > .btn { padding: 0.5rem 1rem; font-size: 1.25rem; line-height: 1.5; border-radius: 0.3rem; } .btn-sm, .btn-group-sm > .btn { padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.2rem; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 0.5rem; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { transition: opacity 0.15s linear; } @media (prefers-reduced-motion: reduce) { .fade { transition: none; } } .fade:not(.show) { opacity: 0; } .collapse:not(.show) { display: none; } .collapsing { position: relative; height: 0; overflow: hidden; transition: height 0.35s ease; } @media (prefers-reduced-motion: reduce) { .collapsing { transition: none; } } .dropup, .dropright, .dropdown, .dropleft { position: relative; } .dropdown-toggle { white-space: nowrap; } .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid; border-right: 0.3em solid transparent; border-bottom: 0; border-left: 0.3em solid transparent; } .dropdown-toggle:empty::after { margin-left: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 10rem; padding: 0.5rem 0; margin: 0.125rem 0 0; font-size: 1rem; color: #212529; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 0.25rem; } .dropdown-menu-left { right: auto; left: 0; } .dropdown-menu-right { right: 0; left: auto; } @media (min-width: 576px) { .dropdown-menu-sm-left { right: auto; left: 0; } .dropdown-menu-sm-right { right: 0; left: auto; } } @media (min-width: 768px) { .dropdown-menu-md-left { right: auto; left: 0; } .dropdown-menu-md-right { right: 0; left: auto; } } @media (min-width: 992px) { .dropdown-menu-lg-left { right: auto; left: 0; } .dropdown-menu-lg-right { right: 0; left: auto; } } @media (min-width: 1200px) { .dropdown-menu-xl-left { right: auto; left: 0; } .dropdown-menu-xl-right { right: 0; left: auto; } } .dropup .dropdown-menu { top: auto; bottom: 100%; margin-top: 0; margin-bottom: 0.125rem; } .dropup .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0; border-right: 0.3em solid transparent; border-bottom: 0.3em solid; border-left: 0.3em solid transparent; } .dropup .dropdown-toggle:empty::after { margin-left: 0; } .dropright .dropdown-menu { top: 0; right: auto; left: 100%; margin-top: 0; margin-left: 0.125rem; } .dropright .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid transparent; border-right: 0; border-bottom: 0.3em solid transparent; border-left: 0.3em solid; } .dropright .dropdown-toggle:empty::after { margin-left: 0; } .dropright .dropdown-toggle::after { vertical-align: 0; } .dropleft .dropdown-menu { top: 0; right: 100%; left: auto; margin-top: 0; margin-right: 0.125rem; } .dropleft .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; } .dropleft .dropdown-toggle::after { display: none; } .dropleft .dropdown-toggle::before { display: inline-block; margin-right: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid transparent; border-right: 0.3em solid; border-bottom: 0.3em solid transparent; } .dropleft .dropdown-toggle:empty::after { margin-left: 0; } .dropleft .dropdown-toggle::before { vertical-align: 0; } .dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { right: auto; bottom: auto; } .dropdown-divider { height: 0; margin: 0.5rem 0; overflow: hidden; border-top: 1px solid #e9ecef; } .dropdown-item { display: block; width: 100%; padding: 0.25rem 1.5rem; clear: both; font-weight: 400; color: #212529; text-align: inherit; white-space: nowrap; background-color: transparent; border: 0; } .dropdown-item:hover, .dropdown-item:focus { color: #16181b; text-decoration: none; background-color: #f8f9fa; } .dropdown-item.active, .dropdown-item:active { color: #fff; text-decoration: none; background-color: #007bff; } .dropdown-item.disabled, .dropdown-item:disabled { color: #6c757d; pointer-events: none; background-color: transparent; } .dropdown-menu.show { display: block; } .dropdown-header { display: block; padding: 0.5rem 1.5rem; margin-bottom: 0; font-size: 0.875rem; color: #6c757d; white-space: nowrap; } .dropdown-item-text { display: block; padding: 0.25rem 1.5rem; color: #212529; } .btn-group, .btn-group-vertical { position: relative; display: -ms-inline-flexbox; display: inline-flex; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; -ms-flex: 1 1 auto; flex: 1 1 auto; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover { z-index: 1; } .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { z-index: 1; } .btn-toolbar { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: start; justify-content: flex-start; } .btn-toolbar .input-group { width: auto; } .btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) { margin-left: -1px; } .btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .dropdown-toggle-split { padding-right: 0.5625rem; padding-left: 0.5625rem; } .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after { margin-left: 0; } .dropleft .dropdown-toggle-split::before { margin-right: 0; } .btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { padding-right: 0.375rem; padding-left: 0.375rem; } .btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { padding-right: 0.75rem; padding-left: 0.75rem; } .btn-group-vertical { -ms-flex-direction: column; flex-direction: column; -ms-flex-align: start; align-items: flex-start; -ms-flex-pack: center; justify-content: center; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group { width: 100%; } .btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) { margin-top: -1px; } .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-top-right-radius: 0; } .btn-group-toggle > .btn, .btn-group-toggle > .btn-group > .btn { margin-bottom: 0; } .btn-group-toggle > .btn input[type="radio"], .btn-group-toggle > .btn input[type="checkbox"], .btn-group-toggle > .btn-group > .btn input[type="radio"], .btn-group-toggle > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: stretch; align-items: stretch; width: 100%; } .input-group > .form-control, .input-group > .form-control-plaintext, .input-group > .custom-select, .input-group > .custom-file { position: relative; -ms-flex: 1 1 auto; flex: 1 1 auto; width: 1%; min-width: 0; margin-bottom: 0; } .input-group > .form-control + .form-control, .input-group > .form-control + .custom-select, .input-group > .form-control + .custom-file, .input-group > .form-control-plaintext + .form-control, .input-group > .form-control-plaintext + .custom-select, .input-group > .form-control-plaintext + .custom-file, .input-group > .custom-select + .form-control, .input-group > .custom-select + .custom-select, .input-group > .custom-select + .custom-file, .input-group > .custom-file + .form-control, .input-group > .custom-file + .custom-select, .input-group > .custom-file + .custom-file { margin-left: -1px; } .input-group > .form-control:focus, .input-group > .custom-select:focus, .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { z-index: 3; } .input-group > .custom-file .custom-file-input:focus { z-index: 4; } .input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group > .custom-file { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; } .input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group > .custom-file:not(:first-child) .custom-file-label { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group-prepend, .input-group-append { display: -ms-flexbox; display: flex; } .input-group-prepend .btn, .input-group-append .btn { position: relative; z-index: 2; } .input-group-prepend .btn:focus, .input-group-append .btn:focus { z-index: 3; } .input-group-prepend .btn + .btn, .input-group-prepend .btn + .input-group-text, .input-group-prepend .input-group-text + .input-group-text, .input-group-prepend .input-group-text + .btn, .input-group-append .btn + .btn, .input-group-append .btn + .input-group-text, .input-group-append .input-group-text + .input-group-text, .input-group-append .input-group-text + .btn { margin-left: -1px; } .input-group-prepend { margin-right: -1px; } .input-group-append { margin-left: -1px; } .input-group-text { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; padding: 0.375rem 0.75rem; margin-bottom: 0; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; text-align: center; white-space: nowrap; background-color: #e9ecef; border: 1px solid #ced4da; border-radius: 0.25rem; } .input-group-text input[type="radio"], .input-group-text input[type="checkbox"] { margin-top: 0; } .input-group-lg > .form-control:not(textarea), .input-group-lg > .custom-select { height: calc(1.5em + 1rem + 2px); } .input-group-lg > .form-control, .input-group-lg > .custom-select, .input-group-lg > .input-group-prepend > .input-group-text, .input-group-lg > .input-group-append > .input-group-text, .input-group-lg > .input-group-prepend > .btn, .input-group-lg > .input-group-append > .btn { padding: 0.5rem 1rem; font-size: 1.25rem; line-height: 1.5; border-radius: 0.3rem; } .input-group-sm > .form-control:not(textarea), .input-group-sm > .custom-select { height: calc(1.5em + 0.5rem + 2px); } .input-group-sm > .form-control, .input-group-sm > .custom-select, .input-group-sm > .input-group-prepend > .input-group-text, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-append > .btn { padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.2rem; } .input-group-lg > .custom-select, .input-group-sm > .custom-select { padding-right: 1.75rem; } .input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text, .input-group > .input-group-append:not(:last-child) > .btn, .input-group > .input-group-append:not(:last-child) > .input-group-text, .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group > .input-group-append > .btn, .input-group > .input-group-append > .input-group-text, .input-group > .input-group-prepend:not(:first-child) > .btn, .input-group > .input-group-prepend:not(:first-child) > .input-group-text, .input-group > .input-group-prepend:first-child > .btn:not(:first-child), .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .custom-control { position: relative; z-index: 1; display: block; min-height: 1.5rem; padding-left: 1.5rem; -webkit-print-color-adjust: exact; color-adjust: exact; } .custom-control-inline { display: -ms-inline-flexbox; display: inline-flex; margin-right: 1rem; } .custom-control-input { position: absolute; left: 0; z-index: -1; width: 1rem; height: 1.25rem; opacity: 0; } .custom-control-input:checked ~ .custom-control-label::before { color: #fff; border-color: #007bff; background-color: #007bff; } .custom-control-input:focus ~ .custom-control-label::before { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { border-color: #80bdff; } .custom-control-input:not(:disabled):active ~ .custom-control-label::before { color: #fff; background-color: #b3d7ff; border-color: #b3d7ff; } .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { color: #6c757d; } .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { background-color: #e9ecef; } .custom-control-label { position: relative; margin-bottom: 0; vertical-align: top; } .custom-control-label::before { position: absolute; top: 0.25rem; left: -1.5rem; display: block; width: 1rem; height: 1rem; pointer-events: none; content: ""; background-color: #fff; border: #adb5bd solid 1px; } .custom-control-label::after { position: absolute; top: 0.25rem; left: -1.5rem; display: block; width: 1rem; height: 1rem; content: ""; background: no-repeat 50% / 50% 50%; } .custom-checkbox .custom-control-label::before { border-radius: 0.25rem; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { border-color: #007bff; background-color: #007bff; } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); } .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(0, 123, 255, 0.5); } .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { background-color: rgba(0, 123, 255, 0.5); } .custom-radio .custom-control-label::before { border-radius: 50%; } .custom-radio .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(0, 123, 255, 0.5); } .custom-switch { padding-left: 2.25rem; } .custom-switch .custom-control-label::before { left: -2.25rem; width: 1.75rem; pointer-events: all; border-radius: 0.5rem; } .custom-switch .custom-control-label::after { top: calc(0.25rem + 2px); left: calc(-2.25rem + 2px); width: calc(1rem - 4px); height: calc(1rem - 4px); background-color: #adb5bd; border-radius: 0.5rem; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .custom-switch .custom-control-label::after { transition: none; } } .custom-switch .custom-control-input:checked ~ .custom-control-label::after { background-color: #fff; -webkit-transform: translateX(0.75rem); transform: translateX(0.75rem); } .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(0, 123, 255, 0.5); } .custom-select { display: inline-block; width: 100%; height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 1.75rem 0.375rem 0.75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; vertical-align: middle; background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; border: 1px solid #ced4da; border-radius: 0.25rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; } .custom-select:focus { border-color: #80bdff; outline: 0; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-select:focus::-ms-value { color: #495057; background-color: #fff; } .custom-select[multiple], .custom-select[size]:not([size="1"]) { height: auto; padding-right: 0.75rem; background-image: none; } .custom-select:disabled { color: #6c757d; background-color: #e9ecef; } .custom-select::-ms-expand { display: none; } .custom-select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #495057; } .custom-select-sm { height: calc(1.5em + 0.5rem + 2px); padding-top: 0.25rem; padding-bottom: 0.25rem; padding-left: 0.5rem; font-size: 0.875rem; } .custom-select-lg { height: calc(1.5em + 1rem + 2px); padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; font-size: 1.25rem; } .custom-file { position: relative; display: inline-block; width: 100%; height: calc(1.5em + 0.75rem + 2px); margin-bottom: 0; } .custom-file-input { position: relative; z-index: 2; width: 100%; height: calc(1.5em + 0.75rem + 2px); margin: 0; opacity: 0; } .custom-file-input:focus ~ .custom-file-label { border-color: #80bdff; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label { background-color: #e9ecef; } .custom-file-input:lang(en) ~ .custom-file-label::after { content: "Browse"; } .custom-file-input ~ .custom-file-label[data-browse]::after { content: attr(data-browse); } .custom-file-label { position: absolute; top: 0; right: 0; left: 0; z-index: 1; height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 0.75rem; font-weight: 400; line-height: 1.5; color: #495057; background-color: #fff; border: 1px solid #ced4da; border-radius: 0.25rem; } .custom-file-label::after { position: absolute; top: 0; right: 0; bottom: 0; z-index: 3; display: block; height: calc(1.5em + 0.75rem); padding: 0.375rem 0.75rem; line-height: 1.5; color: #495057; content: "Browse"; background-color: #e9ecef; border-left: inherit; border-radius: 0 0.25rem 0.25rem 0; } .custom-range { width: 100%; height: 1.4rem; padding: 0; background-color: transparent; -webkit-appearance: none; -moz-appearance: none; appearance: none; } .custom-range:focus { outline: none; } .custom-range:focus::-webkit-slider-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-range:focus::-moz-range-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-range:focus::-ms-thumb { box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-range::-moz-focus-outer { border: 0; } .custom-range::-webkit-slider-thumb { width: 1rem; height: 1rem; margin-top: -0.25rem; background-color: #007bff; border: 0; border-radius: 1rem; -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -webkit-appearance: none; appearance: none; } @media (prefers-reduced-motion: reduce) { .custom-range::-webkit-slider-thumb { -webkit-transition: none; transition: none; } } .custom-range::-webkit-slider-thumb:active { background-color: #b3d7ff; } .custom-range::-webkit-slider-runnable-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; background-color: #dee2e6; border-color: transparent; border-radius: 1rem; } .custom-range::-moz-range-thumb { width: 1rem; height: 1rem; background-color: #007bff; border: 0; border-radius: 1rem; -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -moz-appearance: none; appearance: none; } @media (prefers-reduced-motion: reduce) { .custom-range::-moz-range-thumb { -moz-transition: none; transition: none; } } .custom-range::-moz-range-thumb:active { background-color: #b3d7ff; } .custom-range::-moz-range-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; background-color: #dee2e6; border-color: transparent; border-radius: 1rem; } .custom-range::-ms-thumb { width: 1rem; height: 1rem; margin-top: 0; margin-right: 0.2rem; margin-left: 0.2rem; background-color: #007bff; border: 0; border-radius: 1rem; -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } @media (prefers-reduced-motion: reduce) { .custom-range::-ms-thumb { -ms-transition: none; transition: none; } } .custom-range::-ms-thumb:active { background-color: #b3d7ff; } .custom-range::-ms-track { width: 100%; height: 0.5rem; color: transparent; cursor: pointer; background-color: transparent; border-color: transparent; border-width: 0.5rem; } .custom-range::-ms-fill-lower { background-color: #dee2e6; border-radius: 1rem; } .custom-range::-ms-fill-upper { margin-right: 15px; background-color: #dee2e6; border-radius: 1rem; } .custom-range:disabled::-webkit-slider-thumb { background-color: #adb5bd; } .custom-range:disabled::-webkit-slider-runnable-track { cursor: default; } .custom-range:disabled::-moz-range-thumb { background-color: #adb5bd; } .custom-range:disabled::-moz-range-track { cursor: default; } .custom-range:disabled::-ms-thumb { background-color: #adb5bd; } .custom-control-label::before, .custom-file-label, .custom-select { transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .custom-control-label::before, .custom-file-label, .custom-select { transition: none; } } .nav { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; } .nav-link { display: block; padding: 0.5rem 1rem; } .nav-link:hover, .nav-link:focus { text-decoration: none; } .nav-link.disabled { color: #6c757d; pointer-events: none; cursor: default; } .nav-tabs { border-bottom: 1px solid #dee2e6; } .nav-tabs .nav-item { margin-bottom: -1px; } .nav-tabs .nav-link { border: 1px solid transparent; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; } .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #e9ecef #e9ecef #dee2e6; } .nav-tabs .nav-link.disabled { color: #6c757d; background-color: transparent; border-color: transparent; } .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: #495057; background-color: #fff; border-color: #dee2e6 #dee2e6 #fff; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .nav-pills .nav-link { border-radius: 0.25rem; } .nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #fff; background-color: #007bff; } .nav-fill > .nav-link, .nav-fill .nav-item { -ms-flex: 1 1 auto; flex: 1 1 auto; text-align: center; } .nav-justified > .nav-link, .nav-justified .nav-item { -ms-flex-preferred-size: 0; flex-basis: 0; -ms-flex-positive: 1; flex-grow: 1; text-align: center; } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .navbar { position: relative; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: center; align-items: center; -ms-flex-pack: justify; justify-content: space-between; padding: 0.5rem 1rem; } .navbar .container, .navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: center; align-items: center; -ms-flex-pack: justify; justify-content: space-between; } .navbar-brand { display: inline-block; padding-top: 0.3125rem; padding-bottom: 0.3125rem; margin-right: 1rem; font-size: 1.25rem; line-height: inherit; white-space: nowrap; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-nav { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; } .navbar-nav .nav-link { padding-right: 0; padding-left: 0; } .navbar-nav .dropdown-menu { position: static; float: none; } .navbar-text { display: inline-block; padding-top: 0.5rem; padding-bottom: 0.5rem; } .navbar-collapse { -ms-flex-preferred-size: 100%; flex-basis: 100%; -ms-flex-positive: 1; flex-grow: 1; -ms-flex-align: center; align-items: center; } .navbar-toggler { padding: 0.25rem 0.75rem; font-size: 1.25rem; line-height: 1; background-color: transparent; border: 1px solid transparent; border-radius: 0.25rem; } .navbar-toggler:hover, .navbar-toggler:focus { text-decoration: none; } .navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; content: ""; background: no-repeat center center; background-size: 100% 100%; } @media (max-width: 575.98px) { .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { padding-right: 0; padding-left: 0; } } @media (min-width: 576px) { .navbar-expand-sm { -ms-flex-flow: row nowrap; flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand-sm .navbar-nav { -ms-flex-direction: row; flex-direction: row; } .navbar-expand-sm .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand-sm .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand-sm .navbar-collapse { display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand-sm .navbar-toggler { display: none; } } @media (max-width: 767.98px) { .navbar-expand-md > .container, .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { padding-right: 0; padding-left: 0; } } @media (min-width: 768px) { .navbar-expand-md { -ms-flex-flow: row nowrap; flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand-md .navbar-nav { -ms-flex-direction: row; flex-direction: row; } .navbar-expand-md .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand-md .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand-md > .container, .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand-md .navbar-collapse { display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand-md .navbar-toggler { display: none; } } @media (max-width: 991.98px) { .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { padding-right: 0; padding-left: 0; } } @media (min-width: 992px) { .navbar-expand-lg { -ms-flex-flow: row nowrap; flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand-lg .navbar-nav { -ms-flex-direction: row; flex-direction: row; } .navbar-expand-lg .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand-lg .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand-lg .navbar-collapse { display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand-lg .navbar-toggler { display: none; } } @media (max-width: 1199.98px) { .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { padding-right: 0; padding-left: 0; } } @media (min-width: 1200px) { .navbar-expand-xl { -ms-flex-flow: row nowrap; flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand-xl .navbar-nav { -ms-flex-direction: row; flex-direction: row; } .navbar-expand-xl .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand-xl .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand-xl > .container, .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand-xl .navbar-collapse { display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand-xl .navbar-toggler { display: none; } } .navbar-expand { -ms-flex-flow: row nowrap; flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; } .navbar-expand > .container, .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { padding-right: 0; padding-left: 0; } .navbar-expand .navbar-nav { -ms-flex-direction: row; flex-direction: row; } .navbar-expand .navbar-nav .dropdown-menu { position: absolute; } .navbar-expand .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } .navbar-expand > .container, .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { -ms-flex-wrap: nowrap; flex-wrap: nowrap; } .navbar-expand .navbar-collapse { display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; } .navbar-expand .navbar-toggler { display: none; } .navbar-light .navbar-brand { color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-nav .nav-link { color: rgba(0, 0, 0, 0.5); } .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { color: rgba(0, 0, 0, 0.7); } .navbar-light .navbar-nav .nav-link.disabled { color: rgba(0, 0, 0, 0.3); } .navbar-light .navbar-nav .show > .nav-link, .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .nav-link.active { color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-toggler { color: rgba(0, 0, 0, 0.5); border-color: rgba(0, 0, 0, 0.1); } .navbar-light .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } .navbar-light .navbar-text { color: rgba(0, 0, 0, 0.5); } .navbar-light .navbar-text a { color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { color: rgba(0, 0, 0, 0.9); } .navbar-dark .navbar-brand { color: #fff; } .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { color: #fff; } .navbar-dark .navbar-nav .nav-link { color: rgba(255, 255, 255, 0.5); } .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { color: rgba(255, 255, 255, 0.75); } .navbar-dark .navbar-nav .nav-link.disabled { color: rgba(255, 255, 255, 0.25); } .navbar-dark .navbar-nav .show > .nav-link, .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active { color: #fff; } .navbar-dark .navbar-toggler { color: rgba(255, 255, 255, 0.5); border-color: rgba(255, 255, 255, 0.1); } .navbar-dark .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } .navbar-dark .navbar-text { color: rgba(255, 255, 255, 0.5); } .navbar-dark .navbar-text a { color: #fff; } .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { color: #fff; } .card { position: relative; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; min-width: 0; word-wrap: break-word; background-color: #fff; background-clip: border-box; border: 1px solid rgba(0, 0, 0, 0.125); border-radius: 0.25rem; } .card > hr { margin-right: 0; margin-left: 0; } .card > .list-group { border-top: inherit; border-bottom: inherit; } .card > .list-group:first-child { border-top-width: 0; border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); } .card > .list-group:last-child { border-bottom-width: 0; border-bottom-right-radius: calc(0.25rem - 1px); border-bottom-left-radius: calc(0.25rem - 1px); } .card > .card-header + .list-group, .card > .list-group + .card-footer { border-top: 0; } .card-body { -ms-flex: 1 1 auto; flex: 1 1 auto; min-height: 1px; padding: 1.25rem; } .card-title { margin-bottom: 0.75rem; } .card-subtitle { margin-top: -0.375rem; margin-bottom: 0; } .card-text:last-child { margin-bottom: 0; } .card-link:hover { text-decoration: none; } .card-link + .card-link { margin-left: 1.25rem; } .card-header { padding: 0.75rem 1.25rem; margin-bottom: 0; background-color: rgba(0, 0, 0, 0.03); border-bottom: 1px solid rgba(0, 0, 0, 0.125); } .card-header:first-child { border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } .card-footer { padding: 0.75rem 1.25rem; background-color: rgba(0, 0, 0, 0.03); border-top: 1px solid rgba(0, 0, 0, 0.125); } .card-footer:last-child { border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } .card-header-tabs { margin-right: -0.625rem; margin-bottom: -0.75rem; margin-left: -0.625rem; border-bottom: 0; } .card-header-pills { margin-right: -0.625rem; margin-left: -0.625rem; } .card-img-overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 1.25rem; border-radius: calc(0.25rem - 1px); } .card-img, .card-img-top, .card-img-bottom { -ms-flex-negative: 0; flex-shrink: 0; width: 100%; } .card-img, .card-img-top { border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); } .card-img, .card-img-bottom { border-bottom-right-radius: calc(0.25rem - 1px); border-bottom-left-radius: calc(0.25rem - 1px); } .card-deck .card { margin-bottom: 15px; } @media (min-width: 576px) { .card-deck { display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-right: -15px; margin-left: -15px; } .card-deck .card { -ms-flex: 1 0 0%; flex: 1 0 0%; margin-right: 15px; margin-bottom: 0; margin-left: 15px; } } .card-group > .card { margin-bottom: 15px; } @media (min-width: 576px) { .card-group { display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; } .card-group > .card { -ms-flex: 1 0 0%; flex: 1 0 0%; margin-bottom: 0; } .card-group > .card + .card { margin-left: 0; border-left: 0; } .card-group > .card:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .card-group > .card:not(:last-child) .card-img-top, .card-group > .card:not(:last-child) .card-header { border-top-right-radius: 0; } .card-group > .card:not(:last-child) .card-img-bottom, .card-group > .card:not(:last-child) .card-footer { border-bottom-right-radius: 0; } .card-group > .card:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .card-group > .card:not(:first-child) .card-img-top, .card-group > .card:not(:first-child) .card-header { border-top-left-radius: 0; } .card-group > .card:not(:first-child) .card-img-bottom, .card-group > .card:not(:first-child) .card-footer { border-bottom-left-radius: 0; } } .card-columns .card { margin-bottom: 0.75rem; } @media (min-width: 576px) { .card-columns { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; -webkit-column-gap: 1.25rem; -moz-column-gap: 1.25rem; column-gap: 1.25rem; orphans: 1; widows: 1; } .card-columns .card { display: inline-block; width: 100%; } } .accordion { overflow-anchor: none; } .accordion > .card { overflow: hidden; } .accordion > .card:not(:last-of-type) { border-bottom: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .accordion > .card:not(:first-of-type) { border-top-left-radius: 0; border-top-right-radius: 0; } .accordion > .card > .card-header { border-radius: 0; margin-bottom: -1px; } .breadcrumb { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0.75rem 1rem; margin-bottom: 1rem; list-style: none; background-color: #e9ecef; border-radius: 0.25rem; } .breadcrumb-item { display: -ms-flexbox; display: flex; } .breadcrumb-item + .breadcrumb-item { padding-left: 0.5rem; } .breadcrumb-item + .breadcrumb-item::before { display: inline-block; padding-right: 0.5rem; color: #6c757d; content: "/"; } .breadcrumb-item + .breadcrumb-item:hover::before { text-decoration: underline; } .breadcrumb-item + .breadcrumb-item:hover::before { text-decoration: none; } .breadcrumb-item.active { color: #6c757d; } .pagination { display: -ms-flexbox; display: flex; padding-left: 0; list-style: none; border-radius: 0.25rem; } .page-link { position: relative; display: block; padding: 0.5rem 0.75rem; margin-left: -1px; line-height: 1.25; color: #007bff; background-color: #fff; border: 1px solid #dee2e6; } .page-link:hover { z-index: 2; color: #0056b3; text-decoration: none; background-color: #e9ecef; border-color: #dee2e6; } .page-link:focus { z-index: 3; outline: 0; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .page-item:first-child .page-link { margin-left: 0; border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; } .page-item:last-child .page-link { border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; } .page-item.active .page-link { z-index: 3; color: #fff; background-color: #007bff; border-color: #007bff; } .page-item.disabled .page-link { color: #6c757d; pointer-events: none; cursor: auto; background-color: #fff; border-color: #dee2e6; } .pagination-lg .page-link { padding: 0.75rem 1.5rem; font-size: 1.25rem; line-height: 1.5; } .pagination-lg .page-item:first-child .page-link { border-top-left-radius: 0.3rem; border-bottom-left-radius: 0.3rem; } .pagination-lg .page-item:last-child .page-link { border-top-right-radius: 0.3rem; border-bottom-right-radius: 0.3rem; } .pagination-sm .page-link { padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; } .pagination-sm .page-item:first-child .page-link { border-top-left-radius: 0.2rem; border-bottom-left-radius: 0.2rem; } .pagination-sm .page-item:last-child .page-link { border-top-right-radius: 0.2rem; border-bottom-right-radius: 0.2rem; } .badge { display: inline-block; padding: 0.25em 0.4em; font-size: 75%; font-weight: 700; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.25rem; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .badge { transition: none; } } a.badge:hover, a.badge:focus { text-decoration: none; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .badge-pill { padding-right: 0.6em; padding-left: 0.6em; border-radius: 10rem; } .badge-primary { color: #fff; background-color: #007bff; } a.badge-primary:hover, a.badge-primary:focus { color: #fff; background-color: #0062cc; } a.badge-primary:focus, a.badge-primary.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .badge-secondary { color: #fff; background-color: #6c757d; } a.badge-secondary:hover, a.badge-secondary:focus { color: #fff; background-color: #545b62; } a.badge-secondary:focus, a.badge-secondary.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } .badge-success { color: #fff; background-color: #28a745; } a.badge-success:hover, a.badge-success:focus { color: #fff; background-color: #1e7e34; } a.badge-success:focus, a.badge-success.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .badge-info { color: #fff; background-color: #17a2b8; } a.badge-info:hover, a.badge-info:focus { color: #fff; background-color: #117a8b; } a.badge-info:focus, a.badge-info.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .badge-warning { color: #212529; background-color: #ffc107; } a.badge-warning:hover, a.badge-warning:focus { color: #212529; background-color: #d39e00; } a.badge-warning:focus, a.badge-warning.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .badge-danger { color: #fff; background-color: #dc3545; } a.badge-danger:hover, a.badge-danger:focus { color: #fff; background-color: #bd2130; } a.badge-danger:focus, a.badge-danger.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .badge-light { color: #212529; background-color: #f8f9fa; } a.badge-light:hover, a.badge-light:focus { color: #212529; background-color: #dae0e5; } a.badge-light:focus, a.badge-light.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .badge-dark { color: #fff; background-color: #343a40; } a.badge-dark:hover, a.badge-dark:focus { color: #fff; background-color: #1d2124; } a.badge-dark:focus, a.badge-dark.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .jumbotron { padding: 2rem 1rem; margin-bottom: 2rem; background-color: #e9ecef; border-radius: 0.3rem; } @media (min-width: 576px) { .jumbotron { padding: 4rem 2rem; } } .jumbotron-fluid { padding-right: 0; padding-left: 0; border-radius: 0; } .alert { position: relative; padding: 0.75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: 0.25rem; } .alert-heading { color: inherit; } .alert-link { font-weight: 700; } .alert-dismissible { padding-right: 4rem; } .alert-dismissible .close { position: absolute; top: 0; right: 0; z-index: 2; padding: 0.75rem 1.25rem; color: inherit; } .alert-primary { color: #004085; background-color: #cce5ff; border-color: #b8daff; } .alert-primary hr { border-top-color: #9fcdff; } .alert-primary .alert-link { color: #002752; } .alert-secondary { color: #383d41; background-color: #e2e3e5; border-color: #d6d8db; } .alert-secondary hr { border-top-color: #c8cbcf; } .alert-secondary .alert-link { color: #202326; } .alert-success { color: #155724; background-color: #d4edda; border-color: #c3e6cb; } .alert-success hr { border-top-color: #b1dfbb; } .alert-success .alert-link { color: #0b2e13; } .alert-info { color: #0c5460; background-color: #d1ecf1; border-color: #bee5eb; } .alert-info hr { border-top-color: #abdde5; } .alert-info .alert-link { color: #062c33; } .alert-warning { color: #856404; background-color: #fff3cd; border-color: #ffeeba; } .alert-warning hr { border-top-color: #ffe8a1; } .alert-warning .alert-link { color: #533f03; } .alert-danger { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; } .alert-danger hr { border-top-color: #f1b0b7; } .alert-danger .alert-link { color: #491217; } .alert-light { color: #818182; background-color: #fefefe; border-color: #fdfdfe; } .alert-light hr { border-top-color: #ececf6; } .alert-light .alert-link { color: #686868; } .alert-dark { color: #1b1e21; background-color: #d6d8d9; border-color: #c6c8ca; } .alert-dark hr { border-top-color: #b9bbbe; } .alert-dark .alert-link { color: #040505; } @-webkit-keyframes progress-bar-stripes { from { background-position: 1rem 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 1rem 0; } to { background-position: 0 0; } } .progress { display: -ms-flexbox; display: flex; height: 1rem; overflow: hidden; line-height: 0; font-size: 0.75rem; background-color: #e9ecef; border-radius: 0.25rem; } .progress-bar { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; overflow: hidden; color: #fff; text-align: center; white-space: nowrap; background-color: #007bff; transition: width 0.6s ease; } @media (prefers-reduced-motion: reduce) { .progress-bar { transition: none; } } .progress-bar-striped { background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-size: 1rem 1rem; } .progress-bar-animated { -webkit-animation: progress-bar-stripes 1s linear infinite; animation: progress-bar-stripes 1s linear infinite; } @media (prefers-reduced-motion: reduce) { .progress-bar-animated { -webkit-animation: none; animation: none; } } .media { display: -ms-flexbox; display: flex; -ms-flex-align: start; align-items: flex-start; } .media-body { -ms-flex: 1; flex: 1; } .list-group { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; padding-left: 0; margin-bottom: 0; border-radius: 0.25rem; } .list-group-item-action { width: 100%; color: #495057; text-align: inherit; } .list-group-item-action:hover, .list-group-item-action:focus { z-index: 1; color: #495057; text-decoration: none; background-color: #f8f9fa; } .list-group-item-action:active { color: #212529; background-color: #e9ecef; } .list-group-item { position: relative; display: block; padding: 0.75rem 1.25rem; background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.125); } .list-group-item:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; } .list-group-item:last-child { border-bottom-right-radius: inherit; border-bottom-left-radius: inherit; } .list-group-item.disabled, .list-group-item:disabled { color: #6c757d; pointer-events: none; background-color: #fff; } .list-group-item.active { z-index: 2; color: #fff; background-color: #007bff; border-color: #007bff; } .list-group-item + .list-group-item { border-top-width: 0; } .list-group-item + .list-group-item.active { margin-top: -1px; border-top-width: 1px; } .list-group-horizontal { -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal > .list-group-item.active { margin-top: 0; } .list-group-horizontal > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } @media (min-width: 576px) { .list-group-horizontal-sm { -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal-sm > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal-sm > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal-sm > .list-group-item.active { margin-top: 0; } .list-group-horizontal-sm > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal-sm > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } @media (min-width: 768px) { .list-group-horizontal-md { -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal-md > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal-md > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal-md > .list-group-item.active { margin-top: 0; } .list-group-horizontal-md > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal-md > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } @media (min-width: 992px) { .list-group-horizontal-lg { -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal-lg > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal-lg > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal-lg > .list-group-item.active { margin-top: 0; } .list-group-horizontal-lg > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal-lg > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } @media (min-width: 1200px) { .list-group-horizontal-xl { -ms-flex-direction: row; flex-direction: row; } .list-group-horizontal-xl > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } .list-group-horizontal-xl > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } .list-group-horizontal-xl > .list-group-item.active { margin-top: 0; } .list-group-horizontal-xl > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } .list-group-horizontal-xl > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } .list-group-flush { border-radius: 0; } .list-group-flush > .list-group-item { border-width: 0 0 1px; } .list-group-flush > .list-group-item:last-child { border-bottom-width: 0; } .list-group-item-primary { color: #004085; background-color: #b8daff; } .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { color: #004085; background-color: #9fcdff; } .list-group-item-primary.list-group-item-action.active { color: #fff; background-color: #004085; border-color: #004085; } .list-group-item-secondary { color: #383d41; background-color: #d6d8db; } .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { color: #383d41; background-color: #c8cbcf; } .list-group-item-secondary.list-group-item-action.active { color: #fff; background-color: #383d41; border-color: #383d41; } .list-group-item-success { color: #155724; background-color: #c3e6cb; } .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { color: #155724; background-color: #b1dfbb; } .list-group-item-success.list-group-item-action.active { color: #fff; background-color: #155724; border-color: #155724; } .list-group-item-info { color: #0c5460; background-color: #bee5eb; } .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { color: #0c5460; background-color: #abdde5; } .list-group-item-info.list-group-item-action.active { color: #fff; background-color: #0c5460; border-color: #0c5460; } .list-group-item-warning { color: #856404; background-color: #ffeeba; } .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { color: #856404; background-color: #ffe8a1; } .list-group-item-warning.list-group-item-action.active { color: #fff; background-color: #856404; border-color: #856404; } .list-group-item-danger { color: #721c24; background-color: #f5c6cb; } .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { color: #721c24; background-color: #f1b0b7; } .list-group-item-danger.list-group-item-action.active { color: #fff; background-color: #721c24; border-color: #721c24; } .list-group-item-light { color: #818182; background-color: #fdfdfe; } .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { color: #818182; background-color: #ececf6; } .list-group-item-light.list-group-item-action.active { color: #fff; background-color: #818182; border-color: #818182; } .list-group-item-dark { color: #1b1e21; background-color: #c6c8ca; } .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { color: #1b1e21; background-color: #b9bbbe; } .list-group-item-dark.list-group-item-action.active { color: #fff; background-color: #1b1e21; border-color: #1b1e21; } .close { float: right; font-size: 1.5rem; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: .5; } .close:hover { color: #000; text-decoration: none; } .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { opacity: .75; } button.close { padding: 0; background-color: transparent; border: 0; } a.close.disabled { pointer-events: none; } .toast { -ms-flex-preferred-size: 350px; flex-basis: 350px; max-width: 350px; font-size: 0.875rem; background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); opacity: 0; border-radius: 0.25rem; } .toast:not(:last-child) { margin-bottom: 0.75rem; } .toast.showing { opacity: 1; } .toast.show { display: block; opacity: 1; } .toast.hide { display: none; } .toast-header { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; padding: 0.25rem 0.75rem; color: #6c757d; background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; border-bottom: 1px solid rgba(0, 0, 0, 0.05); border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); } .toast-body { padding: 0.75rem; } .modal-open { overflow: hidden; } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal { position: fixed; top: 0; left: 0; z-index: 1050; display: none; width: 100%; height: 100%; overflow: hidden; outline: 0; } .modal-dialog { position: relative; width: auto; margin: 0.5rem; pointer-events: none; } .modal.fade .modal-dialog { transition: -webkit-transform 0.3s ease-out; transition: transform 0.3s ease-out; transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; -webkit-transform: translate(0, -50px); transform: translate(0, -50px); } @media (prefers-reduced-motion: reduce) { .modal.fade .modal-dialog { transition: none; } } .modal.show .modal-dialog { -webkit-transform: none; transform: none; } .modal.modal-static .modal-dialog { -webkit-transform: scale(1.02); transform: scale(1.02); } .modal-dialog-scrollable { display: -ms-flexbox; display: flex; max-height: calc(100% - 1rem); } .modal-dialog-scrollable .modal-content { max-height: calc(100vh - 1rem); overflow: hidden; } .modal-dialog-scrollable .modal-header, .modal-dialog-scrollable .modal-footer { -ms-flex-negative: 0; flex-shrink: 0; } .modal-dialog-scrollable .modal-body { overflow-y: auto; } .modal-dialog-centered { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; min-height: calc(100% - 1rem); } .modal-dialog-centered::before { display: block; height: calc(100vh - 1rem); height: -webkit-min-content; height: -moz-min-content; height: min-content; content: ""; } .modal-dialog-centered.modal-dialog-scrollable { -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; height: 100%; } .modal-dialog-centered.modal-dialog-scrollable .modal-content { max-height: none; } .modal-dialog-centered.modal-dialog-scrollable::before { content: none; } .modal-content { position: relative; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; width: 100%; pointer-events: auto; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0.3rem; outline: 0; } .modal-backdrop { position: fixed; top: 0; left: 0; z-index: 1040; width: 100vw; height: 100vh; background-color: #000; } .modal-backdrop.fade { opacity: 0; } .modal-backdrop.show { opacity: 0.5; } .modal-header { display: -ms-flexbox; display: flex; -ms-flex-align: start; align-items: flex-start; -ms-flex-pack: justify; justify-content: space-between; padding: 1rem 1rem; border-bottom: 1px solid #dee2e6; border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); } .modal-header .close { padding: 1rem 1rem; margin: -1rem -1rem -1rem auto; } .modal-title { margin-bottom: 0; line-height: 1.5; } .modal-body { position: relative; -ms-flex: 1 1 auto; flex: 1 1 auto; padding: 1rem; } .modal-footer { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: center; align-items: center; -ms-flex-pack: end; justify-content: flex-end; padding: 0.75rem; border-top: 1px solid #dee2e6; border-bottom-right-radius: calc(0.3rem - 1px); border-bottom-left-radius: calc(0.3rem - 1px); } .modal-footer > * { margin: 0.25rem; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 576px) { .modal-dialog { max-width: 500px; margin: 1.75rem auto; } .modal-dialog-scrollable { max-height: calc(100% - 3.5rem); } .modal-dialog-scrollable .modal-content { max-height: calc(100vh - 3.5rem); } .modal-dialog-centered { min-height: calc(100% - 3.5rem); } .modal-dialog-centered::before { height: calc(100vh - 3.5rem); height: -webkit-min-content; height: -moz-min-content; height: min-content; } .modal-sm { max-width: 300px; } } @media (min-width: 992px) { .modal-lg, .modal-xl { max-width: 800px; } } @media (min-width: 1200px) { .modal-xl { max-width: 1140px; } } .tooltip { position: absolute; z-index: 1070; display: block; margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-style: normal; font-weight: 400; line-height: 1.5; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; white-space: normal; line-break: auto; font-size: 0.875rem; word-wrap: break-word; opacity: 0; } .tooltip.show { opacity: 0.9; } .tooltip .arrow { position: absolute; display: block; width: 0.8rem; height: 0.4rem; } .tooltip .arrow::before { position: absolute; content: ""; border-color: transparent; border-style: solid; } .bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { padding: 0.4rem 0; } .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { bottom: 0; } .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { top: 0; border-width: 0.4rem 0.4rem 0; border-top-color: #000; } .bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { padding: 0 0.4rem; } .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { left: 0; width: 0.4rem; height: 0.8rem; } .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { right: 0; border-width: 0.4rem 0.4rem 0.4rem 0; border-right-color: #000; } .bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { padding: 0.4rem 0; } .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { top: 0; } .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { bottom: 0; border-width: 0 0.4rem 0.4rem; border-bottom-color: #000; } .bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { padding: 0 0.4rem; } .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { right: 0; width: 0.4rem; height: 0.8rem; } .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { left: 0; border-width: 0.4rem 0 0.4rem 0.4rem; border-left-color: #000; } .tooltip-inner { max-width: 200px; padding: 0.25rem 0.5rem; color: #fff; text-align: center; background-color: #000; border-radius: 0.25rem; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: block; max-width: 276px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-style: normal; font-weight: 400; line-height: 1.5; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; white-space: normal; line-break: auto; font-size: 0.875rem; word-wrap: break-word; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0.3rem; } .popover .arrow { position: absolute; display: block; width: 1rem; height: 0.5rem; margin: 0 0.3rem; } .popover .arrow::before, .popover .arrow::after { position: absolute; display: block; content: ""; border-color: transparent; border-style: solid; } .bs-popover-top, .bs-popover-auto[x-placement^="top"] { margin-bottom: 0.5rem; } .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { bottom: calc(-0.5rem - 1px); } .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { bottom: 0; border-width: 0.5rem 0.5rem 0; border-top-color: rgba(0, 0, 0, 0.25); } .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { bottom: 1px; border-width: 0.5rem 0.5rem 0; border-top-color: #fff; } .bs-popover-right, .bs-popover-auto[x-placement^="right"] { margin-left: 0.5rem; } .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { left: calc(-0.5rem - 1px); width: 0.5rem; height: 1rem; margin: 0.3rem 0; } .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { left: 0; border-width: 0.5rem 0.5rem 0.5rem 0; border-right-color: rgba(0, 0, 0, 0.25); } .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { left: 1px; border-width: 0.5rem 0.5rem 0.5rem 0; border-right-color: #fff; } .bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { margin-top: 0.5rem; } .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { top: calc(-0.5rem - 1px); } .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { top: 0; border-width: 0 0.5rem 0.5rem 0.5rem; border-bottom-color: rgba(0, 0, 0, 0.25); } .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { top: 1px; border-width: 0 0.5rem 0.5rem 0.5rem; border-bottom-color: #fff; } .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { position: absolute; top: 0; left: 50%; display: block; width: 1rem; margin-left: -0.5rem; content: ""; border-bottom: 1px solid #f7f7f7; } .bs-popover-left, .bs-popover-auto[x-placement^="left"] { margin-right: 0.5rem; } .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { right: calc(-0.5rem - 1px); width: 0.5rem; height: 1rem; margin: 0.3rem 0; } .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { right: 0; border-width: 0.5rem 0 0.5rem 0.5rem; border-left-color: rgba(0, 0, 0, 0.25); } .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { right: 1px; border-width: 0.5rem 0 0.5rem 0.5rem; border-left-color: #fff; } .popover-header { padding: 0.5rem 0.75rem; margin-bottom: 0; font-size: 1rem; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); } .popover-header:empty { display: none; } .popover-body { padding: 0.5rem 0.75rem; color: #212529; } .carousel { position: relative; } .carousel.pointer-event { -ms-touch-action: pan-y; touch-action: pan-y; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner::after { display: block; clear: both; content: ""; } .carousel-item { position: relative; display: none; float: left; width: 100%; margin-right: -100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; transition: -webkit-transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; } @media (prefers-reduced-motion: reduce) { .carousel-item { transition: none; } } .carousel-item.active, .carousel-item-next, .carousel-item-prev { display: block; } .carousel-item-next:not(.carousel-item-left), .active.carousel-item-right { -webkit-transform: translateX(100%); transform: translateX(100%); } .carousel-item-prev:not(.carousel-item-right), .active.carousel-item-left { -webkit-transform: translateX(-100%); transform: translateX(-100%); } .carousel-fade .carousel-item { opacity: 0; transition-property: opacity; -webkit-transform: none; transform: none; } .carousel-fade .carousel-item.active, .carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right { z-index: 1; opacity: 1; } .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right { z-index: 0; opacity: 0; transition: opacity 0s 0.6s; } @media (prefers-reduced-motion: reduce) { .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right { transition: none; } } .carousel-control-prev, .carousel-control-next { position: absolute; top: 0; bottom: 0; z-index: 1; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; width: 15%; color: #fff; text-align: center; opacity: 0.5; transition: opacity 0.15s ease; } @media (prefers-reduced-motion: reduce) { .carousel-control-prev, .carousel-control-next { transition: none; } } .carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus { color: #fff; text-decoration: none; outline: 0; opacity: 0.9; } .carousel-control-prev { left: 0; } .carousel-control-next { right: 0; } .carousel-control-prev-icon, .carousel-control-next-icon { display: inline-block; width: 20px; height: 20px; background: no-repeat 50% / 100% 100%; } .carousel-control-prev-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); } .carousel-control-next-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); } .carousel-indicators { position: absolute; right: 0; bottom: 0; left: 0; z-index: 15; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; padding-left: 0; margin-right: 15%; margin-left: 15%; list-style: none; } .carousel-indicators li { box-sizing: content-box; -ms-flex: 0 1 auto; flex: 0 1 auto; width: 30px; height: 3px; margin-right: 3px; margin-left: 3px; text-indent: -999px; cursor: pointer; background-color: #fff; background-clip: padding-box; border-top: 10px solid transparent; border-bottom: 10px solid transparent; opacity: .5; transition: opacity 0.6s ease; } @media (prefers-reduced-motion: reduce) { .carousel-indicators li { transition: none; } } .carousel-indicators .active { opacity: 1; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; } @-webkit-keyframes spinner-border { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spinner-border { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } .spinner-border { display: inline-block; width: 2rem; height: 2rem; vertical-align: text-bottom; border: 0.25em solid currentColor; border-right-color: transparent; border-radius: 50%; -webkit-animation: spinner-border .75s linear infinite; animation: spinner-border .75s linear infinite; } .spinner-border-sm { width: 1rem; height: 1rem; border-width: 0.2em; } @-webkit-keyframes spinner-grow { 0% { -webkit-transform: scale(0); transform: scale(0); } 50% { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes spinner-grow { 0% { -webkit-transform: scale(0); transform: scale(0); } 50% { opacity: 1; -webkit-transform: none; transform: none; } } .spinner-grow { display: inline-block; width: 2rem; height: 2rem; vertical-align: text-bottom; background-color: currentColor; border-radius: 50%; opacity: 0; -webkit-animation: spinner-grow .75s linear infinite; animation: spinner-grow .75s linear infinite; } .spinner-grow-sm { width: 1rem; height: 1rem; } .align-baseline { vertical-align: baseline !important; } .align-top { vertical-align: top !important; } .align-middle { vertical-align: middle !important; } .align-bottom { vertical-align: bottom !important; } .align-text-bottom { vertical-align: text-bottom !important; } .align-text-top { vertical-align: text-top !important; } .bg-primary { background-color: #007bff !important; } a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus { background-color: #0062cc !important; } .bg-secondary { background-color: #6c757d !important; } a.bg-secondary:hover, a.bg-secondary:focus, button.bg-secondary:hover, button.bg-secondary:focus { background-color: #545b62 !important; } .bg-success { background-color: #28a745 !important; } a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus { background-color: #1e7e34 !important; } .bg-info { background-color: #17a2b8 !important; } a.bg-info:hover, a.bg-info:focus, button.bg-info:hover, button.bg-info:focus { background-color: #117a8b !important; } .bg-warning { background-color: #ffc107 !important; } a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus { background-color: #d39e00 !important; } .bg-danger { background-color: #dc3545 !important; } a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus { background-color: #bd2130 !important; } .bg-light { background-color: #f8f9fa !important; } a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus { background-color: #dae0e5 !important; } .bg-dark { background-color: #343a40 !important; } a.bg-dark:hover, a.bg-dark:focus, button.bg-dark:hover, button.bg-dark:focus { background-color: #1d2124 !important; } .bg-white { background-color: #fff !important; } .bg-transparent { background-color: transparent !important; } .border { border: 1px solid #dee2e6 !important; } .border-top { border-top: 1px solid #dee2e6 !important; } .border-right { border-right: 1px solid #dee2e6 !important; } .border-bottom { border-bottom: 1px solid #dee2e6 !important; } .border-left { border-left: 1px solid #dee2e6 !important; } .border-0 { border: 0 !important; } .border-top-0 { border-top: 0 !important; } .border-right-0 { border-right: 0 !important; } .border-bottom-0 { border-bottom: 0 !important; } .border-left-0 { border-left: 0 !important; } .border-primary { border-color: #007bff !important; } .border-secondary { border-color: #6c757d !important; } .border-success { border-color: #28a745 !important; } .border-info { border-color: #17a2b8 !important; } .border-warning { border-color: #ffc107 !important; } .border-danger { border-color: #dc3545 !important; } .border-light { border-color: #f8f9fa !important; } .border-dark { border-color: #343a40 !important; } .border-white { border-color: #fff !important; } .rounded-sm { border-radius: 0.2rem !important; } .rounded { border-radius: 0.25rem !important; } .rounded-top { border-top-left-radius: 0.25rem !important; border-top-right-radius: 0.25rem !important; } .rounded-right { border-top-right-radius: 0.25rem !important; border-bottom-right-radius: 0.25rem !important; } .rounded-bottom { border-bottom-right-radius: 0.25rem !important; border-bottom-left-radius: 0.25rem !important; } .rounded-left { border-top-left-radius: 0.25rem !important; border-bottom-left-radius: 0.25rem !important; } .rounded-lg { border-radius: 0.3rem !important; } .rounded-circle { border-radius: 50% !important; } .rounded-pill { border-radius: 50rem !important; } .rounded-0 { border-radius: 0 !important; } .clearfix::after { display: block; clear: both; content: ""; } .d-none { display: none !important; } .d-inline { display: inline !important; } .d-inline-block { display: inline-block !important; } .d-block { display: block !important; } .d-table { display: table !important; } .d-table-row { display: table-row !important; } .d-table-cell { display: table-cell !important; } .d-flex { display: -ms-flexbox !important; display: flex !important; } .d-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } @media (min-width: 576px) { .d-sm-none { display: none !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-block { display: block !important; } .d-sm-table { display: table !important; } .d-sm-table-row { display: table-row !important; } .d-sm-table-cell { display: table-cell !important; } .d-sm-flex { display: -ms-flexbox !important; display: flex !important; } .d-sm-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 768px) { .d-md-none { display: none !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-block { display: block !important; } .d-md-table { display: table !important; } .d-md-table-row { display: table-row !important; } .d-md-table-cell { display: table-cell !important; } .d-md-flex { display: -ms-flexbox !important; display: flex !important; } .d-md-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 992px) { .d-lg-none { display: none !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-block { display: block !important; } .d-lg-table { display: table !important; } .d-lg-table-row { display: table-row !important; } .d-lg-table-cell { display: table-cell !important; } .d-lg-flex { display: -ms-flexbox !important; display: flex !important; } .d-lg-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media (min-width: 1200px) { .d-xl-none { display: none !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-block { display: block !important; } .d-xl-table { display: table !important; } .d-xl-table-row { display: table-row !important; } .d-xl-table-cell { display: table-cell !important; } .d-xl-flex { display: -ms-flexbox !important; display: flex !important; } .d-xl-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } @media print { .d-print-none { display: none !important; } .d-print-inline { display: inline !important; } .d-print-inline-block { display: inline-block !important; } .d-print-block { display: block !important; } .d-print-table { display: table !important; } .d-print-table-row { display: table-row !important; } .d-print-table-cell { display: table-cell !important; } .d-print-flex { display: -ms-flexbox !important; display: flex !important; } .d-print-inline-flex { display: -ms-inline-flexbox !important; display: inline-flex !important; } } .embed-responsive { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; } .embed-responsive::before { display: block; content: ""; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .embed-responsive-21by9::before { padding-top: 42.857143%; } .embed-responsive-16by9::before { padding-top: 56.25%; } .embed-responsive-4by3::before { padding-top: 75%; } .embed-responsive-1by1::before { padding-top: 100%; } .flex-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } @media (min-width: 576px) { .flex-sm-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-sm-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-sm-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-sm-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-sm-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-sm-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-sm-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-sm-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-sm-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-sm-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-sm-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-sm-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-sm-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-sm-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-sm-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-sm-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-sm-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-sm-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-sm-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-sm-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-sm-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-sm-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-sm-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-sm-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-sm-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-sm-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-sm-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-sm-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-sm-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-sm-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-sm-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-sm-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-sm-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-sm-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 768px) { .flex-md-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-md-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-md-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-md-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-md-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-md-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-md-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-md-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-md-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-md-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-md-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-md-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-md-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-md-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-md-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-md-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-md-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-md-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-md-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-md-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-md-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-md-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-md-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-md-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-md-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-md-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-md-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-md-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-md-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-md-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-md-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-md-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-md-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-md-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 992px) { .flex-lg-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-lg-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-lg-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-lg-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-lg-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-lg-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-lg-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-lg-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-lg-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-lg-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-lg-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-lg-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-lg-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-lg-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-lg-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-lg-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-lg-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-lg-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-lg-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-lg-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-lg-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-lg-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-lg-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-lg-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-lg-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-lg-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-lg-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-lg-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-lg-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-lg-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-lg-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-lg-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-lg-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-lg-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } @media (min-width: 1200px) { .flex-xl-row { -ms-flex-direction: row !important; flex-direction: row !important; } .flex-xl-column { -ms-flex-direction: column !important; flex-direction: column !important; } .flex-xl-row-reverse { -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; } .flex-xl-column-reverse { -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; } .flex-xl-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; } .flex-xl-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; } .flex-xl-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; } .flex-xl-fill { -ms-flex: 1 1 auto !important; flex: 1 1 auto !important; } .flex-xl-grow-0 { -ms-flex-positive: 0 !important; flex-grow: 0 !important; } .flex-xl-grow-1 { -ms-flex-positive: 1 !important; flex-grow: 1 !important; } .flex-xl-shrink-0 { -ms-flex-negative: 0 !important; flex-shrink: 0 !important; } .flex-xl-shrink-1 { -ms-flex-negative: 1 !important; flex-shrink: 1 !important; } .justify-content-xl-start { -ms-flex-pack: start !important; justify-content: flex-start !important; } .justify-content-xl-end { -ms-flex-pack: end !important; justify-content: flex-end !important; } .justify-content-xl-center { -ms-flex-pack: center !important; justify-content: center !important; } .justify-content-xl-between { -ms-flex-pack: justify !important; justify-content: space-between !important; } .justify-content-xl-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; } .align-items-xl-start { -ms-flex-align: start !important; align-items: flex-start !important; } .align-items-xl-end { -ms-flex-align: end !important; align-items: flex-end !important; } .align-items-xl-center { -ms-flex-align: center !important; align-items: center !important; } .align-items-xl-baseline { -ms-flex-align: baseline !important; align-items: baseline !important; } .align-items-xl-stretch { -ms-flex-align: stretch !important; align-items: stretch !important; } .align-content-xl-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; } .align-content-xl-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; } .align-content-xl-center { -ms-flex-line-pack: center !important; align-content: center !important; } .align-content-xl-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; } .align-content-xl-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; } .align-content-xl-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; } .align-self-xl-auto { -ms-flex-item-align: auto !important; align-self: auto !important; } .align-self-xl-start { -ms-flex-item-align: start !important; align-self: flex-start !important; } .align-self-xl-end { -ms-flex-item-align: end !important; align-self: flex-end !important; } .align-self-xl-center { -ms-flex-item-align: center !important; align-self: center !important; } .align-self-xl-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; } .align-self-xl-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; } } .float-left { float: left !important; } .float-right { float: right !important; } .float-none { float: none !important; } @media (min-width: 576px) { .float-sm-left { float: left !important; } .float-sm-right { float: right !important; } .float-sm-none { float: none !important; } } @media (min-width: 768px) { .float-md-left { float: left !important; } .float-md-right { float: right !important; } .float-md-none { float: none !important; } } @media (min-width: 992px) { .float-lg-left { float: left !important; } .float-lg-right { float: right !important; } .float-lg-none { float: none !important; } } @media (min-width: 1200px) { .float-xl-left { float: left !important; } .float-xl-right { float: right !important; } .float-xl-none { float: none !important; } } .user-select-all { -webkit-user-select: all !important; -moz-user-select: all !important; -ms-user-select: all !important; user-select: all !important; } .user-select-auto { -webkit-user-select: auto !important; -moz-user-select: auto !important; -ms-user-select: auto !important; user-select: auto !important; } .user-select-none { -webkit-user-select: none !important; -moz-user-select: none !important; -ms-user-select: none !important; user-select: none !important; } .overflow-auto { overflow: auto !important; } .overflow-hidden { overflow: hidden !important; } .position-static { position: static !important; } .position-relative { position: relative !important; } .position-absolute { position: absolute !important; } .position-fixed { position: fixed !important; } .position-sticky { position: -webkit-sticky !important; position: sticky !important; } .fixed-top { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; } .fixed-bottom { position: fixed; right: 0; bottom: 0; left: 0; z-index: 1030; } @supports ((position: -webkit-sticky) or (position: sticky)) { .sticky-top { position: -webkit-sticky; position: sticky; top: 0; z-index: 1020; } } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; } .shadow-sm { box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } .shadow { box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } .shadow-lg { box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } .shadow-none { box-shadow: none !important; } .w-25 { width: 25% !important; } .w-50 { width: 50% !important; } .w-75 { width: 75% !important; } .w-100 { width: 100% !important; } .w-auto { width: auto !important; } .h-25 { height: 25% !important; } .h-50 { height: 50% !important; } .h-75 { height: 75% !important; } .h-100 { height: 100% !important; } .h-auto { height: auto !important; } .mw-100 { max-width: 100% !important; } .mh-100 { max-height: 100% !important; } .min-vw-100 { min-width: 100vw !important; } .min-vh-100 { min-height: 100vh !important; } .vw-100 { width: 100vw !important; } .vh-100 { height: 100vh !important; } .m-0 { margin: 0 !important; } .mt-0, .my-0 { margin-top: 0 !important; } .mr-0, .mx-0 { margin-right: 0 !important; } .mb-0, .my-0 { margin-bottom: 0 !important; } .ml-0, .mx-0 { margin-left: 0 !important; } .m-1 { margin: 0.25rem !important; } .mt-1, .my-1 { margin-top: 0.25rem !important; } .mr-1, .mx-1 { margin-right: 0.25rem !important; } .mb-1, .my-1 { margin-bottom: 0.25rem !important; } .ml-1, .mx-1 { margin-left: 0.25rem !important; } .m-2 { margin: 0.5rem !important; } .mt-2, .my-2 { margin-top: 0.5rem !important; } .mr-2, .mx-2 { margin-right: 0.5rem !important; } .mb-2, .my-2 { margin-bottom: 0.5rem !important; } .ml-2, .mx-2 { margin-left: 0.5rem !important; } .m-3 { margin: 1rem !important; } .mt-3, .my-3 { margin-top: 1rem !important; } .mr-3, .mx-3 { margin-right: 1rem !important; } .mb-3, .my-3 { margin-bottom: 1rem !important; } .ml-3, .mx-3 { margin-left: 1rem !important; } .m-4 { margin: 1.5rem !important; } .mt-4, .my-4 { margin-top: 1.5rem !important; } .mr-4, .mx-4 { margin-right: 1.5rem !important; } .mb-4, .my-4 { margin-bottom: 1.5rem !important; } .ml-4, .mx-4 { margin-left: 1.5rem !important; } .m-5 { margin: 3rem !important; } .mt-5, .my-5 { margin-top: 3rem !important; } .mr-5, .mx-5 { margin-right: 3rem !important; } .mb-5, .my-5 { margin-bottom: 3rem !important; } .ml-5, .mx-5 { margin-left: 3rem !important; } .p-0 { padding: 0 !important; } .pt-0, .py-0 { padding-top: 0 !important; } .pr-0, .px-0 { padding-right: 0 !important; } .pb-0, .py-0 { padding-bottom: 0 !important; } .pl-0, .px-0 { padding-left: 0 !important; } .p-1 { padding: 0.25rem !important; } .pt-1, .py-1 { padding-top: 0.25rem !important; } .pr-1, .px-1 { padding-right: 0.25rem !important; } .pb-1, .py-1 { padding-bottom: 0.25rem !important; } .pl-1, .px-1 { padding-left: 0.25rem !important; } .p-2 { padding: 0.5rem !important; } .pt-2, .py-2 { padding-top: 0.5rem !important; } .pr-2, .px-2 { padding-right: 0.5rem !important; } .pb-2, .py-2 { padding-bottom: 0.5rem !important; } .pl-2, .px-2 { padding-left: 0.5rem !important; } .p-3 { padding: 1rem !important; } .pt-3, .py-3 { padding-top: 1rem !important; } .pr-3, .px-3 { padding-right: 1rem !important; } .pb-3, .py-3 { padding-bottom: 1rem !important; } .pl-3, .px-3 { padding-left: 1rem !important; } .p-4 { padding: 1.5rem !important; } .pt-4, .py-4 { padding-top: 1.5rem !important; } .pr-4, .px-4 { padding-right: 1.5rem !important; } .pb-4, .py-4 { padding-bottom: 1.5rem !important; } .pl-4, .px-4 { padding-left: 1.5rem !important; } .p-5 { padding: 3rem !important; } .pt-5, .py-5 { padding-top: 3rem !important; } .pr-5, .px-5 { padding-right: 3rem !important; } .pb-5, .py-5 { padding-bottom: 3rem !important; } .pl-5, .px-5 { padding-left: 3rem !important; } .m-n1 { margin: -0.25rem !important; } .mt-n1, .my-n1 { margin-top: -0.25rem !important; } .mr-n1, .mx-n1 { margin-right: -0.25rem !important; } .mb-n1, .my-n1 { margin-bottom: -0.25rem !important; } .ml-n1, .mx-n1 { margin-left: -0.25rem !important; } .m-n2 { margin: -0.5rem !important; } .mt-n2, .my-n2 { margin-top: -0.5rem !important; } .mr-n2, .mx-n2 { margin-right: -0.5rem !important; } .mb-n2, .my-n2 { margin-bottom: -0.5rem !important; } .ml-n2, .mx-n2 { margin-left: -0.5rem !important; } .m-n3 { margin: -1rem !important; } .mt-n3, .my-n3 { margin-top: -1rem !important; } .mr-n3, .mx-n3 { margin-right: -1rem !important; } .mb-n3, .my-n3 { margin-bottom: -1rem !important; } .ml-n3, .mx-n3 { margin-left: -1rem !important; } .m-n4 { margin: -1.5rem !important; } .mt-n4, .my-n4 { margin-top: -1.5rem !important; } .mr-n4, .mx-n4 { margin-right: -1.5rem !important; } .mb-n4, .my-n4 { margin-bottom: -1.5rem !important; } .ml-n4, .mx-n4 { margin-left: -1.5rem !important; } .m-n5 { margin: -3rem !important; } .mt-n5, .my-n5 { margin-top: -3rem !important; } .mr-n5, .mx-n5 { margin-right: -3rem !important; } .mb-n5, .my-n5 { margin-bottom: -3rem !important; } .ml-n5, .mx-n5 { margin-left: -3rem !important; } .m-auto { margin: auto !important; } .mt-auto, .my-auto { margin-top: auto !important; } .mr-auto, .mx-auto { margin-right: auto !important; } .mb-auto, .my-auto { margin-bottom: auto !important; } .ml-auto, .mx-auto { margin-left: auto !important; } @media (min-width: 576px) { .m-sm-0 { margin: 0 !important; } .mt-sm-0, .my-sm-0 { margin-top: 0 !important; } .mr-sm-0, .mx-sm-0 { margin-right: 0 !important; } .mb-sm-0, .my-sm-0 { margin-bottom: 0 !important; } .ml-sm-0, .mx-sm-0 { margin-left: 0 !important; } .m-sm-1 { margin: 0.25rem !important; } .mt-sm-1, .my-sm-1 { margin-top: 0.25rem !important; } .mr-sm-1, .mx-sm-1 { margin-right: 0.25rem !important; } .mb-sm-1, .my-sm-1 { margin-bottom: 0.25rem !important; } .ml-sm-1, .mx-sm-1 { margin-left: 0.25rem !important; } .m-sm-2 { margin: 0.5rem !important; } .mt-sm-2, .my-sm-2 { margin-top: 0.5rem !important; } .mr-sm-2, .mx-sm-2 { margin-right: 0.5rem !important; } .mb-sm-2, .my-sm-2 { margin-bottom: 0.5rem !important; } .ml-sm-2, .mx-sm-2 { margin-left: 0.5rem !important; } .m-sm-3 { margin: 1rem !important; } .mt-sm-3, .my-sm-3 { margin-top: 1rem !important; } .mr-sm-3, .mx-sm-3 { margin-right: 1rem !important; } .mb-sm-3, .my-sm-3 { margin-bottom: 1rem !important; } .ml-sm-3, .mx-sm-3 { margin-left: 1rem !important; } .m-sm-4 { margin: 1.5rem !important; } .mt-sm-4, .my-sm-4 { margin-top: 1.5rem !important; } .mr-sm-4, .mx-sm-4 { margin-right: 1.5rem !important; } .mb-sm-4, .my-sm-4 { margin-bottom: 1.5rem !important; } .ml-sm-4, .mx-sm-4 { margin-left: 1.5rem !important; } .m-sm-5 { margin: 3rem !important; } .mt-sm-5, .my-sm-5 { margin-top: 3rem !important; } .mr-sm-5, .mx-sm-5 { margin-right: 3rem !important; } .mb-sm-5, .my-sm-5 { margin-bottom: 3rem !important; } .ml-sm-5, .mx-sm-5 { margin-left: 3rem !important; } .p-sm-0 { padding: 0 !important; } .pt-sm-0, .py-sm-0 { padding-top: 0 !important; } .pr-sm-0, .px-sm-0 { padding-right: 0 !important; } .pb-sm-0, .py-sm-0 { padding-bottom: 0 !important; } .pl-sm-0, .px-sm-0 { padding-left: 0 !important; } .p-sm-1 { padding: 0.25rem !important; } .pt-sm-1, .py-sm-1 { padding-top: 0.25rem !important; } .pr-sm-1, .px-sm-1 { padding-right: 0.25rem !important; } .pb-sm-1, .py-sm-1 { padding-bottom: 0.25rem !important; } .pl-sm-1, .px-sm-1 { padding-left: 0.25rem !important; } .p-sm-2 { padding: 0.5rem !important; } .pt-sm-2, .py-sm-2 { padding-top: 0.5rem !important; } .pr-sm-2, .px-sm-2 { padding-right: 0.5rem !important; } .pb-sm-2, .py-sm-2 { padding-bottom: 0.5rem !important; } .pl-sm-2, .px-sm-2 { padding-left: 0.5rem !important; } .p-sm-3 { padding: 1rem !important; } .pt-sm-3, .py-sm-3 { padding-top: 1rem !important; } .pr-sm-3, .px-sm-3 { padding-right: 1rem !important; } .pb-sm-3, .py-sm-3 { padding-bottom: 1rem !important; } .pl-sm-3, .px-sm-3 { padding-left: 1rem !important; } .p-sm-4 { padding: 1.5rem !important; } .pt-sm-4, .py-sm-4 { padding-top: 1.5rem !important; } .pr-sm-4, .px-sm-4 { padding-right: 1.5rem !important; } .pb-sm-4, .py-sm-4 { padding-bottom: 1.5rem !important; } .pl-sm-4, .px-sm-4 { padding-left: 1.5rem !important; } .p-sm-5 { padding: 3rem !important; } .pt-sm-5, .py-sm-5 { padding-top: 3rem !important; } .pr-sm-5, .px-sm-5 { padding-right: 3rem !important; } .pb-sm-5, .py-sm-5 { padding-bottom: 3rem !important; } .pl-sm-5, .px-sm-5 { padding-left: 3rem !important; } .m-sm-n1 { margin: -0.25rem !important; } .mt-sm-n1, .my-sm-n1 { margin-top: -0.25rem !important; } .mr-sm-n1, .mx-sm-n1 { margin-right: -0.25rem !important; } .mb-sm-n1, .my-sm-n1 { margin-bottom: -0.25rem !important; } .ml-sm-n1, .mx-sm-n1 { margin-left: -0.25rem !important; } .m-sm-n2 { margin: -0.5rem !important; } .mt-sm-n2, .my-sm-n2 { margin-top: -0.5rem !important; } .mr-sm-n2, .mx-sm-n2 { margin-right: -0.5rem !important; } .mb-sm-n2, .my-sm-n2 { margin-bottom: -0.5rem !important; } .ml-sm-n2, .mx-sm-n2 { margin-left: -0.5rem !important; } .m-sm-n3 { margin: -1rem !important; } .mt-sm-n3, .my-sm-n3 { margin-top: -1rem !important; } .mr-sm-n3, .mx-sm-n3 { margin-right: -1rem !important; } .mb-sm-n3, .my-sm-n3 { margin-bottom: -1rem !important; } .ml-sm-n3, .mx-sm-n3 { margin-left: -1rem !important; } .m-sm-n4 { margin: -1.5rem !important; } .mt-sm-n4, .my-sm-n4 { margin-top: -1.5rem !important; } .mr-sm-n4, .mx-sm-n4 { margin-right: -1.5rem !important; } .mb-sm-n4, .my-sm-n4 { margin-bottom: -1.5rem !important; } .ml-sm-n4, .mx-sm-n4 { margin-left: -1.5rem !important; } .m-sm-n5 { margin: -3rem !important; } .mt-sm-n5, .my-sm-n5 { margin-top: -3rem !important; } .mr-sm-n5, .mx-sm-n5 { margin-right: -3rem !important; } .mb-sm-n5, .my-sm-n5 { margin-bottom: -3rem !important; } .ml-sm-n5, .mx-sm-n5 { margin-left: -3rem !important; } .m-sm-auto { margin: auto !important; } .mt-sm-auto, .my-sm-auto { margin-top: auto !important; } .mr-sm-auto, .mx-sm-auto { margin-right: auto !important; } .mb-sm-auto, .my-sm-auto { margin-bottom: auto !important; } .ml-sm-auto, .mx-sm-auto { margin-left: auto !important; } } @media (min-width: 768px) { .m-md-0 { margin: 0 !important; } .mt-md-0, .my-md-0 { margin-top: 0 !important; } .mr-md-0, .mx-md-0 { margin-right: 0 !important; } .mb-md-0, .my-md-0 { margin-bottom: 0 !important; } .ml-md-0, .mx-md-0 { margin-left: 0 !important; } .m-md-1 { margin: 0.25rem !important; } .mt-md-1, .my-md-1 { margin-top: 0.25rem !important; } .mr-md-1, .mx-md-1 { margin-right: 0.25rem !important; } .mb-md-1, .my-md-1 { margin-bottom: 0.25rem !important; } .ml-md-1, .mx-md-1 { margin-left: 0.25rem !important; } .m-md-2 { margin: 0.5rem !important; } .mt-md-2, .my-md-2 { margin-top: 0.5rem !important; } .mr-md-2, .mx-md-2 { margin-right: 0.5rem !important; } .mb-md-2, .my-md-2 { margin-bottom: 0.5rem !important; } .ml-md-2, .mx-md-2 { margin-left: 0.5rem !important; } .m-md-3 { margin: 1rem !important; } .mt-md-3, .my-md-3 { margin-top: 1rem !important; } .mr-md-3, .mx-md-3 { margin-right: 1rem !important; } .mb-md-3, .my-md-3 { margin-bottom: 1rem !important; } .ml-md-3, .mx-md-3 { margin-left: 1rem !important; } .m-md-4 { margin: 1.5rem !important; } .mt-md-4, .my-md-4 { margin-top: 1.5rem !important; } .mr-md-4, .mx-md-4 { margin-right: 1.5rem !important; } .mb-md-4, .my-md-4 { margin-bottom: 1.5rem !important; } .ml-md-4, .mx-md-4 { margin-left: 1.5rem !important; } .m-md-5 { margin: 3rem !important; } .mt-md-5, .my-md-5 { margin-top: 3rem !important; } .mr-md-5, .mx-md-5 { margin-right: 3rem !important; } .mb-md-5, .my-md-5 { margin-bottom: 3rem !important; } .ml-md-5, .mx-md-5 { margin-left: 3rem !important; } .p-md-0 { padding: 0 !important; } .pt-md-0, .py-md-0 { padding-top: 0 !important; } .pr-md-0, .px-md-0 { padding-right: 0 !important; } .pb-md-0, .py-md-0 { padding-bottom: 0 !important; } .pl-md-0, .px-md-0 { padding-left: 0 !important; } .p-md-1 { padding: 0.25rem !important; } .pt-md-1, .py-md-1 { padding-top: 0.25rem !important; } .pr-md-1, .px-md-1 { padding-right: 0.25rem !important; } .pb-md-1, .py-md-1 { padding-bottom: 0.25rem !important; } .pl-md-1, .px-md-1 { padding-left: 0.25rem !important; } .p-md-2 { padding: 0.5rem !important; } .pt-md-2, .py-md-2 { padding-top: 0.5rem !important; } .pr-md-2, .px-md-2 { padding-right: 0.5rem !important; } .pb-md-2, .py-md-2 { padding-bottom: 0.5rem !important; } .pl-md-2, .px-md-2 { padding-left: 0.5rem !important; } .p-md-3 { padding: 1rem !important; } .pt-md-3, .py-md-3 { padding-top: 1rem !important; } .pr-md-3, .px-md-3 { padding-right: 1rem !important; } .pb-md-3, .py-md-3 { padding-bottom: 1rem !important; } .pl-md-3, .px-md-3 { padding-left: 1rem !important; } .p-md-4 { padding: 1.5rem !important; } .pt-md-4, .py-md-4 { padding-top: 1.5rem !important; } .pr-md-4, .px-md-4 { padding-right: 1.5rem !important; } .pb-md-4, .py-md-4 { padding-bottom: 1.5rem !important; } .pl-md-4, .px-md-4 { padding-left: 1.5rem !important; } .p-md-5 { padding: 3rem !important; } .pt-md-5, .py-md-5 { padding-top: 3rem !important; } .pr-md-5, .px-md-5 { padding-right: 3rem !important; } .pb-md-5, .py-md-5 { padding-bottom: 3rem !important; } .pl-md-5, .px-md-5 { padding-left: 3rem !important; } .m-md-n1 { margin: -0.25rem !important; } .mt-md-n1, .my-md-n1 { margin-top: -0.25rem !important; } .mr-md-n1, .mx-md-n1 { margin-right: -0.25rem !important; } .mb-md-n1, .my-md-n1 { margin-bottom: -0.25rem !important; } .ml-md-n1, .mx-md-n1 { margin-left: -0.25rem !important; } .m-md-n2 { margin: -0.5rem !important; } .mt-md-n2, .my-md-n2 { margin-top: -0.5rem !important; } .mr-md-n2, .mx-md-n2 { margin-right: -0.5rem !important; } .mb-md-n2, .my-md-n2 { margin-bottom: -0.5rem !important; } .ml-md-n2, .mx-md-n2 { margin-left: -0.5rem !important; } .m-md-n3 { margin: -1rem !important; } .mt-md-n3, .my-md-n3 { margin-top: -1rem !important; } .mr-md-n3, .mx-md-n3 { margin-right: -1rem !important; } .mb-md-n3, .my-md-n3 { margin-bottom: -1rem !important; } .ml-md-n3, .mx-md-n3 { margin-left: -1rem !important; } .m-md-n4 { margin: -1.5rem !important; } .mt-md-n4, .my-md-n4 { margin-top: -1.5rem !important; } .mr-md-n4, .mx-md-n4 { margin-right: -1.5rem !important; } .mb-md-n4, .my-md-n4 { margin-bottom: -1.5rem !important; } .ml-md-n4, .mx-md-n4 { margin-left: -1.5rem !important; } .m-md-n5 { margin: -3rem !important; } .mt-md-n5, .my-md-n5 { margin-top: -3rem !important; } .mr-md-n5, .mx-md-n5 { margin-right: -3rem !important; } .mb-md-n5, .my-md-n5 { margin-bottom: -3rem !important; } .ml-md-n5, .mx-md-n5 { margin-left: -3rem !important; } .m-md-auto { margin: auto !important; } .mt-md-auto, .my-md-auto { margin-top: auto !important; } .mr-md-auto, .mx-md-auto { margin-right: auto !important; } .mb-md-auto, .my-md-auto { margin-bottom: auto !important; } .ml-md-auto, .mx-md-auto { margin-left: auto !important; } } @media (min-width: 992px) { .m-lg-0 { margin: 0 !important; } .mt-lg-0, .my-lg-0 { margin-top: 0 !important; } .mr-lg-0, .mx-lg-0 { margin-right: 0 !important; } .mb-lg-0, .my-lg-0 { margin-bottom: 0 !important; } .ml-lg-0, .mx-lg-0 { margin-left: 0 !important; } .m-lg-1 { margin: 0.25rem !important; } .mt-lg-1, .my-lg-1 { margin-top: 0.25rem !important; } .mr-lg-1, .mx-lg-1 { margin-right: 0.25rem !important; } .mb-lg-1, .my-lg-1 { margin-bottom: 0.25rem !important; } .ml-lg-1, .mx-lg-1 { margin-left: 0.25rem !important; } .m-lg-2 { margin: 0.5rem !important; } .mt-lg-2, .my-lg-2 { margin-top: 0.5rem !important; } .mr-lg-2, .mx-lg-2 { margin-right: 0.5rem !important; } .mb-lg-2, .my-lg-2 { margin-bottom: 0.5rem !important; } .ml-lg-2, .mx-lg-2 { margin-left: 0.5rem !important; } .m-lg-3 { margin: 1rem !important; } .mt-lg-3, .my-lg-3 { margin-top: 1rem !important; } .mr-lg-3, .mx-lg-3 { margin-right: 1rem !important; } .mb-lg-3, .my-lg-3 { margin-bottom: 1rem !important; } .ml-lg-3, .mx-lg-3 { margin-left: 1rem !important; } .m-lg-4 { margin: 1.5rem !important; } .mt-lg-4, .my-lg-4 { margin-top: 1.5rem !important; } .mr-lg-4, .mx-lg-4 { margin-right: 1.5rem !important; } .mb-lg-4, .my-lg-4 { margin-bottom: 1.5rem !important; } .ml-lg-4, .mx-lg-4 { margin-left: 1.5rem !important; } .m-lg-5 { margin: 3rem !important; } .mt-lg-5, .my-lg-5 { margin-top: 3rem !important; } .mr-lg-5, .mx-lg-5 { margin-right: 3rem !important; } .mb-lg-5, .my-lg-5 { margin-bottom: 3rem !important; } .ml-lg-5, .mx-lg-5 { margin-left: 3rem !important; } .p-lg-0 { padding: 0 !important; } .pt-lg-0, .py-lg-0 { padding-top: 0 !important; } .pr-lg-0, .px-lg-0 { padding-right: 0 !important; } .pb-lg-0, .py-lg-0 { padding-bottom: 0 !important; } .pl-lg-0, .px-lg-0 { padding-left: 0 !important; } .p-lg-1 { padding: 0.25rem !important; } .pt-lg-1, .py-lg-1 { padding-top: 0.25rem !important; } .pr-lg-1, .px-lg-1 { padding-right: 0.25rem !important; } .pb-lg-1, .py-lg-1 { padding-bottom: 0.25rem !important; } .pl-lg-1, .px-lg-1 { padding-left: 0.25rem !important; } .p-lg-2 { padding: 0.5rem !important; } .pt-lg-2, .py-lg-2 { padding-top: 0.5rem !important; } .pr-lg-2, .px-lg-2 { padding-right: 0.5rem !important; } .pb-lg-2, .py-lg-2 { padding-bottom: 0.5rem !important; } .pl-lg-2, .px-lg-2 { padding-left: 0.5rem !important; } .p-lg-3 { padding: 1rem !important; } .pt-lg-3, .py-lg-3 { padding-top: 1rem !important; } .pr-lg-3, .px-lg-3 { padding-right: 1rem !important; } .pb-lg-3, .py-lg-3 { padding-bottom: 1rem !important; } .pl-lg-3, .px-lg-3 { padding-left: 1rem !important; } .p-lg-4 { padding: 1.5rem !important; } .pt-lg-4, .py-lg-4 { padding-top: 1.5rem !important; } .pr-lg-4, .px-lg-4 { padding-right: 1.5rem !important; } .pb-lg-4, .py-lg-4 { padding-bottom: 1.5rem !important; } .pl-lg-4, .px-lg-4 { padding-left: 1.5rem !important; } .p-lg-5 { padding: 3rem !important; } .pt-lg-5, .py-lg-5 { padding-top: 3rem !important; } .pr-lg-5, .px-lg-5 { padding-right: 3rem !important; } .pb-lg-5, .py-lg-5 { padding-bottom: 3rem !important; } .pl-lg-5, .px-lg-5 { padding-left: 3rem !important; } .m-lg-n1 { margin: -0.25rem !important; } .mt-lg-n1, .my-lg-n1 { margin-top: -0.25rem !important; } .mr-lg-n1, .mx-lg-n1 { margin-right: -0.25rem !important; } .mb-lg-n1, .my-lg-n1 { margin-bottom: -0.25rem !important; } .ml-lg-n1, .mx-lg-n1 { margin-left: -0.25rem !important; } .m-lg-n2 { margin: -0.5rem !important; } .mt-lg-n2, .my-lg-n2 { margin-top: -0.5rem !important; } .mr-lg-n2, .mx-lg-n2 { margin-right: -0.5rem !important; } .mb-lg-n2, .my-lg-n2 { margin-bottom: -0.5rem !important; } .ml-lg-n2, .mx-lg-n2 { margin-left: -0.5rem !important; } .m-lg-n3 { margin: -1rem !important; } .mt-lg-n3, .my-lg-n3 { margin-top: -1rem !important; } .mr-lg-n3, .mx-lg-n3 { margin-right: -1rem !important; } .mb-lg-n3, .my-lg-n3 { margin-bottom: -1rem !important; } .ml-lg-n3, .mx-lg-n3 { margin-left: -1rem !important; } .m-lg-n4 { margin: -1.5rem !important; } .mt-lg-n4, .my-lg-n4 { margin-top: -1.5rem !important; } .mr-lg-n4, .mx-lg-n4 { margin-right: -1.5rem !important; } .mb-lg-n4, .my-lg-n4 { margin-bottom: -1.5rem !important; } .ml-lg-n4, .mx-lg-n4 { margin-left: -1.5rem !important; } .m-lg-n5 { margin: -3rem !important; } .mt-lg-n5, .my-lg-n5 { margin-top: -3rem !important; } .mr-lg-n5, .mx-lg-n5 { margin-right: -3rem !important; } .mb-lg-n5, .my-lg-n5 { margin-bottom: -3rem !important; } .ml-lg-n5, .mx-lg-n5 { margin-left: -3rem !important; } .m-lg-auto { margin: auto !important; } .mt-lg-auto, .my-lg-auto { margin-top: auto !important; } .mr-lg-auto, .mx-lg-auto { margin-right: auto !important; } .mb-lg-auto, .my-lg-auto { margin-bottom: auto !important; } .ml-lg-auto, .mx-lg-auto { margin-left: auto !important; } } @media (min-width: 1200px) { .m-xl-0 { margin: 0 !important; } .mt-xl-0, .my-xl-0 { margin-top: 0 !important; } .mr-xl-0, .mx-xl-0 { margin-right: 0 !important; } .mb-xl-0, .my-xl-0 { margin-bottom: 0 !important; } .ml-xl-0, .mx-xl-0 { margin-left: 0 !important; } .m-xl-1 { margin: 0.25rem !important; } .mt-xl-1, .my-xl-1 { margin-top: 0.25rem !important; } .mr-xl-1, .mx-xl-1 { margin-right: 0.25rem !important; } .mb-xl-1, .my-xl-1 { margin-bottom: 0.25rem !important; } .ml-xl-1, .mx-xl-1 { margin-left: 0.25rem !important; } .m-xl-2 { margin: 0.5rem !important; } .mt-xl-2, .my-xl-2 { margin-top: 0.5rem !important; } .mr-xl-2, .mx-xl-2 { margin-right: 0.5rem !important; } .mb-xl-2, .my-xl-2 { margin-bottom: 0.5rem !important; } .ml-xl-2, .mx-xl-2 { margin-left: 0.5rem !important; } .m-xl-3 { margin: 1rem !important; } .mt-xl-3, .my-xl-3 { margin-top: 1rem !important; } .mr-xl-3, .mx-xl-3 { margin-right: 1rem !important; } .mb-xl-3, .my-xl-3 { margin-bottom: 1rem !important; } .ml-xl-3, .mx-xl-3 { margin-left: 1rem !important; } .m-xl-4 { margin: 1.5rem !important; } .mt-xl-4, .my-xl-4 { margin-top: 1.5rem !important; } .mr-xl-4, .mx-xl-4 { margin-right: 1.5rem !important; } .mb-xl-4, .my-xl-4 { margin-bottom: 1.5rem !important; } .ml-xl-4, .mx-xl-4 { margin-left: 1.5rem !important; } .m-xl-5 { margin: 3rem !important; } .mt-xl-5, .my-xl-5 { margin-top: 3rem !important; } .mr-xl-5, .mx-xl-5 { margin-right: 3rem !important; } .mb-xl-5, .my-xl-5 { margin-bottom: 3rem !important; } .ml-xl-5, .mx-xl-5 { margin-left: 3rem !important; } .p-xl-0 { padding: 0 !important; } .pt-xl-0, .py-xl-0 { padding-top: 0 !important; } .pr-xl-0, .px-xl-0 { padding-right: 0 !important; } .pb-xl-0, .py-xl-0 { padding-bottom: 0 !important; } .pl-xl-0, .px-xl-0 { padding-left: 0 !important; } .p-xl-1 { padding: 0.25rem !important; } .pt-xl-1, .py-xl-1 { padding-top: 0.25rem !important; } .pr-xl-1, .px-xl-1 { padding-right: 0.25rem !important; } .pb-xl-1, .py-xl-1 { padding-bottom: 0.25rem !important; } .pl-xl-1, .px-xl-1 { padding-left: 0.25rem !important; } .p-xl-2 { padding: 0.5rem !important; } .pt-xl-2, .py-xl-2 { padding-top: 0.5rem !important; } .pr-xl-2, .px-xl-2 { padding-right: 0.5rem !important; } .pb-xl-2, .py-xl-2 { padding-bottom: 0.5rem !important; } .pl-xl-2, .px-xl-2 { padding-left: 0.5rem !important; } .p-xl-3 { padding: 1rem !important; } .pt-xl-3, .py-xl-3 { padding-top: 1rem !important; } .pr-xl-3, .px-xl-3 { padding-right: 1rem !important; } .pb-xl-3, .py-xl-3 { padding-bottom: 1rem !important; } .pl-xl-3, .px-xl-3 { padding-left: 1rem !important; } .p-xl-4 { padding: 1.5rem !important; } .pt-xl-4, .py-xl-4 { padding-top: 1.5rem !important; } .pr-xl-4, .px-xl-4 { padding-right: 1.5rem !important; } .pb-xl-4, .py-xl-4 { padding-bottom: 1.5rem !important; } .pl-xl-4, .px-xl-4 { padding-left: 1.5rem !important; } .p-xl-5 { padding: 3rem !important; } .pt-xl-5, .py-xl-5 { padding-top: 3rem !important; } .pr-xl-5, .px-xl-5 { padding-right: 3rem !important; } .pb-xl-5, .py-xl-5 { padding-bottom: 3rem !important; } .pl-xl-5, .px-xl-5 { padding-left: 3rem !important; } .m-xl-n1 { margin: -0.25rem !important; } .mt-xl-n1, .my-xl-n1 { margin-top: -0.25rem !important; } .mr-xl-n1, .mx-xl-n1 { margin-right: -0.25rem !important; } .mb-xl-n1, .my-xl-n1 { margin-bottom: -0.25rem !important; } .ml-xl-n1, .mx-xl-n1 { margin-left: -0.25rem !important; } .m-xl-n2 { margin: -0.5rem !important; } .mt-xl-n2, .my-xl-n2 { margin-top: -0.5rem !important; } .mr-xl-n2, .mx-xl-n2 { margin-right: -0.5rem !important; } .mb-xl-n2, .my-xl-n2 { margin-bottom: -0.5rem !important; } .ml-xl-n2, .mx-xl-n2 { margin-left: -0.5rem !important; } .m-xl-n3 { margin: -1rem !important; } .mt-xl-n3, .my-xl-n3 { margin-top: -1rem !important; } .mr-xl-n3, .mx-xl-n3 { margin-right: -1rem !important; } .mb-xl-n3, .my-xl-n3 { margin-bottom: -1rem !important; } .ml-xl-n3, .mx-xl-n3 { margin-left: -1rem !important; } .m-xl-n4 { margin: -1.5rem !important; } .mt-xl-n4, .my-xl-n4 { margin-top: -1.5rem !important; } .mr-xl-n4, .mx-xl-n4 { margin-right: -1.5rem !important; } .mb-xl-n4, .my-xl-n4 { margin-bottom: -1.5rem !important; } .ml-xl-n4, .mx-xl-n4 { margin-left: -1.5rem !important; } .m-xl-n5 { margin: -3rem !important; } .mt-xl-n5, .my-xl-n5 { margin-top: -3rem !important; } .mr-xl-n5, .mx-xl-n5 { margin-right: -3rem !important; } .mb-xl-n5, .my-xl-n5 { margin-bottom: -3rem !important; } .ml-xl-n5, .mx-xl-n5 { margin-left: -3rem !important; } .m-xl-auto { margin: auto !important; } .mt-xl-auto, .my-xl-auto { margin-top: auto !important; } .mr-xl-auto, .mx-xl-auto { margin-right: auto !important; } .mb-xl-auto, .my-xl-auto { margin-bottom: auto !important; } .ml-xl-auto, .mx-xl-auto { margin-left: auto !important; } } .stretched-link::after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; pointer-events: auto; content: ""; background-color: rgba(0, 0, 0, 0); } .text-monospace { font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; } .text-justify { text-align: justify !important; } .text-wrap { white-space: normal !important; } .text-nowrap { white-space: nowrap !important; } .text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .text-left { text-align: left !important; } .text-right { text-align: right !important; } .text-center { text-align: center !important; } @media (min-width: 576px) { .text-sm-left { text-align: left !important; } .text-sm-right { text-align: right !important; } .text-sm-center { text-align: center !important; } } @media (min-width: 768px) { .text-md-left { text-align: left !important; } .text-md-right { text-align: right !important; } .text-md-center { text-align: center !important; } } @media (min-width: 992px) { .text-lg-left { text-align: left !important; } .text-lg-right { text-align: right !important; } .text-lg-center { text-align: center !important; } } @media (min-width: 1200px) { .text-xl-left { text-align: left !important; } .text-xl-right { text-align: right !important; } .text-xl-center { text-align: center !important; } } .text-lowercase { text-transform: lowercase !important; } .text-uppercase { text-transform: uppercase !important; } .text-capitalize { text-transform: capitalize !important; } .font-weight-light { font-weight: 300 !important; } .font-weight-lighter { font-weight: lighter !important; } .font-weight-normal { font-weight: 400 !important; } .font-weight-bold { font-weight: 700 !important; } .font-weight-bolder { font-weight: bolder !important; } .font-italic { font-style: italic !important; } .text-white { color: #fff !important; } .text-primary { color: #007bff !important; } a.text-primary:hover, a.text-primary:focus { color: #0056b3 !important; } .text-secondary { color: #6c757d !important; } a.text-secondary:hover, a.text-secondary:focus { color: #494f54 !important; } .text-success { color: #28a745 !important; } a.text-success:hover, a.text-success:focus { color: #19692c !important; } .text-info { color: #17a2b8 !important; } a.text-info:hover, a.text-info:focus { color: #0f6674 !important; } .text-warning { color: #ffc107 !important; } a.text-warning:hover, a.text-warning:focus { color: #ba8b00 !important; } .text-danger { color: #dc3545 !important; } a.text-danger:hover, a.text-danger:focus { color: #a71d2a !important; } .text-light { color: #f8f9fa !important; } a.text-light:hover, a.text-light:focus { color: #cbd3da !important; } .text-dark { color: #343a40 !important; } a.text-dark:hover, a.text-dark:focus { color: #121416 !important; } .text-body { color: #212529 !important; } .text-muted { color: #6c757d !important; } .text-black-50 { color: rgba(0, 0, 0, 0.5) !important; } .text-white-50 { color: rgba(255, 255, 255, 0.5) !important; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .text-decoration-none { text-decoration: none !important; } .text-break { word-break: break-word !important; word-wrap: break-word !important; } .text-reset { color: inherit !important; } .visible { visibility: visible !important; } .invisible { visibility: hidden !important; } @media print { *, *::before, *::after { text-shadow: none !important; box-shadow: none !important; } a:not(.btn) { text-decoration: underline; } abbr[title]::after { content: " (" attr(title) ")"; } pre { white-space: pre-wrap !important; } pre, blockquote { border: 1px solid #adb5bd; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } @page { size: a3; } body { min-width: 992px !important; } .container { min-width: 992px !important; } .navbar { display: none; } .badge { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #dee2e6 !important; } .table-dark { color: inherit; } .table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody { border-color: #dee2e6; } .table .thead-dark th { color: inherit; border-color: #dee2e6; } } /*# sourceMappingURL=bootstrap.css.map */ ================================================ FILE: src/IdentityServer/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js ================================================ /*! * Bootstrap v4.5.3 (https://getbootstrap.com/) * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) : typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery)); }(this, (function (exports, $) { 'use strict'; function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var $__default = /*#__PURE__*/_interopDefaultLegacy($); function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } /** * -------------------------------------------------------------------------- * Bootstrap (v4.5.3): util.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ /** * ------------------------------------------------------------------------ * Private TransitionEnd Helpers * ------------------------------------------------------------------------ */ var TRANSITION_END = 'transitionend'; var MAX_UID = 1000000; var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) function toType(obj) { if (obj === null || typeof obj === 'undefined') { return "" + obj; } return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); } function getSpecialTransitionEndEvent() { return { bindType: TRANSITION_END, delegateType: TRANSITION_END, handle: function handle(event) { if ($__default['default'](event.target).is(this)) { return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params } return undefined; } }; } function transitionEndEmulator(duration) { var _this = this; var called = false; $__default['default'](this).one(Util.TRANSITION_END, function () { called = true; }); setTimeout(function () { if (!called) { Util.triggerTransitionEnd(_this); } }, duration); return this; } function setTransitionEndSupport() { $__default['default'].fn.emulateTransitionEnd = transitionEndEmulator; $__default['default'].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); } /** * -------------------------------------------------------------------------- * Public Util Api * -------------------------------------------------------------------------- */ var Util = { TRANSITION_END: 'bsTransitionEnd', getUID: function getUID(prefix) { do { prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here } while (document.getElementById(prefix)); return prefix; }, getSelectorFromElement: function getSelectorFromElement(element) { var selector = element.getAttribute('data-target'); if (!selector || selector === '#') { var hrefAttr = element.getAttribute('href'); selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; } try { return document.querySelector(selector) ? selector : null; } catch (_) { return null; } }, getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { if (!element) { return 0; } // Get transition-duration of the element var transitionDuration = $__default['default'](element).css('transition-duration'); var transitionDelay = $__default['default'](element).css('transition-delay'); var floatTransitionDuration = parseFloat(transitionDuration); var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found if (!floatTransitionDuration && !floatTransitionDelay) { return 0; } // If multiple durations are defined, take the first transitionDuration = transitionDuration.split(',')[0]; transitionDelay = transitionDelay.split(',')[0]; return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; }, reflow: function reflow(element) { return element.offsetHeight; }, triggerTransitionEnd: function triggerTransitionEnd(element) { $__default['default'](element).trigger(TRANSITION_END); }, supportsTransitionEnd: function supportsTransitionEnd() { return Boolean(TRANSITION_END); }, isElement: function isElement(obj) { return (obj[0] || obj).nodeType; }, typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { for (var property in configTypes) { if (Object.prototype.hasOwnProperty.call(configTypes, property)) { var expectedTypes = configTypes[property]; var value = config[property]; var valueType = value && Util.isElement(value) ? 'element' : toType(value); if (!new RegExp(expectedTypes).test(valueType)) { throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); } } } }, findShadowRoot: function findShadowRoot(element) { if (!document.documentElement.attachShadow) { return null; } // Can find the shadow root otherwise it'll return the document if (typeof element.getRootNode === 'function') { var root = element.getRootNode(); return root instanceof ShadowRoot ? root : null; } if (element instanceof ShadowRoot) { return element; } // when we don't find a shadow root if (!element.parentNode) { return null; } return Util.findShadowRoot(element.parentNode); }, jQueryDetection: function jQueryDetection() { if (typeof $__default['default'] === 'undefined') { throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); } var version = $__default['default'].fn.jquery.split(' ')[0].split('.'); var minMajor = 1; var ltMajor = 2; var minMinor = 9; var minPatch = 1; var maxMajor = 4; if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); } } }; Util.jQueryDetection(); setTransitionEndSupport(); /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME = 'alert'; var VERSION = '4.5.3'; var DATA_KEY = 'bs.alert'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME]; var SELECTOR_DISMISS = '[data-dismiss="alert"]'; var EVENT_CLOSE = "close" + EVENT_KEY; var EVENT_CLOSED = "closed" + EVENT_KEY; var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY; var CLASS_NAME_ALERT = 'alert'; var CLASS_NAME_FADE = 'fade'; var CLASS_NAME_SHOW = 'show'; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Alert = /*#__PURE__*/function () { function Alert(element) { this._element = element; } // Getters var _proto = Alert.prototype; // Public _proto.close = function close(element) { var rootElement = this._element; if (element) { rootElement = this._getRootElement(element); } var customEvent = this._triggerCloseEvent(rootElement); if (customEvent.isDefaultPrevented()) { return; } this._removeElement(rootElement); }; _proto.dispose = function dispose() { $__default['default'].removeData(this._element, DATA_KEY); this._element = null; } // Private ; _proto._getRootElement = function _getRootElement(element) { var selector = Util.getSelectorFromElement(element); var parent = false; if (selector) { parent = document.querySelector(selector); } if (!parent) { parent = $__default['default'](element).closest("." + CLASS_NAME_ALERT)[0]; } return parent; }; _proto._triggerCloseEvent = function _triggerCloseEvent(element) { var closeEvent = $__default['default'].Event(EVENT_CLOSE); $__default['default'](element).trigger(closeEvent); return closeEvent; }; _proto._removeElement = function _removeElement(element) { var _this = this; $__default['default'](element).removeClass(CLASS_NAME_SHOW); if (!$__default['default'](element).hasClass(CLASS_NAME_FADE)) { this._destroyElement(element); return; } var transitionDuration = Util.getTransitionDurationFromElement(element); $__default['default'](element).one(Util.TRANSITION_END, function (event) { return _this._destroyElement(element, event); }).emulateTransitionEnd(transitionDuration); }; _proto._destroyElement = function _destroyElement(element) { $__default['default'](element).detach().trigger(EVENT_CLOSED).remove(); } // Static ; Alert._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var $element = $__default['default'](this); var data = $element.data(DATA_KEY); if (!data) { data = new Alert(this); $element.data(DATA_KEY, data); } if (config === 'close') { data[config](this); } }); }; Alert._handleDismiss = function _handleDismiss(alertInstance) { return function (event) { if (event) { event.preventDefault(); } alertInstance.close(this); }; }; _createClass(Alert, null, [{ key: "VERSION", get: function get() { return VERSION; } }]); return Alert; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert())); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $__default['default'].fn[NAME] = Alert._jQueryInterface; $__default['default'].fn[NAME].Constructor = Alert; $__default['default'].fn[NAME].noConflict = function () { $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT; return Alert._jQueryInterface; }; /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME$1 = 'button'; var VERSION$1 = '4.5.3'; var DATA_KEY$1 = 'bs.button'; var EVENT_KEY$1 = "." + DATA_KEY$1; var DATA_API_KEY$1 = '.data-api'; var JQUERY_NO_CONFLICT$1 = $__default['default'].fn[NAME$1]; var CLASS_NAME_ACTIVE = 'active'; var CLASS_NAME_BUTTON = 'btn'; var CLASS_NAME_FOCUS = 'focus'; var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]'; var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]'; var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]'; var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn'; var SELECTOR_INPUT = 'input:not([type="hidden"])'; var SELECTOR_ACTIVE = '.active'; var SELECTOR_BUTTON = '.btn'; var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1; var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1); var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$1 + DATA_API_KEY$1; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Button = /*#__PURE__*/function () { function Button(element) { this._element = element; this.shouldAvoidTriggerChange = false; } // Getters var _proto = Button.prototype; // Public _proto.toggle = function toggle() { var triggerChangeEvent = true; var addAriaPressed = true; var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0]; if (rootElement) { var input = this._element.querySelector(SELECTOR_INPUT); if (input) { if (input.type === 'radio') { if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) { triggerChangeEvent = false; } else { var activeElement = rootElement.querySelector(SELECTOR_ACTIVE); if (activeElement) { $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE); } } } if (triggerChangeEvent) { // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input if (input.type === 'checkbox' || input.type === 'radio') { input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE); } if (!this.shouldAvoidTriggerChange) { $__default['default'](input).trigger('change'); } } input.focus(); addAriaPressed = false; } } if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { if (addAriaPressed) { this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE)); } if (triggerChangeEvent) { $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE); } } }; _proto.dispose = function dispose() { $__default['default'].removeData(this._element, DATA_KEY$1); this._element = null; } // Static ; Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) { return this.each(function () { var $element = $__default['default'](this); var data = $element.data(DATA_KEY$1); if (!data) { data = new Button(this); $element.data(DATA_KEY$1, data); } data.shouldAvoidTriggerChange = avoidTriggerChange; if (config === 'toggle') { data[config](); } }); }; _createClass(Button, null, [{ key: "VERSION", get: function get() { return VERSION$1; } }]); return Button; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $__default['default'](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) { var button = event.target; var initialButton = button; if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) { button = $__default['default'](button).closest(SELECTOR_BUTTON)[0]; } if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { event.preventDefault(); // work around Firefox bug #1540995 } else { var inputBtn = button.querySelector(SELECTOR_INPUT); if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) { event.preventDefault(); // work around Firefox bug #1540995 return; } if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') { Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT'); } } }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) { var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0]; $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type)); }); $__default['default'](window).on(EVENT_LOAD_DATA_API, function () { // ensure correct active class is set to match the controls' actual values/states // find all checkboxes/readio buttons inside data-toggle groups var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS)); for (var i = 0, len = buttons.length; i < len; i++) { var button = buttons[i]; var input = button.querySelector(SELECTOR_INPUT); if (input.checked || input.hasAttribute('checked')) { button.classList.add(CLASS_NAME_ACTIVE); } else { button.classList.remove(CLASS_NAME_ACTIVE); } } // find all button toggles buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE)); for (var _i = 0, _len = buttons.length; _i < _len; _i++) { var _button = buttons[_i]; if (_button.getAttribute('aria-pressed') === 'true') { _button.classList.add(CLASS_NAME_ACTIVE); } else { _button.classList.remove(CLASS_NAME_ACTIVE); } } }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $__default['default'].fn[NAME$1] = Button._jQueryInterface; $__default['default'].fn[NAME$1].Constructor = Button; $__default['default'].fn[NAME$1].noConflict = function () { $__default['default'].fn[NAME$1] = JQUERY_NO_CONFLICT$1; return Button._jQueryInterface; }; /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME$2 = 'carousel'; var VERSION$2 = '4.5.3'; var DATA_KEY$2 = 'bs.carousel'; var EVENT_KEY$2 = "." + DATA_KEY$2; var DATA_API_KEY$2 = '.data-api'; var JQUERY_NO_CONFLICT$2 = $__default['default'].fn[NAME$2]; var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch var SWIPE_THRESHOLD = 40; var Default = { interval: 5000, keyboard: true, slide: false, pause: 'hover', wrap: true, touch: true }; var DefaultType = { interval: '(number|boolean)', keyboard: 'boolean', slide: '(boolean|string)', pause: '(string|boolean)', wrap: 'boolean', touch: 'boolean' }; var DIRECTION_NEXT = 'next'; var DIRECTION_PREV = 'prev'; var DIRECTION_LEFT = 'left'; var DIRECTION_RIGHT = 'right'; var EVENT_SLIDE = "slide" + EVENT_KEY$2; var EVENT_SLID = "slid" + EVENT_KEY$2; var EVENT_KEYDOWN = "keydown" + EVENT_KEY$2; var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$2; var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$2; var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$2; var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$2; var EVENT_TOUCHEND = "touchend" + EVENT_KEY$2; var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$2; var EVENT_POINTERUP = "pointerup" + EVENT_KEY$2; var EVENT_DRAG_START = "dragstart" + EVENT_KEY$2; var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$2 + DATA_API_KEY$2; var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$2 + DATA_API_KEY$2; var CLASS_NAME_CAROUSEL = 'carousel'; var CLASS_NAME_ACTIVE$1 = 'active'; var CLASS_NAME_SLIDE = 'slide'; var CLASS_NAME_RIGHT = 'carousel-item-right'; var CLASS_NAME_LEFT = 'carousel-item-left'; var CLASS_NAME_NEXT = 'carousel-item-next'; var CLASS_NAME_PREV = 'carousel-item-prev'; var CLASS_NAME_POINTER_EVENT = 'pointer-event'; var SELECTOR_ACTIVE$1 = '.active'; var SELECTOR_ACTIVE_ITEM = '.active.carousel-item'; var SELECTOR_ITEM = '.carousel-item'; var SELECTOR_ITEM_IMG = '.carousel-item img'; var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'; var SELECTOR_INDICATORS = '.carousel-indicators'; var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'; var SELECTOR_DATA_RIDE = '[data-ride="carousel"]'; var PointerType = { TOUCH: 'touch', PEN: 'pen' }; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Carousel = /*#__PURE__*/function () { function Carousel(element, config) { this._items = null; this._interval = null; this._activeElement = null; this._isPaused = false; this._isSliding = false; this.touchTimeout = null; this.touchStartX = 0; this.touchDeltaX = 0; this._config = this._getConfig(config); this._element = element; this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS); this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); this._addEventListeners(); } // Getters var _proto = Carousel.prototype; // Public _proto.next = function next() { if (!this._isSliding) { this._slide(DIRECTION_NEXT); } }; _proto.nextWhenVisible = function nextWhenVisible() { var $element = $__default['default'](this._element); // Don't call next when the page isn't visible // or the carousel or its parent isn't visible if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') { this.next(); } }; _proto.prev = function prev() { if (!this._isSliding) { this._slide(DIRECTION_PREV); } }; _proto.pause = function pause(event) { if (!event) { this._isPaused = true; } if (this._element.querySelector(SELECTOR_NEXT_PREV)) { Util.triggerTransitionEnd(this._element); this.cycle(true); } clearInterval(this._interval); this._interval = null; }; _proto.cycle = function cycle(event) { if (!event) { this._isPaused = false; } if (this._interval) { clearInterval(this._interval); this._interval = null; } if (this._config.interval && !this._isPaused) { this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); } }; _proto.to = function to(index) { var _this = this; this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM); var activeIndex = this._getItemIndex(this._activeElement); if (index > this._items.length - 1 || index < 0) { return; } if (this._isSliding) { $__default['default'](this._element).one(EVENT_SLID, function () { return _this.to(index); }); return; } if (activeIndex === index) { this.pause(); this.cycle(); return; } var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV; this._slide(direction, this._items[index]); }; _proto.dispose = function dispose() { $__default['default'](this._element).off(EVENT_KEY$2); $__default['default'].removeData(this._element, DATA_KEY$2); this._items = null; this._config = null; this._element = null; this._interval = null; this._isPaused = null; this._isSliding = null; this._activeElement = null; this._indicatorsElement = null; } // Private ; _proto._getConfig = function _getConfig(config) { config = _extends({}, Default, config); Util.typeCheckConfig(NAME$2, config, DefaultType); return config; }; _proto._handleSwipe = function _handleSwipe() { var absDeltax = Math.abs(this.touchDeltaX); if (absDeltax <= SWIPE_THRESHOLD) { return; } var direction = absDeltax / this.touchDeltaX; this.touchDeltaX = 0; // swipe left if (direction > 0) { this.prev(); } // swipe right if (direction < 0) { this.next(); } }; _proto._addEventListeners = function _addEventListeners() { var _this2 = this; if (this._config.keyboard) { $__default['default'](this._element).on(EVENT_KEYDOWN, function (event) { return _this2._keydown(event); }); } if (this._config.pause === 'hover') { $__default['default'](this._element).on(EVENT_MOUSEENTER, function (event) { return _this2.pause(event); }).on(EVENT_MOUSELEAVE, function (event) { return _this2.cycle(event); }); } if (this._config.touch) { this._addTouchEventListeners(); } }; _proto._addTouchEventListeners = function _addTouchEventListeners() { var _this3 = this; if (!this._touchSupported) { return; } var start = function start(event) { if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { _this3.touchStartX = event.originalEvent.clientX; } else if (!_this3._pointerEvent) { _this3.touchStartX = event.originalEvent.touches[0].clientX; } }; var move = function move(event) { // ensure swiping with one touch and not pinching if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { _this3.touchDeltaX = 0; } else { _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; } }; var end = function end(event) { if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; } _this3._handleSwipe(); if (_this3._config.pause === 'hover') { // If it's a touch-enabled device, mouseenter/leave are fired as // part of the mouse compatibility events on first tap - the carousel // would stop cycling until user tapped out of it; // here, we listen for touchend, explicitly pause the carousel // (as if it's the second time we tap on it, mouseenter compat event // is NOT fired) and after a timeout (to allow for mouse compatibility // events to fire) we explicitly restart cycling _this3.pause(); if (_this3.touchTimeout) { clearTimeout(_this3.touchTimeout); } _this3.touchTimeout = setTimeout(function (event) { return _this3.cycle(event); }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); } }; $__default['default'](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) { return e.preventDefault(); }); if (this._pointerEvent) { $__default['default'](this._element).on(EVENT_POINTERDOWN, function (event) { return start(event); }); $__default['default'](this._element).on(EVENT_POINTERUP, function (event) { return end(event); }); this._element.classList.add(CLASS_NAME_POINTER_EVENT); } else { $__default['default'](this._element).on(EVENT_TOUCHSTART, function (event) { return start(event); }); $__default['default'](this._element).on(EVENT_TOUCHMOVE, function (event) { return move(event); }); $__default['default'](this._element).on(EVENT_TOUCHEND, function (event) { return end(event); }); } }; _proto._keydown = function _keydown(event) { if (/input|textarea/i.test(event.target.tagName)) { return; } switch (event.which) { case ARROW_LEFT_KEYCODE: event.preventDefault(); this.prev(); break; case ARROW_RIGHT_KEYCODE: event.preventDefault(); this.next(); break; } }; _proto._getItemIndex = function _getItemIndex(element) { this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : []; return this._items.indexOf(element); }; _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { var isNextDirection = direction === DIRECTION_NEXT; var isPrevDirection = direction === DIRECTION_PREV; var activeIndex = this._getItemIndex(activeElement); var lastItemIndex = this._items.length - 1; var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; if (isGoingToWrap && !this._config.wrap) { return activeElement; } var delta = direction === DIRECTION_PREV ? -1 : 1; var itemIndex = (activeIndex + delta) % this._items.length; return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; }; _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { var targetIndex = this._getItemIndex(relatedTarget); var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM)); var slideEvent = $__default['default'].Event(EVENT_SLIDE, { relatedTarget: relatedTarget, direction: eventDirectionName, from: fromIndex, to: targetIndex }); $__default['default'](this._element).trigger(slideEvent); return slideEvent; }; _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { if (this._indicatorsElement) { var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1)); $__default['default'](indicators).removeClass(CLASS_NAME_ACTIVE$1); var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; if (nextIndicator) { $__default['default'](nextIndicator).addClass(CLASS_NAME_ACTIVE$1); } } }; _proto._slide = function _slide(direction, element) { var _this4 = this; var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM); var activeElementIndex = this._getItemIndex(activeElement); var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); var nextElementIndex = this._getItemIndex(nextElement); var isCycling = Boolean(this._interval); var directionalClassName; var orderClassName; var eventDirectionName; if (direction === DIRECTION_NEXT) { directionalClassName = CLASS_NAME_LEFT; orderClassName = CLASS_NAME_NEXT; eventDirectionName = DIRECTION_LEFT; } else { directionalClassName = CLASS_NAME_RIGHT; orderClassName = CLASS_NAME_PREV; eventDirectionName = DIRECTION_RIGHT; } if (nextElement && $__default['default'](nextElement).hasClass(CLASS_NAME_ACTIVE$1)) { this._isSliding = false; return; } var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); if (slideEvent.isDefaultPrevented()) { return; } if (!activeElement || !nextElement) { // Some weirdness is happening, so we bail return; } this._isSliding = true; if (isCycling) { this.pause(); } this._setActiveIndicatorElement(nextElement); var slidEvent = $__default['default'].Event(EVENT_SLID, { relatedTarget: nextElement, direction: eventDirectionName, from: activeElementIndex, to: nextElementIndex }); if ($__default['default'](this._element).hasClass(CLASS_NAME_SLIDE)) { $__default['default'](nextElement).addClass(orderClassName); Util.reflow(nextElement); $__default['default'](activeElement).addClass(directionalClassName); $__default['default'](nextElement).addClass(directionalClassName); var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10); if (nextElementInterval) { this._config.defaultInterval = this._config.defaultInterval || this._config.interval; this._config.interval = nextElementInterval; } else { this._config.interval = this._config.defaultInterval || this._config.interval; } var transitionDuration = Util.getTransitionDurationFromElement(activeElement); $__default['default'](activeElement).one(Util.TRANSITION_END, function () { $__default['default'](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$1); $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1 + " " + orderClassName + " " + directionalClassName); _this4._isSliding = false; setTimeout(function () { return $__default['default'](_this4._element).trigger(slidEvent); }, 0); }).emulateTransitionEnd(transitionDuration); } else { $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1); $__default['default'](nextElement).addClass(CLASS_NAME_ACTIVE$1); this._isSliding = false; $__default['default'](this._element).trigger(slidEvent); } if (isCycling) { this.cycle(); } } // Static ; Carousel._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $__default['default'](this).data(DATA_KEY$2); var _config = _extends({}, Default, $__default['default'](this).data()); if (typeof config === 'object') { _config = _extends({}, _config, config); } var action = typeof config === 'string' ? config : _config.slide; if (!data) { data = new Carousel(this, _config); $__default['default'](this).data(DATA_KEY$2, data); } if (typeof config === 'number') { data.to(config); } else if (typeof action === 'string') { if (typeof data[action] === 'undefined') { throw new TypeError("No method named \"" + action + "\""); } data[action](); } else if (_config.interval && _config.ride) { data.pause(); data.cycle(); } }); }; Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { var selector = Util.getSelectorFromElement(this); if (!selector) { return; } var target = $__default['default'](selector)[0]; if (!target || !$__default['default'](target).hasClass(CLASS_NAME_CAROUSEL)) { return; } var config = _extends({}, $__default['default'](target).data(), $__default['default'](this).data()); var slideIndex = this.getAttribute('data-slide-to'); if (slideIndex) { config.interval = false; } Carousel._jQueryInterface.call($__default['default'](target), config); if (slideIndex) { $__default['default'](target).data(DATA_KEY$2).to(slideIndex); } event.preventDefault(); }; _createClass(Carousel, null, [{ key: "VERSION", get: function get() { return VERSION$2; } }, { key: "Default", get: function get() { return Default; } }]); return Carousel; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $__default['default'](document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler); $__default['default'](window).on(EVENT_LOAD_DATA_API$1, function () { var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE)); for (var i = 0, len = carousels.length; i < len; i++) { var $carousel = $__default['default'](carousels[i]); Carousel._jQueryInterface.call($carousel, $carousel.data()); } }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $__default['default'].fn[NAME$2] = Carousel._jQueryInterface; $__default['default'].fn[NAME$2].Constructor = Carousel; $__default['default'].fn[NAME$2].noConflict = function () { $__default['default'].fn[NAME$2] = JQUERY_NO_CONFLICT$2; return Carousel._jQueryInterface; }; /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME$3 = 'collapse'; var VERSION$3 = '4.5.3'; var DATA_KEY$3 = 'bs.collapse'; var EVENT_KEY$3 = "." + DATA_KEY$3; var DATA_API_KEY$3 = '.data-api'; var JQUERY_NO_CONFLICT$3 = $__default['default'].fn[NAME$3]; var Default$1 = { toggle: true, parent: '' }; var DefaultType$1 = { toggle: 'boolean', parent: '(string|element)' }; var EVENT_SHOW = "show" + EVENT_KEY$3; var EVENT_SHOWN = "shown" + EVENT_KEY$3; var EVENT_HIDE = "hide" + EVENT_KEY$3; var EVENT_HIDDEN = "hidden" + EVENT_KEY$3; var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3; var CLASS_NAME_SHOW$1 = 'show'; var CLASS_NAME_COLLAPSE = 'collapse'; var CLASS_NAME_COLLAPSING = 'collapsing'; var CLASS_NAME_COLLAPSED = 'collapsed'; var DIMENSION_WIDTH = 'width'; var DIMENSION_HEIGHT = 'height'; var SELECTOR_ACTIVES = '.show, .collapsing'; var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]'; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Collapse = /*#__PURE__*/function () { function Collapse(element, config) { this._isTransitioning = false; this._element = element; this._config = this._getConfig(config); this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1)); for (var i = 0, len = toggleList.length; i < len; i++) { var elem = toggleList[i]; var selector = Util.getSelectorFromElement(elem); var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { return foundElem === element; }); if (selector !== null && filterElement.length > 0) { this._selector = selector; this._triggerArray.push(elem); } } this._parent = this._config.parent ? this._getParent() : null; if (!this._config.parent) { this._addAriaAndCollapsedClass(this._element, this._triggerArray); } if (this._config.toggle) { this.toggle(); } } // Getters var _proto = Collapse.prototype; // Public _proto.toggle = function toggle() { if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { this.hide(); } else { this.show(); } }; _proto.show = function show() { var _this = this; if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { return; } var actives; var activesData; if (this._parent) { actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) { if (typeof _this._config.parent === 'string') { return elem.getAttribute('data-parent') === _this._config.parent; } return elem.classList.contains(CLASS_NAME_COLLAPSE); }); if (actives.length === 0) { actives = null; } } if (actives) { activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY$3); if (activesData && activesData._isTransitioning) { return; } } var startEvent = $__default['default'].Event(EVENT_SHOW); $__default['default'](this._element).trigger(startEvent); if (startEvent.isDefaultPrevented()) { return; } if (actives) { Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide'); if (!activesData) { $__default['default'](actives).data(DATA_KEY$3, null); } } var dimension = this._getDimension(); $__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING); this._element.style[dimension] = 0; if (this._triggerArray.length) { $__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true); } this.setTransitioning(true); var complete = function complete() { $__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1); _this._element.style[dimension] = ''; _this.setTransitioning(false); $__default['default'](_this._element).trigger(EVENT_SHOWN); }; var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); var scrollSize = "scroll" + capitalizedDimension; var transitionDuration = Util.getTransitionDurationFromElement(this._element); $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); this._element.style[dimension] = this._element[scrollSize] + "px"; }; _proto.hide = function hide() { var _this2 = this; if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) { return; } var startEvent = $__default['default'].Event(EVENT_HIDE); $__default['default'](this._element).trigger(startEvent); if (startEvent.isDefaultPrevented()) { return; } var dimension = this._getDimension(); this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; Util.reflow(this._element); $__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$1); var triggerArrayLength = this._triggerArray.length; if (triggerArrayLength > 0) { for (var i = 0; i < triggerArrayLength; i++) { var trigger = this._triggerArray[i]; var selector = Util.getSelectorFromElement(trigger); if (selector !== null) { var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector))); if (!$elem.hasClass(CLASS_NAME_SHOW$1)) { $__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false); } } } } this.setTransitioning(true); var complete = function complete() { _this2.setTransitioning(false); $__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN); }; this._element.style[dimension] = ''; var transitionDuration = Util.getTransitionDurationFromElement(this._element); $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); }; _proto.setTransitioning = function setTransitioning(isTransitioning) { this._isTransitioning = isTransitioning; }; _proto.dispose = function dispose() { $__default['default'].removeData(this._element, DATA_KEY$3); this._config = null; this._parent = null; this._element = null; this._triggerArray = null; this._isTransitioning = null; } // Private ; _proto._getConfig = function _getConfig(config) { config = _extends({}, Default$1, config); config.toggle = Boolean(config.toggle); // Coerce string values Util.typeCheckConfig(NAME$3, config, DefaultType$1); return config; }; _proto._getDimension = function _getDimension() { var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH); return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT; }; _proto._getParent = function _getParent() { var _this3 = this; var parent; if (Util.isElement(this._config.parent)) { parent = this._config.parent; // It's a jQuery object if (typeof this._config.parent.jquery !== 'undefined') { parent = this._config.parent[0]; } } else { parent = document.querySelector(this._config.parent); } var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; var children = [].slice.call(parent.querySelectorAll(selector)); $__default['default'](children).each(function (i, element) { _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); }); return parent; }; _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW$1); if (triggerArray.length) { $__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen); } } // Static ; Collapse._getTargetFromElement = function _getTargetFromElement(element) { var selector = Util.getSelectorFromElement(element); return selector ? document.querySelector(selector) : null; }; Collapse._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var $element = $__default['default'](this); var data = $element.data(DATA_KEY$3); var _config = _extends({}, Default$1, $element.data(), typeof config === 'object' && config ? config : {}); if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { _config.toggle = false; } if (!data) { data = new Collapse(this, _config); $element.data(DATA_KEY$3, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }); }; _createClass(Collapse, null, [{ key: "VERSION", get: function get() { return VERSION$3; } }, { key: "Default", get: function get() { return Default$1; } }]); return Collapse; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $__default['default'](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) { // preventDefault only for elements (which change the URL) not inside the collapsible element if (event.currentTarget.tagName === 'A') { event.preventDefault(); } var $trigger = $__default['default'](this); var selector = Util.getSelectorFromElement(this); var selectors = [].slice.call(document.querySelectorAll(selector)); $__default['default'](selectors).each(function () { var $target = $__default['default'](this); var data = $target.data(DATA_KEY$3); var config = data ? 'toggle' : $trigger.data(); Collapse._jQueryInterface.call($target, config); }); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $__default['default'].fn[NAME$3] = Collapse._jQueryInterface; $__default['default'].fn[NAME$3].Constructor = Collapse; $__default['default'].fn[NAME$3].noConflict = function () { $__default['default'].fn[NAME$3] = JQUERY_NO_CONFLICT$3; return Collapse._jQueryInterface; }; /**! * @fileOverview Kickass library to create and place poppers near their reference elements. * @version 1.16.1 * @license * Copyright (c) 2016 Federico Zivolo and contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined'; var timeoutDuration = function () { var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { return 1; } } return 0; }(); function microtaskDebounce(fn) { var called = false; return function () { if (called) { return; } called = true; window.Promise.resolve().then(function () { called = false; fn(); }); }; } function taskDebounce(fn) { var scheduled = false; return function () { if (!scheduled) { scheduled = true; setTimeout(function () { scheduled = false; fn(); }, timeoutDuration); } }; } var supportsMicroTasks = isBrowser && window.Promise; /** * Create a debounced version of a method, that's asynchronously deferred * but called in the minimum time possible. * * @method * @memberof Popper.Utils * @argument {Function} fn * @returns {Function} */ var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; /** * Check if the given variable is a function * @method * @memberof Popper.Utils * @argument {Any} functionToCheck - variable to check * @returns {Boolean} answer to: is a function? */ function isFunction(functionToCheck) { var getType = {}; return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; } /** * Get CSS computed property of the given element * @method * @memberof Popper.Utils * @argument {Eement} element * @argument {String} property */ function getStyleComputedProperty(element, property) { if (element.nodeType !== 1) { return []; } // NOTE: 1 DOM access here var window = element.ownerDocument.defaultView; var css = window.getComputedStyle(element, null); return property ? css[property] : css; } /** * Returns the parentNode or the host of the element * @method * @memberof Popper.Utils * @argument {Element} element * @returns {Element} parent */ function getParentNode(element) { if (element.nodeName === 'HTML') { return element; } return element.parentNode || element.host; } /** * Returns the scrolling parent of the given element * @method * @memberof Popper.Utils * @argument {Element} element * @returns {Element} scroll parent */ function getScrollParent(element) { // Return body, `getScroll` will take care to get the correct `scrollTop` from it if (!element) { return document.body; } switch (element.nodeName) { case 'HTML': case 'BODY': return element.ownerDocument.body; case '#document': return element.body; } // Firefox want us to check `-x` and `-y` variations as well var _getStyleComputedProp = getStyleComputedProperty(element), overflow = _getStyleComputedProp.overflow, overflowX = _getStyleComputedProp.overflowX, overflowY = _getStyleComputedProp.overflowY; if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) { return element; } return getScrollParent(getParentNode(element)); } /** * Returns the reference node of the reference object, or the reference object itself. * @method * @memberof Popper.Utils * @param {Element|Object} reference - the reference element (the popper will be relative to this) * @returns {Element} parent */ function getReferenceNode(reference) { return reference && reference.referenceNode ? reference.referenceNode : reference; } var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode); var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent); /** * Determines if the browser is Internet Explorer * @method * @memberof Popper.Utils * @param {Number} version to check * @returns {Boolean} isIE */ function isIE(version) { if (version === 11) { return isIE11; } if (version === 10) { return isIE10; } return isIE11 || isIE10; } /** * Returns the offset parent of the given element * @method * @memberof Popper.Utils * @argument {Element} element * @returns {Element} offset parent */ function getOffsetParent(element) { if (!element) { return document.documentElement; } var noOffsetParent = isIE(10) ? document.body : null; // NOTE: 1 DOM access here var offsetParent = element.offsetParent || null; // Skip hidden elements which don't have an offsetParent while (offsetParent === noOffsetParent && element.nextElementSibling) { offsetParent = (element = element.nextElementSibling).offsetParent; } var nodeName = offsetParent && offsetParent.nodeName; if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { return element ? element.ownerDocument.documentElement : document.documentElement; } // .offsetParent will return the closest TH, TD or TABLE in case // no offsetParent is present, I hate this job... if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { return getOffsetParent(offsetParent); } return offsetParent; } function isOffsetContainer(element) { var nodeName = element.nodeName; if (nodeName === 'BODY') { return false; } return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; } /** * Finds the root node (document, shadowDOM root) of the given element * @method * @memberof Popper.Utils * @argument {Element} node * @returns {Element} root node */ function getRoot(node) { if (node.parentNode !== null) { return getRoot(node.parentNode); } return node; } /** * Finds the offset parent common to the two provided nodes * @method * @memberof Popper.Utils * @argument {Element} element1 * @argument {Element} element2 * @returns {Element} common offset parent */ function findCommonOffsetParent(element1, element2) { // This check is needed to avoid errors in case one of the elements isn't defined for any reason if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { return document.documentElement; } // Here we make sure to give as "start" the element that comes first in the DOM var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; var start = order ? element1 : element2; var end = order ? element2 : element1; // Get common ancestor container var range = document.createRange(); range.setStart(start, 0); range.setEnd(end, 0); var commonAncestorContainer = range.commonAncestorContainer; // Both nodes are inside #document if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { if (isOffsetContainer(commonAncestorContainer)) { return commonAncestorContainer; } return getOffsetParent(commonAncestorContainer); } // one of the nodes is inside shadowDOM, find which one var element1root = getRoot(element1); if (element1root.host) { return findCommonOffsetParent(element1root.host, element2); } else { return findCommonOffsetParent(element1, getRoot(element2).host); } } /** * Gets the scroll value of the given element in the given side (top and left) * @method * @memberof Popper.Utils * @argument {Element} element * @argument {String} side `top` or `left` * @returns {number} amount of scrolled pixels */ function getScroll(element) { var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; var nodeName = element.nodeName; if (nodeName === 'BODY' || nodeName === 'HTML') { var html = element.ownerDocument.documentElement; var scrollingElement = element.ownerDocument.scrollingElement || html; return scrollingElement[upperSide]; } return element[upperSide]; } /* * Sum or subtract the element scroll values (left and top) from a given rect object * @method * @memberof Popper.Utils * @param {Object} rect - Rect object you want to change * @param {HTMLElement} element - The element from the function reads the scroll values * @param {Boolean} subtract - set to true if you want to subtract the scroll values * @return {Object} rect - The modifier rect object */ function includeScroll(rect, element) { var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var scrollTop = getScroll(element, 'top'); var scrollLeft = getScroll(element, 'left'); var modifier = subtract ? -1 : 1; rect.top += scrollTop * modifier; rect.bottom += scrollTop * modifier; rect.left += scrollLeft * modifier; rect.right += scrollLeft * modifier; return rect; } /* * Helper to detect borders of a given element * @method * @memberof Popper.Utils * @param {CSSStyleDeclaration} styles * Result of `getStyleComputedProperty` on the given element * @param {String} axis - `x` or `y` * @return {number} borders - The borders size of the given axis */ function getBordersSize(styles, axis) { var sideA = axis === 'x' ? 'Left' : 'Top'; var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']); } function getSize(axis, body, html, computedStyle) { return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0); } function getWindowSizes(document) { var body = document.body; var html = document.documentElement; var computedStyle = isIE(10) && getComputedStyle(html); return { height: getSize('Height', body, html, computedStyle), width: getSize('Width', body, html, computedStyle) }; } var classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; var createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var defineProperty = function (obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }; var _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /** * Given element offsets, generate an output similar to getBoundingClientRect * @method * @memberof Popper.Utils * @argument {Object} offsets * @returns {Object} ClientRect like output */ function getClientRect(offsets) { return _extends$1({}, offsets, { right: offsets.left + offsets.width, bottom: offsets.top + offsets.height }); } /** * Get bounding client rect of given element * @method * @memberof Popper.Utils * @param {HTMLElement} element * @return {Object} client rect */ function getBoundingClientRect(element) { var rect = {}; // IE10 10 FIX: Please, don't ask, the element isn't // considered in DOM in some circumstances... // This isn't reproducible in IE10 compatibility mode of IE11 try { if (isIE(10)) { rect = element.getBoundingClientRect(); var scrollTop = getScroll(element, 'top'); var scrollLeft = getScroll(element, 'left'); rect.top += scrollTop; rect.left += scrollLeft; rect.bottom += scrollTop; rect.right += scrollLeft; } else { rect = element.getBoundingClientRect(); } } catch (e) {} var result = { left: rect.left, top: rect.top, width: rect.right - rect.left, height: rect.bottom - rect.top }; // subtract scrollbar size from sizes var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; var width = sizes.width || element.clientWidth || result.width; var height = sizes.height || element.clientHeight || result.height; var horizScrollbar = element.offsetWidth - width; var vertScrollbar = element.offsetHeight - height; // if an hypothetical scrollbar is detected, we must be sure it's not a `border` // we make this check conditional for performance reasons if (horizScrollbar || vertScrollbar) { var styles = getStyleComputedProperty(element); horizScrollbar -= getBordersSize(styles, 'x'); vertScrollbar -= getBordersSize(styles, 'y'); result.width -= horizScrollbar; result.height -= vertScrollbar; } return getClientRect(result); } function getOffsetRectRelativeToArbitraryNode(children, parent) { var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var isIE10 = isIE(10); var isHTML = parent.nodeName === 'HTML'; var childrenRect = getBoundingClientRect(children); var parentRect = getBoundingClientRect(parent); var scrollParent = getScrollParent(children); var styles = getStyleComputedProperty(parent); var borderTopWidth = parseFloat(styles.borderTopWidth); var borderLeftWidth = parseFloat(styles.borderLeftWidth); // In cases where the parent is fixed, we must ignore negative scroll in offset calc if (fixedPosition && isHTML) { parentRect.top = Math.max(parentRect.top, 0); parentRect.left = Math.max(parentRect.left, 0); } var offsets = getClientRect({ top: childrenRect.top - parentRect.top - borderTopWidth, left: childrenRect.left - parentRect.left - borderLeftWidth, width: childrenRect.width, height: childrenRect.height }); offsets.marginTop = 0; offsets.marginLeft = 0; // Subtract margins of documentElement in case it's being used as parent // we do this only on HTML because it's the only element that behaves // differently when margins are applied to it. The margins are included in // the box of the documentElement, in the other cases not. if (!isIE10 && isHTML) { var marginTop = parseFloat(styles.marginTop); var marginLeft = parseFloat(styles.marginLeft); offsets.top -= borderTopWidth - marginTop; offsets.bottom -= borderTopWidth - marginTop; offsets.left -= borderLeftWidth - marginLeft; offsets.right -= borderLeftWidth - marginLeft; // Attach marginTop and marginLeft because in some circumstances we may need them offsets.marginTop = marginTop; offsets.marginLeft = marginLeft; } if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { offsets = includeScroll(offsets, parent); } return offsets; } function getViewportOffsetRectRelativeToArtbitraryNode(element) { var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var html = element.ownerDocument.documentElement; var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); var width = Math.max(html.clientWidth, window.innerWidth || 0); var height = Math.max(html.clientHeight, window.innerHeight || 0); var scrollTop = !excludeScroll ? getScroll(html) : 0; var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0; var offset = { top: scrollTop - relativeOffset.top + relativeOffset.marginTop, left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, width: width, height: height }; return getClientRect(offset); } /** * Check if the given element is fixed or is inside a fixed parent * @method * @memberof Popper.Utils * @argument {Element} element * @argument {Element} customContainer * @returns {Boolean} answer to "isFixed?" */ function isFixed(element) { var nodeName = element.nodeName; if (nodeName === 'BODY' || nodeName === 'HTML') { return false; } if (getStyleComputedProperty(element, 'position') === 'fixed') { return true; } var parentNode = getParentNode(element); if (!parentNode) { return false; } return isFixed(parentNode); } /** * Finds the first parent of an element that has a transformed property defined * @method * @memberof Popper.Utils * @argument {Element} element * @returns {Element} first transformed parent or documentElement */ function getFixedPositionOffsetParent(element) { // This check is needed to avoid errors in case one of the elements isn't defined for any reason if (!element || !element.parentElement || isIE()) { return document.documentElement; } var el = element.parentElement; while (el && getStyleComputedProperty(el, 'transform') === 'none') { el = el.parentElement; } return el || document.documentElement; } /** * Computed the boundaries limits and return them * @method * @memberof Popper.Utils * @param {HTMLElement} popper * @param {HTMLElement} reference * @param {number} padding * @param {HTMLElement} boundariesElement - Element used to define the boundaries * @param {Boolean} fixedPosition - Is in fixed position mode * @returns {Object} Coordinates of the boundaries */ function getBoundaries(popper, reference, padding, boundariesElement) { var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; // NOTE: 1 DOM access here var boundaries = { top: 0, left: 0 }; var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); // Handle viewport case if (boundariesElement === 'viewport') { boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition); } else { // Handle other cases based on DOM element used as boundaries var boundariesNode = void 0; if (boundariesElement === 'scrollParent') { boundariesNode = getScrollParent(getParentNode(reference)); if (boundariesNode.nodeName === 'BODY') { boundariesNode = popper.ownerDocument.documentElement; } } else if (boundariesElement === 'window') { boundariesNode = popper.ownerDocument.documentElement; } else { boundariesNode = boundariesElement; } var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition); // In case of HTML, we need a different computation if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { var _getWindowSizes = getWindowSizes(popper.ownerDocument), height = _getWindowSizes.height, width = _getWindowSizes.width; boundaries.top += offsets.top - offsets.marginTop; boundaries.bottom = height + offsets.top; boundaries.left += offsets.left - offsets.marginLeft; boundaries.right = width + offsets.left; } else { // for all the other DOM elements, this one is good boundaries = offsets; } } // Add paddings padding = padding || 0; var isPaddingNumber = typeof padding === 'number'; boundaries.left += isPaddingNumber ? padding : padding.left || 0; boundaries.top += isPaddingNumber ? padding : padding.top || 0; boundaries.right -= isPaddingNumber ? padding : padding.right || 0; boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; return boundaries; } function getArea(_ref) { var width = _ref.width, height = _ref.height; return width * height; } /** * Utility used to transform the `auto` placement to the placement with more * available space. * @method * @memberof Popper.Utils * @argument {Object} data - The data object generated by update method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; if (placement.indexOf('auto') === -1) { return placement; } var boundaries = getBoundaries(popper, reference, padding, boundariesElement); var rects = { top: { width: boundaries.width, height: refRect.top - boundaries.top }, right: { width: boundaries.right - refRect.right, height: boundaries.height }, bottom: { width: boundaries.width, height: boundaries.bottom - refRect.bottom }, left: { width: refRect.left - boundaries.left, height: boundaries.height } }; var sortedAreas = Object.keys(rects).map(function (key) { return _extends$1({ key: key }, rects[key], { area: getArea(rects[key]) }); }).sort(function (a, b) { return b.area - a.area; }); var filteredAreas = sortedAreas.filter(function (_ref2) { var width = _ref2.width, height = _ref2.height; return width >= popper.clientWidth && height >= popper.clientHeight; }); var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; var variation = placement.split('-')[1]; return computedPlacement + (variation ? '-' + variation : ''); } /** * Get offsets to the reference element * @method * @memberof Popper.Utils * @param {Object} state * @param {Element} popper - the popper element * @param {Element} reference - the reference element (the popper will be relative to this) * @param {Element} fixedPosition - is in fixed position mode * @returns {Object} An object containing the offsets which will be applied to the popper */ function getReferenceOffsets(state, popper, reference) { var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference)); return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition); } /** * Get the outer sizes of the given element (offset size + margins) * @method * @memberof Popper.Utils * @argument {Element} element * @returns {Object} object containing width and height properties */ function getOuterSizes(element) { var window = element.ownerDocument.defaultView; var styles = window.getComputedStyle(element); var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0); var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0); var result = { width: element.offsetWidth + y, height: element.offsetHeight + x }; return result; } /** * Get the opposite placement of the given one * @method * @memberof Popper.Utils * @argument {String} placement * @returns {String} flipped placement */ function getOppositePlacement(placement) { var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; return placement.replace(/left|right|bottom|top/g, function (matched) { return hash[matched]; }); } /** * Get offsets to the popper * @method * @memberof Popper.Utils * @param {Object} position - CSS position the Popper will get applied * @param {HTMLElement} popper - the popper element * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) * @param {String} placement - one of the valid placement options * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper */ function getPopperOffsets(popper, referenceOffsets, placement) { placement = placement.split('-')[0]; // Get popper node sizes var popperRect = getOuterSizes(popper); // Add position, width and height to our offsets object var popperOffsets = { width: popperRect.width, height: popperRect.height }; // depending by the popper placement we have to compute its offsets slightly differently var isHoriz = ['right', 'left'].indexOf(placement) !== -1; var mainSide = isHoriz ? 'top' : 'left'; var secondarySide = isHoriz ? 'left' : 'top'; var measurement = isHoriz ? 'height' : 'width'; var secondaryMeasurement = !isHoriz ? 'height' : 'width'; popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; if (placement === secondarySide) { popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; } else { popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; } return popperOffsets; } /** * Mimics the `find` method of Array * @method * @memberof Popper.Utils * @argument {Array} arr * @argument prop * @argument value * @returns index or -1 */ function find(arr, check) { // use native find if supported if (Array.prototype.find) { return arr.find(check); } // use `filter` to obtain the same behavior of `find` return arr.filter(check)[0]; } /** * Return the index of the matching object * @method * @memberof Popper.Utils * @argument {Array} arr * @argument prop * @argument value * @returns index or -1 */ function findIndex(arr, prop, value) { // use native findIndex if supported if (Array.prototype.findIndex) { return arr.findIndex(function (cur) { return cur[prop] === value; }); } // use `find` + `indexOf` if `findIndex` isn't supported var match = find(arr, function (obj) { return obj[prop] === value; }); return arr.indexOf(match); } /** * Loop trough the list of modifiers and run them in order, * each of them will then edit the data object. * @method * @memberof Popper.Utils * @param {dataObject} data * @param {Array} modifiers * @param {String} ends - Optional modifier name used as stopper * @returns {dataObject} */ function runModifiers(modifiers, data, ends) { var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); modifiersToRun.forEach(function (modifier) { if (modifier['function']) { // eslint-disable-line dot-notation console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); } var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation if (modifier.enabled && isFunction(fn)) { // Add properties to offsets to make them a complete clientRect object // we do this before each modifier to make sure the previous one doesn't // mess with these values data.offsets.popper = getClientRect(data.offsets.popper); data.offsets.reference = getClientRect(data.offsets.reference); data = fn(data, modifier); } }); return data; } /** * Updates the position of the popper, computing the new offsets and applying * the new style.
    * Prefer `scheduleUpdate` over `update` because of performance reasons. * @method * @memberof Popper */ function update() { // if popper is destroyed, don't perform any further update if (this.state.isDestroyed) { return; } var data = { instance: this, styles: {}, arrowStyles: {}, attributes: {}, flipped: false, offsets: {} }; // compute reference element offsets data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); // compute auto placement, store placement inside the data object, // modifiers will be able to edit `placement` if needed // and refer to originalPlacement to know the original value data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); // store the computed placement inside `originalPlacement` data.originalPlacement = data.placement; data.positionFixed = this.options.positionFixed; // compute the popper offsets data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; // run the modifiers data = runModifiers(this.modifiers, data); // the first `update` will call `onCreate` callback // the other ones will call `onUpdate` callback if (!this.state.isCreated) { this.state.isCreated = true; this.options.onCreate(data); } else { this.options.onUpdate(data); } } /** * Helper used to know if the given modifier is enabled. * @method * @memberof Popper.Utils * @returns {Boolean} */ function isModifierEnabled(modifiers, modifierName) { return modifiers.some(function (_ref) { var name = _ref.name, enabled = _ref.enabled; return enabled && name === modifierName; }); } /** * Get the prefixed supported property name * @method * @memberof Popper.Utils * @argument {String} property (camelCase) * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) */ function getSupportedPropertyName(property) { var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; var upperProp = property.charAt(0).toUpperCase() + property.slice(1); for (var i = 0; i < prefixes.length; i++) { var prefix = prefixes[i]; var toCheck = prefix ? '' + prefix + upperProp : property; if (typeof document.body.style[toCheck] !== 'undefined') { return toCheck; } } return null; } /** * Destroys the popper. * @method * @memberof Popper */ function destroy() { this.state.isDestroyed = true; // touch DOM only if `applyStyle` modifier is enabled if (isModifierEnabled(this.modifiers, 'applyStyle')) { this.popper.removeAttribute('x-placement'); this.popper.style.position = ''; this.popper.style.top = ''; this.popper.style.left = ''; this.popper.style.right = ''; this.popper.style.bottom = ''; this.popper.style.willChange = ''; this.popper.style[getSupportedPropertyName('transform')] = ''; } this.disableEventListeners(); // remove the popper if user explicitly asked for the deletion on destroy // do not use `remove` because IE11 doesn't support it if (this.options.removeOnDestroy) { this.popper.parentNode.removeChild(this.popper); } return this; } /** * Get the window associated with the element * @argument {Element} element * @returns {Window} */ function getWindow(element) { var ownerDocument = element.ownerDocument; return ownerDocument ? ownerDocument.defaultView : window; } function attachToScrollParents(scrollParent, event, callback, scrollParents) { var isBody = scrollParent.nodeName === 'BODY'; var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; target.addEventListener(event, callback, { passive: true }); if (!isBody) { attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); } scrollParents.push(target); } /** * Setup needed event listeners used to update the popper position * @method * @memberof Popper.Utils * @private */ function setupEventListeners(reference, options, state, updateBound) { // Resize event listener on window state.updateBound = updateBound; getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); // Scroll event listener on scroll parents var scrollElement = getScrollParent(reference); attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); state.scrollElement = scrollElement; state.eventsEnabled = true; return state; } /** * It will add resize/scroll events and start recalculating * position of the popper element when they are triggered. * @method * @memberof Popper */ function enableEventListeners() { if (!this.state.eventsEnabled) { this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); } } /** * Remove event listeners used to update the popper position * @method * @memberof Popper.Utils * @private */ function removeEventListeners(reference, state) { // Remove resize event listener on window getWindow(reference).removeEventListener('resize', state.updateBound); // Remove scroll event listener on scroll parents state.scrollParents.forEach(function (target) { target.removeEventListener('scroll', state.updateBound); }); // Reset state state.updateBound = null; state.scrollParents = []; state.scrollElement = null; state.eventsEnabled = false; return state; } /** * It will remove resize/scroll events and won't recalculate popper position * when they are triggered. It also won't trigger `onUpdate` callback anymore, * unless you call `update` method manually. * @method * @memberof Popper */ function disableEventListeners() { if (this.state.eventsEnabled) { cancelAnimationFrame(this.scheduleUpdate); this.state = removeEventListeners(this.reference, this.state); } } /** * Tells if a given input is a number * @method * @memberof Popper.Utils * @param {*} input to check * @return {Boolean} */ function isNumeric(n) { return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); } /** * Set the style to the given popper * @method * @memberof Popper.Utils * @argument {Element} element - Element to apply the style to * @argument {Object} styles * Object with a list of properties and values which will be applied to the element */ function setStyles(element, styles) { Object.keys(styles).forEach(function (prop) { var unit = ''; // add unit if the value is numeric and is one of the following if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { unit = 'px'; } element.style[prop] = styles[prop] + unit; }); } /** * Set the attributes to the given popper * @method * @memberof Popper.Utils * @argument {Element} element - Element to apply the attributes to * @argument {Object} styles * Object with a list of properties and values which will be applied to the element */ function setAttributes(element, attributes) { Object.keys(attributes).forEach(function (prop) { var value = attributes[prop]; if (value !== false) { element.setAttribute(prop, attributes[prop]); } else { element.removeAttribute(prop); } }); } /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by `update` method * @argument {Object} data.styles - List of style properties - values to apply to popper element * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element * @argument {Object} options - Modifiers configuration and options * @returns {Object} The same data object */ function applyStyle(data) { // any property present in `data.styles` will be applied to the popper, // in this way we can make the 3rd party modifiers add custom styles to it // Be aware, modifiers could override the properties defined in the previous // lines of this modifier! setStyles(data.instance.popper, data.styles); // any property present in `data.attributes` will be applied to the popper, // they will be set as HTML attributes of the element setAttributes(data.instance.popper, data.attributes); // if arrowElement is defined and arrowStyles has some properties if (data.arrowElement && Object.keys(data.arrowStyles).length) { setStyles(data.arrowElement, data.arrowStyles); } return data; } /** * Set the x-placement attribute before everything else because it could be used * to add margins to the popper margins needs to be calculated to get the * correct popper offsets. * @method * @memberof Popper.modifiers * @param {HTMLElement} reference - The reference element used to position the popper * @param {HTMLElement} popper - The HTML element used as popper * @param {Object} options - Popper.js options */ function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { // compute reference element offsets var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); // compute auto placement, store placement inside the data object, // modifiers will be able to edit `placement` if needed // and refer to originalPlacement to know the original value var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); popper.setAttribute('x-placement', placement); // Apply `position` to popper before anything else because // without the position applied we can't guarantee correct computations setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' }); return options; } /** * @function * @memberof Popper.Utils * @argument {Object} data - The data object generated by `update` method * @argument {Boolean} shouldRound - If the offsets should be rounded at all * @returns {Object} The popper's position offsets rounded * * The tale of pixel-perfect positioning. It's still not 100% perfect, but as * good as it can be within reason. * Discussion here: https://github.com/FezVrasta/popper.js/pull/715 * * Low DPI screens cause a popper to be blurry if not using full pixels (Safari * as well on High DPI screens). * * Firefox prefers no rounding for positioning and does not have blurriness on * high DPI screens. * * Only horizontal placement and left/right values need to be considered. */ function getRoundedOffsets(data, shouldRound) { var _data$offsets = data.offsets, popper = _data$offsets.popper, reference = _data$offsets.reference; var round = Math.round, floor = Math.floor; var noRound = function noRound(v) { return v; }; var referenceWidth = round(reference.width); var popperWidth = round(popper.width); var isVertical = ['left', 'right'].indexOf(data.placement) !== -1; var isVariation = data.placement.indexOf('-') !== -1; var sameWidthParity = referenceWidth % 2 === popperWidth % 2; var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1; var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor; var verticalToInteger = !shouldRound ? noRound : round; return { left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left), top: verticalToInteger(popper.top), bottom: verticalToInteger(popper.bottom), right: horizontalToInteger(popper.right) }; } var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent); /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by `update` method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function computeStyle(data, options) { var x = options.x, y = options.y; var popper = data.offsets.popper; // Remove this legacy support in Popper.js v2 var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { return modifier.name === 'applyStyle'; }).gpuAcceleration; if (legacyGpuAccelerationOption !== undefined) { console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); } var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; var offsetParent = getOffsetParent(data.instance.popper); var offsetParentRect = getBoundingClientRect(offsetParent); // Styles var styles = { position: popper.position }; var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox); var sideA = x === 'bottom' ? 'top' : 'bottom'; var sideB = y === 'right' ? 'left' : 'right'; // if gpuAcceleration is set to `true` and transform is supported, // we use `translate3d` to apply the position to the popper we // automatically use the supported prefixed version if needed var prefixedProperty = getSupportedPropertyName('transform'); // now, let's make a step back and look at this code closely (wtf?) // If the content of the popper grows once it's been positioned, it // may happen that the popper gets misplaced because of the new content // overflowing its reference element // To avoid this problem, we provide two options (x and y), which allow // the consumer to define the offset origin. // If we position a popper on top of a reference element, we can set // `x` to `top` to make the popper grow towards its top instead of // its bottom. var left = void 0, top = void 0; if (sideA === 'bottom') { // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar) // and not the bottom of the html element if (offsetParent.nodeName === 'HTML') { top = -offsetParent.clientHeight + offsets.bottom; } else { top = -offsetParentRect.height + offsets.bottom; } } else { top = offsets.top; } if (sideB === 'right') { if (offsetParent.nodeName === 'HTML') { left = -offsetParent.clientWidth + offsets.right; } else { left = -offsetParentRect.width + offsets.right; } } else { left = offsets.left; } if (gpuAcceleration && prefixedProperty) { styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; styles[sideA] = 0; styles[sideB] = 0; styles.willChange = 'transform'; } else { // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties var invertTop = sideA === 'bottom' ? -1 : 1; var invertLeft = sideB === 'right' ? -1 : 1; styles[sideA] = top * invertTop; styles[sideB] = left * invertLeft; styles.willChange = sideA + ', ' + sideB; } // Attributes var attributes = { 'x-placement': data.placement }; // Update `data` attributes, styles and arrowStyles data.attributes = _extends$1({}, attributes, data.attributes); data.styles = _extends$1({}, styles, data.styles); data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles); return data; } /** * Helper used to know if the given modifier depends from another one.
    * It checks if the needed modifier is listed and enabled. * @method * @memberof Popper.Utils * @param {Array} modifiers - list of modifiers * @param {String} requestingName - name of requesting modifier * @param {String} requestedName - name of requested modifier * @returns {Boolean} */ function isModifierRequired(modifiers, requestingName, requestedName) { var requesting = find(modifiers, function (_ref) { var name = _ref.name; return name === requestingName; }); var isRequired = !!requesting && modifiers.some(function (modifier) { return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; }); if (!isRequired) { var _requesting = '`' + requestingName + '`'; var requested = '`' + requestedName + '`'; console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); } return isRequired; } /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by update method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function arrow(data, options) { var _data$offsets$arrow; // arrow depends on keepTogether in order to work if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { return data; } var arrowElement = options.element; // if arrowElement is a string, suppose it's a CSS selector if (typeof arrowElement === 'string') { arrowElement = data.instance.popper.querySelector(arrowElement); // if arrowElement is not found, don't run the modifier if (!arrowElement) { return data; } } else { // if the arrowElement isn't a query selector we must check that the // provided DOM node is child of its popper node if (!data.instance.popper.contains(arrowElement)) { console.warn('WARNING: `arrow.element` must be child of its popper element!'); return data; } } var placement = data.placement.split('-')[0]; var _data$offsets = data.offsets, popper = _data$offsets.popper, reference = _data$offsets.reference; var isVertical = ['left', 'right'].indexOf(placement) !== -1; var len = isVertical ? 'height' : 'width'; var sideCapitalized = isVertical ? 'Top' : 'Left'; var side = sideCapitalized.toLowerCase(); var altSide = isVertical ? 'left' : 'top'; var opSide = isVertical ? 'bottom' : 'right'; var arrowElementSize = getOuterSizes(arrowElement)[len]; // // extends keepTogether behavior making sure the popper and its // reference have enough pixels in conjunction // // top/left side if (reference[opSide] - arrowElementSize < popper[side]) { data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); } // bottom/right side if (reference[side] + arrowElementSize > popper[opSide]) { data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; } data.offsets.popper = getClientRect(data.offsets.popper); // compute center of the popper var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; // Compute the sideValue using the updated popper offsets // take popper margin in account because we don't have this info available var css = getStyleComputedProperty(data.instance.popper); var popperMarginSide = parseFloat(css['margin' + sideCapitalized]); var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']); var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; // prevent arrowElement from being placed not contiguously to its popper sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); data.arrowElement = arrowElement; data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); return data; } /** * Get the opposite placement variation of the given one * @method * @memberof Popper.Utils * @argument {String} placement variation * @returns {String} flipped placement variation */ function getOppositeVariation(variation) { if (variation === 'end') { return 'start'; } else if (variation === 'start') { return 'end'; } return variation; } /** * List of accepted placements to use as values of the `placement` option.
    * Valid placements are: * - `auto` * - `top` * - `right` * - `bottom` * - `left` * * Each placement can have a variation from this list: * - `-start` * - `-end` * * Variations are interpreted easily if you think of them as the left to right * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` * is right.
    * Vertically (`left` and `right`), `start` is top and `end` is bottom. * * Some valid examples are: * - `top-end` (on top of reference, right aligned) * - `right-start` (on right of reference, top aligned) * - `bottom` (on bottom, centered) * - `auto-end` (on the side with more space available, alignment depends by placement) * * @static * @type {Array} * @enum {String} * @readonly * @method placements * @memberof Popper */ var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; // Get rid of `auto` `auto-start` and `auto-end` var validPlacements = placements.slice(3); /** * Given an initial placement, returns all the subsequent placements * clockwise (or counter-clockwise). * * @method * @memberof Popper.Utils * @argument {String} placement - A valid placement (it accepts variations) * @argument {Boolean} counter - Set to true to walk the placements counterclockwise * @returns {Array} placements including their variations */ function clockwise(placement) { var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var index = validPlacements.indexOf(placement); var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); return counter ? arr.reverse() : arr; } var BEHAVIORS = { FLIP: 'flip', CLOCKWISE: 'clockwise', COUNTERCLOCKWISE: 'counterclockwise' }; /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by update method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function flip(data, options) { // if `inner` modifier is enabled, we can't use the `flip` modifier if (isModifierEnabled(data.instance.modifiers, 'inner')) { return data; } if (data.flipped && data.placement === data.originalPlacement) { // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides return data; } var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed); var placement = data.placement.split('-')[0]; var placementOpposite = getOppositePlacement(placement); var variation = data.placement.split('-')[1] || ''; var flipOrder = []; switch (options.behavior) { case BEHAVIORS.FLIP: flipOrder = [placement, placementOpposite]; break; case BEHAVIORS.CLOCKWISE: flipOrder = clockwise(placement); break; case BEHAVIORS.COUNTERCLOCKWISE: flipOrder = clockwise(placement, true); break; default: flipOrder = options.behavior; } flipOrder.forEach(function (step, index) { if (placement !== step || flipOrder.length === index + 1) { return data; } placement = data.placement.split('-')[0]; placementOpposite = getOppositePlacement(placement); var popperOffsets = data.offsets.popper; var refOffsets = data.offsets.reference; // using floor because the reference offsets may contain decimals we are not going to consider here var floor = Math.floor; var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; // flip the variation if required var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; // flips variation if reference element overflows boundaries var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); // flips variation if popper content overflows boundaries var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop); var flippedVariation = flippedVariationByRef || flippedVariationByContent; if (overlapsRef || overflowsBoundaries || flippedVariation) { // this boolean to detect any flip loop data.flipped = true; if (overlapsRef || overflowsBoundaries) { placement = flipOrder[index + 1]; } if (flippedVariation) { variation = getOppositeVariation(variation); } data.placement = placement + (variation ? '-' + variation : ''); // this object contains `position`, we want to preserve it along with // any additional property we may add in the future data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); data = runModifiers(data.instance.modifiers, data, 'flip'); } }); return data; } /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by update method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function keepTogether(data) { var _data$offsets = data.offsets, popper = _data$offsets.popper, reference = _data$offsets.reference; var placement = data.placement.split('-')[0]; var floor = Math.floor; var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; var side = isVertical ? 'right' : 'bottom'; var opSide = isVertical ? 'left' : 'top'; var measurement = isVertical ? 'width' : 'height'; if (popper[side] < floor(reference[opSide])) { data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; } if (popper[opSide] > floor(reference[side])) { data.offsets.popper[opSide] = floor(reference[side]); } return data; } /** * Converts a string containing value + unit into a px value number * @function * @memberof {modifiers~offset} * @private * @argument {String} str - Value + unit string * @argument {String} measurement - `height` or `width` * @argument {Object} popperOffsets * @argument {Object} referenceOffsets * @returns {Number|String} * Value in pixels, or original string if no values were extracted */ function toValue(str, measurement, popperOffsets, referenceOffsets) { // separate value from unit var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); var value = +split[1]; var unit = split[2]; // If it's not a number it's an operator, I guess if (!value) { return str; } if (unit.indexOf('%') === 0) { var element = void 0; switch (unit) { case '%p': element = popperOffsets; break; case '%': case '%r': default: element = referenceOffsets; } var rect = getClientRect(element); return rect[measurement] / 100 * value; } else if (unit === 'vh' || unit === 'vw') { // if is a vh or vw, we calculate the size based on the viewport var size = void 0; if (unit === 'vh') { size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); } else { size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); } return size / 100 * value; } else { // if is an explicit pixel unit, we get rid of the unit and keep the value // if is an implicit unit, it's px, and we return just the value return value; } } /** * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. * @function * @memberof {modifiers~offset} * @private * @argument {String} offset * @argument {Object} popperOffsets * @argument {Object} referenceOffsets * @argument {String} basePlacement * @returns {Array} a two cells array with x and y offsets in numbers */ function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { var offsets = [0, 0]; // Use height if placement is left or right and index is 0 otherwise use width // in this way the first offset will use an axis and the second one // will use the other one var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; // Split the offset string to obtain a list of values and operands // The regex addresses values with the plus or minus sign in front (+10, -20, etc) var fragments = offset.split(/(\+|\-)/).map(function (frag) { return frag.trim(); }); // Detect if the offset string contains a pair of values or a single one // they could be separated by comma or space var divider = fragments.indexOf(find(fragments, function (frag) { return frag.search(/,|\s/) !== -1; })); if (fragments[divider] && fragments[divider].indexOf(',') === -1) { console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); } // If divider is found, we divide the list of values and operands to divide // them by ofset X and Y. var splitRegex = /\s*,\s*|\s+/; var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; // Convert the values with units to absolute pixels to allow our computations ops = ops.map(function (op, index) { // Most of the units rely on the orientation of the popper var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; var mergeWithPrevious = false; return op // This aggregates any `+` or `-` sign that aren't considered operators // e.g.: 10 + +5 => [10, +, +5] .reduce(function (a, b) { if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { a[a.length - 1] = b; mergeWithPrevious = true; return a; } else if (mergeWithPrevious) { a[a.length - 1] += b; mergeWithPrevious = false; return a; } else { return a.concat(b); } }, []) // Here we convert the string values into number values (in px) .map(function (str) { return toValue(str, measurement, popperOffsets, referenceOffsets); }); }); // Loop trough the offsets arrays and execute the operations ops.forEach(function (op, index) { op.forEach(function (frag, index2) { if (isNumeric(frag)) { offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); } }); }); return offsets; } /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by update method * @argument {Object} options - Modifiers configuration and options * @argument {Number|String} options.offset=0 * The offset value as described in the modifier description * @returns {Object} The data object, properly modified */ function offset(data, _ref) { var offset = _ref.offset; var placement = data.placement, _data$offsets = data.offsets, popper = _data$offsets.popper, reference = _data$offsets.reference; var basePlacement = placement.split('-')[0]; var offsets = void 0; if (isNumeric(+offset)) { offsets = [+offset, 0]; } else { offsets = parseOffset(offset, popper, reference, basePlacement); } if (basePlacement === 'left') { popper.top += offsets[0]; popper.left -= offsets[1]; } else if (basePlacement === 'right') { popper.top += offsets[0]; popper.left += offsets[1]; } else if (basePlacement === 'top') { popper.left += offsets[0]; popper.top -= offsets[1]; } else if (basePlacement === 'bottom') { popper.left += offsets[0]; popper.top += offsets[1]; } data.popper = popper; return data; } /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by `update` method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function preventOverflow(data, options) { var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); // If offsetParent is the reference element, we really want to // go one step up and use the next offsetParent as reference to // avoid to make this modifier completely useless and look like broken if (data.instance.reference === boundariesElement) { boundariesElement = getOffsetParent(boundariesElement); } // NOTE: DOM access here // resets the popper's position so that the document size can be calculated excluding // the size of the popper element itself var transformProp = getSupportedPropertyName('transform'); var popperStyles = data.instance.popper.style; // assignment to help minification var top = popperStyles.top, left = popperStyles.left, transform = popperStyles[transformProp]; popperStyles.top = ''; popperStyles.left = ''; popperStyles[transformProp] = ''; var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); // NOTE: DOM access here // restores the original style properties after the offsets have been computed popperStyles.top = top; popperStyles.left = left; popperStyles[transformProp] = transform; options.boundaries = boundaries; var order = options.priority; var popper = data.offsets.popper; var check = { primary: function primary(placement) { var value = popper[placement]; if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { value = Math.max(popper[placement], boundaries[placement]); } return defineProperty({}, placement, value); }, secondary: function secondary(placement) { var mainSide = placement === 'right' ? 'left' : 'top'; var value = popper[mainSide]; if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); } return defineProperty({}, mainSide, value); } }; order.forEach(function (placement) { var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; popper = _extends$1({}, popper, check[side](placement)); }); data.offsets.popper = popper; return data; } /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by `update` method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function shift(data) { var placement = data.placement; var basePlacement = placement.split('-')[0]; var shiftvariation = placement.split('-')[1]; // if shift shiftvariation is specified, run the modifier if (shiftvariation) { var _data$offsets = data.offsets, reference = _data$offsets.reference, popper = _data$offsets.popper; var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; var side = isVertical ? 'left' : 'top'; var measurement = isVertical ? 'width' : 'height'; var shiftOffsets = { start: defineProperty({}, side, reference[side]), end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) }; data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]); } return data; } /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by update method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function hide(data) { if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { return data; } var refRect = data.offsets.reference; var bound = find(data.instance.modifiers, function (modifier) { return modifier.name === 'preventOverflow'; }).boundaries; if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { // Avoid unnecessary DOM access if visibility hasn't changed if (data.hide === true) { return data; } data.hide = true; data.attributes['x-out-of-boundaries'] = ''; } else { // Avoid unnecessary DOM access if visibility hasn't changed if (data.hide === false) { return data; } data.hide = false; data.attributes['x-out-of-boundaries'] = false; } return data; } /** * @function * @memberof Modifiers * @argument {Object} data - The data object generated by `update` method * @argument {Object} options - Modifiers configuration and options * @returns {Object} The data object, properly modified */ function inner(data) { var placement = data.placement; var basePlacement = placement.split('-')[0]; var _data$offsets = data.offsets, popper = _data$offsets.popper, reference = _data$offsets.reference; var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); data.placement = getOppositePlacement(placement); data.offsets.popper = getClientRect(popper); return data; } /** * Modifier function, each modifier can have a function of this type assigned * to its `fn` property.
    * These functions will be called on each update, this means that you must * make sure they are performant enough to avoid performance bottlenecks. * * @function ModifierFn * @argument {dataObject} data - The data object generated by `update` method * @argument {Object} options - Modifiers configuration and options * @returns {dataObject} The data object, properly modified */ /** * Modifiers are plugins used to alter the behavior of your poppers.
    * Popper.js uses a set of 9 modifiers to provide all the basic functionalities * needed by the library. * * Usually you don't want to override the `order`, `fn` and `onLoad` props. * All the other properties are configurations that could be tweaked. * @namespace modifiers */ var modifiers = { /** * Modifier used to shift the popper on the start or end of its reference * element.
    * It will read the variation of the `placement` property.
    * It can be one either `-end` or `-start`. * @memberof modifiers * @inner */ shift: { /** @prop {number} order=100 - Index used to define the order of execution */ order: 100, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: shift }, /** * The `offset` modifier can shift your popper on both its axis. * * It accepts the following units: * - `px` or unit-less, interpreted as pixels * - `%` or `%r`, percentage relative to the length of the reference element * - `%p`, percentage relative to the length of the popper element * - `vw`, CSS viewport width unit * - `vh`, CSS viewport height unit * * For length is intended the main axis relative to the placement of the popper.
    * This means that if the placement is `top` or `bottom`, the length will be the * `width`. In case of `left` or `right`, it will be the `height`. * * You can provide a single value (as `Number` or `String`), or a pair of values * as `String` divided by a comma or one (or more) white spaces.
    * The latter is a deprecated method because it leads to confusion and will be * removed in v2.
    * Additionally, it accepts additions and subtractions between different units. * Note that multiplications and divisions aren't supported. * * Valid examples are: * ``` * 10 * '10%' * '10, 10' * '10%, 10' * '10 + 10%' * '10 - 5vh + 3%' * '-10px + 5vh, 5px - 6%' * ``` * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap * > with their reference element, unfortunately, you will have to disable the `flip` modifier. * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373). * * @memberof modifiers * @inner */ offset: { /** @prop {number} order=200 - Index used to define the order of execution */ order: 200, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: offset, /** @prop {Number|String} offset=0 * The offset value as described in the modifier description */ offset: 0 }, /** * Modifier used to prevent the popper from being positioned outside the boundary. * * A scenario exists where the reference itself is not within the boundaries.
    * We can say it has "escaped the boundaries" — or just "escaped".
    * In this case we need to decide whether the popper should either: * * - detach from the reference and remain "trapped" in the boundaries, or * - if it should ignore the boundary and "escape with its reference" * * When `escapeWithReference` is set to`true` and reference is completely * outside its boundaries, the popper will overflow (or completely leave) * the boundaries in order to remain attached to the edge of the reference. * * @memberof modifiers * @inner */ preventOverflow: { /** @prop {number} order=300 - Index used to define the order of execution */ order: 300, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: preventOverflow, /** * @prop {Array} [priority=['left','right','top','bottom']] * Popper will try to prevent overflow following these priorities by default, * then, it could overflow on the left and on top of the `boundariesElement` */ priority: ['left', 'right', 'top', 'bottom'], /** * @prop {number} padding=5 * Amount of pixel used to define a minimum distance between the boundaries * and the popper. This makes sure the popper always has a little padding * between the edges of its container */ padding: 5, /** * @prop {String|HTMLElement} boundariesElement='scrollParent' * Boundaries used by the modifier. Can be `scrollParent`, `window`, * `viewport` or any DOM element. */ boundariesElement: 'scrollParent' }, /** * Modifier used to make sure the reference and its popper stay near each other * without leaving any gap between the two. Especially useful when the arrow is * enabled and you want to ensure that it points to its reference element. * It cares only about the first axis. You can still have poppers with margin * between the popper and its reference element. * @memberof modifiers * @inner */ keepTogether: { /** @prop {number} order=400 - Index used to define the order of execution */ order: 400, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: keepTogether }, /** * This modifier is used to move the `arrowElement` of the popper to make * sure it is positioned between the reference element and its popper element. * It will read the outer size of the `arrowElement` node to detect how many * pixels of conjunction are needed. * * It has no effect if no `arrowElement` is provided. * @memberof modifiers * @inner */ arrow: { /** @prop {number} order=500 - Index used to define the order of execution */ order: 500, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: arrow, /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ element: '[x-arrow]' }, /** * Modifier used to flip the popper's placement when it starts to overlap its * reference element. * * Requires the `preventOverflow` modifier before it in order to work. * * **NOTE:** this modifier will interrupt the current update cycle and will * restart it if it detects the need to flip the placement. * @memberof modifiers * @inner */ flip: { /** @prop {number} order=600 - Index used to define the order of execution */ order: 600, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: flip, /** * @prop {String|Array} behavior='flip' * The behavior used to change the popper's placement. It can be one of * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid * placements (with optional variations) */ behavior: 'flip', /** * @prop {number} padding=5 * The popper will flip if it hits the edges of the `boundariesElement` */ padding: 5, /** * @prop {String|HTMLElement} boundariesElement='viewport' * The element which will define the boundaries of the popper position. * The popper will never be placed outside of the defined boundaries * (except if `keepTogether` is enabled) */ boundariesElement: 'viewport', /** * @prop {Boolean} flipVariations=false * The popper will switch placement variation between `-start` and `-end` when * the reference element overlaps its boundaries. * * The original placement should have a set variation. */ flipVariations: false, /** * @prop {Boolean} flipVariationsByContent=false * The popper will switch placement variation between `-start` and `-end` when * the popper element overlaps its reference boundaries. * * The original placement should have a set variation. */ flipVariationsByContent: false }, /** * Modifier used to make the popper flow toward the inner of the reference element. * By default, when this modifier is disabled, the popper will be placed outside * the reference element. * @memberof modifiers * @inner */ inner: { /** @prop {number} order=700 - Index used to define the order of execution */ order: 700, /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ enabled: false, /** @prop {ModifierFn} */ fn: inner }, /** * Modifier used to hide the popper when its reference element is outside of the * popper boundaries. It will set a `x-out-of-boundaries` attribute which can * be used to hide with a CSS selector the popper when its reference is * out of boundaries. * * Requires the `preventOverflow` modifier before it in order to work. * @memberof modifiers * @inner */ hide: { /** @prop {number} order=800 - Index used to define the order of execution */ order: 800, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: hide }, /** * Computes the style that will be applied to the popper element to gets * properly positioned. * * Note that this modifier will not touch the DOM, it just prepares the styles * so that `applyStyle` modifier can apply it. This separation is useful * in case you need to replace `applyStyle` with a custom implementation. * * This modifier has `850` as `order` value to maintain backward compatibility * with previous versions of Popper.js. Expect the modifiers ordering method * to change in future major versions of the library. * * @memberof modifiers * @inner */ computeStyle: { /** @prop {number} order=850 - Index used to define the order of execution */ order: 850, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: computeStyle, /** * @prop {Boolean} gpuAcceleration=true * If true, it uses the CSS 3D transformation to position the popper. * Otherwise, it will use the `top` and `left` properties */ gpuAcceleration: true, /** * @prop {string} [x='bottom'] * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. * Change this if your popper should grow in a direction different from `bottom` */ x: 'bottom', /** * @prop {string} [x='left'] * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. * Change this if your popper should grow in a direction different from `right` */ y: 'right' }, /** * Applies the computed styles to the popper element. * * All the DOM manipulations are limited to this modifier. This is useful in case * you want to integrate Popper.js inside a framework or view library and you * want to delegate all the DOM manipulations to it. * * Note that if you disable this modifier, you must make sure the popper element * has its position set to `absolute` before Popper.js can do its work! * * Just disable this modifier and define your own to achieve the desired effect. * * @memberof modifiers * @inner */ applyStyle: { /** @prop {number} order=900 - Index used to define the order of execution */ order: 900, /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ enabled: true, /** @prop {ModifierFn} */ fn: applyStyle, /** @prop {Function} */ onLoad: applyStyleOnLoad, /** * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier * @prop {Boolean} gpuAcceleration=true * If true, it uses the CSS 3D transformation to position the popper. * Otherwise, it will use the `top` and `left` properties */ gpuAcceleration: undefined } }; /** * The `dataObject` is an object containing all the information used by Popper.js. * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks. * @name dataObject * @property {Object} data.instance The Popper.js instance * @property {String} data.placement Placement applied to popper * @property {String} data.originalPlacement Placement originally defined on init * @property {Boolean} data.flipped True if popper has been flipped by flip modifier * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`) * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`) * @property {Object} data.boundaries Offsets of the popper boundaries * @property {Object} data.offsets The measurements of popper, reference and arrow elements * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 */ /** * Default options provided to Popper.js constructor.
    * These can be overridden using the `options` argument of Popper.js.
    * To override an option, simply pass an object with the same * structure of the `options` object, as the 3rd argument. For example: * ``` * new Popper(ref, pop, { * modifiers: { * preventOverflow: { enabled: false } * } * }) * ``` * @type {Object} * @static * @memberof Popper */ var Defaults = { /** * Popper's placement. * @prop {Popper.placements} placement='bottom' */ placement: 'bottom', /** * Set this to true if you want popper to position it self in 'fixed' mode * @prop {Boolean} positionFixed=false */ positionFixed: false, /** * Whether events (resize, scroll) are initially enabled. * @prop {Boolean} eventsEnabled=true */ eventsEnabled: true, /** * Set to true if you want to automatically remove the popper when * you call the `destroy` method. * @prop {Boolean} removeOnDestroy=false */ removeOnDestroy: false, /** * Callback called when the popper is created.
    * By default, it is set to no-op.
    * Access Popper.js instance with `data.instance`. * @prop {onCreate} */ onCreate: function onCreate() {}, /** * Callback called when the popper is updated. This callback is not called * on the initialization/creation of the popper, but only on subsequent * updates.
    * By default, it is set to no-op.
    * Access Popper.js instance with `data.instance`. * @prop {onUpdate} */ onUpdate: function onUpdate() {}, /** * List of modifiers used to modify the offsets before they are applied to the popper. * They provide most of the functionalities of Popper.js. * @prop {modifiers} */ modifiers: modifiers }; /** * @callback onCreate * @param {dataObject} data */ /** * @callback onUpdate * @param {dataObject} data */ // Utils // Methods var Popper = function () { /** * Creates a new Popper.js instance. * @class Popper * @param {Element|referenceObject} reference - The reference element used to position the popper * @param {Element} popper - The HTML / XML element used as the popper * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) * @return {Object} instance - The generated Popper.js instance */ function Popper(reference, popper) { var _this = this; var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; classCallCheck(this, Popper); this.scheduleUpdate = function () { return requestAnimationFrame(_this.update); }; // make update() debounced, so that it only runs at most once-per-tick this.update = debounce(this.update.bind(this)); // with {} we create a new object with the options inside it this.options = _extends$1({}, Popper.Defaults, options); // init state this.state = { isDestroyed: false, isCreated: false, scrollParents: [] }; // get reference and popper elements (allow jQuery wrappers) this.reference = reference && reference.jquery ? reference[0] : reference; this.popper = popper && popper.jquery ? popper[0] : popper; // Deep merge modifiers options this.options.modifiers = {}; Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { _this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); }); // Refactoring modifiers' list (Object => Array) this.modifiers = Object.keys(this.options.modifiers).map(function (name) { return _extends$1({ name: name }, _this.options.modifiers[name]); }) // sort the modifiers by order .sort(function (a, b) { return a.order - b.order; }); // modifiers have the ability to execute arbitrary code when Popper.js get inited // such code is executed in the same order of its modifier // they could add new properties to their options configuration // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! this.modifiers.forEach(function (modifierOptions) { if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); } }); // fire the first update to position the popper in the right place this.update(); var eventsEnabled = this.options.eventsEnabled; if (eventsEnabled) { // setup event listeners, they will take care of update the position in specific situations this.enableEventListeners(); } this.state.eventsEnabled = eventsEnabled; } // We can't use class properties because they don't get listed in the // class prototype and break stuff like Sinon stubs createClass(Popper, [{ key: 'update', value: function update$$1() { return update.call(this); } }, { key: 'destroy', value: function destroy$$1() { return destroy.call(this); } }, { key: 'enableEventListeners', value: function enableEventListeners$$1() { return enableEventListeners.call(this); } }, { key: 'disableEventListeners', value: function disableEventListeners$$1() { return disableEventListeners.call(this); } /** * Schedules an update. It will run on the next UI update available. * @method scheduleUpdate * @memberof Popper */ /** * Collection of utilities useful when writing custom modifiers. * Starting from version 1.7, this method is available only if you * include `popper-utils.js` before `popper.js`. * * **DEPRECATION**: This way to access PopperUtils is deprecated * and will be removed in v2! Use the PopperUtils module directly instead. * Due to the high instability of the methods contained in Utils, we can't * guarantee them to follow semver. Use them at your own risk! * @static * @private * @type {Object} * @deprecated since version 1.8 * @member Utils * @memberof Popper */ }]); return Popper; }(); /** * The `referenceObject` is an object that provides an interface compatible with Popper.js * and lets you use it as replacement of a real DOM node.
    * You can use this method to position a popper relatively to a set of coordinates * in case you don't have a DOM node to use as reference. * * ``` * new Popper(referenceObject, popperNode); * ``` * * NB: This feature isn't supported in Internet Explorer 10. * @name referenceObject * @property {Function} data.getBoundingClientRect * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. * @property {number} data.clientWidth * An ES6 getter that will return the width of the virtual reference element. * @property {number} data.clientHeight * An ES6 getter that will return the height of the virtual reference element. */ Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; Popper.placements = placements; Popper.Defaults = Defaults; /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME$4 = 'dropdown'; var VERSION$4 = '4.5.3'; var DATA_KEY$4 = 'bs.dropdown'; var EVENT_KEY$4 = "." + DATA_KEY$4; var DATA_API_KEY$4 = '.data-api'; var JQUERY_NO_CONFLICT$4 = $__default['default'].fn[NAME$4]; var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); var EVENT_HIDE$1 = "hide" + EVENT_KEY$4; var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$4; var EVENT_SHOW$1 = "show" + EVENT_KEY$4; var EVENT_SHOWN$1 = "shown" + EVENT_KEY$4; var EVENT_CLICK = "click" + EVENT_KEY$4; var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4; var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4; var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4; var CLASS_NAME_DISABLED = 'disabled'; var CLASS_NAME_SHOW$2 = 'show'; var CLASS_NAME_DROPUP = 'dropup'; var CLASS_NAME_DROPRIGHT = 'dropright'; var CLASS_NAME_DROPLEFT = 'dropleft'; var CLASS_NAME_MENURIGHT = 'dropdown-menu-right'; var CLASS_NAME_POSITION_STATIC = 'position-static'; var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]'; var SELECTOR_FORM_CHILD = '.dropdown form'; var SELECTOR_MENU = '.dropdown-menu'; var SELECTOR_NAVBAR_NAV = '.navbar-nav'; var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; var PLACEMENT_TOP = 'top-start'; var PLACEMENT_TOPEND = 'top-end'; var PLACEMENT_BOTTOM = 'bottom-start'; var PLACEMENT_BOTTOMEND = 'bottom-end'; var PLACEMENT_RIGHT = 'right-start'; var PLACEMENT_LEFT = 'left-start'; var Default$2 = { offset: 0, flip: true, boundary: 'scrollParent', reference: 'toggle', display: 'dynamic', popperConfig: null }; var DefaultType$2 = { offset: '(number|string|function)', flip: 'boolean', boundary: '(string|element)', reference: '(string|element)', display: 'string', popperConfig: '(null|object)' }; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Dropdown = /*#__PURE__*/function () { function Dropdown(element, config) { this._element = element; this._popper = null; this._config = this._getConfig(config); this._menu = this._getMenuElement(); this._inNavbar = this._detectNavbar(); this._addEventListeners(); } // Getters var _proto = Dropdown.prototype; // Public _proto.toggle = function toggle() { if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) { return; } var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2); Dropdown._clearMenus(); if (isActive) { return; } this.show(true); }; _proto.show = function show(usePopper) { if (usePopper === void 0) { usePopper = false; } if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) { return; } var relatedTarget = { relatedTarget: this._element }; var showEvent = $__default['default'].Event(EVENT_SHOW$1, relatedTarget); var parent = Dropdown._getParentFromElement(this._element); $__default['default'](parent).trigger(showEvent); if (showEvent.isDefaultPrevented()) { return; } // Disable totally Popper.js for Dropdown in Navbar if (!this._inNavbar && usePopper) { /** * Check for Popper dependency * Popper - https://popper.js.org */ if (typeof Popper === 'undefined') { throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)'); } var referenceElement = this._element; if (this._config.reference === 'parent') { referenceElement = parent; } else if (Util.isElement(this._config.reference)) { referenceElement = this._config.reference; // Check if it's jQuery element if (typeof this._config.reference.jquery !== 'undefined') { referenceElement = this._config.reference[0]; } } // If boundary is not `scrollParent`, then set position to `static` // to allow the menu to "escape" the scroll parent's boundaries // https://github.com/twbs/bootstrap/issues/24251 if (this._config.boundary !== 'scrollParent') { $__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC); } this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); } // If this is a touch-enabled device we add extra // empty mouseover listeners to the body's immediate children; // only needed because of broken event delegation on iOS // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html if ('ontouchstart' in document.documentElement && $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) { $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop); } this._element.focus(); this._element.setAttribute('aria-expanded', true); $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2); $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_SHOWN$1, relatedTarget)); }; _proto.hide = function hide() { if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) { return; } var relatedTarget = { relatedTarget: this._element }; var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget); var parent = Dropdown._getParentFromElement(this._element); $__default['default'](parent).trigger(hideEvent); if (hideEvent.isDefaultPrevented()) { return; } if (this._popper) { this._popper.destroy(); } $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2); $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget)); }; _proto.dispose = function dispose() { $__default['default'].removeData(this._element, DATA_KEY$4); $__default['default'](this._element).off(EVENT_KEY$4); this._element = null; this._menu = null; if (this._popper !== null) { this._popper.destroy(); this._popper = null; } }; _proto.update = function update() { this._inNavbar = this._detectNavbar(); if (this._popper !== null) { this._popper.scheduleUpdate(); } } // Private ; _proto._addEventListeners = function _addEventListeners() { var _this = this; $__default['default'](this._element).on(EVENT_CLICK, function (event) { event.preventDefault(); event.stopPropagation(); _this.toggle(); }); }; _proto._getConfig = function _getConfig(config) { config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config); Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType); return config; }; _proto._getMenuElement = function _getMenuElement() { if (!this._menu) { var parent = Dropdown._getParentFromElement(this._element); if (parent) { this._menu = parent.querySelector(SELECTOR_MENU); } } return this._menu; }; _proto._getPlacement = function _getPlacement() { var $parentDropdown = $__default['default'](this._element.parentNode); var placement = PLACEMENT_BOTTOM; // Handle dropup if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) { placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP; } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) { placement = PLACEMENT_RIGHT; } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) { placement = PLACEMENT_LEFT; } else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) { placement = PLACEMENT_BOTTOMEND; } return placement; }; _proto._detectNavbar = function _detectNavbar() { return $__default['default'](this._element).closest('.navbar').length > 0; }; _proto._getOffset = function _getOffset() { var _this2 = this; var offset = {}; if (typeof this._config.offset === 'function') { offset.fn = function (data) { data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {}); return data; }; } else { offset.offset = this._config.offset; } return offset; }; _proto._getPopperConfig = function _getPopperConfig() { var popperConfig = { placement: this._getPlacement(), modifiers: { offset: this._getOffset(), flip: { enabled: this._config.flip }, preventOverflow: { boundariesElement: this._config.boundary } } }; // Disable Popper.js if we have a static display if (this._config.display === 'static') { popperConfig.modifiers.applyStyle = { enabled: false }; } return _extends({}, popperConfig, this._config.popperConfig); } // Static ; Dropdown._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $__default['default'](this).data(DATA_KEY$4); var _config = typeof config === 'object' ? config : null; if (!data) { data = new Dropdown(this, _config); $__default['default'](this).data(DATA_KEY$4, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }); }; Dropdown._clearMenus = function _clearMenus(event) { if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { return; } var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)); for (var i = 0, len = toggles.length; i < len; i++) { var parent = Dropdown._getParentFromElement(toggles[i]); var context = $__default['default'](toggles[i]).data(DATA_KEY$4); var relatedTarget = { relatedTarget: toggles[i] }; if (event && event.type === 'click') { relatedTarget.clickEvent = event; } if (!context) { continue; } var dropdownMenu = context._menu; if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW$2)) { continue; } if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default['default'].contains(parent, event.target)) { continue; } var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget); $__default['default'](parent).trigger(hideEvent); if (hideEvent.isDefaultPrevented()) { continue; } // If this is a touch-enabled device we remove the extra // empty mouseover listeners we added for iOS support if ('ontouchstart' in document.documentElement) { $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop); } toggles[i].setAttribute('aria-expanded', 'false'); if (context._popper) { context._popper.destroy(); } $__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW$2); $__default['default'](parent).removeClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget)); } }; Dropdown._getParentFromElement = function _getParentFromElement(element) { var parent; var selector = Util.getSelectorFromElement(element); if (selector) { parent = document.querySelector(selector); } return parent || element.parentNode; } // eslint-disable-next-line complexity ; Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { // If not input/textarea: // - And not a key in REGEXP_KEYDOWN => not a dropdown command // If input/textarea: // - If space key => not a dropdown command // - If key is other than escape // - If key is not up or down => not a dropdown command // - If trigger inside the menu => not a dropdown command if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { return; } if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) { return; } var parent = Dropdown._getParentFromElement(this); var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW$2); if (!isActive && event.which === ESCAPE_KEYCODE) { return; } event.preventDefault(); event.stopPropagation(); if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) { if (event.which === ESCAPE_KEYCODE) { $__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus'); } $__default['default'](this).trigger('click'); return; } var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) { return $__default['default'](item).is(':visible'); }); if (items.length === 0) { return; } var index = items.indexOf(event.target); if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up index--; } if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down index++; } if (index < 0) { index = 0; } items[index].focus(); }; _createClass(Dropdown, null, [{ key: "VERSION", get: function get() { return VERSION$4; } }, { key: "Default", get: function get() { return Default$2; } }, { key: "DefaultType", get: function get() { return DefaultType$2; } }]); return Dropdown; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$4 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) { event.preventDefault(); event.stopPropagation(); Dropdown._jQueryInterface.call($__default['default'](this), 'toggle'); }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) { e.stopPropagation(); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $__default['default'].fn[NAME$4] = Dropdown._jQueryInterface; $__default['default'].fn[NAME$4].Constructor = Dropdown; $__default['default'].fn[NAME$4].noConflict = function () { $__default['default'].fn[NAME$4] = JQUERY_NO_CONFLICT$4; return Dropdown._jQueryInterface; }; /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME$5 = 'modal'; var VERSION$5 = '4.5.3'; var DATA_KEY$5 = 'bs.modal'; var EVENT_KEY$5 = "." + DATA_KEY$5; var DATA_API_KEY$5 = '.data-api'; var JQUERY_NO_CONFLICT$5 = $__default['default'].fn[NAME$5]; var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key var Default$3 = { backdrop: true, keyboard: true, focus: true, show: true }; var DefaultType$3 = { backdrop: '(boolean|string)', keyboard: 'boolean', focus: 'boolean', show: 'boolean' }; var EVENT_HIDE$2 = "hide" + EVENT_KEY$5; var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5; var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5; var EVENT_SHOW$2 = "show" + EVENT_KEY$5; var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5; var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5; var EVENT_RESIZE = "resize" + EVENT_KEY$5; var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY$5; var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5; var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5; var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5; var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$5 + DATA_API_KEY$5; var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'; var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'; var CLASS_NAME_BACKDROP = 'modal-backdrop'; var CLASS_NAME_OPEN = 'modal-open'; var CLASS_NAME_FADE$1 = 'fade'; var CLASS_NAME_SHOW$3 = 'show'; var CLASS_NAME_STATIC = 'modal-static'; var SELECTOR_DIALOG = '.modal-dialog'; var SELECTOR_MODAL_BODY = '.modal-body'; var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]'; var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]'; var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; var SELECTOR_STICKY_CONTENT = '.sticky-top'; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Modal = /*#__PURE__*/function () { function Modal(element, config) { this._config = this._getConfig(config); this._element = element; this._dialog = element.querySelector(SELECTOR_DIALOG); this._backdrop = null; this._isShown = false; this._isBodyOverflowing = false; this._ignoreBackdropClick = false; this._isTransitioning = false; this._scrollbarWidth = 0; } // Getters var _proto = Modal.prototype; // Public _proto.toggle = function toggle(relatedTarget) { return this._isShown ? this.hide() : this.show(relatedTarget); }; _proto.show = function show(relatedTarget) { var _this = this; if (this._isShown || this._isTransitioning) { return; } if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) { this._isTransitioning = true; } var showEvent = $__default['default'].Event(EVENT_SHOW$2, { relatedTarget: relatedTarget }); $__default['default'](this._element).trigger(showEvent); if (this._isShown || showEvent.isDefaultPrevented()) { return; } this._isShown = true; this._checkScrollbar(); this._setScrollbar(); this._adjustDialog(); this._setEscapeEvent(); this._setResizeEvent(); $__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) { return _this.hide(event); }); $__default['default'](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () { $__default['default'](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) { if ($__default['default'](event.target).is(_this._element)) { _this._ignoreBackdropClick = true; } }); }); this._showBackdrop(function () { return _this._showElement(relatedTarget); }); }; _proto.hide = function hide(event) { var _this2 = this; if (event) { event.preventDefault(); } if (!this._isShown || this._isTransitioning) { return; } var hideEvent = $__default['default'].Event(EVENT_HIDE$2); $__default['default'](this._element).trigger(hideEvent); if (!this._isShown || hideEvent.isDefaultPrevented()) { return; } this._isShown = false; var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1); if (transition) { this._isTransitioning = true; } this._setEscapeEvent(); this._setResizeEvent(); $__default['default'](document).off(EVENT_FOCUSIN); $__default['default'](this._element).removeClass(CLASS_NAME_SHOW$3); $__default['default'](this._element).off(EVENT_CLICK_DISMISS); $__default['default'](this._dialog).off(EVENT_MOUSEDOWN_DISMISS); if (transition) { var transitionDuration = Util.getTransitionDurationFromElement(this._element); $__default['default'](this._element).one(Util.TRANSITION_END, function (event) { return _this2._hideModal(event); }).emulateTransitionEnd(transitionDuration); } else { this._hideModal(); } }; _proto.dispose = function dispose() { [window, this._element, this._dialog].forEach(function (htmlElement) { return $__default['default'](htmlElement).off(EVENT_KEY$5); }); /** * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API` * Do not move `document` in `htmlElements` array * It will remove `EVENT_CLICK_DATA_API` event that should remain */ $__default['default'](document).off(EVENT_FOCUSIN); $__default['default'].removeData(this._element, DATA_KEY$5); this._config = null; this._element = null; this._dialog = null; this._backdrop = null; this._isShown = null; this._isBodyOverflowing = null; this._ignoreBackdropClick = null; this._isTransitioning = null; this._scrollbarWidth = null; }; _proto.handleUpdate = function handleUpdate() { this._adjustDialog(); } // Private ; _proto._getConfig = function _getConfig(config) { config = _extends({}, Default$3, config); Util.typeCheckConfig(NAME$5, config, DefaultType$3); return config; }; _proto._triggerBackdropTransition = function _triggerBackdropTransition() { var _this3 = this; if (this._config.backdrop === 'static') { var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED); $__default['default'](this._element).trigger(hideEventPrevented); if (hideEventPrevented.isDefaultPrevented()) { return; } var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; if (!isModalOverflowing) { this._element.style.overflowY = 'hidden'; } this._element.classList.add(CLASS_NAME_STATIC); var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog); $__default['default'](this._element).off(Util.TRANSITION_END); $__default['default'](this._element).one(Util.TRANSITION_END, function () { _this3._element.classList.remove(CLASS_NAME_STATIC); if (!isModalOverflowing) { $__default['default'](_this3._element).one(Util.TRANSITION_END, function () { _this3._element.style.overflowY = ''; }).emulateTransitionEnd(_this3._element, modalTransitionDuration); } }).emulateTransitionEnd(modalTransitionDuration); this._element.focus(); } else { this.hide(); } }; _proto._showElement = function _showElement(relatedTarget) { var _this4 = this; var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1); var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null; if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { // Don't move modal's DOM position document.body.appendChild(this._element); } this._element.style.display = 'block'; this._element.removeAttribute('aria-hidden'); this._element.setAttribute('aria-modal', true); this._element.setAttribute('role', 'dialog'); if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) { modalBody.scrollTop = 0; } else { this._element.scrollTop = 0; } if (transition) { Util.reflow(this._element); } $__default['default'](this._element).addClass(CLASS_NAME_SHOW$3); if (this._config.focus) { this._enforceFocus(); } var shownEvent = $__default['default'].Event(EVENT_SHOWN$2, { relatedTarget: relatedTarget }); var transitionComplete = function transitionComplete() { if (_this4._config.focus) { _this4._element.focus(); } _this4._isTransitioning = false; $__default['default'](_this4._element).trigger(shownEvent); }; if (transition) { var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); $__default['default'](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); } else { transitionComplete(); } }; _proto._enforceFocus = function _enforceFocus() { var _this5 = this; $__default['default'](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop .on(EVENT_FOCUSIN, function (event) { if (document !== event.target && _this5._element !== event.target && $__default['default'](_this5._element).has(event.target).length === 0) { _this5._element.focus(); } }); }; _proto._setEscapeEvent = function _setEscapeEvent() { var _this6 = this; if (this._isShown) { $__default['default'](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) { if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) { event.preventDefault(); _this6.hide(); } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) { _this6._triggerBackdropTransition(); } }); } else if (!this._isShown) { $__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS); } }; _proto._setResizeEvent = function _setResizeEvent() { var _this7 = this; if (this._isShown) { $__default['default'](window).on(EVENT_RESIZE, function (event) { return _this7.handleUpdate(event); }); } else { $__default['default'](window).off(EVENT_RESIZE); } }; _proto._hideModal = function _hideModal() { var _this8 = this; this._element.style.display = 'none'; this._element.setAttribute('aria-hidden', true); this._element.removeAttribute('aria-modal'); this._element.removeAttribute('role'); this._isTransitioning = false; this._showBackdrop(function () { $__default['default'](document.body).removeClass(CLASS_NAME_OPEN); _this8._resetAdjustments(); _this8._resetScrollbar(); $__default['default'](_this8._element).trigger(EVENT_HIDDEN$2); }); }; _proto._removeBackdrop = function _removeBackdrop() { if (this._backdrop) { $__default['default'](this._backdrop).remove(); this._backdrop = null; } }; _proto._showBackdrop = function _showBackdrop(callback) { var _this9 = this; var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : ''; if (this._isShown && this._config.backdrop) { this._backdrop = document.createElement('div'); this._backdrop.className = CLASS_NAME_BACKDROP; if (animate) { this._backdrop.classList.add(animate); } $__default['default'](this._backdrop).appendTo(document.body); $__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) { if (_this9._ignoreBackdropClick) { _this9._ignoreBackdropClick = false; return; } if (event.target !== event.currentTarget) { return; } _this9._triggerBackdropTransition(); }); if (animate) { Util.reflow(this._backdrop); } $__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW$3); if (!callback) { return; } if (!animate) { callback(); return; } var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); $__default['default'](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); } else if (!this._isShown && this._backdrop) { $__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW$3); var callbackRemove = function callbackRemove() { _this9._removeBackdrop(); if (callback) { callback(); } }; if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) { var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); $__default['default'](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); } else { callbackRemove(); } } else if (callback) { callback(); } } // ---------------------------------------------------------------------- // the following methods are used to handle overflowing modals // todo (fat): these should probably be refactored out of modal.js // ---------------------------------------------------------------------- ; _proto._adjustDialog = function _adjustDialog() { var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; if (!this._isBodyOverflowing && isModalOverflowing) { this._element.style.paddingLeft = this._scrollbarWidth + "px"; } if (this._isBodyOverflowing && !isModalOverflowing) { this._element.style.paddingRight = this._scrollbarWidth + "px"; } }; _proto._resetAdjustments = function _resetAdjustments() { this._element.style.paddingLeft = ''; this._element.style.paddingRight = ''; }; _proto._checkScrollbar = function _checkScrollbar() { var rect = document.body.getBoundingClientRect(); this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth; this._scrollbarWidth = this._getScrollbarWidth(); }; _proto._setScrollbar = function _setScrollbar() { var _this10 = this; if (this._isBodyOverflowing) { // Note: DOMNode.style.paddingRight returns the actual value or '' if not set // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding $__default['default'](fixedContent).each(function (index, element) { var actualPadding = element.style.paddingRight; var calculatedPadding = $__default['default'](element).css('padding-right'); $__default['default'](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); }); // Adjust sticky content margin $__default['default'](stickyContent).each(function (index, element) { var actualMargin = element.style.marginRight; var calculatedMargin = $__default['default'](element).css('margin-right'); $__default['default'](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); }); // Adjust body padding var actualPadding = document.body.style.paddingRight; var calculatedPadding = $__default['default'](document.body).css('padding-right'); $__default['default'](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); } $__default['default'](document.body).addClass(CLASS_NAME_OPEN); }; _proto._resetScrollbar = function _resetScrollbar() { // Restore fixed content padding var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); $__default['default'](fixedContent).each(function (index, element) { var padding = $__default['default'](element).data('padding-right'); $__default['default'](element).removeData('padding-right'); element.style.paddingRight = padding ? padding : ''; }); // Restore sticky content var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT)); $__default['default'](elements).each(function (index, element) { var margin = $__default['default'](element).data('margin-right'); if (typeof margin !== 'undefined') { $__default['default'](element).css('margin-right', margin).removeData('margin-right'); } }); // Restore body padding var padding = $__default['default'](document.body).data('padding-right'); $__default['default'](document.body).removeData('padding-right'); document.body.style.paddingRight = padding ? padding : ''; }; _proto._getScrollbarWidth = function _getScrollbarWidth() { // thx d.walsh var scrollDiv = document.createElement('div'); scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER; document.body.appendChild(scrollDiv); var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; document.body.removeChild(scrollDiv); return scrollbarWidth; } // Static ; Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { return this.each(function () { var data = $__default['default'](this).data(DATA_KEY$5); var _config = _extends({}, Default$3, $__default['default'](this).data(), typeof config === 'object' && config ? config : {}); if (!data) { data = new Modal(this, _config); $__default['default'](this).data(DATA_KEY$5, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](relatedTarget); } else if (_config.show) { data.show(relatedTarget); } }); }; _createClass(Modal, null, [{ key: "VERSION", get: function get() { return VERSION$5; } }, { key: "Default", get: function get() { return Default$3; } }]); return Modal; }(); /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ $__default['default'](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) { var _this11 = this; var target; var selector = Util.getSelectorFromElement(this); if (selector) { target = document.querySelector(selector); } var config = $__default['default'](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default['default'](target).data(), $__default['default'](this).data()); if (this.tagName === 'A' || this.tagName === 'AREA') { event.preventDefault(); } var $target = $__default['default'](target).one(EVENT_SHOW$2, function (showEvent) { if (showEvent.isDefaultPrevented()) { // Only register focus restorer if modal will actually get shown return; } $target.one(EVENT_HIDDEN$2, function () { if ($__default['default'](_this11).is(':visible')) { _this11.focus(); } }); }); Modal._jQueryInterface.call($__default['default'](target), config, this); }); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $__default['default'].fn[NAME$5] = Modal._jQueryInterface; $__default['default'].fn[NAME$5].Constructor = Modal; $__default['default'].fn[NAME$5].noConflict = function () { $__default['default'].fn[NAME$5] = JQUERY_NO_CONFLICT$5; return Modal._jQueryInterface; }; /** * -------------------------------------------------------------------------- * Bootstrap (v4.5.3): tools/sanitizer.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; var DefaultWhitelist = { // Global attributes allowed on any supplied element below. '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], a: ['target', 'href', 'title', 'rel'], area: [], b: [], br: [], col: [], code: [], div: [], em: [], hr: [], h1: [], h2: [], h3: [], h4: [], h5: [], h6: [], i: [], img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], li: [], ol: [], p: [], pre: [], s: [], small: [], span: [], sub: [], sup: [], strong: [], u: [], ul: [] }; /** * A pattern that recognizes a commonly useful subset of URLs that are safe. * * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts */ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi; /** * A pattern that matches safe data URLs. Only matches image, video and audio types. * * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts */ var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; function allowedAttribute(attr, allowedAttributeList) { var attrName = attr.nodeName.toLowerCase(); if (allowedAttributeList.indexOf(attrName) !== -1) { if (uriAttrs.indexOf(attrName) !== -1) { return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); } return true; } var regExp = allowedAttributeList.filter(function (attrRegex) { return attrRegex instanceof RegExp; }); // Check if a regular expression validates the attribute. for (var i = 0, len = regExp.length; i < len; i++) { if (attrName.match(regExp[i])) { return true; } } return false; } function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { if (unsafeHtml.length === 0) { return unsafeHtml; } if (sanitizeFn && typeof sanitizeFn === 'function') { return sanitizeFn(unsafeHtml); } var domParser = new window.DOMParser(); var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); var whitelistKeys = Object.keys(whiteList); var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); var _loop = function _loop(i, len) { var el = elements[i]; var elName = el.nodeName.toLowerCase(); if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { el.parentNode.removeChild(el); return "continue"; } var attributeList = [].slice.call(el.attributes); var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); attributeList.forEach(function (attr) { if (!allowedAttribute(attr, whitelistedAttributes)) { el.removeAttribute(attr.nodeName); } }); }; for (var i = 0, len = elements.length; i < len; i++) { var _ret = _loop(i); if (_ret === "continue") continue; } return createdDocument.body.innerHTML; } /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME$6 = 'tooltip'; var VERSION$6 = '4.5.3'; var DATA_KEY$6 = 'bs.tooltip'; var EVENT_KEY$6 = "." + DATA_KEY$6; var JQUERY_NO_CONFLICT$6 = $__default['default'].fn[NAME$6]; var CLASS_PREFIX = 'bs-tooltip'; var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; var DefaultType$4 = { animation: 'boolean', template: 'string', title: '(string|element|function)', trigger: 'string', delay: '(number|object)', html: 'boolean', selector: '(string|boolean)', placement: '(string|function)', offset: '(number|string|function)', container: '(string|element|boolean)', fallbackPlacement: '(string|array)', boundary: '(string|element)', sanitize: 'boolean', sanitizeFn: '(null|function)', whiteList: 'object', popperConfig: '(null|object)' }; var AttachmentMap = { AUTO: 'auto', TOP: 'top', RIGHT: 'right', BOTTOM: 'bottom', LEFT: 'left' }; var Default$4 = { animation: true, template: '', trigger: 'hover focus', title: '', delay: 0, html: false, selector: false, placement: 'top', offset: 0, container: false, fallbackPlacement: 'flip', boundary: 'scrollParent', sanitize: true, sanitizeFn: null, whiteList: DefaultWhitelist, popperConfig: null }; var HOVER_STATE_SHOW = 'show'; var HOVER_STATE_OUT = 'out'; var Event = { HIDE: "hide" + EVENT_KEY$6, HIDDEN: "hidden" + EVENT_KEY$6, SHOW: "show" + EVENT_KEY$6, SHOWN: "shown" + EVENT_KEY$6, INSERTED: "inserted" + EVENT_KEY$6, CLICK: "click" + EVENT_KEY$6, FOCUSIN: "focusin" + EVENT_KEY$6, FOCUSOUT: "focusout" + EVENT_KEY$6, MOUSEENTER: "mouseenter" + EVENT_KEY$6, MOUSELEAVE: "mouseleave" + EVENT_KEY$6 }; var CLASS_NAME_FADE$2 = 'fade'; var CLASS_NAME_SHOW$4 = 'show'; var SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; var SELECTOR_ARROW = '.arrow'; var TRIGGER_HOVER = 'hover'; var TRIGGER_FOCUS = 'focus'; var TRIGGER_CLICK = 'click'; var TRIGGER_MANUAL = 'manual'; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Tooltip = /*#__PURE__*/function () { function Tooltip(element, config) { if (typeof Popper === 'undefined') { throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)'); } // private this._isEnabled = true; this._timeout = 0; this._hoverState = ''; this._activeTrigger = {}; this._popper = null; // Protected this.element = element; this.config = this._getConfig(config); this.tip = null; this._setListeners(); } // Getters var _proto = Tooltip.prototype; // Public _proto.enable = function enable() { this._isEnabled = true; }; _proto.disable = function disable() { this._isEnabled = false; }; _proto.toggleEnabled = function toggleEnabled() { this._isEnabled = !this._isEnabled; }; _proto.toggle = function toggle(event) { if (!this._isEnabled) { return; } if (event) { var dataKey = this.constructor.DATA_KEY; var context = $__default['default'](event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); $__default['default'](event.currentTarget).data(dataKey, context); } context._activeTrigger.click = !context._activeTrigger.click; if (context._isWithActiveTrigger()) { context._enter(null, context); } else { context._leave(null, context); } } else { if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) { this._leave(null, this); return; } this._enter(null, this); } }; _proto.dispose = function dispose() { clearTimeout(this._timeout); $__default['default'].removeData(this.element, this.constructor.DATA_KEY); $__default['default'](this.element).off(this.constructor.EVENT_KEY); $__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); if (this.tip) { $__default['default'](this.tip).remove(); } this._isEnabled = null; this._timeout = null; this._hoverState = null; this._activeTrigger = null; if (this._popper) { this._popper.destroy(); } this._popper = null; this.element = null; this.config = null; this.tip = null; }; _proto.show = function show() { var _this = this; if ($__default['default'](this.element).css('display') === 'none') { throw new Error('Please use show on visible elements'); } var showEvent = $__default['default'].Event(this.constructor.Event.SHOW); if (this.isWithContent() && this._isEnabled) { $__default['default'](this.element).trigger(showEvent); var shadowRoot = Util.findShadowRoot(this.element); var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); if (showEvent.isDefaultPrevented() || !isInTheDom) { return; } var tip = this.getTipElement(); var tipId = Util.getUID(this.constructor.NAME); tip.setAttribute('id', tipId); this.element.setAttribute('aria-describedby', tipId); this.setContent(); if (this.config.animation) { $__default['default'](tip).addClass(CLASS_NAME_FADE$2); } var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; var attachment = this._getAttachment(placement); this.addAttachmentClass(attachment); var container = this._getContainer(); $__default['default'](tip).data(this.constructor.DATA_KEY, this); if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) { $__default['default'](tip).appendTo(container); } $__default['default'](this.element).trigger(this.constructor.Event.INSERTED); this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment)); $__default['default'](tip).addClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we add extra // empty mouseover listeners to the body's immediate children; // only needed because of broken event delegation on iOS // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html if ('ontouchstart' in document.documentElement) { $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop); } var complete = function complete() { if (_this.config.animation) { _this._fixTransition(); } var prevHoverState = _this._hoverState; _this._hoverState = null; $__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN); if (prevHoverState === HOVER_STATE_OUT) { _this._leave(null, _this); } }; if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) { var transitionDuration = Util.getTransitionDurationFromElement(this.tip); $__default['default'](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); } else { complete(); } } }; _proto.hide = function hide(callback) { var _this2 = this; var tip = this.getTipElement(); var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE); var complete = function complete() { if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) { tip.parentNode.removeChild(tip); } _this2._cleanTipClass(); _this2.element.removeAttribute('aria-describedby'); $__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN); if (_this2._popper !== null) { _this2._popper.destroy(); } if (callback) { callback(); } }; $__default['default'](this.element).trigger(hideEvent); if (hideEvent.isDefaultPrevented()) { return; } $__default['default'](tip).removeClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra // empty mouseover listeners we added for iOS support if ('ontouchstart' in document.documentElement) { $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop); } this._activeTrigger[TRIGGER_CLICK] = false; this._activeTrigger[TRIGGER_FOCUS] = false; this._activeTrigger[TRIGGER_HOVER] = false; if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) { var transitionDuration = Util.getTransitionDurationFromElement(tip); $__default['default'](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); } else { complete(); } this._hoverState = ''; }; _proto.update = function update() { if (this._popper !== null) { this._popper.scheduleUpdate(); } } // Protected ; _proto.isWithContent = function isWithContent() { return Boolean(this.getTitle()); }; _proto.addAttachmentClass = function addAttachmentClass(attachment) { $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); }; _proto.getTipElement = function getTipElement() { this.tip = this.tip || $__default['default'](this.config.template)[0]; return this.tip; }; _proto.setContent = function setContent() { var tip = this.getTipElement(); this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle()); $__default['default'](tip).removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$4); }; _proto.setElementContent = function setElementContent($element, content) { if (typeof content === 'object' && (content.nodeType || content.jquery)) { // Content is a DOM node or a jQuery if (this.config.html) { if (!$__default['default'](content).parent().is($element)) { $element.empty().append(content); } } else { $element.text($__default['default'](content).text()); } return; } if (this.config.html) { if (this.config.sanitize) { content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); } $element.html(content); } else { $element.text(content); } }; _proto.getTitle = function getTitle() { var title = this.element.getAttribute('data-original-title'); if (!title) { title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; } return title; } // Private ; _proto._getPopperConfig = function _getPopperConfig(attachment) { var _this3 = this; var defaultBsConfig = { placement: attachment, modifiers: { offset: this._getOffset(), flip: { behavior: this.config.fallbackPlacement }, arrow: { element: SELECTOR_ARROW }, preventOverflow: { boundariesElement: this.config.boundary } }, onCreate: function onCreate(data) { if (data.originalPlacement !== data.placement) { _this3._handlePopperPlacementChange(data); } }, onUpdate: function onUpdate(data) { return _this3._handlePopperPlacementChange(data); } }; return _extends({}, defaultBsConfig, this.config.popperConfig); }; _proto._getOffset = function _getOffset() { var _this4 = this; var offset = {}; if (typeof this.config.offset === 'function') { offset.fn = function (data) { data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {}); return data; }; } else { offset.offset = this.config.offset; } return offset; }; _proto._getContainer = function _getContainer() { if (this.config.container === false) { return document.body; } if (Util.isElement(this.config.container)) { return $__default['default'](this.config.container); } return $__default['default'](document).find(this.config.container); }; _proto._getAttachment = function _getAttachment(placement) { return AttachmentMap[placement.toUpperCase()]; }; _proto._setListeners = function _setListeners() { var _this5 = this; var triggers = this.config.trigger.split(' '); triggers.forEach(function (trigger) { if (trigger === 'click') { $__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { return _this5.toggle(event); }); } else if (trigger !== TRIGGER_MANUAL) { var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; $__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) { return _this5._enter(event); }).on(eventOut, _this5.config.selector, function (event) { return _this5._leave(event); }); } }); this._hideModalHandler = function () { if (_this5.element) { _this5.hide(); } }; $__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); if (this.config.selector) { this.config = _extends({}, this.config, { trigger: 'manual', selector: '' }); } else { this._fixTitle(); } }; _proto._fixTitle = function _fixTitle() { var titleType = typeof this.element.getAttribute('data-original-title'); if (this.element.getAttribute('title') || titleType !== 'string') { this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); this.element.setAttribute('title', ''); } }; _proto._enter = function _enter(event, context) { var dataKey = this.constructor.DATA_KEY; context = context || $__default['default'](event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); $__default['default'](event.currentTarget).data(dataKey, context); } if (event) { context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; } if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) { context._hoverState = HOVER_STATE_SHOW; return; } clearTimeout(context._timeout); context._hoverState = HOVER_STATE_SHOW; if (!context.config.delay || !context.config.delay.show) { context.show(); return; } context._timeout = setTimeout(function () { if (context._hoverState === HOVER_STATE_SHOW) { context.show(); } }, context.config.delay.show); }; _proto._leave = function _leave(event, context) { var dataKey = this.constructor.DATA_KEY; context = context || $__default['default'](event.currentTarget).data(dataKey); if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); $__default['default'](event.currentTarget).data(dataKey, context); } if (event) { context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false; } if (context._isWithActiveTrigger()) { return; } clearTimeout(context._timeout); context._hoverState = HOVER_STATE_OUT; if (!context.config.delay || !context.config.delay.hide) { context.hide(); return; } context._timeout = setTimeout(function () { if (context._hoverState === HOVER_STATE_OUT) { context.hide(); } }, context.config.delay.hide); }; _proto._isWithActiveTrigger = function _isWithActiveTrigger() { for (var trigger in this._activeTrigger) { if (this._activeTrigger[trigger]) { return true; } } return false; }; _proto._getConfig = function _getConfig(config) { var dataAttributes = $__default['default'](this.element).data(); Object.keys(dataAttributes).forEach(function (dataAttr) { if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { delete dataAttributes[dataAttr]; } }); config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {}); if (typeof config.delay === 'number') { config.delay = { show: config.delay, hide: config.delay }; } if (typeof config.title === 'number') { config.title = config.title.toString(); } if (typeof config.content === 'number') { config.content = config.content.toString(); } Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); if (config.sanitize) { config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); } return config; }; _proto._getDelegateConfig = function _getDelegateConfig() { var config = {}; if (this.config) { for (var key in this.config) { if (this.constructor.Default[key] !== this.config[key]) { config[key] = this.config[key]; } } } return config; }; _proto._cleanTipClass = function _cleanTipClass() { var $tip = $__default['default'](this.getTipElement()); var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); if (tabClass !== null && tabClass.length) { $tip.removeClass(tabClass.join('')); } }; _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { this.tip = popperData.instance.popper; this._cleanTipClass(); this.addAttachmentClass(this._getAttachment(popperData.placement)); }; _proto._fixTransition = function _fixTransition() { var tip = this.getTipElement(); var initConfigAnimation = this.config.animation; if (tip.getAttribute('x-placement') !== null) { return; } $__default['default'](tip).removeClass(CLASS_NAME_FADE$2); this.config.animation = false; this.hide(); this.show(); this.config.animation = initConfigAnimation; } // Static ; Tooltip._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var $element = $__default['default'](this); var data = $element.data(DATA_KEY$6); var _config = typeof config === 'object' && config; if (!data && /dispose|hide/.test(config)) { return; } if (!data) { data = new Tooltip(this, _config); $element.data(DATA_KEY$6, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }); }; _createClass(Tooltip, null, [{ key: "VERSION", get: function get() { return VERSION$6; } }, { key: "Default", get: function get() { return Default$4; } }, { key: "NAME", get: function get() { return NAME$6; } }, { key: "DATA_KEY", get: function get() { return DATA_KEY$6; } }, { key: "Event", get: function get() { return Event; } }, { key: "EVENT_KEY", get: function get() { return EVENT_KEY$6; } }, { key: "DefaultType", get: function get() { return DefaultType$4; } }]); return Tooltip; }(); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $__default['default'].fn[NAME$6] = Tooltip._jQueryInterface; $__default['default'].fn[NAME$6].Constructor = Tooltip; $__default['default'].fn[NAME$6].noConflict = function () { $__default['default'].fn[NAME$6] = JQUERY_NO_CONFLICT$6; return Tooltip._jQueryInterface; }; /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME$7 = 'popover'; var VERSION$7 = '4.5.3'; var DATA_KEY$7 = 'bs.popover'; var EVENT_KEY$7 = "." + DATA_KEY$7; var JQUERY_NO_CONFLICT$7 = $__default['default'].fn[NAME$7]; var CLASS_PREFIX$1 = 'bs-popover'; var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); var Default$5 = _extends({}, Tooltip.Default, { placement: 'right', trigger: 'click', content: '', template: '' }); var DefaultType$5 = _extends({}, Tooltip.DefaultType, { content: '(string|element|function)' }); var CLASS_NAME_FADE$3 = 'fade'; var CLASS_NAME_SHOW$5 = 'show'; var SELECTOR_TITLE = '.popover-header'; var SELECTOR_CONTENT = '.popover-body'; var Event$1 = { HIDE: "hide" + EVENT_KEY$7, HIDDEN: "hidden" + EVENT_KEY$7, SHOW: "show" + EVENT_KEY$7, SHOWN: "shown" + EVENT_KEY$7, INSERTED: "inserted" + EVENT_KEY$7, CLICK: "click" + EVENT_KEY$7, FOCUSIN: "focusin" + EVENT_KEY$7, FOCUSOUT: "focusout" + EVENT_KEY$7, MOUSEENTER: "mouseenter" + EVENT_KEY$7, MOUSELEAVE: "mouseleave" + EVENT_KEY$7 }; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var Popover = /*#__PURE__*/function (_Tooltip) { _inheritsLoose(Popover, _Tooltip); function Popover() { return _Tooltip.apply(this, arguments) || this; } var _proto = Popover.prototype; // Overrides _proto.isWithContent = function isWithContent() { return this.getTitle() || this._getContent(); }; _proto.addAttachmentClass = function addAttachmentClass(attachment) { $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); }; _proto.getTipElement = function getTipElement() { this.tip = this.tip || $__default['default'](this.config.template)[0]; return this.tip; }; _proto.setContent = function setContent() { var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle()); var content = this._getContent(); if (typeof content === 'function') { content = content.call(this.element); } this.setElementContent($tip.find(SELECTOR_CONTENT), content); $tip.removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$5); } // Private ; _proto._getContent = function _getContent() { return this.element.getAttribute('data-content') || this.config.content; }; _proto._cleanTipClass = function _cleanTipClass() { var $tip = $__default['default'](this.getTipElement()); var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1); if (tabClass !== null && tabClass.length > 0) { $tip.removeClass(tabClass.join('')); } } // Static ; Popover._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var data = $__default['default'](this).data(DATA_KEY$7); var _config = typeof config === 'object' ? config : null; if (!data && /dispose|hide/.test(config)) { return; } if (!data) { data = new Popover(this, _config); $__default['default'](this).data(DATA_KEY$7, data); } if (typeof config === 'string') { if (typeof data[config] === 'undefined') { throw new TypeError("No method named \"" + config + "\""); } data[config](); } }); }; _createClass(Popover, null, [{ key: "VERSION", // Getters get: function get() { return VERSION$7; } }, { key: "Default", get: function get() { return Default$5; } }, { key: "NAME", get: function get() { return NAME$7; } }, { key: "DATA_KEY", get: function get() { return DATA_KEY$7; } }, { key: "Event", get: function get() { return Event$1; } }, { key: "EVENT_KEY", get: function get() { return EVENT_KEY$7; } }, { key: "DefaultType", get: function get() { return DefaultType$5; } }]); return Popover; }(Tooltip); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $__default['default'].fn[NAME$7] = Popover._jQueryInterface; $__default['default'].fn[NAME$7].Constructor = Popover; $__default['default'].fn[NAME$7].noConflict = function () { $__default['default'].fn[NAME$7] = JQUERY_NO_CONFLICT$7; return Popover._jQueryInterface; }; /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ var NAME$8 = 'scrollspy'; var VERSION$8 = '4.5.3'; var DATA_KEY$8 = 'bs.scrollspy'; var EVENT_KEY$8 = "." + DATA_KEY$8; var DATA_API_KEY$6 = '.data-api'; var JQUERY_NO_CONFLICT$8 = $__default['default'].fn[NAME$8]; var Default$6 = { offset: 10, method: 'auto', target: '' }; var DefaultType$6 = { offset: 'number', method: 'string', target: '(string|element)' }; var EVENT_ACTIVATE = "activate" + EVENT_KEY$8; var EVENT_SCROLL = "scroll" + EVENT_KEY$8; var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$8 + DATA_API_KEY$6; var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; var CLASS_NAME_ACTIVE$2 = 'active'; var SELECTOR_DATA_SPY = '[data-spy="scroll"]'; var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'; var SELECTOR_NAV_LINKS = '.nav-link'; var SELECTOR_NAV_ITEMS = '.nav-item'; var SELECTOR_LIST_ITEMS = '.list-group-item'; var SELECTOR_DROPDOWN = '.dropdown'; var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'; var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'; var METHOD_OFFSET = 'offset'; var METHOD_POSITION = 'position'; /** * ------------------------------------------------------------------------ * Class Definition * ------------------------------------------------------------------------ */ var ScrollSpy = /*#__PURE__*/function () { function ScrollSpy(element, config) { var _this = this; this._element = element; this._scrollElement = element.tagName === 'BODY' ? window : element; this._config = this._getConfig(config); this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " + SELECTOR_DROPDOWN_ITEMS); this._offsets = []; this._targets = []; this._activeTarget = null; this._scrollHeight = 0; $__default['default'](this._scrollElement).on(EVENT_SCROLL, function (event) { return _this._process(event); }); this.refresh(); this._process(); } // Getters var _proto = ScrollSpy.prototype; // Public _proto.refresh = function refresh() { var _this2 = this; var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION; var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0; this._offsets = []; this._targets = []; this._scrollHeight = this._getScrollHeight(); var targets = [].slice.call(document.querySelectorAll(this._selector)); targets.map(function (element) { var target; var targetSelector = Util.getSelectorFromElement(element); if (targetSelector) { target = document.querySelector(targetSelector); } if (target) { var targetBCR = target.getBoundingClientRect(); if (targetBCR.width || targetBCR.height) { // TODO (fat): remove sketch reliance on jQuery position/offset return [$__default['default'](target)[offsetMethod]().top + offsetBase, targetSelector]; } } return null; }).filter(function (item) { return item; }).sort(function (a, b) { return a[0] - b[0]; }).forEach(function (item) { _this2._offsets.push(item[0]); _this2._targets.push(item[1]); }); }; _proto.dispose = function dispose() { $__default['default'].removeData(this._element, DATA_KEY$8); $__default['default'](this._scrollElement).off(EVENT_KEY$8); this._element = null; this._scrollElement = null; this._config = null; this._selector = null; this._offsets = null; this._targets = null; this._activeTarget = null; this._scrollHeight = null; } // Private ; _proto._getConfig = function _getConfig(config) { config = _extends({}, Default$6, typeof config === 'object' && config ? config : {}); if (typeof config.target !== 'string' && Util.isElement(config.target)) { var id = $__default['default'](config.target).attr('id'); if (!id) { id = Util.getUID(NAME$8); $__default['default'](config.target).attr('id', id); } config.target = "#" + id; } Util.typeCheckConfig(NAME$8, config, DefaultType$6); return config; }; _proto._getScrollTop = function _getScrollTop() { return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; }; _proto._getScrollHeight = function _getScrollHeight() { return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); }; _proto._getOffsetHeight = function _getOffsetHeight() { return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; }; _proto._process = function _process() { var scrollTop = this._getScrollTop() + this._config.offset; var scrollHeight = this._getScrollHeight(); var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); if (this._scrollHeight !== scrollHeight) { this.refresh(); } if (scrollTop >= maxScroll) { var target = this._targets[this._targets.length - 1]; if (this._activeTarget !== target) { this._activate(target); } return; } if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { this._activeTarget = null; this._clear(); return; } for (var i = this._offsets.length; i--;) { var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); if (isActiveTarget) { this._activate(this._targets[i]); } } }; _proto._activate = function _activate(target) { this._activeTarget = target; this._clear(); var queries = this._selector.split(',').map(function (selector) { return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; }); var $link = $__default['default']([].slice.call(document.querySelectorAll(queries.join(',')))); if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) { $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE$2); $link.addClass(CLASS_NAME_ACTIVE$2); } else { // Set triggered link as active $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active // With both