NJsonSchema 11.6.1

NJsonSchema for .NET

NSwag | NJsonSchema | Apimundo | Namotion.Reflection

Azure DevOps Nuget Discord StackOverflow Wiki Apimundo

NJsonSchema is a .NET library to read, generate and validate JSON Schema draft v4+ schemas. The library can read a schema from a file or string and validate JSON data against it. A schema can also be generated from an existing .NET class. With the code generation APIs you can generate C# and TypeScript classes or interfaces from a schema.

The library uses Json.NET to read and write JSON data and Namotion.Reflection for additional .NET reflection APIs.

NuGet packages:

Preview NuGet Feed: https://www.myget.org/F/njsonschema/api/v3/index.json

Features:

NJsonSchema is heavily used in NSwag, a Swagger API toolchain for .NET which generates client code for Web API services. NSwag also provides command line tools to use the NJsonSchema's JSON Schema generator (command types2swagger).

The project is developed and maintained by Rico Suter and other contributors.

Some code generators can directly be used via the Apimundo service.

NJsonSchema usage

The JsonSchema class can be used as follows:

var schema = JsonSchema.FromType<Person>();
var schemaData = schema.ToJson();
var errors = schema.Validate("{...}");

foreach (var error in errors)
    Console.WriteLine(error.Path + ": " + error.Kind);

schema = await JsonSchema.FromJsonAsync(schemaData);

The Person class:

public class Person
{
    [Required]
    public string FirstName { get; set; }

    public string MiddleName { get; set; }

    [Required]
    public string LastName { get; set; }

    public Gender Gender { get; set; }

    [Range(2, 5)]
    public int NumberWithRange { get; set; }

    public DateTime Birthday { get; set; }

    public Company Company { get; set; }

    public Collection<Car> Cars { get; set; }
}

public enum Gender
{
    Male,
    Female
}

public class Car
{
    public string Name { get; set; }

    public Company Manufacturer { get; set; }
}

public class Company
{
    public string Name { get; set; }
}

The generated JSON schema data stored in the schemaData variable:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Person",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "FirstName",
    "LastName"
  ],
  "properties": {
    "FirstName": {
      "type": "string",
      "minLength": 1
    },
    "MiddleName": {
      "type": [
        "null",
        "string"
      ]
    },
    "LastName": {
      "type": "string",
      "minLength": 1
    },
    "Gender": {
      "$ref": "#/definitions/Gender"
    },
    "NumberWithRange": {
      "type": "integer",
      "format": "int32",
      "maximum": 5.0,
      "minimum": 2.0
    },
    "Birthday": {
      "type": "string",
      "format": "date-time"
    },
    "Company": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/definitions/Company"
        }
      ]
    },
    "Cars": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/Car"
      }
    }
  },
  "definitions": {
    "Gender": {
      "type": "integer",
      "description": "",
      "x-enumNames": [
        "Male",
        "Female"
      ],
      "enum": [
        0,
        1
      ]
    },
    "Company": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": [
            "null",
            "string"
          ]
        }
      }
    },
    "Car": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": [
            "null",
            "string"
          ]
        },
        "Manufacturer": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/definitions/Company"
            }
          ]
        }
      }
    }
  }
}

NJsonSchema.CodeGeneration usage

The NJsonSchema.CodeGeneration can be used to generate C# or TypeScript code from a JSON schema:

var generator = new CSharpGenerator(schema);
var file = generator.GenerateFile();

The file variable now contains the C# code for all the classes defined in the JSON schema.

TypeScript

The previously generated JSON Schema would generate the following TypeScript interfaces.

Settings:

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Interface, TypeScriptVersion = 4.3m }

Output:

export enum Gender {
    Male = 0, 
    Female = 1, 
}

export interface Company {
    Name: string | undefined;
}

export interface Car {
    Name: string | undefined;
    Manufacturer: Company | undefined;
}

export interface Person {
    FirstName: string;
    MiddleName: string | undefined;
    LastName: string;
    Gender: Gender;
    NumberWithRange: number;
    Birthday: Date;
    Company: Company | undefined;
    Cars: Car[] | undefined;
}

... and the following TypeScript classes.

Settings:

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Class, TypeScriptVersion = 4.3m }

Output:

export enum Gender {
    Male = 0, 
    Female = 1, 
}

export class Company implements ICompany {
    name: string | undefined;

    constructor(data?: ICompany) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.name = data["Name"];
        }
    }

    static fromJS(data: any): Company {
        let result = new Company();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["Name"] = this.name;
        return data; 
    }
}

export interface ICompany {
    name: string | undefined;
}

export class Car implements ICar {
    name: string | undefined;
    manufacturer: Company | undefined;

    constructor(data?: ICar) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.name = data["Name"];
            this.manufacturer = data["Manufacturer"] ? Company.fromJS(data["Manufacturer"]) : <any>undefined;
        }
    }

    static fromJS(data: any): Car {
        let result = new Car();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["Name"] = this.name;
        data["Manufacturer"] = this.manufacturer ? this.manufacturer.toJSON() : <any>undefined;
        return data; 
    }
}

export interface ICar {
    name: string | undefined;
    manufacturer: Company | undefined;
}

export class Person implements IPerson {
    firstName: string;
    middleName: string | undefined;
    lastName: string;
    gender: Gender;
    numberWithRange: number;
    birthday: Date;
    company: Company | undefined;
    cars: Car[] | undefined;

    constructor(data?: IPerson) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.firstName = data["FirstName"];
            this.middleName = data["MiddleName"];
            this.lastName = data["LastName"];
            this.gender = data["Gender"];
            this.numberWithRange = data["NumberWithRange"];
            this.birthday = data["Birthday"] ? new Date(data["Birthday"].toString()) : <any>undefined;
            this.company = data["Company"] ? Company.fromJS(data["Company"]) : <any>undefined;
            if (data["Cars"] && data["Cars"].constructor === Array) {
                this.cars = [];
                for (let item of data["Cars"])
                    this.cars.push(Car.fromJS(item));
            }
        }
    }

    static fromJS(data: any): Person {
        let result = new Person();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["FirstName"] = this.firstName;
        data["MiddleName"] = this.middleName;
        data["LastName"] = this.lastName;
        data["Gender"] = this.gender;
        data["NumberWithRange"] = this.numberWithRange;
        data["Birthday"] = this.birthday ? this.birthday.toISOString() : <any>undefined;
        data["Company"] = this.company ? this.company.toJSON() : <any>undefined;
        if (this.cars && this.cars.constructor === Array) {
            data["Cars"] = [];
            for (let item of this.cars)
                data["Cars"].push(item.toJSON());
        }
        return data; 
    }
}

export interface IPerson {
    firstName: string;
    middleName: string | undefined;
    lastName: string;
    gender: Gender;
    numberWithRange: number;
    birthday: Date;
    company: Company | undefined;
    cars: Car[] | undefined;
}

NJsonSchema.SampleJsonSchemaGenerator usage

The NJsonSchema.SampleJsonSchemaGenerator can be used to generate a JSON Schema from sample JSON data:

JSON Schema Specification

By default, the NJsonSchema.SampleJsonSchemaGenerator generates a JSON Schema based on the JSON Schema specification. See: JSON Schema Specification

var generator = new SampleJsonSchemaGenerator(new SampleJsonSchemaGeneratorSettings());

var schema = generator.Generate("{...}");

Input:

{
  "int": 1,
  "float": 340282346638528859811704183484516925440.0,
  "str": "abc",
  "bool": true,
  "date": "2012-07-19",
  "datetime": "2012-07-19 10:11:11",
  "timespan": "10:11:11"
}

Output:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "int": {
      "type": "integer"
    },
    "float": {
      "type": "number"
    },
    "str": {
      "type": "string"
    },
    "bool": {
      "type": "boolean"
    },
    "date": {
      "type": "string",
      "format": "date"
    },
    "datetime": {
      "type": "string",
      "format": "date-time"
    },
    "timespan": {
      "type": "string",
      "format": "duration"
    }
  }
}

OpenApi Specification

To generate a JSON Schema for OpenApi, provide the SchemaType.OpenApi3 in the settings. See: OpenApi Specification

var generator = new SampleJsonSchemaGenerator(new SampleJsonSchemaGeneratorSettings { SchemaType = SchemaType.OpenApi3 });

var schema = generator.Generate("{...}");

Input:

{
  "int": 12345,
  "long": 1736347656630,
  "float": 340282346638528859811704183484516925440.0,
  "double": 340282346638528859811704183484516925440123456.0,
}

Output:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "int": {
      "type": "integer",
      "format": "int32"
    },
    "long": {
      "type": "integer",
      "format": "int64"
    },
    "float": {
      "type": "number",
      "format": "float"
    },
    "double": {
      "type": "number",
      "format": "double"
    }
  }
}

Final notes

Applications which use the library:

Showing the top 20 packages that depend on NJsonSchema.

Packages Downloads
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
173
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
253
NJsonSchema.Yaml
JSON Schema reader, generator and validator for .NET
172
NJsonSchema.Yaml
JSON Schema reader, generator and validator for .NET
173
NJsonSchema.Yaml
JSON Schema reader, generator and validator for .NET
174
NJsonSchema.Yaml
JSON Schema reader, generator and validator for .NET
181
NJsonSchema.Yaml
JSON Schema reader, generator and validator for .NET
225
NSwag.AspNetCore
NSwag: The Swagger API toolchain for .NET and TypeScript
174
NSwag.AspNetCore
NSwag: The Swagger API toolchain for .NET and TypeScript
193
NSwag.Core
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
184
NSwag.Core
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
220
NSwag.Core
NSwag: The Swagger API toolchain for .NET and TypeScript
188
NSwag.Generation
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
220
NSwag.Generation.AspNetCore
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
182
NSwag.SwaggerGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
172
NSwag.SwaggerGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
177
NSwag.SwaggerGeneration.AspNetCore
NSwag: The Swagger API toolchain for .NET and TypeScript
174
NSwag.SwaggerGeneration.AspNetCore
NSwag: The Swagger API toolchain for .NET and TypeScript
187
NSwag.SwaggerGeneration.WebApi
NSwag: The Swagger API toolchain for .NET and TypeScript
177

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

Version Downloads Last updated
11.6.1 45 04/20/2026
11.6.0 45 04/08/2026
11.5.2 98 11/06/2025
11.5.1 101 10/02/2025
11.5.0 108 09/16/2025
11.4.0 128 07/31/2025
11.3.2 107 04/29/2025
11.3.1 112 04/29/2025
11.3.0 102 04/29/2025
11.2.0 121 03/31/2025
11.1.0 123 11/23/2024
11.0.2 133 07/24/2024
11.0.1 134 07/24/2024
11.0.0 127 02/13/2024
11.0.0-preview008 131 08/29/2024
11.0.0-preview007 110 07/24/2024
11.0.0-preview006 131 07/24/2024
11.0.0-preview005 114 07/24/2024
11.0.0-preview004 124 07/24/2024
11.0.0-preview003 121 07/24/2024
11.0.0-preview002 131 07/24/2024
11.0.0-preview001 117 07/24/2024
10.9.0 105 07/24/2024
10.8.0 196 02/04/2024
10.7.2 141 04/17/2024
10.7.1 135 08/22/2024
10.7.0 138 07/24/2024
10.6.10 149 02/04/2024
10.6.9 121 07/25/2024
10.6.8 119 07/24/2024
10.6.7 130 07/24/2024
10.6.6 139 07/24/2024
10.6.5 116 07/24/2024
10.6.4 107 07/26/2024
10.6.3 126 07/24/2024
10.6.2 129 07/24/2024
10.6.1 123 07/24/2024
10.6.0 130 07/24/2024
10.5.2 127 07/24/2024
10.5.1 122 07/24/2024
10.5.0 135 07/24/2024
10.4.6 122 07/24/2024
10.4.5 121 09/05/2024
10.4.4 135 07/24/2024
10.4.3 142 07/22/2024
10.4.2 140 07/24/2024
10.4.1 121 07/24/2024
10.4.0 131 07/24/2024
10.3.11 114 07/24/2024
10.3.10 129 07/24/2024
10.3.9 123 07/24/2024
10.3.8 129 07/24/2024
10.3.7 122 09/03/2024
10.3.6 138 07/24/2024
10.3.5 114 07/24/2024
10.3.4 126 07/24/2024
10.3.3 106 07/22/2024
10.3.2 129 07/24/2024
10.3.1 135 07/24/2024
10.3.0 130 07/24/2024
10.2.2 123 07/24/2024
10.2.1 129 07/24/2024
10.2.0 127 07/24/2024
10.1.26 120 07/24/2024
10.1.25 119 07/24/2024
10.1.24 152 07/22/2024
10.1.23 135 07/24/2024
10.1.22 116 07/24/2024
10.1.21 112 07/24/2024
10.1.20 127 07/21/2024
10.1.19 103 07/24/2024
10.1.18 146 06/15/2024
10.1.17 134 07/24/2024
10.1.16 122 07/24/2024
10.1.15 103 07/24/2024
10.1.14 131 07/24/2024
10.1.13 125 07/24/2024
10.1.12 120 09/02/2024
10.1.11 113 07/24/2024
10.1.10 112 07/24/2024
10.1.9 118 07/22/2024
10.1.8 137 07/24/2024
10.1.7 125 07/24/2024
10.1.6 105 07/24/2024
10.1.5 131 07/24/2024
10.1.4 110 07/24/2024
10.1.3 122 07/24/2024
10.1.2 116 07/23/2024
10.1.1 140 07/24/2024
10.1.0 130 07/24/2024
10.0.28 125 07/24/2024
10.0.27 129 07/24/2024
10.0.26 121 07/24/2024
10.0.25 110 07/24/2024
10.0.24 131 07/24/2024
10.0.23 120 07/24/2024
10.0.22 122 07/24/2024
10.0.21 123 07/24/2024
10.0.20 124 07/25/2024
10.0.19 131 07/24/2024
10.0.18 123 07/25/2024
10.0.17 130 07/24/2024
10.0.16 124 07/24/2024
10.0.15 126 07/26/2024
10.0.14 125 07/24/2024
10.0.13 138 07/24/2024
10.0.12 128 07/16/2024
10.0.11 142 07/16/2024
10.0.10 113 07/24/2024
10.0.9 128 07/24/2024
10.0.8 129 07/24/2024
10.0.7 128 07/24/2024
10.0.6 123 07/24/2024
10.0.5 123 07/22/2024
10.0.4 129 07/24/2024
10.0.3 132 07/24/2024
10.0.1 121 07/23/2024
10.0.0 120 07/24/2024
9.14.1 122 07/24/2024
9.14.0 118 07/24/2024
9.13.37 124 07/24/2024
9.13.36 125 07/24/2024
9.13.35 124 07/25/2024
9.13.34 115 08/30/2024
9.13.33 135 09/01/2024
9.13.32 133 07/24/2024
9.13.31 123 07/24/2024
9.13.30 125 07/24/2024
9.13.29 123 09/20/2024
9.13.28 125 07/24/2024
9.13.27 135 07/26/2024
9.13.26 133 07/24/2024
9.13.25 121 07/24/2024
9.13.24 122 07/24/2024
9.13.23 120 07/24/2024
9.13.22 124 07/24/2024
9.13.19 122 07/24/2024
9.13.18 133 07/24/2024
9.13.17 123 07/24/2024
9.13.16 123 07/24/2024
9.13.15 119 07/26/2024
9.13.14 122 07/24/2024
9.13.13 134 07/24/2024
9.13.12 129 07/24/2024
9.13.11 138 07/24/2024
9.13.10 127 07/24/2024
9.13.9 137 07/25/2024
9.13.8 144 07/24/2024
9.13.7 130 07/24/2024
9.13.5 127 09/01/2024
9.13.4 135 07/24/2024
9.13.3 130 07/24/2024
9.13.2 130 07/24/2024
9.13.1 116 07/24/2024
9.13.0 128 07/24/2024
9.12.7 127 07/24/2024
9.12.6 113 07/24/2024
9.12.5 115 07/24/2024
9.12.4 115 07/26/2024
9.12.3 123 07/24/2024
9.12.2 153 07/24/2024
9.12.1 128 07/24/2024
9.12.0 124 07/24/2024
9.11.1 113 07/24/2024
9.11.0 126 07/25/2024
9.10.75 139 08/26/2024
9.10.74 136 07/24/2024
9.10.73 121 08/29/2024
9.10.72 127 07/24/2024
9.10.71 137 07/24/2024
9.10.70 122 07/24/2024
9.10.69 135 07/24/2024
9.10.68 117 07/24/2024
9.10.67 126 07/24/2024
9.10.66 137 07/24/2024
9.10.65 131 07/24/2024
9.10.64 127 07/24/2024
9.10.63 135 07/24/2024
9.10.62 118 07/24/2024
9.10.61 114 08/30/2024
9.10.60 97 07/24/2024
9.10.59 119 07/24/2024
9.10.58 126 07/24/2024
9.10.57 126 07/24/2024
9.10.56 107 07/24/2024
9.10.55 112 07/24/2024
9.10.54 119 07/24/2024
9.10.53 113 07/24/2024
9.10.52 126 07/24/2024
9.10.51 109 07/24/2024
9.10.50 129 07/24/2024
9.10.49 135 07/24/2024
9.10.48 129 07/24/2024
9.10.47 130 07/24/2024
9.10.46 121 07/24/2024
9.10.45 125 07/24/2024
9.10.44 121 07/24/2024
9.10.43 120 07/24/2024
9.10.42 129 07/24/2024
9.10.41 136 07/24/2024
9.10.40 123 07/24/2024
9.10.39 119 07/25/2024
9.10.38 113 07/24/2024
9.10.37 122 07/24/2024
9.10.36 124 07/26/2024
9.10.35 123 07/24/2024
9.10.34 128 07/24/2024
9.10.33 136 07/24/2024
9.10.32 116 09/20/2024
9.10.31 127 07/24/2024
9.10.30 141 07/24/2024
9.10.29 106 07/25/2024
9.10.28 123 07/24/2024
9.10.27 129 07/24/2024
9.10.26 124 07/24/2024
9.10.25 110 07/24/2024
9.10.24 125 07/24/2024
9.10.23 119 07/24/2024
9.10.22 118 07/24/2024
9.10.21 118 07/24/2024
9.10.20 117 07/24/2024
9.10.19 146 07/24/2024
9.10.18 138 07/24/2024
9.10.17 118 09/20/2024
9.10.16 139 07/24/2024
9.10.15 133 07/24/2024
9.10.14 135 07/24/2024
9.10.13 131 07/25/2024
9.10.12 140 07/24/2024
9.10.11 116 07/24/2024
9.10.10 136 07/24/2024
9.10.9 124 07/24/2024
9.10.8 133 09/05/2024
9.10.7 128 07/24/2024
9.10.6 132 07/24/2024
9.10.5 127 07/24/2024
9.10.4 131 07/26/2024
9.10.3 141 07/24/2024
9.10.2 142 07/24/2024
9.10.1 127 07/24/2024
9.10.0 140 07/24/2024
9.9.17 120 08/29/2024
9.9.16 130 08/28/2024
9.9.15 114 07/24/2024
9.9.14 129 07/26/2024
9.9.13 119 07/24/2024
9.9.12 140 07/24/2024
9.9.11 118 07/25/2024
9.9.10 124 07/24/2024
9.9.9 132 07/24/2024
9.9.8 134 08/29/2024
9.9.7 103 07/24/2024
9.9.6 129 07/24/2024
9.9.5 117 09/02/2024
9.9.4 121 07/23/2024
9.9.3 115 07/24/2024
9.9.2 122 07/24/2024
9.9.1 128 08/22/2024
9.9.0 136 07/24/2024
9.8.3 131 07/24/2024
9.8.2 111 07/16/2024
9.8.1 121 07/24/2024
9.8.0 116 07/24/2024
9.7.7 120 10/24/2024
9.7.6 132 08/24/2024
9.7.5 118 07/24/2024
9.7.3 114 08/24/2024
9.7.2 130 07/24/2024
9.7.1 124 07/24/2024
9.7.0 131 08/23/2024
9.6.5 125 07/24/2024
9.6.4 132 07/24/2024
9.6.3 122 07/24/2024
9.6.2 117 07/24/2024
9.6.1 117 07/24/2024
9.6.0 129 07/24/2024
9.5.4 119 07/24/2024
9.5.3 111 07/24/2024
9.5.2 122 07/24/2024
9.5.1 134 07/24/2024
9.5.0 139 07/24/2024
9.4.10 120 07/24/2024
9.4.9 118 07/24/2024
9.4.8 135 07/25/2024
9.4.7 113 07/24/2024
9.4.6 131 07/15/2024
9.4.5 117 07/24/2024
9.4.4 138 07/24/2024
9.4.3 129 07/19/2024
9.4.2 130 07/24/2024
9.4.1 127 07/24/2024
9.4.0 123 07/24/2024
9.3.2 114 07/24/2024
9.3.1 136 07/24/2024
9.3.0 130 07/24/2024
9.2.5 124 07/24/2024
9.2.4 122 07/24/2024
9.2.3 129 07/24/2024
9.2.2 127 07/24/2024
9.2.1 134 07/24/2024
9.2.0 121 07/24/2024
9.1.13 106 09/21/2024
9.1.12 127 07/23/2024
9.1.11 137 07/24/2024
9.1.10 114 07/24/2024
9.1.9 116 07/24/2024
9.1.8 130 07/24/2024
9.1.7 121 07/24/2024
9.1.6 120 07/24/2024
9.1.5 121 07/24/2024
9.1.4 114 07/24/2024
9.1.3 128 07/24/2024
9.1.2 130 07/23/2024
9.1.1 131 07/24/2024
9.1.0 126 07/24/2024
9.0.0 129 07/24/2024
8.34.6331.29178 117 07/24/2024
8.33.6323.36213 121 07/24/2024
8.32.6319.16936 130 07/24/2024
8.31.6318.20479 125 08/30/2024
8.30.6304.31883 113 07/24/2024
8.29.6304.29574 116 07/24/2024
8.28.6304.29303 123 08/30/2024
8.27.6302.16041 118 07/24/2024
8.26.6300.23786 117 07/24/2024
8.25.6298.25721 128 07/24/2024
8.24.6298.12169 127 07/24/2024
8.23.6298.10815 129 07/24/2024
8.22.6296.25100 127 07/24/2024
8.21.6296.23959 119 08/20/2024
8.20.6296.23138 138 08/29/2024
8.19.6295.40470 121 07/24/2024
8.18.6295.39644 124 07/24/2024
8.17.6295.16496 120 07/24/2024
8.16.6295.13527 123 07/24/2024
8.15.6294.28815 128 07/24/2024
8.14.6289.34345 131 07/24/2024
8.13.6288.31182 125 07/24/2024
8.12.6288.29353 122 07/24/2024
8.11.6284.26855 117 07/24/2024
8.10.6282.29572 117 07/24/2024
8.9.6275.22295 117 07/24/2024
8.8.6270.12833 123 07/24/2024
8.7.6267.38130 107 07/24/2024
8.6.6263.34621 132 07/24/2024
8.5.6255.20253 119 07/24/2024
8.4.6254.24648 118 07/24/2024
8.3.6252.27806 121 07/24/2024
8.2.6249.40688 123 07/24/2024
8.1.6249.15627 123 07/24/2024
8.0.6242.20238 138 07/24/2024
7.10.6235.25398 122 07/24/2024
7.9.6234.40167 120 07/24/2024
7.8.6234.39143 110 07/24/2024
7.7.6231.35489 123 07/24/2024
7.6.6221.22528 121 09/02/2024
7.5.6218.39574 117 08/30/2024
7.4.6218.34172 129 09/01/2024
7.3.6214.20986 134 07/24/2024
7.2.6206.27034 127 07/24/2024
7.1.6203.28289 127 07/25/2024
7.0.6201.32793 123 07/24/2024
6.8.6197.43075 112 07/24/2024
6.7.6197.28471 123 07/24/2024
6.6.6192.39835 121 09/02/2024
6.5.6190.16910 111 07/24/2024
6.4.6189.32875 123 07/24/2024
6.3.6185.19861 104 07/24/2024
6.2.6179.20107 127 07/24/2024
6.1.6179.17509 128 07/24/2024
6.0.6178.42031 135 07/24/2024
5.20.6175.31167 116 07/26/2024
5.19.6171.28316 123 07/24/2024
5.18.6170.22062 124 07/25/2024
5.17.6169.42629 124 07/24/2024
5.16.6156.29215 128 07/24/2024
5.15.6154.34583 116 07/25/2024
5.14.6153.20987 120 07/24/2024
5.13.6150.21322 126 07/24/2024
5.12.6149.949 116 07/24/2024
5.11.6148.42451 114 07/24/2024
5.10.6148.26188 119 07/24/2024
5.9.6144.17989 123 07/24/2024
5.8.6143.37541 133 07/24/2024
5.7.6142.39228 118 07/24/2024
5.6.6142.18206 120 07/24/2024
5.5.6138.25614 131 09/02/2024
5.5.6138.25231 122 09/01/2024
5.4.6138.25088 112 07/24/2024
5.4.6138.24413 99 07/24/2024
5.3.6137.40406 133 07/24/2024
5.2.6135.25892 148 07/25/2024
5.1.6130.30069 127 07/24/2024
5.0.6130.17623 114 07/24/2024
4.28.6128.27588 131 07/24/2024
4.27.6128.21479 128 07/24/2024
4.26.6123.28532 123 07/24/2024
4.25.6122.24179 130 07/24/2024
4.24.6122.15983 103 07/25/2024
4.23.6120.19206 127 07/24/2024
4.22.6120.18407 136 07/24/2024
4.21.6119.18328 132 07/24/2024
4.20.6119.18035 125 07/25/2024
4.19.6118.22551 132 07/24/2024
4.18.6117.31903 128 07/24/2024
4.17.6115.27875 126 07/24/2024
4.16.6115.26709 125 07/24/2024
4.15.6113.36675 117 07/24/2024
4.14.6108.28115 127 07/24/2024
4.13.6107.31015 126 07/25/2024
4.12.6103.41721 119 07/24/2024
4.11.6103.32935 122 07/24/2024
4.10.6103.22760 107 07/24/2024
4.9.6102.40549 123 07/25/2024
4.8.6094.34027 120 07/24/2024
4.7.6093.32380 117 08/31/2024
4.6.6093.13919 121 07/24/2024
4.5.6091.37159 121 07/24/2024
4.4.6091.25564 123 07/24/2024
4.3.6089.14049 123 07/24/2024
4.2.6085.38782 136 07/24/2024
4.1.6075.30950 108 07/24/2024
4.0.6074.30968 125 07/24/2024
3.4.6065.33501 107 07/24/2024
3.3.6061.16591 120 07/26/2024
3.2.6060.41150 123 07/24/2024
3.1.6058.33392 127 07/26/2024
3.0.6058.19297 129 07/24/2024
2.65.6055.39156 116 07/24/2024
2.64.6055.38772 130 07/24/2024
2.62.6049.40362 118 07/24/2024
2.61.6047.40644 126 07/24/2024
2.60.6043.38307 132 07/26/2024
2.59.6040.32732 114 07/24/2024
2.58.6038.30299 128 07/24/2024
2.57.6037.28393 146 07/24/2024
2.56.6036.39820 130 07/25/2024
2.55.6036.31332 121 07/24/2024
2.54.6032.25763 113 07/24/2024
2.53.6030.34284 119 07/24/2024
2.52.6030.13790 127 07/24/2024
2.51.6022.22786 135 07/24/2024
2.50.6019.27727 132 07/24/2024
2.49.6019.25463 118 09/20/2024
2.48.6012.40848 116 07/24/2024
2.47.6012.36609 117 09/03/2024
2.46.6012.18623 128 07/24/2024
2.45.6011.39984 130 07/26/2024
2.44.6011.37467 127 07/24/2024
2.43.6010.35600 124 07/24/2024
2.41.6006.20160 117 07/24/2024
2.40.6005.16496 115 07/24/2024
2.39.6004.37509 113 09/11/2024
2.38.6002.31137 117 07/24/2024
2.37.6002.13677 135 07/25/2024
2.36.6001.31066 124 07/24/2024
2.35.6000.32415 122 07/24/2024
2.34.6000.31959 126 07/24/2024
2.33.6000.30327 139 07/24/2024
2.32.6000.24907 115 09/15/2024
2.31.5998.34796 119 07/24/2024
2.30.5998.28512 128 07/24/2024
2.29.5997.39527 120 08/30/2024
2.28.5997.37671 123 07/24/2024
2.27.5995.31644 131 07/25/2024
2.26.5992.40823 111 07/24/2024
2.25.5989.40403 110 07/24/2024
2.24.5988.28092 119 07/26/2024
2.23.5984.32960 127 07/24/2024
2.22.5984.16716 121 07/24/2024
2.21.5981.35957 126 07/24/2024
2.20.5981.32981 127 07/24/2024
2.19.5978.21534 118 08/30/2024
2.18.5976.28450 119 07/24/2024
2.17.5976.27663 124 07/24/2024
2.16.5975.38441 114 07/24/2024
2.15.5970.28125 120 07/24/2024
2.14.5967.31319 121 08/29/2024
2.13.5966.35759 137 07/24/2024
2.12.5965.33914 111 07/24/2024
2.11.5963.474 135 07/24/2024
2.10.5958.25556 118 07/24/2024
2.9.5956.34078 135 07/24/2024
2.8.5956.13680 124 07/24/2024
2.7.5954.13235 125 07/24/2024
2.6.5946.13963 117 07/24/2024
2.5.5941.14558 125 07/24/2024
2.4.5940.38662 134 07/24/2024
2.3.5940.24969 116 07/24/2024
2.2.5940.22487 132 09/01/2024
2.1.5940.20329 120 07/24/2024
2.0.5928.2914 124 09/01/2024
1.39.5923.31343 116 07/24/2024
1.38.5920.30379 104 07/26/2024
1.37.5912.16399 120 07/24/2024
1.36.5908.3838 127 07/24/2024
1.35.5908.509 106 09/16/2024
1.34.5905.41329 131 07/24/2024
1.32.5904.40563 121 07/24/2024
1.31.5892.26482 132 07/24/2024
1.30.5878.31384 115 07/24/2024
1.29.5875.38535 117 07/24/2024
1.29.5875.38248 117 09/20/2024
1.29.5875.36302 135 07/24/2024
1.28.5872.19133 117 07/24/2024
1.27.5865.35296 124 09/03/2024
1.26.5864.35160 118 07/24/2024
1.25.5861.38102 122 07/26/2024
1.24.5858.29180 118 07/25/2024
1.23.5856.30577 105 07/24/2024
1.22.5836.1197 123 07/24/2024
1.21.5834.30412 126 07/24/2024
1.21.5831.34290 127 07/24/2024
1.21.5830.29524 125 07/24/2024
1.20.5829.20854 119 07/24/2024
1.20.5829.15818 119 07/24/2024
1.19.5828.20063 125 07/24/2024
1.19.5827.22433 127 07/24/2024
1.19.5824.3255 133 07/24/2024
1.18.5822.14857 114 07/24/2024
1.18.5821.36806 123 07/24/2024
1.17.5820.28487 136 07/24/2024
1.16.5820.27108 124 07/24/2024
1.15.5812.25745 121 07/24/2024
1.14.5811.24407 119 07/24/2024
1.13.5811.23634 136 07/24/2024
1.12.5801.29458 125 07/24/2024
1.11.5799.31777 129 07/24/2024
1.10.5779.31942 129 08/29/2024
1.9.5778.39697 101 07/24/2024
1.9.5778.38903 111 07/24/2024
1.9.5778.31077 110 07/24/2024
1.8.5777.37128 116 07/24/2024
1.8.5775.25809 122 08/31/2024
1.7.5770.30722 122 07/24/2024
1.6.5769.33301 112 07/24/2024
1.6.5765.33542 107 07/25/2024
1.6.5763.16697 115 08/31/2024
1.6.5760.32685 116 07/24/2024
1.6.5759.33134 113 09/20/2024
1.6.5758.30931 119 07/24/2024
1.6.5757.40238 111 07/24/2024
1.6.5751.15394 128 09/20/2024
1.5.5750.33915 127 07/24/2024
1.5.5750.33435 127 09/01/2024
1.4.5737.33581 128 07/24/2024
1.4.5732.34143 102 07/24/2024
1.4.5731.36729 103 07/24/2024
1.3.5731.34877 116 07/24/2024
1.2.5730.33570 130 09/01/2024
1.1.5729.33707 125 07/24/2024
1.0.5725.35303 125 07/24/2024
0.2.5707.34168 123 07/24/2024
0.2.5707.33649 119 07/24/2024
0.1.5585.25897 121 07/24/2024
0.1.5582.28800 125 09/20/2024
0.1.5524.6071 114 09/14/2024
0.1.5504.31964 108 07/24/2024
0.1.5494.16128 122 07/24/2024
0.1.5492.33014 101 08/26/2024
0.1.5479.38772 118 07/24/2024
0.1.5477.39622 132 07/24/2024
0.1.5477.36883 113 08/28/2024
0.1.5471.22558 112 07/24/2024
0.1.5470.42846 122 07/24/2024
0.1.5470.35375 110 07/24/2024
0.1.5470.35079 125 07/25/2024