Delete unnecessary files and update .gitignore

This commit is contained in:
Simon Larsen 2024-02-19 10:55:14 +00:00
parent f0e543d7fc
commit 602bfd5e7e
No known key found for this signature in database
GPG Key ID: AB45983AA9C81CDE
29 changed files with 9 additions and 1375 deletions

2
.gitignore vendored
View File

@ -98,4 +98,4 @@ Llama/Models/llama*
Llama/__pycache__/* Llama/__pycache__/*
Examples/otel-dotnet/obj Examples/otel-dotnet/obj/*

View File

@ -22,6 +22,7 @@ import LessThan from 'Common/Types/BaseDatabase/LessThan';
import LessThanOrEqual from 'Common/Types/BaseDatabase/LessThanOrEqual'; import LessThanOrEqual from 'Common/Types/BaseDatabase/LessThanOrEqual';
import GreaterThanOrEqual from 'Common/Types/BaseDatabase/GreaterThanOrEqual'; import GreaterThanOrEqual from 'Common/Types/BaseDatabase/GreaterThanOrEqual';
import InBetween from 'Common/Types/BaseDatabase/InBetween'; import InBetween from 'Common/Types/BaseDatabase/InBetween';
import IsNull from 'Common/Types/BaseDatabase/IsNull';
export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> { export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
public model!: TBaseModel; public model!: TBaseModel;
@ -387,6 +388,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
type: tableColumn.type, type: tableColumn.type,
}}` }}`
); );
} else if (value instanceof IsNull) {
whereStatement.append(
SQL`AND ${key} IS NULL`
);
} else { } else {
whereStatement.append( whereStatement.append(
SQL`AND ${key} = ${{ value, type: tableColumn.type }}` SQL`AND ${key} = ${{ value, type: tableColumn.type }}`

View File

@ -6,6 +6,7 @@ import FieldType from 'CommonUI/src/Components/Types/FieldType';
import Navigation from 'CommonUI/src/Utils/Navigation'; import Navigation from 'CommonUI/src/Utils/Navigation';
import DashboardNavigation from '../../../../../Utils/Navigation'; import DashboardNavigation from '../../../../../Utils/Navigation';
import ObjectID from 'Common/Types/ObjectID'; import ObjectID from 'Common/Types/ObjectID';
import IsNull from 'Common/Types/BaseDatabase/IsNull';
const TracesList: FunctionComponent<PageComponentProps> = ( const TracesList: FunctionComponent<PageComponentProps> = (
_props: PageComponentProps _props: PageComponentProps
@ -32,6 +33,7 @@ const TracesList: FunctionComponent<PageComponentProps> = (
query={{ query={{
projectId: DashboardNavigation.getProjectId(), projectId: DashboardNavigation.getProjectId(),
serviceId: modelId, serviceId: modelId,
parentSpanId: new IsNull()
}} }}
showViewIdButton={true} showViewIdButton={true}
noItemsMessage={'No traces found for this service.'} noItemsMessage={'No traces found for this service.'}

View File

@ -5,7 +5,7 @@
Please use Please use
```bash ```bash
export OTEL_EXPORTER_OTLP_HEADERS="x-oneuptime-service-token=3be58190-c7ec-11ee-8e5e-3952f961cde5" && export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost" && dotnet run --urls=http://localhost:7856/ export OTEL_EXPORTER_OTLP_HEADERS="x-oneuptime-service-token=51d01130-cf14-11ee-a74d-1364f8ef0ac6" && export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost" && dotnet run --urls=http://localhost:7856/
``` ```
### Run on test server ### Run on test server

View File

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]

View File

@ -1,22 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("otel-dotnet")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("otel-dotnet")]
[assembly: System.Reflection.AssemblyTitleAttribute("otel-dotnet")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -1 +0,0 @@
75e1e1485c35cb76ee9ee76450785e90d4c56c83

View File

@ -1,16 +0,0 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = otel_dotnet
build_property.RootNamespace = otel_dotnet
build_property.ProjectDir = /Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/
build_property.RazorLangVersion = 6.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = /Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet
build_property._RazorSourceGeneratorDebug =

View File

@ -1,17 +0,0 @@
// <auto-generated/>
global using global::Microsoft.AspNetCore.Builder;
global using global::Microsoft.AspNetCore.Hosting;
global using global::Microsoft.AspNetCore.Http;
global using global::Microsoft.AspNetCore.Routing;
global using global::Microsoft.Extensions.Configuration;
global using global::Microsoft.Extensions.DependencyInjection;
global using global::Microsoft.Extensions.Hosting;
global using global::Microsoft.Extensions.Logging;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Net.Http.Json;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -1,16 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("OpenTelemetry.Instrumentation.AspNetCore")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -1 +0,0 @@
dd731758440b2020b7f6d3116dc659916e251de0

View File

@ -1,36 +0,0 @@
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/appsettings.Development.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/appsettings.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet.deps.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet.runtimeconfig.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/otel-dotnet.pdb
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Api.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Api.ProviderBuilderExtensions.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Exporter.Console.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Extensions.Hosting.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Instrumentation.AspNetCore.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/System.Diagnostics.DiagnosticSource.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.csproj.AssemblyReference.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.GeneratedMSBuildEditorConfig.editorconfig
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.AssemblyInfoInputs.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.AssemblyInfo.cs
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.csproj.CoreCompileInputs.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.MvcApplicationPartsAssemblyInfo.cs
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.MvcApplicationPartsAssemblyInfo.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/staticwebassets.build.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/staticwebassets.development.json
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/scopedcss/bundle/otel-dotnet.styles.css
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.csproj.CopyComplete
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/refint/otel-dotnet.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.pdb
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/otel-dotnet.genruntimeconfig.cache
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/Debug/net6.0/ref/otel-dotnet.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/Google.Protobuf.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/Grpc.Core.Api.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/Grpc.Net.Client.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/Grpc.Net.Common.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Exporter.OpenTelemetryProtocol.dll
/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/bin/Debug/net6.0/OpenTelemetry.Instrumentation.Runtime.dll

View File

@ -1 +0,0 @@
cc5d2fd779d6a84d159195962a727e9d6011d4a2

View File

@ -1,11 +0,0 @@
{
"Version": 1,
"Hash": "m6XhWHM2rOSF31NUvI/QHIXrybom8NXOxJIFwUJzSPI=",
"Source": "otel-dotnet",
"BasePath": "_content/otel-dotnet",
"Mode": "Default",
"ManifestType": "Build",
"ReferencedProjectsConfiguration": [],
"DiscoveryPatterns": [],
"Assets": []
}

View File

@ -1,85 +0,0 @@
{
"format": 1,
"restore": {
"/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj": {}
},
"projects": {
"/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj",
"projectName": "otel-dotnet",
"projectPath": "/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj",
"packagesPath": "/Users/nawazdhandala/.nuget/packages/",
"outputPath": "/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/Users/nawazdhandala/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"OpenTelemetry.Exporter.Console": {
"target": "Package",
"version": "[1.6.0, )"
},
"OpenTelemetry.Exporter.OpenTelemetryProtocol": {
"target": "Package",
"version": "[1.6.0, )"
},
"OpenTelemetry.Extensions.Hosting": {
"target": "Package",
"version": "[1.6.0, )"
},
"OpenTelemetry.Instrumentation.AspNetCore": {
"target": "Package",
"version": "[1.5.1-beta.1, )"
},
"OpenTelemetry.Instrumentation.Runtime": {
"target": "Package",
"version": "[1.5.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/6.0.201/RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/Users/nawazdhandala/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/Users/nawazdhandala/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.1.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/Users/nawazdhandala/.nuget/packages/" />
</ItemGroup>
</Project>

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

File diff suppressed because it is too large Load Diff

View File

@ -1,39 +0,0 @@
{
"version": 2,
"dgSpecHash": "kBspCkYM82GK1DjcaFAxuFSJ5yyZDweAwZpDY3NzeL+b5AIdlzzBhqF0w41aQvigzdX60YHSP8Nwd+epadb4vQ==",
"success": true,
"projectFilePath": "/Users/nawazdhandala/Projects/OneUptime/oneuptime/Examples/otel-dotnet/otel-dotnet.csproj",
"expectedPackageFiles": [
"/Users/nawazdhandala/.nuget/packages/google.protobuf/3.19.4/google.protobuf.3.19.4.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/grpc.core.api/2.52.0/grpc.core.api.2.52.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/grpc.net.client/2.52.0/grpc.net.client.2.52.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/grpc.net.common/2.52.0/grpc.net.common.2.52.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.configuration/3.1.0/microsoft.extensions.configuration.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.configuration.abstractions/3.1.0/microsoft.extensions.configuration.abstractions.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.configuration.binder/3.1.0/microsoft.extensions.configuration.binder.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.dependencyinjection/3.1.0/microsoft.extensions.dependencyinjection.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/3.1.0/microsoft.extensions.dependencyinjection.abstractions.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.fileproviders.abstractions/2.1.0/microsoft.extensions.fileproviders.abstractions.2.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.hosting.abstractions/2.1.0/microsoft.extensions.hosting.abstractions.2.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.logging/3.1.0/microsoft.extensions.logging.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.logging.abstractions/3.1.0/microsoft.extensions.logging.abstractions.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.logging.configuration/3.1.0/microsoft.extensions.logging.configuration.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.options/3.1.0/microsoft.extensions.options.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.options.configurationextensions/3.1.0/microsoft.extensions.options.configurationextensions.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/microsoft.extensions.primitives/3.1.0/microsoft.extensions.primitives.3.1.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry/1.6.0/opentelemetry.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.api/1.6.0/opentelemetry.api.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.api.providerbuilderextensions/1.6.0/opentelemetry.api.providerbuilderextensions.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.exporter.console/1.6.0/opentelemetry.exporter.console.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.exporter.opentelemetryprotocol/1.6.0/opentelemetry.exporter.opentelemetryprotocol.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.extensions.hosting/1.6.0/opentelemetry.extensions.hosting.1.6.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.instrumentation.aspnetcore/1.5.1-beta.1/opentelemetry.instrumentation.aspnetcore.1.5.1-beta.1.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/opentelemetry.instrumentation.runtime/1.5.1/opentelemetry.instrumentation.runtime.1.5.1.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.diagnostics.diagnosticsource/7.0.2/system.diagnostics.diagnosticsource.7.0.2.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.memory/4.5.3/system.memory.4.5.3.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.text.encodings.web/4.7.2/system.text.encodings.web.4.7.2.nupkg.sha512",
"/Users/nawazdhandala/.nuget/packages/system.text.json/4.7.2/system.text.json.4.7.2.nupkg.sha512"
],
"logs": []
}

View File

@ -1,71 +0,0 @@
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0