From 2b75bb4ebf650d8dbeee78921fa4d8f50f0b34e0 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Sat, 26 Aug 2017 00:07:17 +0800 Subject: [PATCH 01/24] Update to .NET Standard 2.0 and using Visual Studio 2017. --- .../Newtonsoft.Json.8.0.1-beta1.nupkg | Bin 1338227 -> 0 bytes .../lib/net20/Newtonsoft.Json.dll | Bin 470016 -> 0 bytes .../lib/net20/Newtonsoft.Json.xml | 9598 ----------------- .../lib/net35/Newtonsoft.Json.dll | Bin 433152 -> 0 bytes .../lib/net35/Newtonsoft.Json.xml | 8741 --------------- .../lib/net40/Newtonsoft.Json.dll | Bin 474624 -> 0 bytes .../lib/net40/Newtonsoft.Json.xml | 9048 ---------------- .../lib/net45/Newtonsoft.Json.dll | Bin 485376 -> 0 bytes .../lib/net45/Newtonsoft.Json.xml | 9048 ---------------- .../Newtonsoft.Json.dll | Bin 404992 -> 0 bytes .../Newtonsoft.Json.xml | 8226 -------------- .../Newtonsoft.Json.dll | Bin 453120 -> 0 bytes .../Newtonsoft.Json.xml | 8573 --------------- .../tools/install.ps1 | 116 - packages/repositories.config | 4 - pili-sdk-csharp.sln | 17 +- pili-sdk-csharp.v11.suo | Bin 69632 -> 0 bytes pili-sdk-csharp/Properties/AssemblyInfo.cs | 36 - pili-sdk-csharp/bin/Debug/Newtonsoft.Json.dll | Bin 485376 -> 0 bytes pili-sdk-csharp/bin/Debug/Newtonsoft.Json.xml | 9048 ---------------- pili-sdk-csharp/bin/Debug/pili-sdk-csharp.dll | Bin 41472 -> 0 bytes pili-sdk-csharp/bin/Debug/pili-sdk-csharp.pdb | Bin 112128 -> 0 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6743 -> 0 bytes ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 ...ili-sdk-csharp.csproj.FileListAbsolute.txt | 13 - ...sharp.csprojResolveAssemblyReference.cache | Bin 11077 -> 0 bytes pili-sdk-csharp/obj/Debug/pili-sdk-csharp.dll | Bin 41472 -> 0 bytes pili-sdk-csharp/obj/Debug/pili-sdk-csharp.pdb | Bin 112128 -> 0 bytes pili-sdk-csharp/packages.config | 4 - pili-sdk-csharp/pili-sdk-csharp.csproj | 77 +- 32 files changed, 18 insertions(+), 62531 deletions(-) delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/Newtonsoft.Json.8.0.1-beta1.nupkg delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/net20/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/net20/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/net35/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/net35/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/net40/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/net40/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/net45/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/net45/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.8.0.1-beta1/tools/install.ps1 delete mode 100644 packages/repositories.config delete mode 100644 pili-sdk-csharp.v11.suo delete mode 100644 pili-sdk-csharp/Properties/AssemblyInfo.cs delete mode 100644 pili-sdk-csharp/bin/Debug/Newtonsoft.Json.dll delete mode 100644 pili-sdk-csharp/bin/Debug/Newtonsoft.Json.xml delete mode 100644 pili-sdk-csharp/bin/Debug/pili-sdk-csharp.dll delete mode 100644 pili-sdk-csharp/bin/Debug/pili-sdk-csharp.pdb delete mode 100644 pili-sdk-csharp/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache delete mode 100644 pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs delete mode 100644 pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs delete mode 100644 pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs delete mode 100644 pili-sdk-csharp/obj/Debug/pili-sdk-csharp.csproj.FileListAbsolute.txt delete mode 100644 pili-sdk-csharp/obj/Debug/pili-sdk-csharp.csprojResolveAssemblyReference.cache delete mode 100644 pili-sdk-csharp/obj/Debug/pili-sdk-csharp.dll delete mode 100644 pili-sdk-csharp/obj/Debug/pili-sdk-csharp.pdb delete mode 100644 pili-sdk-csharp/packages.config diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/Newtonsoft.Json.8.0.1-beta1.nupkg b/packages/Newtonsoft.Json.8.0.1-beta1/Newtonsoft.Json.8.0.1-beta1.nupkg deleted file mode 100644 index 5b7d606c6dd6b3cda1ca5ce75e30606f85a8dada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1338227 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≀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 CwB(=0GyLS8kY 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%0ATO+{|7bI(SdmIvm*u1J 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

G9LAA3yu@{Mna(`Qumrc;u!x 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�*rVJucvfSWi5M0vlCBCyc^w=B>9-ZS1wF!3NU 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

?f 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

kaKkv+90j+MXpH%V% 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

a>f5%63XeX{Aq7O*jtZq+ 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≈aIoka2<(0pHM8=U*oa%sn{o`Y{Ht*w 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

fwnLm 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 z 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 z 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

(kRfkZGCaf4^$bkwDCeI1N0@rH+rG80dx@O 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 z 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 K-~aC@@c#jze;+vj diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net20/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.8.0.1-beta1/lib/net20/Newtonsoft.Json.xml deleted file mode 100644 index 39bd3e6..0000000 --- a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net20/Newtonsoft.Json.xml +++ /dev/null @@ -1,9598 +0,0 @@ - - - - Newtonsoft.Json - - - -

- Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The reader. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The reader. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the to Closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The writer. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this stream and the underlying stream. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a paramatized constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Create a custom object - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed. - - true if integers are allowed; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Gets or sets a flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attibute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the to always serialize the member, and require the member has a value. - - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Specifies the settings used when loading JSON. - - - - - Gets or sets how JSON comments are handled when loading JSON. - - The JSON comment handling. - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a raw JSON string. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets the with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Represents a JSON array. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies to. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents an abstract JSON token. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An that contains the selected elements. - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Represents a JSON property. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a null value. - - A null value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Represents a trace writer that writes to the application's instances. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - Used by to resolves a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only - happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different - results. When set to false it is highly recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Used by to resolves a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets the object's properties. - - The object's properties. - - - - Gets the constructor parameters required for any non-default constructor - - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the override constructor used to create the object. - This is set when a constructor is marked up using the - JsonConstructor attribute. - - The override constructor. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the JsonConverter type described by the argument. - - The JsonConverter type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Create a factory function that can be used to create instances of a JsonConverter described by the - argument type. The returned function can then be used to either invoke the converter's default ctor, or any - parameterized constructors by way of an object array. - - - - - Represents a method that constructs an object. - - The object type to create. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Provides a set of static (Shared in Visual Basic) methods for - querying objects that implement . - - - - - Returns the input typed as . - - - - - Returns an empty that has the - specified type argument. - - - - - Converts the elements of an to the - specified type. - - - - - Filters the elements of an based on a specified type. - - - - - Generates a sequence of integral numbers within a specified range. - - The value of the first integer in the sequence. - The number of sequential integers to generate. - - - - Generates a sequence that contains one repeated value. - - - - - Filters a sequence of values based on a predicate. - - - - - Filters a sequence of values based on a predicate. - Each element's index is used in the logic of the predicate function. - - - - - Projects each element of a sequence into a new form. - - - - - Projects each element of a sequence into a new form by - incorporating the element's index. - - - - - Projects each element of a sequence to an - and flattens the resulting sequences into one sequence. - - - - - Projects each element of a sequence to an , - and flattens the resulting sequences into one sequence. The - index of each source element is used in the projected form of - that element. - - - - - Projects each element of a sequence to an , - flattens the resulting sequences into one sequence, and invokes - a result selector function on each element therein. - - - - - Projects each element of a sequence to an , - flattens the resulting sequences into one sequence, and invokes - a result selector function on each element therein. The index of - each source element is used in the intermediate projected form - of that element. - - - - - Returns elements from a sequence as long as a specified condition is true. - - - - - Returns elements from a sequence as long as a specified condition is true. - The element's index is used in the logic of the predicate function. - - - - - Base implementation of First operator. - - - - - Returns the first element of a sequence. - - - - - Returns the first element in a sequence that satisfies a specified condition. - - - - - Returns the first element of a sequence, or a default value if - the sequence contains no elements. - - - - - Returns the first element of the sequence that satisfies a - condition or a default value if no such element is found. - - - - - Base implementation of Last operator. - - - - - Returns the last element of a sequence. - - - - - Returns the last element of a sequence that satisfies a - specified condition. - - - - - Returns the last element of a sequence, or a default value if - the sequence contains no elements. - - - - - Returns the last element of a sequence that satisfies a - condition or a default value if no such element is found. - - - - - Base implementation of Single operator. - - - - - Returns the only element of a sequence, and throws an exception - if there is not exactly one element in the sequence. - - - - - Returns the only element of a sequence that satisfies a - specified condition, and throws an exception if more than one - such element exists. - - - - - Returns the only element of a sequence, or a default value if - the sequence is empty; this method throws an exception if there - is more than one element in the sequence. - - - - - Returns the only element of a sequence that satisfies a - specified condition or a default value if no such element - exists; this method throws an exception if more than one element - satisfies the condition. - - - - - Returns the element at a specified index in a sequence. - - - - - Returns the element at a specified index in a sequence or a - default value if the index is out of range. - - - - - Inverts the order of the elements in a sequence. - - - - - Returns a specified number of contiguous elements from the start - of a sequence. - - - - - Bypasses a specified number of elements in a sequence and then - returns the remaining elements. - - - - - Bypasses elements in a sequence as long as a specified condition - is true and then returns the remaining elements. - - - - - Bypasses elements in a sequence as long as a specified condition - is true and then returns the remaining elements. The element's - index is used in the logic of the predicate function. - - - - - Returns the number of elements in a sequence. - - - - - Returns a number that represents how many elements in the - specified sequence satisfy a condition. - - - - - Returns an that represents the total number - of elements in a sequence. - - - - - Returns an that represents how many elements - in a sequence satisfy a condition. - - - - - Concatenates two sequences. - - - - - Creates a from an . - - - - - Creates an array from an . - - - - - Returns distinct elements from a sequence by using the default - equality comparer to compare values. - - - - - Returns distinct elements from a sequence by using a specified - to compare values. - - - - - Creates a from an - according to a specified key - selector function. - - - - - Creates a from an - according to a specified key - selector function and a key comparer. - - - - - Creates a from an - according to specified key - and element selector functions. - - - - - Creates a from an - according to a specified key - selector function, a comparer and an element selector function. - - - - - Groups the elements of a sequence according to a specified key - selector function. - - - - - Groups the elements of a sequence according to a specified key - selector function and compares the keys by using a specified - comparer. - - - - - Groups the elements of a sequence according to a specified key - selector function and projects the elements for each group by - using a specified function. - - - - - Groups the elements of a sequence according to a specified key - selector function and creates a result value from each group and - its key. - - - - - Groups the elements of a sequence according to a key selector - function. The keys are compared by using a comparer and each - group's elements are projected by using a specified function. - - - - - Groups the elements of a sequence according to a specified key - selector function and creates a result value from each group and - its key. The elements of each group are projected by using a - specified function. - - - - - Groups the elements of a sequence according to a specified key - selector function and creates a result value from each group and - its key. The keys are compared by using a specified comparer. - - - - - Groups the elements of a sequence according to a specified key - selector function and creates a result value from each group and - its key. Key values are compared by using a specified comparer, - and the elements of each group are projected by using a - specified function. - - - - - Applies an accumulator function over a sequence. - - - - - Applies an accumulator function over a sequence. The specified - seed value is used as the initial accumulator value. - - - - - Applies an accumulator function over a sequence. The specified - seed value is used as the initial accumulator value, and the - specified function is used to select the result value. - - - - - Produces the set union of two sequences by using the default - equality comparer. - - - - - Produces the set union of two sequences by using a specified - . - - - - - Returns the elements of the specified sequence or the type - parameter's default value in a singleton collection if the - sequence is empty. - - - - - Returns the elements of the specified sequence or the specified - value in a singleton collection if the sequence is empty. - - - - - Determines whether all elements of a sequence satisfy a condition. - - - - - Determines whether a sequence contains any elements. - - - - - Determines whether any element of a sequence satisfies a - condition. - - - - - Determines whether a sequence contains a specified element by - using the default equality comparer. - - - - - Determines whether a sequence contains a specified element by - using a specified . - - - - - Determines whether two sequences are equal by comparing the - elements by using the default equality comparer for their type. - - - - - Determines whether two sequences are equal by comparing their - elements by using a specified . - - - - - Base implementation for Min/Max operator. - - - - - Base implementation for Min/Max operator for nullable types. - - - - - Returns the minimum value in a generic sequence. - - - - - Invokes a transform function on each element of a generic - sequence and returns the minimum resulting value. - - - - - Returns the maximum value in a generic sequence. - - - - - Invokes a transform function on each element of a generic - sequence and returns the maximum resulting value. - - - - - Makes an enumerator seen as enumerable once more. - - - The supplied enumerator must have been started. The first element - returned is the element the enumerator was on when passed in. - DO NOT use this method if the caller must be a generator. It is - mostly safe among aggregate operations. - - - - - Sorts the elements of a sequence in ascending order according to a key. - - - - - Sorts the elements of a sequence in ascending order by using a - specified comparer. - - - - - Sorts the elements of a sequence in descending order according to a key. - - - - - Sorts the elements of a sequence in descending order by using a - specified comparer. - - - - - Performs a subsequent ordering of the elements in a sequence in - ascending order according to a key. - - - - - Performs a subsequent ordering of the elements in a sequence in - ascending order by using a specified comparer. - - - - - Performs a subsequent ordering of the elements in a sequence in - descending order, according to a key. - - - - - Performs a subsequent ordering of the elements in a sequence in - descending order by using a specified comparer. - - - - - Base implementation for Intersect and Except operators. - - - - - Produces the set intersection of two sequences by using the - default equality comparer to compare values. - - - - - Produces the set intersection of two sequences by using the - specified to compare values. - - - - - Produces the set difference of two sequences by using the - default equality comparer to compare values. - - - - - Produces the set difference of two sequences by using the - specified to compare values. - - - - - Creates a from an - according to a specified key - selector function. - - - - - Creates a from an - according to a specified key - selector function and key comparer. - - - - - Creates a from an - according to specified key - selector and element selector functions. - - - - - Creates a from an - according to a specified key - selector function, a comparer, and an element selector function. - - - - - Correlates the elements of two sequences based on matching keys. - The default equality comparer is used to compare keys. - - - - - Correlates the elements of two sequences based on matching keys. - The default equality comparer is used to compare keys. A - specified is used to compare keys. - - - - - Correlates the elements of two sequences based on equality of - keys and groups the results. The default equality comparer is - used to compare keys. - - - - - Correlates the elements of two sequences based on equality of - keys and groups the results. The default equality comparer is - used to compare keys. A specified - is used to compare keys. - - - - - Computes the sum of a sequence of nullable values. - - - - - Computes the sum of a sequence of nullable - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of nullable values. - - - - - Computes the average of a sequence of nullable values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Computes the sum of a sequence of values. - - - - - Computes the sum of a sequence of - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of values. - - - - - Computes the average of a sequence of values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Returns the minimum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the minimum nullable value. - - - - - Returns the maximum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the maximum nullable value. - - - - - Computes the sum of a sequence of nullable values. - - - - - Computes the sum of a sequence of nullable - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of nullable values. - - - - - Computes the average of a sequence of nullable values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Computes the sum of a sequence of values. - - - - - Computes the sum of a sequence of - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of values. - - - - - Computes the average of a sequence of values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Returns the minimum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the minimum nullable value. - - - - - Returns the maximum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the maximum nullable value. - - - - - Computes the sum of a sequence of nullable values. - - - - - Computes the sum of a sequence of nullable - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of nullable values. - - - - - Computes the average of a sequence of nullable values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Computes the sum of a sequence of values. - - - - - Computes the sum of a sequence of - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of values. - - - - - Computes the average of a sequence of values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Returns the minimum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the minimum nullable value. - - - - - Returns the maximum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the maximum nullable value. - - - - - Computes the sum of a sequence of nullable values. - - - - - Computes the sum of a sequence of nullable - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of nullable values. - - - - - Computes the average of a sequence of nullable values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Computes the sum of a sequence of values. - - - - - Computes the sum of a sequence of - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of values. - - - - - Computes the average of a sequence of values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Returns the minimum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the minimum nullable value. - - - - - Returns the maximum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the maximum nullable value. - - - - - Computes the sum of a sequence of nullable values. - - - - - Computes the sum of a sequence of nullable - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of nullable values. - - - - - Computes the average of a sequence of nullable values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Computes the sum of a sequence of values. - - - - - Computes the sum of a sequence of - values that are obtained by invoking a transform function on - each element of the input sequence. - - - - - Computes the average of a sequence of values. - - - - - Computes the average of a sequence of values - that are obtained by invoking a transform function on each - element of the input sequence. - - - - - Returns the minimum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the minimum nullable value. - - - - - Returns the maximum value in a sequence of nullable - values. - - - - - Invokes a transform function on each element of a sequence and - returns the maximum nullable value. - - - - - Represents a collection of objects that have a common key. - - - - - Gets the key of the . - - - - - Defines an indexer, size property, and Boolean search method for - data structures that map keys to - sequences of values. - - - - - Represents a sorted sequence. - - - - - Performs a subsequent ordering on the elements of an - according to a key. - - - - - Represents a collection of keys each mapped to one or more values. - - - - - Gets the number of key/value collection pairs in the . - - - - - Gets the collection of values indexed by the specified key. - - - - - Determines whether a specified key is in the . - - - - - Applies a transform function to each key and its associated - values and returns the results. - - - - - Returns a generic enumerator that iterates through the . - - - - - See issue #11 - for why this method is needed and cannot be expressed as a - lambda at the call site. - - - - - See issue #11 - for why this method is needed and cannot be expressed as a - lambda at the call site. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}. - - The type of the elements of source. - A sequence in which to locate a value. - The object to locate in the sequence - An equality comparer to compare values. - The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and sets members to their default value when deserializing. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the converter. - - The of the converter. - - - - The parameter list to use when constructing the JsonConverter described by ConverterType. - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Initializes a new instance of the class. - - Type of the converter. - Parameter list to use when constructing the JsonConverter. Can be null. - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the Common Language Runtime (CLR) type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members must be marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - - Gets the of the JSON produced by the JsonConverter. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Represents a collection of . - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the reader is closed. - - - true to close the underlying stream or when - the reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Get or set how time zones are handling when reading JSON. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets The Common Language Runtime (CLR) type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a []. - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XmlNode - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisble by. - - A number that the value should be divisble by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - A flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - A flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Specifies the type of JSON token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the writer is closed. - - - true to close the underlying stream or when - the writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling when writing JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - A null value can be passed to the method for token's that don't have a value, e.g. . - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Sets the state of the JsonWriter, - - The JsonToken being written. - The value being written. - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - This attribute allows us to define extension methods without - requiring .NET Framework 3.5. For more information, see the section, - Extension Methods in .NET Framework 2.0 Apps, - of Basic Instincts: Extension Methods - column in MSDN Magazine, - issue Nov 2007. - - - - diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net35/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.8.0.1-beta1/lib/net35/Newtonsoft.Json.dll deleted file mode 100644 index 203de9321ddcb888d34f69a8a68104352f5dd5a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433152 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
e0r%LEfA22RPQlUHjLe)lz?fDpS zi4_975mN{Dpt4%G&Z`wCq}ZKL+v)88io!LaLc&O+YEbq7UmwUGKT+ncw5=jWIP}(s6t+$A&%6i3w+N9E3R!DDQi=wyC(z>^J*~Ir; zJ6=a~@Gr2hNCS#Gb_Z#xqWQ2yiWUBfW|jT(VVbvSKKzZ}M|3}-f8NtiM3eNB$tW26 z32o#hLHH=c^dW?gGt4HEeliWx0oRo?;0N}EbHMlBOHt;3^@C?=9os#FKmV&A*yDEf_LdxQC=yP?fC?ex)Xeg5IX@Q5+>LlV(9>U(jar>iz0DHOEj}R z#3F(F`3np$M-K?gn!^hR@0re0K1RfG&(wv^EV=50GD7dR-K-Y8K$PoD#YH@FpTx={ zl4a2@@(gPqc%O9aSkZlw)=pvig;bzu3@yrrx-;40z5t7)shAl8Z)g3!ME*w~)fwp3fkw z8~rPU=oXA%5XT35gs(D8{}JC`0tw6+mf5{~9czssW$VL^ z8Pu{}eEjdB{T|j2epb;F-rFoha?VB;=nsY)V;}KPm_cT3<{p0T+sBa(+??*)i-p(U z&9$T>d`b6N^2{@f5sesbO9Ms=IiZ$eIx8U?xz2WV8!RVo5E3*TNJXpKJ< zTx~}|uu`w~K?E}lH3igf30Qo9G~yS+(I7mzNQ zzA86Z{dAIaN_Xb9wln!P=cb!vkp8ubH1a&lwg>i%RF5}V zKLM7kN6xnw8M{?Hr*O4|FOwccyH{4Dda*?|OrzwLS6GJU3s|<@rM`w`Zp8es4?4gug(#{4!+@tfkBjv~o#R=S0u(CDqP6(plh_RHKB` zYa7E$@<}7-lWrIK{nno2!_^enwxn_-)pkj>O2XsIQ*yy$r12u(0W?^RY|fJGfae6O z?r0Hwl^rE4uTEb)vZ=gsH~%!Myy|~|bnj`>W1df=N~%_8uk0wP7QcCAN3e?9G$S`s z^@YDhsxQ5yF7}`=lR1@=8~jGXOiA|i#_^^)Z%k#>q6=EWh(qWAXpVgI9#1* z!4{u*obrvvkS6ybT`^BINRMuf8U?G4rOEk3wEZTdN*mF6Q#frS8Cz3mjFcfp8N;j-?e^(1^4;gV|LQu<7a^wU?nQ^U*Xt-&g1{i@vK>YF@{T}Q<8 zXUkZ(Kzw-8HaT%m%^GN%EMyg}td)rRZ>xN7rt<;dTr_c&dGyHT<(&i^fRUSR_ zS`@vmpcUz>O-P3{pa*trPMP{byC0YEa{6RAd=i&4^*a>s+K2zRz^xjZQkd#T6NeGG zOx)zbL?H&v9Yj>jpmQP_VbD#HENf8J(Ugo46ro%Xr4;tT`y0$JLV0_q6!r$Pl~pxD zwJAs`d<2L&MyTZOS`u%7pkxbEsHLJRsX~$N;?$JF(JBszT84{cEgUY!I_w!v$yzwJ zmdGV#i8sip$T&Q^mbl_lYU~n-$SKrPs9qLS zdI-_8Kuq{$N1{25L%L^YGu>j5j8NNAvOYLD{j%i#aSx(b)xSit(c+ZCeL#1_p4qTx zqS~bzTC{GupxvsK#Ts>co+W!nb%l{4RAF99A+8Xro5XcOevIpG<Jyyq8{U=wu}E8RBel+^DJgQCTI{xaywB-YktCD{3}nL-^3 zR16TcwC={Z8rE`~W!b)?SX6;Z1Y(VnrWK1y1bP9pxd;_Ao^f?7%!+|p&n4<$;S1J4 zr>7LdIN#a&O3<547}wdlX0r~%ml0)H|CG4kMMRm_9m&1Lz+zFUu!G}Jvca}uQI)KR zh)}YE`Ng8*tln0L#Cf8auD6Ak{UBLJa`#&OoII5J=5EG4ZH*DhEvt#vT3MoHTu0`x z(JFA*?vHo4e?ux(lnR_spydni-!K~AWhg zVB7`kMM1q@*JvXom3pALMq8XbXc>ca1?sZ(x@dV^v|P5{mfR1Ox_?8Qb;ZIv+K~Kv zCMB;}9}23qpXhVzBuW;c9&5yseQ8~kxQ$3xfOXBQf*MBR zv?sSfwXwf(twD{p&fbIjrndGEf?^Oy^rJ||?c0-E+-__CEU2%f>tx>%6g-Doa1aM> zbt2S*(6T~xwSxrx3zGX(nq5xN!RINNX}1Yt?g#ho$z5mluzLuyB!`~%LxRe_%lvxU zy#)=E9D3P(1$ErEC%2N-$L=pWPb{O(zV;xAo3wmS?p3RwJv@m1a`XJ2+|jC^JyIm+ zbfaW{J4+IRFHw869S%}^e$v08z zbyl{G^PAB|dsFx1rs4?ckAm1!kBr@u8)wZh=xc*cNL)*lnsH|Y{kBx2^FjHr%jc+j zftq1ok{qn}n8PaD3Z~8Wf5x~icC?^U`FnDktB>qn!7S%w=*0V?c0Y;hFC{x>4+zdf zx?UMfciw&?m~B)NZB)a)jQ666mZ6P^HVZm@bx-a_b=5vDS_Yyl2dppck|Ff#8f&QK zOS_by7A1&&va4dr8`o56qo3_+A-p>Mqt~9?KI*1j6G*9%kc_i#+O-7548J)e6>;&B zZvWbwGve%DfLNB@Q*O>^tA4Q?N!-I*Z_X%CzuBDxjTCg-?kZZkiL&2Z8q4Db74W4+%F0bTXolp_4=?P} zg7G5R-?<>@enA7A&jn3Iy07d3&ewvT7c|)UQR*;%!LnVk&R_>$)Pk1&f*yD9v3H=~ zpJUt*#|bBzC1|JS0lHeN76J(67;Z;}$qLyc?+V{-nZT&LRgVDgiz63DIH)$0z|k{4miH2gfx5 z{V*b_aJ;kB!THNTmoE}6cW_!cP_wg?T;cpJ=*`cV!zu>{=A&e%y0T=eo$z8T%g>9F z3iqiU27Mnx$z4t(k;L0ix#L~oe>iEhiLhy zGg44*k^I9MBM3)hK=O_=PS7ere>vj??GW_0^Ms&}1S!`|qCm1ZP%%iBhVe(M z60T{8M-KLACz77D6{mDU1P*0nSsF50z1bmDDG#8q&;D2Vg%0#(tqK~R>|sIqIL zluYMW)wLx+OPp)FNVdg{u|T<9dj$0sRL8Yf&?kcGy7q~d)blKLJ=gmZw@>nG;5sB| zj7TD#5EBswRN2jh->HiRL~z% zqYkdig35_qI=QY2(pKu?`ce>H#6a#Tu4{s{U#GdglN_EX#kdUD4-!`>=wa7y5;sp! zKiBV4hcZ%!fi8TM5-s*7?%xa4AXjklqEe4?MM#`S;>Nhj;M9=_H4<}@0+sD5FLC2T ziN?Ds2v|!l;sE4Iv{wCj3_r;8>B`trx+)-Z$IN|D@#;;M^Yf zgr75@!z6H8SDe(&Qj03*f_gxUa?eL>@Bz}u^Q4W}=C`Y-itQ|D=cuLW`Jlz8^$2xT zjrK>v9Ch?eQQBRHW(mHC=N346Nu?gT59LPoZIngs#!fp390Dte}tw8S^)&ca9 z$J0UGL--k}jG+TTzZJV3KQ#*B*N093y>HMK=s7byx4oqzlb-=yT6;cdHTPoBwf8Lt zZRcJO`tg06LBFWIt$m!@Fnbqh?Qwg-ITiH*=*aQMKFOF=TPU-Pm!10Nb3b+B96 z4vzYv<27h@O)H03`iTW!8Uso{K|7A6pUi=0(xaXLpFYF3s|5MYby$YFprut*VyzC1 z)q;LU!Wye18Kg@mkj}0^I_3&#H=!HL(tGbizkp|=N6_CEfqsiVMNc~l>PA1JRZoEK zMbDzY4Fo-de&ncMcGW@2cP*cfT8v(_9yD*^V$cn9H-jEW|FYC~%NnAD>?4-+5!UN3 zgxN5)Ns~qlf(b0Ua)Y^XhKW<9kTAjVB#8<3fN;sSdsJj_fBbah|l^TGATrNlzRm z{p}R#SMx{<_L7bsCH$vImrfv^U4iuSd!+H_NPk>IIwg~I^p;W`>ZuOrnssQPZf7>@ z;A>g!4+p!o78~-4a7fyECdMnDhm;#U8{z91seD$V|M>c>wX!|*H>*e*e1J6aJZa;# zq&u#Xp82>v^#8lB_OC+w=f!nF?EN+AhmQ!&teXzb!30+i^k|%_|mPpCtLfa=j z1ewN(m%#ZU{!xVcB#?$CaGV*DNZJcW0->iTkj_jbO%-~p<_Jhut;^hRtsf71`y?=|t+XJ4V~fu|EW=mH#p_$@G-?W&WX85csp8b0 z7>1+dTD%RdNxz~sXoonJwvIaAl9B&V)MeNqxb2ZJ%mE%G&1gqjR_Nh248JD)c|wm1 z{g=qcO8Az9OG&t{r0Ohmm~ggA>_VZ5!l{V)31&*7IYT%DMZQ4jQlY;HZ6&dvNqDk^ zcS@=|67DTJKLu^9ejNSyc$MM5F)yvBW()mN=>6r$IVR!bWf;CJ z;Y|}6{!PMTb~79jMfwHwWab^&tvY7rUGLBE16z2VZPK9t{-CdJ>06wRmfCZyM`*M< z-Y}$NJvDX(uUVggW2r_PiX(RGIBGlJFcRU)GNY?fI|ku?wX1^uUb{Bvqe=BT#>uri zPL)2(Tv($xHELXQ%-=4hKNA(Fj;zWCZB#!pI!?WP;y%#CX7trkpuW~Qc%@}WwgTzV znWSA>kpA`*X>AFI^p)x4Cjf?+v6B6C*j7G89pvDv6C2XCj3w4G5nB( zpBu~Y=utwqklq~M5;n|><6QTNsx3SEtTCWN8^mthP5Q}c(wNF^&_<(YbO2qlzB}mG zyZXTLD^3iJiBk)w^pCOBgC939+d#ee>Ik&^Rm`0-^L`eJjZp}P!B;c${yaMZY2PkQ zf9n)^r$d|yyZlXToO?R*g27snjcPMLG8OgP40@4q12|bHCl?NXJHVPBqP)i@NW7 zcPi*BLO*j)N4RHIj+s|#tO2cBV+%Yse8X(;DIce*&1qgXPCY8~*mjE-ffICQ8ECYO z_JN!YvtIze`+Ms^JIvYy4K3p7v9xoXdSm)lgfo`WpL;K(Kd(=w$J%wbBU}T$AWoIT zJxH874jQbkH{00}J2^1tWRI8+dV1GESh5%Vyq=2eb`(0R2=zAO743RLa~u#fF^S=C z<*K@(S}yJ;jyF63$!D9LMJ_kwUhj+AUm#o{xhLJnGMJg9r20dAV|HDR(qUuv#V1wcg-7+$z4gAw}nQ=7u^*O=6K{G+?J%)vp;rp)QA?Gkv3~dy8bEB5nWDWPJ0paSVz5|N|~zt$**34^oiyy z&)3`jfik4M`X}h?+ephv*!yZoCrdTy#JYScb!;l_zD9iDZK03Fvv#kFmG;yw4f#i8 z6k06u9g?TQlK*a#4Xc=n*6`UuTR>ZbcJSQ`JlB^c+}D>j&ya9E_`IV|bs&FUI?FZ) zxnP`>9IxHSdCpC_wobdRJj(OfeN{kpng5b9FP2uDSCtwz3q68%x0J43hZ^b7FuX=9 z(6_|H=hoJ)uGV{3~})m5Jr?LZ&H+#X*>U(p${ zdHZMq?|A7E&1y4EZU8h(9$GQz8y{gj~lrf(!Xo1WjPS6=* z9lUZnIZj<{(IzQQ{bS?ni1n0z3v}6IZ=;S(8>fbh;dq$(G3Q;KKOlYYDCtnodywq> z0cl>pL!jiB#+}hoKmYALlstNpG~rE-7*{r(K#fXmCVfM~`9i-Jx=-luLT3ua$AeLZ zbswDrWsQ8b9?;<;Y8rfiH1a%Y6l|#z-HzD1Bsd!nY{x zn8}>y{GRkPB(I#oT*$1v4e0O(G+%p-^r+C~dl(L%MEZ(w{(6exr4qic9>c-U{sBGt z@ua1a{ss-JNzIYfY5A(P!a7@uxo75Gyq|O+=8fnJ`zLqG%$qNq;;>$(%zHEQ=$WNW z?086K=D8oBXLe30**P<>Y-@6wfm-TIxeI#*_bi!t3*RB9?xqUJYqNxT{}rb~Kd9O{ zPR%@A6ZDoh9&}n-9njTH8$$Bh`evZ{wH_3HC&P(TAH1K6y!uG)UrLTETQT1tDeWH; zb_svtSms+gj`W6%DhHDFsNSt}ue{GM_5|IYPui(6X=|Y^gcge=r+bB-o$Fyw!lrxv>Rp*N2=Q6#voOBNtG|xeRtYK zaJ=2Tpl_Ud8uZgoIO5g5Li)_W!QjN!c?Pt0b&erVduBn;)1Jkk^d*jC)X=*QXP#B$ zjxw)WPjLRKwHh=riS%Ms(#Y!1bf*8TM_rE1ng}|26lw4Q(#Z3qpI;=MU4gV%WzyfC zBAt>+x^x0*tFxrBjY$VIA>A+hUpp}T)jZNQGe|!lP3jfR6)sFfnIBuc5hY3em^JGB z0V%HMipYXnL8qL2Ie^K;z21*BN_}`!(zkr>1wk*eOnB zue;PfPF>w_2zvTT%jSq3#>h4OMk4QsA9Ek?+*th@d8Tu;`pb0zbaoi&_a#YFgT4Yi z7xoXa4A->Jd|VdyDZgWtiQ@q2e&GZkVEDL%BhNG3tRiW#ex$Dmzwugzt(BxNlrQVQ z13L3@YjAd4CEYLK-~$XFmvH2HhF_6zm65a=3zHC+_Ztuuk=Bq}>HO zbgdB3lcA+M1*>X}c^~&{WF$BhgJQa1Cw)3s0Q9VQP~{KWlfyaK$GB2gSCg>PRb8bt z;fi;clhq*KG3E`#?ykQLG%&1F{V<)ejb~g14V!+$Pc^6W+H08CogaT6^pM7>W0=*% zsS;_((Tr3Zch~LGEAQzEq|-W)I+N@Ar-zabvZsSq3uCy8i<;k4OQ9|9QVif@WQ6)h?@h47(g~!K`fWn& z-m9BBvR+#y_wAtF!}fu`R`M9=>Il*vrAgaajJ+PZ52=dD?7AFUfoac!za{Ll*lKlR zGuFFf`kT2G+nYNdER`ZOX?^B_q6FKr_shg?u_$<(N)-1I3nx;!Y>vIOHsToh4Y%i{}<31*BK7e#_3~8Qlo@~r;@s6Z_yhqxi zp0{%?JpG)A>*;G)i@;kMSbt#dE09-qQ0Yz>J;K%?99D`~$%$$+!qY?d++_#0{<%&W zRq=3H6~>0G;a>dSccB4(#2xm-{Rk@sYMdWM08R3va*m^>`B7CTNX-$nKrPAqsB4H? zt>Z$=Mfb%!Z5s``FFFe7HG}?+>Wdxzy9_FhxMJ#kjij8#)pNe(^uBFr+gE}?4*)>9~sYc29v8C4RiYlW5ErCr!^6ya4 zBh&jTKPs_kR&%EaO`b}$OSBY*PTx++_Y7LTJqjq$o@LdCIu3P+!aD;4sxk{&J_39H zFPL_0CFS?7cjH_pWiOy&u&~siu0GbQf}yQ);M3 z47!=y0BD#&?^bA*Qd7+_=tPD4fdbpFmRh0XkVAu%T6eYIed=YCt~KiJR;LVl7SR#t?5I)1U*prT`r<=ZnA6CJkSlQde~|Xvy&9Km!c=@trj(^;DrjVS8T!T4>PFp<7extK9}o8M+}(2Zv>*-mfMZ^zg7=K+_FsHmG0f18S>5-3C1d^tM5D z1`kbbt-dg*{oqkRKO6MIuTS@`LDN$o zRJjIyHE1@_EQ7vGUy#~Ptu*MT^rb)>4XX7~U)5fHY*3qzqJS<5(qnQ5^$#5z35cYNtV!I=>#)SsfIVud0oC4RN0uv}MN5)Gl~x$&%%V zKDur%P^>|X1f5TkIJIxZ5yZ7l)@bKPCsR|@5J9{KoKHif)1(Fk_~{~GN}KSW}zACLxXOPbERdd z%Lc{6KQq+N27TMU6ylt^)OkpCI#?bk+Mv?0een(F)`Id?OAl5~)%b>{Mw4nn@&NWW z!V>Dxd$&?E)nIuqKVOwScPq7`;@Q2kMLHR1C z?XA?lD(`-sPF1Lv)=%9rsKL2rY5i642XtJA_nW0Xswx_EG_7^o0M$>>=hg$52@F(u z8ihTHnZQ7`&Y=F72@F&p2-3bgP@NIPw(XKOP=&VEIn17ynKno@HYlw_kQ$^i44O2e zd)Q#LsSPFPtMs=XN_$+rEht}&DTi6Sday0y@>N9inEE4Bh93<~8>v=3sN<@=H7sqk zdfT8_pe*HT$GAg^?Ke(UF^E1fPTgk^ePW!dV-US(oN8haJ!G7Ez#w|aIMvZ0ddN7H zA!xtdKASl-ZLiDn(7f(pPO_lex88jb#pXl$BBo|zNVo>0>bio(&bPpaPOI&OWRzCcOcG};b( zKB-a++F2L{w8Ef-hTgP^s$q96+4e@6mRtbH0blIoW zeuGY}8eMjha`n@3w^mI|^Qesm&FP07CF-O>{~S;Bi$TM2?>Sk;JfhPb$RKKMP)8hG zGg-|uXpo?*1}(w;=wwx=Khqsj7bV@}g05Md#ZFekGz#M^cCwmj5NENI)iObap`0sD zRxcXFx#DEC#URcVy=uEboGW_O+XiutlB>Qjh;x)&^|L{oqfAlJkFsQip`4>kQ8f(W zd?`u0fm=<*Qi+agOq|dfgz-QJz-&4C1_Xs=8(n=dDxKF9sc- z+uWI^$`8J#QE+sYMnux?@m`A8pQeTbamb!&Y@?hzYO9Wdd6LMACs zg=nXs1M2o6BKKfwIiS8>NYuojo(+gP2+CJmvR9-nQauD6Qak%Rs+Oon3@Sgt!q@V~ z8#En#^LaJXpqr;6fL`#Yi%?6|`-1XS+YyV?mZ_ioaY1SYUbEFT+SzAa+DcX0k8Z}S zQgME?DeVPS&yTjItyVq!XnWckHQSHYG<#9K>PPRStySOoQIuL2ko)1Z^#Qqml(s=x zLwsfF9`;f|+`?uX1JccHwn>%qOP);Itm^tv$?z@8HPol&K=jLMfFGStdquSz=8O9* zZL3=7N7wKv@vr^pM%t^Y_;4+`?{I{AO|>?tL_@rLta=K{SJ&rSYP%X`(8~|sjM=W< z_M=T{Z>X9hsHHHJv%DQDNl<=h=P?m#hia_jWFGmZy5EoR9)s%WN9CNiRHh$Qb#|$~ zf~F$fFKK(!C_!AwxRbV5dHg6e{XI2TrwirSdO$4^lpnfoRuFt|wTa_Mdr)mOakHle zse|e@6UR~?QoBqXOMU3BQXjsn)Q9gX^#^yA`a|`;Xkn=%(?3#Q3Sy}%rk_+d{HRv? zY2_M8n=!6_`Z)&i?@-X=h4-g_ssT{H!p`ZJ{iy%(QPH2Pc9QOpwH!0mFOLDE$`bM{h(!WrT>bTIKPcYq3gZ@4d1vJ*6&yV(1 zU#f`)-8mWslrQK|7)Q6S)C@rf!#KKqg?+;;cws2-h`v_K4B{Qp*J`anyd%1%wiv`a zqHF36gLv2Tje6T4-t~N=4jRO}x^LAngLqf>tvY8A@9Mr&R}JD_-FK?;D3;|=81F5v zt6B!}e&xDKHi&l`*HtHjc=vK$SePm zvEw!RDw}0FV^IHW=GXEG#$ld}x#A7=gP=mSVg{Zat7IOqg{yvqXD%e0`O&cSA5}X+ zQxP{d{bv<5k&;tY*KSejAF7EU%*6Xx>KE19pfp^oeo?Oqnx>W>wbZXF<|(GjS1WMH z_php+L5n6mmHw+5Dd=A$OrlbHKr#C_cKj&l3a#`Hf`o*x})`nQ_rM>p_(=Sn|% zE#0y<`_WtJwzbQT-cEO{5B%u8beHvsA00{$vab2j_NKwsuYPniJ;ZW(d?kCgX{c3M z&;pe6M0%LjPSAXH>75JdC9LIs$pcLztvCFVU#6F_&Kb$120x_7SkaTIbG}My&^@A@ zRaX$}ek;Aa^?)DUPOo64`O(g%6|I4ObSJ%%HA)c6;$&2|R{P_MWmL5``{N=r;;eW5 zapg0rTj%|8aTztNYyP*rjJ#=YMpBgy*1 zk6LCVTdpa-xCb-pT6O&>C8NIeh#x(a(a0L+NBuLJSkwGySVnVeo*#|NXl1=2Xug`9 zcTFr%YY-;Y*gbhcU;v_5rhMi=WrKYBSM#lj>W z{}!wK_utA$w+8#s`x%+mWIsBZ(cRkUN1tT$vhcz@{w-Dm-~T+Lk5$%>zRBoojW?)# z)1NZ>TX}x;TgIc-IzRe5<1y>FK?zO6G6!4d{U{>yaqBBTip?Bq)p%Oxx421M<_Igv zkKCCft)_ldFLSgt$e{I2T4av3M)^_O%yHI4KkAa1W9<~AR{@@|0%smiSb;N-C#=Ak z$CFmz%;PDm*i@E`SLW`S9xKX^9?A4t@qRQsGtX)*=up@UtVd3>CK|K=sK9!~Ag+`a zT00ElN@<~W(jcyQK4V=lh%27YSic&?mD1_fp9XQIbh;HhjU_u2#+BI_R!M`nGCRYH zF^G3(&stRs;@#P^Rttl;N<7ng&>*f7&$J#jh^x}Gtf2;RReF{+)gay}&bDS6#5={= z)=LI)Wqppd%^cu)@g%yXFAvV$spdD&a-YC#5>b@R+$1_Ki+-Lw<;LK zyU+Pn6N9*#{halHL0rv#&gyFrSI8GwgAC#d`2uT-K|6L$$XsYGGl=Wn3#}Io;=1=j z>kWgrp1jC<+aRtdFS0%`i0i_Otsf2Iy6|G_jzL@(USd@%)OFyx@Di)8L7W9WZ}l>W zv!Lg#!3J>_wA6amAkKo8TF)EAS0h&3HLBKIz=KF1*63 zWf0eeS6B@V;_PXq)!rb^o>p2t4dUEpl{Lg5&TUp%Sq5=t^@26gAkM5_u=W|m_2kvo zHG{aGyxRIj&{Xx@fxc>u<(kft>G|gx>uEuY(Z@WQYphv*ln?Z>LE{g3GGDY#_)$L4 z&w}Qwg0JDLU1Una^dexBlTr%Q9cG)GWsBcP3;n%iLtm7le7pqc3J|v6lPM zrp%YE&3?2!bF1~fAHAKq&H6~te&{aIgQP+152vk{ z4Pt*dZS63K{o#!DjzR1XXRJd8u|J%(J~oK`;jHzELG;~o)@KIMch6b+S;2mXs}7%7 zKbko9fKRO73}O%X#QNJHdii-Ppp|H8gtRAXVCfg zh?*P3wV8`nJA-PTBT6-hD>WCbhYb1-_i>l30S0lU=8`qsj~1t0wz3TxSPy%-tvo@6 zYUiZ$sh?T1{AhHytJYdS8kYWr^@<$obiw*laDC+?h?LB&9@`)9i(*S)Pv-_oGa{Q%)TJv%d3A2L9)=xG8*@Saw&TjAnNg z`JeUu;Uw{u^%^STxv+ogmXlnj%m+@WjEbEUzLuWP-cjZ4bj@|ucpqI$TrK!iUF%#c z@bh);a;nJh)pf|J5`SISc2`UOy{-eUmHDbGIs8{>$nz<1t-`n0bU90n3b$xcV<}c_H-E8=mx-8vl@Y<@<`f9t?hj}2q>ro~KbeX>Q`YC_P^EF?nX*2=hAIp9YBqCg!1L=#?U~&13|qIx ze0{16uDfgG;Q#UOsM0xKe5^F%zkyoeW4bxd&V1?IvnvL!1z$Orl#Y33 z-DkE_E4~v*!b{egcLwF*-$~l=epESJrMi9G+VFF9IlHyxuYzW|1iRVtMY>|#I`R%1 zNPTA7x7LLpM8*2ny6_$lBYkUKd4GtJzO}A=IK)WLi5(vgG19kY$Cte?@5YzCFYm^e zy)U=t%ifp&%8#I>u)eh(`~s+9el7e3x55EI6sP8ze1E7Wp zwvK)INFe--47WBvHMpbOV0x%KBCgYI2FLVR{~j%G;xD?YfzJsR#^2xt~ln%Hv>iBm?Pf~bak7jt%AqfZpQRVBQV1Y40pIXWj(L+dCgC6m)XuVMiA}7IbN66DJpb z7|46wN;g-2EGS~#7A!L;I(Ma;8$Sy)A$JSbe9*l02i)BG<)E$W@vqK&E=b&Uz|Di- z4zk&We}m@tgIva%I8Xi)>+WM>rI>&e+5({*9z+n$P=wkkZ(~}!PIM39w}X@iHQht` zTcFCRE!`vd4%=DEQ|mjqNAvwbt#);CkL81?(zvEWd$`B*mOE)mx?~A_8>#{>Aho}H z0^g}jERp|}36arniF_ZbG(<+fCGvwI_GPuRdlK&jF=>qnD+prV>muBf`ACRGtV_X4 zf>?BJgnJ4<5@Hi_Q?MpN?Bvb~?nC)$5WBQmBW3u-r_!*ue+OWB~*D$ zp8FUce-jV?WuQiDPGJ4QVss0RFCh)cKHx9^i zKmt}8U$CDDkJlJhSahCGx<6oa&Dc;w*X!0LPXLD^eJn&SgJyUwVmcM8)AiqDt1*pGIb%l1|IYH z&QJJ-E{#U4Km$s=CP1Z z21VZ9?z#|v9FDC~gHg>q7V+tzR-?ANF5+i^gj3Bt7W3Jl%BQxwF6Nhl$e7C|{8|th zbGd}y3hIT&;wv(SvxgxCRgFxhpu%3?s zo!pt{p35hd=G%D!YZQo_g*WgMLF6pFfu9Z%cRg_2$Y+6Uc0Ivb0wQPOP5heDeE2N9 ziQfVuXW`BK9uPSTZ{`n!yw`R2*uocrBG&cCx&)fH{(<9G{w8Sa`X^XLpy=H09^3e* zpb5GCvEG8n)nYsU1w^hE+j;&l+ebY%TJk%1738=P{}Req1(7SlPQDh1ToHEijX_0M zzc}vVTY+9(ZRfFz?+EfM^z_)xcLzll`eF3}9mQvxJv{yy6aV4SwfJnahxY<`AF|~4 z@`0cshw!hYd?Zym>O9tx-^V9{9L8F5`}mQd&G@*@9OKfzyMF?@EL<8gv7p(0P$PaF&Q7Dq`96e zx1Yx)-r*9{LdVk{mwAWFL|I&mK{q`9;8S(o^SHuqr(%6GSNWEIkd$UrBjmBiRo)iV zIpjH(J&5#GUgKRsq_6TCZ=y=0+vPexgb8oKw;tE|Y|y5upFM8y?^!-has7@ZT%q-0 z$(}d)in^+L-sbD*s^fWwA4G-wy1KXUyw9hC>Y7`4KH&2}tE}637V+pRDKm{TCwKMy zi+_2O>CXYZJ)iKOK`(=xJ^$vpTaePq+w&P;?Kac;!y%q8_{LOO+{>U?&sY3uh{g9E z?fII2_9scn+UHyT8x`AvZ~4FO&=_u!an;`P_3yGWJGq!WOZY!PH*C$G@A#)6kKWTg z-}B$@v6N%`m_0x677v&z7G`>WrOJhc_ zD#B)}H10`NE3c};H;9E7)bp|uBA=3!S={%kZM>=rr>P3L@PaO0HbRGIES6NQuU8Er zjf(AuTEbK+wjXK<^QdyTIUQWQY6&Mmg&j;@b%dv&i8Wlj>I>R)Qf3Y}3#*~f1~jjI zs8?gb2Xx9D@AW?+oGOcp9yQFXsW1`bGJ2R-Ghr#{1dcTqZc(viX(2qOV$0b=Krcvr zX3n!sm%eFFRdiuXHP;E?)LR*|8km zh5NMjEHt#k4zKRQQ!3V$x(g2f&}HGsvivHn0Fl~%6ZqFGMr!XNwA5wv`dx4bk=lC- zV|8`$>Q!#PI|%D&jBRTNx}2qVoTVanoRQt|lx_G=z&$)w?Dl!#2@pWY?xfcsVJ9uc zjDqo~M@QiRC=ri(bQDg23Km}QauUvgE-k!?bq%C0`pavua2I5?=p`20N^HM73r|X8 zOFwxz3$LisP=lqMx3lmOVqyDKZx`V^#FF+^$CBTWC1s_!3N@Lyil#>1u7WMd+SJ_J zU2p__bTl{i5`w76^IuzUZy{D!H*a5IZV4?DRooY<_zR0bFR$4N{=zEIu6Ux2O!)kg zh5UtMRP4GLB>btz`dbGHmhWhpxLq471`A!N(zq}mW5p2R8jIml@LVE7v95eY9rk|6vG8r1j8zyv}3z}C;) zslRukU;)bNG#IPwUP%&cXe@^-?Bwa4B(&8P=$$NV1kD^9?LAb;1LfMMcn=fKf~t;6 zsXkn|MwQ78TR6&lgy8&<)SiRCiZt0fRVbpuu}gEkM+>z-kys{Ikh0u+yfEeqOZgb5 zOc#z)WpXRJZS^(_9lo+ysPBI7slq*~EY4wJSj%a`Q;6BP9QB?q)c%*H{AzTp? z&^PBZ-m`?DZ!D&|T=$+U*#F1Wxb8#m9AOF-J8~A39^n<5PDtVw2xst@Nm#3U?!7?x ztn01!LZOO4Vuc2~8i|HQLO0NtX$Eew;0GGMXSiXpkOBHUd5mF+uz^XbdBILtCY%L@ z-ZA0XyI(-ccmBf-%Y>#Pt08qoC&O~Vk?NtL)r#KSav>h{-DV)xG*HJq&Un`ERUkfS zAh%Mu32Jyq!rxc_3~F-8gIg`MkVp*=6?1@zTPqA?GNk$kVue7g(}+-RosbSXHNt~i zFYJMowx)TP&!{rFxcX#R}Qh zTZCX1qi-K>5tdWsaJ5f<^WGwC22JcN`D_)6sIs^*y({``6S~N(Os-E2pB=&&Q19L~ ze0B1yt?Tj+;KzAWzk_U1l&1y5ZKee#4rUA8{^g;c6c?#K3SJ_m&< z5Ifbohflt+0yKDPU!OyQsIfAq_jdI;CTyn4uwctM>X@s~IpG$l`N@>( ze+WG)uzcas!9G`nY+Xq{H-#k?S*(Z46rX!SS|wJ>yqj};3yv>svuA0>y2x_pK;Sz`w(h*xldy`BoB9ZKmhHx%gHQ$53T*=YI3` zwGtOI(IeGb+(l(Z)5+Vo;z5v$PYZ*!c!CMHvp;KEi+9W9t0DHQ%W62VCET}$7z*kf z8}D07Tmj-@hxyhK&(vor>%^LU8;jR;&Gc<5_Gmz2_*o7A-qBL*2l^lWy`!b*!bGpP zt;A4W64y#hW#Y2ixhbv1J-V_`8?gjL+F&~oH6%5pabNJ~b=rx)Qn71)d(n}~jGv%u z+q4(`K(=#2l@4Mk6}zr<5R<5KxJCDKd^?C4pn$Hcd^?Iox_0|^7QcX;2B&y;727sq z>mIY}gs+{rA5^R0lCQmZO4mK#U&SKOUEg=c-^D?VS-z$PCB6>gl2Qd}roQ5P(C|HV zP5njZCXh0yxoMD?OO?q@-_zYRSbPt9c4L6aMa=jgNtwxg^7S;iiv?6U+@~9XCQlJH zWu+`hh&B0$S~I2!*ESU#bOtHcl1%>M1YKrRptv1Wv}3U;Sj3g-{ifvW zQ0%_d+OCBmOji}Vm8PFUcAHEQ;(I7%;tsh+q`0{`Tb30WyG+sIT~LFV&dzb7MGF?o z9h`597u`Ww*WD}=#aK}IZ*G=JVg_i^!2(mVc$zAUGhXQIJWMR1VtabHh$pncONzHk z$_3MK(E;>k;x*FMy1V;tE~7Uz+#`6x}VwJ6+`P94BO17W7N;&Jde}*7y5RWs=wpB5K28(Kt3!tgoxO-)wOxRVLRkrMll-aW}-O4g64Lp4j6T zmT%#P#(p{Cc~HgxTfc>(Lt7SW`M}<9kr=P*f@!fh1vK8bm){bxZ9A4S(|4fXGI0$k z*4N!{rO35sv01);eyhbq(ED{^e(S_Fwj`Fx6;B`Tmn&B8z*6RUP4L?&*48!IZn0AU>CsyW`YpebCh~88=T=#)n{Pv2sL3`Ki_sbKx z&Mf8JHD~+|h@n(D+>_ipeuqTVg_XG^=!M@A(S|CMtG)h{-!ajmD~oj=rT7D%z%azY#4#7y71nzZGpjM<%9tmx%R2cW|43CpH7Q-cI*_FSZ4(9hu_&LF@t= zdmzR8qu2w~s8)*iC$S$W_*jbfXAut>rpq!LKLdRcy+Q8%Q@p>5L7)S_&hYpGL{X=C&#sy!oK7wo(Z~@h%AD~Men|WACat~4_ zeru!Sc2_IO5;Qbi4yZ2KfaZo*!D;|H6;e0AT51j|3Tckjfr|Vd_hq1sG>?jHr5e&w zNJ+L*4QU+{y%VS@9c3x$R;np^{Z5yK`?9uUKpiQFie2C9NS9d*=fh)8q~}z{2C@a~ zN?&w6@UJJKp0pI4@|I%*DT;}EkAMGbC=I7#ZyPt1=7Y!^Bn_oJ5P5^7p>!KW-XLix zeFc#>NE%ADdXX9mIr0WcL&+XQ-XLix`7wc?YMFw4aH-N83m`O~u{;ZzR2BqVIq=k}Ms_az0eZJK&9^ z4pihxW2#3Z={Xa32XB|g(kCkNhT$JhjU}7jZ2ia>tR_-dUD;j#C;95S<=Rvlt;+xnEvJ^!4_zy}wvy`iVfB&mXRW1QL1b)NYsn9k=d;zRwKP`O z1E)69GF=k)i*!WSTkEz`k*+|lon+`+x<<3RwwD^}I^|?5_0na@b&x`J6+3m5Ch1z^ z)Ja;WYlBl~>6ETlPF~2p(5?2dq7XAger~eCQ%RmJ%MUQ(@6RbCR{Ej6YxqYJpF)JJLsD#ksfK2k>}yp_HT^p(hLV(e-D%RrOl zL6we3ub-df4X9GT`L0uq%~B<25VCW7bw{bVoP1oG>r?EW>A@t|A{0n zM9QX0LkTAWv6e!t*_GUYA<|lib-l6`Yb%T4<=hhxDiyF8=dkrqK)7V#$ZBxz*vLCV zY6Y_DbUGkP8VY*Tp}BXAlmQB^kyAUq+*K`6T0vv1UpP_PKvlpc_AF5or5$?gVnC8~ zjH;09-`P$`k^Te~?{MZ)q!OxPL-CGV0YjxKPNmz^zzvg{P?3K92LZ#RRxE~o;NRbe zNw%ODTb|%pH;}UR1(pM7>^?jrgER=VdY=`R2k2~jJO_j14|?7n&$=LmgZjFgxKt?~ z6ya`#HG&CmPdv|pv{087RxVXKx5>36V3c%}s?gBl$Y-pe!DNjJ3}^Nk0!K?dT!_-R z7BeaZj*&8`3Jm>^Ru3F2ZFgm{evb75$4M4$M46oL#%6)zrS0x4=C-PRV44)_!4$Hx zec(hXo2tOjV1Kv3bg8x{i4_=*We*CRB%SqQ`mx|w*U8cqsx&TpnRnn6sR(3;?gfK!9LdI?>D%Gsf%Byfpnr~>3tS*MgQg$87PwH_4RSnkFL04`8T8=r z=YYl1=>Sp+9z}}p`IbmeK@0Ky;8Mvxkj2E96z^ryW~xkXS7LGCa;beVi!J-@-@rA} zP^tohww@1KEBS@6C7U;^O3->K12p}$;X~r_eo=zxSqEhgZ4>{BT1}~ zt2b!s|MH|RRO}c#AbC--dn^stsRO#pqj-8ckAodN%&Poj+wtB9KJ0~@V*ulA0SnVM;G0?=F zm+T-mFVG6B7sOiQE5ZdSipq?#sggjs`1)``N(1#-YT_SA9TBv{-#(e@|)s_psNrgzbTFjx~_|iV!K@~ z-=BKS+HQK#U0qe|<^?^_Me;o^m+y%lv$kvQ{kN_vc58#4>mvDHm&^A?k6GL83@Xu8 z#qLI z68vQIMe+n~#!oh1q(D&3`Ct9NN)e!D^SOYpQX*A4`V+_gl~O@(aO__x4N{)jb}#6g zv;@>{JJCMS0vfvl`cCx<6uJE=PKgrOQV*z8qs}*}CCI$lSB95uXm!L;WrUzLV9a2cjEbc^Nh2Tm?f6#-(>cN)A;Z$byZBf18%EoaZ ztHsT+CWFo`t`}UzI2-f?$Ep|?fc|pYsZ=$tph`oZoxTjLYTN*^vG_@t1l2ZP2i?P4qK@$%=r!IFb&SQJOS5eq>l*(7 z-JWfa^$FDeH%q>r@dv2)Z}@EwBO1Zh-C@@6!S#)nAkSHSv1)*h&2$QGU~B-oIny1h z1t@;-PNku-J!t&kF9RDI2ZG3P+sNn!BFAkbqaP>;_i{8ghJuFTUXI4bI8b#wp09~< z7^op0&)38_4&-8I;{Ineg97ZVux5kabu)2Ijq^dAy%p99&;(Bt*UXp;n(t|awFA_~ zl*BbRo&f!33dFifmCi-uSPP?ND%(nAPNx>eP9QR;QwyU5h@8P%8V7;M8LXwz17s6s z3T|ce2ek=Mz$L-$j5|R+1J`051bO0Ed*caEERMA|o(JXDToP<+ zyaqa0b1l|A(8Zd6d37*80X?kw66+r-))&;#_z_~HcdMiEJBajdbu`K&+14e!Tb+!R zK%{r8lhFo5daybh>w`!SR%c^#5b62qVr&N@Jzrgnc2w#3$$P3tS7X_}JUe3mOG%GZ zJL6a?@+QHy;BLk#EXFAh_6FM=mN24!Q8j4s~f;9wU^8S~>PR1C}{XC)>p#N5W!O8|%t@?qr8?*q&1{?E1 zyI20ex(g!bNN3|?5IILW8{boGt0(z$KNk~nu`5EXf^wSI`Z(ad6~>DHzp9>zUX zX`J7cc37`jN^Zav{1rf>#W+%C2Io-AKE%iPmWte$*AEFaeq+M#T`zJ8GOnILQl@c7 zx_k}@G3HZ|H?0SR3^C@Vu~^$B9wFhzYoGz6OjxlKS!~9!h>%EQ?R2L3$%!FR#@QJ} znOx&xlS2}X1yt#rY@QpEVyr!hrF2-hFl4B43CQDkVo0j7@l+OjI%-qMc%#E~rdjJw zhfFa#&tyvb^+`yk@$M{$9sM4%z}Ry((|7Azj*E@npgxx?3|V6AkjY}ke)Wc|GJ1m! z_50tD)y6J!SuDY?^N?Jla~4yjodbt#H9pQ}deb3#NS?9mNZ5nMG4og~$}eTeA)`eO z(}c^Tha54sn$L9S?$ja2jnx(~9gCYkir>q8Fy2qaozI%8B%Pt z$z>@U+Vi0=jORgjHd}_iHon}*Voe>}hQ2q>*+gXK9-ZhG`pGzEGmC{BcMAQ_7_^Nk zG0;Dhmv4bi_lyjc}@eotPEx}=f z<;25Ghc8|V^_1U$-rP?O^OOCKu$bvVdRU-bw$%lf(af+RWi&4=Ouh^GD%dX%i;(Xg zWu*jM-W3)n_dCvX_Qsj86ggklgRqhEW!xi6j(&8jBy7CAqJU|ry)k@}{N^On_504; zbh$?%)2n{9!)M6erCxOT;E9>Me5Se9V zy}SZMW?5M;Zv~OrL~`YWATpOpu6!Cq<}%5ZZ-B_?{SERX5E;F{L4FG&bEj;Szk|r! zDH~;r^K6aC+$o#n8Xz)v$|kufh|G_&S?&NL^P_B*dxFSZEnDQlATn3W7TF&}=6KmE zM}x>5FI(kQ5Sce-n>-0b=8f4VXMxDPD%<51ATqDYc6lp^%qg=&J_sUn%IuKOfXG}e zJLMZ7GFQt^`7wyheX~n`3nFvh?2>?-z>+7ML1d1J{c;wF%rUWF zUI`+zvmB7Og2?PF2jqMZnZ@Fud;g)t-9DZ5uN0rHSUA8X#iaZZuyXS|s zyecn+*z&&k>pb#i&}@$nRj$j;{vf4fa(P~R!*9q7bR7x5DR;TTY9M1WZpn#ExM$s5 z|F--Yw6->p`&F6}{qNomuiJ7Y73+b#E$6TpuA!vGZFzN>*q`!2DzaTx2K*`CqGG>r z+>u*dBV`sFNI%~_*||Ojj4!`0lmAQmx=Ka*y7C(rL5%cuoeqDf3)x)@e=KLvGD&@w z+!J{gRVKH;!=3PAne|^6a`jEl+~0BzjTPb%?9;fXGMi7JkZXjW+@8ssAx8QmpX>Qf z_&9Sf<-b@A&Bgr;uS#QxjCy<}{{u1dMEgqqN>zaFbg~m($^3P)w)hU>)?eYTWE-js zF5%Ym@YixERRPEE#$Tn8$5WZP;d}7AJ8~}Mi%l&FFOjc<#@;n>@8s8@fYdMH@8oY( z1>DqBF5hf=Zj@mSl=NMr?$8-g9JUUNB z-av4V5KxEPWXVqO(?)rEhzS3S{|YON7!ksY$ezZ?uTcIG66y`=-#H>eE>|Byt~8dz zIUk6RKxit+Ehs)hK}SJPa7;y?K%qFMp*DY#+H<(4xf3ERP#DN|%iM?xC`H%Wh)QUT zu6+@fXp*io5mnGE&?vt@BdVetU4KVZL-|x$ob8r(5mx9b#72&ekFZ8Xy2MBuWPOJ$ zOBQ}VK#Z(`n(3+*SrgUA?Takug>GvjYN2MjYDd;a{izC&!|tPQb&xyN3BE~c>&QB2 z3KbiRS`W!F2Ih4@X0j*<1z5*DK^q(0iFs~e78($zDv0lKX#t!X3lOqV6s z1Xo1#Hfh4{_O{*g`5b|&1e-6NZ$mmrjCifnkwQ%&76z@saINO;CHR_R!7> zDv)hvi)?9(^r;#+TV$`x9BGSIFmZKptL=bJQk@WbOgQS+0iCBRF!Z`QGqMAE2@-2& zM|MQ5ib(B+=-ynWlxXJ=qRY<647%eZsh1yk)6>eknNT& zSmHyvM%-m2LW78^Q>Al%9XN*78f1Omnd^c)Ks836kL-%3gIrT1BD$d!R40U~ zsW&3+k@H`4%L@+p-H6|i#UrM^_*~Zm{Q?@9`XKUm)B{A$Qaw@I$1Ei|V>+PCpc<*g zkq+nvh@3I|pr@dB<|wW&%6>xfWpUGMzKQIQPEef?HjXNe9EiSBk@ragIY(5fn54va z2}yn)PN*@JncH+%&?ZjE5V>9rE}*}D@OUE$iLZ=-Ny1mE1ofZ!)-SJ zy{E!s>wo{v5P-gcI_LH^1fu%SNy>+Y{J@BaAk-XGbdie)Mjb$R^6~c{PcTqN>=*wfu5;gKi=G;6X=R1_+GN9FUMCN2iW zLaeoaNq7tzMwP}b^l^`jMe`s=-mHn!Ybcs#;NsC{h>`bf;?Y46dCw*RoduCMYZCSP z$eT6Ex(4FwbTYaFDam^_$@;pJ_j6M8btiA#3`H+kN`<_2GfZD2^0vST^e>GS)At`n z>NSve2Sy_Ff^KX2?!ZXI?k*l0+FZ*pj6|(i%<%O}5;qF5xvC#3f1EUxk@;#_o$@Ez z0QvS^nr`^1Rqf^(#^|*V!~Ndl^!mbaeOQohD!#iMucr)2TWT1O*u2>fm1#w*u}YWa z!x&SUltsa1bugA_J1sMdJA1A{)Oa-K6#gr8aQWkh89x9@9{$E@{wo6sIeYn}McKo#4qe zXC~SSBImPN=sbv=Q8H2N8&V&;HfACBw?ygOfSUGE^UzpOM6i8S4w_EI?n>sveqdM1 z`6!FV%=n(6SJZs80<@>d5$hDF<(5^E3(#k(LVAr`fb2_1eT9fz;})U}s$#t5QN&`j z9fVT<3SWX=P?0O1d(<-YUYCE=ay0rKDTT~!5EZo&W#~$bT7`;0SC8KbUxVK08Wpt` zb$L%~r&r(gXcUzh-)*Ca4JbobM$|@xK9H1V+$TOOYBQ=qMc#h;D|{PjM)lB;bt|sg z4%CTB@y7R`JCOsVBzL$wQ6z}msqR8-M(>A8$)*Mod(bQ>rL)bVs6A){$ZDE_+lzLC zLU*r^+KV28EGF-c+NU2Y@%WszAFcREmh+)uli&KN{V1R61W)c64xj=m(&kS@9Y9y9 z@N9iGEx7~eHE2SxC3g^MpI9mTbN@BuqiVVgd_GD9o!O}Jhf0r4L+>7zW%QbA1f;ZC zSglO#?D?8yB;jNFXDLpr>*Lrs$T#?4Q~q!nwdIfK^+|I(VNIeb*)et$&7@*2@+g`^ z#g3e#Xtl1ZQAg1}UDBXq=%}th?l`(j#g3d4=o^UKtrZ~gGubYr4gMKbfGl-AiaLpA zfEv2Ijyi=F==vCS8odWyJ3Kt|IX(DU%(=*WoH!Y-k!35pff)qQ!<^FL4pK;7U?#=!UN(f1)ll zA88Ynqwm0VleB9;k2`QxD>jffobJMPv)C|vPf7S)xXKh8KI7}=J!pf)3VFhO0M||O zE?Y_XgK}-K2)WVv%&6sPPmdyGV!~%PKdfO?bgAs-n5{RmB=HL&k3JwmUj*of;#=o?iU7qqA({1FQKmu$~8 zE~TA`dyG;+!$#GLevBT20;evHe1d9!V=2eBTO3)8fd-ACyRyj^A-_7ySm6{c21Jx)1rtsOop< zHHeJ3eup>%tB;Hceut`q$Y|yFs1=CJ`1t|-s!QTNB6nSDoIaswU2m;FqY1h;IDJ7m zy0$ufMVoc4?D{V{uFH!1hHmRR<@6uEOtU4+^EvPI9U;C{ZpshTL05KHP8pzUc2|QE zr0WkSUKy^dqADnhb=`6jm7Tf@s!K|Nu3{&na!1z#Cs`@c^~wn;qCl1<2VKeP7Og0? zsm!SM>EE#$Q>CM(cuy-zTZk23@bpj>oC*J(kjc63r^p>dsR}EQ=VA>~7FHn7ahl@8 z>f>hZc!Oh!P-cfeJUuEXsZd|{Km4%LAhznDr$LJmm6Zlm>6{~e{;RBXf!GurtD^J+ zjiU0VD#YhjcN`lEBIn(z${Z%cD8B&#R!V6~@|;>-7kN&tuH->V@|;>-IYMQ|Ppy5U z^^^wk)LLD+0kL=f2Ch0DEymWNhpitjh3*FY8$0O}uvTgsNsNszsG+o?BJYyAM%Pd# zP-Wt062ItL%4X0<$FS(y$}7;uQL)i=l-e>WB?rwpnHpVRiPbeex`D!>(%6*fhRRS~ z+0l)Z0$q!v8!JIdY03@JO_bVdsrE(xPno0ZWOP$S)JkK2L^o4Xb=`|@uAJ8OIJ$*m zV^Ny&MRZFgQddcIDyl%BQO@hC8q-$kQL!{-y_j~&Ze1;7 z+AGZ}mBu>9*eXkO^@{1BSX!3G2E}w#GIV*zbW%R+3XSQk^s8K&GA^czlCNuIOjo6C zmD1Rx7&~Qxt{E}il*_upqU{yus--EjV!A6UbS;YcRe7UpWz28NjB2GRH^lT%Y^+MP zGv;^YvaX{sJ(V8SOJiqZdMVd*-HdTiT&!6v<781xZ^cK~-!XlZU|nxw`YO@7KE?D? zM(7e^`zsT4sj&l;nYyaS4pbKDY8X36S*5FatfR6`SLawKC0|$X*ulyfU2d_?W$Fuz zbt$uC;jyk|VsWu<$_+i=&{%ink**1`9?A<{Q)4}q&${NtdMT1k>6Ta->#bDKwK3L5 zsi|vktgq5k*YQ}B(m~h7SU=@=U4O>1q=fp)96iPqdNB8c@#i%F&Vfd7eBK zL@GyEOj$oXgpX8CQ<=F3_=~Ag$}OraE<43OE=p-zgKjhK>TyF4hsw;k zpXd`8uLS9;&&MkcwMjk_8x)tI`04V9OH|fS<#0Pv1LKmF?Ybi4Qk3U)SbYs$p2iMS z-s>6~H(YV9%VOa$W(#`TGtq@?Pq&rec{K=t-+i8L#3bZv+;E2sg>S7Yz)xXDU} zt}g>8E0zsOjP*fGQ9>FKvFD>HN;DPg_nx98gIs((J*FrVKqenQtV2xruF^hgs&bF& z1W)=nrzvkhq>ppDGPp6R;RH{5LucwDJ*Bgh1c;GdhuO+j5b5!ptK@@7zhai2kMxwz zQ$9nC+XalCResgIPhvg>-Kny#%*xk@8l71a%jt*%>68pm!G`Yise zQVe?MJ&!-9`~$M_S;C)JK7v|RSJT$bcxP!l>R0J6+=JA)6 z>ZP&DNBBRKx}~woh5Qxee;}*w7x=5nFQ8-g*Z6Bn7tqzDJN$K}2Pn7qWB!KH4P}Er$H^-**X>}mqE7e?6Gcx#!j_$e5gDGnWx%g zJ*Q&J`Imy)lkJJWl2O+!{&Bh5|5mEg7(1K(t<(jPUlIRSno_Y+o|en^T2l(|6cLy#$vW(7RG;2 zHg{)Qi{AnNpjiCIFj_?^XE>(0e$)062x{3g~X zWdKz=ci(kw{Ab0F3eUUcx-0&x{zODt&wolDjb(H5uAPbh0Z)qT>o2?--HViIMrUw+ zyqXNUvEmvQ4&c8+iH|P{7gY9y$?}QnXh?Z@&z*QtO$S}vQ;ao(iMCcrT|rgIky0ep z&wEUuc0tD0D*6g#!_DoVcP+6~HN?W~(Ru}sSHF?;oBnfmP2JY9f~?6{HDGE z^}f_P;dd3e{9N0f>UOG3?*4K6gg)w@5F=Z#Z@D$Ie`i(?i__B1`5|t`uLj zpiDkr_2<~vK?(lqdm6(tLYqAk0@WEFWLfaIAahVcuqt`7zPs$HnkIQQ69E|KbG z(0?c55~9@2UO(3;rd;i@>OmSaqp|oqTe0d1&}{sjtyuLuXbbM^ic_zF3N~9|-D9Fh zYP|ZAimiLR>hAq>$&yq*pP#i4Q-^}cRvNCZ0FiYVskZX{nR0BotLdOpvL$&w~eYNXhR=Mev>)` zl-I|S+oUE@kuq;5Y*y1CM$YV8)LEc~sYHuG8P$n$K}QRS_D~ffZ~T7T7B!!Wlv$Lp zMLh>8Pj*h?wyIY_LH)XQ+Nu_@dmse^kS@}Cj+D{fgrmAh>p5OV*$D-usz6%L zDP3g0{}kEpKSlQYPm%q8TF*!J`%jTQeMXOwJ^fQ;PyZCz)4C+mT7QbP*0Xvkq_v*Y zMfUVhkv;uWWKaJT*|$GM_U%uRefv{n-|CXczCEwkNA~RnU8L1rPzTffo{qMR-PY-X z>P3}?4vqbU6+}f^>!(f^)kLa7M3(xJI+UtdA=~eM7H%MbqR=U>&xl} z5ZTt3)qPZ?1~u^y^%TU&mcOE21CcF%MSTb&TmFjr4~T5}E9H){E9$>AmWKX0RXOpB ziiVIjPinBnszz0a$kx58`ctuUC%!3D%0MhTNJ;kJTQvzp*5R$1O-0U%u8D8ezTvb!x|K@Q5Gt}=Oo{K*B&uSC z90Bjuku0S`+Vy*tje9Dj=iT?J8DgZqpD}VY{uHVGr^p(;S7$;#vPQb-nf8NT134N$ zs@XJU8mjLWlK8RA+D2lnWTnvk_etFfB4vJ3^FidS@makHB4vJ7i$G+_KC6ZZ)G%9I`}oQjdmX7D_ zOgdZ#Qp$6~MC0+RY@ zF`)E~VM+b8xm4`AvAN+}shj@q}0Osk@&Cpl?t(}~R7|2EA}a?#dNrEy~5 zsoHMZCXkx2G|64d(_^cXJT(h5$;bNOy|fxsX7u+x{M9?H0SMj4U%k^>fO7HtFWy>v z&@nv!i?`MdMAp_v>jfff>!S@~!fX4stFPvzYh#j03(>VB$xmCPD?cevyFiu3^*Ck8 zhiGL-*o0_hN7#gDWk=YAXk|y(glJ_)*o0_hN7#gDWyjQnXpd=qY`jf~HfJ)~E^Gu! zh_;(5jeFb2#NpT!w&nloKr~}2(~l&gqG?PPR}5HPrZaI@P9=qCj-X0DP3(qfp`b^7 zFD4Dqw$sn3rE#b4Tu%zso`O2#UaBw+&1R(>rs@LP5!2cxOmm*YV*93^svWLngWNjF zbt1GkprULvd!?gi~C8@TEn@dJ~Ec$F;)vu)6*GPwxF;6c0!ES4O9Wo zM;)V;?dyuw99WFAtMNQ3R{QzJ!~LXqEs4g+c(4+zbSm~MV!Sq;<-@HGk8;+Q>7``g zls|u$xu2Av?b1v6hIO(`DGAzzGNmMFMY@d13ED>{+RLA$eWxP70NhVX(u`Sb-8T#{xDIv0;ePHXi*_u{Rvnla&}u9%#nb%j{?FPB{JWd*`<%3K<8CY!pk$VOMH%>bVF>+=Yr(FS&Gs8HohzX~B+jYDq zX47qkH8yF2)`+T*o)y!ywp48FR+{DwF*34hq81J!qrB3!p&&8_D?=BVvvHC(5n^O? zm|2?#BBRR8S}ur;2QzDVAaWL-tlgm^BhE6CCTlN1WW?DN?K=p64<&huW;u_nLpm3X z&)3tmvLnZ)Yint&kRv0;ht1HQ>5{ma8vZmQIjZoSqHCOHX{~g< zwVti@(zU^9j+UZpt5c>nRoBX{bG7BVthg*~kFHZr+1hzs=bh$hk9D~zIa;;(rL|{w zov*djHM{Eqt*5R(oEB={x+xewTeJyO>lJ z=d~)Jdn!@cGy8e13B<^9mXBS~x|WGuD3|Y|HV9(Bps&>~mWy51g381$my2D|hCyt& zF~9MZarbR^5b%)Jkh2=Y?J&V z`H8jy^i6${T&!INc~*Ln{CBy0Pql{2*>?GAEJ=P^F7{0Gg;*WqaKkfgC@4i8Zg{TE zq9S|qOY#eCJykK?D=)R(AhK6pY6VQn%yZT4Uuwn`ti8O)_Y*I*s#Fh^c)V|4YV{$O zx*_r#Kjin-6@ErG9n@Povv9DS_h#X^IwQE%57;BaCZ@DtRY2Ropol7^42>Mno z_Fb#Fnl0yAIXgvP{Z~eGD|bTR@I!m(sioelLQwnVGe3fEY)u}DHV zV@4Z;pTf8@RUd(Ig%a{cVQ4mmT3vsBOS4BC!QXcNr2*sSOB`OQ(T0~p+VsbF=0zLL z62iCFMH`1G#QhN6#_MR~3yOoi2GlRw_y>j9>lhJW;DuhtKkx`4qc4`3bAKh+j!m8m_TvMRlH@^g09A73bEJSj9Fp@y-qNE62i7l zFp8cId7WS^qEM^r%f|T&659BgV0a}C{Y)_KrVy4;eqDmG{+EzVon-`nrHtiuHySt} ztrp#lvCmMAs3p3$DIpYxC3H6?a7t>4?nbqQuqC=1H5B6dft7wRc;pI5GMXeM)-TDp z@Yzs#No~pt#bJ3##$--OtVdQh0B}wRzIyroAP=XJ0%Xw>tQr= zNbB`@Hl$2=p7PN*G6yoy0imAL5qd-z(c`3$(tz2Fj*i30tUMLRBOED&MO6`ls zmn}#!Y9xg9OEGFG#J^}vF?O_xdt2i0_l+q=vxM;Xjj6_A3E}S>Q;jbqguid>Y5XK1 z{6%ALBdQktsx~g!9B;qlH2|PYiC;x}i91 zU9ib1Y4i*>3SJ8J=3t|cLhQ?6qeSBHYD_nFO9*{QHv-#2zN8zcB!s@C8*$soCS9rN zZF~vEp)cu15~n0z(haYKu&2|FJ1NAzq#GL~4t>cm0un-BGK|_+L%w7f?^1|cBBM>| zp*So(!}yR>Qt27Su-8H@kzu$g#HD8#9*M)!GmT~mVdiA-Z2g?RSPY%_W?jinT~T-|N?E-cfyheGUimhqfe zL9d4x#v5D$dOgJWW=F_th-=^wdOgJGO(FJrNE@$1ap?6BV=$+r793*SD^8oH;?S3DqmWaQFWH7qLg-7j zv4KMDOSZ9F;?S3&M#8R;FGG#g#*i;V4L60j^r3A^55-~WLyfVVl1d+HR7wa-A8J%n zi2HA7oBkVWJV$ZM)en{x3x*ooOeu%8Njc1Dkd*0`HS>lUUrFc!ZOy!#HYszBQxZ4Q zzGhx-o4Dad^jlaz_{Ub~Jqw1niOVy3OWZ~FdluvwxfH@SduRR#V;qIJ4kO#-8~Mvl ze5vibu#vy)#BE{MMUOIqXJnl_OF zjHMLUN;`o9V=sqjeko|vE1@{-l>$R4cz@AZh?nLBQCBlopgek|Qo3q+59J&0M0x#O z{Kq#=d1n#o8P{Kk^0HV&mWyBftz6G;#aJ%aZ0GmO=DgwOqcucby|oQxvz^|z{#VN~ zTl=3Nk2n`=guS4v{V^yXrv7^B?oi!Xzn~g5EdL(7D;;e{Ja)Pr%&V)6b56Imjr7$Q zpq@)VME&03V$^hv!(5$q;+XkqFT8MAT@JEM1@>Ux%1src(aj=nv5h(DX{kw>wPN{%_A4JW6psvC!-R-(W+_=rnpQ zYRmz&iL**uP5XNNu~Mw6b`_4abu>b7WU_r8rESYPeP*+YSL`QxVo_IBqMvN%uQ1P8 z)IX-+2xL8K{N10cWQ&^Gj42t*mY~cd=a!O?g;2ZcYW8dB=gTwN z##f=TUuU8HF>pOv)kDLBrRWMri$!59v?RpZOtHaH{abnA{F%mEsI2zh>SWoh z|9zTM6(K)Swy3T%gPOM1(yj~Yb#-EUNJhP-ji&jTP%N%}7G>6Odb5Vppx)XhCF?Jt zkrt}E-Y!jBKYP6qDjnsvrJFr(?}ItEz31B-LY7euTCN&~dPH4uD}`i>dSOQ}7yGHJ zI(JaRvPJcp9JKK7u=Cq9!+-AD54FF!wg0Ee+_Q{0BL&9{*PZ+Ew`B9o7F@?ebKU8& zI@tf|LLJ7#oEbWd;b}85R$zuk0^%iw}1E%Cy z)abNpg&i!-E#{PLnfI{~RO^>BFz;onF&ED~A=#p$=HvB_DK+)Yn~1-^j{mz-nrBFE z?a)jGCoI(d*ph8~g!Nogw!po{eZkl16ZM#j<==zmnbX{c@Ct3P6N(Lbg&Nqaem(odpVa9J#)Z*9|{wcvjEqjymLHN+M9mBk!u zmeE=S+*@%AYl`on`5NSV@GD-zG-eIopPqy@$fCM!!m)bxeQ1G4bqIC!x)0Md(_M+V z4N(v0l5lp!$SF1Df)gahGi%!CLThmDMAse5SfWKG(w$@bSaZr=R3iJ+ew>VNLCe^l z7Pb9)^bIwd`d~fkFByvRixDW_7=>vrhLl#df!gy0vdkE2li;Y}T7>EwY>nTa(ma#! zTsr$%^d}_$@tK74o(uQIK|3f1S4`G_0(V}zD&B}`Sbl3AreO__mQFN>bBkeYu-&-z zu7$fQU7flg^!2IOGtMFDE6tZL_Q>C1HPjTMuCCenYjQ9)k51lReGbzkZ9&AHo32*F{@9v<|k^ne{kM z?uR=FIOCpx_Y|DwOnKYte?70CMo4H+2)l7O8?mZtDFuBq_YT(GO0}~oYz;f5Z<~g_ zYM<-i%conzR)QTqlo(v;(EhLa&_Lt==Re_Y^RL(A$Z@@oxxx;IkY_FKFTUb}h@xHJw_!6`^%$&oqrhNTktgcXRQB~9SR$Uu1kZDLY`pU{rr{n$jYZ+<4YcZZ948oSr;{9q`sZp)iC)1h1Zkk1Ax(RY zwav*-C(|7wuaZ2=@hbTm&G~pm>#|bxDnpy_1qx`|%iJl~=GE2SJ(!;5b3Z_9X-|eUW*L39sJo#?nyQ$G z*hFX1e~v&qS4E-bOmYRKxtP+JS1#P^!Vbi=*B##(HH!c>RX+;lB$%<=extO8tW6+m zAC172LBtWh`2b!W3m|WBMhfj2H1%2l^?!kRCb)i0h3n3uo}y7vI5MQ)MRzp8l?6RH zUBec5P1lw0Hq48ybh?cGq`>MBjMbN$Eq$(rC@)T@$wz&Z4>s zgWj~jyCl$u(=}FA1>@&TdYkglxcc>69BWsn+NI&$7tTDedm(I~Ihkia{EkVd-F5I< zj;%ruPfZJ@=kK8y`A(Vhnq^*pc~{Bx{r4c;hf=SF%|(CECTc?RMPpIsIkUeTWuB{9 zHtX5vJ4-1&VB2p}cogB7363aC**1+>fVnPs{hBq;&~+3lrEOjwvF%Io+#RwOM|YHF zoBv%hpC<8X6`weTFnEd>x+4yrCE}f+MP`7I=fOK5)aVLNx_+(oLh1hWc5>S?2U1eQ-82$MScqUC+n7?*hX21@jP(-TPZD z@IVg6^0mWf$m}!AtjBiNrJY&Ncs9*T4{ksU?|y=5-hnw2{`s9sA4XRS->tI+UP0E= z9DeeO{aubu}IKHWr0foK-1UZEfnG zaE(BD`y0U)=5Kzj%3*r0z&u*o%k2MekFoZ-%o-l6xG&OZ2cpXf#+;St6^=1Y zh2&qmn>O!c%qe+PpRR#>TWWvvZl}Ek+)D??Ia>&6evgHq&sY|mGMRQ(=DPn^WNx=m z?Sdtq-ePCcTjZ+mOjix#AN7ZQ;Jcnbn)iP~dOp?UG0b;fcm)Nol<_UNk77NaEgz(N zgwRX~dkmT_xi0NxoJE79=#SQy+m@eO;8~ilYkUSHc!jc_SE3=X;#leFFB?6lVV9>P z%uht{{Ll5}@4Rpxv#6V!u-2^MIn#V5%xO?>rFqzX5Oa-%i`73Tndg-tHM*$pocF*Uj+Tfach;4&m$bu z!`&b}14z7ZrWZ?c($4mV;?t z3*dO@lG~V_gKRjzO7e0=X2{F_n@^i$?Ok~cD4{~xAs2ssn>7U>pzzUN19zu zz}TPmc7DAd%~v#>H=5d++wduYOjh*XYW`o}zJ&4G&1kQm$nd@kt6W)N+Bu()ihED@{1cvVKbalrh zOvAC^U`Paj?hkbp4VvKhYvwb2Jb@3U#9aKnPcUWsSl)ATpSHhuX3h0<-iy5uwDUHV z5`bAQc;AhuReZ*ECe-Cy)KJQ{8uPf~voH2Pls;&gzp*vzpKQWfhn`~$o&#Vz>k4Co z-y?)%e!?&~%kdMBTq3tN`@^;75ooq=_SW2b{9FekKSA^m&3;@i_Z__c1pMJ%3-t&* zF-v;>4kZ*D{N|1|-<4pEy6*~EFn?$FH`r^zojYCWe5Z!#HE98EH}-_fMLAe5>q8i9 z&-NN_jrA|0<-gOZ2+M=$WPmZ`e{eK%y+Rlq;hd7uTo=}~Z)eu9|K`|`0O91fMmTOE=4$Ce&`hk;Xn_y@G9idLISb ze8eYMA|uZg?MEh`uJC;#m)?G?hE5TKmU&mkGN3{7PB7CaM*8aPYpVNCK0^4v2 zePd$w#N4MmH@5E))^INK_{68m%}?D2pY`JLyl^94S)pGX{O{TAnA_+7pECEjd0uKi zQ}GUvXDyWBSuD6u<_dCJeVCYUKIBS{b6Z0%_x<0rHa2oTR!&eZ`{Ab$3n6HcWvm%b7;CDmq_jUiS zF~)x4chj(!gYWJw@(sTE+kA6bZ@i5uS%Y%$3N_c|HJUe;(Y#?^ZSk8~P5pEaB7aNE zGOxvqyi5Q0;{9+2%ik;qz2#c)2np3CIA+ZCZ6C|)$ogh%tJQQu(mu_ZG}kZ1y5F}Q z{rQP3B++-x6YfI2)r5Q^${K#o99N&9him~g78&Q}8ii6?=$Wx#t$F=o-^}vq8u;#s z_Mc~}g}E&5cT5@lC7szCU$c0nxBXQek9M97+FLkNE`EZ7^Zx!^Yz?333VO&E7}@6U zx5hr3@l1Jnj}$74f3ecG9n5yPN6usoQ~p|Bw*NBZP< zyT)KjUIk{t^CWOr0%%qH=_Ho#R@lM^ZcK^KMCoefyihK#OGqEw$*-cj$i~T-lGA^` z3}tgWthfL*JkK+7Y?pM@v$y}fwJ>{Yu8Y}Emd{i>?veiqbuqUp`^;XkoJCKXvCQ`f z+#{T;5x!Lq_MK>`XF0vOuUW%A&axTXk7SO;vf%mrdxPWQOmgr<1=Cw7J^b4DY|O=$ z+w0GC6|)|DCuj#}MVl%H%fbB~$D+nc&l}jpLvvn^#jAs3?dma@ogC_}nqRlmbyO(j zIGV@MTH6xQ6DxTVED>86zV)K3n@i`mYVS#CZs+vy6g|}lJq&8lL+h{91#NP<@GlCZ z@Q!;kdC2#YydH6XVQaU2wgh(ty1H%;w&(SfE2PoX1kf|;>f`C5yymgN^1d5`t)VHD z;km&N(B_?22K8+<4Y1R|-Leiins(0o8v*{s$}Kb#^7FKe<`Q|{3*Alg2oLUT%_&jV z)!%3jAJW4!|5Rc~qp9cMWCJX~niafW%&}ZMZaprSuR-38hwdzbcjbH~a_M|85V}ME zHT&kW{%^}?swwXef4g-4wW;}kLO7QhTd8Lm`L}F*?roMiJ^w3gR1 zWjO{`I)0uc*zfr38;fe%hx)lRav1r}@z>>`1x~}|nq~Hxzf<7#^o#4z{yXs06F;XK zJmu#55xz6!Gv3W~<#M@?crX_um%>-&tBX;;mv;Lc%d#2qA9aFHka8=rea_2xbS$P} znJu#gt_$8l2Um9X(2V$8Zt(dl^OJI%_w;9YEb2q*+4krBT%y@4b1mA(;&W)4`jBRf z^|U8xkNkA&{);dr*Nf%$rL&$(VcC5D&YCl!`A)q3IWxz$Kjkyuv-2oDlYM?FzJ08D zl(Nhz&B*hHxg~iFm^J$^>ZT^B?(pfYPN>1~xkN3~E>UIhS)pC3V%4RpD|}F%1fON_ zDbpsa$KZp!LYtz_Qd3k9`1FDghCT3k3_fMr)yk(`3!gcvQY(Qn=Bg9g4GR8QStaNT zRX?>z9nV0tFKc-;IjWUG+6C}gp(Vm&>WL7S2yxv(*Bx}-LDwC0-9eY6jZw+kRQRmWlC|l; zC*ZSEOVJjp6p&Lu?g{ZdA-*TX_XJ%}(DedcFVOV@T`$n}0$p#=^#)yU(DepgZ_xG8 zx~e{)>!aNQd;&fzwZ7WzsxRpJYPSKOfX_;;pLUVz2cxAQ*ysmw{ek-vPX|5$pOsn~ z=+Z!!2KLiHmj=24pc??X0iYWIx&fdY2)cow8wk3Apc@Ff!Jr!qy1}3u47$OfO9x## z=+Z%#4!U&EWq>XNbQz$_09^*?+#tI_c7yCv_?C~3fHoCRax!3;N(YQmIi$%ac^u(H z!YPEsgtH0f6D|gffq#U=yekRUkY*!bSG5mNQzr@IHI%0SMyYy|ztr%*wOy7)zH`(` zJvaV5z=bbN0PO8S8UM%fq&{-*C4lctp9c8-4JCR)$WAEiySPTp`XTv@$6;eaFe zP6b5ItJO_66@%rO2m&#rl~rrOD)x+S$+E9LakZ7SN9>{+?v0@HHv;7B0mq2pNGiLL*(Zn^0V0b z>4u*)L`^TYp4b!yI3M0|R&4E-k65ra8t{jvu7K&_L$P(q`XrEVex*0zVAS82tsf&# zjzcS5skd0y!`HT_NRvgrSv72P1Ktyqt+iTPZ$D4%)8B;m+V9hk!~5*_>80=<`+d4& z$^(FD@ZS1;x*OhCzfVtr_tfvx&w=;T@6%)8z4RdC`{?x;cn|$Py)V3fexH5--aEff z{~X>ozfV65@0o{O@P7F%G)lMsf>8?Pcne~ZrO~$G;6O{Osz}cQ+&VXx=a8?YMRt7)6~>U>LIt?PuFEMM9x-(O}a(DqK9rV6zC z-t4Cpz;!WCDeno`n~ zlBSe2OG&eoG)qZSPMUJkl#^x^X;zVD6=^C+Q$d;v(o~YBk~Ed1sn+6h`)So6FSOQB zYz@WMP;4#9wWQbVcn#K(Tu1skO4C4^2GTT;rinC7q-i2eGijPh(@dH}q&Y;IL!>!M znxmvSN}6M&IYydeq;UblyXgrxS|*Rlu(|Bl^w=(nz00`aC`J!+u&ayenXOox4Kvu=>J<6V5!xgQUOkQ@q!28_*npJ%v`HW@w8q=FUwErM-oE(V z$LyF(gItSzd+bGIKi>ZA!2rZAeBpb*{qIIN)_~1qN0E+m+Dx)gB6gx1raMZ>|5E*$ z5AJp}+IHW3KOm0trQ~xt*<3}QB-_vFxX-bQJV~}6$om##9KC(*%PUVh`r2=&=1YKG-$Z9Lh3%%_K`1$-e*LLgfcDU48BAZob-yY3_GcQu|a=%QV^^`FN>o zvG!^Dp8%8R-0LdSO3ry0@Cri5&ULP8>eDic-A>q|?KxcSYSH$>d*ck6Rb1K+@TQX* z>YYa0&W{^i@%D+YHh~65OAT1CsTvwxHMC;RhFWN_Z-n=eh1H7v?h|9elI_-OM}=vc zWyCpQ4WQRlvOR6eWRP)WHc-D~E8QH{M7gj%?+j#AOP=#}*jkl5=Q~J=X%<7jLrn=+5>6ysL%5c3iv8A){~k8Q{^#hwgPn=5o&p(j zHQIW6EaB-SR}s#qHo;ON!f}qZDICKC!#7e-;T-t3!jT`Pj_Nqi9HTZdXcazAE#`uM z&7Yu}G`wn>36Bys+FHQ>I+7a*4-p#8J2_z?wTtF#PNs~&NG?LRu<OB+wqt+`t;Y$s z*kf-T172Z2&J5eoJ6G*Sg~ye#dISeJfeB4diw6s=nZQ2IabUdjqEBG`g1BIsoP=EUS`A%!9kO7-yvo zv6?h%6<$G_w*A~IV>RvNMJ2KOv>p=|fV@6qdF)!%W8wzDNjtX0CfgT}-5$FgR@DZ= zDAfY;TafaH^WTeY(SN?Z1W>=@Bfu}gPK$nQ(HF6O9ZQP7kFBv?+F*}th3hd&C4--c z*0}@XiXGK2PgC2qogZh#Rf8V>8H;?Y1sU!F0LR7E*(z?G4p{l_HF0Tl*O^9looTdQ zq|sexn!*`UqxnCL?m*M%4m95W_1+T5d)>I&m^!dLPph+G$~xQU^|yc?SD!i?-c#4v z@GiT~Hu|01Xxz!)5jWdWJAXA`!p;Zc7Hg}YTLdIHcs=3&^Ubs|hFss+uS!`lHT zPOXjG_e;tEXx2XW6=>iMsDwYn;a=;XagDapl7ud}hw0H}pEiDFACOB+26UMSyUmO) zi?!VNQC%?QSdcqrOaQs0{wk15>TiVfGhbc>*mX1F_}lIWTsIN-hq$&jLM>hcJGcv4 zthJC=pRdogEY|iX(VIs?JvvVO5>4nxP*t zCAM$@^;C`p&n^n6r#al|qPAR2d3b@c(PUWtma!VO8yKDcjrc!u3n(D*(sERoh3M)99+Udy5|GRzucmC~qxc9ocLkn>f4vWQ(`# zIQVfl#B-fZ6x&R(nl|F)^n^p?)lu^Nm>uVt<90mPI%UVXE(dz#!2~Of3d4b|VK}fg z;w?ALM~s{1Pl&hNcl|EFvaF*Ccz5=_aZ0ekd zD^xt-(|}d_H@C$nMuYu@R!#fhHe4}XPhJ8kzkxTAYufNvE=gSMxD{5?wfcFmUay5! zY-u8l6ll+ldfc>fwH9!B;zpW**Xm(irm2nkY8YK>b^T&^_Y--ZKt7{vQ>j!I%nSz( zC#E@QH|4;7$2;GVQ3+JXJkl4CzL4@3l0LyPJ?C+orfsU2279XKVNZo)?549cZ8xly zTht4iZaWL{F2aWhs|cSV+(x*QaPL_wEtnUvF@C1Bz{yXdyW`4|2KZw2sP5=9miXz0 zdEHA$E+HRE95~)e9Js$NArDK*!cy|HoMOu8!Rdz|jJK3b9R@<8sQS(0FM$1Cz z!R>l+VXq`jOWcP26_$zEcrM~Aw;^88l9r@t_bf(vG0gUw*1a3z<@Jbn2~p%$odWWtrZ zSbK5*+N2uC@F{SP3VAmt)soFt)niN@$heQiwQN^Xodd6|ItR`PcuyJ;UgyA>!3A$j z%e6E(aNTSm`-q)8G(daCIGaFTXiWgiCnB54a)JZbk!G@dh+>Zt#@n|Z{5To+-VqMG z*3x<$BR`K*?<}U>+G73PyVmtMX{j7CO`Rf}Rws_e**dnT;lw^NoOCZhax}?SC)VN= zlmaI?)Z?cdeI{zqlFwdI0xR*i_G zR7coR&sV9GQqxX;GAUKlz8pL)b&X}&s2frn9WUOz7_j%BZv_qR&(~OfIRAD?^TYXf zr=~e^j>@9EX@KM6#=)9}K6qhfXtu`X)}Y6k=46Okn(mr$)sDRwDoO5u*o5nDZ&Pay{oA;Y6#=)?;M)ir*1isPr&ir)(~!yB(P`ypzFqt5s0KJRnXiKFf)(!W+F}oN0uq&bZu#TB)o@Sb8DVv_(HK=Vaen zx;rbPb#^A7w3D?gvQ}!RJ4(x}44m^Lr!DFiZRJw50D_43g%!)1?r4=qZlXT(usertW*mAWJ=GzJvol(#(rCjZNzJFS|I(Lx` z(&N}GS7neUo%*`Mg*{l|np-m@t-^&@K?U^D>yg#aM+X4$DlVr}g&NmS>fW>(*NIL( zKr6g|vzC0WbKR=ln^p(wz8cE=@@D+`#Ct-1voBLfFCK`2!Nd zc7D8nU;^1RME-2c(Sh;yoge=V^jKmlAnb_XDlUdL#I`D@5m*G4W1P*@+7rpcM)2qU zK~qTH2lAtXra+q40dwPb4XU#4{P>+gEp#@r1?2sMO6WwWgzpZZ6xh*);VE2N81D4q z?R_SW9gL@=@VyN9JP$PQk1L6bxAgYhFt`lvhHe{-r^<%`-JL!KOzHGBpkvAjz`i4< zro&D$axUVvx25AfQ53wNa>Es0q-$E!xCtr`O0)saeb&fmfjxOOoGrKBUX(Er_C+%? z8f`spn3Yis^4yHYpkI(t2Dl_+J78HxVOY_ds{yxMxHe-SXsR-%K*|jn1>}DL`CmXa zYO&#(H3?)md81l1+UBIMiNdql_)IIU5k;h*1if$~a%LFL5;Mba1Qt=QBGQ+TzJ&BA z;mXZ%o`kk-h;`Y1-eAp|53|rYO0z|egw+K01MnRp%-*qCvthnU%+hRczLJ~O(RNm@ z8{}JG7z6T6Hx*{Z+fLxw4yD&@Jw`@>g?IPgkW~hG7eTD6>Q<0*Uz;SWO zwmB~vLmF)C9o%(8%Czh2ZvpHvan+E;Ag=}NG4ZJ( zC$&wx-U7UC*gn9EZ~YMPc;+X7Ia!|p9$xk};P?xE0Q|X3WuMdvcR2|=0RClC9N}4j zH|^?`ont#NG$Z?4tuphwupHa#A5T;Hw!hyTrRUq?iV;(bqd>E949eTaM5%8zoSnwm zcEurHM(A&d(!bR_V~2yC$gSQRQePueF~L6g-S2BVd=$GdNGw=Y{SxB`qRsv&90?3uMNZR zujfPCMyc6^`{;U{0`hCw#eh4r7X!YnTAbxO_hhdDxjDN9_6!HJSAu*b+ogZD=dXaT zF8h1-Y`FW2(r4SyPfbtQ{nzaIq?u2e#kOal^u@NXV-SCciBe^@V^97oyN>Ex2KV(> zKrU>V2GGFjK=(u|$-+vquo7z2YiNrT+pWd<1=Mbh?Z-_SLz~FL8cMl_Qm&ztUxLpQ zhpw?zW=;mg{`wYbr>V8z`K+N0bR9K>;f||;u9{}LYS!8k&V^^RX_h-Gnp-p9R?T!Z zt+m~L;JdJ6RHEiOzIdtYIC*g2pq4kn zab>rLJx9Bn3$%~Z0G zN|x8!w!oN7AZu%F^{{VTYg+|AYp&!uTZbWTBYd5(fv}PA9l`^{(!%k&iw49}uofF_ zxHI2q!|%m5+FTdgR2G!mPeXZi4q`=49%=Bqo``VNd>e;YMX@oIt0A_^cJ1arljgY` zl(zwT_8iOU2y0f1+5&y?ZB7A|yM@Xs2&a8!IPOmh!f|FO0DtCbTWlSs^vuQYV#elH z*`Dq+6)@)|PcD8(KPPvKtz#E&Zar9wQdPFidv+ykvAvjgC+N?L%(Vb^To<>+_T}VN zpc%6H-rPd6SqSZUBC?Q5FCtA5X^Kb#bphW>K*k;TpoX!7OG#czSWdW#+J6=G#Uwia zFNOJ5vsZ-U3GEvAmZ~mwHsI34%5XdjtqjL=(duwK`K%7d)6SZ3JmIVj$1}`2!Uobb zg~#R28r~efE8|u`d{U)3{LaG_!w*rLAEgqHQt1=nKC4_E0&g`{3}-b_`YG@Y?kU3Y zlw+g*`9;%|)xbMM!@ymc)xi72Xk%B#*TdoM$k3-**cZ-dkYn?{gf%EFFV(c&1oCor!X$2$~fc!&Rp|Ss>Nlup|smslIF2{9oxt2nsEN+ss(7<|&??Pi9>|_d!%@GxOg+@Y{kx^)jhh0sf@!Z?hpt&|`10cRBvk)xX0CDG2XyDGL z(7^Y4PofehL5UX+D54UJsFWhIUqtqc$bJ#oEFx<~WUYv-6_K5ply@fOooV38KGPT+ zmN8g1POeT$oW5tb0n1BCxL*4B=UR7c*iChLC(xk V6z1+ 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

?WKYdiod+5ojjteDjFeC? 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 DU&Cnv diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net35/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.8.0.1-beta1/lib/net35/Newtonsoft.Json.xml deleted file mode 100644 index 9e21890..0000000 --- a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net35/Newtonsoft.Json.xml +++ /dev/null @@ -1,8741 +0,0 @@ - - - - Newtonsoft.Json - - - -

- Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The reader. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The reader. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - - A . This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the to Closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The writer. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this stream and the underlying stream. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Converts a binary value to and from a base 64 string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed. - - true if integers are allowed; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Gets or sets a flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attibute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a paramatized constructor. - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the to always serialize the member, and require the member has a value. - - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Specifies the settings used when loading JSON. - - - - - Gets or sets how JSON comments are handled when loading JSON. - - The JSON comment handling. - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Represents a raw JSON string. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets the with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Represents a JSON array. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies to. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents an abstract JSON token. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An that contains the selected elements. - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Represents a JSON property. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a null value. - - A null value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Represents a trace writer that writes to the application's instances. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Contract details for a used by the . - - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - Used by to resolves a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only - happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different - results. When set to false it is highly recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Used by to resolves a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets the object's properties. - - The object's properties. - - - - Gets the constructor parameters required for any non-default constructor - - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the override constructor used to create the object. - This is set when a constructor is marked up using the - JsonConstructor attribute. - - The override constructor. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the JsonConverter type described by the argument. - - The JsonConverter type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Create a factory function that can be used to create instances of a JsonConverter described by the - argument type. The returned function can then be used to either invoke the converter's default ctor, or any - parameterized constructors by way of an object array. - - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Represents a method that constructs an object. - - The object type to create. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}. - - The type of the elements of source. - A sequence in which to locate a value. - The object to locate in the sequence - An equality comparer to compare values. - The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and sets members to their default value when deserializing. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the converter. - - The of the converter. - - - - The parameter list to use when constructing the JsonConverter described by ConverterType. - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Initializes a new instance of the class. - - Type of the converter. - Parameter list to use when constructing the JsonConverter. Can be null. - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the Common Language Runtime (CLR) type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members must be marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - - Gets the of the JSON produced by the JsonConverter. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Represents a collection of . - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the reader is closed. - - - true to close the underlying stream or when - the reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Get or set how time zones are handling when reading JSON. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets The Common Language Runtime (CLR) type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a []. - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XmlNode - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XNode - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisble by. - - A number that the value should be divisble by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - A flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - A flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Specifies the type of JSON token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the writer is closed. - - - true to close the underlying stream or when - the writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling when writing JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - A null value can be passed to the method for token's that don't have a value, e.g. . - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Sets the state of the JsonWriter, - - The JsonToken being written. - The value being written. - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net40/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.8.0.1-beta1/lib/net40/Newtonsoft.Json.dll deleted file mode 100644 index 035e389622ef04ee688efaeb5c18f8fb8f6d5f22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 474624 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

kl^kt@nwv}9Ns0z6KMn+z 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

@KEqyvC@zLv3k& z%-2g)1m|WtwKI6#H(IJS%Knbz<24kjHXmt5z;91P=FuzoQ|w6$u}v<9ybW8)Nf2#O zqyl>acsRg4x`%nX5pxk95mlxOMdFpZnC7N}Y>l4VUKCj|EF-P0MQoTXSX$sO(A(_N zG24wihkK*^jLdwv_8_k8@L8v9*u3zhENlgwT7gM&$%Pg9p;BC96?uS{R5S_|q!vuf z2<4;}0;Z>yWaDC`7EjE`!46d3`Cvl<6m`5mkQzGysY<_Os$H<*`^Z!%uyPK+e zLDD74NG-0&Np0K>6|7Rx^PVSb|DGm|^?$eX9g{3?npoUvxmlh92SdZtqBOI^%Wmky zJqMBt*=5KPyLC3?P*}Q@wMm8k0N-o1Ly+OC(*cCT2h`;i zd&#PM3i_n~vg+ZRC!jTRB!dS4XQQX zx%Q1erZbikz{>8eeZXSP#>?@1UDwl!%c9pKCEW>%EoY*XTiLg}W0ZV4OvbCU$_^ff zjFrQUf_wU7?zW>gvq=*K+>&J9b8JZ*%do_HuH|>ildp15P|a8#_#kuZ>44#Ki(HqJ zKwl${(<5;+>2IUIpu<-#!qAx@8J~xW(KwFiVhUz zYG7Gi6&;iG!AA2M_*sHJVA$P|ip*us2MsHbuJ7eLzUO$Dy%^OT40UikshQ(R_-+XO zg(e&f*KnlLqff(R&Lk$TiCbKDa^zY_85bWIIm`;5>*f*rJXP2>6(n5%w0E=k zS!zY@qV%++(w<3Hie_D|S&?2~$Z@TbQ$ck~9#bu)so>k3ub1Gu2mWTx!dpW|(1?@i zkE}&VNAWT$29wvw$&RET{fIyb5i^3l7otR1 z1M08_67#6M)=|l8V&07n;dkS9>t2hJ##3O&FZyicInvIn9YD z$mvABHR9KUQyxZtFVrER+V^1shr6EjFiUJG30SEN+4ln^D6QkTHth?WVrc^R)>O|0 zi3~r!ZdKwh$*IT+wKit$MElUSV$6DjVR0m5)|(8A`xx4JcRP7F1A26=N|uP)n>|?? zMglgF=`87d_++CG<|%l0k+Ej8ITJMu5S( zBZ3FM#I*0UtnWLN@assUAcmJI#X4qE)o4aW9pJ5WJxP^7Pn--Y8_3zL z{-_yQlsdu;O4~6Nw&$o%X=$AK@UkV53kdS4 z8S_pYUx(@I^t$xHTGEPLNO~qkCwoOxJdDeoBFuoOc%v>bQJsj`#gJn&KVzRV`$P6A zczaz(^hcyhBaoLxIVDBL{&-y3{b&noLm2iqw9!n+vc`#EEFp$m2rCLi=OT&P|6$?b zEu!%qY6Nnaieio;B4%Wkqexh_ijrtuMc5%Oihib|*^COUg3NKW5-}qeJ1j~4Jw`(N zT>+OXZ;MwV|6uG(AcB5``HWqPu>GLhXcH9F;w+*_*XAsV>YTCt`4k>D%AYZt?itQ7 z#7$!#LwT7o`vZr@tF9hnHZw&zUSs0Q#%z|3G+wp$7_(U!r12U%r1jC9r12X2Uen%p zXuN9YF=oH*(0J9pX=vx3rb}f;UPt7}T$CRD150gsdg;FdXAdD)v{+svaT>NbHcwv? zxXg7cnJKe6GT=jz`4oV+5HTZ{5gXvJYJfx*97DOB6qsA0*P1(t)^!A$(&_t(VENDK zDL}e`+wW4)@ZLCJIkL;gtXN{hdH^YSvEMGM z!p^riY3G z($^MLW^ZhU;$08GjL^)6hJ8IkR%AI~D{1My42k6Tr`;Rnx^UkukiPI#e*j(L;1&4XhBMpa?%gcTYwX%LyvCe4YC zugwsu3EMv>gTQkR+rV*T0k$kU1*Ed*m4yEX4Q}MJ=&EB?J=6Ud?Kg||I|aTYaIe5$ z0kt8PVlB~U_k;$$|a9fX>)WAmTmuP!B7z9YO(_R^TYZpAe>rRoOcykUyHmKa{6vu|Sn zkEbK+5Gbf@Xyjno?{g>G0s2 zdnxq}!Tj7{sE~2+7BAJM!cgW<~pD)w4vDfK1obuny=S0)l?!@&MHp?GletnYk8;4xh8Paz_I#53@tclX0f z&%C;H@?5!12v_|90d#Jno(4Dp*1_A>f{UrbeVnvub!JlHUPO zD;<6LT3w2CNRD8#Tf&0*aMZ7KOxW8|uf2ymfmF9+!q&7=a96xLs5!E!jqZjGC_J1> z`YC8U5lyaq!yYW9V<)7u!xa^oYdXc!{-)0X^<>KK!p8X+3RQl3{X!K~cJ+`v6XK%E z7EWQsD;zyLeOGLMyh_lv$Vq7?BrHBpxo#^GHLJO)0c~C_hpU zM)`2x7Os({dEzy5&e2l}v@>FR5}n(VjBYNkyOAKsiq;QFaNmu%ZOXE&E}3u%w>(k^ zIXTJEQ*Y!bbjXy8*7knBGOu_o-4&NQ9dp0iS^ALdajT|IHe}UN>*egu$T&`2YTKkn zwje)xXux*&bCHm4y_z9*OpR>y%FOY|km1NY;gz|@BSVJBIM0}zd|@VPWd3Eo(jrfJ z^{r3p(+ts<7J0@iv)Lml8hvtF4uJThc>^B(;cOsB$lgI9l4z#yvo zsL#}dKE4civ&^45qfh@z#tB(TO|QhgcI_MrFF@yI?2>8FBs5s;hr}{AP6*r8pF<8w zdW&mQYZvFC9!h$2$YytOF?Kh+Qf>j#0~x#ex`K|j4%V)dU6R(89(}(y?mdWGnittf z6_=r0P!R~5spUD*Qy)+>Ezh{8mjnwc(xa=v(PN=uH)UU-=NE<J{`H2DgFZhO}Q@TzQ5#b`b*CJ9*(6=QIuur zM`t)vGZQnCEDjhaqWoyX(Pj@OpA@DG&pwG9ZQjDlEYc7o#qL0|6FWsLN_(U#Y$jI+ z;Zx8_!(-MQZ4aG#{T5GeQ|wB_#Qrn;XRgO)S$L}n8=U>&rdd{jJch*zJz03%l#-g2 zl4iHlSu1I+<<3SfBV!%=h1asiv$zF>Qxawl0X*=Xw z4i%TpU`8H6&4fx_Dhe8T0OaIDDOc=Kh+z(e5%4*LkivtIDqpEz55z>@c|Fisj8Cg* z<1UUj)q!Re*rX)QJ6I8PLfMs#{5(UwJ&NJ=H;0{G(b)-QRupIHVP9(6FUmqS zbm5y-4tJEaL(31NyP&Kb8*M+T#Ym8YC6nCW*qJ?6%hjr}r#NVDsa0JPtaP4(Y5pDL zZ}srAEBiWWckrf7#D2WK_B#_l_b}+0LQ0O_lkVy%n=5Oj74^lKLddVm}T7PNv|S8H^&nkfKgw z$BRGHineoUy?9VWuhiy~$4bQ`?u-Vp%_NP4WpEaG{roD_lR*Cu3 zziEf3khYxZ<>WrCTQOJ;lHN_`Sx)2X#@8P-r)jqz;iNj;tQ&3u+!)#2@TAp2in?L< zo~pvD)(#;vt+*mDt#P-jK}jpg>=q|`zOa-2Et~1tY`Rv1k>m8^vQMRT#i`hn(z|ze zVYr=La*UIQdVHVoKRFlLvN5XHi+kX|CFYD2WPE0z1JX${l#`Aebf zhCD(Ey*zG}spQ*s)3|T#z2J@oSAk!kXjvUv&q{vv6FL&QaG+e3OP_prw9Aj=zKdV5H(5yo~f+ zwt>h)W%4qr`0}$iGgzsSDXyLpGy}%Ttj2I8RFu9)t+ql*0|3 z7UFZ`gDB%+*gzLKFS82EiFFDM@hIodPQie2rmV3_?nF#tU4e1-t9gAwBaSVYyfErG zM$#_n$Fobu@$8cMf455)$1WJIS!zxnoKkaqGF2st$u%)Oyp?03lOpXQ6u_2y4wTM{ zS2z`}{18->;ccSG!wg6tJOi!od-gqX_QAS3(gQ`+{c(q{@H|ew3HB$h*p=HY8^YM_ z+btE>DhmK<$OE3V$~;TvuAF~`ABOE@Ycg&Xlh#R$M^B!#BxeYPmFGF#c#1zxE+%Pz z-HoRe^u`lEY;|OB-sKJikvLZu+}?ZMU-jOhOF7M|lSF8WCubR<3<}^CQb}ItG2G8_ z%?6d9g)pN=)>#yJaVWA8$?94N;biCNvPb^9H()`FyRAiI)q1Jj?Fe3%ht1!u9fJInrMC#y_pbPi$`VOY|bAG3wqYt=Fl8^ zt&JS}2@Gjv_txHDxvxY>jXVQa zOCrw_>5CcPKuEU1wJ)xEU2i-5>Ie9n8Hs`>>#7Z5gv;Pem{`cF(=Eg?x=n{DKOBi| ztcoKX@qNGt;_CfzJRyD-u2p>zFlT)UN5LK`<}47Ijf5i4AxnYCTm&;hBT^&J1I43Y z3Zz9=Qh?csya2L+Wp9SB0Fdf-@T-8k#{{AmKN%=Q8CQzuyeoa@o?vPio8XHuVtuR= z$d7EJJ3y{D0z=A@S4Radml2zk| zE;rYa$-Q=}n9@NTMy^59;v23&0{ZavDXJQAN^IUBdBP6};=} z3k%^m!e!AbdSI&hHTpGY4$s!H^xsHU@9X;!J~-ETUK3XnKXRYf6#34I>Ghs%4NQH! zU_+gGpc`CYLT_vLgF?-5ng<#^pRrBD^;z~0VQd51h=x+0Z8TSC*~?I9UxE}%@b(q+ z?*?Mx&W3xQwQzpqAFyB>t=J*q;T5f_r6aE+?D()>o3o)=Fs7^w$J-Z#e2vX9WxNNs zR2Ur%I-UCc6f&V;2I;4!jm>;2IDg$D0eRri7E^i#zd zx?{==otP#aQ?6COIX0%u(i2H9I>x0)hr@mqlvI3ZBExycw%z-Tjc=M_E;R>Yscy&P zFU}31iKJrcDLqYE=p;O&ke&t)AoOc_209P+DRzHJ0NsUw&#~y#@G>8J6u!|XYvtR} zqokonNz*-wqk4MIP^oUVFra@)g4s&7->9y;d7cA|7O^jVIrkMqhW z&=LS)t4ojo2v4{K31ICjztA3rJmRaM3=U^-kHJYQUR>+;D4ME17(4a`(n&ms*hcJ4 z2GOta>t57rq$EV!Yi>MjwRGeCk0?X1g<}TNOgu_G_TQL19GPu}_ZL5*tr+pgz)KJG zPXht%2m4!Ue|ZSk|Alaj!UQM^hAItvyadV&dz=LDk+VT86o)&lcWLnh|x-89FyJabK zb1M~FSeae7G{}W8itwPcBnO{{v1hsk1uJ?T%H^#&xk<(*JbZ=N(bov2KYOT~T2YLEu@MeNl+8e*2_|3u(U5I)PKkk?L1i#<$qc7mq1;rJwW%%_5Z4Is*m!ETf zRXY(d>}b8S5wjjm7Yg)_0$p3SmPiv7shEb8BVe-rPG zqK}}t@$CXJ({OWOAx?&sQM=sfh=VwvjQyQnM`;LG`AzzkX`toFDsF0KD9ecBZ5%5N z-#E_9vDTzDuR%KPFjC5pLnkiHwes74n3h_dn}RJ0W6~Xw&i?Wf?f2>bq5!W08u3S< zDL?W7Ys_z8#^$sKA?NsGtx=XTBdws?J|9`g4b+Ja@j43dQG|4vN5|kISR`_o*b?v| z^tZwCY)V0OyVf|WBT!vXjrW6C49@YK{G{5g@y2Xb5tgT%9A_u9q@OI7;b@lMvDl&e z-qt9$$F8uQG-m9pvd=?qJqBrm_dt*Z*zEt(S>{`Q`fod^iYIXY*ghK%bLpMyj z>MY{5@ZB^ORy%Q=&MT<%*hj$UVt2=wbnFe17beZhP#rTNuE)x*&2v&5<6>Rdu`WJ< zfs;+ec6Ais<<2@P0!hmT9Lr)&9F}dtm2r<{B_3^@uPuuM4>JO0uZFO%V@_?yPOxJ+ z{L|!~sFvtR8OOieo(dyk^uTGk)i~iIP*B08m0-y7=eOG(F#XjyD3G5Bm2vP4=-{6@ ze-k1XEN{<~fac%N#Fux>&>>O_LEW6BGDK<-s1GEm43S!ljazI#J)l?WSu)0(w;E9N z%^S0-jZ@x4j3&Iu$EX!FCOJJiLF?n?k!Ie${u2m*R_vwi(X={p|I)NNJm*hFPnD z#K-|^Snp`y?IJaNK@DU(8n7ZrP00JRBw7i))huNq%CfmQ4)oS#lmHknxC9AcrLfSx zoSH0q5z~UiHdjIdkZ9~mEO8_-{%EBVKol%3YJvn7x|!29v#%BX4stzpWR;{drI*}j z5&+?4mmqa*P#JWW+yVF8WZelM!vPMa|5!@$k(*7ub1qu*Yh# z!MN9P|vWyEYs`I74bJm^xs(yyw(r9Y0 z7n39(x;AK{RbPo1_1~tP@TrzhrB&!XX>evbYUN%2LHFO+HL=L#^Uj zvjtS}Pt;UC?p4Dt3nEE8KTOJxf|@y+{2RyxS_`QcYbq9Uyi|U<4=TO~wV9S>MlRLV zpQzX=3(0de8Fyz%GVjY;!yjzUxlB6_iM(I~pPpUUaB5=U3v%rBYArQStHG^oQVq2y zH2HTAnfc~N4w1ulAUmbG0aSiF5R*H6*4l4hffcW8A7pT2>?=vDEk=!w%H>~|OpQFX z18XoIUzh>v0#cFl5@fpA!&?a6<(hXiA1g6rdG)Sxzow6m%%i3+qrhn-;%xkCO z>#OjEZ#|W0pU#Mw;7=C?O?Bqi;(h;8x4)?;V#Ssxt%=@lFB<{J9|>%8zqAI|(%qF# zH9K1N1XhGejp0TpI2T#oPG{$sA4dKC!MSg^ZS$9IZL)wEgd&%E-ajZVn^>!Z$8K0w5f62@(L|TbCdK5dQ5FBmlx!B;b0`xqitj z^2uk#d^F6z1_5!lMhKAA_a_py}BEh_vg_T{b`H{NPms1*k3u$s}3)10+xZ!;R88Kow zt0!phqP6w>ZKC8J^EdAIeFODg?zf*o6m*Bg=FhCF{R(RTM)E?A{Va=fQC*oUDRW3< z$gy#|94f1beTYPBzN6`&dk=Ku*xj;bX5?c8%PQdP-y#Y>TGKT!;f+8X0( zMY3^rTjYDDToL<*xotu=vRKVSTDf!$BKepH>n3fpMENZoZk1LiR<0 zevtgO1Q8{KFSR0@O+^AA;1);|B(T|SJ2$#Ry%jy$%58kcB1i8 zsL-bk4Z)!HBT_UYKhZ*u;K(VyMco@$Bi;+pjQq@UPBG$xgof{JgELq-zmNmzVM04Y zXumqN(Lx&~wBH;JXA5ntz;VL)ogB;w$-&oKNz9A<;fS9nf>Q)yhJvgdaX1+IkO_1? zfEe|_`P1QGi~9=|8bRFHu9oP1^}b<@+(GnRmO9sIOY?`L zBFfK>o{MfS-(HHfjXZryYH@Vzlg@-fnEC-2hOpq=f@K`6?G_nuogs)`D0pc>(OOL# z%DQa{Zb1#T%YAJW=^a5|8SVWPw0?F@!Y=pPkorh61w z0LNR^o?yE^axwGho_&=s^M>`2)?Ad~anfm#n=xPEj<_`F?D!~_!_oKo)$2(APdEJn zDQGZy{xfQ(4yQ{QbvR>JGuK}35%d1_kv2#nGc`KCMX|CyhGkqpT>NU4ZL`Mf6kD z6W?`aeJO+Ml7(P#Tk&VCpugaK?(htGNf9Tf;VzP@BSlW+VqBL#j{Ez1^v0xPlW5~u z6NV%Qu(rfK5q%y_F9_D5*vB@7R1GF!!Lqq@#J%!m)R&!2`Nw<7j8#+lDJJ?u3JhVt><0_IWkPYUnCzN^Vchczj>}pz~tY)MY zAZ8(e`n0v3r;Sq#LM5 zXD75&YQ3#jd69M<9v2&2iU*I4k9>F}+^LG0j9CO}jH<;>&c|I03bo-@Y+-WpJ852@~ji9`J_)6L@T} zod>z{HqqPJ@@_)jwDs*EzJQ_YMh*eeUuH7x29Vx0z#Y=?>?I8Zei5o4@{xbDz82h^ zQ9C;8cbD=~cRk=HuPIn)jdp$R|B&cl6Z3s1=LM2;8NYqqw&dY(9H;-mM?_>j~f`Fo%3Xht0US^7~ zAeB8VT#RwBZFD4*;79@>;o_9pEL(ZQl=6W6IF5D>;WWwfaLvZ#aU~@D?$pG>yd_1C zp>0@SDO|rkUf%FFm=RxvsBRzW40u@DgpZ(S#&?G5bo2U*=D|k%Ml$qy?_7wGUi~J} z(5v5!OWBh~oGAC2U=@o&r-LWgp)y$8*JDqi+t)K_FLU~O#x+HQZnx;`8POD|dz$>R zIY#^z65VoGOX2@MJvnPrwh+e;kejrR=8BOx=(fQfh}>|P_6cl5=+SV7f!~PVj#v`Z z=~TpSWTRORD(al)0qlfbEw+R3Y%Jn~F7t~`2psj_3E5Z~^p)0-W50;DWRKF5jC(=w z%Ne)nc>%i%@(?bPX;vUofNl)EG`wI|DXKeT&y46dwT{DxdOnOhRzB9h4}|i@(X(Di z`qptp#H}2KO*5lU9!ESahNrmxxtzAjyM(x?&6`!z0-zPKJ6LiSjQv0Q6OJJv6s{&r zi*?j9l!yU$1f!gc3NORdjCN$;y9Bi{eEis3MXUoE9lZ=gGahETTby*KkcRbL=X|9~ z$Q$;FfRU2`5}g7PsEwG2n+9FfDEjXgPP zPnKbKM*NQryNVa=Z)t)m!58$5-ndu7pMfuHHyWtJOqb8KQ>5=^y4aV4S`zNHxbDNR zGX(O3pPYw_(I_DWhu^Vt z=*c)GM@4sbY-^EKwt%a`EYecJ-cceLyDSt^@6Kl)V5bCVc(s`F}_wm7D zxH&fAd9)TeTK9BzGm7}S%wh;??s@;}+%P=dJYj^g^2%w?#!=dFl{)XNU!6A!vkE0)w+fjYtB_Z>3Z)LQaI8|3 z<<)gaJJzd1Q7v_NI+(1tA-E=3Y^k@Q2%vwIX^@O|sKg!Y)Lvt!R@<4q4%Ay^JIQ8! z)jr>)2?seZ4Rz`)ki=mpU zMkm$QFZbu9NqL!$r|-h*fw~GmywK0S3#;v{Zpm-_4Ty&Mt?^w5Bz6Fx>c~Rx@-yUJ zK`jvZ0qYU+8Og-k6ooTTw#w;xNRy5w@fNv8oENRM&{cXnl{)dX!0e5nWTb}2;zLLr zO|<@hQUf|I>JPOs;>6ufORFq$RPGt($~jWvVml3+284@=raYacxMWfKoYU}tM_U&% zBx^T(ljc6A&%t9u#hxtW zf~0HSK}I;oxP~)^uF0|fJ(BD7U!>LRzdob+kJo>hiv3r**oyIv?Y~Hc&wYSPye$^s zBlmLf`;b)l8@ZuwMx40#(X0pQcJR5y$Y`o$H+COmyw4Z~62a}iM7548&h@xqGox@E zs?(0MmpP~79IyYXRX}%;Jh<+_Rxs0KbFY)a!U_tt}cC{ygf$l4CfX+1lLX0gM+9Xl|O2?8nm zPj$hl!`-1C(*f-buNV)&4TkhfLYP@xR zCc7TgxvB6BUp0{QC=>L{`@8@4iIGesP8gnw zY2GLVLRd7_WMVgCygEH~_Bse}AjnLU2~fDeNK1@n0@L zlDH-Q6%23XByn9izkzMU3B!|6Ilm(i8lVYAoY>768~PifKM;8rT{@~Ikob|&3KC3P zszqml@)!hADGcfOS{EwiURDaT>B*BQbi5{+F|E9?u5zgurs~uM`@@Dw+vvKW-$`vn2JB35l|<`LRW~mKupU7?U|1Hz1i$U9r&0r>%K9fWnYq zVx4fX4u;cAl#Rsod~6`x$}~rwuM5GYNMv~n_-I2UDzJ2xk7Z|U>$S9I2|KBDGA6Mo+0x{$s^ych8Lb)x6?QRKk{}OM}f=z z(Wx+tp0iLyuk~=A4I|6XUFYG|r5(G@QwpEQ-BN2_+;yI=%INOiD^;jQC%gAbrn&)& z@}w;?P24M)P|id#0aMtr!~3L}kio=9@@>Tb137(Xf^Ut;jFOD1RusaMP0;k655E76 zCgmgkF>J#{m{;iMr{giGu#95`Hn26M;tl!Cv@WkBaSS4VLOFUXrhz-L{Ul-%D@o#Z z39Cd@HhU97oXiPw50LO=WQLf|s-J1$CW`SwAtO#)vMD2xPNdLHq(&0a!j7m+c3(AY z8W+6+qhq2FXA#1s(F3)Mkdh=<6+MgMxQE9AXI_Fl$3k-BwNn;*SW#foaC-jSk~PQq zvv;j$G0e*!tA>AE3t(ZiKF+1Z^0oI}n#qikDdlx1+B7ND%lvQzu8orQulr&;WWByv zv`Jsw0=Z*f%!*AAAdI(WtOWf6VUuCnMf&9vAnh411E70d9}h#26Rr*LEDG)Wl%enA z#WH6>$6XO9NUjL9qlxgb2wq$tZ>fydu8-%dMxk0C{~fyXrHs^#F)=Gp&}})1&cb1% zgk%hl%)!?VgXc)%+hkO&fGpgJH0|4&uxuNgSZV3W}(;24S5yrzZD?uBH?^HtC<2wyO_xcW=!#TcFyADX1 zdiT*)w7~K1qf^v<=<5n4|BUDO#du7V;TOxngNY>3cq6bQU$PU+&qO!IM`dXh@}()K zPfL#$Z^Q0J-O%xroAP5Im1vF-tw}vq*iJ?_B2Bwd3Axx{hKuxIi9!jWPR2_#u9s%5NjiE>g6|_FQ^s2}NKThUQu~WIg~(De5_ah!r7@BoUVwB86le~o zs|oq??Uv|dxz6r#>J=3pom6G_6G%VLDW>y3Ml@&}x%7GomET^)*^?1( zidbDRkyO!s@H%-2?HIR?69l5|Z^Rewn%CoTjO7=0Zi0W>Tkv$wTQRPa)r;%8$T4v} z&$@NKFdD9}%@jRbf6I~^F1(NX^0cq#C8Q1LHX$9^M@Qrd2wE*VGBy?6k#%A-Mn~oy z6W60X@#h^Ab%SL*_G!}8++mM3A?q>hw~CVOUiVw_+Fs9Si?zzGtbI;D9(7 z4$tPs`9#-PA76D*R#S@i{Y8s54AJm#3M7%3Nj5ehh}h4opPa@@-0lviQtISMa#Dv zHjNJdq>2#sMKD9*F43wNlg%-i8=jIW4N;rM(;5)T?+h7v+E{rBF`_oAw1%5yipaV} zYP7X(4ZT>|9MXp%D@U2$wQUUqaYsm^PF4G62$8GarOYO*x2V1EOFbU%z(A zw;cq$t*HYezz%iikd*pgbI75zp7k7h zk~JgV5q#ZVx*|l+C8G-W1Z*#)>GslvTs$JjMYoreNQe`5*-Xzf;y7&9iX29RiA?1D zvKs~9kJJ~s&@kqaU{4~eiY$q1#2I#*Q&Tjj_T&{vEHtMdsoGJ3N4emI8+)4(V|!ar zp4P3?n#>6)-j1W~bn-_Vy@ttQ=mJO8InnuU8;G7`@(hP$8Rl0&v+OEiB_H(y3)$EnfI*3d`K#6) ztw;rmIyMKXDQONe9~P!q;b=aKoSYBSytVV;rb!>s?S%eWubqe{X(y*5V{9k1QGx*B zN`~n}2xCi{m0%S~J2?~5o^ho+=-!sl6L|f5Da!n>c2G_081@)m{#QFN)O&Crbd?xC zs2lBo&(7ze5#X&4HUh~N-Z=nMH-f$hu@R6FnvJ~xZ+EGZjFM_*j=f~I%58zpr`m|nM4Bxs6$ zKvb)GHlML(riHtt$x~KO+4Nq(({UUipA+i>7CHsolW@tE9_hJwt{SpxeVlRy^B-cfS2D%*~&-&yE6NW49wB&at@D3ET=r04|bS=E9;L^t>vydc>Pm*eP2TWxqDq@#0L(>`Vg#GZ} zqfd)G%J=5@uH1LPAhM7mQHo%X0UzCa_880}S=RRk!Y6gxC(U^V+Fl+$kzmB<0Ls%0 z+5D2k60^xINKiyuCea{?>Rt{&tANEPBIVV=Muc&Na*`W(5DQY_4^9OyZ z)qJJGU;EUf*hACm%vsT?GtT2o%Aw8?;sfM-J+T>w~~Axea*V z>5<74#vfKge4}sM5=tup^1H86(RUrc!6%2ek?_6@{&2>O!o^fTiGn za!o~;OWSLJcL$G4+!)T4A6Hxy`Mk#QTaDi<__f3jU%0)Dbl6_anD8P_NdICY;Te+& zZyoo@X=U}Fw8O6=D^s8?D~Iw&?wE^XCFhFFgKL?} z$=Q@Ydwh>8vXmt{AI_y@$9bgRIfU@)4|-g&Rh|0~t?}80jfHqkFOM<}ptGU+VBJQX zIzK3vlC9T}JFykRkB)x=^lR@T<#CiZOFcN3^iJ6;=KIxUCo`OpZM^7L`{Krn`D$vf z{x$jPwvYPP6swu<>|0f=uKsA>DwGlV`KP4*zLSTgxztc0dWO9~Jr!dK8}BB35vgRU zmnJ+sKd4r${j4~s+TBKYx`ca3_+=kM7|gDSH2MSM`^&PN$*6y*IX+T|h~tTVTo zJ`;V2;X79{JYzn?8EXlj7fR+T(m#hDzq$ezMp=-GU)}XBDQAeymx<)!r$~uP4OaG} z1)ARTFs$_9!X8&NQ>XMD`jlVokb2MCM;~apl(70_!nYnEY>v43>c*b^YY?l7`9I|_ z=~E|CbM-?E5B`DhHu!2w)pnwI>2gZ0dyX>GZ(w<+<^G6TTd{@|)t_+Vt(57EI?7US z&VS;uEcMxF!V9_)p4x}-m)i-ygKwW>(9?oye*=2{Q+X`)yt5g;w-NPJZe+SgdN2>| zClxPgsdAB%EHz`ilvm0)b_FFPPuc9w6-e1K~v2Bujn!DCI{@V7it29-g12 zhA$)B0(zF3DU?%QV7SAzgx5Cvu|<~ZeLKUS3T$#aDW5z~%G1yP*dmBik+K_Ssauzl z@`>oF5}l`)kh1y$!Z8we7NB4K+K2f(UE0Fe0+%BHL3Q7Vw_jp>!+3O{IHsKq)_pQoTi`UTy!WXc&*(mL|owVy|HEheTFDG0whdGab zM0hZVaQBUb<6dJ;&4CB{)nnotXGzcYP063r{Aw>KL3RGg^pG9rn2xzMvoy{|$ag4z_FizQZ{d{SBq+$?!$Ad)W%ce`jS{DD2pkXxANHhUf)&|VO6lpK}UM0N^>>pGa(u$``yB;8LyR_LstteBxm2Go*Pr@m;(YJqCN1x9T z$)f@n2+Yl9J6-uGOTDrQVNBAx2G+<@2hhH<)P@7}f#sL6g+7c4$v@SCW$fEem6r7jWU|yV(mKvrbOOBV>1l+QEMjX~CX{!D^8Q%T zCoE_G{LoTt0Z=={=Qo|f6t^y6>-b(;NBRp)J&qKcsfA1F!|SREBg+VX041mvz4uvh zzM6^tKVQAPpHM9&Ebc})T;Tp|8E!R!u;)I)n;}!I4i?dSOZyXk-jnd0uJq)0`cURM zf$cwM_^12m+gb2!j{QF)5zY_rkIBILi`uUkmc({PiCGTsry0aj1>7$w`_sD5Ipl6skgecYTp z>=zJTw&W9UiKyFQgGMXc8g&_FV$9jKOQ>a`+9X(`nZ&LE#)vna zLF`)ckb3hqjJHZ8v(*gbY^qwX_DJeg$nceP*fJg`5dRtBI}3e^+pBp>Uj zm0(Y*o<5f7oqL$GXVhuP3Q}0seuW>{nZnzHe3Cc9w*ciE@Hw%acz=dkeqTb_$}0_u7OOBY=Eb+XK~W*FjhOjnt6B5OYv;pV1+b#E#0L2G3wGhs z1{f~}`MwqGtDfWy@_lEp?BV-}oq-c?7;o$bV#9oXld1Qb-k@k0tdeO`vh;-pMdiNH z#K3#x_69{Ad}Dk$!n>@9@y7W0L=+x*E3t%cidlnPFW5=!a^EE)IsYMIcla(9Ep5+W z3itS~L({>U@6gR#hhY`(I+Gujc>m7LTQ5>u$%D@PoXuMotG9hO3U>W%8oLYevemw9 zNcukT-7D$kY$xv{-*%B)a?|Fm)xM8>FA26D*i_%gzE=dh_0i2+Z}olR`-fl;e!qF^ zDZV|v9fJKR*uQ)@<_f7_d@XhE^?fNRERhsG^BolI=~u}6!Dm@4?Pyr6y(KC9;%mk(M$O6HytRYxSD!7sxya{YoMRdmY}k9m{_s^= zZ2e2R(=LDddI)a};w{GQRA0dk2xc01y9+x1*@N~B7^e#F(#4eQNDMrCH+d%-XGpG} zlw5ZKwhp=Ovvf1=e7YNdlX$~n-NnGBKoV<(BH7ER5y{sMQ*xkjlSr7$JZl|!!;PI1FD|^1#)pDcIT$w6BK60Smkz#>#<#*- z?eM-AofkOR@4^cUHp*y|!dkgs>S(OdNwBfP8*2uvWJcJKGqV zayu+BVom2IN=-0^3pO2+#72nZFK>5VQe{jqMhW(yX!)BlS+Grrw^*HLoR3@8Z1v$S zotLap=NlIYcE(+umprd7FfJ3x)8Fd6WQT8takuaWZe+Zu@u2W-5#DU$MZw;e^yU~Z z3w98^Dr1iEieOoi>x+%o1ncrb=OyL7xyDY>x#B+RoM*f(ydIl6FUc?x#s?|%CF|SH zOD<9gW4B1Ao=wTij6EWGE+iML1;)Pw+qky#l8tJK(a2AmEjd8mGNaf}EBPR))C!}m zU>}LiRv5NOF8wFVx56m%v;O`ys`HXzYMs%;&pzafxt*7E@ZIZRW?W-^gm>^>jrAAo zItLr%Ux3uN!V-(sy~gR1!uyiKb4FCK2|tmy!?;?ojmtVO>8cJHuSm{%!4mk&n6XoM zCrZ3;jko-4n^#pc-fsrZH3T*jHFkz^)c8iQf1_@RHNhH0wz}r$&P(o5KC^FtmZ(Br zzVlh;f&l&OmxrjuGA|cwT{f|7bA?EDlRC;VR|Yt4Zl2hA$yC+Qyb+jEyCB)Y*U-F4 zu*Na98nXoRR!MKfQnk9TY6OhwHF;jG#`s`9C|J2*h2|p?Z?wcKGPeltj{|D;t41>i z!>P}!Hv)Syz#6-!0T)A>nJA-uGQ)#^JD@1p=MpR!)9e%fem z9txzP3>%^4B2{Xhj_x{Jo&OFc+nOTX(nfhp8tcTO?UVh0wquRt~L|~PI zon>P87O>auB5$mT{S&~R6>PkTN7cYS5^REr=WxKrT(bO<#cHDYQ(6tMKfzn9&M^Z) zdh7OwmR~XqSTIQ5z(wTE0LFM7uU>x1H%7$F60A3P-xxE^hJuZgyhKe*Y9VP07BidT zF<7?haPJ?l|6R>8TL^Y=Be9E3J|fFj@7=Aj@*wT9Fk53M3iedB#=45+o%d+0yI?`l z5;yw^cC%nL=Ba{>cd#=BTO%o4VV)&eOUcU>=6J!b7oAs`=Lz<_U{{+F!M;MgZ1ZX} zCfHHImYDOTd^_*>!b>^+X zb@0fwAN}#VQp?Saf^Au>u`Plv9j&pa1p9Nh#-0}SEII@lkA#epqWe>Z*UOwT90m1c%u z*8rPmt~7JgS(`73tyh{&d7Gfl8IyyV+-)X~4h3(+T{)QL-3^SAZ`_iD8SZ`Np!6DG z3$7yXNfW180-N<7c;?e4&b|cJ_#0x+mv5Ra zHWS~K0rvG*lzh>|Ct`pN|A{HQWUi2$9UQ@&y<*-ddFhXwJ+D4?u#rtDxz~JAB>#iE zrN!z~^W}6Ctsl)5*caw2>0IsIGL+bt=0DQS7TM~`Vq)K!AEcubQ3KCbYMA=j{FlVT zBQfwSOJl!h5erzK3J(k8z|ySG1sjXG*J71n?N7%Lbyw0@E@49Am>#j2I{i-%Wg9Ra3P1s0Gy_}W-U zg%`P7scK;Oj5I89xs<4lWeGMCW5!}-TYkZC^A0Rzr3!|Zn1PjBLBaS=8|Lg*hG0Xa zL>;XLf?ly<(ScRwKcNN%?wM1%l!IE5z$<6$!Rla@NmkoKagV z1FfbRS0UG9@1W!$tGP&?(16&PR%r%n^Uphpjj-AZ?{lf6(UvXP1}V`PD8jVqJ^)f0$V6LCtIBa!x9`M&$YS;wnMNfR(HX4 z>gQQK1#2kzJm2aqn9lW7tFK_%O4F=Md$3EavjrP2Ih$uq^6=(c=ZelD zQh!%i(*)z5{Ke`@YldLAN@*8bGbLv_y+u~cqh+xb7s($a-u2cMf-RDoUTrNDY`E0) zjn*R3GVu^|eUo*K@N_%6#ky9oG>Nyyx?bvNq15!P)(v8b>3F4kn7Y+kDUyDv>D!65 zaNG2HYqjvOpoKErYpwI}Hd*Th>n)bpY;6#1kYEp5_Xwt~^ssfGU}J^%sI^%z-D_;I z9+DLD#Frko9u;1NVB4%`g;yomcIyQx!%!*1Yu0PRdn=DQd)<0NcyoTny_I^$`oNRI zJJ!b{Iam6#_pE=3Z{y8q?Qo%Y(UpGD_4h(bsvGlA7DG9Me#R0~f z3M?1AQLx!XYI@3i!9eg}Q(%c&-W_!$EwpLPtF;TY)MC+;t0XVeq>ar=S(NGbe_gmH zbyQ9I?zcvas@eX?TO(Y`k~!~!a!w85C4YN2NssjV5R{JdK1@=k?D_X46q~MIG76KognThb9(+ftrrTef~3uv>d3C|x(I03MQ3XP(M z3!%ZM)-NeVtS6hFF!IcrH)nPP?0ivYz*8dK0q=^m0L+@%2QV$_1H9#;w?>>2;5`>k1H55I4Dj3NJiye*Re()rTnl&+;+m@4 zURq$v+|_{3zMq?Css}~SMhSnr>o(B0MK%J4q7MU3iaZ4vp7|2sh>P9;{6_3{;J^n6 zZ@K7Gz|e&SfFHyTq88pc@dv;!+x-c6YK4IvygSMRfEQNe0RB>*57?o7<54YC_cf(} z)$uY=-YYs0@YVTU0QV2=3HZqECy(l&iuau|%B>x>zmzp{CE*EMN|UvA+NwUF{QWG# z9$ot+>G3ARM~$l4mqS?i4B;uW3B&UU*A5|E@WJp=!)ji=aTMU9OV^|_SJg=Uxqlpn z{|8#E!GyBSKM30i+;lU;ul1v+Em$`mlDBj}XOxLG{qq5}t+e&Dm9*WoeYEera2qYZ zAO3T!A9{V&rOtFKVRMWEvyVMX)X-*jYk?`9e z2saecdqZd!@Kv-3`kN2%8?-5UT4%s8+7YeV9dH|37X9rl62DG?zZgVK8^ zVf+okjLQg5Th-qq6Ni@??-MpZMA-LH!riA6#y%p<{DN@*I>HWb5iXfSxavy6E;WQx zniHnJOZf3Y!WSMU{QNA!w$H@T)_y&>VN|8MXzT`Qm8@Cq553ObBsS!Tut@6qI`mhr zhcrd+L`%L4NUzW~bldFq`yYb-hAjwty-!$rh;ZPegu{L&T>05U(0{D2E^19{?`pFJ z+|SDBhrSSDZs(^!X&xdRE3iw5lCuQHDk-yEVBo|TA@gg;Qvk2)@H*fTf%kP_KNGGb z%ndW{TO9~buOw_Ba8>9%a6jwB)F*G<3;5oP`vL#i>w7>w%H((W1>x&D-~j|Q6aLyU z1Mt2MlnGZ7w(F2Tnyt7w;I>Vrqg~774=o#wIvqebsec)`oxW^`xZd$=QR@_x<+09$ zn?i)ookXa|wOwsag#1%7#{Dn*FxD*5;I+@M9rK|pJw5vXFj6!rDrm zIl)#k&9~O8(xc?EDE^wI8 zI}3bM;M<~qp=ka=D1}1lCUB_0dj;+l?n()F6m5eg*25D1L&6EjbW$0!hM+{lPACIp zzl1r7l(aft?Ub~(_P4uLBfZ3Fl-eOZi1d+HPt(( zj~-U@bGt&QW@8@{B4!OnL zc=*@Q27tr;bNk2Z0T=jaNaQBUbd;1cux{~lY z32&dw@a+=rlh1Hh3AdJT7YQHCA-#!&znaYOdI@h9dSeOqYD9WS!VM%`CgB(Rk-k8} z5eY{neCH6-ub1%EA23{aGGWJggbxUPVk?IKCgH~=&u>cjgLS0;Tfz^{Wq8RP!nV&4 zF2C$?SaMez&coN0KJMv7p8>aOC*dz&5cX;H3_M}js%?OQt#1Mj*zqnbziwZHk`}6B zsUHWjS)UCms#LSK9e_{v!Mtu*%`kzJ1Qwzl4Xb(J-~q&asuA15!2I)}Ve0qSG;g7{ z9-iM+Yv`cP9QhUKKcQ!6fjL#zR+Z{>%)}~HM}g-94y)OYS{_!jK-$-Wb%#g5TX28W zLCr?ElY0HBEv?blHKTV;!t7{N%^fR7p}n_mMmVc@)F{l{Dt<>QH?I5-ERcI2{i^YO z^s7~GTVs6c3W2HZ(h$C^l>PkWWto86Pbe7KLe1Tp1-jPo>Ke9`pKjr-`=-0{$Dn`y zvN7NVGB(vxIHEO2tZnT|!Ckzg0`TS?{Q-FzNot`Xm6jT|qB=bc2~ z-ri|CB=_&7w|B*zR15VTpkMXqbI};T%$(VF{v6psow#HEm=0}spFnDKGpR^h8va=HnwxoC;ZlJF(jYqeJxTckU2w#_O~EBP*Oh_W*+qHHzM3i zrG*ad%<!&XUHdWi6%DTGVr5RU(zFtssZem}zO)pw6Em2ooX)o%&xedYB^@( zruuvoWxhL)^dlvN8GV_btuJgs4x4Y=0(j*MgkK9By6t&{51qlXR7)8ri$AV+hhp83~CH=WE%v&i^L60ZtHmKlitugL&P)FsjfqqT-n}9mcZN;mfms)#LYWy96 zr=Z?3E0fY4JmD#5$Sm6kI95Ervg{><*TesDM`^zUZC?p&*P7v>t=V?G?S(Bxx0)8} zEy>~7a49vkJ^@g-gpM_z_C zaC0*35&dI7(RD7eJu7O1Fs2@9Li5wHL}w}^s*tty6naI#+Z#<-JA}891onO@Z{a+J z34MRrF0DP^H-DT#2~%s4?p6)&F()&BG2j!qpA1f(KOvy$C*aq z=qix0Z>pL9LfqbF{92EM_j=!<9`QKnPNT!?`p|S`KpLeUDJP*auQ@nUD^74{7)Bbjq!k}S+T<@tT^m5UBL>p_G`~Q`4TTi0&1rl47uYXS+Rmq+ zj9~A-HiS>|TR^I?{iSZ(#k97gro+B-sQqf1a~f?|{9E&MTJrfENHba5{2aVbPlPm; zeX^3hpUU1>w1v+t{!FLkTxbpH#dh0in$ZkOPHqb8|4#D*G=;ejiK|CjL_^|A`@`Jb z>6SJmZZmBO4~eTwx5+l7$S#|H3$N^I(a*ckR@0EUV|1+!VJ-Y2aj^AP!KnzFDw3Ag zhWL*-P4j#7gPg}{O50cLdNZVLHS-~Hb{F82)d#QBI*erRp{JrA*>dX+T@Nj970~q7 zjK?(HJ*tGJm%G1$ocrF>v|9@@7Cu+T@=xlKH&@Dy9TNA5)_+J`2ur*6hW9&Ix}K%O zSWQx6V7_i_od>cbPZI6xfc0E?ENySRs!G#Ib0Hnq08)RJda<;eC4ADtrs~)>^xoy_ zv<`bWSkXE>Ud39xKh>jkcurfzZAkMfA+)7oZ4T)%mhQ9&p=Z@D%Nx_F#>6(KQ+;Gp znOG}g)Tj>hlMjxaXnMM+J58ULz)|ry-R}f4E3h8@qz}hJ+A$8&7f&GV*%i{1ZjgGg&$kSQ_m5UXIxiK{?~#zs zXC=2R?ZDQX7p+O90$8GwTadz;1?m(KKyLCeyS| z^~q!D9qrz$Y0D>h_$<0@EZ@_QzIWK4K+D;}zS$0JJ+x-${q60pj-+Rzmb1tHLS9=Y zkF_LLYAQ|BDnJ@m71B6$4Nad{*umBe^xiKjh@)+`aN3^+#|KCg*(cqv!Tb5_eWT~_ zzG^*4FL*&3%s%g%3GZ_=AdRXUHxg>wzb1XQf%XrpB=yL(^6&}#|3lgLm+0B*zn{Fm z22-&-_?yC_f~~a7A@3ngWbeCQgZJ~<`$o^{yEGYmUN1xCA|Z9oF#3`v7^>Tc4UiT>0XvzrD+xNa|v9B z_GjtXDR6b^$I?YNV11_0))9Sv!22FuV^YsTntm>X&-uEFqB-faH$5P&=eV^t%vb4S zN$!>}>D_=%)wEm#GNl{*!s7Pm37vLl?Iu?AdcR|RnwEXfOS`ZLqP0>7(e(L3M?K}A zjLlp{zehetNa-~xZGX~Z=_tBg;r3&Dwv_IP_2VGzKLpYTNu_kYJb!M-&3&MTmu)PG zk9@=i-oK&SL$2_VrYmL1(USNok|TUxsXpC)L{gu+Vh6O7XD=Cwk9e$>ILnD+>X`zLJ7an{F_NYA_f-@q zd9^T#mKOhNK3$W`U!~F1Zs~WLdc1*wo3Z2H9z^<{80@^CHnm~ zAWi65NhKc^Ceb`B#dTsi*xeD1X^?jJcBgY0``%|X)XIm>H$w@esegrNn*LffiKc$$ zkPfhbw1o&!fkx@mEbKa{8T}Su+GP6qu?nedU5)5qN$Lo_JHY2N==)rJzm&fB6#3^{ z==(5rUGeK5n4?> zt7Oxh?aeQ-wW|GMN%qq6|F?2rs$b}p*S<1ygwpsNef(kFy0g^vD74?Ye!oKW(4)ta7Pu1G0wx+R}h{(d*@Z>+}Db3w-Xz=JI0={KyGq!h2qa z|G#Lb27Fn5Oxw32{PuUaYT25=I^@gC_qDU^Xw2vJZ+?lkV`1+9bH4N%;oc2cUY;H; zpzEP>6s)&$G^JN?|6`5)?-=o%q>{z{(AWABt|rJ&d%Mz4?k$DS`({G=iA6iIBaE}57hCp0blF$R!`ORQ z`u>RIMbk-w7tNpFJ(Q-!tTdM5v8da`PV|`EwgA#{{*V$YNPDnP(!0X@V}l`WbOq9S zww=Z{roYs8pvUm@v~P+&)kgO(So7oQye_DXMq84q6=Uf8d90nYnIzEn6U#4TwOUW# zdy47*S)cIzCXI2hp|?noq#Cz((%)&wXkGMvMB=84{?0@EbeU0&)74UeJ4e*6_Mdvv zTY}gtPwBD9k?5*8cj;j1UpdSN9bly-Y0Hm8&ZDU9$1SMJu3dBTH;>U}u%J&^m0i~s zmSsi1?9vVL}~!lPSQ>xYz{)Kcw&03L9)f*MP{=W0C zWFTtB`XZ{4s9#q;ceW)isGcj|Q2C%dGCn(ZBq6Av48^4*i9(e=s^Zd#tVMl(WJ$FH zHDY`@u`@Y}@*i(T|2^{}s&R~!OBdRk%a@^DOe3m>O}T1DwsPr8J6gD!Mz*IKjp{qD zlS?-;8RasrJJoDd*Pz}m-N`Q0$e`b-j-c8FJGj`9B2@q25mawc>&7{{^dPl<;`2K+ z&XuYuYJIS`OHVQgl@%O7<%BvP6z0;4Ohpw3O`w{Osyb$(i#=I`sxxLP)mGHwdyb?x zxr7q$TTtC+;>YAZBjJsYX4P$s6^KeHG~$k;_=_AR-h?;ms-K>V5D?0eK@AeqOd zHLiKmWf1uj)u!e-s)MNfrB_@AlU$~Fa<|?sDyvq!%<>KeE)HZ9QywX-VnuZbRpYOC z&4HXlwV3#v#vY*h(e2ZLyhW`X^pVC4t)a|35`SGXIgnbYSSv^3Krk*wgpn;M*e1frZWL@iVdM}BwvaHAgMuw2jGRWn77|ACnR3MB zi7sXktbMYu@gbK%Yo&>cn-{qnmjw z`2)3ndpGlmggn2sehne0dPv;o~hRiOQzlZouYr+fGY zG#vGvDGjx-2E^Vl<&jowx}QuiU6BB7+R3B^ml4{ulgVHdv}q?37p5c)T8@*6Hws#g zlSv2)T8>jlBnn!NQ%D>NS}bv70}5I!aU>H3EtYsX`VrJ6NrM(kJSj#&>uD;fg7`p-4VY;u9e=n=(?{u#$&8&)%RZk$8zu~@t|dsVn; z4jtl(*Lv&B!O|R}p|WNwWDc=G!TE14X^MjL-&`^PwUWl>k>RKe8kQauOj8Wc`1`T-dV3EwRL^BUPGGedSbnn4AM2v zw2u6ttD=@h(seB{ttSt4S&$87=DyCfvCP~znKqGs^qlLBo6E$`_ew7_-QT^okZL|Z z>RD>Nm9)?mR4#)M-ybo#&NkwtE5o#%*!um5Wtw)7`MM67c9I9Wj+u55&7bG=xMfCm zlP;)ooy|xl8Nw7#POhT&R}x=TnCCm|J!HSG@78-sy#OdBNrN`uKJpV&yyg={pZF$i zd5rBj`$;EVW@JCyMC!U@$|1A(bQ&C6 z^GFI)ytZPgLbsFU7=t7236h2}xA_V=K{7A~wLVGqU<_(~@;|jc^`Baw`cJL@{!gvX zkZe{8)cUdM9J$8?wSHx~OrGfa$8?3Tf%$09iR@@_y$-97zVej*Db-wWb5Pl()N#G1 ztMfy%+7F3cAj>JNqV3i~!p|~!#t7Qh_*c`MK)qN_ex+YXerMu+PlaR{k7+HPTDTSx zM;_A*k6=0vl;tA}szB6Qdj0T-M49`S&Zbf7+=7j5`$0QX6 z*GG@ZDimBF6_br9xIQW-J5X>9^n~n3!8OnmaufyEcu&bG6kOvyC6`cejrWY)M!_}S zGg2#vturHBX_S!qD7bnlAP;ix1LJYw$ zhXitFep~toUo$4Y=1Yku6I{z=JCzc%5Xc!%mZaLcz90usn_@xym8U?<@n1pf@Lxge z@Lxfz@?Sx#@?SyA@n1p9@de2XfqCRe&~ki1E-)n!c{0Ro!yuMGj!%Lz&y3?5ISI;q z8O}9nBGjeEc&;9kpf35S^ocOPE|Cz6C!Mdr97>py$jnrMs$~?!63JiF;^_Q3>gwwH zlGrmP&{%KR*Tf29y_t6}pmKB_Unc zY*$%0pexx`5l-q#bybCHx|X>bgd$y~JvHGSQ!;5iX|=0SkSG4A*+$oLLN#5VdzKe| zW=f&8-s)OG7|xVTreE0OY9?&abAIn>A>`^g54&0lMVPZ$r<1O=gvOI#4#}ihCz~o( zf*ljAiF2;j!eCvOUF!%gy597xD~!{1-PJ~z$OLt{=UPwLp~oJ(HV_W#u~OHD!g)RR z-nFq%tjE5(HWA+IF`FtsLDQVRpe~AAGl4d-QRUrQ2(5Khb8973j^nZASE{+S7HaCM z;nqfIsH?79JHbI$Q@0MnBwg*?Y=!B%I=OWc(sbFobrp8#8t7&x521-tbV`ss>s`%OqfZM`zxZJ;n;*BrM&!ctue-5i88UCZ5u3K^)p zk?Y)s343&Hr4RjN>pAzijTWxzI_5T3c&Y2Oo0DKQmDh9Ym1}M$VIs<{_5(L}VY;s8 zZXUv6UH`aw31@UE?%qPV1YXLVE9UNgg1N3*?g2ss%C>fW_h4ZcYGC&k?qNcfu6FL@ zg!{U>xJL-(6M2~~-TSyl3g)^7x=wip=`TnhETTMGgBzr?wKw0od(MQ?SlF4 zbA=(gmb%Xuymf7GPZ1_ErK#ljO5^x7^FUZJ4Zc8O3i3FeSzgx=Ss zf&~hCUzZAPP|$0;Oz4P$UfX3tPZabLFBg78K`-%gVHgUo4Oa+`D7ZFUAw;5}$9knO z1qD6UD}`k!=pkPvtV2N$`6}Ts3a(RE3nx%;ow{0hh=N}JHNrC#^zyF}41e(DgX`k8 zLS+-)O%q0;;MzA$2uDHB`g$Q21wHHQg+EcyTfaeA zg@WGt4Zg|#SXS?v_I zprBp1OUOh)yKa~81qFTEyM_8QdCj12d$-VzeyPp$k)v zbadi1_blNo#sdBBxn~R4bQQTD7K(JebU!M5)Ah;yn4ryrIpj!IlRmlU3JaNNPw+Cy zBTv|$46%4(zPy#kS)u0wP!h578{v^J4AJH6aaC~A?erb{7jo-X%zB;+&k z5cuf&XriBSD|XQ=u8gU=MgIv_-)l@KorGg01|S&bvid{bl&M0>MAb2zJ zD~9JnDpLY$?>-myF!Ae$=RzS0t{+N;LCau?;t5Wgbon-Mm>iuMTx2{-#8b0!bhay_7<~bXT&2~~n z{!P=X0(xy>&;|Wjnl9+i`d84OrHNhEKq(0%#3|0Ci51p@@&xF?GK!Wc=)p3IHYn)9 zGKx)6H@)aMP-1t~Bo8xEUhJ<+q5oR{uRdE>ETebUmCES5b!Bm=KHU>*voflvRS_Na zm<9dk=YPvwXR204n@r|q>ayNwQ6_f2mt`6K-K%<;Ih0!05WVy{1eL2DEjCUJR6Bgy2^Vt7T4>t@N6RH>Z*?y@ z*<7^KHPEw#Xwo&t^Jj6gF1b!iae=O5rdHxsT_)06yorJyx;A0~3VP_;iqDw%6>U55 zEmJ&!E82FVwjOGhLi<#`Jll&aH-nN%YI3OOuVNNcBH8EI)wQEIFCAhD#E$MOoyEnd z^K_r?g4=uo9R@}qUBwKH4JnB6>?-D<#(Tt>x{H@kBCVO7Sb}n-ztZ#&KQg6~jtvq# zdx$Nz!2CdSJbQ^DsDH+;^z0)})V0a8pLm}siS_LLE*3NKp1t42R~Unyy#eAUj6u)d z08!iubKqx-fnqr(-XA$oEZZ(0B$jQL4-(6^%Lj{P+vP*VYOECAvo}m^k8=pMaU`R~ zE~rU17F4}ap9b&o93u`yi4KRTMxyMZtz5>6E~uf=ji`K3o;2nthM*?Un4=hln)39R zr;`|mn)h^x$w{1nTAXmq(^*VLr6nveIg3kCH)+g8T#G8AF&A+QYDa=29UFBw>Ue?$ zRTka zpNeGgZ|p|yMi);}Lp{u`WbzcNpib_)>**!dL|xnWl&U`J=7GDO-eNP<%L7lT+M$#K zA3S};&Zs&EZn^k~_NW@iKY03z15hoF-*WL4N1!^*a3p@BGivk<3o36^zyU|%F9xG# z9I&8@MEM_ggi&Hq3H08y0C76%W3D3!6z8Kf8VeMcpsW(VdIpJWP>m8buOKlUMT+-$ z28+8;6^jp19pYj=>mlNOCTP=|dxeOtx54^MCY1))_X-vLcCfWe47M%2#)->OU21ml z3Kw7Q=)6QiT7mhgRjzslHw@;sw;N2g1E3iH}fr$HTp*h+mlE zN#f*5Uh(4AOg0^>*;Mgwrd;xEYLeGf@lu&sf_RflgFEpO!~&*x4erEC5T9YJ!Jau@ ziQ*fKwc4|o>I=qB?o0EUCdzwYe(~D1eLJWsG9_s@52Se|i53`pd0+=s9gN+`{mbhQ zu`$LT=ANW#g)!wozSnf|S5%z?H>vDUHIC5)_Ko6uX*AzrbKPv9^ySuJk4Wl4bB(uGv(1f z{|eso#g_Yitletf$)W>OJn^M>uB3?jd5nZpEfig|*m@zir&xP067x~dbI-Xf7B~IH zWBZ4+^j;z+W^?^BrK9(9@lPf=)*WAhM!fPy~p)nXn>v;#pI61%^3 zk^Dn>!ipaKyw_qZPng@o!8=WtV-FYaP2y!N1-63C;w==GkTa7NfAPC~&MVYfI91!sia;#?G*5i-S86r2$<#Z@RcBkU13 zqTr0MN8EveGs0eRKMKwWd&Q%u9SL6E`@~bI;|b3__KBBJuW4+*coSuy>ukUH5Cvz1 z1L89joDmL)Z&7eYI4FKW!5QJ8s2t(n(T&`9UWdersE4`4`;cgff}?PjSO*11;ViKU zs>bn?E`N!wP%Vz1qq0T8Q8-()L%~rvTkMa5qwryI2nvqEhsCj|llx-4kBIK5Yx|O@ z0#M3krbxB>O> zkQvDpx1->Ua9rGnf-}N#@d%0(7r5k!Cs7rPgT3>_i>PfkQoK)yH&6#}ETJkuwch*A z>!kP;)nza7J}JII$rs9rr^J6yl`oi)Q=)v7&{u+HGozgNw^#x7^9(vxvuJ^`v??c_ z7OhcDx_}y?x^^)mr^S}29rYaP7~j93PSmrYvSZ?XGiSwUrc`?O)N1duVv?@S-si-0 zRMOZz-WSCEy0W}4it;h2XA-?HJvfUjur)zzmhXLCY{L{!hIJWI{)RXj^=|JS@0+4c z9^{NCeQFkY-xB2$Tt)j{c;6QD&vEtJyTtpBIQl%-u*4JQdS*Irx-_2Xu|~DHV&E;>jC(AD>sE`4wK~>jgeOuf^f0 z3Rb~BZ^SgzrHK=K-iZru@|+KcP4)RGu11yk&++*zZbHqhxya{>n01TioOE%O&o}W5 zQwk~Z-|R!A(AzxL&|$xiC?($k@$FNV(wO)fl%<(>S&Sr&?Pe}ZCz;~O(y=){iWGg1 zmvXsNj*lwMN0lFR(#IgB-RH4(gL8Z|Df0nW-y7$AjFLkES7)m7QaY;P;wwHCr97rQ z;o`x|)hkQqQ1fQq@-dUHpoTtt>|?ISHg$gOQ(d}+vGn5aKDBlEFDd6+N6$I9Slp#J8PZ%8;3kzQ0KPP6WONJ4$z1 zT|m*Mj*|8emNto;>0Z>UlQf`^3wp4+O36&|WZtP;T32Ze6T2hC)=tXhF?tVjL&09U zh&i7ob~Cq^UNYs8Q%ic8_m&(UL792v{gP$oeWWue`z3eH`$;W|c+C9aH}n3|Y*eKs zEiHbN>>l&j7NcCAZ8Ue3_Up2>bdp}8l5bY2?jl(|gX!W) z$D1DJCTTdT{mtJjJf+YQ9=rZJa~s{ zBop7R!z2%;R2uX44U;A?!8aD>J5E}N(_LHQ);nA}ug9W%$4ey`la~hdo**@U0rSfx zffKE2M8hox^u@P=7|Dl;&o4#_=OTd}r})N5i<$C><*xa@lckTS4pWx zjPzS2J>nuOdSupKBYk3`cSV%C`>mD8Hz+e%n^x*er7@*yJCj2E)=8By_E%CgRdtNL zJQU)WCe^{1m=#Uc7-QzkLj2ZCKVz)TvS_Lf7+XqX8>B86%cQXll0C+{?GEwVDE*Ex z=iSj%!!UMpXrkXHX)MOR44q5mjU+mERjpHJ``G-uk|NTO}JJzr3Ie%qzZDCgAOemkW5 zs7Kq5`R$U132Zv{eB3U{#FR=7c0NO6^gpaWH+KiEk4}rEN@n zyFM!AbCG%1KKLD#0wpLViKJN%DW5Bu%b}Xg6pC7P&D#HrM2n!WJO%cLv%26|a84KO@8@;F{&1m;9{XO@1^dILGOFo! z8P7-j*Oq+g7@IraH}j=4Onl$Wms-<*oPqrh>T*R|h=RFamENOZ?$@Nc2A&i4#_Li) z6wLjG6sD`D-_8H*f48KiEXLRMEmqGTSI|EMSI~89-@zDMLAUU~r^~TNC;x}i23AUv zHkIB(UMOutC66d@DwOu2oYQ;yKavikeA5R|okZ zTVc|0s%!01X*d(~XRY^tA-U?>;r~iXrB5%@QnZj$dyQ|Um8g^_gQd692GqqU z&^9hQ_gmUq={OU=4)`G5)nl*fe2~n`^P0`OcDd3=_WvHRB{%c9T=V#H{@DUzDdf&( z^Y#tp4osKw3mCKw8aAbM-NZb z%oCwP2YEK?_QDCmFY-<< z!Sq1*zN0tkC{IB7TK`V90M-A51L-8Eqb~XVPCCo?Q0LAo@bB65Zb$l@lu%SKf^?PJ zav4YZI+E`4FpTx{F;V$r>}tFx{jZT(D4(e#NDuih%=ygj+{vet-~ z*<;Yv07rQTQ!?3j{d9nvoYR~Pop;}!W!IEVi_1Cr!l3FpzC!5C(CBdc+MN+n+HynLz$AvnC#Ahf9Tt_ z#p^IKOYYwsa>91qFL0LZq3eF-+43Z&BD!5WYjfm-sE^M>g?VxTmvQp>OTv7)Vhbpx zNPw+%zB~YR!Sj`pEN|j6HqE{*q{x?1)u&#rlp>R#*>uKDQ=PSiaw{%6zrlg2vKI>W zBl^E5sF^360{@gVQMVWR1umBDTk=w1KUyk#p-qc6O7)h> z^yW=kYrY>Xll@TBtP{yHc`=vqWBg3|4=Kk{Go~ieaU|Yi&K5i8k=1hD*1VJey2q`S z`*Inl(EVtQ?1D0#UqqG21Z&Aem4Pv1_9C)YzRV@SezaEpiZR%a(q!{CYz{`)kJ98{ zn2L<>{iVqcOv%J)cvK+G*%or9lAP>mf$L@ac3kbU7X)sQN9$TcW#691E@fv1Zj_5r zZw?*_+$2x$z+=t(oeA75oBhJovEP-zt#Tq$GO5+?Zs2x#9T(eEcglyD=v_O#X^*v> zgMw@Ao$_fex}8m`zf&$OGu>|4f!^%_wVrtRY2a=-5H(`L>%cwoCRCjXp91&E7wLTy zkhAlIazWYhZCzD@j>`QyLyV3?FmJGQTy{Wxo~MxG@)#~UcY)-|fx76^9&#KPiLqU8 zJR$$3>y~y>{)~cc@U(2!1?CV>PSHPlJT3QO;_ZSn@(89R+FN+I?itw=Rb};F<2gBy ziJw=_$zO^DIB8R3<%mDF>q;1ig}_o?Jf{ztvvL zHBdv7ih|zA{ZKy@7X`hOqjdcf^g-T)I+bG<{D~cs9Z;NA79N)Q8arVyEeK_u&OwqdOx+PqA9+p zJ$-Ge7?n7b#kr2b<&<2e6msHzHMfdNDHH#0D=A+v=kUorgDWWmdh?2U{wSQ0AGz!8MeZ zx*~&XD((96`H8)X{c9@@DCZ%?{#MFFRN#r8>$c)MzRj<%q8M;QC5n zKVD`x8f&B^>WU9;qFiT6CQ~NG2RBn1_UAdRhaao_g}QnMw^P2L>^-*yw^!1B=hKb!+#CFhQeyyD8_&bR9hC^wFwYagot0vg z=l%=9-4v@qkTaRQTl^r{PMOD)O2XZq1@}}I>v|pBOF4qtp7lAnxAIY!6w+6z;lSs2 zt9QrX-;^k(WI~=)3K^(ez*wK*H9`g{Lx%92jrTSTaZsX|=u?(^+J_8P?qh7k!9F1) zlo>;L&gK3iLq;i!nUcxu{q7-Sl=;JW>{?<(h?8;#)z@oY6O;0FIFG%Ko)Y4!n2q?M z=^-9U6I}~Je3V|gR)hp9o=nN)b@b+taSHq^2OK|pce-U9ujHVnPOzymLAijsy?%E{ zq*9355nU-HN~tiCPnXsGU`Vv$gxX_!G$dBJj(R`Frpjcc?8Yjd&E2q%22G{kz!z4+TaUhGi(_11zN0GC|{&SVvs4sPk{pTr# zs9*Do{pTwss3!D^C|P-nsyVdSe}VD^<<;jyNQ&Y*n%C2-j})4!M4_s8%9j=^Fjg@v zgZ_+YC22J_Hlp%niYNC*wFq6K zEao|dfX*F4*D7VN_|_{ayodvPq%Y=qpdzp4BIG za~TZ@P5+^aP?xPgq`>^PDz1(&hXn2SOQz86iZ9CPk{8ulR1l5rP|}%_w7^Y)RJ%}< zH;tn@g!IamDO#Iw`Kv~FR zbUG6`plo9*5?~D;RQ}R6B=nGSM$dWFvV)6_%W+uAN5Qxp zhn0^^uzluvA6B-x^7T@Qu9qXqAtrdvyVUxKa$A=LIjVfsb-vdzrH&h4+DRT3o;gZ) zUF(gximNWU&T%DPS5Ub;Wv#9Z(+MRK zp)1q$x8kmgwiT5GUGJ>VC~3M(6yep~5^f;*XSD<%}& z<$OnpL&4LPca@bW_>J$bvX?1IJGpOT=v^h73GU>|pgMuE!&@>#?(Wn!-d8@MzNOy|eV|x*Lp@;|EO07NqL>oMlO-=hA1YZW%cY+~iI?HL5`yfzhrL%Sqqivy;1coM~8h?2BEfAaSr>Yj6zkka1Z;gxH2Va^S1^1 z6V(^BdE0oZFfO(}1vS2mL^YWyL4&?ZNnL`1zDh}5TPCNh9@o`9R8j9U@iUjI4)^10 z0?u5TdXgzgOT8LKjOqoZcx}^F6V(ljbuaP>E2lodm_tzz)l(j$^^6FkgF*ZAZ&N)o zF|4B6kEuwA>9W|rlIn}<-t~_#Gj#{5R+p9jRn;S?)7BjuTBv2uzSY&+ECyQ^{T~hW z5mPRy_WO|X)z#;EY))7W^(#{znb>WxR7C+NG4vU zmFmX?zecPKvr~$L0PGhsEosDG&Tiw`fxhcbkyBbj>KA>kCOkkpjv`D(b19A zQP-dzceJ2NN9}ZWBz4tYsEf`PREN0O(%PtZbXgD^wS*~wG;-P*R!@}!+42eG(mtw8 zrd*-f-$%mgtILD=_t0SJxv&OmF;lKk_wtpnhHBGL9`hS{H>{DG$dpXXvmS>vR-2CF zvBtY!g*8?0qdM$*750;A77npoVe0A6Va?R#s0!=Lk87d+HlD}gH^+LkREILf6QAwX z$F)*jQD(F?(^|Egz~?Y(Z-a4d)UBvLM*cjmow}SJo#47-RsCZBj_NDavdCipPO4Qj zpKi@aw{e|SPo`WU`*O&*E^0&!pL^8hsBv9Y`&h0^7vsluQ(aNHmu8OZu1-X`T}&Bg zrxv1qy|{c_54Gt;K3#)L>&Nv}?NNI!?hEUsj-CWDdS^dvsoJYis5Z0}+gm+@sz1Ki zzmM8)GUTLvoH5(R^;O@~GaXF#yl>990jg~rpF`~azsC(!o5phuTXA#TVATOt{oTWH z4(dmycrq}nblgz&Od{lrC!ZgF8#h|Do5tmNvRwEW^$k<50Q-ZJ`X1GxbVzw;R1yjP zZAf_+l_bG*{94Q)INVeERXy;;(JS1bu22R-^qsVY8VsWSG?5uOuQ5? zbvYBX4(o(_sYkiAJ=XLtZuJ!Eh&8>7TfM}Tq8gr~)uH)Q^tkrG{h7%a4xUrB1}yOZsbI zl)9EFNgGAa9Z_mJDuA9lqSS*Z<2FYUtsX-)+Gas@nkhkBGs%&}s3kl`zrO;f7`5qa zSf2^x&Dyr%v2^%xu6c7hhEHVcjwxY+d z@IQ3T?cp3gQx{A(??2Pc*JCSstn^=?Yi^IA@I|^{x~2b_ZkZli(IX~&g|4|hW`wWQ z<=A6k_!>2uEp3uEkbcu^)p(|O&2?CT(^_>V#?CraDYs5tfVx9}H(aM)K;_YEt~B*J z>S~wg9%Ss0FsAiyi>mQ=A)2N-1Sq(R-rKsbPhr&0h73T4| zSEJKyR$HMO(&;v<15qRBbm?j+%7;#uuFgfx&B$uFMcs*7nsF$6i+Uc_aQm_Ft?D(@ zuiH;k-AAR+QIRv$V$^mzDsqPUmWf||Zd2PQ^DQzuvU~V;bvmj;{qEsA)!V2WG`3r9 zy@2P8rLjHgY}AH~Vd4AKLZ%e*Am&Q=LG>%@Ys}s7L#ky8Uv_ByW~p^h(E80%o1o@y z%?$lZZH3yjHJi#7Rb_OQa@ndKQ@qw>bb(X0+8<**htg|2bqL1B4lQsxtd3<$&{keH zg&tAq00Xf9Y1=M)Q3asjIB`@B$LXHX{yVi+Ard3@XgxC;m6f8sKKvG!}HWWsl1-0wAOj*Ae5Bv zMKy{kNrMsOPN*gnj39SHjYqAeYvQCj1C>eF#7T7lDr1$E%PDm!YTv3xRO?Xjed+zs z>K4?(zVv=*H52u8`P=Z*Y8L9t^3PPqQ9jFsh%@S0)THGGs;j6K^cy>?-bHPr-`H98 z3kvqzbE^C&-zH$cJ*QSg70~_mylR1ZPxssNY8})Idd|6^Hb(tJ&p8*=R;ar@9LYuX zSJbl}7F2eqS-l*|CAA-FaW4z1A*jx-j^wgB1~t^xg32BB#*>ausYak=FB4TFQvzw_ z6-KV8xfp{n|E{P{Q84D;74;(uj$l{m@bG+T;RtqBHKMFSDn(pVtDxG3)TF9~iU?^G zab2yCniJBBsyWJ@_BP#6+o4=&Z_^F63yO~U5OGtrN4*KLry7V_LwllbsUuK(X;0KG zl@75%_l_j(oA2O=+p0IJs^4g;5L9Eo!4Y@VNK_XZyQ9XT;_D8MxT{V_Ev!45DjBu0 z?kN9z>Jrq!x^7f!nRqYNeKj3p(C>C%-GzdFxBKcL6!g12P;*ew@Ag1FgMz-b0yQ56 zeQO2k9TfD*Jyai|pil0hTFR6_uKkwhUHG3XqDN}gC2UQwJ@t{=h6$eaa*rrdyYLuU z|JE&sK1}iCf@fsJ6EzWIi{8aWJY#1=XcNJ;+H+lSt@c6}T%Enr z1y^ow)R(*z4MrY+uYN?q$m8^0t!4ZhTWm8k;)7~LZMIoRRTTw&5FgcAOuP@`quKyt zzNa^aeo~vGx-$(xUD&lM;*&ZYRlI9GRSYVC#y+c4QGd|bXLS<_+DreaJAUM($H;%w zBTNYz98JHdCoy&|eQU%Q^#ZCWeHYaYRCxMr6G%RFFB7uG{BPto@ui>#bTmOlu zV%UoMkSL6=VsKc?WA6DC$5%6ubzBc8T8=k2#HE3fN$!-N$JaJoU`imj7TAujV`#db z=e)DI`}n$sO{lmlmg5^3`fcX1Mbn0iZ)Wh_!u4%m@c4Fyhzzb4eP)gCVzAlH<#{=6 zd@n;1%Gc_sOCQ5>)Nh5m$M-cv(Y^p!zAT61;|CftQB#MU89&HyWEYRM_r5cJnBn?v zu8%pd#*Z-s?%}G{#cYCyq3p8?-UfLukG1r!Il$6nQ1I3d}vIG1br-)kotL_F6P6lw zoaS1TojYNr;lf$2ej^JftTRNM1JUtHuDzJB!QgtH$L3rSBexptFLBxVRf*hb$U+7D zZWWnnFu%-W9cwj=+-rzKX;<1s9x^yw;W59izeOG~>_Fu%c7)aB2}Ylc9S zSC_4kw+!-49&7yWugLobU)0tv$0G|2Z*TEfK$mcjVngU{uI^oLL_Rf~WJ)0&#y^NG zG1%VWu`?0RB3~FnQBxw{N4_@XqdM1rANkH;dza^2enp7-XsB?X>vpz9)Hg%a1Fk6r z36YBS5jFd5i>UINX916Wc>8NqC9Ui>XjVo&qNXiSSG$LT@w5E25)_P|<)?i{!FWObn&CBH6EI$ozh;4g@qz-h z`Y0GbD?n?Fg7Ja^wXP@_FDOv^9R=fO1!<#EFn(5$=8b|8f`YYh6pRoQti_{XY^@M& zE(*rh3elFMU<{&AZ8HkSAPUv?pa3dWa;)jsIc(Xq`n!&{hpD!JkGEO?4$hWgp9S9F|ahca^=5FM}WM@^eG zB6_O!5_NHtOLU_4(>q?uiOycp)3h#3$)v*e(C9z385paz$-Mn^Eg54Y9FA3+p{+)> zHXW-rQ?q&xr6kk)O5&ntY4df>h@P$W`@rV__ngepW^>UV`Ib%RYUUqVOq*N}G#a(w zbz8r=S|Aheot&#JJHtzR%?-{Z&S0PS8It( zx#XvWoai;$a;7Abe1;oXn!yzY1OBm zj^3p0{h>_V!ynDhSV7gU8`*fP+yOaC8TD`Dc_%2w?o zk7-i)`{=D2`O0!?)x*C~mHp)>L$ktImvAX2Lu-f{7H*^}n{%6H$76JUW-;5e{<=(L zyEdE&o@%HbvqQ^b$`OB^mg2or%hhwzaRIb*Ov&V7XPcN^8a}^C9(g*D-P%3c8WQsMe7QQ$h7Hub5dKbYiG60cq%F&DH>x{6{hYK}~~+UUHmo|iOFrX2D3)DJP2 z=q;!)9lyIaUt5i8-`kAjYnz$!v`>S-$6V32@)+B8uV{yLDX~|yd%7ybUe%uH`q1jS z_DPo+xvANRFuxozGG|ZpEo~SIwz}Jz6BGSqGNoGVZS4pb-Q()S-qpUKHcf35dr#{q z@lxv2ZQ_A8kSUccxB5Bufi_y#FR=yMJ*Fb#!8$!-3$>4^zo{N+Rb;;Gogep)Ez+8y z`cpmDdNCClf3M>ZTddK6+i0zejBZpQRg3mg1JcJq?p(jS}f{$_B5*LOi5(?*?CmSsP_J# zrA!HA+}R~mJ5kr~Igppy4OHH=wAfc#WdqDTfxMpDCgzRSkSRy{DPddeTdf53l0Fym zK|7-HWq&+%PxMFaA*yD=zSvLNTNE5=KWkr%JSQCWzi6||aUGbN9s5Pwi-M#6H|-?q zT8ba}u0@oGoGHY!?#WoexQ;1D8Z|9DRx;jXf@f(=L@~Z#N+7PWOT1O1Tmhy_BKrzW z#9%aIN+2sIUW(O>)0tApu=_V+%Nti=&hzW<$5t?IL_M2qA{C5#QR)LEM_~ZGU0rcqIz&HS7 zU%mH4H!zN1iYG1}bz&PD$72khDr%(9;RT&TW8-X$!81mUjmuE*j8PL~ItrdDYO2o< zo+@glYZaY)Gvgu53C|cc)0Z8dO=_+$J3MjJ!g!kJG{O@{KkG{bPfD~h-eR#L_6$`U zeGc&4L>pr(( zP>`quLiR*J6p`fxjSCP3G>TDB!H5D8L69BUqJl&qiV6}y6!q59bIu$B{(ay3-S2+) zdHy_4ivCqqS65f}^mO<1oaqO@S8}(%y!BAt-Tr*zVAXq%U-RnI|5ENz`RfcP)W(-y z1Z4U0^{hCXX6ZybI`TN8XUUfZ;;C=0%(zFLd^6Sv=Yz%Wc4{`EQ}o7Id-WYc{H9BL zbpy*(yfe2~zmuA~w`{y8QvH<>pE>EERtZI$d>*Bv+Jq3#f;y^g2=TqDquQC!DfQPn zo|KO2G>MG5o|I1N+Y)u0Xr^>l&qy=~P#3j!nB_HmC01?aM?a72sz&+IPx0N-fHV=h_Xb(x}hn3)f|Z?P7F=yr!FAG zGpqix9r&KwUwwgOxiGt^mC|2bB~i?!Mu2up^xekkGX|)lI>n6ch6B_niSTY1qs}FC z3L?KFd64>nM5{7iO^#JB5W;(7i+KSK#<+UF>hK^S|GE!YIhn}GJk(xM5pP){b2xr?9RsL?o3ANy((&S0%VrgYr z_@gP4)Iy0OU_^OXEs|*3*0hv|)w2?vTQE1}5&yNa`DgfUnYt<*{XC(}7?+kZMJ*<@ z#euVnN7bE#u+P7c@~C=@P_fd!ZWZyUdRe0EiB-f@_2$}arP+pyN|GAxN52D_CQ(+A z%kh|XZ7O?vX*M(?8c~|mEL>g5CVT35s0}T<_@WZ9GHPv2kmbsJ-+WQu@wg2&cRb-Q z@6P3|06k5b#bVQeDUNAs9wV9^Cad{`xPK$_VoRX!6`_VTk+3Nj-c;=X^E@wp7$}IJ3iSSyPE$;z%t-L?uDS7`p1#b#&NuH~Q z*JD5NuKkR>r=C(S!#(v`c~3p1`~~;a`SQMUN;wVpl?Cbm%7;CqEM=j*i()TdI&Pu7 z$DLB}U9Uy*E_zCt^Vz!OMe?2lt82K6E|xv=l!|MhCGswcZ}qK9UJ}$Jm#Pz~yjSd{>8sM)&9l5Jk|cizdZHBCHVr-kKGhSAwN%T?9(s8e-og!Ek2B%1useK6X>F?$0G)8p#d%2n~5uW~D zuI?eUmA(YETy4<^t#HhitF0w+K?Ikpy%|Bw?whe(P4px9F1ftl@;A*^s7WN_@9M2k zQzXJO$Sc%&gfhgzWB1Kip%zK>%`rvft7c=45}tt0SL;cHXP)!by9n|3&R$hJOBsIe z>^1cXLip~#GIOOmi%=FIb>?dIlGMa6mA#=>Yr-Yq8S()fIkpv38-l-jDvO{f@fZkIHJltA6K4rf;qK zyB~##b?Qw`+0U6{SB!d3ZR$s>M!m0g_M=zT57b0I+TCrvn(0TMciW&Y@uQz=f2h9Y zN0YQ7b-y3IIqDP{)cw=cG-ycfhP z({1X`=2+WYF?hl#u}w8@Vbl}QcD1KO`*+Tp@wqxcqK2><{9GMIC`;_wxfIZ3DH{s1 z9csEn_Y!)R&{h~*>wv64A{=*js@oVToyJv}vP-ozan-upk8stxTRkT=an-t8y-X+< z*06PF`ZX0?!|qlqwct8zc~B9%)m9R9XtxxsKvm)2RyXb?>`@1jjL$6WQ{gADL6!?| z)i$5GPyK+L-3QZ{|1Z(AzE9i!+a_=lp2( z%oFOYJ1p6{ncu3v`ccu$lj=ivTCy!OOVz`E^!d#1)LyME+1{COck!dcGf%5c@3Lgy z%siuh;zvKsEK`TxZOJar{9ZlhN6yqA)LHjfvdXDv)p~6#R4esIb)g?cr2eF~Xluz@ zrT(lI`%z@-Ikj~=OV&O0yt>nmVp4xm6WUv{5vdo{1Adf{TCPS#TCxr^FREw!XkzLm zb!Z1m_Gs#5b(~saMo0oh&pb^*42!A1z7!U2W6Zk}XTUs_yioHK~87 zeY&7*KKv%h2dRImOC!#Gd)ZYj#_I-4CcdF1FUD?V}b z9+}Zt`_7MUNpGV4B=e9B%N1!~)^s$}TsccA2AuF=G; z8R?PQO@1^ty@OVtP_crmmrhzMLMN1e0qU%^m8e7iDWZ$kMdlmaf5EseS|5py%ozo; zQi*<^b60v-Z9s1>@8>x+9bL7J67}AeGozcf%a4|%chk;D)P38E^e8Q%59jN??c4Y$ zt(*|=WOUai_d^-)WOUc25#oLJ?pnG;#@Gepx@*r$RCVl9KwmI|*=T4=5A8=nTO7Dk z+EWw#(dHHh?v(b@MoENws`vU4?zi^V(xeRcF8XL2CBl8v{@PB7aGf*2pAYw22Wq|n zTmsHm25Rjk!r9Cqts5a;8xGQX5W?9-6){MgNC;Po#*A2Pnjc-hZHTsw^U;36Q0+HD zyt*E))rrCKa5cCpeYn=tj|$V{v^9jVgpblkXrB_o5qk|@ zcx{p&tsON%o9RcJM@`fg`O$}?617!+G)hd;b`s)M^26G(Z^2F2$;bKNBU(Ah=8JW& z>`Z?|OCN-FSRjrMJ&-;{OB#Y`z6js@ReF+EAkmUJC(|F-1`J0TueGOZLkTSweUJT= zK3y9v(Yr}MrO(hNNVF#HVtR^}BvDK~MCpX)i$()~2b3Mh<(-SsGE%h-gt!-^X`2b< z!f&5W5oy{^iK@byBu$Hm$9%jhPuEIEvS&CdW@^<(vCWlRs%KZII}#G0PnD zw9OLjAG6BwtoFG?w^Uu@n6K@Vs8ZGU9M5S-CE6D9kz;}Otwc*giX98J?&uiflg%7^s zctLAKDA(8SO!&wbwOb{MI@1Wy-GsJ^pI>X0@sbwHGPrW!sk#;~HLq^$n(>O3Ad&Cm z-hd|A@+}L>w?cbLYS#HSeB=skfkaKeZ3HM!qL4P>BlERYQ3c9u^o?O6lwzqW%y3-m=0(d%OIXr#5-Cx z%fygeMZBxwhevP+Wcsw+jCZwq;}{(%SeWsimM75(K<{hL2`p>cUJ)N?oh5qgmxUQ0 zXssr)tih8nWUSZHCo!4;*XDZd_`{5*CTWiKTJ_0Nb6UsH^;(id?-ee~*r0_@VOdJU zg@7E7GOCqaMSQ5$A(SPC#;?pM(pnK(0BBvtMmg`<>c-x)Nt;VD_-6Z=9T{6RUW@YY zTyE7mPDPu!zC0*ztJXuJ)rDUI0s;Kn>aI6!UGir^`L=2OrRMjaeU-6IyHBFuK05>G zen!+=w`)m+whFYeU2B!Z<&B*7NXF+{8;KsAHXTqGiHx!389TISiK>qMG<}B_ONg!P z)RG?KNX*UsE#nJq+T&!C%G<4_GxA-?eIaAFHcKMMldjC&+I&LXU-ks`mwnnQsfqn_ zpZ2yy*gyAa>uve=2jx4c?U6G4O7}tSS3()0_78gIVQu0Q?5FzWxA8}`RfM(*{DSvU zZPhfEIe!Sr{90?AjA*OC?|FZtjU>doy~nkOqzp?quKA|3CR#bEt(FM$oz^}i1mFFD z6Uk?Stdwa7q$XM^)6UKaSUIZ|q#&9vPMxlic}|N=Wz=mz?iu-&|@e9`mEewhvQt1=&!-cZk<&9%kS8|!oDFv50kuJ0qnF}o$mW()lc z%P3|obnz7DLz^x1dn7`ex9L+QLYsF6S!u1$vgK>72hJehmwAu=0m(8%;{~HL+v)@6 za^0gBOw4SrZzsf&@2FpuvPU2PW=vOo;nS>n_n~Q--So-N1ZvbhsPrCsCdqPr3*q~e zJ@h#ez4l!gpal{=2(!bU`U?`JZVUsI&xl5%Uiw->TLsp=mmWTk%fq_&)+3$`l-^&D zln6Bk=nqMRnuGLmo92B%eh$?=^U+GKZ~BJp%%OTEiJsmt2T(PMYQpzBhUrZux)r|P zF-*T(B0L*9T<<9no(&zY4W35x=n z0Nz@dcVP@+sB^uRVbL8mlC3?7j6_KMy6GC4~ zGjsJ}QigY~C-rd>war2_Riarn5v5CXl-jcBm(1DvT#2T4 z@?_1{cS~f9)f}_+5{at9(~sHuSw_k)_ZV4o^qNaKW;xR}$5T3(hkx)rQ|LVbguQ33 zUxvNsX+Of=^Nb&1@0sUE*n6J!BkVm3{0Mu`zx)V$&r%!Ol=-|LVeiSap_emXvXF_r zXPF;iy9W@qdjMg(2N1UVa(_N-_W;6{Ug4KvO9v3PbO2#X`;i-aYXD(y&G%cu-ukK^ zVM_-PwsZhtO9v3PZ2)201`xJw0AbtuksI6gHGg^7wk!Pzd)-RC3AKBcZ}IFComc9& z5z6qrHoIAum3kXO*jt-*S*7ka*7DZ|JY=mipCyTR$ufNN zkA-Iy=*J0R2@L?9CA8It(S1|D>v{5%#>hAIt`cD{e@pK#5%%&mei`=ixBUovd7&OJ zHL;h!qfe9wd-*y&MI!9w>-9MjVK4ts&-0^AnML|qiLjS%)Iam1moq=nk29h%a*OVI z0lnTTux+>KcM;0)P5Z7{R5htPBBk6Un&!cIeR(VI6kpiG*-e9092Ai-9QZ)Y}olxQxsCLXRc{ z=d9og*rms?ri%S~m(J(Nw$iw}OCKp^*k1xNycz=tOAjEd(JuV~nGb8^M>Nvz_LqQH z;~qVcG&6iF;wNS8vDJ1epk%f}?YCFYl?ZL_)fY;H@!Y4sCK1})r+*+3dbUqLLI~cf zJzBfVKHK#$9b{)n2Ine=j_7y1Oua`8NYBVB(Gw+l^1WGEU+M9$uuSxNF6$e8n?$$t zeJ<;SUcQWFH~*NIbyDxOoYC#?ugEIZr>$UAqtlA4GkW+cL_GUFtKYwxWiO5`%sQt} zex1?DqnooX>QQen`uXVotl#wP0z~kOrtxR96k`ve3~_$!pIKg`#apcT#ux5vpHU)_ zI;Lv2X|!I$vPECi%dTuB6*9_wrd4)`G3^~j$@g{44l^dd%joB$y|b$uZ%fpq)3EGt zqs2OwO&&2myPh#aq7Frqvl|%83GrH{pAW-jlKe4^4=;)%Z}Nrpc?aTN>N^vbVBZ8Q~wH6@D6VyU~nLt}p8XoMAO? zmni>27@&3%eRvkmq8eQ#I&d}&P;ZH_ws#tXB*NO>X~Z*v+BS)5Z9M2l>$2}M9`&Q5 z?7NNE{phpow#HY4GQ`QFnj_M%pHYf5>}QlB4f`3TNW*?cDblc?QHnI|XOtoh`>CWz zqnyg)6HAfCD;qH`e1<2|C?=F4R`!n*Ap4jjZ$u)>`-D-u6h!AXF=}{90n}?VqiU!2 zWk(t#B>H?zTvP`mNus3#j%0T*J}G9+rst1mcQk&LXfW);buy}NWmyTKUJ~toY){=z z#{HkM?A65+B03xS63y)JdPEmPY-3p$c+0t~5iL=_sEtuwjS&*93+eCdYD|%+YFLlD zU5y-xmJTS(?rJQRXgPeTx~uV)L_Zg8jp}9;6XM_0Pr(u2u z)J~$$kIe(r%|Z|McXl^=OZ3%)ZqePa?*aBOVp#^?>$#ZS!w9@sQUxZ z0z&+(wU_Y%=Yw9Sh+f89ek=1pGw_6}EIZoR;i8c<}tVA1M*{nnx=lm!HG(Del z{qUJaZ=(_+eBM!(-P@=tWf$SA0KJVm5;;%6GdH7&L}k5v zw)TLYW(4JJbj2EL2yq>T81G8WTe{zsGsO5%qSoEp11grt82fYfea23Ss*arph}#e6 z42l?P9F#H~8HO6)N`xcBP~#jU&}j;kmr~jSnQk6Lt3++a$u@{~T@n zKnTz5&C4Eb{4Nom*&Ab2+R4{g^RXd0V~l!)vP2~quM><92;r~CjuHO5}z=0|HsJz-ScZTa%ysA)zUKiWJh*%(A9SM&^b)tPS0 zk?45YM%N7E9Y!$A%ka%KHW142RUPZ9Gt=0@GU!XLI;loEp#`Glw5~a6LH#q`Xt4)N z&k}ppq7msvYeKoc2l{G`bR$xtnSHB>bfddOJx=s@W*B`X8V1*NhA~8<=J0EFnZ`(o zBH`EUGK~i%Y6nwBg#v@qEUsIi9{oR$Izedn1%< zWv%?ODdJjLw3H=zl?t*kQnuCGYg}-?dB#MWY@U%yh$AsS$g}yz9I5%R@=VTrgMSqg zem_Ky(Vq*_TwpvWH50sxauyh`Ni^MDl(W#-U@Ku!P`*XRR;k&|la~`LTWsuNG955KeZFXJaEYYgA_U1D64vfJU?=}U~iSO&e|?VP1SrN3a@ zvY%V!P2Yx`7wA51y@j185x#{zF!UuqdZx>!oR|G5uFI~Rs>dt`8}wMM;z==FT@z}Z7NYmHYV`mA_xt#!r|U!rWWIJ@+#oOQ;V z64iMAtDN_PN?324Bw3a?qV=hiO08g7 zkx~5+$NEQgZLK2XK|);jkAkdxWK5NsXY?vPJ~C!8g8q3rXJe4&CS#S#PfyuvY$3$&>g_j5B*Nd0-fxr> zIt8b8&gC2kD(|2XeuQK8zB)%7G+GnFnPZFkUmCp#ol+w%Z0vE!7%EYZAE$^zMv_E0 z_daAiD^aU&5FKKqjDY83hm2B*+8tH^ohQV7=}?d_hm1c+mL;aRzOHx32tSIRvF70* z&BI1hl4Xf6l*>7XjaCwEbp4rg#E+)9|I9gRw6R$^7G&j^5he3I<*3%+m@&YnSrVjK zV#G_$VZxnTVkAmb<}q@=GLj^E-+goL*G7s&H+%og`6kH9aU)yG9?-&bj~jUsHLnz& zd&1ZwQOQl=x!(rmJ83jM#%*-T*D&{FkgU{rNXia)Co82!rbKhh$;x*|9wBVa=DDYg zb%ah)tDH7AON6a*+StQLZS_s(o~MnQO0c|BN-vmupEl|eI-!O@+nzRBNLlZ~_PG|~ z72j#2Ey=jWP6zpU+UQQQEU{1Qni4>->bs_#F$PGP&l#OtW+X|}&Db^Nd!zSPT=!aT zckU0y{Sv*d49PtkRKkzOEGf&;UYhWu5%D$WySLKxspo<;&l@A8OxNL;_=9A>7>`TY ztJ(nZi!qxJMsTC+g0YkkUt<@IZ4%)%cF{Oa2(PgbxtD@$UN(H+urCR|PE#)j$*vfU zr7YJsXzCTC7oihM(=BZyt{VL$>fEun_%kTqU)P`^(#lt13Auk64-?{c5T@;$6eP)VHQw`Eo%~?{ji8Aso)m&uL z)PgiMbD7jU1DcxomQ7O+($vijQggXu)EoD_! z(*du;%mWf(ti#OngifewUoRLJ7F36T4C@ePUS&-M-zx|+2b|#&unuA7P(oYbTOvzy z!^}j9sy_c}Zgq2sM0+>9omx)g*T6h3^I>@n%%*1p0XQW(N(+V{6CBhyVVHObL@*;xDYh><}npj>V^Xs3vyxm_<0c0O-0x~SGk$HwS zl@H(EliSFQJQt{6BQuH+zjxip926vrlQMh@yOEh75x#}p*qkI0zJ=Y`oF);zh26w_ zN+Nvkx|#V3Bl;bX=JI~TZ)i6+-;|p8et2{9Ly7SH@LSB!B*OQ@Z#DNzEBMZNOG}g9 zIlnFF`n%mcPMTZcE7pf|Z#UbV$J%Zc^X8Q1wlt+X|h zB*Iv?HCtUo8DE=i%{~(0NYvIGPl!jNwn6O>kYPK3P1dB5sI7TGB5e1zW(gr~_qOI$ zDMMe{nL{tJXXr~ibMobYFYU~^5}_~c%$0=Lmv%wE1Z3z-JM(SUBwyN@Ret3X(3f^* zbwcb*JF|_Hp)c*t$r7P2?aipG0bkmi_Y>mM+Xs~%kYVZV&4*Z%N^fs&lL$+1Z|)() zrMEZFNg0+NX(s#;h(x3r`&Xd!NOQ787>P*pX+rEvWRNcb8Tt}wE@4gbCDQy=BJ?HF z#NXqy=0uS}{VdWnNR}myGC8 zgxKqjL0$)B=ygZ)6V@cJJDT;JXp`sq9nGeM*q4rGFDb(ab~5uNLSH(WOI!h8I+<%F zLSH(WdkL{Goq~J`$k3NgW(jMOFP+R*?tm|y%r=DBmrmwTDMMd6n*|b~FP+V`-heNi z%{_#;^v*%02V_`!XY(*?Qt6$|7QR5~oz2#Sa(%x(e?GUf87YzHh0B2KbMG#Hi@H<3 zED@vrnH#Lx)f_BkT|w5>e25Uw3%Ui_>}DoO&6O_qlikb|n`TsyW|TQgYJTg?%Zf7J zlITe#FROcyW)JfdDXZkm%jyv%>uDaAvQ1j0Cwm6TdYL~+Sp#3CCwrNH62dk*k{xZD zDn^j&aBon)d;M#Rqn;T3UjN!6-0T?I+q8Dbm%^TSAF~Eo$rA61uqXSPO(e?I8$8+1 zY-KBRSdyKf*-VVNk`dkQV}kliK!*J#2CivE zJlGKF?9LW-h#wW)0?K@7{Ho+$048TzM+`TsEL%*o45U4t}UOU zl*_f-`R8eS-WEg98d8V2We2A1c2+#~zgw2w+W&;~h5lG0Yz2onR0Gq6)LtF(0(EEp zi|dfX>3>3}v_YGD-n`Zh=5>fOeXq4vMEw2tA)ia{upQIS#UstGg}Hhk#y<1oNg-Tf zF{IsM*$I?pKv_(o7WFVa|5?;$zCF#>GG9Sy%Oz+n4K!V%2&mQ8oa?ut$ob-V)O>VU zK+3IF2>w|5|F!MNk-3r0=U>BeFH!Wuasz4PIK(T|nwZxiSju*uSP<;3Lq_#RrTq8s zFPuWJrtJ#&)(1SdqRJx!_soi8NPzF8kwg*izlOC&zEk{KhIVj-3FcI+*S}YaOS}pF z!7U!8-h#c9?Q@R}F6-J+&LzEKKhYDXXi8TH+cBW$JH^Liu{SawIaV|(dj9vE${O6dX z)G59gjuH6ii$G**!2QK3Q0gM7TS}jc4cOsQxJGu$_S;gqJTtj=e)6Bz_dko$e`hZH zoQLnQJRfj(#CWnNff+(@yEI#l@ej=X9D+FGBKamq-}Ce5QT zs|@CFUY2s2?=P*ht{=}EMZoR@rLtv@BTpdh6!*-)>m4-}G3O}K8`bFlb-sOsr zb51?%Kc|4Qjzb`aTiGGXCj|J-sTN!or_r}y9nQ-m-V5Ji-s@4kBgbX4)SgCbw@gF6 zGt#0Ck@GTo=$VH1Ztj67MLv#l!5q|#gZCn?)kJ>i$H6wa6w7|-#}#w^d-ngXT$j9R zEYHy&Zdr>HD2w|T?^p2n!#f_IY{y#LIYVb52kkh;%a`yv-BgNoTfeI%Fh~!)dE70geK#fR+O^*oRr&xdpks(DTkSs#I}{v@V#dqO>23 zJU5nhhB4}TxtJeC^Fy7Y!Q;F_dn0xZ$B_9vp7ZWX$YAua@I&-)GTn!7jSDPDgPeR~e5RXXPllw$e7z2&z1 zP?LLID9r)5jkq`dXEg68t8@po9n4rxA*Tb4QBwzE8l%BJTWO4#Q|zX=Rh04=$b4;) zW#M|G=m;p?LE{YEsgqF?If_u$A%7OkvS2g|!E~okEHM~-I_wTTrxAXH@uRz+m2APlXcZkz8E8z5tYq0Lj;gMuL#h)XFQY&s8 zz1Q;5LK~op2&A3jewYEeL^q&{I0vJRLv*D1!#Ox3W2HN`#WYHTXA9gbF2T7Jhv<`y z(r;*=hxv`ZLk_38AHFjk?Q@Sk47+5!E9<;22S;zt6|8w9zU3RtoCjfKxRe1W6arY=VQ+)e2jKeVLk2evM<2N7aF62Ak4tTF-$8)L@x;F8OhH)SnH9vV8sV4k!YLKz&ZT&!V-w_W~Sy8hv(( zEi^B}QB)Cc)10RR-3MDcdIxDs>(tps~kL(XGB6;Y)ZroV&nGx!N_ zBeGVFtWEEZnij=gJpxX{ImPCl$mjkRnE5DTILv7kape?J>}fD&>_z)L7rji@n7^Z@ zrDJJc%dtjvjEqAh%|rd`rO}@ja7VDDU)nUkoEMPdQ%i@ibGV;8GZgF90jN{(%!lvD zOu0swwsx=sY5N`AA=rPGV%jM_v#r|PFt9ns9#+_7fU^2X9XRegW+fc>mZ`{U%)i?Kzz>Y zps~Wbmdgs!!%Yta^!ZsZ)4=s^>9ZZa=knZ=>-%3r9b#w?Y_+B|cA-t=pl_V62CZz3 zitoc!$)h*y2vHh+v!@mDT`KAz4St%*p7RWoYlLZ7(NpijzGU^Zig{W8M)ZBUzF1l@ zFZbk%rCfT!s+S@XUkjvfRLXx3pZ8#S$0M-oZr%0x>3m=x$?9Y5n_Zt{f@@U=?Dt~( zvW~^U9>^TtrNi9NTsDW`ALe*)erV#Al{=aN(CC!Z8T z3abO!`Q$X~2l!ST>{32K(S8W#Jr7h7AJbj$$5;L?0^4X6!&fCgEn=TJ&3ufrL≪ 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 z

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 XurUEuc;2Dzf3Xn$D`5YG82G;d(xr}& diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net40/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.8.0.1-beta1/lib/net40/Newtonsoft.Json.xml deleted file mode 100644 index 73a467e..0000000 --- a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net40/Newtonsoft.Json.xml +++ /dev/null @@ -1,9048 +0,0 @@ - - - - Newtonsoft.Json - - - -

- Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The reader. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The reader. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - - A . This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the to Closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The writer. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this stream and the underlying stream. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Converts a binary value to and from a base 64 string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Create a custom object - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an ExpandoObject to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed. - - true if integers are allowed; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Gets or sets a flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attibute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a paramatized constructor. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the to always serialize the member, and require the member has a value. - - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Specifies the settings used when loading JSON. - - - - - Gets or sets how JSON comments are handled when loading JSON. - - The JSON comment handling. - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Represents a raw JSON string. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Occurs when the items list of the collection has changed, or the collection is reset. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets the with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Represents a JSON array. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies to. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents an abstract JSON token. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An that contains the selected elements. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Represents a JSON property. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a null value. - - A null value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Represents a trace writer that writes to the application's instances. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Contract details for a used by the . - - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - Used by to resolves a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only - happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different - results. When set to false it is highly recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Used by to resolves a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets the object's properties. - - The object's properties. - - - - Gets the constructor parameters required for any non-default constructor - - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the override constructor used to create the object. - This is set when a constructor is marked up using the - JsonConstructor attribute. - - The override constructor. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the JsonConverter type described by the argument. - - The JsonConverter type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Create a factory function that can be used to create instances of a JsonConverter described by the - argument type. The returned function can then be used to either invoke the converter's default ctor, or any - parameterized constructors by way of an object array. - - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Represents a method that constructs an object. - - The object type to create. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic that returns a result - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Returns a Restrictions object which includes our current restrictions merged - with a restriction limiting our type - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}. - - The type of the elements of source. - A sequence in which to locate a value. - The object to locate in the sequence - An equality comparer to compare values. - The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and sets members to their default value when deserializing. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the converter. - - The of the converter. - - - - The parameter list to use when constructing the JsonConverter described by ConverterType. - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Initializes a new instance of the class. - - Type of the converter. - Parameter list to use when constructing the JsonConverter. Can be null. - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the Common Language Runtime (CLR) type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members must be marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - - Gets the of the JSON produced by the JsonConverter. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Represents a collection of . - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the reader is closed. - - - true to close the underlying stream or when - the reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Get or set how time zones are handling when reading JSON. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets The Common Language Runtime (CLR) type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a []. - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string. - Serialization will happen on a new thread. - - The object to serialize. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting. - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting and a collection of . - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Asynchronously populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous populate operation. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XmlNode - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XNode - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisble by. - - A number that the value should be divisble by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - A flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - A flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Specifies the type of JSON token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the writer is closed. - - - true to close the underlying stream or when - the writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling when writing JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - A null value can be passed to the method for token's that don't have a value, e.g. . - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Sets the state of the JsonWriter, - - The JsonToken being written. - The value being written. - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/net45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.8.0.1-beta1/lib/net45/Newtonsoft.Json.dll deleted file mode 100644 index a8a3a8a1e379c25905c8094d1e9d0c51707e8060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485376 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 z 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�!Qy~#4HC^{9kz+`` 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ⅈ#0b@# z_z z|4vuC^o96~R9+Ogq3J0UU#~@U^>3!sYFn}f&Z(bTCTmZck?RyoKC&zhs<(Kluhdd^ z-HKa+=&5rw(KP7$T`gB1IUT3Y_VvqGg{2~W&gJrouCr}KrA6hbqHVIsQmzxdpj4ws zR!UNIf(YADX?nF^Bg}nCC(e=XUX%J|NOXG7mk~#6P3_mK@bO%6iQC`SBE*fUp!|DI z-cM!kdgDdhB;gfDcP?YPy&^Ba)d5aE%cLaaRFC&b#(LFV@TIjmDemOEhGKl#Oe4zw zW;*q#UfYeh;r%H^^-!mhBWlQW>gG2hb+aDOKMC}vdt5{xEMQd6AaXHPFl6kUu z$7j5nELr1xQtjeOTXb4RQp%kZ_V-=J*^dELce~fr?w)FwJXs$Fx)F;A?eeYd?j% z(lXb(8^t8X$vx>Kc2a`;id&uUrhQFWQTIxAirs6>GU*i}Hx0e((x09@PdMen?~MC; z{FHkUwQJgxVP>mZaOJ6$ch|s{Pz} zvZvVI>#!=Tzrxa|*j{a8Y0REF&g;3JwpR8Oab8dVYOIERbc&^Yi$hw!$I>BxpJM6t zP|L67p&5q{-TK(8{U_#4eXU;9j;p9ZImJG^4F1-pA|+38bb9%qBNU;eS$1kIxXxOC z>Mft{L!UtD`XW+Fl2`g)y#m3)3&}BcX)~F^(Q?I0)7nX=x(;&soeRHJ8=G%eT|-Z4UEubn{AIz;ay(UG(Q3nO_v+|KfPKYVr=lf$(9#DV zYW5D6O^?atwNvjhDhOBiYKAKX+zVzZ7tz7jLGIbE&tx9=(1KOEwb~leWjZzfQ)n7Xt)ET}y?~Ow520J+IlhOEdCEdu2*6i-WAnA_6CBlKS zd;`UAbH!7q-Epz^eJ3xCoxUl3L^`Zy4voWigL%BZ8b!V^J-1Cq<9Anwj`;}ssH6C@ zcTcORBy?)}Xz)>B$PoE59H@ioDtmSHK{%=|ptOE11?YWX~t_Mvk@{Aeu8r@nM1 zZ5aUjV|B#j?WFbOfVDna%gInEc@*c!NEdM%#zA@S^n)*&u(j+~^CBS`M`t16*P1|% zze^ogM@3YL2gM1_NQ^+!o)MZs9BhLO{u?FnsX`**l*l&2`-|}wM=taH{f7 z6D@913YJZ!fM0~j=HpLqPdTwxuISK$#;(lH7egGawAJt8W5>Cv{cR<gBC53)UiQ_USZIVo}I|N z)^+JFn8Ux5<&`z3SSiIZiG<9%_@?z5;q77Rl%lU|@)0A)1a5K?)iq(*cN%VWwSsq{Ax|%DBCL^FDQCS6+ODTQ9oc4}d~&Lw zjs|!=g+ztAmM@!07g!6e)HV$=SLc<~g;m1T)`M`A`FjZd1RhVdOPG8X=9pH?4(@AJ2$s;4N*B2(o$BoC+>J7I} zk7=AFlQo$WV;0w9rmbF*AGwBj6Qh9Sz4lA6!Ot1 zaPiV`-AzkVJNLblY@Lk-e%>I^1`lMnP0z-$<1(Z-u74ZHYp*msudlfaZZxRvnLh*B?D zIfXETq89JaXtYjN);n`Bea2XqF_3Rd(ETbi<+l=#lt*OA7XhPNY>XUP$-=B>rH<>@x$2ye(Ueio5*IRFC z{Un8bX2}p-9H-XgI^04af}&-EU-CyoJt*IO@&=uXY^kqS%e_;QFtaXU=DL_NH}YE6 zS}df|(3z|}YWG3pxq+9eu9!q75q8L!VLJ=2Pw@XX`@fLq63DI=-At^$`>X$-fQh%z z(Gm!}jMo;0f`$tjs`aqGNX^=xlx`?)01lgNsA*t&+i!fH(SVE&Ik}xqXV>w^X2f_w z+Zr3>QuTxEYId(BoIIljvsV+=@$+p^#nCf3eKqMa2S{*hNNQl9pS7*V4G&SzS`D?` zj;S=xfbdRgP&sK=!7r>fXkHWw%6iK$ibIX}+-jAN@A){Kqt?5nKa+Sp0WY>jxW+rA zG}8S7UH5ZH=@p~8Pj8+`8s5OIQrl>>JL#qF_gc{n3?gk$diG&p?EHtsLo6~G7v`B? zoJq*|jgd%Js^g=Z1wAp{AUF0YPn^5~ZWP1`S`RilBkpARITJT1 zLB{OaG_+1umG{0|#Qf|sGg8r-(^ak>bYJqFdaOmP=8xBD=Jp~HByXwLT-*SiEI8vc zL;ai>o%@Mv1d(;1ZoxCxi?$167Q0~XZW9|K>4lN->xjqBybb3zRqH2^p!~JznQ7{J zEFz1SD7zq)8*G06BRV{L;sNFuTe8``V<(Pr6SOg9|ZSA~2HC(mFS_uJeNkHjaW6LqP^ zpwg}T-i1~dNvO%@_KTQEu4ZBsq|m~@$-P^C~bX3azyQj z6hDneNe|y2Knai6ogB*4b?!9K!Xre}L6copXYM21rr=T@TWcNT)(XBsP7L{BQQzHB zQ{uzIF{P9qF{L*+yGbxUoSgWIzaI!e%8$pF3vMN+nM<TB&wIg+)p{Q)uvO_k~bx`z$IO@S*@|K*>04$hOqXMwA^qunP?VTMam+U znwx@Ne#`iE^M8=gBFZn}7nFZ+F>IqsBtHDGQ)LoM?qk(umafzQufgY}S9EIl@?Mov3u2yowX` zZJZ0VY>dBEw2nq=m*nTD&nu_@!;|AudaMYc+_fhstM8x4V5qd64AB$IfH!-$@9vuOY2CYd_vr|z1H4P0n!8keWR3WJ*UgT*nPiq*-2WK{w z4a4uLX?E2TpnrO72G z$Ni#CyV0Y;O2`#iO*K^FZ!LaG0VTy0Zft3~cz?wMd~`j)TY9cZpb4P<6M&$M|^)#mAK!CAG7r3)aIfx)4bV6H(chaa7euT(y)(Q@ts&fl66) zN`&TRw_NgD2##yqN$}}TP7A(^_ZRw_GP!0Z=$;dtdEx{uS$~aTs^z0}@%r8E>CP31 zPJ%Aw*HNYZML&3H&52=pT1|(QJ71S*IByCRe=@;S?Bq~_Ao%t9fAZ~*FFCUAYk%>T zH-7NnUd;v#g&@&bNF>rtJhF4;&FGP|@Qtatx$@(Q+{!fWYl&Rtp{7ERt8|kio#&Cv zHx-h2fs#}y#pTl};&PQ0X=3vLsGOac9SG3#xB#kLm&lI&Lvs0Bkfl{?!Fu*K)|3cTntDfUod4t-V8y2cBCT2qxvV?diS_*-SRtw6<6S?X^!9P3nfEqEWLL$?Zt3KXRAoPTM z%_5IgMAHS{{8TO)brILBDpdlKRUgk*pCuuUPedUkqEsJOOe z+-&t;0*-dH^Ppi1a>NO5`Qr3c7K8jmI>fYS!5`6M8Tl&fEc|0I&gX_L(_39Rm+37~ z&Vv;F<2yv~gku0|`xGDcK^QL%vJ9Y%r>&4M?D6IWy7FMIav&tSdWh0_InO5?5k{#n znX7i=G&rZxIZe)Kc23GU5KlQJdC+ zb3s@hYnnXj=&{4z^FS&E@o#0c*t5ljvgJoo3ggyd4u>&^Q>g~(yTb-qLsJms%C9t~ zl8OitnFhvBCIbs(AYC^x$&TirA;Uis(qtzg)0pB(6P2YUNG5aT`}os%%4C{S)cP`< zn;ULSC33gxu{$OBx$>RHWaVcmMz-A8bEos)lkA4#-uY~S$>wryqL&t%x-k!*tv>n2m;YLnaNfsAfn_|cI^ALx*iJadMF)s zDIBRDwKiMVJ{;zFIAnpeu|PVVN-ASI-H=M8Rp~J*GeW^R*^Os(CXz%x4|VDth^&0c z>_#h|O*Li9dmIy0GWl$|5>{8C*)XhFBa;alCDppKW8IzP_)w~aGF?rXF3R3*539ea zs|kkaYHA7+BqqC>G`Nl>njm=-1G$@_jwI?#HP&jpE5q0bE4&Np5K=~~FFW=IUh2E6 z-Abel-weRg%F`~K!aQj@9GDq0T1!SV+0l@WqaAVFM`3K51G8o~z}@Nehf)pTXcNw4 zw=F;x^t!+H&P2mmLFZY4{L(!tFj> zaN$CYO%8=bI;0%%e8~EYyH+Mmbw4wOTqLkuV&$-)rvn?8EQy3G$b1s zmkne~ST+g3cUpsnbjY#{s|G9F(4Z040Gx&f3ET#GlgWnWRAV}wY4~VrPD7eexd*mI zSf#V&SLHG&JwVyL#D$<+k{3nRVC9&%?O}`;LkG~ zCh==5gAFhzOysoNv!j(Bab37KWT3qa>}=&G@@GfoE$^l68GdbT$j0h!_tylcR(ETP zgS2C>uR@4a4>`uI_Tft1=yQJ-GEEEo`XZ0hhm=Y4BE47bYeh=o_ZlDE?-HdZSuO)x zQ&{@ah+<@rX(^Pd!LC;(`dVrUv}$%j)kziW(+oOalOIj-yi^@>bf^xsn;0_UREL(Q znEr2&s0+)++*n%yI_Xcy&PDe0CC{8jh?B%5X~gWyc3R_)MMD0p6u4A6L}2~^a*$eU zwcQ~lP03P^!)&vuBbq53^f`z-AE)^PosdaZ{dbTg>IbNsSzLZ5MAEuvF(u_H*XZDIGhLtc%ZlsMFW)I?^gsBhN~-wlc?Ak&K&4GR;yYx`r&36pG!kJ?c7u(~7JIhZv(28(_5=ZF&|uFd zdp3px_wMbf(=1I7QzvZxwCTaJ7?G_A1LD?1s~&B7*qq=b{HVfc1~ekUH_-`PPcyb-SW!t_`qUUUfcUs8YJ3J2)YIGIz=3fjcn@R&3J;*9_0 zDy9jh$_<~MYDTfFoZH2ZY2aKEkr|Z*DE_(OuG}z-H6>-MUCl^V5@0bvJCDnXP)?GC zKiBlLg7%P|RBckYXebgHA=AN3QNt`Pm?j|@lS02W)yOhBkM90`q_LI7EFG?nn{~Mi^%NCo`SY(E@ec=&AWyK@Dkv zwtTmW&5adnr%W5Ern*dME{^?cC@t_l}91qxhyGkp2|(gDT)G0Dnc@&+{rXL z2Fll7dLx6z73uR};|e>hs6?WV|CO7JF)G>7SwR!+g$u$pNv1A5O8=-vI+Ldp@j{kA z_#cfd6i>6@c;Z@Z4#AT~n3!G%UrMb@lC?Dyv|Z`6b7uRRQE_VHKukFo5_<$&#ItH`7{Iw9{}8Z7Ql12|pe*%BNq}I0=d8fF@@*w070t ziz1K1(#W#|_>lCuN~4zp0iI;D$uD`OIpxMX@kz|dHEE&j0&_PE0gE6uWwE)tsTpB; zzy}{xku*6!TxcSl!S^jChmoPiAXjj|p~r)5k`}=I2G3Sjsubq;;G6=2axypv z=Zp}JT!EPIxJ7zbgYI?$Sxk|swS94cX&GImhT;=)ttO5*AXMA0G`0EIg_^d-}6|W2n$yK3> z2V7AhwSF}zETJ_L49s`MP8Mr8ewWC$cxr2yO)72WyISavYwn_AStBb4T8XJp>VPwD z4I_DTmES{TYsxV^J2g-rMI2~`hucFYTy)oP*P zq}E227n5Bwsp6p{s`F$BXMxZQ0U=5sx_y3Lssp?iWGmlK6N^u((<=mPe*^(RkU3)f zTFnGFX2!-95ph&pbVKJty|O3*Hr-dguR1HQ#1dYyNooAr+^`{eZcam9`dDuKIskNK z$8YrNQ{Hl{b)6!)HGYZH^JIGP6}_h1Z>TltQ0SX=GvjDb8`Tfe&<71o^`6=^c4mfd zj&-R|eFtkHDi=%tbZ-0#R4+N{*{KvLUXiv39{Dxlur2 zsNbx+a+TNUs@E_L8?)Tx6P!N#8hzBoAaRS+7U893Y)ht@@rDESQLZ~@2j{2g^V~2) z66PbLJZ1Yn?w_73zu6AFJ?`{(Pfq27n2mAoO)~{**ct5aFIz9 z3mXv@sN!0xl2Q8_b3=bJEz6!_QEA)GvW466MBZ?deIP{ktN_!0lXifPx$Ge6@;Jw) zzC~0nHJTx#D$e#f(bJ^0WV)n#6P?eRK7P!qVWD1mEmX?$A^j?^89kvqbx0hT$8y^2 z0us)4L5lh&)uf@frjU?n7nzejr(7=2Y#udws z7Zs9te$)g(FN=>bU0E(oWyN3o4gep~I6jEijc#~N?61En?CIr`cU6E!QDA&fEk%Tm z52ga1C2aM$;9$}NkvcxuE&*7wabG!LfmM#T56p_mPvK$0eT}O)gj;zuB&Dm#Y9+>m z^`mp^L@S7x1fGLoIX6B;pIZCfu7h|?QEWsETQwpL3Kqg7Zxj~@{Z%_=yOkvoE^e&{u2$n$kM%L|8DY}Yx>)2jvE;LbP;R(6 zU^UmNeO9I?gctD|>hMCYax8uLUD@$T zWj%N7&Z$bcEHu?%Ky6UOv4k9Yvw=};G0!{aMQk9chD^GlJ=MatNrp9))cZgx>k1iq z85Uh^U}C+L1k5W^J(t%N3hdsQ*}xO%u|5j?)Pe$JKK+D;-yVNlQ|+cO|}#hiO*CqjWrT zwl@bFfU_VC?EuRPZ2$HYS84?9R}fz+ve$Cp{s%kFwN=0jNm?rI8j3;_FPS3{?X zo`X^UYv3r@qR~B<)o-TRmhw^!8rXtGTg0BzAWj;wwXrSFl@X(?$~cQ4z>$%u=Glon z!m<{v^|=E(I}ut;-02YMYt@9!c3EvmYg8a9nD%HI%rq?J#8GfquA*=&WvLmec0@8l z1gUwjOU(|>K`vJIvsDj zE6(+dB#$xDxta^BjWFK=(<`bhM}nSI3r{m(XUmUiz=ZyX%+6zb0GyGqK>10B~8RD-> z&4Qe{>YChO293SCR%CW|Hh9{$2wZPW?gyorB<&M5$G>UM2lcG3)r>cO82T}gs_S&( zi!g0JZpzDRZX?c2&M3Tjb|xXHe3@CPW?2VON2^)1^{f`z)ojM5OT>6Js|8H;>&9>j zK=6#@D)!d#r@e?Z?_AO9#%%Rk%;>r5P5hZHo#NvMwD2Vnk$WwBwE^35P^A0>lZuFq zfUu>nQJz()xprEn$FsF{yck^`n~`1+D=6j#HwrXeSuTw=^H_`$UH1_edZGdbL-1HeV7MS@nL*kFy)hT4_B|J&1Cb&u6PT zc7-yS1t^6AKwew5yYx!8p@h;-TWV*>2W8-|*$&;E3FH)yz z89IMv9%x>*V@cJZO}2s9#*^0S)j)Qds#F`xiI+c^oNX_rH6-=}87a;Pl%u%{4Bv|; zg(xUWRU>L8+Yszokg<9&S3Qho#uKmyb?A$OFm^nv@{Ay@%&j~xmBUy=@?#LA@(eNo zDM1}?=W`YIPhQnhp~zn=3!)|m>a>zUk zj;Og*o#{+9Q`r$J>NRD%H_bXr8%CV0KxX|^%|T5SCP$O`Gh;`DLUHY6M_yaZFQ?ro3&`bq2%yhB?EPAy=ut%A~qfq4Pt)-up zYR{El5JW3xFk@LW);Z-TlX=cx?2&0hBD=avCnqF`8m-3M5SX>+DnClAyt zddm-|&I2Fzx2i#Q{3QttS#nUU%|mQHAF8#o;wxmhiD7(6h#Ew6+-bj1aSOi zOVe>O`YHrrrH!q?;RS6Dve_Uma7^I#AB-`rNXFHf$x9hQm#}(ke&C^09+Bc&uZ1QLFr^Em1FQF54Z{DmwSmw-r z<5Hy#s$ZEMvgPuJt(@=lIA@ffSe~MZH7tGeK+H8QRBk3YVkJZYxnMHM1Uk3;1PV5z zL8Be z`TU2(>~A~Jrh7%`otA3VAY!3yY-Z45HU>|c-87EzS&Uf>BnQ|OlP)Afa zCPqa`|DljHz}0?^TiqCdjJA$5nZ+p%*O12CB=a_#$w)VJSvN3AnCgMYuzO;alKC?` z{u(wh_R`aS?^U=+^kC4n!EM1hkWTa{ABRlc?5MzpWf=5BgouN_{J{(c@DSF)Gc1?2 z%5wWjbv4Wqi|_|ek!F1jq2)9lo2E>Mv=~^PN@!w z?f}JyT`xEO6Neu`x1_5D5!N9ctdO-LEKaxK3%hOnZR`KH!!9Ez1^#XII!h|2!ar!C zY<2skjI8mWq7^XaSE^l;aa4pB4yz@!&WBs6NE~YI0`o-)&e$JR8(`(}w{6LAK7wCj z+EV401xPu?k~n9ZMZ>FD0&dloAIg?Pg`&%yj-oF9rr;#8N=o_VuxrNO*0x#gxFQ^A z{EDjWJgRB6jHYT!2+hw;8+6PM-6>byAZV7=6{{Zb<)uGvI5T7l&pr`5$7V;dMoc$Q zP@PfT5O%U^p&zQ$YSn4rZTPs>&YY)Yh7lURg1ARZLMtRVHb{Z!3)JGG^N|3zkg3)CXLb}H4WIjC79r1UJcG2)r zPt3KQl;gFr;QCY}or5^81BsIA?}h@$CaOc6Ba{fjryN#Tp67iGNBDKVGdI!BI+$bK z;y&%>lLKzlh7u|4@q|01#LW)ea0(5V#9#qIXxqCq6PnB88rfvxq*#5{}A@W3nWNBQPk zBopviwCRXh8hC+525-IY!(1rFx-%5!cPdo5z%4-UH6mCxYPWoQY$<2#jU1vp3D_k> zR4=wHAKSBROXRBdT1NH7FytnzSHjS1Zih>P^C0ET=F4Y)tfvyCcQZ9rTOo-G{sQ6h@IjXGbIq3Y()A4{jto3W#MgcGGsmqBG__Cddy zpR3-3-UWfIU+^4ZZ0%PMiEK~WDEuy&=cU@R)n}M)-!P(?IpLsGZ^IT!+=CA?xpa5X z(fSRZ)A>c$8+4;B{qH4)o^|hI(djJMS?+3E(?zv*CLEXQW}nz3mS6r2>d%i zk=-#nDk^o(&gim>U98EmgBs9Xw&Ye5?Hx8aWVTzhPc+#OSrjVlMubo(inUFMM)*+P z+P@zgnordBsa}Z6RUbBD+;cVxe#nF7W;cSnxRrUF(rMlxicU(BLyIY?q)4cZBBX}6 ztk42#i~Q=L7IqfXwryde?GUCe7Pb@UOGzEe#Iz3L-Pp$9Oq-WvC3Iey-zywi_rdzW zT~Qew`VTWT06ztMS>0jUZh~0u6=a3aacHOQkjmRWO6A~V91DiAhu9o>Q<1kR z@-`Y@9s$=Vt~K(u1HHW-dJFaPj*{wasZVM1uqM#(d4Vb3`n%%+4hnh%0fZ6`C0}MD zVVNPb3bqvW$9#r<$lwPxk|r)uKTlkuRe;GXV|H;QD!vVGV@-wz%Y(GKF40NfL5(KD zd2K#vR|Bu+hCX^DRz1{a2ORY>NJobT z3Qb|ZiXeY3Y&(n{=VKzmTFo0=wi|PIu6!SV?!+Wn-O0^zg)ZQaMPs^^4NFvSd9|~g z&g$h!z*n4ew`Q1@1O`{65FW%A=RIX6bLo3?DdA#&4m&y&nysXHqTpE8kK!W=R@M-- z#l!15!O9CZb5iX|{nKfR*ZuGO6va@zTxP8bLKC#}xnrNK7I?FUQ#NXV7+78PX2V(9 zLwGY+<+QD z!(B~&!+?GZ8Dfkx*c^<$KR5QY_PQiK#=`T2OcKL(y5OGN*c?qjV`nn~X+by9VY9@! ziXS_hKH{lYKjq2-Ub)AzFRUKp3jY4VBL2%dx^QR1sTHV@W2pJ zS!}Pc0t>8y3#b5VnGPGMo(r6_K+P-fk)d;2;btSvI+%<4eP?pD5Adzy{VhONjnE-@8CX7FF6X%Le zauW-jqdq0njYSltV-1USG_2g%TA7upGB?p{ZxrXoR#_0o6}Xh+HYwgY;vAI@fNEXq3Z?NT9Y($je2RD5ORxXlEbC?3CfykYnpBTMOZ; zVd6@U&Xpb=^EkQV>YZ3;1Q@Rs8Y_i`#!9)dJJn$G7#7zGi%f3fTI=({+}IX})r|$e zojFG2pp!4Srh!>hD03hRk%%kjVahTh@(hR4*kJOKln`J+=+R7*TnhjjZOA7%U9A=} zc?t+jHIqOPJX@8)cJcBAWnuLI@<`^1eROGV?1tRf2BHl^mCK}c&cj=sO@wX9jrEb_ zNKnk^jF8ZF|4wIAk8O0dg|#pQ#|EWhDU)<;8WP$z>1A0-NoLw*vKo~Qsuh~+olE)K z_0W4|df!8_6}B}b2`V?TP{>W(Phk|iv5m%<8$C5QCeKJ|sH#T2h_)xA^Ex(J@ir=6 zHH{y`RcI?@;Pxx4z^zN2mK{5i8+$0E#o^r8VJn^+dzfxA`aF;uCs(R3RSgU|o z-H)JNsS4=`ZlH|ap(4i^A`dZnCbJU{B;i>cA~?;J9XpB#y#QhT5KrDqY09TE9oeya zyPEP{XkfepB7%^c47_oQj@#4$dz7DLP6t6A0i*WTR!|S$D&rUw$$AO5oq5ADDj!X< z9MsXluhE)@#^9Lsupb$CT+9PL<^j%VwP?$kdk8p#LN{vNqZe48XC0x{cOUGdSk3{r z(y__7b&b@>x<+79TBhB<@#w(VIMBO?{w)mNxtIkFkd<58v^Hey zC|=_ymd#lsl|U*_f587i4ku@zksWJyPk$)?L1tSe+c{}@e7It#?k~|g2{y+@$Hbn_ zv&UzC3$JC<9x{w?bQ%Z;CH3aNR_=CY%N@&MK#aSyI=mn+k~!otORx-%PVR(x=E%kp zM%OZ)K0~=VAt7bssFhNE+r8N%gw%{m#rX zn)mxiJxB;vp$YH=q#l37s;TQM?Lqne!5{A*g6`E^ZLna7(WyGf2!E&ZY&l@-=THY` zQ#N|667-R#R%s>FZT2U*kwwWc#*pM}K5U)?AJe1hm}ZbM-O{XAun4)uwnt`jOcFdC zduh?3*nS2f@AEjMSXuLHM)l*K`MsoWAA%TgAUP@Al1Y>+a~k zXYnJQ&wg+I*7dhHT{iE3{cQhf7q9)>kAG^gu;9Nw)cz;e?!D`}#d|J)`Bxk7Jm;_P zIrzQh|KpB>|8>EC{F{HbdN`P!_-ouB@rt_9hPKL6Cn>g0a_4G>J|A?zAC z%K}zcjB+cL{-4LU4$kAUyemWBAh&j%$ECjK1)t&nd0dfvo?WBse7Z$!VQ^{P|6dFm zRYxP@nH4RMItkiv8 zN~p{4KFGB(SR8z={u@`i&vf$bbE5V-qrWas^_M9tZfb12#tk1V=xezwRrj}+tT`Vr zaNYW*FWcT?z;F0qF^_uZ`u77^7fHu^Ai5#$eRbl@V8u3lA0)<}JKh(4C*$jZ3fm8q zz7fNHp!AKve&85KT>ODz9DxC&p0w&pT3vz*Xm^9TBHVXYgu=R7a;Nar=hyW$JpulR zZjJSK4R7V^VY+G6-(Tu(37tP3$mudp0=_fIY@r@~;#8C976prT->C~0bor@145JS! z4@0dI%4j_Qv>DMqMK< z!1|_jyKW4YMy_0)%CpmW$$e8V6WwO4PZ2jN>uI{^f7rUV6zlKShzDDBzqxMI-5fNo zmd5+bJQmgup-T+yBFd*`_^F>>&*-ZDNC!&m66c+OY`>K3{&U4kXM(xbnk)iN_X*c# z_c4HUUpRnTueT;k`OI8nc)1Icw+5N|&oQ<}A7|^F{N1;_BK(!zlRp!8+Vo#?TXyLujHQ(U@pTlpD+RSE4z=)sTsn1TQlu+7lg#Ok!4|Gm%Z?53$CleJeY0g*U4`Vzccvd`4#xhYqneMbOnTV zJIjxF&tdHl?a~d#9AmlP$38}p4Okl+e8fX!Q^CBCc-R578?5#un;R%Tc2qFR6y3pHnYnOf!U0tn5ACIxu<=btT>D*mkb90xj zKLnIL%7D+7j{v1fo|pA_wT-ITII|n!ba_(ws2$3T-;<_%Kcp1*wl*i5TdAbNEA)1G ziVEviI5nW6t5WQsunt;R=E+tc9@DqGGE}a|GU{pth1Lq+tjBkJx8km_dx!iByLt(K zrK0!fvCohVUnvBu>XnK;&Vv^(@I3$vK}Umq6hcvwv(E;fJ+jJkzNVP(1w%-$fdZh~ zc$&kRt%SOF=T4s#?ca}6nRe9-jd|ZgzL)fPSq~UAS2;+hyEiRy?Nv(fQbVg^EpfB3 zt#)Qz4Y5}WjFRr<1p%6GfOxZjK>1F9+#%1spf4_~4!P0O;hR`pUF!)>|EeZ&1S2I^ z9n@o=Po}6Sx!va(e_O#JL+-eCXX!*cI4=&XZVY?Jjx<}$1{HJ%t}QQnup}BZXkOi* zQdbD%?X@_=;zcEJ6;ZDGiXM!j+*m>n@n-cId=smMgiaGifUT%TbM+oLkRv?G%!A#Q zkepnEX=KgRs$*1e=%*I6u6i@%B=&(O%A}8VM-i3zz$^bAkFiyHtkFZPT0USv?DT@- z#C>DeD&bqnW}!WHuVQZ1V;4d8Q}K=ZnkQ%@`@B3R9w0$Mwv>J9*x{N_sbh~Mn;Yfs zQ+_pb;xRoQ*5heC3=nk6PC$?B1l*RLfIQiW=ZvN4ha}~z;=-{X8U<}%HL1H?{mvk} z<@G_hi(42eGESf6#y8Z;wYW|I1o!8VR5_r>qsmnFnRq{2;RkBrbCWgi@r)5zt4GIcDQG*$c&)eWL>k$u&*||3tY_O{3JB%u zoqD_+-?U_Kh=(V(E9GcdKv-3O%45uKIIs=ygq!Crdf#q2slgwlsTF?Wh-6 zcbYOC8Tk~|A&+j-?#L)xlOAk(sodS16q2J;w77d+aIXb9aH$|pg9>LFxB-}FwtPqc z^3BBMv-6ZC&nzRP3F5Pa-0jK@2Zf&Oyxi@r;6jYNK5;i~hiShFJZ>inec5>(fez0r zR+*_T&jBaiZRMJIbB3GkUa(A>1FL5R8ScQh3-R&fZr34J;y@%!C5qRs?RvPC)GJ@^ zcAe9)D#)t)FTG!xT|z$Nv2Z1z0r+sADo+E+R~+OM<#c4rNOd4PPlOmM?+Fm3Y*Zcr+}5%WWClom0LypWEH48(Vn~2`|jVkWA@_*D%Kg zfqn&df$P8;ilgJP`z`R83p~~&CfuL^=T6`#J|@A1liK%x9;J|$WoqRgaz!43k+ZNc z<#+=3VHf|f0%J!xsM4SuXIPFi`xcJ##GYJwS1J4A35)sH6@VU6sPg za~0ZP=MJP1-<5U+84sby4)f|TrrM0d{ZhP2ftyTGegi(v*{Cy~aK~wLn{z`MUb#1y z*fut2H>-*G)hQ!kvfMCvBuwU0E#d-GP=#s5XozEI|Jb3;n;4`VvOwjKrToaH{D=VB zwE{R6IOqcU{0xe=3p}6}>l9N$PvZBx`2ED^E+GchTQNA6{FF<6O2y_`v3c@#nzvKl zf_ZrY%n-BD8sv717kB4wr`gUG*OcGNH_IJT55rZwHO^_uw>ZVINVo3sYP}+0wvQG# zjxf|oe|4I=bcS>0IH%p5bZ4eu*~sNG*>jFP?Rsu*sj*t$$=BGKOA^J{@95-+rQHig zd;}pkjFp;K-JN! zlTPZ1qt|ZiLkT(@W}hBN>KY#gzOM0sQJ;2D-Vv6_$vvK#+r6iQf{A85Qm&IK&biw; zdtLea%&Bs}7@a!yxb&I`CE{6?<2Qtg`XU7 zA=9JJ3i$qkU39KUfQ2^;bP>{53v@IucG&>CEDfk@I-LF^LG#Hf>TXT93D4bpp60|g z9N5djHQq#r^YC{mk_bf)r;Q~ly+$4#Q?;v4A&ug3Qh}b<9&) zAb_nlxx(AxCYUrhrBt3!G2J9yenmG2HcATM>&)x8_!zfxxDYc8d7u=9!S7mfvH;dl z;>G32-wIIPWk#vcSYm)BlAU1BFza-qt-)~R!fw6!QMnO4pAtGsnLR^j=|=8=yT3_J z+VN0s&6X$GNGz{;kfRk%0<~pM_KePah67CI)mT*!W-h-Y^+^$Pf@Tf&Z1_=ty;PR% zq#-U6<;XsVBJ?eW8@W5V$=e`E?GgymsIn96)eH&aVt65!yI|V_cF2+AWdx!_gBe&g zx{x~ER?r>U+-1zI^4tt#{?X1ncd(oHj;>gIg$W&!Df@)aa92FT-BH24iualBQ^42s z^)62Dg*APnR_8aZV{?^fO(mi~ks+)>xhs)-1T%b9R=u=uM)dGtsF@3);kB3?B{}Sz27AnOf*eS}LzJ4I_XFC-d2@9kz0> z%nQ5QnPr$Tc(XyL@AKTLfmo`{NBuG(Bp<};$~cU5=PB=LI7QRRk&Jr_(%&*0zFSwj z$CWoetgT$~8hL?%YL@4Q0l9=ST+C;u(N%%nd|TPbtA(s7)l*>bD1WU5FeBoCx|jDw ztxvhHJwRvF?NdxI*_J?}NY*5(b-fOOEK;NjBjx2v(=aF18;-^{5jeq&@3h%2cRx`_z>$6WD4FuFG;+UX>ie< zdaKX0Gy7K2_i(DPh=^ zr;lL}K1oY*)ib%t3$=iQ+8pMlY20PmnW-NF$HQRA-^azGx|suEtlQ;|A-_=G5$tp% zs$s7DV>L~8_9+Jw5luGNO&^XzWT%u!B_6Pm7Xm&mEhSeujwIJWJ=e=M3|eL zWz)5KjmK^Xg>D)FHt|7yK4ZbGrhZTXUZ@ewFhG|V6fiAR zw<2l`IfdLVtp#A0DVNA0YB|b~mpqjfLKI`l5a}%KZK=5~+6{=eeF`1lSiX7n2 z#hA*tm0!UHEdq&Y*5Ij@v~W^oi}~IKg~JM;dl#M;+B|-=$?$nKboH*i@cU`#{v>qY z4BgkATRj76Xtajccf%EHAt1d0Q_qSu0}j6*9S~bC?F^e!IZos(A+76`GzjkROd3YI zP>*~z<*3oelgMq_r3>^}q3CJM&oy{bWUE&~T8MuoHE`h_9+kwA8mJ^7NUuj)6QLdo zqg|k4YcP!7>Rsx6z*PqQi%Bl@cU@6r3;;@(23Z&P+ViMX@s*~WuMAhWDABgc#l~Zk zjp@3N)FKZ@k%z55_D`JTLH&A4a>gP2q?+KO9_TDIA$P)nvT(bfBCt6Sm}R61Z-in{ zP*90V;&E^0l=-}wJ2}==S@6Gs2^oIsoMEyB2ui%4Q0Ie8Z_G~6v{9G ziScl_I8$x|J&MEN1Jd1uw7Y)Owc}nJLa^_kq!>Mv~7FDcN79Ps+;esxN zdkita7lC30JM*2H4=D}v!8A#yg_ec-qzrtZd%_$R2#Xj((!C^6k7f#d#B<0NCz69% z+9`ZPd`QU`^ukEc8H?&nf)8aoS?a=RL)i16W|pfH<*K1pbFT<;q!T#+8bt+O?PP?j z1ce!U)EvfBCgZ}ckixCDvQ|zSV&*#I=S)TcNDLjt-#+bimC0Faa+S9UIDJT9xRFal z$afXEARld%L~2$ZMI-C&onISB!Ym09L@Jj9sGUi^jKSy$quh`i5)?)ieUj0KGdw_U z)+6LH>$M(#CERS+aN$*pbL3<9TGIV!ezxSf?2}9#o@b)Ch#mMin)C^EUo9VU4hB`J zqmGr-6^Z}=i++ICr@_To0pLf3LMKF`S1i*Rp|>6%qm^+etmeR32%yFY3_1eypSYKSLdBt+yT&;PrY`$>y zZpR{yAU?M8qa0Ud`ikHfusj?mWi4Y-SM2$W@R`w!oZ@@*2KGH6mZ(7{li*diw5{5w z$=FX#F$Yw29j4qh%%rHL%+ySWO~kB({<_H%vvY?8JM)1qk3&ea*s=AYb2aH}T5`%Y zyaMr_MDu}GUlB8i&2Tf{{ zS!xc2xOOY_gi!bCn^zts+9usl^AC54@%opv(IJ#gY>M0jC8cJ&;D!#jib+aygPDUl zY|?r)@}oKkv#P#fR3{cDE>0I;piwcjdDarR{t!PZxNa09KuKw{mAAd;O>C{UTyj~c z1dkLm&5L*)Mzqk85Frv0JQE{#U!2^1Ho5e{8`vLx-#|nKJ&EKom2iV?hOeFrS~Ws> z&xTG$XDvVn(2-({4QagA7rGnF(Hwvqtef3#y6a}|cd`or8$vwYKD%QJH1+C+kS)w_ z=x=a6yumtDwY1SqG)9}2t4R|u90D0($zUQiJ_J>a@ z8|F!x>An(gRWOK5V;Tqk{;<-0+!$1s2@c9f*$#%;4$2l80`XB{1)+J;ns88`K#cAL zYwt{Q>seSVH{}ZTe3o>V>NBOR#93@Vgt*siqQ*9d9Qp3V(I8KW7w!xP7jCZlG;B|l z8(eon%`n1bOZ84RxWd7vEk)7!peAV%PeY4mT0t1WZq_3Dexen0o%*6>AqRIdahS+P z>mG&%m+a(Is(DX{46f?73@e>gW}rY`N9sh89>>L#u>LOR+uwM}iz#gf8;(&lC(or)3Z)fZ&p z4h1}|3`WyiEVu4`L>QPH=PK`mvaH*hLRo8pyP|S@c-ezMSgS(yJr3s<PsEcI05Z>{a&hYzTfF9J0$;)+Ymtvs zk+&uCwz*2en%iASb3b^rIH%3kD&wMJA)BvgZ@e9QeeB)w*t^rxQkW5TH^J>()3(TT zvE2+7H09iG2Rj@`TJlw&M&wWe=EtDI*qM)!g?)MoDApNe++4vr#!V@ffIem-4X}+= zl|Y861b>WjHxjsZ@E(m)%olr{h~v663}lL_hEv0l6sA;mpAa(a&{Pk}I-N|*?AOTW zV$aO8kzr&xVm5B>Iz$Eax62;VmjR*>4FLlN^O0tg1#%cPM@*31PJq0(&yLzqlgLh~ z;giEHx<=NKn!dG~0!ah_)#4x{XR>-O8bj48hkWOk*po|HhuqjrAh>P5T|| zwaJ+n>TsLc<=>;cZiZoIlM`OFB#-7Di?SRWU2tP~v(iRY%Sl1!IIVhYjSH{f?sWI=!!c9h7@aa+^+6VI>itlyxL}dp;jxi?#%ESk#kR2Si^^Nqg}|hHj%}oPpMj0C zaaR$P)J%>&B2-)Kf+m>N(U|>HM~q$0!D@=8>-JeBJu+#Yj2=?coX&Ka*y)FF#_qs) zev|W#%4>-eHf?jRldkM);v%1WAvr-KyxC^KkyTMS>S5MYrkDV;P(Ni?!T9U~>RDYy#$SSNM~V zTWJRsF@HoFnyp%p55sPuquZ^?3Erz6By-5r;j7d&tNY+EWbnRRg{^6N+4;Ybj}da8 zVZc1GUkgXC89G7xBHtRfLPz*svD?m;K)20u@j_)ebwgY^x=T->#_r6GX;3ocHb&Uf zVFbcnB0vUE-`_Bw>ssb>N$C6_(>On1>YA@Jn)5j*^@u$W(_P^yOhw*rk&oH)A@Xtn zPSFqR$;r3*oP5J~h8}bDXiv?z9e}iD+d~Ew$Z>v%C+EiG|FQWGng2&Tbv8`TgZ6wt zU|jM2csT&3k`B42lr~R~PCW`%;7|)y8o#bIpF8uON4YbE<=pi;e3XtGJev+{sFkCHLBG9++P_?f!>NX>V+*2v0p zk@p2FyjJD3ui@IItqa9h8*8Plb1?j?!k6s%vON#m^I$FCL+P+)17#>YtSB?t8+7-E z0>j>y!D8jgbkxwokf1W&QXs!GOsO{3J|e+(dkz_J5;L(9t`qwVTxi`eaG^oNz#U_t zZ!mD~c}3fNq?t1>s3VbcbS;(TontIeeb!1m?xHeQH~f&Xn(%nsp0WNETcYC`u-hG; z=uY0_3OQBDvi#6BUx>YFC6CxsepCc5J(CC-1lhy0s_>Iw)}Y&TU&4UbVI_ z2r5H~pwfR;>9&z=TX$~TG_uf=)(;GowiM4VT(hfx^YFkgmPS`CTC})lk^c28H)n+l zEn2j6(PE1T(|Z^9F6rrB(yg2pFCV{6y-T|XH!WVaY+&iYqW+#0%LbP&Ua@G&;{KlQ zMFWEan-(u$TIyZ0Y+zAu&$7imo0e_bR9w`(v}Z|A@1~`T`E9Dx&88<;A7T z7WXbM4RkLX?CxGXQ0gD-@9$q+T)e!yXZfUKiqha-nM;o2XICTe|(^DIVE=%T$T%dad_*^1?0~1AXtzH<}t>X^e!(JFIdvOtp9?Z z6^nZ>SY8|~UeHrqyrQ(CXGw9%(j`IAnF!jJFI=>+dm$sfo1)ZA-Rly;hlI(c9=G$a zFYVZg;9T{ko`t=L)Xbb((j~(?w{I?vUIi{Wl_}Ix3gj*Sej+G8w7#@sxVU-v%cZOP zzgQX=S+jF=>wsvpt$*jX&83mj!oqbsONEi4QlYQ7^Ol8|76(SQ?HFCSex$f#gyt2t zltzZO4HibW6?S?^j(9~uLYQyewrl6+(F><9K7am#!m3Xd)F~Hl+xn%_j**3v5Sss` z;^tkY1q*_p{O`f{kx9w_MDaae9J8f3GD6QA?nl7=kAD7eKc8N;M(ng!e4AE$>ylEf zr{6cv3`VftAJVNSShYhinF;FjXe zObhEqG)?RrLBij>d9<*jG_Y;UmeSTiWgjYz6h^o0DhzHbY~40e0LG3T!-J*5Wu*~U z7h->StFr7cpaV|!mv(rtDz$4Tp!!E`ax+2jw?e6Ub&2&`?){v52Qxar<@_IQSi+6G88^r7l+= z6^FN$c6@v#e1{AgfIEv@N36;vJwdQE5p+*q)Xi&FZtd1xTS_~MbeHPvWo0yD<1X*p zc1vlim0F{|q>R?n?|Lm=$Fba*q3`}oSW zyGsMRMoKPd?F@pe6T#*00?w5Ty5a4cODBc*nM82$yMVWz@e?944PM>!*hPt8)rkRJ zI$YX3c%rslo(R^y3lP3-CjxbHY_8o^+A(?}5Ni^_$`fO=exSJZL=e^{g4NSQxMs&T zWY5Ux$1nH3D~5NDOf!IBw`;kDx^DnouU!*nI&h4dv;Z32i zbBmFShPM`XjGD|W6$cSF;-U8i@w#2Zs&(gxgLh`auC|tas$Kg?Ts^~lv}1vX#ux&Bc&}tFqhs4acNn%b%@m$v>W`#Tj7n^GbWpkk_NV>H0>y{>>hC1i>kPKYfJ+k zytue|b3a;?bb-yA(f*hYVd9O6;PW2e zVDc{!{Mkz{e)1c4{9x8E1`scp*N5AoB=`~I3M|ElTwa^v8ft>at2 z_tL~;=l$S2zx8tQkM6Ag_5brk(Di%s?mO+x#O}WsefIXREPf{S`YjuN`30-=F{2E$3c!blH)eUwmaw`Nz+H;o-~s z{vf#JqTl%5>?aq#`r>ykT=veEOPh!P`l-wMm)-k!t@%}luYK(tq4{{g*p4zxQ7*zx|ERR6cj? znRWl$rX|1mZ$5j&fvqpR^e1z_^XI?)KYnL)-o|^9hyE<}(U0Hp)!$un#(x~U?3w?W z{)OirxNhI0|Kf^md;YNXz}!X2(eLK}?O%TC;s1QoUHz-C{`TMg>NmdnouOYj?Xv&- zD@T?*c<<()9r=Tum%Wi$@GlRRe&w3K|H~JD<@on5e)aLaw{HB%)sGE*=&ifI^7PZ2 z7hJxwuX^t3&;H9ii2LARp+w;G>=7l@2E&QkB zzfo>JZ_S<8%wAAfyEXZDUweK11;bxm@q@qk-tTO_>6}0Qdg*WO{Id;Ljz9XX#eehH zAO5W!1Fu$p>*7D$f9b*h{ZBW(^@nf0{>aO}^FTs@(OJ-T&*SJ%4{+ z`_U)&p5At-Is3~`eE)k-|LoIuZC!ZI-+b|3mHSTLbNzq&)MFic-kkf%Hy%2#{T4Vn zxb0^jxn8c=`(N>UZZs7<_xTije#!dZ_}qX0t96;PFFW+>Kb!s9uA7mTn4>S;a7pP) zrOn&6vu+;Q@Y&MlQgLT#=LU_J4Zq~pq8ldZTR#4R^}{!BEe&p1zhhuZ7HkS07-=It zy_0h++&C6z)CLgCq1AXkHnVmTv>g~3`b_jT#QC7wpm%Bd`hkp1M3|9pJBoIWX{ z`u)EKJU*ZB(NA^h=i}q$^)-^8@vjwkkl*V7=sYh7_Wugn) z6T#BIIDEy6KlJnU`>=O?{6dKN`QWBtez1VtQGTC3lPlg*nq2RnF7Hfj_(*VGurl~m z@KMU^A0pa*9)=Hl*T*ZbKD@G$-{<*_^4rJn-|>5q-%t4EK!~-lRQ6!2kPH8*+$Z^c zj^A#6zsB!TelPI*|Jpl$l?H+!j88BSTfxHeKr2CsA`*jOV?-k)q9W-e7~>yQf)T{d z*Rk^f^qDMdQi;EBHkZ5TrL!=Qk-hBg?d;CXHOYm7=h2+m^RR*b-ykbyjBDO5t?^v2o&wXC-V}c$uoFA7Q;rooq_<~v zt8u=^afiO-J^%3)GH2SV{0^%O*6WsE4RKb?)3VJ;j#Zlw6N?O7Oy)5uvF0r}I>%gX zLRH-5x(Lz(MSWQ3HQ&Hi9`hI%r@9E*f3LLWbBg#Ke%7EgCkDLVZlSAEI;w>bNRhjY zSJ_MK?aTOAp}bMV%3Y34T8Aqg=Vq7H5oGXJ?0HFHq(Fe5P`Tehs(sFkD%L4pk+t0u z?exeh_Y|?wn0nD*FZs1@e66}~m$>NfxGQSBN>ftv6&~D1S=z>XNtru1H}HR(S--jF zHSec?8Y}Tmo9LdPdyjS!>k<|gX)E3~=&zuooS8*WsKrd{Djtwnn`P^A%7PZN^+|AT z^Qc_^fY$0B?22#44Rqx61DwvV=QBC=J-UKX1zvQv7mkYOUu z7X`m?Q5FO_aR2IkJG7dti*rn80hRQ=F(z4lt~y4c5<-hSI>WOhTG`laIyS>PKM@** sPl@}GCwn{+=l-qN3wR - - - Newtonsoft.Json - - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The reader. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The reader. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - - A . This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the to Closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The writer. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this stream and the underlying stream. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a paramatized constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Create a custom object - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an ExpandoObject to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed. - - true if integers are allowed; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Gets or sets a flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attibute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and sets members to their default value when deserializing. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string. - Serialization will happen on a new thread. - - The object to serialize. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting. - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting and a collection of . - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Asynchronously populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous populate operation. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XmlNode - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XNode - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - - Gets the of the JSON produced by the JsonConverter. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the converter. - - The of the converter. - - - - The parameter list to use when constructing the JsonConverter described by ConverterType. - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Initializes a new instance of the class. - - Type of the converter. - Parameter list to use when constructing the JsonConverter. Can be null. - - - - Represents a collection of . - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the reader is closed. - - - true to close the underlying stream or when - the reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Get or set how time zones are handling when reading JSON. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets The Common Language Runtime (CLR) type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a []. - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to always serialize the member, and require the member has a value. - - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Specifies the type of JSON token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the Common Language Runtime (CLR) type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the writer is closed. - - - true to close the underlying stream or when - the writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling when writing JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - A null value can be passed to the method for token's that don't have a value, e.g. . - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Sets the state of the JsonWriter, - - The JsonToken being written. - The value being written. - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Represents a JSON array. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies to. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Represents a JSON constructor. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Occurs when the items list of the collection has changed, or the collection is reset. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets the with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Represents a JSON property. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a raw JSON string. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Represents an abstract JSON token. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An that contains the selected elements. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a null value. - - A null value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Specifies the settings used when loading JSON. - - - - - Gets or sets how JSON comments are handled when loading JSON. - - The JSON comment handling. - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members must be marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisble by. - - A number that the value should be divisble by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - A flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - A flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - Used by to resolves a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only - happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different - results. When set to false it is highly recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Represents a trace writer that writes to the application's instances. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Used by to resolves a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets the object's properties. - - The object's properties. - - - - Gets the constructor parameters required for any non-default constructor - - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the override constructor used to create the object. - This is set when a constructor is marked up using the - JsonConstructor attribute. - - The override constructor. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the JsonConverter type described by the argument. - - The JsonConverter type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Create a factory function that can be used to create instances of a JsonConverter described by the - argument type. The returned function can then be used to either invoke the converter's default ctor, or any - parameterized constructors by way of an object array. - - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - Represents a method that constructs an object. - - The object type to create. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}. - - The type of the elements of source. - A sequence in which to locate a value. - The object to locate in the sequence - An equality comparer to compare values. - The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic that returns a result - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Returns a Restrictions object which includes our current restrictions merged - with a restriction limiting our type - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll deleted file mode 100644 index 4a96ea7dd4d22016d8bc7d2d1253d45d41e531ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404992 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⁡t3Cq6M$)|5v_N^43zEv^42L?dQw@U_SG3#~(Ld`kLLjCq$=LlNTKwAN2#B9;jdE{&l$ISLH0?~c7>F6}k8*q<%4CpLKCKhuAZB?g z%7YPcTKw2f2@rE7IYEor;gtw6ykTNr&dz_83^KNHAe@sMG)1|v1vgOYOP+iod)I9XWxW!>a%~3GlCdDD4{-kFO*rIy%Xx9&+Y}K)n^}sI_k3rL7Da0=1@}? zHV?|C&yGw?g!qODfgoL=J@wg5p$+xfi=Ykl*^?6DKyDl~4lGSNW2zO<^7?H5!^t4K zLJP}OFPZ8kQ@yYk`a#{XUf36rAhBLD)k~(j$kb~x!`jKzQ!>>Hdm$Yx)e&`RNDhS6 zF{X~I_k(9cj5^W|lodiacF1y&>Uf(nbRD$b*y5%I-e>9LUupicM_UvD_oz zXYZC0=$GFc;D~Ct1!Z%R9y2g}z7zJ{vb=Jz401gM<*eax-rJTX%)JaT`)BYIU?{gT$90))uxiBq$ht~^8`(ZoE13OSoOnIUCu`hfLF~j{)-iv;%#rqzp z=M$DaGZp309rb*wO744L9QgloB+7!+aau07Vj6>`eId%Phoan;gEBCnv6gm+*Hg&l z!*-MhcA%V?g7W*Er&_-Dg?5nYT?3Ti%o*Ecdf#4 zo9k85w`v3)Tjc<~GwcY)dv~y^Vau)@a|HRf8?KzUNbWhdz}%J{O3yRr?Aejc=2f-x zJnsbl{Yy~>O-HGCqAVVV@}39E)G(AMD7>c*h7&2gn8L#;yrL$?_owh8vag`<2#W7V z;iI+DCX&L%6podu^ zVp%Vc-M0H^_Iv9`g3WAelw(K^0cp&NrWTtRvj!tk=AA&9RgAJ<7|MYiQ0AtiOs9A+ zivP|l5=wRHIL@GFusS)zXC?z7$D#`u&WBTzGjk@HN;142#zaxriR1{9!^UF#GzuTs zj^TwAUIBiBvaNRvhB>}v-B1`&?y$-QWqXqhCpiyF4kPWvP{_A!9nAe8NL#k*>GB5YxoFRkOu_Pb1knEfuBVWi#7%YwASlQ)~!V$I;JQi~-_ z&Go6pJbas4)?y8u=Ro-T=2;-$IihUW5@jUGg{?6>&vrh@vrSQUw?p{`;={7vcMDX) zvhBK~bc1kE_Qb9zjYv9?)RS}ro1pB*T~OAbFsJY}(oXA)@&8bG4TVpVw<8q3OW`{Z zhP82XF|^f6vP>aAL&=XHg}Xr5nau6kl0M2;MY#xMdX?L?_N6K-1z;Okmx*oQk=XsP}rkumo zsUFI+R_DNe4D=djqy4QL*s{|Lt2c0FsqQNw>;k7yTlN?ve3t2c7REX5gIKRRAf2}V z2(=4?w9c$J@Ft9e4J7^CalZ(2YEhrF`)x3M;c&5u3)|sx4{V~`A3>SFpffFR{R+Y_ z+G6gvTcE@pgtJqmtT>cUECR=vAKhEo;Fw)@J zlZDuZ&kN;#(8A7`dqW45P3+LJ|KcEP_;j-nZElftZcU~A+6?S_ll3(nyrni6|GIMcK|8W&KVlXHKotPiFR>cwTx*Qa=vE z@%@^@S8ht-Yz(K+0ccYih4J_6qwM5?rFvFk10@Mx*9_!0B`BLwICq^Bgk^86?_p|( zc~sh?RPvulMzzKkaHW>K-pUQaJ!!o8lKt+sX8r!JcKd1}rotAhYAdys)D~0QDyT&P zlt|>a%$(dBn>@u-G=tK0#{vG6h~l9Pex#0hf_Eo zRv4Mx_QLpP{#eHgP+EAyF_qlN0k0ai(iKNZOMi&ZZm9>U*1b_H?7R9+FzrK!!RDK_asBLA=7J=U32;rJu&@QAz=PEuEPvk=oR9UA$3V-^%$)?X#oQ?v276d7 zC#Jxf*`Q$x%*t9lah~2FIf&#wk^#LjUOIuY2S{gD;y%5fGyB%P2s|v$}t~ucu z^)Dw3A0X-Jcn!3nju^jz!WoXJz3qtW!=~nUK%3ki%h0}ETzlwENA$L|Eo!SnschM= z))-E1g3<*>0-kTrLVcSpcmneKV)XAzXX7ZV=P*yzcDADy{)Xffl1-`Q8&ddvFKqcv z6xLHXm1KXC!$~e9?H-axDaM%OQ}Q#N!V_SGhh_Uw%tneiNA}N2Dx@7mauI3!Q}`i; z)v+<0EO(NJ4iN9gz8U%_)adhTWX=-oSbt8}xiFik?yZuIAV#hGU0NSH+SY`a|J9G! z{xh4SH0;M+ZR$eWwNA1Rt_BSuyn$q>BVKV_b3&>1vf6`&yi#^Z~hnzUkmO~WOMH{)(wuySpGXLg)qCdqyzSCX7Xaw|za$@3s> z+43Zu7jKTBpUwwSe*JA+`>Go4@Y)D9@-Ic1aS~;ZVw9;DP`*2W@@O8)l-($;6HykA zLz$n7(!T*pT_DQaWhig0LV2(e$`vC~egpRK+-e%uORZgc5GXNZ~|hjL)BX7W_U09wsE1rVoLJH$uqoC|_JkLo(8TsM}H}i%2CwX|~IM1#ogx585fK%=sxW;s5Kbt$iS#Dn~l!I!cw6EjfgLe|@ zLfTfz^}xP1rA?>PW-mWGhxh;9Lf#@(SJg_4j{j2hPz&qG|fkB(ZjlScoM#5kEs%xF^JjK!WZO{HYhtZMY*n72VbmpAk-*$h8;-jM3ivt z3=*!LK~6YBF%3}8YlO0R97;f^TIDU_or#=jK9lPH{V62tErpj0AJMo@f@Vhr0CqKvD5v9B@9iFER|WySqB z_P1s4i)HAk+RMLyQd!vIXgNZydXUCUWEx zf=thzqe+ahgAxWRcFf)l@4XK`{t$fXi{*Y*CB(X8zE2^?0QLf8s?pydvlNp7R&0~e zaj-vf9z7rFfF;@EgSER`bg#ZK`!k}dx=Is?#KLrB}x)MNlWvFdxA+SbM$ z<82|noVNhE+!SS@>1*uBU%!hWnbY?rqv(rC-EIxx}e&LNR>>i1& zI&OBdl`-25<%j3ROXvI8v8%8~*|Djxb{Vs2*|`u;QuO`~FTVje2T_iV^n+Z|F9cI* z!y)(gQVhsiW=S9))=UFgqc+M4lADZB>ryQVQZ=XRP&;TttWgfcpEk>d_!V%s0cOPZ zy8Uqs;8{Yw&-1X+@80UDK>PV%--Is$8E5JSHIh22{k|Gv%9Zt0o_3B_tduo&MEju- zj^S!J4Z@0~hG#-}s|fFewDI!Z0i5*@!gXxzx98w3usf|W9N6))BRtU#5_Y#r*wNT_ zkZ`K0hCAI0^Fv^Hy4H8pI}gC82l)J7elV3ATt}ZY$PvA%Ikt?&c4$U&aS86QNg}WB z4Dvb)W&VeKXW-!`wBh2C=den=F#paSzG<8m*WQk`fji-L%pC42d@R*}%M0V@P+nE- zP-TgpF|3y4|C_cHK9a;5Ri*u+8h#3vVqsVkY)Q4&>P&1;vp~)3|FW+t4`+M6eGK*8 zL2_})OK697N!V_!LBbt|&syyNs{5xN-hc-+m7yPON$lT$4BEM>3|KECKf{v1X||df z#He))sEsvcbx?M#gQYU`{7W75qx%26Jq>+gE;YfYVcMi>*vk_vK6*G^tF9l8c6&b@ z$#|FGfB9?$K2<-4o+B)9UG=VQ=(#Oe{x5HCU{lpr*kb?7zBAYtQy&e{Y60J(S=9sL z>$dFgXUrmEapWwb)qCR70EkJLf$=?xQRb0$A+1#Z8io2*?NGOq9bi{#cobzt49XMM zC><##t|Nx)_eFVNFUm}32j3R(>8c&9(huPd8+eA9f-M;bEtzWM*3XL7uQn9I-D!uN z$VNlh#&pUjZGwH2(H}l;hkq4D$Fsfh@g@3KQKSBhjrg&>pttagps=PiMa+M#!a?>?>!t6^v2gyHeuz0%m>W(Ghych{j{~nPsgqb z`fKYlpxc5nUA^I(1;(}v{^jcOT`hs?3fciWGuBB^8R*OyY;+ zF8bAEKWKE#51tHdhCYixciXQH>!Z;Fzq)L>M$ce0Y}M#b$(kL|=%t?xtI+7JUp;nJ zqYr-d*?o;<{|4-(Mmqn7OtP!Wy@r1yR!gJW{*75vjja8fuuepUP|k+_O<5dK0jt>6 z+~1y+YL@N%Td|9prK^8y_J^?iy+c?3wyc9a=2yUe@35{#dp3Xw>)zWR?xJht~@59VBTHx=+Y&0tN_hx-GTI1i3eWB47 z{{bvhqp$t_*%FPu^$%j}G&<=Y!YYXhnBVBj{t?W{U);}8VwAX!rEyBca>Ot(<)0O!&Nbdxf@tcW!*KhU{jfoMj7%n7EDyg zng$LFn86ZMoo<$uH=D(h1r=FY0*x0m8gzLqOHc;r@>s4)wD!zqIR+)0&6W#G`}CB6 z*=(JlF6rZeb_&XFkQp$CT@zH$U@B0&ftP%CU)4bl;{)Ua?Fd-R8n?k5a&SoMq9LP1mFPX;Vy2L&ySKL=DP$Om?WW$c-tSlAJkvA+f34z!##Ypa$8 zccA60y`Yn`Hp(kln4s@w8L<^CK~Mzr%1Sm{&`{`=m28Qi-+MffR$KzjrYhVi5(I&BkS%vAG{uY5-8EjBQ`@>?{R@PR~ zMQ=}eEAtW5a^yy!Y(Z&BPo%Bv1yQbUyuTHAk(|*>t}e&FAy745F^UEns>mPlQ} zwzEW{92S?97qFex?SScWnEljNfjii@f+i*-ssAdBTEnXNkrvndH{c`v26g{P7gv=l zAL)E@TLUldUhW1IzP|_1Y09rmwi<;wTp^mqCXPm37gx-G8uJ{DKF`AQ$VjJ0q0i@T zDoLZTEH)l0?Hz?>xgx0DD9o=*C)DMz3wtq#r$o8Taw}nWi`&fjadCvU;_pzNs)7hMFIb5?_<4-6+ z?y>Nhb18Ech_j8}*ckYw?&V7>Kc{Wb-QW$uV zP1a~x;3Zb5(T2dQY$H*H>DC3i1Ak<<1?>a6&MdoQIV(($&p#aa6Kf>shxz3|o`S+= zoe8|bdJ2l4^&L>Gplx#_ ziplx7ij!FL(U~bW+fmA^!y4VHX4y43UHGuqT3WC%MaB3c{V_F00u?t>5Os zWplw?gge(SY>*(_xqe|8f^c_wz@`bp-RS{aC8+ig z>!641D?zP?Gz2OW)O={OphxVCpk6~AfF24m-`+0hF_U^S_*Y>%w!jt0Owg=?PCyL> z{cyZz(67v1(Ea1yKq*dKy$)qe(W<5A0rtN!n-g&tV-2iqnHcZ)yRw}Nmjf62}Z!nOP*`(6<4B(KIY4#$pqC}LE zFXo|94p0P90sD7tUeFshz#A=d+4#T(LGM_!MoWYKW{E^)a^F!)gFdjgLgx~*CWvv_ zM@{Dv^HmV%wKduqB=go9?GIA8D^Z!eX4L*5V}6ta*`=gf}R-F4Vs3srn ztNOebtqZo|SsGac+wfT$)emmKmuO@k+?cN;DwF4pvIuU<_xPiiY3v!S8g~4GpzJT5 zg6;TiqC%GarAx3qw+T=!s~7eRZoxf>a&jJ5^I-JFhysaRd#g6c3nW{72?i1|9`v_{ZJs2oZ z5Uw_Dc$y$wZQAhZf^Y?E%Qp+c6|61aF9>INJAP9T&hU2psUTe4+Vk2$YVNqYwdYL* z;i}=x`wGHU!ax?bEYL@f)hb-lQaAY9LS^HzdzJ?qU~1>u_2herv*HLDL#BvP;3 zy!aGVM{AZBU!YM|uotf&%3(9|rU&=suLP~|GGcvs^-wGeJd{1`w&cx+h9MQO4O?ah z`|ycGIc#P<&iwelf~HtqYwyRahpXwPSS1u!KC$BKd$pDlHj~lq%@o2ydV_ajNbu zoQxy+{dkq`oJVpRq7t9JB{-7z5tMhHvnXCSLDhW-^9Fi6Or_n>o>5#kT&0dvEP)~f zCA;hlj^@t=nJ?k+3D)!^)w0hFB;9D0E*(H>nyOO&@N3pFe2SpU3$Izn@}q)YF5D74 zkSBbhTF!)u58`tLJxM{@DX4V=q|1W5;6y!$|1Id`Iivw&R4@04mJ8|(PxuYuPlzfQ zp2P=n_0G@(j`zd|aoe$&?tv+u%Lnm3g773hi0g@RbQ@;v4IaeD5#{PKCZaA=(42`z z;ANp8ylRc(%LU<8YaBl+$a4DifOuXh$bR~5DW2aEw4%E=8_XXI+S1(;=#@$^bG`{4 z!h4Lva#paRN$@lS_Y;IQO5mx2>X#zT6!gVOq?Ll)iYAZ)aKMz>28GM|e7#9nc%kzkG z*xgz13?5%C=vX+nn8}}ObTxPukI6)zxjK{C4fJ_@p`d0!v-v5a3LV}7nZvIM!h0Tb z_&q^*4LgTF7ld24Mwos9uS=A}!W%{dB?}7dJ6K=H-w;(W+${=uwW*k{g5kbW$Quj7 zeWj2)3&NeGkoOUUJ4qoA7lb=WAs-H6! zH(I}t?-#V>M6`Yp&zi03{!EG17x5xNW5-477xSHh^uwa{OZf9Ss%1%Dw7!_nnyb>k z;qWXXkNHxi;k%>tOL?35NCj->tgoz>@y>!ub4=tFJdh}d<@Ai!ujE$*9jiZ4zlsMI zs9s7>Wb4=PI6+4Hvh{0us-Tg6Gxa5WC(#|g4%X}S{EAAZe^1{iujg+B{RHdvdfspW zm4!Y>fcGU46|xg23iRvw^G|eT3(+!H=LB~r*Yh)iy1?B@$bo2v&SC0Cc?17j==KH{ z>o@Qbi!j|Z-ANe98+blZt`5gFSPH^3-v+J}sX5@8Zv(F(2+w?9aZ5pX=KG2_7KCTM zjl6{*Jo9bj?F8ZZY!i1Egy*wOV&;^|xI%B{eT5EBfSb9$AUpwX=HY_y6uX5F5`?GN zEj&>W-GSukg6Iw;pGu_ObKJ&v6HTK#X5098MCu*LZJaH}+NyUTxAPH#@DAj5jvAN& zM!0ir=MzY$-WA)38${8m-cQ&EIPj7`T@kEx|gFWnd|{Aesj0 zHt6^B5RG=|5AhpBIqdeRz`$et(Nav8!+s9vr!V8vm#I|ZoEK2eFAEwBC!G`gfgryD z2lOX+)8(pVL_l6Zh3M&Wj=T0rjd1s^)ChOqkA%B#CGW8Uy-Z`tLHz%kWd$lCQgK1kD9vP%Z(UIbq@px41y49ap_x@w>^b-iXlitG0VIlK@4fhTD>EKq(l zAg;e|;L}9^lL6Jx-{51lbS8m6^933m)8FK~G&-%n#V=}fS$~`VuFPpbLjw4jt=jvbII_|x+EFiS(hZkJL|G^T=fYjh#?_H(q$sNvz{EHlkRGi9#T!h z`rta)+;@72x%8TJ6?|lmIUyF3;pfwJqz|OSQ^_~MbtH$cFkLR2#ng5Gl3#9BJ0>L49_Pf5D0(NERuOAj^rt$IVrW|QjWLFue&O{HUk?j7?tZ6;k5 z6xP9{w!L(VsEE}+zbK@I^juI|_cb9cr2(7KOA%}9z9*!WG*r-Szp@ZVX}O^BOHPG2 zNzJ#YmP1M}hqRSkG`bVgUK$|iMfg}V7iqtsl+xEBZjx@Rn(lCnMX09~C#YzXeQ0Ot zkfv)F+D)pv4J`}Us!e@DdrEPFf-8bTdrQv+RgZ`b?JKq4uKJ9t7#8YN)hjjZC&e;f zX$(VLsY@_^+LIybYIYvY4ANl$!G`qtl&kPqTx+=Z3HD|$MXOw zSS8aFhd0VW(pW*}XS`XEv`|>ij*8|%(nUeBMRq(`dQEhP*D7*m!IJe(%;65VuICQq zA}DlI7p9kd1r^7*vk)m;Q1x9#EL2(}=;G0yEKItrl4&Ej(HkMX61p#p015H|CeC>((E3g z@oOwu5xgn*XlRo3hNys99y=YHEV=GMT>)D(`dVnJWU)`RYzmg+q!6M47Ug+Abb?eV zbZY`)YEF`_2s)g%#ynH2~DOS0LoQenW`&>ZQ7ppA`;!e&VD@gV$D@21U^ z+8;I~t0PFcY)im3>zPsrQ4Tv2P$O)XWONjDIn2$aMp&NIP|(gkwZmph?T@LtvtBjA z=14t`t5mw*CM;jNA!rNGmy%nVs#`X#N!WZTm`E+l0%<-`5p&$%JZyoqny8R{-=|Gj zq4Y+zWC31oVT+_L<>;k=t?uI%RwPXpbZuSNu*K49je3VIk#r}}vXDJo*E?*fWTjEp zu;o${jRu6Rkmx7Dz^87#K5UibBXm|?5n-#PI6;SV28OMX%1^33AM{BITQ4P7A{DT# z{R6|cNIg!e6tOocY=^W&kjMV5p?f8ET21FNY+~3xDMX{0Vc$qGXH?y(faPJwq@HJ0 zFCQw_hm}ilM1`#P{_SCv(pf>1haU_(D>zt1y?P!0S(+y(aEz(>&(a}5cgD=Bc2jyH(&_8n2)ixWUR1r{T6ah4C8%iAmtMrqg39u^uD#@40r)ghU>z+vU1+CaQ z2dD?p11O6xP?FFcTRn$8mFB5LYu!`nfY9Mu_e{Dd2-mu2(jP<*OtJr-N!71leg!O{ zzfm|?5*4xGYifo6uKs)stSC=bHx7R;)xCz6NNs@r7L>N8d-w}!_4lf-ex-)}?9T(~!5 z1@9Z4rV@;^H?`kO#YBa=Y?m*>|B+S`Rj`_iCjjZLW4a2qCS_Xq2PvB(~g zzoF`GE-49@Wsjd#npV0aT#?UebU55d_PMF*)|Q?NHmEBBkMx?GbW^!9i_d486?xPa>%YB?xbvc5lNLOAdMbwZ7sp)h-RqB9-3*Dr& zni1ymXraqZs|S=ObRSmMjHoGR37y5NdO$OTu6Rbx2n#u1==RO12eeS=n&j4us3k8G zI?vpCKqW%wzNBVEZF#fMg)ONEv|H#Zee5IZ$OnY(SD&^($Am7ehkZm{xl-un^=J!p zQRtjv?ISGZ?}e^UY+ImPLf3t1%?K;`fzU-Qtq1g6)iH}kx(I7I`!0ij1uQegGr~r` zK~%(|ruL1fFPq*&T@ibf6BN-v?jfko!hsQu04Y$01bG^ET&NU*1_{W7A3yhPBQ;fo_21Pue~BtKAz#&u`;IgvW9JIe!}qEB^Pcab*= z!jarnHv3K0;YjW#yJ&Pcyt^DD2uE@cd4@(e!h3!)c6-U&NvF0%FZmEr5xX>^GNPA! z5;p2WTd=N(v985nxv8L6-Pg4kB6|oLzoUI* zf}BZI$aWo`>pxuHK%}-{qP&|(T^SPPA5>y1OFbhK<kz?dUL2F9~MUJJGz-u*J`NnC4tKxW# zaJ-~xgyUs`0UZvXs1c5rbOX8(K1nvb;>(b?tGVk^;rZ4Kd7q#uzVrPu@@cYYhh8#nLPp5nrnJXu1 z^i$+4dGTN9Q|;S1@;ag-c5U>d$T{*OL8CH$kIa|t-k@a>YhnE;a;_XA=&u29BEOUq z1bx%(L*zX95K#epxqe-X1+v#$HQirJOrr|rVS;KDTSP6AQ#G=QDw4kzWbauPvP8Zp zD9XDmq*#6{D9QV*`BJ&sJJsjqNw!hTU`)x}5O1sC{y|ppx*!sQq&Le^p(Jtb~v>@szyu%+Yi`bY|OQVj<9vYQImCNvh5u}^drG4Z{ zxUN%u4lUmnbz0spbpHMKMV*n|Wz};0(qmEQ?RKWa~e~7v!CmX4{>*H!h|0r)1loxTN{tda@7wJ?D;b0cH5DJC9CkL$)Z9XOPE^G9cNiaCOL-$`n(yT3+KOFuHHQ&f%R=fXj)E?BC=02p zxCq+Rw=Bd`=`5&AMp=lJ(p%7%uohS=zJmU)oEdGS=mqJ=m4(z(q6JlMFAJ%!3=wp{ zepyHZC0Wp@3-h8IDtiQNn7$#}PI)M(``)sUmdfvf9N}(-gYuUk6Q8n>Rtl@3*1@*h z!RXdXoJQr*ZIp?EZgjAXYNy;6w6jvvTutXa?z?CgrL&-+sXs(_RJ;YHhIVW2 zu7nV&LCVIec zuYVBTMY*Y^gKwfLFNp9ep#&ObpHwpTl*4pCN-(wb>r5)1+oxyWs5iK zrq~F2x5X03RwbI@-IXpHS+eemFVQsCEQrPQP!fnL_|e_QKo%C5Lpg7{)jX!B^0XFG z4%<1sK};{DeQi~D>+5DQy_GI?RNdeKtz-HqONa_svsE2pyp%5RI-i=96tZY?Fn;w70Bq?q|8Q4Z^}s%dPBa;Q04=CIDk+Q*Jp>|3bRVRM(* zG^K*5oa5L{S566>o+$W)wKs$O=i^^VO{#t}W>?On?wvy_E` z{&WqFoub?jbkXH>WRCJw(4=||%%>}cC$d~c=YT#7*p`zKvAN1vq6&te4$M?$3c^nZ z@|2ZC>io-BzE#uFm43c*iU^X7pQ~K;V0k=l}%`&_1T%jY(14oOhWX1KoC~(vUpc^TsDY#h5;O;{;GyrgfpG`|fa7VcHjZHgbov zHq#@q=lg!_e4Od&*sDOzn1)9G)_13~CDY_+Tl7w62T6F2P3yQz9zV~O_iiS<@(zgJ zYtfCSWuo&ey4Q7L*@7%MauR2>Yr9irC&H+rXL%M6uOs1D1-H*;?OcNp9 zkIubJKhB6O|C93~(;qWtNB`t>z>^v1S=U($qpv$%O!2dp0hM7o2YY&poWV?YU{7z6 zvyLR{gEyQV@DsK8>$p20`e)~2rZ4Ngbzkv@0>JYuGN#;ZPD-*RI{Pjt*t0q%1vS)4{$@o06iO zN){82XNoeJ)8TlgD6?3HW0tCHlSE^ds_bRLF-uhrG2xh{DW5Unn58LaCDE9rD|bjI z&v#uJ*^FB7{YfXH;nU7xMB@&hi8hs2CE?6Gt)r<-BGPehwM&`7gnO%9$^xd0N`=t@ z%2KB3m97A-VVbny*XUx(CP|t4`~`P_K4x9S+FzrKEBl#hOS;5#aIT|Yapgy*!np=e z@#b_K;y_nIDa(`rx)REhOgOR!D$g)sD+MZ@BxUK?o+XtYtc#o$*sr7#&6G5)EYKjP zV$&-3E2X3|)tpuXXr!bp-Mugzz98a$O8O#OskAatQkIUt?UqrdGvRN$Wt6vkEQ6Gf zS@#?CiL%OmrhpHVqRJ{q$x_Fi&*hX;Ot|y8obo%k)VUEg5cczk^rgf~W3}(Vnv5GQ+2}i{$${41mZ+_DE5oJ76`!`PjO=J4J zQaHR{Z64FNm4bklFqLZ-E~+W3m_nKb0c~Jf8x}6AE8Cd1g#`iaV~Xw;E@~);n1*)? z0y@Feq-S3dqFiEX+p|5;uadIF5YW|B8a_>JjeFH=Dm|ERuX;@-jtS?7T1qk#&JVSe z;Y|Dbx9(S48O`)%|4u+TOqF7K^{b=2!4w)33pAJMO3eAbb(MFR6qwQLD!EK!Vv_qk zs;p;vD`o`HR;G3^+t*X}F!hDmzMk?gru}^~`_)&DGkw`-63`i@YoL2f`IgBMH3{e{ zQ$oeeehrkHOrt7J0=moeX2q;tk1NVE+#@Sa1u8Cy?&365%CZjEHVu_3Ot`jbsMKb{ zwM`@CaVA{bG*X%|;ritXr6m)tU!G82V8V4zW2Fldu6r6Qy(MLdx1XEUFI4fpLTRGB zPL}e#ZK5oalqVh;wxHjWN-pWd=%erUYpN`JR@O+A`eaqVW=esiOi{Jx`hH=`1=gi} zvbEn+N<>Sv#AizP^?O!9SeCSBx=-}-e{@|dor z-vx?lL%PHd_5NLyfVM>Ll)(O7mE>@w>7ra(&HlZV#gei__Un)Lk5aBn$`q^Le6oLE zC9NH$E3-MUe~farJ<;UhZTq{GI~|F3FNp0wMA0LNu01`v|EtQZE<_=lX7$fh{$MIs z{)NbFC9o^$lJ+d=KTf$CNp!sJ2mL22f!&D4gm39TMY+!8?p4r#x}x_Wow4G}{&SUu z@bose%dy74_Ftle_9PnB_g?>HN(-jgUTVw=(IIF{_mmy@_lI zbz_e17#Ug$l)hqHYs(YNf(sgDrT$V?oV`eRM(iD$`+;(ds@ZpRnlTf zm%XNMOo4L3O>{OaE#|N?A%Q4t$!jskl-wku=Q_-fIjM9=M#>TOK3W>{h0-jAbk#P0 z81uCfoJOQY?Th(VnZ;DK)sdJ>%2lRiWlzLhR(cL0%Y`4FkGZDQ8AkL-liy=*DASle zpAiuIi?Ue~&i4EI{jMA)65sX-?0QR?mQLxgXWdcOFunO?nbe&#Z32(x?@YJ&XJ^x4NZ$JqfUE;s9I=9*NSSu zt3Q&aX9~n;Hmr+p+I9&TlcGw;Ga7G^C*Ofd1-D zrWcO35Cc`*i-wkq!v_o)q({xXf6Yh>3t8QSz{q|YvE+*V3oTVOS!hOP7>S-q2f19m-$AtTDv(;ai zaL@8M6*kvMuW`@vI5m(7_a*13m6>o~a*kS$3HLLPSDP{6e&+FNTPEBiJwc6R!adRx z)EFk*mpoA&%!K=rC#s{Ea9{Eybs`h)OP-|8Wx{>QlhtKRxG#CKx`7GzB~MXzG2y=C zDe4g>+?PC6JoVzxZn3pwF(pN;h3h@ zW5PWg)6_5~+`}j$Qf$}EKs8*;TX9A zDBGf~0~V_9N!n+}HvueCk1^rf1>RAAVZuH9OVmnlpl5VlwM?xiX^vRgWpeN3YADmA z-FFXIp++$^?sj0nO7#F!w^u$LkgMKgs`cjS0q?1gy@`3w5epli8?ah!DQUWBKI{7d zYt^YtueCi~{C#yHQ)J}f;_KA%(=gq1_$BnW0qfNX7Tq84fm&xe<%z$NZcw9%;CBl> zZljvXWCkNGW7=_e$V(g5)spD$@<#PbNtX<~ceqh4l$4|APYr-{KM+BC!W%eM=L{_G zk`3=GZc-OW$`N4;O2>VqE|Wy-$d6Povz`y}5Z?VsFT0g>`L-KPgX6YYbh&ArxR2G$ zs+ba69=`vfmYIp=A+-l;AnB3~@1pKfpSI}jzPr^9mgSVbdsR2<@Q&v`bq5pP@!YSL zndQmzg~)t$IFZPE@`}Ac9V?0UWEZGQnQ$jvfttsJyX6Yhi%ht$u0U01W1jf}_th1s zwV7}yU4hz;33t*Js0ljE{433nzIsM93T&cp)sZPww=!~^PTCfx0K zK;6QG`xFnT`-$Xk;{)mmNwj>utDGA$pR=)%4uS8-s zw97%&0Xv(pekEVJ-SwavVo{Lzm)gc6BlM6u&?3?8usYtNbM_-@u0^#=990imG{gCc z`h!Kb$YZK&o~Jz6pQF}i!o5Pr)fbs?AJK8uZCRe~dR(1okrw%x`kqCKIH4Z0$QF1~ zy=qZ=aY`*V-%}p!-BBA@RMhngwX;Qm;!8EnqGFM!)#(-;>v~4rVA090XVuRvDiisY zdefp`yMC<(y+!5Wj+JlJCz)_J%Q^KWCfs*cs19eseP@O0OeWlSR;X@b!hL7w)#FUK z@9ez#vqgKmeyf&UK;_{+w~J~h6Yg`nsCH$--BuUXbSB)1bxEDgg!{a|Q#Uf<-jDCp z!;_>BxbM~HnaV}H7RIV@-=Ed5nc^#*jr>{tj!8Lqy6;W(C#F&d&qm%*>C~swJ7$Y&{$Kt6Gr>-vaxaTAc~s0{fdM_dEZgc4taV)FS>+qnSp5?zTFR=?&1` zR#Ta}>`#unqrS`(v;T6}J8A~giebrdchw0@8-`u(dRLv!bQyH_)cH&|L3dAmmucs) z(|zx&?=gKg>}=$Hbt992HWS)*rXXlDq2)1sz4Cr%n|7G#rTS!hYP26pQ*ygARzs1I$|L!dv;c|K&ECZJ4Y&7 z1*Q=z!-c97in!jK!PzR=hg*`hPS~sS1 z3p+;|T3@DwMU&%9EuLx2qPakWnI2mdE?n9OruK`1fW|Ogc>9VyKpW3g^md>K(55jx zn!YTqm^P28ar!!-B}}*W#YPs_Rxzo0F>%GU4NO07*&bIy+s5?AmOViGn8v)79v7$` zVw(Kc7@!kOtvi9vRD5+hPl%*HGe8pZ$yT z$VaplOd(@?cCM;@PNavy+gz(^=Okr;XLsYOY9*Ioo|(c3{li{OYsPf%EhWCXCYF)z zR8aBw8rlV>+y&+0L$pn6NH_PbJ#jU)W^0LJ()YyG(vC5eT(l>ywg%gXWeNRO?uo0T zHDp?`s7icY?K;zAxqIRs)poBV%Z(i#i?65cUXL_WG;H5IzP@(TqUYit)9QbKI$Gs5 z&{j&KHvl%!)=8o_05;IJunyll^0>B}b@&Fr$F+m3!!=4n?Nip_Z|n^<-+hXWG~a!S zjWpkVice^#WjcBTV5oMR^UUkpE)vZV zDZaJVj%mT`lj7TG=}e!Nn-sEouv;`}BpS@$EI=dk`HpH|r{vT^HY3 z8?_ZJXNpmMx5RhRs&1on32pP^BemzYBhlH>UF$}q_k{cG-L)vDc(~8rU5jUWrtPQk zJ+u_2@V1`=jqs#{ndBwybtar;Ued-h;Vjcrdy@%gnV#A_CY)t@X^WX~mg%LfV!~Ob zxAp-O&N98VZA>`J^wIV*;VjcfJH)heSh$GNK4bc9SP;-zCXpU4`f3-Lg3^P4t})>( z6RrKigtJVvcF&UzW|@APxd^7^n4NI=8S-WSkbq z6tdDB7_TKWHCx#yGF}_bgfreiZ8Q_kcmuT@CY(tIX>Ty$OfpED%Y-wYTYHBIXFRu- z%Y-vtg0`LsXS@V$D-+H#iP|0}oMjTVe=*(K_i22RcAQDg`yA*Dk-Q#D*2KqH+d1%5 zb>P5cEke?Cv9e8-fhpR=U9u%aY@<2@Q?(sThl3goOw$7QknZyZPY)cbB{Pja8aXgs zo5l3Q(71swYuA}>EleHws;2CvbRAZv4jiQgOUe}22fs4#b?q?Rm-n12W3(TL2CTcdV#B~J?Mc@CwBlo+XIWRU@Zi8~Eu87x!cTxAm_k+_95_zv$<%D+ zCqQvT(AJ$JbF|%(GJ#SDj@P=u`X6cwZGCFsM6JK1Iih6wZw5}%{v`>28M!iWvUZ#- z_Hc)(#vd-HLE?&>U^q5u#3ML4)RN zA4$R)p;hEU?NdoP`od9F1})OQWWqUTk#>pc9k>=*P@P6|_E3`+CqAzpAw^7Xpt<++e8n0_UC|8@ubQ5%|v`?6}FX}kx zJx%?D(oJ8|f6!{Jj78~#)@qe48b9cLt(HX#2Cdf~XByV){XrjSO)c6nXoJ>Q(o8XZ z$-zMzwRF~%9npNyhgzmZX9sQ8wyxDyO+=sP6k}eq$ zLlfLbwKS%}p=s_Hbt(PdeMqs0{aK+E%9Tcc-~eXn9OEVORSp?HE(v zIpf`*Ygd>eE9{B;T)WAHPw0Q4-C>%uD#-nXrkp^}F4^1}Gu&Tlw2%Fgf%{X>XeC%T zsdte3j8TuM6ZwPB^ zEZXb-QKNTxWr^`{=j10X@N?;zp}la#ObS`rSrI+C(P-r$4opR{b&?b)+E z?z*;ysez0ue}o7xmf`y4M0(-MBs>U>FcXaK$LckLLHJ}k(6OZ%Cr`LG1{ zADZ(tS+*LM=Dw|+W2&ADZz$2)ogv+gp@9i^wV_OpK`!^TY^Jm^-G$H_o<+-@s z33k1oqSuM?S-x%W?hYxkOV_-{T1bz zy|Z3IfZj(^ju<`ViG*VM0H&8x+lyj4ojEyTXsS&V*TE6^w@<@fUR)o_mf=m?i$FcY zqLJ>B`V>i7V#2Uy38nQrOml#O^w4uydX_i={j8i$XLzA463*~)I-TK#w#jgYm)GeG zFSPAnuZW5|jT(i{6L~q*&u}T;S zCDhb+u@2w8QByz4gzw&{rGLeQZ`-JCm4|QJsB6(LPSv)T%qa ziKCu=k1P#*6GwfkM))R<272*AY~4$8zkNfi1l+6MP_HC)g$C|bZ>YDFG*j&O__>6J zdev_+9nLFNjK+GXq)Rq@??|W~D~a~vhw6!>gVFmM=w`F!x#bCuHPLe=3@ua?+ z3HN?9)jyX+*S<~l%aUmPY^q^A6B%B)uC%mZVG8GOTp3q)DD+y=q(Fq;(%NC7G=%lA!#$4vWn?I%{MCcP^TCFcgh|!y|<)q%H%EjnWOjUaxONiC!OA&=e z+~O}2;`FhU&K6Pr0?;C+1@OCnyq?RHom-R;uYbWbYRtWafmSas59g6vpLGR2gWp$r z6(zWJ-&s3BUoUmouZtxn=({B4*=ke_6bbqnBDn@j)W4NPb9kbDg=tHV?Qx0v?@W7p z>;YEE#q`{xk7)-}u%`WaZJ z>!D0I?hd!o;Y{+fp2j*{<-M#g^`wKjf26)z60J2x>hDX!c{)&x)IXDiUcc*pML%cJ zD)(!8!ymD9S~HB+Vl)^ckG)XhEQus;^-k9)~yd(nXkO4xE336Q=1;6T!1-#}cON zy;!#c`tD3Unduz#PuPpbmd|%;nK)BVyCHLd7KCpr>mw!6=r&8wwshf%v-GJJwHLGX zd6MS96?><|IXb)ojgB-NvAMb~DMx=Vu1DfrJ& zxC9_y%lUeQ)XmYqnv|9}Uw5-*@ogi3(j;Z+6}Ihl&(}w>Zu+k6ac^0(J+33Yg#FAz z`Ni-GWdU2}7sHj@0)07^CnhYfn6NU^nUa=C%7;<7H|TaV;W~M#ewN5KtkI&T@DF@cAS&5dV4cDzJ^y;je)EmA#ueWBhH{JueKo*#bg4b0m^?{V9 z+)=zrAIX*%2ELKFNdcCa%_hXA11NIB|_0_8a;F-+>#xGI6c$mNZ9yXUoRK z_4*czwk3X`claGGQMWg7gTC9MBZ(XJz*`>OiNsC%8jH@sBa-evJi4oioAt96{hs)d z9&y{Fb0lri^DHW!v{f&2$D<2M+NQ@@6r8kO-(*pZq#e5RuE+Axq>puYwIBQ0C~2p@ z%%WyVyY%w+Ji6zTcI#6t>Xfuc7xz87UP*iPbc^DW_UV@`N=?esqu^_n)DkZz?bnZ4 zG&U(;Z*BAFrY05Wvn-mObU@eb9^K-kgZe0oRww;SKWx#4q(geJ!?H{~tS_`^Ytj+@ zsztk#j_NI(9?OEHPxLP=`XuR?9;bM8pC^5)2df_XHtD!N#iFZ8pXpUKkM35|34IaM z%q{lhllpRtjO0`LT8m01f39z~sC@Dl`aX+lB!8(Nw&>C1)B2YdHAz0BU$UrW@>%^y zi^7w?(r;T7nf$d5jV9ZA=9YfR-{?UWB_*HpDQ`q_p^s;ylh6C;vXj5nt6S+NCtuJX zw`flCMZKv-Zzo^UTU)d$`8&OfMVpc@>%A=6k^H?r(4vCmAM{}s9Z$ZZXIS)A@>PAR zMVFJW>9Z~RDfvfzkww2I|KwALyUEw}<(AHwQlzi7$dz(K|Inh+DL?BUTNIpfQ{Qh< z&6HpC;}$)U@~eK@qUI^T>EB7B75wk|b*9&5k9YrWjq`Zj|GVxo@HiA28AGnwe%H%L z$`NVsj_X@`h@_b!esJ5ATly$TbHw<~^%8FD6D?|+az~%R>Au((*m%B z9P!QOJ}LM0T#E*z2;;h>Ib!gzq!hbx$D&~=4&%wwDXOuMseSoj zDY~)TqNEhlcwZ8HF(+d}ipw}^(HkiN##fT)S)Ag=Wg_`3PH{soK`nvL;uJS(OM<(- z!v`l6H$p9%l~Tf(#q@IS!jzK6+ZN@flrq*boocf^u8gsTDR*RhQO1Y}q?Xt@vU5t1 zvBRS7Kp`bbSK+-g?y^RxMIWY=H99bres6b5Ipcsu(>j(jx|PCov<@k6tSF6i33k}; zPbqJ#W2*LKhP$HSyGp2J?2x(~{V2@#m5e+hSljFY`dSjszKs%t4d3r#R55(Ni&4e! z{Vqlo!}q%wRSe(nVpK7Fzl%}DxGqbe?_yLjx|cz(>6x!8Mx3NfF>_jwyNYpyX;Y(c z@rZGbsr>LyQXVln1Yx>NaWwOwyQ-1Rw6oDccQxYx)5hU@;;I{OmLtn;1J9<^FcwOp zUJzm&AdT3&i4-|rn_jFLoc7Gh*G{gJ*sF2qEAY9l2F6QF z_{>)W!_9#&Z@Gb!}$6WYMo(!;CbG&e@wAb1gDLpEA~3M(K(jvPUO)M%C+12Q1QL)HKqrXM%MK>c` z65Vm>ZqU6oy1(1QSR-}t4$MyW!99!)Rk3t>ksZ{oR&ma!u^f&lJM<^ z@YY%5D%0K`?SWcWr(=t&?HJ>12ohcU4ln|1Ql49uhYcQJw338l>+^%-jR;9}=WC$x z8WZ068f461!nXhoGS*7Ufff88K-(oj&%!~l(455Gnlf{gMi**x|9`cA8fqK)VoIwd#dps)0iHQ+S7~;OmCNN zWFKN|W6CVu%s$lE%k)}_XYIp`e=&6{(bk@B9A|p3R7d-8<1|xNsc!ZW#(Aa>n)k84 zY+PaL+dS4j(zwaAJ~_euigAbOx7I`KuNuzUR9mzCEB4onVv=(7$MWuX9&H3MHOmAy9|EaXhAyY$u^N;v}Vi2OX3G-7#*0_EEx>c-6vh9U%D(~7+dPQ?|05J zUSle?TZ_mtvYC<_-S3=jOkqlIq(x*KvzdO)yx)18v54t@rWP^ISRsl0%rWvL!8}%Z zdxv@>mGwL)XT7CGV!Sjsrjfl>S*g1H<;ciTH56;H< z#(_|x>Ts^iH^h@ftrAX^n{Pxht(%iK_$}iO)2YfI0sYXFEE^{ViUo$+3@J-=@A9v~ z3yt!UW&(XV_-z9e@GoD%-m}C=m%3S^W8U?_OLB6dFK<$WRZ(U_XNy-T1 z8C99aBrF1|%e19Oh1AtXBc{DQZl|m^T1cW?))-MwQA>0m@kr`gqkjvTrz~%s;U?18 zK+CT)(wMf7sGGXZctsNRm-T-AWrHz|EwO)YFy=8~|J-0K@kzJQFWra67S`dH+dnjZ zV!|)CZ!zjUjh^KT{Brvaqq!uUk8I*&qZR8g-N!}*6Q#>K67Z`P(LC>a(!6O=`9xz%wOMap+2aWzMiO`qB zMpP?r9gZ1aOPVgO?{1d*sb7tb8#hTO-_dj2sQx^r%h8W7dM5R_@hH>9MXiAvGxdb0 zK|eEEGbO>(pr09CnQ*tx31a{g?$$YBBumN{=;ukJMQg90Ul@nl$ns?Co;A)%BFnQz zx3*r(Z;V&My_Vk^*^;Jl-OI$Pd zkWRM5HRCL&L$9wH-ly~;Q?DBVFJhkX{_@xRrrt1?F`a*XQ0h&ia(i#-zZnsdGR3_? zOS;@PE;F_HXjtkUBd>$kvwMEN+&4axx*RAE?E2`vqC3lmxfn5{c|Edx#8^P!{}DRnuz zh+e9fH2W}Bh#s9<(u^YlU$Rq6nXeMbufml!$1~w>fzswIrar?br2DdFJRP z3*h|)W&qQp1@Qg?Gl&V>rMg*}3EQQ*S&Ilt7#v!|Y-G{;)DW|UMIWWsG}A5Gn_9cnvrtj5mJ=6DUx1Q;HeOu4mAGZNdfUdeL#%+ZZXXH__Q-q%D1jitV!j1x69s_8m#BXVzpI(c|6F z`eqBJU2RXK);A|alcoF6nbgP3-AqoHeH)nP`jKw3q`>|}>4U-o8<=%sh#HRVQ2cQ- znW=G;kIOYQ4=^=dV-tzNQqoWBQuO?aj8uu8krrLcD22b+Q^Jy zY7fsmH!?>st$e3=lPAn6lBl0GHle|=&EVIF3#pCGKcp^4FTU*uAo~C;JqLc_m<;4% zn%+Ct5o(rZTGm?;p(foAq1mE|8B98Ohw$~(CZ_kPoeQZ=%@?E&e?|NqsE;JNx7O4g zK#}Jr%#uWUZpYxX zXUqyrA9bt_RNbngMkug7O}7 zJa4`%iR#eCe2pz@KJ`Re8#9Zk!BfqErZ8>k@k44`a~9Ly9+QE5?`MUZi&%#vL%8`K z6OIhw<`yD3GPE<#T9lpof_YmK-J5yQ)Z?*T=swDeWF<3jS0u=2y>$(y!$gbHNxD-gm-_sn5UQy z_b8s$#k?#jOE_U3szZ6>@^)7{)-ks^ASUs!ak z>r19{5am)5z5?0PtYp#2uD#6m7M%pkYNm)l)q&3YEia1JmdEV4z$nS(5TFYYL`ebizQ%rIpVv##~g`fGf6W=r-WzIlKpyJikT*LS)!Y^ zGa|(tN$K>8t*_Wq%nYU{TEjO>&52A6cjY<;o70(|-=&Db=37jK`@==5`7YDX`-6a1 zGc|{2@6ybTOr3Mr0qtPgHl=mi5HpYI*pwH6jxdddFJKNePcmIx&?RlC`4!XT7j^eg z^D+^f9eqHTn}~JK6n7RRrlp%@l8|WJ9qw26;bv8-%Yru;W<(A*>oILMGa^S=x_W^b zkuRH#S@)5OVe@|$FsH<=a| z^c5LqU^3SIl7V-PGR*o+V?IV2Mr4bIb!3K_!4$X!?nszZB~hDY`1z7y&X+oP>e11r zWQMuL$1>B;GSkds%Xr(&v`q6bQ=s#$w6PW?17(>fd~(V5%O%@9$LWgMXO!~Sjq|e{ zXI^E?gIZaem#PFH`Hr;X%zJFPTWwUbfm=<`&4r$Q(+5u>ccExY6t1w zFh606f^={AmHwvrh16w<)_QK*o8}csh&bxY)o9kye-#o@T zJYw_B^GtZe=09Nh3+v|Vqs#g0-ZG6;suAkm@=LeC3})RbeO|c*e!4|wLm%BDvkeg( zzs+gy_*uSd#_*t$nbJ?<& z*p;@z+`=?b$xmBp?q(YAJd&1c9$?z2yp^`fFPHbsW30QZolJYryv+1;z{#}LX8AN~ zr73|Y)7JQLlk*CgRtbvA9IIZG1UPlhpTlevTm$E;1} zdLm=Y$Imz2WZq!iXjqkOGVe<&H2TBHx5*3`ik{(G_{TI4(OP(uSwZT^>rH-MZ!&92 z9sDY5s}$v>6-K3~56y9mL-ZxEa>-%MdeB@=y%MbV?du;xg1v>8FJjpS5^%fbjmN?7iKRX-4}kk(`GX3+NjSAIc<)X zlq0`4c*YzjDO1Pq4W2RIU>$z>`>Z*Kb@=7)v*tUbgI>^n$X9+Pd}AJxx-79u?Kb2a z^Nb{_-#I_abLMw!S=ZKQ$T_P86OBLYg?^Uj&7as(Rbz*oHytli4_W4l9rCSNP7;-H z!7tqfvj$rpaV8A8VAl1qyy$0n(QLw&yG65l7tK~amY4i2FPWX#GQ-xa-X*h-kL7oM zmfx9!*fPZ4tloEKx{u{$Kg-Kz23vjzmY2<`K9=A6S$=QMXUhyn+K}(fC6e%LRKySF zZb|f&*(+wVk=ROwa&)_5UVjBCQnrAZsml_rpng}(y^_f5tL6pHB@xEf zYi96kUazm2Uq~XaubDSVC;hzU=jS!^4(rg*Yi7VG$_4$rW_DvjKd` z)LpXS6CpqOd41hXkUFZ-b#u5R^7^_ti}OUUi_AMrIFl5a$*+6cy2zZsgl%19E|*kj z9Nn=!uE?(rULDq<$XrjBHhe~@$aIdO8etuZ%m7K`S&^UDMP_-a%MzOH^&v%ORY~Oa z4YMKVf?oe@x|z`HpUsdAuh&1DEhWKwc(#up^0S|xKb!4XhkpKSc9(?n-+1@WW*q6{ z7g~QdlUawm(0(?DGvO|@o963GxC`y3Igtr>q5WbmWWs%CznLEp$sHZP^Vmu|)P6U2 zvL)`1``tXug!|)enO`vB{PQ`(V|LdXB6)1>F5mOWtHU<4yEbt;Jhpb1KGu6|?XEycRG!_hJcp|x zTjCLOxHb~W@*IBUd39Kx!?lCcVR;UhGs|0^!xbQj%5(UY=XBL)ODxanT1_O&bNZF% z)nR!~*CtMfdIwHte@)IltblJfjm{e^1M1MPj&4eOWTpzGl!_I z!13PpR9)pIQF*GX8SC(j(_CwqusqG>o`~sabkkhfOgK(xt|gLaoY4Gy@#@eQ$dfGP zIH9=$CV73)TxBGYFPbZqb?A%kn#P2_=&sz!USD)q9uxYayS|Y`zUY3wcy;KD?z&8t z(ih#;Zi?3z-4!8;e9>KLtV3T6S1uF!Vz@?4^ZH`A=1HQ`4ZqU8IxO9AEhbA@y5SPj zy`>v2T@saUxazPDOE+B$nXq)zHD#u^bkmi~ge_sZ_DdpPOg~?|I`qYK9V1KWi|J}O z%j=8jY9@(BZ`0*_FTr%RmbxsF==j5Kx_U?=uU)Q@oC|s#;5xyCUI)0g%<*~+Iwtfw z!1a?P@;boJYp)Ky4siWWmeT70SI@a#uLE5DC6O-yt_;?pFU4GEnb4PFu4D7Oz7%s^ zWkO$yxs3TTPdSDZ^Yg{4Ltl!y%8;e>rI^djgy(cISDGa9rI>3P>(H0tt_w`)OL5oL z1zul@yYz+L(u@0*?$u%G#a)49DN8Tzietjki@TB~<>;fwEgVwZmCiJI+`B-&N3+D= z(rB43OH|ZW4e_@ObWLTQ3v_|5#Z&^!M<-HCy4Fde-c!o2gir}bYF3XN~gsvn2V*8J^rco;;Y=zt$H&^w`@4 z#{EnGdp~`(4}1Q@N8X$?%YEaN+ro*cT@Lf6L(~CF zr-+wlANfPM^_8QUuZL5>hre!5JYF`jK#oE*CQuwhyZF70C#{`F49Yohj7Ls6+qu5J z<^JEt^I`p96Pwq0eanz5rH4If))sAOOdBLe{@$;ngpMHDll;znlvDhlg!|!`+C{^e zULU-v;7pY5?3LI=2PoYxdUW*KKkV(_OT5R6j-%(O`Hl=F`DC@*FrQ$!`m+8_>6MT9Ez(W zyX^TM$@!Kjnfxr48yJrB#rc*vUyuZIun8J@3Sl+}xg5JT!zgDLzLMdSQKCU;6W+K( z+U*xK->a0orUg=+mLa-ZD(>U=pUN6Ulzu;qKF zW6rkb7?Ql!UT?hnOIYGbS&KSyr1F>Gx`ImiXL8IL?d@X!3)nK0XRW>H$=IzPEsW%{ zkB!@nHa{hLOZhALzV(WrD2rxZS>S^s2qgp+NRh@^hax4|+ze zwo-zjU5tP^-6kH4dnB21{>@*8Hg%VKe6x$@{jpvVa#fb`5z6mA+F9;!@BD-?qiNJ7w+QUBS>AsAa&6iAsD~j!3@Y7HD(3csvY`HJw?gwF{Ix#C!6H+{pAu zJTo}uwoCRvZ)lg-rw-BaWo*eN5PGgymqQLV@k)j_B*`hTfips$vs)Wu{M(6WGh-=+ zRLcJ>ydm2h>uwh#pTgXzc8j4byNGFrlI3uAL)~A*mri3f_89-uU`!<-$ z$#-vPR`m_Nt^M!X_MIdw>xD5GUM-G3?=Sgx@zc^~qqOM`=R2(VgQ zVZLw*w6yW4=$i_)c0cXPGAKC-Aw0L=663KiVO!BUfsXR$(ueiZheUbQJRzPnVf*n& z*&wZ_Z_pWm<0p>5D5tZa|9s5t$Xd-rJZioh;>C72tmpgQ7_S`49s&oZht zg|ASJpndGJeV}$$+_#nNg8U~f#vP*aA+J|)aC~hdM2<@ouQ?ti7{aPg&UX*T;fDgq zhqTLDpr4bUML*BW9!2emW076vY?I@XT~PjwVC_UBm4hW@Nm>l;0zMKCK76?FK}%|@ zO)%y-_?)7)qQ11M52m6xtz&oRp(U+jZ_2)kJ>1ScoaQXDp+1jumR*#9Uf~c|bj
~vwiL(u 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
W+R8{RyHKbe+m;B(jiW zKwpvwPckBS$w*h|(4|xLPX;LQ6$X~A!Uvoy0u(%w=*~2r**fq>X?P~2Fq68P$qzfE z7(kZCF{t9;{UB8<>u9RY+P-W&fm{Y1tKJE_3j2e}x>|!6e%hgQs9EbFVt6wlGkU`Ne=EKb-Bblx_Cm-NGsq8OqwvE{UJ z)yY_L`(O$*_rVm3uCq(5m`;(KGZ>Sqd_hnhr;;>9Iru=OBYcRhS^iqGV%)S}k(~Wo z;DigD&=Rz6=S%fUM@HP7vVKyZ@sJehXJ>ty&Ul$_QdZUUxY|3d3q02{k`6!)_(tyh|I|u(L->|9j zLrXSH@o3}N);|h}!n~(72)OL?K=EZ>J=%98SP@iq42;Uli;pm-#TyKYZt4rNC#GBc z2V4Ayn*g+vP4*7=>2x0qu7)t80W#CgD7KQr)ZQSq1z<-rwX^B%YI=KI9YMvtE~L2| zG`ifU$AQ%rpJE}7^FTWY7q(7E*$O0%wlwW%R5}KN{m4dSj)W=mMR-(qgb|}D{)j6W z3?{9*>PyHN%E91Ewurk?LQby|E!OQdxcPxKk((csJ=ksF&vkKAfC?iBEtTMh(e1kU z7_zXPA?oBW8>CLKt>81!+Yt6EXx&jlY+Udp8Kd}W-imEg*H_RoNHU1zfDFwLs8c6H zbfv>YfIf_dm8+YGHsq|6PP~ckLLv~WKOund;*Z>fDWQVG17;^RHK(8J3A5wxqkt8~ z&z-Wg(l^+oziI;JJhCjT5JI$V@?=87M1ELI(QIQnO4%}p_MC6lx7t#lfYKUA*`SqF zxvEa&4YRh8kpHUL{~pM&mG(U)X}?uv^rF{)-e|s8Xs{L(rDB2ng3a=AV-$n_C?o8|P&+0r>^`&UuRc8m-v zz|osru3yN1&ip6L{}mN-nNJg;%eJ_^<~@OzixevOs6{-fv_Uy>IcbYL-$jkaKHJR) z?%W@+IJ-!z^0jANgqDyQMR30rw_*Uk-99LLFaWH*;9%L`Q#1(pA{~RW?aOOH_Gnes z@1iURQ&GG-%-v^1vvV%<+1Zx^Ww%rX${pCqr!AfygRV6NcT?$t4F<2gPqF~ z8NY^1kQi$z;W{y6;DV)~iS08G! zL)Nro%f8>-6Y46oQvt5HyfWkwR2dYqnaQ%BcTf~z-B@3-lJYYhm^&a2*eEYT6|jr_ z=5IIu7P&~wuz77tJru*mfbGv6} zb{;C0=c-e)GkYiJXCGeRvc9KR!k+i~i1*q%7iMR+?%ugKeedjiHD9Qd(-s=pn(;h; zGUEA#-Q|a?voi~`6VBPHY=0441c!3}uGKOJn(5rdS*v&5mbtys=SK6};MMW+ z*tXG9CSM#Ymf+uQxl$f3Esrr6Mu#)y+|UpVm(6CzC$gg>`9gLiKR%Kzj*L?xJ33k{ zWlJLy#X>$akuNaf7*2(eG6QXNe7KOwju!I;d}F2ja5g(OGy&&s8!KhT%cW9&Br{UT z!TfOU@I+?YP`*5tEoBNr<&lx$Tw!daSj=WiMV|KG8u8xMkS
3n)_cJ5#$KcAkQ zdT8>dx$^wP?EG|ordUqjx#ynU>52LLbot@g`H!ZFH!0+C8Ax*Ks)*O!>@v^mL(qkg zJ#R4Lz46xBxx@27t){>JrSzS^SxCDAH{CTg^H3Tol=D0;?eyffX0~RxGODvg03G-T zBHoRXd7%Kj@qOj_1*GLWKaLQ*@!t8_iK$BYoxvBOf@qEP-xeafV`^cpl0UqgI{Vkl z(LDzX3+1Z66^0wM20Fo+{&>DJRmw{qrzi6Z=|Z_Ylb)Xac)66W&ZeiT3+dU1XVP=| z;z#ojmA9tvsHUOaLUn$2=Ap{r^nAHEJ3U>VDJlD8zM4KfdoW#^P0!3$)4-UYpDLBp zzgw=lx(07ZPt7RHya6rF&XA>Ao)5vQ)WHQn6%MCEf~NB`rS!v7l?s?qox_ZZ7G|f* z^x)JC2+dG;IX!W(dT<^TZwuQJJ^UT`+Np?F z`|^(RME+o<3gqg1zF57lyf9k<^})jIY=t&KqXIGIDz)!hC>u6&d36bmtCSZO(liyC z9V}L1B{is+XVwDog{l~i@)K5wY*qmcbv4lP>SRc>{M;Nfoa-v_fAft{`Q9-et7FlbF!tQ-~JJ1=LMT@ZBR_l&X?1ray36yS)k_k zV&h})B-E%Lo&!qAOr`Q1Y?80iuR%|}N8@W@u3Vg&2-@T5_MWMk{QO}fOF3Tx;yn@X z&Q}F--@z%>x=?lSUK26HA<{#`|b;C4r~JnebcM7-?*E?sxbOqS=Tpq*FyBRKJk_mwBg^JRD@08&!%OlbI6lsxoNtz6m?IdB|L(XX`#Y3YWq2%Xy(Fyx>YZsu_B-Fz;97>wmqGSK zFl=^}rwhoiJ>~p-aq_lG{-K5SxbB@r;FP8&4jT^BE;segPa&HAk+F>t0g*gAoqmO} zXv3;8(j^Zhb^;huBm*qc49dybR;KuH#QT6T+2tr{U>mGFUq-kVoq$pm_sr}lH}SkR zU#S!jlp5}pO1UVR3KKsV@jiG3;L``MPysW>{@=KQkVNIuD?tBH#C!j%hW^UP?~izU zeq-=E=jUhVUjgqsBHj)-)W(LU!^VKQWSs1nvaUk(uzF}_Yejs@16Gqb7Bj)^h&9A%5 z)!|VmbZ?!Vo?~VyOjV{3B^S@P$nAVEzouz{)DcZt;T#Q<^Y8w9hU%63+dllQvuE1x zpXrId^e_I$i@*Nrm;SczCx89cmtQ+|-_w6{^wBS@y!5NNZxrhPD)T$1Zr=0I_u_Y* z|1UTEv;Ud;gJ1mT^B?`k{fA%t$Sv=`_HW<(r4L8H@XcR*{Y`UUO}zaVxlOx2^Zs8g z-27jE{&e@;iT`$L`sWLGt^M^&&wXik*Db4&uh(z+(e0nD?)$@kFC6~u%Wrs}zFJWJ zOMWLgUY~qJ2iCE6?78OHkN*6=)w^~+@rSi9{qjHE|0(Hmx4z?n9p#UgE3o$H( zTWm62A(I?;U;;ztH}r3dmD<}dxFO>gp^Xm9;GJqe!Z>8&BVINCLyS90pH3oRe_Q?#A zVs}td>AMX=)o>K16SQ9cKIFZQa$);-kZS=P*4s8wzDwJ8uVK+NQrE;M?Tvt&sO5P% zUOqM9zYqBH)Zk3ixOC;*ioGTMj^oc#Mts#zIrVI4dqgHlnk~9qd$zVGb9@5CwY-@VqpdjdQJP1uF~ppg3f^8I$Xb`E)6)a|VEl;E`@Eo)Ni(*6?` zH(TGVFLQAZ<*X+!?VlWD7JY~o$%@Q0qeFIb(u~aYJsg%-A3Kh4?f QKl={=m*1lB_fCQT3v!~8=>Px# diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml deleted file mode 100644 index bd254d7..0000000 --- a/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml +++ /dev/null @@ -1,8226 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The reader. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The reader. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - - A . This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the to Closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The writer. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this stream and the underlying stream. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a paramatized constructor. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Create a custom object - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed. - - true if integers are allowed; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and sets members to their default value when deserializing. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - - Gets the of the JSON produced by the JsonConverter. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the converter. - - The of the converter. - - - - The parameter list to use when constructing the JsonConverter described by ConverterType. - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Initializes a new instance of the class. - - Type of the converter. - Parameter list to use when constructing the JsonConverter. Can be null. - - - - Represents a collection of . - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the reader is closed. - - - true to close the underlying stream or when - the reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Get or set how time zones are handling when reading JSON. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets The Common Language Runtime (CLR) type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a []. - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Instructs the to always serialize the member, and require the member has a value. - - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Specifies the type of JSON token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the Common Language Runtime (CLR) type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the writer is closed. - - - true to close the underlying stream or when - the writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling when writing JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - A null value can be passed to the method for token's that don't have a value, e.g. . - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Sets the state of the JsonWriter, - - The JsonToken being written. - The value being written. - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Represents a JSON array. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies to. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Represents a JSON constructor. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets the with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Represents a JSON property. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a raw JSON string. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Specifies the settings used when loading JSON. - - - - - Gets or sets how JSON comments are handled when loading JSON. - - The JSON comment handling. - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Represents an abstract JSON token. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An that contains the selected elements. - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a null value. - - A null value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members must be marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisble by. - - A number that the value should be divisble by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - A flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - A flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Allows users to control class loading and mandate what class to load. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object - The type of the object the formatter creates a new instance of. - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - Used by to resolves a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only - happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different - results. When set to false it is highly recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Used by to resolves a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets the object's properties. - - The object's properties. - - - - Gets the constructor parameters required for any non-default constructor - - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the override constructor used to create the object. - This is set when a constructor is marked up using the - JsonConstructor attribute. - - The override constructor. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the JsonConverter type described by the argument. - - The JsonConverter type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Create a factory function that can be used to create instances of a JsonConverter described by the - argument type. The returned function can then be used to either invoke the converter's default ctor, or any - parameterized constructors by way of an object array. - - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - Represents a method that constructs an object. - - The object type to create. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Specifies what messages to output for the class. - - - - - Output no tracing and debugging messages. - - - - - Output error-handling messages. - - - - - Output warnings and error-handling messages. - - - - - Output informational messages, warnings, and error-handling messages. - - - - - Output all debugging and tracing messages. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}. - - The type of the elements of source. - A sequence in which to locate a value. - The object to locate in the sequence - An equality comparer to compare values. - The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Indicates the method that will be used during deserialization for locating and loading assemblies. - - - - - In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. - - - - - In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. - - - - diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll deleted file mode 100644 index 7634bae652bd3f391ac4ed6307577cef6c9c8395..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453120 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

Ul%m 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

#cMBd;Wi~TxWf7BFA{RJsnA) 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 Gf&T}Mvs)Pe diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml deleted file mode 100644 index 6a7c13d..0000000 --- a/packages/Newtonsoft.Json.8.0.1-beta1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml +++ /dev/null @@ -1,8573 +0,0 @@ - - - - Newtonsoft.Json - - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The reader. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The reader. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - - A . This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the to Closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The writer. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this stream and the underlying stream. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a paramatized constructor. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Create a custom object - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an ExpandoObject to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed. - - true if integers are allowed; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Gets or sets a flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attibute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and sets members to their default value when deserializing. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string. - Serialization will happen on a new thread. - - The object to serialize. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting. - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting and a collection of . - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Asynchronously populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous populate operation. - - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XNode - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - - Gets the of the JSON produced by the JsonConverter. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the converter. - - The of the converter. - - - - The parameter list to use when constructing the JsonConverter described by ConverterType. - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Initializes a new instance of the class. - - Type of the converter. - Parameter list to use when constructing the JsonConverter. Can be null. - - - - Represents a collection of . - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the reader is closed. - - - true to close the underlying stream or when - the reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Get or set how time zones are handling when reading JSON. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets The Common Language Runtime (CLR) type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a []. - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Instructs the to always serialize the member, and require the member has a value. - - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Specifies the type of JSON token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the Common Language Runtime (CLR) type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the writer is closed. - - - true to close the underlying stream or when - the writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling when writing JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - A null value can be passed to the method for token's that don't have a value, e.g. . - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Sets the state of the JsonWriter, - - The JsonToken being written. - The value being written. - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Represents a JSON array. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies to. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Represents a JSON constructor. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the items list of the collection has changed, or the collection is reset. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets the with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Represents a JSON property. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a raw JSON string. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Specifies the settings used when loading JSON. - - - - - Gets or sets how JSON comments are handled when loading JSON. - - The JSON comment handling. - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Represents an abstract JSON token. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An that contains the selected elements. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a null value. - - A null value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members must be marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisble by. - - A number that the value should be divisble by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - A flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - A flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Allows users to control class loading and mandate what class to load. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object - The type of the object the formatter creates a new instance of. - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Used by to resolves a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only - happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different - results. When set to false it is highly recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Used by to resolves a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets the object's properties. - - The object's properties. - - - - Gets the constructor parameters required for any non-default constructor - - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the override constructor used to create the object. - This is set when a constructor is marked up using the - JsonConstructor attribute. - - The override constructor. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the JsonConverter type described by the argument. - - The JsonConverter type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Create a factory function that can be used to create instances of a JsonConverter described by the - argument type. The returned function can then be used to either invoke the converter's default ctor, or any - parameterized constructors by way of an object array. - - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - Represents a method that constructs an object. - - The object type to create. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Specifies what messages to output for the class. - - - - - Output no tracing and debugging messages. - - - - - Output error-handling messages. - - - - - Output warnings and error-handling messages. - - - - - Output informational messages, warnings, and error-handling messages. - - - - - Output all debugging and tracing messages. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}. - - The type of the elements of source. - A sequence in which to locate a value. - The object to locate in the sequence - An equality comparer to compare values. - The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic that returns a result - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Returns a Restrictions object which includes our current restrictions merged - with a restriction limiting our type - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Indicates the method that will be used during deserialization for locating and loading assemblies. - - - - - In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. - - - - - In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. - - - - diff --git a/packages/Newtonsoft.Json.8.0.1-beta1/tools/install.ps1 b/packages/Newtonsoft.Json.8.0.1-beta1/tools/install.ps1 deleted file mode 100644 index 0cebb5e..0000000 --- a/packages/Newtonsoft.Json.8.0.1-beta1/tools/install.ps1 +++ /dev/null @@ -1,116 +0,0 @@ -param($installPath, $toolsPath, $package, $project) - -# open json.net splash page on package install -# don't open if json.net is installed as a dependency - -try -{ - $url = "http://www.newtonsoft.com/json/install?version=" + $package.Version - $dte2 = Get-Interface $dte ([EnvDTE80.DTE2]) - - if ($dte2.ActiveWindow.Caption -eq "Package Manager Console") - { - # user is installing from VS NuGet console - # get reference to the window, the console host and the input history - # show webpage if "install-package newtonsoft.json" was last input - - $consoleWindow = $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow]) - - $props = $consoleWindow.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor ` - [System.Reflection.BindingFlags]::NonPublic) - - $prop = $props | ? { $_.Name -eq "ActiveHostInfo" } | select -first 1 - if ($prop -eq $null) { return } - - $hostInfo = $prop.GetValue($consoleWindow) - if ($hostInfo -eq $null) { return } - - $history = $hostInfo.WpfConsole.InputHistory.History - - $lastCommand = $history | select -last 1 - - if ($lastCommand) - { - $lastCommand = $lastCommand.Trim().ToLower() - if ($lastCommand.StartsWith("install-package") -and $lastCommand.Contains("newtonsoft.json")) - { - $dte2.ItemOperations.Navigate($url) | Out-Null - } - } - } - else - { - # user is installing from VS NuGet dialog - # get reference to the window, then smart output console provider - # show webpage if messages in buffered console contains "installing...newtonsoft.json" in last operation - - $instanceField = [NuGet.Dialog.PackageManagerWindow].GetField("CurrentInstance", [System.Reflection.BindingFlags]::Static -bor ` - [System.Reflection.BindingFlags]::NonPublic) - - $consoleField = [NuGet.Dialog.PackageManagerWindow].GetField("_smartOutputConsoleProvider", [System.Reflection.BindingFlags]::Instance -bor ` - [System.Reflection.BindingFlags]::NonPublic) - - if ($instanceField -eq $null -or $consoleField -eq $null) { return } - - $instance = $instanceField.GetValue($null) - - if ($instance -eq $null) { return } - - $consoleProvider = $consoleField.GetValue($instance) - if ($consoleProvider -eq $null) { return } - - $console = $consoleProvider.CreateOutputConsole($false) - - $messagesField = $console.GetType().GetField("_messages", [System.Reflection.BindingFlags]::Instance -bor ` - [System.Reflection.BindingFlags]::NonPublic) - if ($messagesField -eq $null) { return } - - $messages = $messagesField.GetValue($console) - if ($messages -eq $null) { return } - - $operations = $messages -split "==============================" - - $lastOperation = $operations | select -last 1 - - if ($lastOperation) - { - $lastOperation = $lastOperation.ToLower() - - $lines = $lastOperation -split "`r`n" - - $installMatch = $lines | ? { $_.StartsWith("------- installing...newtonsoft.json ") } | select -first 1 - - if ($installMatch) - { - $dte2.ItemOperations.Navigate($url) | Out-Null - } - } - } -} -catch -{ - try - { - $pmPane = $dte2.ToolWindows.OutputWindow.OutputWindowPanes.Item("Package Manager") - - $selection = $pmPane.TextDocument.Selection - $selection.StartOfDocument($false) - $selection.EndOfDocument($true) - - if ($selection.Text.StartsWith("Attempting to gather dependencies information for package 'Newtonsoft.Json." + $package.Version + "'")) - { - # don't show on upgrade - if (!$selection.Text.Contains("Removed package")) - { - $dte2.ItemOperations.Navigate($url) | Out-Null - } - } - } - catch - { - # stop potential errors from bubbling up - # worst case the splash page won't open - } -} - -# still yolo \ No newline at end of file diff --git a/packages/repositories.config b/packages/repositories.config deleted file mode 100644 index 77c6a57..0000000 --- a/packages/repositories.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/pili-sdk-csharp.sln b/pili-sdk-csharp.sln index a4b227c..66d3d8f 100644 --- a/pili-sdk-csharp.sln +++ b/pili-sdk-csharp.sln @@ -1,7 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pili-sdk-csharp", "pili-sdk-csharp\pili-sdk-csharp.csproj", "{AED2A63D-296C-4B6D-A0F1-C0CDBE612584}" +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.10 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pili-sdk-csharp", "pili-sdk-csharp\pili-sdk-csharp.csproj", "{9D2BABBA-F458-43E7-81A4-55A01CFA8F60}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -9,12 +11,15 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {AED2A63D-296C-4B6D-A0F1-C0CDBE612584}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AED2A63D-296C-4B6D-A0F1-C0CDBE612584}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AED2A63D-296C-4B6D-A0F1-C0CDBE612584}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AED2A63D-296C-4B6D-A0F1-C0CDBE612584}.Release|Any CPU.Build.0 = Release|Any CPU + {9D2BABBA-F458-43E7-81A4-55A01CFA8F60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D2BABBA-F458-43E7-81A4-55A01CFA8F60}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D2BABBA-F458-43E7-81A4-55A01CFA8F60}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D2BABBA-F458-43E7-81A4-55A01CFA8F60}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {29EDBAF8-EAF9-4F97-822B-DFF0F2FAB901} + EndGlobalSection EndGlobal diff --git a/pili-sdk-csharp.v11.suo b/pili-sdk-csharp.v11.suo deleted file mode 100644 index b90e4a1a286bd3c1716bc497148a5df3ea01b7e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69632 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 diff --git a/pili-sdk-csharp/Properties/AssemblyInfo.cs b/pili-sdk-csharp/Properties/AssemblyInfo.cs deleted file mode 100644 index f184246..0000000 --- a/pili-sdk-csharp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// 有关程序集的常规信息通过以下 -// 特性集控制。更改这些特性值可修改 -// 与程序集关联的信息。 -[assembly: AssemblyTitle("pili-sdk-csharp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("pili-sdk-csharp")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// 将 ComVisible 设置为 false 使此程序集中的类型 -// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, -// 则将该类型上的 ComVisible 特性设置为 true。 -[assembly: ComVisible(false)] - -// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID -[assembly: Guid("9f1c9a7e-65e3-4330-a3ad-299bda93c0cd")] - -// 程序集的版本信息由下面四个值组成: -// -// 主版本 -// 次版本 -// 生成号 -// 修订号 -// -// 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, -// 方法是按如下所示使用“*”: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/pili-sdk-csharp/bin/Debug/Newtonsoft.Json.dll b/pili-sdk-csharp/bin/Debug/Newtonsoft.Json.dll deleted file mode 100644 index a8a3a8a1e379c25905c8094d1e9d0c51707e8060..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485376 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 z 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�!Qy~#4HC^{9kz+`` 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ⅈ#0b@# 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 sPl@}GCwn{+=l-qN3wR - - - Newtonsoft.Json - - - - - Represents a BSON Oid (object id). - - - - - Gets or sets the value of the Oid. - - The value of the Oid. - - - - Initializes a new instance of the class. - - The Oid value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. - - - true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The reader. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Initializes a new instance of the class. - - The reader. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - - A . This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Changes the to Closed. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets the used when writing values to BSON. - When set to no conversion will occur. - - The used when writing values to BSON. - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The writer. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes the beginning of a JSON array. - - - - - Writes the beginning of a JSON object. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Closes this stream and the underlying stream. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value that represents a BSON object id. - - The Object ID value to write. - - - - Writes a BSON regex. - - The regex pattern. - The regex options. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. - - - - - Json.NET will use a non-public default constructor before falling back to a paramatized constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Create a custom object - - The object type to convert. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - The created object. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a F# discriminated union type to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an Entity Framework EntityKey to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an ExpandoObject to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Gets a value indicating whether this can write JSON. - - - true if this can write JSON; otherwise, false. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON and BSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Gets or sets a value indicating whether the written enum text should be camel case. - - true if the written enum text will be camel case; otherwise, false. - - - - Gets or sets a value indicating whether integer values are allowed. - - true if integers are allowed; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from a string (e.g. "1.2.3.4"). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing property value of the JSON that is being converted. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts XML to and from JSON. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Gets or sets a flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - true if the array attibute is written to the XML; otherwise, false. - - - - Gets or sets a value indicating whether to write the root JSON object. - - true if the JSON root object is omitted; otherwise, false. - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Floating point numbers are parsed to . - - - - - Floating point numbers are parsed to . - - - - - Specifies how dates are formatted when writing JSON text. - - - - - Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". - - - - - Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". - - - - - Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. - - - - - Date formatted strings are not parsed to a date type and are read as strings. - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . - - - - - Specifies how to treat the time value when converting between string and . - - - - - Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. - - - - - Treat as a UTC. If the object represents a local time, it is converted to a UTC. - - - - - Treat as a local time if a is being converted to a string. - If a string is being converted to , convert to a local time if a time zone is specified. - - - - - Time zone information should be preserved when converting. - - - - - Specifies default value handling options for the . - - - - - - - - - Include members where the member value is the same as the member's default value when serializing objects. - Included members are written to JSON. Has no effect when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - so that is is not written to JSON. - This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, - decimals and floating point numbers; and false for booleans). The default value ignored can be changed by - placing the on the property. - - - - - Members with a default value but no JSON will be set to their default value when deserializing. - - - - - Ignore members where the member value is the same as the member's default value when serializing objects - and sets members to their default value when deserializing. - - - - - Specifies float format handling options when writing special floating point numbers, e.g. , - and with . - - - - - Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". - - - - - Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. - Note that this will produce non-valid JSON. - - - - - Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Instructs the how to serialize the collection. - - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to use the specified constructor when deserializing that object. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets the collection's items converter. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets a value that indicates whether to preserve object references. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Gets or sets a value that indicates whether to preserve collection's items references. - - - true to keep collection's items object references; otherwise, false. The default is false. - - - - - Gets or sets the reference loop handling used when serializing the collection's items. - - The reference loop handling. - - - - Gets or sets the type name handling used when serializing the collection's items. - - The type name handling. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - - - - Gets or sets a function that creates default . - Default settings are automatically used by serialization methods on , - and and on . - To serialize without using any default settings create a with - . - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - The time zone handling when the date is converted to a string. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation using the specified. - - The value to convert. - The format the date will be converted to. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - The string escape handling. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using formatting and a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a type, formatting and . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - A JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string. - Serialization will happen on a new thread. - - The object to serialize. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting. - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Asynchronously serializes the specified object to a JSON string using formatting and a collection of . - Serialization will happen on a new thread. - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be used. - - A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. - - - - - Deserializes the JSON to a .NET object. - - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to a .NET object using . - - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The JSON to deserialize. - The of object being deserialized. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type. - - The type of the object to deserialize to. - The JSON to deserialize. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the given anonymous type using . - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The JSON to deserialize. - The anonymous type object. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The type of the object to deserialize to. - The JSON to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The type of the object to deserialize to. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using a collection of . - - The JSON to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON to the specified .NET type using . - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - The deserialized object from the JSON string. - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The type of the object to deserialize to. - The JSON to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type. - Deserialization will happen on a new thread. - - The JSON to deserialize. - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Asynchronously deserializes the JSON to the specified .NET type using . - Deserialization will happen on a new thread. - - The JSON to deserialize. - The type of the object to deserialize to. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. - - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - - - Asynchronously populates the object with values from the JSON string using . - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be used. - - - A task that represents the asynchronous populate operation. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting. - - The node to serialize. - Indicates how the output is formatted. - A JSON string of the XmlNode. - - - - Serializes the XML node to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XmlNode - - - - Serializes the to a JSON string. - - The node to convert to JSON. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting. - - The node to convert to JSON. - Indicates how the output is formatted. - A JSON string of the XNode. - - - - Serializes the to a JSON string using formatting and omits the root object if is true. - - The node to serialize. - Indicates how the output is formatted. - Omits writing the root object. - A JSON string of the XNode. - - - - Deserializes the from a JSON string. - - The JSON string. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by . - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XNode - - - - Deserializes the from a JSON string nested in a root elment specified by - and writes a .NET array attribute for collections. - - The JSON string. - The name of the root element to append when deserializing. - - A flag to indicate whether to write the Json.NET array attribute. - This attribute helps preserve arrays when converting the written XML back to JSON. - - The deserialized XNode - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The existing value of object being read. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - - Gets the of the JSON produced by the JsonConverter. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The of the JSON produced by the JsonConverter. - - - - Gets a value indicating whether this can read JSON. - - true if this can read JSON; otherwise, false. - - - - Gets a value indicating whether this can write JSON. - - true if this can write JSON; otherwise, false. - - - - Instructs the to use the specified when serializing the member or class. - - - - - Gets the of the converter. - - The of the converter. - - - - The parameter list to use when constructing the JsonConverter described by ConverterType. - If null, the default constructor is used. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Initializes a new instance of the class. - - Type of the converter. - Parameter list to use when constructing the JsonConverter. Can be null. - - - - Represents a collection of . - - - - - Instructs the how to serialize the collection. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to deserialize properties with no matching class member into the specified collection - and write values during serialization. - - - - - Gets or sets a value that indicates whether to write extension data when serializing the object. - - - true to write extension data when serializing the object; otherwise, false. The default is true. - - - - - Gets or sets a value that indicates whether to read extension data when deserializing the object. - - - true to read extension data when deserializing the object; otherwise, false. The default is true. - - - - - Initializes a new instance of the class. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Instructs the how to serialize the object. - - - - - Gets or sets the member serialization. - - The member serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Instructs the to always serialize the member with the specified name. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - The parameter list to use when constructing the JsonConverter described by ItemConverterType. - If null, the default constructor is used. - When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, - order, and type of these parameters. - - - [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] - - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets the type name handling used when serializing this property. - - The type name handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the reader is closed. - - - true to close the underlying stream or when - the reader is closed; otherwise false. The default is true. - - - - - Gets or sets a value indicating whether multiple pieces of JSON content can - be read from a continuous stream without erroring. - - - true to support reading multiple pieces of JSON content; otherwise false. The default is false. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Get or set how time zones are handling when reading JSON. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how custom date formatted strings are parsed when reading JSON. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets the type of the current JSON token. - - - - - Gets the text value of the current JSON token. - - - - - Gets The Common Language Runtime (CLR) type for the current JSON token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a []. - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Instructs the to always serialize the member, and require the member has a value. - - - - - The exception thrown when an error occurs during JSON serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. - - - true if there will be a check for additional JSON content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance. - The will not use default settings - from . - - - A new instance. - The will not use default settings - from . - - - - - Creates a new instance using the specified . - The will not use default settings - from . - - The settings to be applied to the . - - A new instance using the specified . - The will not use default settings - from . - - - - - Creates a new instance. - The will use default settings - from . - - - A new instance. - The will use default settings - from . - - - - - Creates a new instance using the specified . - The will use default settings - from as well as the specified . - - The settings to be applied to the . - - A new instance using the specified . - The will use default settings - from as well as the specified . - - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the JSON structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the JSON structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - The type of the value being serialized. - This parameter is used when is Auto to write out the type name if the type of the value does not match. - Specifing the type is optional. - - - - - Serializes the specified and writes the JSON structure - to a Stream using the specified . - - The used to write the JSON structure. - The to serialize. - - - - Specifies the settings on a object. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how metadata properties are used during deserialization. - - The metadata properties handling. - - - - Gets or sets how a type name assembly is written and resolved by the serializer. - - The type name assembly format. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the equality comparer used by the serializer when comparing references. - - The equality comparer. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets a function that creates the used by the serializer when resolving references. - - A function that creates the used by the serializer when resolving references. - - - - Gets or sets the used by the serializer when writing trace messages. - - The trace writer. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Get or set how and values are formatted when writing JSON text, and the expected date format when reading JSON text. - - - - - Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling during serialization and deserialization. - - - - - Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written as JSON. - - - - - Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Gets or sets the culture used when reading JSON. Defaults to . - - - - - Gets a value indicating whether there will be a check for additional content after deserializing an object. - - - true if there will be a check for additional content after deserializing an object; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Represents a reader that provides fast, non-cached, forward-only access to JSON text data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Specifies the type of JSON token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An integer. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - - Represents a reader that provides validation. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current JSON token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the path of the current JSON token. - - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current JSON token. - - - - - - Gets the Common Language Runtime (CLR) type for the current JSON token. - - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets or sets a value indicating whether the underlying stream or - should be closed when the writer is closed. - - - true to close the underlying stream or when - the writer is closed; otherwise false. The default is true. - - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Gets the path of the writer. - - - - - Indicates how JSON text output is formatted. - - - - - Get or set how dates are written to JSON text. - - - - - Get or set how time zones are handling when writing JSON text. - - - - - Get or set how strings are escaped when writing JSON text. - - - - - Get or set how special floating point numbers, e.g. , - and , - are written to JSON text. - - - - - Get or set how and values are formatting when writing JSON text. - - - - - Gets or sets the culture used when writing JSON. Defaults to . - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the end of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - A flag to indicate whether the text should be escaped when it is written as a JSON property name. - - - - Writes the end of the current JSON object or array. - - - - - Writes the current token and its children. - - The to read the token from. - - - - Writes the current token. - - The to read the token from. - A flag indicating whether the current token's children should be written. - - - - Writes the token and its value. - - The to write. - - The value to write. - A value is only required for tokens that have an associated value, e.g. the property name for . - A null value can be passed to the method for token's that don't have a value, e.g. . - - - - Writes the token. - - The to write. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Sets the state of the JsonWriter, - - The JsonToken being written. - The value being written. - - - - The exception thrown when an error occurs while reading JSON text. - - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - Specifies how JSON comments are handled when loading JSON. - - - - - Ignore comments. - - - - - Load comments as a with type . - - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, the ancestors of every token in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every token in the source collection. - - - - Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains every token in the source collection, and the descendants of every token in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every token in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every token in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every token in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every token in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every token in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Represents a JSON array. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Copies to. - - The array. - Index of the array. - - - - Gets a value indicating whether the is read-only. - - true if the is read-only; otherwise, false. - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Represents a JSON constructor. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a token that can contain other tokens. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Occurs when the items list of the collection has changed, or the collection is reset. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. - - An containing this token, and all the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Merge the specified content into this . - - The content to be merged. - - - - Merge the specified content into this using . - - The content to be merged. - The used to merge the content. - - - - Gets the count of child JSON tokens. - - The count of child JSON tokens - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets the with the specified key. - - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Represents a JSON object. - - - - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Occurs when a property value changes. - - - - - Occurs when a property value is changing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets the node type for this . - - The type. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Gets the with the specified property name. - - Name of the property. - The with the specified property name. - - - - Gets the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - One of the enumeration values that specifies how the strings will be compared. - The with the specified property name. - - - - Tries to get the with the specified property name. - The exact property name will be searched for first and if no matching property is found then - the will be used to match a property. - - Name of the property. - The value. - One of the enumeration values that specifies how the strings will be compared. - true if a value was successfully retrieved; otherwise, false. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Specifies the settings used when merging JSON. - - - - - Gets or sets the method used when merging JSON arrays. - - The method used when merging JSON arrays. - - - - Represents a JSON property. - - - - - Gets the container's children tokens. - - The container's children tokens. - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Gets the node type for this . - - The type. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Loads an from a . - - A that will be read for the content of the . - The used to load the JSON. - If this is null, default load settings will be used. - A that contains the JSON that was read from the specified . - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a raw JSON string. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Represents an abstract JSON token. - - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the path of the JSON token. - - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of tokens that contain this token, and the ancestors of this token. - - A collection of tokens that contain this token, and the ancestors of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to []. - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from [] to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the . - - The object type that the token will be deserialized to. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates the specified .NET type from the using the specified . - - The object type that the token will be deserialized to. - The that will be used when creating the object. - The new object created from the JSON value. - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Load a from a string that contains JSON. - - A that contains JSON. - The used to load the JSON. - If this is null, default load settings will be used. - A populated from the string that contains JSON. - - - - Creates a from a . - - An positioned at the token to read into this . - The used to load the JSON. - If this is null, default load settings will be used. - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A , or null. - - - - Selects a using a JPath expression. Selects the token that matches the object path. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - A . - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - An that contains the selected elements. - - - - Selects a collection of elements using a JPath expression. - - - A that contains a JPath expression. - - A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. - An that contains the selected elements. - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Creates a new instance of the . All child tokens are recursively cloned. - - A new instance of the . - - - - Adds an object to the annotation list of this . - - The annotation to add. - - - - Get the first annotation object of the specified type from this . - - The type of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets the first annotation object of the specified type from this . - - The of the annotation to retrieve. - The first annotation object that matches the specified type, or null if no annotation is of the specified type. - - - - Gets a collection of annotations of the specified type for this . - - The type of the annotations to retrieve. - An that contains the annotations for this . - - - - Gets a collection of annotations of the specified type for this . - - The of the annotations to retrieve. - An of that contains the annotations that match the specified type for this . - - - - Removes the annotations of the specified type from this . - - The type of annotations to remove. - - - - Removes the annotations of the specified type from this . - - The of annotations to remove. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. - - - - - Gets the at the reader's current position. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a []. - - - A [] or a null reference if the next JSON token is null. This method will return null at the end of an array. - - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream as a . - - A . This method will return null at the end of an array. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets the path of the current JSON token. - - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - A Guid value. - - - - - A Uri value. - - - - - A TimeSpan value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. - - - - - Gets the at the writer's current position. - - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a JSON object. - - - - - Writes the beginning of a JSON array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a JSON object. - - The name of the property. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a [] value. - - The [] value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Gets a value indicating whether this token has child tokens. - - - true if this token has child values; otherwise, false. - - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Creates a null value. - - A null value. - - - - Creates a null value. - - A null value. - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format provider. - - A that represents this instance. - - - - - Returns a that represents this instance. - - The format. - The format provider. - - A that represents this instance. - - - - - Returns the responsible for binding operations performed on this object. - - The expression tree representation of the runtime value. - - The to bind this object. - - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: - Value - Meaning - Less than zero - This instance is less than . - Zero - This instance is equal to . - Greater than zero - This instance is greater than . - - - is not the same type as this instance. - - - - - Specifies the settings used when loading JSON. - - - - - Gets or sets how JSON comments are handled when loading JSON. - - The JSON comment handling. - - - - Specifies how JSON arrays are merged together. - - - - Concatenate arrays. - - - Union arrays, skipping items that already exist. - - - Replace all array items. - - - Merge array items together, matched by index. - - - - Specifies the member serialization options for the . - - - - - All public members are serialized by default. Members can be excluded using or . - This is the default member serialization mode. - - - - - Only members must be marked with or are serialized. - This member serialization mode can also be set by marking the class with . - - - - - All public and private fields are serialized. Members can be excluded using or . - This member serialization mode can also be set by marking the class with - and setting IgnoreSerializableAttribute on to false. - - - - - Specifies metadata property handling options for the . - - - - - Read metadata properties located at the start of a JSON object. - - - - - Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. - - - - - Do not try to read metadata properties. - - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Specifies reference handling options for the . - Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. - - - - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - - Contains the JSON schema extension methods. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - - Determines whether the is valid. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - When this method returns, contains any error messages generated while validating. - - true if the specified is valid; otherwise, false. - - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - - - - - Validates the specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - The source to test. - The schema to test with. - The validation event handler. - - - - - An in-memory representation of a JSON Schema. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is required. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets a number that the value should be divisble by. - - A number that the value should be divisble by. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - A flag indicating whether the value can not equal the number defined by the "minimum" attribute. - - - - Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - A flag indicating whether the value can not equal the number defined by the "maximum" attribute. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . - - - true if items are validated using their array position; otherwise, false. - - - - - Gets or sets the of additional items. - - The of additional items. - - - - Gets or sets a value indicating whether additional items are allowed. - - - true if additional items are allowed; otherwise, false. - - - - - Gets or sets whether the array items must be unique. - - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets the pattern properties. - - The pattern properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the collection of that this schema extends. - - The collection of that this schema extends. - - - - Gets or sets the format. - - The format. - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - - Returns detailed information about the schema exception. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Gets the path to the JSON where the error occurred. - - The path to the JSON where the error occurred. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - The parameter is null. - The class name is null or is zero (0). - - - - - Generates a from a specified . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - - Resolves from an id. - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Initializes a new instance of the class. - - - - - Gets a for the specified reference. - - The id. - A for the specified reference. - - - - - The value types allowed by the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - - Specifies undefined schema Id handling options for the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - - Returns detailed information related to the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Gets the associated with the validation error. - - The JsonSchemaException associated with the validation error. - - - - Gets the path of the JSON location where the validation error occurred. - - The path of the JSON location where the validation error occurred. - - - - Gets the text description corresponding to the validation error. - - The text description. - - - - - Represents the callback method that will handle JSON schema validation events and the . - - - JSON Schema validation has been moved to its own package. See http://www.newtonsoft.com/jsonschema for more details. - - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Initializes a new instance of the class. - - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - Used by to resolves a for a given . - - - - - Gets a value indicating whether members are being get and set using dynamic code generation. - This value is determined by the runtime permissions available. - - - true if using dynamic code generation; otherwise, false. - - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Gets or sets a value indicating whether compiler generated members should be serialized. - - - true if serialized compiler generated members; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. - - - true if the interface will be ignored when serializing and deserializing types; otherwise, false. - - - - - Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. - - - true if the attribute will be ignored when serializing and deserializing types; otherwise, false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - If set to true the will use a cached shared with other resolvers of the same type. - Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only - happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different - results. When set to false it is highly recommended to reuse instances with the . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates the constructor parameters. - - The constructor to create properties for. - The type's member properties. - Properties for the given . - - - - Creates a for the given . - - The matching member property. - The constructor parameter. - A created for the given . - - - - Resolves the default for the contract. - - Type of the object. - The contract's default . - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Determines which contract type is created for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The type to create properties for. - /// The member serialization mode for the type. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's parent . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Resolved name of the property. - - - - Resolves the key of the dictionary. By default is used to resolve dictionary keys. - - Key of the dictionary. - Resolved key of the dictionary. - - - - Gets the resolved name of the property. - - Name of the property. - Name of the property. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - The type of the object the formatter creates a new instance of. - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - - - Represents a trace writer that writes to the application's instances. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets the path of the JSON location where the error occurred. - - The path of the JSON location where the error occurred. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Get and set values for a using dynamic methods. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides methods to get attributes. - - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Used by to resolves a for a given . - - - - - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The serialization context. - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The serialization context. - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The serialization context. - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The serialization context. - The reference. - The object to reference. - - - - Represents a trace writer. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - The that will be used to filter the trace messages passed to the writer. - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Contract details for a used by the . - - - - - Gets the of the collection items. - - The of the collection items. - - - - Gets a value indicating whether the collection type is a multidimensional array. - - true if the collection type is a multidimensional array; otherwise, false. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the collection values. - - true if the creator has a parameter with the collection values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the default collection items . - - The converter. - - - - Gets or sets a value indicating whether the collection items preserve object references. - - true if collection items preserve object references; otherwise, false. - - - - Gets or sets the collection item reference loop handling. - - The reference loop handling. - - - - Gets or sets the collection item type name handling. - - The type name handling. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Handles serialization callback events. - - The object that raised the callback event. - The streaming context. - - - - Handles serialization error callback events. - - The object that raised the callback event. - The streaming context. - The error context. - - - - Sets extension data for an object during deserialization. - - The object to set extension data on. - The extension data key. - The extension data value. - - - - Gets extension data for an object during serialization. - - The object to set extension data on. - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets all methods called immediately after deserialization of the object. - - The methods called immediately after deserialization of the object. - - - - Gets or sets all methods called during deserialization of the object. - - The methods called during deserialization of the object. - - - - Gets or sets all methods called after serialization of the object graph. - - The methods called after serialization of the object graph. - - - - Gets or sets all methods called before serialization of the object. - - The methods called before serialization of the object. - - - - Gets or sets all method called when an error is thrown during the serialization of the object. - - The methods called when an error is thrown during the serialization of the object. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Gets or sets the default creator method used to create the object. - - The default creator method used to create the object. - - - - Gets or sets a value indicating whether the default creator is non public. - - true if the default object creator is non-public; otherwise, false. - - - - Contract details for a used by the . - - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Gets or sets the dictionary key resolver. - - The dictionary key resolver. - - - - Gets the of the dictionary keys. - - The of the dictionary keys. - - - - Gets the of the dictionary values. - - The of the dictionary values. - - - - Gets or sets the function used to create the object. When set this function will override . - - The function used to create the object. - - - - Gets a value indicating whether the creator has a parameter with the dictionary values. - - true if the creator has a parameter with the dictionary values; otherwise, false. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the property name resolver. - - The property name resolver. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the ISerializable object constructor. - - The ISerializable object constructor. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets or sets a value that indicates whether the object's properties are required. - - - A value indicating whether the object's properties are required. - - - - - Gets the object's properties. - - The object's properties. - - - - Gets the constructor parameters required for any non-default constructor - - - - - Gets a collection of instances that define the parameters used with . - - - - - Gets or sets the override constructor used to create the object. - This is set when a constructor is marked up using the - JsonConstructor attribute. - - The override constructor. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - Gets or sets the function used to create the object. When set this function will override . - This function is called with a collection of arguments which are defined by the collection. - - The function used to create the object. - - - - Gets or sets the extension data setter. - - - - - Gets or sets the extension data getter. - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member or constructor parameter. - - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets the type that declared this property. - - The type that declared this property. - - - - Gets or sets the order of serialization and deserialization of a member. - - The numeric order of serialization or deserialization. - - - - Gets or sets the name of the underlying member or parameter. - - The name of the underlying member or parameter. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the for this property. - - The for this property. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets or sets the member converter. - - The member converter. - - - - Gets or sets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets or sets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets or sets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets or sets a value indicating whether this has a member attribute. - - true if has a member attribute; otherwise, false. - - - - Gets the default value. - - The default value. - - - - Gets or sets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets or sets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets or sets the property null value handling. - - The null value handling. - - - - Gets or sets the property default value handling. - - The default value handling. - - - - Gets or sets the property reference loop handling. - - The reference loop handling. - - - - Gets or sets the property object creation handling. - - The object creation handling. - - - - Gets or sets or sets the type name handling. - - The type name handling. - - - - Gets or sets a predicate used to determine whether the property should be serialize. - - A predicate used to determine whether the property should be serialize. - - - - Gets or sets a predicate used to determine whether the property should be deserialized. - - A predicate used to determine whether the property should be deserialized. - - - - Gets or sets a predicate used to determine whether the property should be serialized. - - A predicate used to determine whether the property should be serialized. - - - - Gets or sets an action used to set whether the property has been deserialized. - - An action used to set whether the property has been deserialized. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets or sets the converter used when serializing the property's collection items. - - The collection's items converter. - - - - Gets or sets whether this property's collection items are serialized as a reference. - - Whether this property's collection items are serialized as a reference. - - - - Gets or sets the the type name handling used when serializing the property's collection items. - - The collection's items type name handling. - - - - Gets or sets the the reference loop handling used when serializing the property's collection items. - - The collection's items reference loop handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The type. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Lookup and create an instance of the JsonConverter type described by the argument. - - The JsonConverter type to create. - Optional arguments to pass to an initializing constructor of the JsonConverter. - If null, the default constructor is used. - - - - Create a factory function that can be used to create instances of a JsonConverter described by the - argument type. The returned function can then be used to either invoke the converter's default ctor, or any - parameterized constructors by way of an object array. - - - - - Represents a trace writer that writes to memory. When the trace message limit is - reached then old trace messages will be removed as new messages are added. - - - - - Gets the that will be used to filter the trace messages passed to the writer. - For example a filter level of Info will exclude Verbose messages and include Info, - Warning and Error messages. - - - The that will be used to filter the trace messages passed to the writer. - - - - - Initializes a new instance of the class. - - - - - Writes the specified trace level, message and optional exception. - - The at which to write this trace. - The trace message. - The trace exception. This parameter is optional. - - - - Returns an enumeration of the most recent trace messages. - - An enumeration of the most recent trace messages. - - - - Returns a of the most recent trace messages. - - - A of the most recent trace messages. - - - - - Represents a method that constructs an object. - - The object type to create. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Provides methods to get attributes from a , , or . - - - - - Initializes a new instance of the class. - - The instance to get attributes for. This parameter should be a , , or . - - - - Returns a collection of all of the attributes, or an empty collection if there are no attributes. - - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. - - The type of the attributes. - When true, look up the hierarchy chain for the inherited custom attribute. - A collection of s, or an empty collection. - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Specifies how strings are escaped when writing JSON text. - - - - - Only control characters (e.g. newline) are escaped. - - - - - All non-ASCII and control characters (e.g. newline) are escaped. - - - - - HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. - - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Include the .NET type name when the type of the object being serialized is not the same as its declared type. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}. - - The type of the elements of source. - A sequence in which to locate a value. - The object to locate in the sequence - An equality comparer to compare values. - The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic that returns a result - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Helper method for generating a MetaObject which calls a - specific method on Dynamic, but uses one of the arguments for - the result. - - - - - Returns a Restrictions object which includes our current restrictions merged - with a restriction limiting our type - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - /// if set to true then allow the member to be gotten non-publicly. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - if set to true then allow the member to be set non-publicly. - if set to true then allow the member to be set if read-only. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - diff --git a/pili-sdk-csharp/bin/Debug/pili-sdk-csharp.dll b/pili-sdk-csharp/bin/Debug/pili-sdk-csharp.dll deleted file mode 100644 index 6cd16ffd3eb09ad41b8d0bd55885ffaea6304fcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41472 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 diff --git a/pili-sdk-csharp/bin/Debug/pili-sdk-csharp.pdb b/pili-sdk-csharp/bin/Debug/pili-sdk-csharp.pdb deleted file mode 100644 index 8eca02dc933feeee061ee11382cc1d2d731ed697..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112128 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 NyD>Vkg8FoI`ac@(z6k&T diff --git a/pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/pili-sdk-csharp/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000 diff --git a/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.csproj.FileListAbsolute.txt b/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.csproj.FileListAbsolute.txt deleted file mode 100644 index 75aee26..0000000 --- a/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,13 +0,0 @@ -G:\pili-sdk-csharp\pili-sdk-csharp\bin\Debug\pili-sdk-csharp.dll -G:\pili-sdk-csharp\pili-sdk-csharp\bin\Debug\pili-sdk-csharp.pdb -G:\pili-sdk-csharp\pili-sdk-csharp\bin\Debug\Newtonsoft.Json.dll -G:\pili-sdk-csharp\pili-sdk-csharp\bin\Debug\Newtonsoft.Json.xml -G:\pili-sdk-csharp\pili-sdk-csharp\obj\Debug\pili-sdk-csharp.dll -G:\pili-sdk-csharp\pili-sdk-csharp\obj\Debug\pili-sdk-csharp.pdb -F:\pili-sdk-csharp\pili-sdk-csharp\bin\Debug\pili-sdk-csharp.dll -F:\pili-sdk-csharp\pili-sdk-csharp\bin\Debug\pili-sdk-csharp.pdb -F:\pili-sdk-csharp\pili-sdk-csharp\bin\Debug\Newtonsoft.Json.dll -F:\pili-sdk-csharp\pili-sdk-csharp\bin\Debug\Newtonsoft.Json.xml -F:\pili-sdk-csharp\pili-sdk-csharp\obj\Debug\pili-sdk-csharp.dll -F:\pili-sdk-csharp\pili-sdk-csharp\obj\Debug\pili-sdk-csharp.pdb -F:\pili-sdk-csharp\pili-sdk-csharp\obj\Debug\pili-sdk-csharp.csprojResolveAssemblyReference.cache diff --git a/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.csprojResolveAssemblyReference.cache b/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.csprojResolveAssemblyReference.cache deleted file mode 100644 index d24006862bbf9bdcc3f79c0606f937460b548633..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11077 zcmeHNU2Ggz6`s4^UGGdbStq4!0!?v=Au(~*c5Ek3XzDr}J8?5d;hm6#{{x0&T@lQB@%%BpM+e`ho;cJXA$UNWcRR<$SX< z>zUaV#33t+<+1kcJ!j9{d*|HmoO{k4OH7iacj&@5u6T&Z)Dbmj=%!w*42KrGOek(kBWuk`m8ALo9^i= z3>0=3dVBK&J-m-cFxGvIhe$7&mMEnyZV70~1yvI^*K$wwr({akG?BAt24?aQH)kw9 ztqDw8ZXpr|`M0XAq@Wzud481VEZt~z9w(O4OLN>1MjJX!>3MO~(C5{>Fk%p-)w3c@ zPh>_*OtA?MSTlDr zm7d|ooIRLAgB6-En6qf(m69;jT-APSXsi>Xdoy#YrtUEFvpaGo=8>7>xmjK$K#Ysi z78x5J{gA1blY`{Cy*s9b#d|ZFI-MyCtAC(Q3!sQo*VD~=jFfH&+gt#;*}QQkDrHM8 ziDa6L#x?aUM+C74UPl9uB$KzpR*B}?%61^E38F<4p#^t2td<|Q&9k1y$~IwLN@h+s z2zvG)8)%TJCJf^E3fZg;5fvDd?*MrZ$ekc}f!qzU5o8m{dqLg@au3L6kb6PiPb7j4 zwlBH7cZaNwXKz^B5v1)FqIX>5rgcQms|8i$QN^sYL#-{ip&YkKp-_m0)?(w6t{hkx+J57ZqA1aJVioMu$-bVx-aQJ#gJQy7 zrTcN%l8>^b?R?>;xyZJzFU{~*+zJAd& zxF>>j``@oeI2>i+wOv76U_TJ~q_a2MD_-0Cuz1Pk+%P$XTedo=c0-zj54BuO*7kQm z1ZIZ*<_+p0{)^uol0QU@ycJ{{k!U9o4_4$46VHJE-~w*r#JjTtmWe_Ois+m?xbD97qJ7%~^S!_<2rfv)yxf#`>WS**rvGQmI z`5=^JwN$Fud41dvB|bMN@}q`cYC%O1zSl*+C^&V1&$$?5KV&s?ER_leMH%UmT{2Mq z`B?Ad#brVZXyX=i;ow|6eT+rn#D$4!b6tS!`#dTQ} zg2P%-H&kn;w9(Iw>PAX0TZXP}$dViB^jp@rzz{V7NXfvjTg;? z-OsBM9&yvJudlh^;=?y zr*jZ=dm!rJ18UGY(f5p!+vF;_eRF`}?7PP^jc5F;+z;uEg;B*ci+w)hcO zdd@>?GNPJJKy|H{Pkm3E}hu<%tOC_DtvLv zUoKz2G5FT`>u+}c`mZnbz5bI|W7m7x^RLA=J@?w>&Yu;JUA4x)cg-Am5Jcf;?Vgw-umaYC%=0&v9oRH)y1VSNlgHX@+AO6#eFZ|%o z3;_$v4XO8v0L0620a$Bejt--6xH>^6P)3mm9pWNBOAOXvVfevH+l51`yD;T2&MsV} z1&+CAK#Dv=EZka=Rif<6M{+g(M}3P#jv zTHt6EQHp$qm@1GKsKq|#!4CVZhf&yPyg+)=2P7nD^*}5!N0Apvr3$ZaQHwq5K@^+vFbd0f;Wg=l7tS&3 z;FZ8x<05_D{U>!H6u}&2rYoxm7 EUm)<};Q#;t diff --git a/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.dll b/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.dll deleted file mode 100644 index 6cd16ffd3eb09ad41b8d0bd55885ffaea6304fcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41472 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 diff --git a/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.pdb b/pili-sdk-csharp/obj/Debug/pili-sdk-csharp.pdb deleted file mode 100644 index 8eca02dc933feeee061ee11382cc1d2d731ed697..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112128 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 - - - \ No newline at end of file diff --git a/pili-sdk-csharp/pili-sdk-csharp.csproj b/pili-sdk-csharp/pili-sdk-csharp.csproj index 2dd567d..bfae2d4 100644 --- a/pili-sdk-csharp/pili-sdk-csharp.csproj +++ b/pili-sdk-csharp/pili-sdk-csharp.csproj @@ -1,74 +1,11 @@ - - - + + - Debug - AnyCPU - {AED2A63D-296C-4B6D-A0F1-C0CDBE612584} - Library - Properties - pili_sdk_csharp - pili-sdk-csharp - v4.5 - 512 + netstandard2.0 - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\packages\Newtonsoft.Json.8.0.1-beta1\lib\net45\Newtonsoft.Json.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - \ No newline at end of file + + From 58d3c3015e73ecb972e968ee2213f9996364ff1d Mon Sep 17 00:00:00 2001 From: PM Extra Date: Sat, 26 Aug 2017 00:09:14 +0800 Subject: [PATCH 02/24] Add git settings. --- .gitattributes | 63 ++++++++++++ .gitignore | 261 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 324 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c4efe2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,261 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.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 + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# 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 +# TODO: 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 +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable 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 + +# 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 +node_modules/ +orleans.codegen.cs + +# 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 + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# 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/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc \ No newline at end of file From 806a365f18a8e3d45480ccf7775d048f00df032b Mon Sep 17 00:00:00 2001 From: PM Extra Date: Sat, 26 Aug 2017 00:15:34 +0800 Subject: [PATCH 03/24] Cleanup code. --- pili-sdk-csharp.sln.DotSettings | 22 + pili-sdk-csharp/example.cs | 96 ++- pili-sdk-csharp/pili-common/Base64.cs | 398 +++++++----- pili-sdk-csharp/pili-common/Config.cs | 4 +- pili-sdk-csharp/pili-common/MessageConfig.cs | 6 +- .../pili-common/StringHelperClass.cs | 37 +- pili-sdk-csharp/pili-common/UrlSafeBase64.cs | 9 +- pili-sdk-csharp/pili-common/Utils.cs | 52 +- pili-sdk-csharp/pili-qiniu/Credentials.cs | 48 +- pili-sdk-csharp/pili/API.cs | 307 ++++----- pili-sdk-csharp/pili/Configuration.cs | 37 +- pili-sdk-csharp/pili/DateTimeHelperClass.cs | 10 +- pili-sdk-csharp/pili/Hub.cs | 26 +- pili-sdk-csharp/pili/PiliException.cs | 40 +- pili-sdk-csharp/pili/Stream.cs | 585 ++++++------------ 15 files changed, 749 insertions(+), 928 deletions(-) create mode 100644 pili-sdk-csharp.sln.DotSettings diff --git a/pili-sdk-csharp.sln.DotSettings b/pili-sdk-csharp.sln.DotSettings new file mode 100644 index 0000000..4d8fe8d --- /dev/null +++ b/pili-sdk-csharp.sln.DotSettings @@ -0,0 +1,22 @@ + + HINT + HINT + RequiredForMultilineStatement + RequiredForMultilineStatement + RequiredForMultilineStatement + RequiredForMultilineStatement + True + False + False + False + True + False + 180 + 180 + 180 + API + True + True + True + True + \ No newline at end of file diff --git a/pili-sdk-csharp/example.cs b/pili-sdk-csharp/example.cs index d86baff..ec517c7 100644 --- a/pili-sdk-csharp/example.cs +++ b/pili-sdk-csharp/example.cs @@ -1,17 +1,15 @@ -using pili_sdk_csharp.pili; -using pili_sdk_csharp.pili_qiniu; -using System; -using System.Collections.Generic; +using System; using System.Diagnostics; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using pili_sdk_csharp.pili; +using pili_sdk_csharp.pili_qiniu; + namespace pili_sdk_csharp { - class example + internal class example { // Replace with your keys here private const string ACCESS_KEY = ""; + private const string SECRET_KEY = ""; // Replace with your hub name @@ -25,20 +23,19 @@ class example // static { // Configuration.getInstance().setAPIHost("pili.qiniuapi.com"); // default // } - static void Main(string[] args) + private static void Main(string[] args) { testCreatStream(); - //测试推流后才能执行操作的函数,需要填写生成的流的id。 - // testTuiStream("z1.liuhanlin.561f62c5fb16df53010003ed"); + //测试推流后才能执行操作的函数,需要填写生成的流的id。 + // testTuiStream("z1.liuhanlin.561f62c5fb16df53010003ed"); Console.ReadKey(); - } - + public static void testStream(string streamid) { Stream stream = null; - Credentials credentials = new Credentials(ACCESS_KEY, SECRET_KEY); // Credentials Object - Hub hub = new Hub(credentials, HUB_NAME); + var credentials = new Credentials(ACCESS_KEY, SECRET_KEY); // Credentials Object + var hub = new Hub(credentials, HUB_NAME); //get a stream try { @@ -88,11 +85,11 @@ public static void testStream(string streamid) { long start = 0; // optional, in second, unix timestamp long end = 0; // optional, in second, unix timestamp - int limit = 0; // optional, int - Stream.SegmentList segmentList = stream.segments(start, end, limit); + var limit = 0; // optional, int + var segmentList = stream.segments(start, end, limit); Console.WriteLine("Stream segments()"); - foreach (Stream.Segment segment in segmentList.getSegmentList()) + foreach (var segment in segmentList.getSegmentList()) { Console.WriteLine("start:" + segment.Start + ",end:" + segment.End); } @@ -108,14 +105,14 @@ public static void testStream(string streamid) } // Snapshot Stream - string format = "jpg"; // required - string name = "imageName" + "." + format; // required + var format = "jpg"; // required + var name = "imageName" + "." + format; // required long time = 1440315411; // optional, in second, unix timestamp string notifyUrl = null; // optional try { - Stream.SnapshotResponse response = stream.snapshot(name, format, time, notifyUrl); + var response = stream.snapshot(name, format, time, notifyUrl); Console.WriteLine("Stream snapshot()"); Console.WriteLine(response.ToString()); /* @@ -133,15 +130,15 @@ public static void testStream(string streamid) } // Save Stream as a file - string saveAsFormat = "mp4"; // required - string saveAsName = "videoName" + "." + saveAsFormat; // required + var saveAsFormat = "mp4"; // required + var saveAsName = "videoName" + "." + saveAsFormat; // required long saveAsStart = 1444897613; // required, in second, unix timestampstart:1444897613,end:1444897973 long saveAsEnd = 1444897973; // required, in second, unix timestamp string saveAsNotifyUrl = null; // optional string pipleline = null; try { - Stream.SaveAsResponse response = stream.saveAs(saveAsName, saveAsFormat, saveAsStart, saveAsEnd, saveAsNotifyUrl,pipleline); + var response = stream.saveAs(saveAsName, saveAsFormat, saveAsStart, saveAsEnd, saveAsNotifyUrl, pipleline); Console.WriteLine("Stream saveAs()"); Console.WriteLine(response.ToString()); /* @@ -162,7 +159,7 @@ public static void testStream(string streamid) // Delete a Stream try { - string res = stream.delete(); + var res = stream.delete(); Console.WriteLine("Stream delete()"); Console.WriteLine(res); // No Content @@ -220,9 +217,8 @@ public static void testStream(string streamid) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - - } + public static void testCreatStream() { ////////////////////////////////////////////////////////////////////////////////////////// @@ -230,8 +226,8 @@ public static void testCreatStream() ////////////////////////////////////////////////////////////////////////////////////////// // Instantiate an Hub object - Credentials credentials = new Credentials(ACCESS_KEY, SECRET_KEY); // Credentials Object - Hub hub = new Hub(credentials, HUB_NAME); + var credentials = new Credentials(ACCESS_KEY, SECRET_KEY); // Credentials Object + var hub = new Hub(credentials, HUB_NAME); Console.WriteLine(hub.ToString()); // Create a new Stream @@ -319,11 +315,11 @@ public static void testCreatStream() long limit = 0; // optional string titlePrefix = null; // optional - Stream.StreamList streamList = hub.listStreams(marker, limit, titlePrefix); + var streamList = hub.listStreams(marker, limit, titlePrefix); Console.WriteLine("hub.listStreams()"); Console.WriteLine("marker:" + streamList.Marker); - IList list = streamList.Streams; - foreach (Stream s in list) + var list = streamList.Streams; + foreach (var s in list) { // access the stream } @@ -346,7 +342,7 @@ stream object ////////////////////////////////////////////////////////////////////////////////////////// // Stream begin ////////////////////////////////////////////////////////////////////////////////////////// - string streamJsonString = stream.toJsonString(); + var streamJsonString = stream.toJsonString(); Console.WriteLine("Stream toJSONString()"); Console.WriteLine(streamJsonString); @@ -376,12 +372,12 @@ stream object */ // Update a Stream - string newPublishKey = "new_secret_words"; // optional - string newPublishSecurity = "static"; // optional, can be "dynamic" or "static" - bool newDisabled = true; // optional, can be "true" of "false" + var newPublishKey = "new_secret_words"; // optional + var newPublishSecurity = "static"; // optional, can be "dynamic" or "static" + var newDisabled = true; // optional, can be "true" of "false" try { - Stream newStream = stream.update(newPublishKey, newPublishSecurity, newDisabled); + var newStream = stream.update(newPublishKey, newPublishSecurity, newDisabled); Console.WriteLine("Stream update()"); Console.WriteLine(newStream.toJsonString()); stream = newStream; @@ -420,7 +416,7 @@ stream object // Disable a Stream try { - Stream disabledStream = stream.disable(); + var disabledStream = stream.disable(); Console.WriteLine("Stream disable()"); Console.WriteLine(disabledStream.Disabled); /* @@ -437,7 +433,7 @@ stream object // Enable a Stream try { - Stream enabledStream = stream.enable(); + var enabledStream = stream.enable(); Console.WriteLine("Stream enable()"); Console.WriteLine(enabledStream.Disabled); /* @@ -454,7 +450,7 @@ stream object // Get Stream status try { - Stream.Status status = stream.status(); + var status = stream.status(); Console.WriteLine("Stream status()"); Console.WriteLine(status.ToString()); /* @@ -480,11 +476,10 @@ stream object // Generate RTMP publish URL try { - string publishUrl = stream.rtmpPublishUrl(); + var publishUrl = stream.rtmpPublishUrl(); Console.WriteLine("Stream rtmpPublishUrl()"); Console.WriteLine(publishUrl); // rtmp://ey636h.publish.z1.pili.qiniup.com/test-hub/55d810aae3ba5723280000db?nonce=1440223404&token=hIVJje0ZOX9hp7yPIvGBmJ_6Qxo= - } catch (PiliException e) { @@ -493,32 +488,30 @@ stream object Console.Write(e.StackTrace); } // Generate RTMP live play URLs - string originUrl = (stream.rtmpLiveUrls())[Stream.ORIGIN]; + var originUrl = stream.rtmpLiveUrls()[Stream.ORIGIN]; Console.WriteLine("Stream rtmpLiveUrls()"); Console.WriteLine(originUrl); // rtmp://ey636h.live1-rtmp.z1.pili.qiniucdn.com/test-hub/55d8113ee3ba5723280000dc // Generate HLS play URLs - string originLiveHlsUrl = stream.hlsLiveUrls()[Stream.ORIGIN]; + var originLiveHlsUrl = stream.hlsLiveUrls()[Stream.ORIGIN]; Console.WriteLine("Stream hlsLiveUrls()"); Console.WriteLine(originLiveHlsUrl); // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.m3u8 // Generate Http-Flv live play URLs - string originLiveFlvUrl = stream.httpFlvLiveUrls()[Stream.ORIGIN]; + var originLiveFlvUrl = stream.httpFlvLiveUrls()[Stream.ORIGIN]; Console.WriteLine("Stream httpFlvLiveUrls()"); Console.WriteLine(originLiveFlvUrl); // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.flv - - // Generate HLS playback URLs long startHlsPlayback = 1440315411; // required, in second, unix timestamp long endHlsPlayback = 1440315435; // required, in second, unix timestamp try { - string hlsPlaybackUrl = stream.hlsPlaybackUrls(startHlsPlayback, endHlsPlayback)[Stream.ORIGIN]; + var hlsPlaybackUrl = stream.hlsPlaybackUrls(startHlsPlayback, endHlsPlayback)[Stream.ORIGIN]; Console.WriteLine("Stream hlsPlaybackUrls()"); Console.WriteLine(hlsPlaybackUrl); @@ -532,11 +525,10 @@ stream object } - // Get Stream status try { - Stream.Status status = stream.status(); + var status = stream.status(); Console.WriteLine("Stream status()"); Console.WriteLine(status.ToString()); /* @@ -560,11 +552,10 @@ stream object } - // Delete a Stream try { - string res = stream.delete(); + var res = stream.delete(); Console.WriteLine("Stream delete()"); Console.WriteLine(res); // No Content @@ -615,6 +606,5 @@ stream object Console.Write(e.StackTrace); } } - } } diff --git a/pili-sdk-csharp/pili-common/Base64.cs b/pili-sdk-csharp/pili-common/Base64.cs index 00522d6..7a79004 100644 --- a/pili-sdk-csharp/pili-common/Base64.cs +++ b/pili-sdk-csharp/pili-common/Base64.cs @@ -21,51 +21,58 @@ namespace pili_sdk_csharp.pili_common { - /// public sealed class Base64 { /// - /// Default values for encoder/decoder flags. + /// Default values for encoder/decoder flags. /// public const int DEFAULT = 0; /// - /// Encoder flag bit to omit the padding '=' characters at the end - /// of the output (if any). + /// Encoder flag bit to omit the padding '=' characters at the end + /// of the output (if any). /// public const int NO_PADDING = 1; /// - /// Encoder flag bit to omit all line terminators (i.e., the output - /// will be on one long line). + /// Encoder flag bit to omit all line terminators (i.e., the output + /// will be on one long line). /// public const int NO_WRAP = 2; /// - /// Encoder flag bit to indicate lines should be terminated with a - /// CRLF pair instead of just an LF. Has no effect if {@code - /// NO_WRAP} is specified as well. + /// Encoder flag bit to indicate lines should be terminated with a + /// CRLF pair instead of just an LF. Has no effect if {@code + /// NO_WRAP} is specified as well. /// public const int CRLF = 4; /// - /// Encoder/decoder flag bit to indicate using the "URL and - /// filename safe" variant of Base64 (see RFC 3548 section 4) where - /// {@code -} and {@code _} are used in place of {@code +} and - /// {@code /}. + /// Encoder/decoder flag bit to indicate using the "URL and + /// filename safe" variant of Base64 (see RFC 3548 section 4) where + /// {@code -} and {@code _} are used in place of {@code +} and + /// {@code /}. /// public const int URL_SAFE = 8; /// - /// Flag to pass to indicate that it - /// should not close the output stream it is wrapping when it - /// itself is closed. + /// Flag to pass to indicate that it + /// should not close the output stream it is wrapping when it + /// itself is closed. /// public const int NO_CLOSE = 16; @@ -82,69 +89,83 @@ private Base64() // -------------------------------------------------------- /// - /// Decode the Base64-encoded data in input and return the data in - /// a new byte array. - ///

- /// The padding '=' characters at the end are considered optional, but - /// if any are present, there must be the correct number of them. - /// - /// + /// Decode the Base64-encoded data in input and return the data in + /// a new byte array. + ///

+ /// + /// The padding '=' characters at the end are considered optional, but + /// if any are present, there must be the correct number of them. + /// ///

- /// the input String to decode, which is converted to - /// bytes using the default charset - /// controls certain features of the decoded output. - /// Pass {@code DEFAULT} to decode standard Base64. - /// if the input contains - /// incorrect padding + /// + /// the input String to decode, which is converted to + /// bytes using the default charset + /// + /// + /// controls certain features of the decoded output. + /// Pass {@code DEFAULT} to decode standard Base64. + /// + /// + /// if the input contains + /// incorrect padding + /// public static byte[] decode(string str, int flags) { - return decode(System.Text.Encoding.UTF8.GetBytes(str), flags); + return decode(Encoding.UTF8.GetBytes(str), flags); } /// - /// Decode the Base64-encoded data in input and return the data in - /// a new byte array. - ///

- /// The padding '=' characters at the end are considered optional, but - /// if any are present, there must be the correct number of them. - /// - /// + /// Decode the Base64-encoded data in input and return the data in + /// a new byte array. + ///

+ /// + /// The padding '=' characters at the end are considered optional, but + /// if any are present, there must be the correct number of them. + /// ///

/// the input array to decode - /// controls certain features of the decoded output. - /// Pass {@code DEFAULT} to decode standard Base64. - /// if the input contains - /// incorrect padding + /// + /// controls certain features of the decoded output. + /// Pass {@code DEFAULT} to decode standard Base64. + /// + /// + /// if the input contains + /// incorrect padding + /// public static byte[] decode(byte[] input, int flags) { return decode(input, 0, input.Length, flags); } /// - /// Decode the Base64-encoded data in input and return the data in - /// a new byte array. - ///

- /// The padding '=' characters at the end are considered optional, but - /// if any are present, there must be the correct number of them. - /// - /// + /// Decode the Base64-encoded data in input and return the data in + /// a new byte array. + ///

+ /// + /// The padding '=' characters at the end are considered optional, but + /// if any are present, there must be the correct number of them. + /// ///

/// the data to decode /// the position within the input array at which to start /// the number of bytes of input to decode - /// controls certain features of the decoded output. - /// Pass {@code DEFAULT} to decode standard Base64. - /// if the input contains - /// incorrect padding + /// + /// controls certain features of the decoded output. + /// Pass {@code DEFAULT} to decode standard Base64. + /// + /// + /// if the input contains + /// incorrect padding + /// public static byte[] decode(byte[] input, int offset, int len, int flags) { // Allocate space for the most data the input could represent. // (It could contain less if it contains whitespace, etc.) - Decoder decoder = new Decoder(flags, new byte[len * 3 / 4]); + var decoder = new Decoder(flags, new byte[len * 3 / 4]); if (!decoder.process(input, offset, len, true)) { - throw new System.ArgumentException("bad base-64"); + throw new ArgumentException("bad base-64"); } // Maybe we got lucky and allocated exactly enough output space. @@ -155,19 +176,21 @@ public static byte[] decode(byte[] input, int offset, int len, int flags) // Need to shorten the array, so allocate a new one of the // right size and copy. - byte[] temp = new byte[decoder.op]; + var temp = new byte[decoder.op]; Array.Copy(decoder.output, 0, temp, 0, decoder.op); return temp; } /// - /// Base64-encode the given data and return a newly allocated - /// String with the result. + /// Base64-encode the given data and return a newly allocated + /// String with the result. /// /// the data to encode - /// controls certain features of the encoded output. - /// Passing {@code DEFAULT} results in output that - /// adheres to RFC 2045. + /// + /// controls certain features of the encoded output. + /// Passing {@code DEFAULT} results in output that + /// adheres to RFC 2045. + /// public static string encodeToString(byte[] input, int flags) { try @@ -182,23 +205,25 @@ public static string encodeToString(byte[] input, int flags) } - - // -------------------------------------------------------- // encoding // -------------------------------------------------------- /// - /// Base64-encode the given data and return a newly allocated - /// String with the result. + /// Base64-encode the given data and return a newly allocated + /// String with the result. /// /// the data to encode - /// the position within the input array at which to - /// start + /// + /// the position within the input array at which to + /// start + /// /// the number of bytes of input to encode - /// controls certain features of the encoded output. - /// Passing {@code DEFAULT} results in output that - /// adheres to RFC 2045. + /// + /// controls certain features of the encoded output. + /// Passing {@code DEFAULT} results in output that + /// adheres to RFC 2045. + /// public static string encodeToString(byte[] input, int offset, int len, int flags) { try @@ -211,36 +236,43 @@ public static string encodeToString(byte[] input, int offset, int len, int flags throw e; } } + /// - /// Base64-encode the given data and return a newly allocated - /// byte[] with the result. + /// Base64-encode the given data and return a newly allocated + /// byte[] with the result. /// /// the data to encode - /// controls certain features of the encoded output. - /// Passing {@code DEFAULT} results in output that - /// adheres to RFC 2045. + /// + /// controls certain features of the encoded output. + /// Passing {@code DEFAULT} results in output that + /// adheres to RFC 2045. + /// public static byte[] encode(byte[] input, int flags) { return encode(input, 0, input.Length, flags); } /// - /// Base64-encode the given data and return a newly allocated - /// byte[] with the result. + /// Base64-encode the given data and return a newly allocated + /// byte[] with the result. /// /// the data to encode - /// the position within the input array at which to - /// start + /// + /// the position within the input array at which to + /// start + /// /// the number of bytes of input to encode - /// controls certain features of the encoded output. - /// Passing {@code DEFAULT} results in output that - /// adheres to RFC 2045. + /// + /// controls certain features of the encoded output. + /// Passing {@code DEFAULT} results in output that + /// adheres to RFC 2045. + /// public static byte[] encode(byte[] input, int offset, int len, int flags) { - Encoder encoder = new Encoder(flags, null); + var encoder = new Encoder(flags, null); // Compute the exact length of the array we will produce. - int output_len = len / 3 * 4; + var output_len = len / 3 * 4; // Account for the tail of the data and the padding bytes, if any. if (encoder.do_padding) @@ -268,7 +300,7 @@ public static byte[] encode(byte[] input, int offset, int len, int flags) // Account for the newlines, if any. if (encoder.do_newline && len > 0) { - output_len += (((len - 1) / (3 * Encoder.LINE_GROUPS)) + 1) * (encoder.do_cr ? 2 : 1); + output_len += ((len - 1) / (3 * Encoder.LINE_GROUPS) + 1) * (encoder.do_cr ? 2 : 1); } encoder.output = new byte[output_len]; @@ -282,25 +314,31 @@ public static byte[] encode(byte[] input, int offset, int len, int flags) /* package */ internal abstract class Coder { - public byte[] output; public int op; + public byte[] output; /// - /// Encode/decode another block of input data. this.output is - /// provided by the caller, and must be big enough to hold all - /// the coded data. On exit, this.opwill be set to the length - /// of the coded data. + /// Encode/decode another block of input data. this.output is + /// provided by the caller, and must be big enough to hold all + /// the coded data. On exit, this.opwill be set to the length + /// of the coded data. /// - /// true if this is the final call to process for - /// this object. Will finalize the coder state and - /// include any final bytes in the output. - /// true if the input so far is good; false if some - /// error has been detected in the input stream.. + /// + /// true if this is the final call to process for + /// this object. Will finalize the coder state and + /// include any final bytes in the output. + /// + /// + /// true if the input so far is good; false if some + /// error has been detected in the input stream.. + /// public abstract bool process(byte[] input, int offset, int len, bool finish); - /// the maximum number of bytes a call to process() - /// could produce for the given number of input bytes. This may - /// be an overestimate. + /// + /// the maximum number of bytes a call to process() + /// could produce for the given number of input bytes. This may + /// be an overestimate. + /// public abstract int maxOutputSize(int len); } @@ -308,56 +346,82 @@ internal abstract class Coder internal class Decoder : Coder { /// - /// Lookup table for turning bytes into their position in the - /// Base64 alphabet. + /// Non-data values in the DECODE arrays. /// - internal static readonly int[] DECODE = new int[] { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; + internal const int SKIP = -1; + + internal const int EQUALS = -2; /// - /// Decode lookup table for the "web safe" variant (RFC 3548 - /// sec. 4) where - and _ replace + and /. + /// Lookup table for turning bytes into their position in the + /// Base64 alphabet. /// - internal static readonly int[] DECODE_WEBSAFE = new int[] { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; + internal static readonly int[] DECODE = + { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }; /// - /// Non-data values in the DECODE arrays. + /// Decode lookup table for the "web safe" variant (RFC 3548 + /// sec. 4) where - and _ replace + and /. /// - internal const int SKIP = -1; - internal const int EQUALS = -2; + internal static readonly int[] DECODE_WEBSAFE = + { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 62, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 + }; + internal readonly int[] alphabet; + /// - /// States 0-3 are reading through the next input tuple. - /// State 4 is having read one '=' and expecting exactly - /// one more. - /// State 5 is expecting no more data or padding characters - /// in the input. - /// State 6 is the error state; an error has been detected - /// in the input and no future input can "fix" it. + /// States 0-3 are reading through the next input tuple. + /// State 4 is having read one '=' and expecting exactly + /// one more. + /// State 5 is expecting no more data or padding characters + /// in the input. + /// State 6 is the error state; an error has been detected + /// in the input and no future input can "fix" it. /// internal int state; // state number (0 to 6) + internal int value; public Decoder(int flags, byte[] output) { this.output = output; - alphabet = ((flags & URL_SAFE) == 0) ? DECODE : DECODE_WEBSAFE; + alphabet = (flags & URL_SAFE) == 0 ? DECODE : DECODE_WEBSAFE; state = 0; value = 0; } - /// an overestimate for the number of bytes {@code - /// len} bytes could decode to. + /// + /// an overestimate for the number of bytes {@code + /// len} bytes could decode to. + /// public override int maxOutputSize(int len) { return len * 3 / 4 + 10; } /// - /// Decode another block of input data. + /// Decode another block of input data. /// - /// true if the state machine is still healthy. false if - /// bad base-64 data has been detected in the input stream. + /// + /// true if the state machine is still healthy. false if + /// bad base-64 data has been detected in the input stream. + /// public override bool process(byte[] input, int offset, int len, bool finish) { if (this.state == 6) @@ -365,7 +429,7 @@ public override bool process(byte[] input, int offset, int len, bool finish) return false; } - int p = offset; + var p = offset; len += offset; // Using local variables makes the decoder about 12% @@ -373,15 +437,15 @@ public override bool process(byte[] input, int offset, int len, bool finish) // the loop. (Even alphabet makes a measurable // difference, which is somewhat surprising to me since // the member variable is final.) - int state = this.state; - int value = this.value; - int op = 0; + var state = this.state; + var value = this.value; + var op = 0; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final byte[] output = this.output; - byte[] output = this.output; + var output = this.output; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int[] alphabet = this.alphabet; - int[] alphabet = this.alphabet; + var alphabet = this.alphabet; while (p < len) { @@ -401,7 +465,8 @@ public override bool process(byte[] input, int offset, int len, bool finish) // be the same, just slower. if (state == 0) { - while (p + 4 <= len && (value = ((alphabet[input[p] & 0xff] << 18) | (alphabet[input[p + 1] & 0xff] << 12) | (alphabet[input[p + 2] & 0xff] << 6) | (alphabet[input[p + 3] & 0xff]))) >= 0) + while (p + 4 <= len && (value = (alphabet[input[p] & 0xff] << 18) | (alphabet[input[p + 1] & 0xff] << 12) | (alphabet[input[p + 2] & 0xff] << 6) | + alphabet[input[p + 3] & 0xff]) >= 0) { output[op + 2] = (byte)value; output[op + 1] = (byte)(value >> 8); @@ -420,7 +485,7 @@ public override bool process(byte[] input, int offset, int len, bool finish) // data, or whatever. Fall back to the slower state // machine implementation. - int d = alphabet[input[p++] & 0xff]; + var d = alphabet[input[p++] & 0xff]; switch (state) { @@ -573,31 +638,48 @@ public override bool process(byte[] input, int offset, int len, bool finish) internal class Encoder : Coder { /// - /// Emit a new line every this many output tuples. Corresponds to - /// a 76-character line length (the maximum allowable according to - /// RFC 2045). + /// Emit a new line every this many output tuples. Corresponds to + /// a 76-character line length (the maximum allowable according to + /// RFC 2045). /// public const int LINE_GROUPS = 19; /// - /// Lookup table for turning Base64 alphabet positions (6 bits) - /// into output bytes. + /// Lookup table for turning Base64 alphabet positions (6 bits) + /// into output bytes. /// - internal static readonly byte[] ENCODE = new byte[] { (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', (byte)'O', (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f', (byte)'g', (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n', (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', (byte)'t', (byte)'u', (byte)'v', (byte)'w', (byte)'x', (byte)'y', (byte)'z', (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', (byte)'7', (byte)'8', (byte)'9', (byte)'+', (byte)'/' }; + internal static readonly byte[] ENCODE = + { + (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', (byte)'O', + (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', (byte)'a', (byte)'b', (byte)'c', (byte)'d', + (byte)'e', (byte)'f', (byte)'g', (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n', (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', + (byte)'t', (byte)'u', (byte)'v', (byte)'w', (byte)'x', (byte)'y', (byte)'z', (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', (byte)'7', + (byte)'8', (byte)'9', (byte)'+', (byte)'/' + }; /// - /// Lookup table for turning Base64 alphabet positions (6 bits) - /// into output bytes. + /// Lookup table for turning Base64 alphabet positions (6 bits) + /// into output bytes. /// - internal static readonly byte[] ENCODE_WEBSAFE = new byte[] { (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', (byte)'O', (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f', (byte)'g', (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n', (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', (byte)'t', (byte)'u', (byte)'v', (byte)'w', (byte)'x', (byte)'y', (byte)'z', (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', (byte)'7', (byte)'8', (byte)'9', (byte)'-', (byte)'_' }; - public readonly bool do_padding; - public readonly bool do_newline; + internal static readonly byte[] ENCODE_WEBSAFE = + { + (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', (byte)'O', + (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', (byte)'a', (byte)'b', (byte)'c', (byte)'d', + (byte)'e', (byte)'f', (byte)'g', (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n', (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', + (byte)'t', (byte)'u', (byte)'v', (byte)'w', (byte)'x', (byte)'y', (byte)'z', (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', (byte)'7', + (byte)'8', (byte)'9', (byte)'-', (byte)'_' + }; + + internal readonly byte[] alphabet; public readonly bool do_cr; + public readonly bool do_newline; + public readonly bool do_padding; internal readonly byte[] tail; - internal readonly byte[] alphabet; + + internal int count; + /* package */ internal int tailLen; - internal int count; public Encoder(int flags, byte[] output) { @@ -606,7 +688,7 @@ public Encoder(int flags, byte[] output) do_padding = (flags & NO_PADDING) == 0; do_newline = (flags & NO_WRAP) == 0; do_cr = (flags & CRLF) != 0; - alphabet = ((flags & URL_SAFE) == 0) ? ENCODE : ENCODE_WEBSAFE; + alphabet = (flags & URL_SAFE) == 0 ? ENCODE : ENCODE_WEBSAFE; tail = new byte[2]; tailLen = 0; @@ -614,8 +696,10 @@ public Encoder(int flags, byte[] output) count = do_newline ? LINE_GROUPS : -1; } - /// an overestimate for the number of bytes {@code - /// len} bytes could encode to. + /// + /// an overestimate for the number of bytes {@code + /// len} bytes could encode to. + /// public override int maxOutputSize(int len) { return len * 8 / 5 + 10; @@ -626,16 +710,16 @@ public override bool process(byte[] input, int offset, int len, bool finish) // Using local variables makes the encoder about 9% faster. //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final byte[] alphabet = this.alphabet; - byte[] alphabet = this.alphabet; + var alphabet = this.alphabet; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final byte[] output = this.output; - byte[] output = this.output; - int op = 0; - int count = this.count; + var output = this.output; + var op = 0; + var count = this.count; - int p = offset; + var p = offset; len += offset; - int v = -1; + var v = -1; // First we need to concatenate the tail of the previous call // with any input bytes available now and see if we can empty @@ -719,7 +803,7 @@ public override bool process(byte[] input, int offset, int len, bool finish) if (p - tailLen == len - 1) { - int t = 0; + var t = 0; v = ((tailLen > 0 ? tail[t++] : input[p++]) & 0xff) << 4; tailLen -= t; output[op++] = alphabet[(v >> 6) & 0x3f]; @@ -740,7 +824,7 @@ public override bool process(byte[] input, int offset, int len, bool finish) } else if (p - tailLen == len - 2) { - int t = 0; + var t = 0; v = (((tailLen > 1 ? tail[t++] : input[p++]) & 0xff) << 10) | (((tailLen > 0 ? tail[t++] : input[p++]) & 0xff) << 2); tailLen -= t; output[op++] = alphabet[(v >> 12) & 0x3f]; @@ -794,6 +878,6 @@ public override bool process(byte[] input, int offset, int len, bool finish) } } } - // CHECKSTYLE:ON -} \ No newline at end of file + // CHECKSTYLE:ON +} diff --git a/pili-sdk-csharp/pili-common/Config.cs b/pili-sdk-csharp/pili-common/Config.cs index 10fece2..8d6d007 100644 --- a/pili-sdk-csharp/pili-common/Config.cs +++ b/pili-sdk-csharp/pili-common/Config.cs @@ -2,7 +2,6 @@ namespace pili_sdk_csharp.pili_common { - public class Config { public const string SDK_VERSION = "1.5.0"; @@ -22,5 +21,4 @@ public class Config public const int TITLE_MIN_LENGTH = 5; public const int TITLE_MAX_LENGTH = 200; } - -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili-common/MessageConfig.cs b/pili-sdk-csharp/pili-common/MessageConfig.cs index b3bd276..016040f 100644 --- a/pili-sdk-csharp/pili-common/MessageConfig.cs +++ b/pili-sdk-csharp/pili-common/MessageConfig.cs @@ -1,6 +1,5 @@ namespace pili_sdk_csharp.pili_common { - public class MessageConfig { public const string NULL_STREAM_ID_EXCEPTION_MSG = "FATAL EXCEPTION: streamId is null!"; @@ -8,9 +7,8 @@ public class MessageConfig public const string NULL_CREDENTIALS_EXCEPTION_MSG = "FATAL EXCEPTION: credentials is null!"; public const string ILLEGAL_RTMP_PUBLISH_URL_MSG = "Illegal rtmp publish url!"; public const string ILLEGAL_TIME_MSG = "Illegal startTime or endTime!"; - public static readonly string ILLEGAL_TITLE_MSG = "The length of title should be at least:" + Config.TITLE_MIN_LENGTH + ",or at most:" + Config.TITLE_MAX_LENGTH; public const string ILLEGAL_FILE_NAME_EXCEPTION_MSG = "Illegal file name !"; public const string ILLEGAL_FORMAT_EXCEPTION_MSG = "Illegal format !"; + public static readonly string ILLEGAL_TITLE_MSG = "The length of title should be at least:" + Config.TITLE_MIN_LENGTH + ",or at most:" + Config.TITLE_MAX_LENGTH; } - -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili-common/StringHelperClass.cs b/pili-sdk-csharp/pili-common/StringHelperClass.cs index ee59519..ee498f7 100644 --- a/pili-sdk-csharp/pili-common/StringHelperClass.cs +++ b/pili-sdk-csharp/pili-common/StringHelperClass.cs @@ -4,9 +4,13 @@ // // This class is used to convert some aspects of the Java String class. //------------------------------------------------------------------------------------------- + +using System; +using System.Text; +using System.Text.RegularExpressions; + internal static class StringHelperClass { - internal static string SubstringSpecial(this string self, int start, int end) { return self.Substring(start, end - start); @@ -15,24 +19,26 @@ internal static string SubstringSpecial(this string self, int start, int end) internal static bool StartsWith(this string self, string prefix, int toffset) { - return self.IndexOf(prefix, toffset, System.StringComparison.Ordinal) == toffset; + return self.IndexOf(prefix, toffset, StringComparison.Ordinal) == toffset; } internal static string[] Split(this string self, string regexDelimiter, bool trimTrailingEmptyStrings) { - string[] splitArray = System.Text.RegularExpressions.Regex.Split(self, regexDelimiter); + var splitArray = Regex.Split(self, regexDelimiter); if (trimTrailingEmptyStrings) { if (splitArray.Length > 1) { - for (int i = splitArray.Length; i > 0; i--) + for (var i = splitArray.Length; i > 0; i--) { if (splitArray[i - 1].Length > 0) { if (i < splitArray.Length) - System.Array.Resize(ref splitArray, i); + { + Array.Resize(ref splitArray, i); + } break; } @@ -48,32 +54,37 @@ internal static string NewString(byte[] bytes) { return NewString(bytes, 0, bytes.Length); } + internal static string NewString(byte[] bytes, int index, int count) { - return System.Text.Encoding.UTF8.GetString((byte[])(object)bytes, index, count); + return Encoding.UTF8.GetString(bytes, index, count); } + internal static string NewString(byte[] bytes, string encoding) { return NewString(bytes, 0, bytes.Length, encoding); } + internal static string NewString(byte[] bytes, int index, int count, string encoding) { - return System.Text.Encoding.GetEncoding(encoding).GetString((byte[])(object)bytes, index, count); + return Encoding.GetEncoding(encoding).GetString(bytes, index, count); } internal static byte[] GetBytes(this string self) { - return GetbytesForEncoding(System.Text.Encoding.UTF8, self); + return GetbytesForEncoding(Encoding.UTF8, self); } + internal static byte[] GetBytes(this string self, string encoding) { - return GetbytesForEncoding(System.Text.Encoding.GetEncoding(encoding), self); + return GetbytesForEncoding(Encoding.GetEncoding(encoding), self); } - private static byte[] GetbytesForEncoding(System.Text.Encoding encoding, string s) + + private static byte[] GetbytesForEncoding(Encoding encoding, string s) { - byte[] bytes = new byte[encoding.GetByteCount(s)]; - encoding.GetBytes(s, 0, s.Length, (byte[])(object)bytes, 0); + var bytes = new byte[encoding.GetByteCount(s)]; + encoding.GetBytes(s, 0, s.Length, bytes, 0); return bytes; } -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs index 7519db7..820b203 100644 --- a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs +++ b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs @@ -1,11 +1,9 @@ -using pili_sdk_csharp.pili_common; -using System; +using System; + namespace pili_sdk_csharp.pili_common { - public class UrlSafeBase64 { - public static string encodeToString(string data) { try @@ -30,5 +28,4 @@ public static byte[] decode(string data) return Base64.decode(data, Base64.URL_SAFE | Base64.NO_WRAP); } } - -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili-common/Utils.cs b/pili-sdk-csharp/pili-common/Utils.cs index 1d6221e..f59e230 100644 --- a/pili-sdk-csharp/pili-common/Utils.cs +++ b/pili-sdk-csharp/pili-common/Utils.cs @@ -1,17 +1,27 @@ - -using Newtonsoft.Json; -using System; +using System; using System.IO; +using Newtonsoft.Json; + namespace pili_sdk_csharp.pili_common { - public class Utils { public static int bufferLen = 32 * 1024; + public static string UserAgent + { + get + { + var csharpVersion = "csharp"; + var os = "windows"; + var sdk = Config.USER_AGENT + Config.SDK_VERSION; + return sdk + os + csharpVersion; + } + } + public static string JsonEncode(object obj) { - JsonSerializerSettings setting = new JsonSerializerSettings(); + var setting = new JsonSerializerSettings(); setting.NullValueHandling = NullValueHandling.Ignore; return JsonConvert.SerializeObject(obj, setting); } @@ -20,31 +30,33 @@ public static T ToObject(string value) { return JsonConvert.DeserializeObject(value); } + public static void Copy(Stream dst, Stream src) { - long l = src.Position; - byte[] buffer = new byte[bufferLen]; + var l = src.Position; + var buffer = new byte[bufferLen]; while (true) { - int n = src.Read(buffer, 0, bufferLen); + var n = src.Read(buffer, 0, bufferLen); if (n == 0) break; dst.Write(buffer, 0, n); } src.Seek(l, SeekOrigin.Begin); } + public static void CopyN(Stream dst, Stream src, long numBytesToCopy) { - long l = src.Position; - byte[] buffer = new byte[bufferLen]; + var l = src.Position; + var buffer = new byte[bufferLen]; long numBytesWritten = 0; while (numBytesWritten < numBytesToCopy) { - int len = bufferLen; - if ((numBytesToCopy - numBytesWritten) < len) + var len = bufferLen; + if (numBytesToCopy - numBytesWritten < len) { len = (int)(numBytesToCopy - numBytesWritten); } - int n = src.Read(buffer, 0, len); + var n = src.Read(buffer, 0, len); if (n == 0) break; dst.Write(buffer, 0, n); numBytesWritten += n; @@ -55,17 +67,6 @@ public static void CopyN(Stream dst, Stream src, long numBytesToCopy) throw new Exception("StreamUtil.CopyN: nwritten not equal to ncopy"); } } - public static string UserAgent - { - get - { - - string csharpVersion = "csharp"; - string os = "windows"; - string sdk = Config.USER_AGENT + Config.SDK_VERSION; - return sdk + os + csharpVersion; - } - } /* * check the arg. @@ -86,5 +87,4 @@ public static bool isArgNotEmpty(string arg) // return String.format("/%s/%s", res[1], res[2]); // } } - -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili-qiniu/Credentials.cs b/pili-sdk-csharp/pili-qiniu/Credentials.cs index 99bc141..97ee6fe 100644 --- a/pili-sdk-csharp/pili-qiniu/Credentials.cs +++ b/pili-sdk-csharp/pili-qiniu/Credentials.cs @@ -1,26 +1,22 @@ using System; -using System.Text; using System.Security.Cryptography; -using Config = pili_sdk_csharp.pili_common.Config; -using UrlSafeBase64 = pili_sdk_csharp.pili_common.UrlSafeBase64; - +using System.Text; +using pili_sdk_csharp.pili_common; namespace pili_sdk_csharp.pili_qiniu { - - public class Credentials { private const string DIGEST_AUTH_PREFIX = "Qiniu"; - private HMACSHA1 mSkSpec; - private string mAccessKey; - private string mSecretKey; + private readonly string mAccessKey; + private readonly string mSecretKey; + private readonly HMACSHA1 mSkSpec; public Credentials(string ak, string sk) { if (ak == null || sk == null) { - throw new System.ArgumentException("Invalid accessKey or secretKey!!"); + throw new ArgumentException("Invalid accessKey or secretKey!!"); } mAccessKey = ak; mSecretKey = sk; @@ -38,10 +34,10 @@ public Credentials(string ak, string sk) public virtual string signRequest(Uri url, string method, byte[] body, string contentType) { - StringBuilder sb = new StringBuilder(); + var sb = new StringBuilder(); // - string line = string.Format("{0} {1}", method, url.LocalPath); + var line = string.Format("{0} {1}", method, url.LocalPath); sb.Append(line); if (url.Query != "") { @@ -52,7 +48,6 @@ public virtual string signRequest(Uri url, string method, byte[] body, string co sb.Append(string.Format("\nHost: {0}", url.Host)); - if (url.Port != 80) { sb.Append(string.Format(":{0}", url.Port)); @@ -68,7 +63,6 @@ public virtual string signRequest(Uri url, string method, byte[] body, string co if (body != null && contentType != null && !"application/octet-stream".Equals(contentType)) { sb.Append(StringHelperClass.NewString(body)); - } return string.Format("{0} {1}:{2}", DIGEST_AUTH_PREFIX, mAccessKey, signData(sb.ToString())); } @@ -77,12 +71,11 @@ private static byte[] digest(string secret, string data) { try { - - System.Text.Encoding encoding = System.Text.Encoding.UTF8; - byte[] newdata = encoding.GetBytes(data); - byte[] bytesSK = encoding.GetBytes(secret); - HMACSHA1 mac = new HMACSHA1(bytesSK); - byte[] digest = mac.ComputeHash(newdata); + var encoding = Encoding.UTF8; + var newdata = encoding.GetBytes(data); + var bytesSK = encoding.GetBytes(secret); + var mac = new HMACSHA1(bytesSK); + var digest = mac.ComputeHash(newdata); return digest; } @@ -105,10 +98,10 @@ private string signData(string data) string sign = null; try { - HMACSHA1 mac = createMac(mSkSpec); - System.Text.Encoding encoding = System.Text.Encoding.UTF8; - byte[] newdata = encoding.GetBytes(data); - byte[] digest = mac.ComputeHash(newdata); + var mac = createMac(mSkSpec); + var encoding = Encoding.UTF8; + var newdata = encoding.GetBytes(data); + var digest = mac.ComputeHash(newdata); sign = UrlSafeBase64.encodeToString(digest); } catch (Exception e) @@ -120,11 +113,8 @@ private string signData(string data) private static HMACSHA1 createMac(HMACSHA1 secretKeySpec) { - - - HMACSHA1 mac = secretKeySpec; + var mac = secretKeySpec; return mac; } } - -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index c7c1e32..3abb5b9 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -1,27 +1,20 @@ using System; using System.Collections.Generic; -using System.Web; -using Newtonsoft.Json; -using pili_sdk_csharp.pili; using System.IO; using System.Net; -using pili_sdk_csharp.pili_common; +using System.Text; +using System.Web; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using System.Data; +using pili_sdk_csharp.pili_common; using pili_sdk_csharp.pili_qiniu; -using SaveAsResponse = pili_sdk_csharp.pili.Stream.SaveAsResponse; -using SegmentList = pili_sdk_csharp.pili.Stream.SegmentList; -using SnapshotResponse = pili_sdk_csharp.pili.Stream.SnapshotResponse; -using Status = pili_sdk_csharp.pili.Stream.Status; -using StreamList = pili_sdk_csharp.pili.Stream.StreamList; namespace pili_sdk_csharp.pili { - - public class API { - private static readonly string API_BASE_URL = string.Format("{0}://{1}/{2}", Configuration.Instance.USE_HTTPS ? "https" : "http", Configuration.Instance.API_HOST, Configuration.Instance.API_VERSION); + private static readonly string API_BASE_URL = string.Format("{0}://{1}/{2}", Configuration.Instance.USE_HTTPS ? "https" : "http", Configuration.Instance.API_HOST, + Configuration.Instance.API_VERSION); private static HttpWebRequest mOkHttpClient; @@ -29,10 +22,10 @@ public class API public static Stream createStream(Credentials credentials, string hubName, string title, string publishKey, string publishSecurity) { // System.out.println("createStream:" + API_BASE_URL); - string urlStr = API_BASE_URL + "/streams"; + var urlStr = API_BASE_URL + "/streams"; Console.WriteLine("API_BASE_URL---------" + API_BASE_URL); - Dictionary json = new Dictionary(); + var json = new Dictionary(); json.Add("hub", hubName); if (Utils.isArgNotEmpty(title)) { @@ -53,23 +46,22 @@ public static Stream createStream(Credentials credentials, string hubName, strin HttpWebResponse response = null; try { - Uri url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); - string contentType = "application/json"; + var url = new Uri(urlStr); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var contentType = "application/json"; mOkHttpClient.Method = WebRequestMethods.Http.Post; - string jsonobj = JsonConvert.SerializeObject(json); - byte[] body = jsonobj.ToString().GetBytes(Config.UTF8); - string macToken = credentials.signRequest(url, "POST", body, contentType); + var jsonobj = JsonConvert.SerializeObject(json); + var body = jsonobj.GetBytes(Config.UTF8); + var macToken = credentials.signRequest(url, "POST", body, contentType); mOkHttpClient.ContentType = contentType; mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); mOkHttpClient.ContentLength = body.Length; - using (System.IO.Stream requestStream = mOkHttpClient.GetRequestStream()) + using (var requestStream = mOkHttpClient.GetRequestStream()) { Utils.CopyN(requestStream, new MemoryStream(body), body.Length); } response = (HttpWebResponse)mOkHttpClient.GetResponse(); - } catch (Exception e) @@ -84,9 +76,9 @@ public static Stream createStream(Credentials credentials, string hubName, strin { try { - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); return new Stream(jsonObj, credentials); } catch (IOException e) @@ -96,10 +88,7 @@ public static Stream createStream(Credentials credentials, string hubName, strin throw new PiliException(e); } } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } // Get an exist stream @@ -109,18 +98,17 @@ public static Stream getStream(Credentials credentials, string streamId) { throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); } - string urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); + var urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); HttpWebResponse response = null; try { - Uri url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); + var url = new Uri(urlStr); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); mOkHttpClient.Method = WebRequestMethods.Http.Get; - string macToken = credentials.signRequest(url, "GET", null, null); + var macToken = credentials.signRequest(url, "GET", null, null); mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); response = (HttpWebResponse)mOkHttpClient.GetResponse(); - } catch (Exception e) { @@ -133,9 +121,9 @@ public static Stream getStream(Credentials credentials, string streamId) { try { - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); return new Stream(jsonObj, credentials); } catch (IOException e) @@ -145,23 +133,20 @@ public static Stream getStream(Credentials credentials, string streamId) throw new PiliException(e); } } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } // List stream - public static StreamList listStreams(Credentials credentials, string hubName, string startMarker, long limitCount, string titlePrefix) + public static Stream.StreamList listStreams(Credentials credentials, string hubName, string startMarker, long limitCount, string titlePrefix) { try { - System.Text.Encoding encoding = System.Text.Encoding.UTF8; + var encoding = Encoding.UTF8; - hubName = System.Web.HttpUtility.UrlEncode(hubName); + hubName = HttpUtility.UrlEncode(hubName); if (Utils.isArgNotEmpty(startMarker)) { - startMarker = System.Web.HttpUtility.UrlEncode(startMarker); + startMarker = HttpUtility.UrlEncode(startMarker); } } catch (Exception e) @@ -170,7 +155,7 @@ public static StreamList listStreams(Credentials credentials, string hubName, st Console.Write(e.StackTrace); throw new PiliException(e); } - string urlStr = string.Format("{0}/streams?hub={1}", API_BASE_URL, hubName); + var urlStr = string.Format("{0}/streams?hub={1}", API_BASE_URL, hubName); if (Utils.isArgNotEmpty(startMarker)) { urlStr += "&marker=" + startMarker; @@ -186,9 +171,9 @@ public static StreamList listStreams(Credentials credentials, string hubName, st HttpWebResponse response = null; try { - Uri url = new Uri(urlStr); - string macToken = credentials.signRequest(url, "GET", null, null); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); + var url = new Uri(urlStr); + var macToken = credentials.signRequest(url, "GET", null, null); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); mOkHttpClient.Method = WebRequestMethods.Http.Get; mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); @@ -206,10 +191,10 @@ public static StreamList listStreams(Credentials credentials, string hubName, st { try { - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); - return new StreamList(jsonObj, credentials); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); + return new Stream.StreamList(jsonObj, credentials); } catch (IOException e) { @@ -218,26 +203,23 @@ public static StreamList listStreams(Credentials credentials, string hubName, st throw new PiliException(e); } } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } // get stream status - public static Status getStreamStatus(Credentials credentials, string streamId) + public static Stream.Status getStreamStatus(Credentials credentials, string streamId) { if (streamId == null) { throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); } - string urlStr = string.Format("{0}/streams/{1}/status", API_BASE_URL, streamId); + var urlStr = string.Format("{0}/streams/{1}/status", API_BASE_URL, streamId); HttpWebResponse response = null; try { - Uri url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); - string macToken = credentials.signRequest(url, "GET", null, null); + var url = new Uri(urlStr); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var macToken = credentials.signRequest(url, "GET", null, null); mOkHttpClient.Method = WebRequestMethods.Http.Get; mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); @@ -254,10 +236,10 @@ public static Status getStreamStatus(Credentials credentials, string streamId) { try { - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); - return new Status(jsonObj); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); + return new Stream.Status(jsonObj); } catch (IOException e) { @@ -266,16 +248,13 @@ public static Status getStreamStatus(Credentials credentials, string streamId) throw new PiliException(e); } } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } // Update an exist stream public static Stream updateStream(Credentials credentials, string streamId, string publishKey, string publishSecurity, bool disabled) { - JObject json = new JObject(); + var json = new JObject(); if (streamId == null) { @@ -287,28 +266,27 @@ public static Stream updateStream(Credentials credentials, string streamId, stri } if (Utils.isArgNotEmpty(publishSecurity)) { - json.Add("publishSecurity", publishSecurity); } json.Add("disabled", disabled); - string urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); + var urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); HttpWebResponse response = null; try { - Uri url = new Uri(urlStr); - string jsonobj = JsonConvert.SerializeObject(json); - byte[] body = jsonobj.ToString().GetBytes(Config.UTF8); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); - string contentType = "application/json"; - string macToken = credentials.signRequest(url, "POST", body, contentType); + var url = new Uri(urlStr); + var jsonobj = JsonConvert.SerializeObject(json); + var body = jsonobj.GetBytes(Config.UTF8); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var contentType = "application/json"; + var macToken = credentials.signRequest(url, "POST", body, contentType); mOkHttpClient.Method = WebRequestMethods.Http.Post; mOkHttpClient.ContentType = contentType; mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); mOkHttpClient.ContentLength = body.Length; - using (System.IO.Stream requestStream = mOkHttpClient.GetRequestStream()) + using (var requestStream = mOkHttpClient.GetRequestStream()) { Utils.CopyN(requestStream, new MemoryStream(body), body.Length); } @@ -327,10 +305,9 @@ public static Stream updateStream(Credentials credentials, string streamId, stri { try { - - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); return new Stream(jsonObj, credentials); } catch (IOException e) @@ -340,10 +317,7 @@ public static Stream updateStream(Credentials credentials, string streamId, stri throw new PiliException(e); } } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } // Delete stream @@ -354,13 +328,13 @@ public static string deleteStream(Credentials credentials, string streamId) throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); } - string urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); + var urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); HttpWebResponse response = null; try { - Uri url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); - string macToken = credentials.signRequest(url, "DELETE", null, null); + var url = new Uri(urlStr); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var macToken = credentials.signRequest(url, "DELETE", null, null); mOkHttpClient.Method = "DELETE"; mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); @@ -375,19 +349,17 @@ public static string deleteStream(Credentials credentials, string streamId) } // response never be null - if ((int)response.StatusCode/100 == 2) + if ((int)response.StatusCode / 100 == 2) { - string text = "No Content"; + var text = "No Content"; return text; } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } - public static SaveAsResponse saveAs(Credentials credentials, string streamId, string fileName, string format, long start, long end, string notifyUrl,string pipleline) + public static Stream.SaveAsResponse saveAs(Credentials credentials, string streamId, string fileName, string format, long start, long end, string notifyUrl, + string pipleline) { if (streamId == null) { @@ -406,9 +378,9 @@ public static SaveAsResponse saveAs(Credentials credentials, string streamId, st } - string urlStr = string.Format("{0}/streams/{1}/saveas", API_BASE_URL, streamId); + var urlStr = string.Format("{0}/streams/{1}/saveas", API_BASE_URL, streamId); HttpWebResponse response = null; - JObject json = new JObject(); + var json = new JObject(); json.Add("name", fileName); if (Utils.isArgNotEmpty(notifyUrl)) { @@ -423,25 +395,25 @@ public static SaveAsResponse saveAs(Credentials credentials, string streamId, st json.Add("end", end); } json.Add("format", format); - if (pipleline!=""){ - + if (pipleline != "") + { json.Add("pipleline", pipleline); } - + try { - Uri url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); - string contentType = "application/json"; - byte[] body = json.ToString().GetBytes(Config.UTF8); - string macToken = credentials.signRequest(url, "POST", body, contentType); + var url = new Uri(urlStr); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var contentType = "application/json"; + var body = json.ToString().GetBytes(Config.UTF8); + var macToken = credentials.signRequest(url, "POST", body, contentType); mOkHttpClient.Method = WebRequestMethods.Http.Post; mOkHttpClient.ContentType = contentType; mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); mOkHttpClient.ContentLength = body.Length; - using (System.IO.Stream requestStream = mOkHttpClient.GetRequestStream()) + using (var requestStream = mOkHttpClient.GetRequestStream()) { Utils.CopyN(requestStream, new MemoryStream(body), body.Length); } @@ -458,10 +430,10 @@ public static SaveAsResponse saveAs(Credentials credentials, string streamId, st { try { - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); - return new SaveAsResponse(jsonObj); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); + return new Stream.SaveAsResponse(jsonObj); } catch (IOException e) { @@ -470,13 +442,10 @@ public static SaveAsResponse saveAs(Credentials credentials, string streamId, st throw new PiliException(e); } } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } - public static SnapshotResponse snapshot(Credentials credentials, string streamId, string fileName, string format, long time, string notifyUrl) + public static Stream.SnapshotResponse snapshot(Credentials credentials, string streamId, string fileName, string format, long time, string notifyUrl) { if (streamId == null) { @@ -493,9 +462,9 @@ public static SnapshotResponse snapshot(Credentials credentials, string streamId throw new PiliException(MessageConfig.ILLEGAL_FORMAT_EXCEPTION_MSG); } - string urlStr = string.Format("{0}/streams/{1}/snapshot", API_BASE_URL, streamId); + var urlStr = string.Format("{0}/streams/{1}/snapshot", API_BASE_URL, streamId); HttpWebResponse response = null; - JObject json = new JObject(); + var json = new JObject(); json.Add("name", fileName); json.Add("format", format); if (time > 0) @@ -504,22 +473,22 @@ public static SnapshotResponse snapshot(Credentials credentials, string streamId } if (Utils.isArgNotEmpty(notifyUrl)) { - json.Add("notifyUrl", notifyUrl);// optional + json.Add("notifyUrl", notifyUrl); // optional } try { - Uri url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); - string contentType = "application/json"; - byte[] body = json.ToString().GetBytes(Config.UTF8); - string macToken = credentials.signRequest(url, "POST", body, contentType); + var url = new Uri(urlStr); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var contentType = "application/json"; + var body = json.ToString().GetBytes(Config.UTF8); + var macToken = credentials.signRequest(url, "POST", body, contentType); mOkHttpClient.Method = WebRequestMethods.Http.Post; mOkHttpClient.ContentType = contentType; mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); mOkHttpClient.ContentLength = body.Length; - using (System.IO.Stream requestStream = mOkHttpClient.GetRequestStream()) + using (var requestStream = mOkHttpClient.GetRequestStream()) { Utils.CopyN(requestStream, new MemoryStream(body), body.Length); } @@ -536,11 +505,10 @@ public static SnapshotResponse snapshot(Credentials credentials, string streamId { try { - - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); - return new SnapshotResponse(jsonObj); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); + return new Stream.SnapshotResponse(jsonObj); } catch (IOException e) { @@ -549,20 +517,17 @@ public static SnapshotResponse snapshot(Credentials credentials, string streamId throw new PiliException(e); } } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } // Get recording segments from an exist stream - public static SegmentList getStreamSegments(Credentials credentials, string streamId, long startTime, long endTime, int limitCount) + public static Stream.SegmentList getStreamSegments(Credentials credentials, string streamId, long startTime, long endTime, int limitCount) { if (streamId == null) { throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); } - string urlStr = string.Format("{0}/streams/{1}/segments", API_BASE_URL, streamId); + var urlStr = string.Format("{0}/streams/{1}/segments", API_BASE_URL, streamId); if (startTime > 0 && endTime > 0 && startTime < endTime) { urlStr += "?start=" + startTime + "&end=" + endTime; @@ -574,14 +539,13 @@ public static SegmentList getStreamSegments(Credentials credentials, string stre HttpWebResponse response = null; try { - Uri url = new Uri(urlStr); - string macToken = credentials.signRequest(url, "GET", null, null); - mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url); + var url = new Uri(urlStr); + var macToken = credentials.signRequest(url, "GET", null, null); + mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); mOkHttpClient.Method = WebRequestMethods.Http.Get; mOkHttpClient.UserAgent = Utils.UserAgent; mOkHttpClient.Headers.Add("Authorization", macToken); response = (HttpWebResponse)mOkHttpClient.GetResponse(); - } catch (Exception e) { @@ -595,14 +559,14 @@ public static SegmentList getStreamSegments(Credentials credentials, string stre { try { - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); if (string.IsNullOrEmpty(jsonObj["segments"].ToString())) { throw new PiliException("Segments is null"); } - return new SegmentList(jsonObj); + return new Stream.SegmentList(jsonObj); } catch (IOException e) { @@ -611,10 +575,7 @@ public static SegmentList getStreamSegments(Credentials credentials, string stre throw new PiliException(e); } } - else - { - throw new PiliException(response); - } + throw new PiliException(response); } //Generate a RTMP publish URL @@ -625,15 +586,12 @@ public static string publishUrl(Stream stream, long nonce) { return generateDynamicUrl(stream, nonce, defaultScheme); } - else if ("static".Equals(stream.PublishSecurity)) + if ("static".Equals(stream.PublishSecurity)) { return generateStaticUrl(stream, defaultScheme); } - else - { - // "dynamic" as default - return generateDynamicUrl(stream, nonce, defaultScheme); - } + // "dynamic" as default + return generateDynamicUrl(stream, nonce, defaultScheme); } //Generate RTMP live play URL @@ -641,13 +599,13 @@ public static IDictionary rtmpLiveUrl(Stream stream) { const string defaultScheme = "rtmp"; - string url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveRtmpHost, stream.HubName, stream.Title); + var url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveRtmpHost, stream.HubName, stream.Title); IDictionary dictionary = new Dictionary(); dictionary[Stream.ORIGIN] = url; - string[] profiles = stream.Profiles; + var profiles = stream.Profiles; if (profiles != null) { - foreach (string p in profiles) + foreach (var p in profiles) { dictionary[p] = url + '@' + p; } @@ -658,14 +616,14 @@ public static IDictionary rtmpLiveUrl(Stream stream) //Generate HLS live play URL public static IDictionary hlsLiveUrl(Stream stream) { - const string defaultScheme = "http"; - string url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveHttpHost, stream.HubName, stream.Title); + const string defaultScheme = "http"; + var url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveHttpHost, stream.HubName, stream.Title); IDictionary dictionary = new Dictionary(); dictionary[Stream.ORIGIN] = url + ".m3u8"; - string[] profiles = stream.Profiles; + var profiles = stream.Profiles; if (profiles != null) { - foreach (string p in profiles) + foreach (var p in profiles) { dictionary[p] = url + '@' + p + ".m3u8"; } @@ -675,11 +633,11 @@ public static IDictionary hlsLiveUrl(Stream stream) //Generate HLS playback URL - public static IDictionary hlsPlaybackUrl(Credentials credentials, String streamId, long startTime, long endTime) + public static IDictionary hlsPlaybackUrl(Credentials credentials, string streamId, long startTime, long endTime) { - long saveFile = ((long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds) / 1000; + var saveFile = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds / 1000; - SaveAsResponse response = saveAs(credentials, streamId, saveFile.ToString(), null, startTime, endTime, null,null); + var response = saveAs(credentials, streamId, saveFile.ToString(), null, startTime, endTime, null, null); IDictionary dictionary = new Dictionary(); @@ -689,20 +647,20 @@ public static IDictionary hlsPlaybackUrl(Credentials credentials } return dictionary; } - + public static IDictionary httpFlvLiveUrl(Stream stream) { /* * http://liveHttpFlvHost/hub/title@480p.flv */ const string defaultScheme = "http"; - string url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveHttpHost, stream.HubName, stream.Title); + var url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveHttpHost, stream.HubName, stream.Title); IDictionary dictionary = new Dictionary(); dictionary[Stream.ORIGIN] = url + ".flv"; - string[] profiles = stream.Profiles; + var profiles = stream.Profiles; if (profiles != null) { - foreach (string p in profiles) + foreach (var p in profiles) { dictionary[p] = url + '@' + p + ".flv"; } @@ -722,7 +680,7 @@ private static string generateDynamicUrl(Stream stream, long nonce, string schem nonce = DateTimeHelperClass.CurrentUnixTimeMillis() / 1000; // the unit should be second } - string baseUri = "/" + stream.HubName + "/" + stream.Title + "?nonce=" + nonce; + var baseUri = "/" + stream.HubName + "/" + stream.Title + "?nonce=" + nonce; string publishToken = null; try { @@ -737,5 +695,4 @@ private static string generateDynamicUrl(Stream stream, long nonce, string schem return string.Format("{0}://{1}{2}&token={3}", scheme, stream.PublishRtmpHost, baseUri, publishToken); } } - -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili/Configuration.cs b/pili-sdk-csharp/pili/Configuration.cs index c0ab34a..f521261 100644 --- a/pili-sdk-csharp/pili/Configuration.cs +++ b/pili-sdk-csharp/pili/Configuration.cs @@ -1,31 +1,20 @@ -using Config = pili_sdk_csharp.pili_common.Config; -using Utils = pili_sdk_csharp.pili_common.Utils; - +using System; +using pili_sdk_csharp.pili_common; namespace pili_sdk_csharp.pili { public class Configuration { - private Configuration() - { - } + internal string API_HOST = Config.DEFAULT_API_HOST; + internal string API_VERSION = Config.DEFAULT_API_VERSION; - private class ConfigurationHolder - { - public static readonly Configuration instance = new Configuration(); - } + internal bool USE_HTTPS = Config.DEFAULT_USE_HTTPS; - public static Configuration Instance + private Configuration() { - get - { - return ConfigurationHolder.instance; - } } - internal bool USE_HTTPS = Config.DEFAULT_USE_HTTPS; - internal string API_HOST = Config.DEFAULT_API_HOST; - internal string API_VERSION = Config.DEFAULT_API_VERSION; + public static Configuration Instance => ConfigurationHolder.instance; public virtual string APIHost { @@ -33,7 +22,7 @@ public virtual string APIHost { if (!Utils.isArgNotEmpty(value)) { - throw new System.ArgumentException("Illegal API Host:" + value); + throw new ArgumentException("Illegal API Host:" + value); } API_HOST = value; } @@ -45,7 +34,7 @@ public virtual string APIVersion { if (!Utils.isArgNotEmpty(value)) { - throw new System.ArgumentException("Illegal API Version:" + value); + throw new ArgumentException("Illegal API Version:" + value); } API_VERSION = value; } @@ -55,6 +44,10 @@ public void setHttpsEnabled(bool enabled) { USE_HTTPS = enabled; } - } -} \ No newline at end of file + private class ConfigurationHolder + { + public static readonly Configuration instance = new Configuration(); + } + } +} diff --git a/pili-sdk-csharp/pili/DateTimeHelperClass.cs b/pili-sdk-csharp/pili/DateTimeHelperClass.cs index a1b29aa..161f853 100644 --- a/pili-sdk-csharp/pili/DateTimeHelperClass.cs +++ b/pili-sdk-csharp/pili/DateTimeHelperClass.cs @@ -1,9 +1,11 @@ - +using System; + internal static class DateTimeHelperClass { - private static readonly System.DateTime Jan1st1970 = new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc); + private static readonly DateTime Jan1st1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + internal static long CurrentUnixTimeMillis() { - return (long)(System.DateTime.UtcNow - Jan1st1970).TotalMilliseconds; + return (long)(DateTime.UtcNow - Jan1st1970).TotalMilliseconds; } -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili/Hub.cs b/pili-sdk-csharp/pili/Hub.cs index b9b8532..1fa095b 100644 --- a/pili-sdk-csharp/pili/Hub.cs +++ b/pili-sdk-csharp/pili/Hub.cs @@ -1,25 +1,23 @@ -using StreamList = pili_sdk_csharp.pili.Stream.StreamList; -using Credentials = pili_sdk_csharp.pili_qiniu.Credentials; -using MessageConfig = pili_sdk_csharp.pili_common.MessageConfig; - +using System; +using pili_sdk_csharp.pili_common; +using pili_sdk_csharp.pili_qiniu; namespace pili_sdk_csharp.pili { - public class Hub { + private readonly Credentials mCredentials; + private readonly string mHubName; - private Credentials mCredentials; - private string mHubName; public Hub(Credentials credentials, string hubName) { if (hubName == null) { - throw new System.ArgumentException(MessageConfig.NULL_HUBNAME_EXCEPTION_MSG); + throw new ArgumentException(MessageConfig.NULL_HUBNAME_EXCEPTION_MSG); } if (credentials == null) { - throw new System.ArgumentException(MessageConfig.NULL_CREDENTIALS_EXCEPTION_MSG); + throw new ArgumentException(MessageConfig.NULL_CREDENTIALS_EXCEPTION_MSG); } mCredentials = credentials; mHubName = hubName; @@ -42,23 +40,21 @@ public virtual Stream getStream(string streamId) } - public virtual StreamList listStreams() + public virtual Stream.StreamList listStreams() { return API.listStreams(mCredentials, mHubName, null, 0, null); } - public virtual StreamList listStreams(string marker, long limit) + public virtual Stream.StreamList listStreams(string marker, long limit) { return API.listStreams(mCredentials, mHubName, marker, limit, null); } - public virtual StreamList listStreams(string marker, long limit, string titlePrefix) + public virtual Stream.StreamList listStreams(string marker, long limit, string titlePrefix) { return API.listStreams(mCredentials, mHubName, marker, limit, titlePrefix); } - } - -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili/PiliException.cs b/pili-sdk-csharp/pili/PiliException.cs index 0c4ba46..5de3c3f 100644 --- a/pili-sdk-csharp/pili/PiliException.cs +++ b/pili-sdk-csharp/pili/PiliException.cs @@ -1,18 +1,16 @@ using System; +using System.IO; using System.Net; using Newtonsoft.Json.Linq; using pili_sdk_csharp.pili_common; -using System.IO; + namespace pili_sdk_csharp.pili { - - - public class PiliException : Exception { public readonly HttpWebResponse response; - private string mDetails = null; + private readonly string mDetails; public PiliException(HttpWebResponse response) { @@ -20,10 +18,9 @@ public PiliException(HttpWebResponse response) try { - - StreamReader reader = new StreamReader(response.GetResponseStream()); - string text = reader.ReadToEnd(); - JObject jsonObj = JObject.Parse(text); + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + var jsonObj = JObject.Parse(text); mDetails = Utils.JsonEncode(jsonObj); } @@ -43,29 +40,16 @@ public PiliException(string msg) public PiliException(Exception e) { - this.response = null; + response = null; } - public virtual int code() - { - return response == null ? -1 : (int)response.StatusCode; - } + public override string Message => response == null ? base.Message : response.ToString(); - public override string Message - { - get - { - return response == null ? base.Message : response.ToString(); - } - } + public virtual string Details => mDetails; - public virtual string Details + public virtual int code() { - get - { - return mDetails; - } + return response == null ? -1 : (int)response.StatusCode; } } - -} \ No newline at end of file +} diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index f6a2982..dbc767b 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -1,276 +1,257 @@ using System; using System.Collections.Generic; -using Newtonsoft; -using Credentials = pili_sdk_csharp.pili_qiniu.Credentials; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using System.Data; +using pili_sdk_csharp.pili_qiniu; namespace pili_sdk_csharp.pili { - - public class Stream { public const string ORIGIN = "ORIGIN"; - private string mStreamJsonStr; - private Credentials mCredentials; - private string id; - private string createdAt; // Time ISO 8601 - private string updatedAt; // Time ISO 8601 - private string title; // Length[4-200] - private string hub; - private string publishKey; - private string publishSecurity; // "static" or "dynamic" - private bool disabled; - private string[] profiles = null; - private string publishRtmpHost; - private string liveRtmpHost; - private string playbackHttpHost; - private string liveHlsHost; - private string liveHdlHost; - private string liveHttpHost; - private string playHttpHost; - private string playRtmpHost; - - - - + private readonly string id; + private readonly Credentials mCredentials; + private readonly string mStreamJsonStr; + private readonly string[] profiles; public Stream(JObject jsonObj) { // System.out.println("Stream:" + jsonObj.toString()); id = jsonObj["id"].ToString(); - hub = jsonObj["hub"].ToString(); - createdAt = jsonObj["createdAt"].ToString(); - updatedAt = jsonObj["updatedAt"].ToString(); - title = jsonObj["title"].ToString(); - publishKey = jsonObj["publishKey"].ToString(); - publishSecurity = jsonObj["publishSecurity"].ToString(); - disabled = (bool)jsonObj["disabled"]; + HubName = jsonObj["hub"].ToString(); + CreatedAt = jsonObj["createdAt"].ToString(); + UpdatedAt = jsonObj["updatedAt"].ToString(); + Title = jsonObj["title"].ToString(); + PublishKey = jsonObj["publishKey"].ToString(); + PublishSecurity = jsonObj["publishSecurity"].ToString(); + Disabled = (bool)jsonObj["disabled"]; if (jsonObj["profiles"] != null) { - Console.WriteLine("profiles--------" + jsonObj["profiles"].ToString()); + Console.WriteLine("profiles--------" + jsonObj["profiles"]); profiles = JsonConvert.DeserializeAnonymousType(jsonObj["profiles"].ToString(), profiles); } if (jsonObj["hosts"]["publish"] != null) { - publishRtmpHost = jsonObj["hosts"]["publish"]["rtmp"].ToString(); + PublishRtmpHost = jsonObj["hosts"]["publish"]["rtmp"].ToString(); } if (jsonObj["hosts"]["live"] != null) { - liveRtmpHost = jsonObj["hosts"]["live"]["rtmp"].ToString(); - liveHdlHost = jsonObj["hosts"]["live"]["hdl"].ToString(); - liveHlsHost = jsonObj["hosts"]["live"]["hls"].ToString(); - liveHttpHost = jsonObj["hosts"]["live"]["hls"].ToString(); + LiveRtmpHost = jsonObj["hosts"]["live"]["rtmp"].ToString(); + LiveHdlHost = jsonObj["hosts"]["live"]["hdl"].ToString(); + LiveHlsHost = jsonObj["hosts"]["live"]["hls"].ToString(); + LiveHttpHost = jsonObj["hosts"]["live"]["hls"].ToString(); } if (jsonObj["hosts"]["playback"] != null) { - playbackHttpHost = jsonObj["hosts"]["playback"]["hls"].ToString(); + PlaybackHttpHost = jsonObj["hosts"]["playback"]["hls"].ToString(); } if (jsonObj["hosts"]["play"] != null) { - playHttpHost = jsonObj["hosts"]["play"]["http"].ToString(); - playRtmpHost = jsonObj["hosts"]["play"]["rtmp"].ToString(); - + PlayHttpHost = jsonObj["hosts"]["play"]["http"].ToString(); + PlayRtmpHost = jsonObj["hosts"]["play"]["rtmp"].ToString(); } mStreamJsonStr = jsonObj.ToString(); } - public Stream(JObject jsonObject, Credentials credentials) : this(jsonObject) { mCredentials = credentials; } - public string PlaybackHttpHost + public string PlaybackHttpHost { get; } + + public string PlayRtmpHost { get; } + + public string LiveHdlHost { get; } + + public string PlayHttpHost { get; } + + public string LiveHttpHost { get; } + + + public string LiveHlsHost { get; } + + public virtual string[] Profiles => profiles; + + public virtual string PublishRtmpHost { get; } + + public virtual string LiveRtmpHost { get; } + + public virtual string StreamId => id; + + public virtual string HubName { get; } + + public virtual string CreatedAt { get; } + + public virtual string UpdatedAt { get; } + + public virtual string Title { get; } + + public virtual string PublishKey { get; } + + public virtual string PublishSecurity { get; } + + public virtual bool Disabled { get; } + + + public virtual Stream update(string publishKey, string publishSecrity, bool disabled) { - get { return playbackHttpHost; } + return API.updateStream(mCredentials, id, publishKey, publishSecrity, disabled); } - public string PlayRtmpHost + + public virtual SegmentList segments() { - get { return playRtmpHost; } + return API.getStreamSegments(mCredentials, id, 0, 0, 0); } - public string LiveHdlHost + + public virtual SegmentList segments(long start, long end) { - get { return liveHdlHost; } + return API.getStreamSegments(mCredentials, id, start, end, 0); + } + + public virtual SegmentList segments(long start, long end, int limit) + { + return API.getStreamSegments(mCredentials, id, start, end, limit); } - public string PlayHttpHost + + public virtual Status status() { - get { return playHttpHost; } + return API.getStreamStatus(mCredentials, id); } - public string LiveHttpHost + + + public virtual string rtmpPublishUrl() { - get { return liveHttpHost; } + return API.publishUrl(this, 0); } + public virtual IDictionary rtmpLiveUrls() + { + return API.rtmpLiveUrl(this); + } - public string LiveHlsHost + public virtual IDictionary hlsLiveUrls() { - get { return liveHlsHost; } + return API.hlsLiveUrl(this); + } + public virtual IDictionary hlsPlaybackUrls(long start, long end) + { + return API.hlsPlaybackUrl(mCredentials, id, start, end); } - public virtual string[] Profiles + + public virtual IDictionary httpFlvLiveUrls() { - get - { - return profiles; - } + return API.httpFlvLiveUrl(this); } - public virtual string PublishRtmpHost + + + public virtual string delete() { - get - { - return publishRtmpHost; - } + return API.deleteStream(mCredentials, id); } - public virtual string LiveRtmpHost + + public virtual string toJsonString() { - get - { - return liveRtmpHost; - } + return mStreamJsonStr; } - public virtual string StreamId + + public virtual SaveAsResponse saveAs(string fileName, string format, long startTime, long endTime, string notifyUrl, string pipleline) { - get - { - return id; - } + return API.saveAs(mCredentials, id, fileName, format, startTime, endTime, notifyUrl, pipleline); + } + + public virtual SaveAsResponse saveAs(string fileName, string format, long startTime, long endTime) + { + return saveAs(fileName, format, startTime, endTime, null, null); } - public virtual string HubName + + public virtual SaveAsResponse saveAs(string fileName, string format, string notifyUrl, string pipleline) { - get - { - return hub; - } + return saveAs(fileName, format, 0, 0, notifyUrl, pipleline); } - public virtual string CreatedAt + + public virtual SaveAsResponse saveAs(string fileName, string format) { - get - { - return createdAt; - } + return saveAs(fileName, format, 0, 0, null, null); } - public virtual string UpdatedAt + + public virtual SnapshotResponse snapshot(string name, string format) { - get - { - return updatedAt; - } + return API.snapshot(mCredentials, id, name, format, 0, null); } - public virtual string Title + + public virtual SnapshotResponse snapshot(string name, string format, string notifyUrl) { - get - { - return title; - } + return API.snapshot(mCredentials, id, name, format, 0, notifyUrl); } - public virtual string PublishKey + + public virtual SnapshotResponse snapshot(string name, string format, long time, string notifyUrl) { - get - { - return publishKey; - } + return API.snapshot(mCredentials, id, name, format, time, notifyUrl); } - public virtual string PublishSecurity + + + public virtual Stream enable() { - get - { - return publishSecurity; - } + return API.updateStream(mCredentials, id, null, null, false); } - public virtual bool Disabled + + public virtual Stream disable() { - get - { - return disabled; - } + return API.updateStream(mCredentials, id, null, null, true); } public class Segment { - private long start; - private long end; - public Segment(long start, long end) { - this.start = start; - this.end = end; - } - public virtual long Start - { - get - { - return start; - } - } - public virtual long End - { - get - { - return end; - } + Start = start; + End = end; } + + public virtual long Start { get; } + + public virtual long End { get; } } public class SaveAsResponse { - private string url; - private string targetUrl; - private string persistentId; - private string mJsonString; + private readonly string mJsonString; public SaveAsResponse(JObject jsonObj) { - url = jsonObj["url"].ToString(); + Url = jsonObj["url"].ToString(); try { - targetUrl = jsonObj["targetUrl"].ToString(); + TargetUrl = jsonObj["targetUrl"].ToString(); // - } - catch (System.NullReferenceException) + catch (NullReferenceException) { // do nothing. ignore. } - persistentId = jsonObj["persistentId"].ToString(); + PersistentId = jsonObj["persistentId"].ToString(); mJsonString = jsonObj.ToString(); } - public virtual string Url - { - get - { - return url; - } - } - public virtual string TargetUrl - { - get - { - return targetUrl; - } - } - public virtual string PersistentId - { - get - { - return persistentId; - } - } + public virtual string Url { get; } + + public virtual string TargetUrl { get; } + + public virtual string PersistentId { get; } public override string ToString() { @@ -280,30 +261,18 @@ public override string ToString() public class SnapshotResponse { - private string targetUrl; - private string persistentId; - private string mJsonString; + private readonly string mJsonString; + public SnapshotResponse(JObject jsonObj) { - targetUrl = jsonObj["targetUrl"].ToString(); - persistentId = jsonObj.GetValue("persistentId") == null ? null : jsonObj["persistentId"].ToString(); + TargetUrl = jsonObj["targetUrl"].ToString(); + PersistentId = jsonObj.GetValue("persistentId") == null ? null : jsonObj["persistentId"].ToString(); mJsonString = jsonObj.ToString(); } - public virtual string TargetUrl - { - get - { - return targetUrl; - } - } - public virtual string PersistentId - { - get - { - return persistentId; - } - } + public virtual string TargetUrl { get; } + + public virtual string PersistentId { get; } public override string ToString() { @@ -313,56 +282,34 @@ public override string ToString() public class FramesPerSecond { - private float audio; - private float video; - private float data; public FramesPerSecond(float audio, float video, float data) { - this.audio = audio; - this.video = video; - this.data = data; + Audio = audio; + Video = video; + Data = data; } - public virtual float Audio - { - get - { - return audio; - } - } - public virtual float Video - { - get - { - return video; - } - } - public virtual float Data - { - get - { - return data; - } - } + public virtual float Audio { get; } + + public virtual float Video { get; } + + public virtual float Data { get; } } public class SegmentList { - private IList segmentList; - + private readonly IList segmentList; public SegmentList(JObject jsonObj) { segmentList = new List(); - JArray jlist = JArray.Parse(jsonObj["segments"].ToString()); - for (int i = 0; i < jlist.Count; ++i) + var jlist = JArray.Parse(jsonObj["segments"].ToString()); + for (var i = 0; i < jlist.Count; ++i) { - JObject tempo = JObject.Parse(jlist[i].ToString()); + var tempo = JObject.Parse(jlist[i].ToString()); segmentList.Add(new Segment((long)tempo["start"], (long)tempo["end"])); } - - } public virtual IList getSegmentList() @@ -373,67 +320,43 @@ public virtual IList getSegmentList() public class Status { - private string addr; - private string status; - private float bytesPerSecond; - private FramesPerSecond framesPerSecond; - private string startFrom; - private string mJsonString; + private readonly string mJsonString; + private readonly string status; + public Status(JObject jsonObj) { - - addr = jsonObj["addr"].ToString(); + Addr = jsonObj["addr"].ToString(); status = jsonObj["status"].ToString(); - DateTime startFrominit = (DateTime)jsonObj["startFrom"]; - startFrom = startFrominit.ToString("yyyy-MM-ddTHH:mm:ssZ"); + var startFrominit = (DateTime)jsonObj["startFrom"]; + StartFrom = startFrominit.ToString("yyyy-MM-ddTHH:mm:ssZ"); try { - bytesPerSecond = (float)jsonObj["bytesPerSecond"]; - float audio = (float)jsonObj["framesPerSecond"]["audio"]; - float video = (float)jsonObj["framesPerSecond"]["video"]; - float data = (float)jsonObj["framesPerSecond"]["data"]; - framesPerSecond = new FramesPerSecond(audio, video, data); + BytesPerSecond = (float)jsonObj["bytesPerSecond"]; + var audio = (float)jsonObj["framesPerSecond"]["audio"]; + var video = (float)jsonObj["framesPerSecond"]["video"]; + var data = (float)jsonObj["framesPerSecond"]["data"]; + FramesPerSecond = new FramesPerSecond(audio, video, data); } - catch (System.NullReferenceException e) + catch (NullReferenceException e) { Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } mJsonString = jsonObj.ToString(); } - public virtual string Addr - { - get - { - return addr; - } - } - public virtual string StartFrom - { - get - { - return startFrom; - } - } + public virtual string Addr { get; } + + public virtual string StartFrom { get; } + + public virtual float BytesPerSecond { get; } + + public virtual FramesPerSecond FramesPerSecond { get; } + public virtual string getStatus() { return status; } - public virtual float BytesPerSecond - { - get - { - return bytesPerSecond; - } - } - public virtual FramesPerSecond FramesPerSecond - { - get - { - return framesPerSecond; - } - } public override string ToString() { @@ -443,157 +366,33 @@ public override string ToString() public class StreamList { - private string marker; - private IList itemList; + private readonly IList itemList; + private readonly string marker; + public StreamList(JObject jsonObj, Credentials auth) { - this.marker = jsonObj["marker"].ToString(); - Console.WriteLine("this.marker-----" + this.marker); + marker = jsonObj["marker"].ToString(); + Console.WriteLine("this.marker-----" + marker); try { - JToken record = jsonObj["items"]; + var record = jsonObj["items"]; itemList = new List(); foreach (JObject jp in record) { itemList.Add(new Stream(JObject.Parse(jp.ToString()), auth)); } - } - catch (System.InvalidCastException e) + catch (InvalidCastException e) { Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } } - public virtual string Marker - { - get - { - return marker; - } - } - public virtual IList Streams - { - get - { - return itemList; - } - } - } - - - public virtual Stream update(string publishKey, string publishSecrity, bool disabled) - { - return API.updateStream(mCredentials, this.id, publishKey, publishSecrity, disabled); - } - + public virtual string Marker => marker; - public virtual SegmentList segments() - { - return API.getStreamSegments(mCredentials, this.id, 0, 0, 0); - } - - - public virtual SegmentList segments(long start, long end) - { - return API.getStreamSegments(mCredentials, this.id, start, end, 0); - } - - - public virtual SegmentList segments(long start, long end, int limit) - { - return API.getStreamSegments(mCredentials, this.id, start, end, limit); - } - - - public virtual Status status() - { - return API.getStreamStatus(mCredentials, this.id); - } - - - public virtual string rtmpPublishUrl() - { - return API.publishUrl(this, 0); - } - public virtual IDictionary rtmpLiveUrls() - { - return API.rtmpLiveUrl(this); - } - public virtual IDictionary hlsLiveUrls() - { - return API.hlsLiveUrl(this); - } - - public virtual IDictionary hlsPlaybackUrls(long start, long end) - { - return API.hlsPlaybackUrl(this.mCredentials, this.id, start, end); - } - - public virtual IDictionary httpFlvLiveUrls() - { - return API.httpFlvLiveUrl(this); - } - - - public virtual string delete() - { - return API.deleteStream(mCredentials, this.id); - } - - public virtual string toJsonString() - { - return mStreamJsonStr; - } - - - public virtual SaveAsResponse saveAs(string fileName, string format, long startTime, long endTime, string notifyUrl,string pipleline) - { - return API.saveAs(mCredentials, this.id, fileName, format, startTime, endTime, notifyUrl,pipleline); - } - - public virtual SaveAsResponse saveAs(string fileName, string format, long startTime, long endTime) - { - return saveAs(fileName, format, startTime, endTime, null,null); - } - - public virtual SaveAsResponse saveAs(string fileName, string format, string notifyUrl,string pipleline) - { - return saveAs(fileName, format, 0, 0, notifyUrl,pipleline); - } - public virtual SaveAsResponse saveAs(string fileName, string format) - { - return saveAs(fileName, format, 0, 0, null,null); - } - - public virtual SnapshotResponse snapshot(string name, string format) - { - return API.snapshot(mCredentials, this.id, name, format, 0, null); - } - - public virtual SnapshotResponse snapshot(string name, string format, string notifyUrl) - { - return API.snapshot(mCredentials, this.id, name, format, 0, notifyUrl); - } - - public virtual SnapshotResponse snapshot(string name, string format, long time, string notifyUrl) - { - return API.snapshot(mCredentials, this.id, name, format, time, notifyUrl); - } - - - public virtual Stream enable() - { - return API.updateStream(mCredentials, this.id, null, null, false); - } - - public virtual Stream disable() - { - return API.updateStream(mCredentials, this.id, null, null, true); + public virtual IList Streams => itemList; } } - - -} \ No newline at end of file +} From 77587456114a51e68231a5068160fe9d4f6e07f4 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Sat, 26 Aug 2017 00:42:13 +0800 Subject: [PATCH 04/24] Improve code style. --- pili-sdk-csharp/example.cs | 92 ++--- pili-sdk-csharp/pili-common/Base64.cs | 275 +++++++-------- pili-sdk-csharp/pili-common/Config.cs | 18 +- pili-sdk-csharp/pili-common/MessageConfig.cs | 16 +- pili-sdk-csharp/pili-common/UrlSafeBase64.cs | 12 +- pili-sdk-csharp/pili-common/Utils.cs | 20 +- pili-sdk-csharp/pili-qiniu/Credentials.cs | 44 ++- pili-sdk-csharp/pili/API.cs | 337 ++++++++++--------- pili-sdk-csharp/pili/Configuration.cs | 22 +- pili-sdk-csharp/pili/DateTimeHelperClass.cs | 4 +- pili-sdk-csharp/pili/Hub.cs | 40 +-- pili-sdk-csharp/pili/PiliException.cs | 23 +- pili-sdk-csharp/pili/Stream.cs | 158 ++++----- 13 files changed, 513 insertions(+), 548 deletions(-) diff --git a/pili-sdk-csharp/example.cs b/pili-sdk-csharp/example.cs index ec517c7..289c576 100644 --- a/pili-sdk-csharp/example.cs +++ b/pili-sdk-csharp/example.cs @@ -5,15 +5,15 @@ namespace pili_sdk_csharp { - internal class example + internal class Example { // Replace with your keys here - private const string ACCESS_KEY = ""; + private const string AccessKey = ""; - private const string SECRET_KEY = ""; + private const string SecretKey = ""; // Replace with your hub name - private const string HUB_NAME = ""; + private const string HubName = ""; // Change API host as necessary // @@ -25,23 +25,23 @@ internal class example // } private static void Main(string[] args) { - testCreatStream(); + TestCreatStream(); //测试推流后才能执行操作的函数,需要填写生成的流的id。 // testTuiStream("z1.liuhanlin.561f62c5fb16df53010003ed"); Console.ReadKey(); } - public static void testStream(string streamid) + public static void TestStream(string streamid) { Stream stream = null; - var credentials = new Credentials(ACCESS_KEY, SECRET_KEY); // Credentials Object - var hub = new Hub(credentials, HUB_NAME); + var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object + var hub = new Hub(credentials, HubName); //get a stream try { - stream = hub.getStream(streamid); + stream = hub.GetStream(streamid); Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.toJsonString()); + Console.WriteLine(stream.ToJsonString()); /* { "id": "z1.liuhanlin.562f2b35d409d2aa48001102", @@ -86,10 +86,10 @@ public static void testStream(string streamid) long start = 0; // optional, in second, unix timestamp long end = 0; // optional, in second, unix timestamp var limit = 0; // optional, int - var segmentList = stream.segments(start, end, limit); + var segmentList = stream.Segments(start, end, limit); Console.WriteLine("Stream segments()"); - foreach (var segment in segmentList.getSegmentList()) + foreach (var segment in segmentList.GetSegmentList()) { Console.WriteLine("start:" + segment.Start + ",end:" + segment.End); } @@ -112,7 +112,7 @@ public static void testStream(string streamid) try { - var response = stream.snapshot(name, format, time, notifyUrl); + var response = stream.Snapshot(name, format, time, notifyUrl); Console.WriteLine("Stream snapshot()"); Console.WriteLine(response.ToString()); /* @@ -138,7 +138,7 @@ public static void testStream(string streamid) string pipleline = null; try { - var response = stream.saveAs(saveAsName, saveAsFormat, saveAsStart, saveAsEnd, saveAsNotifyUrl, pipleline); + var response = stream.SaveAs(saveAsName, saveAsFormat, saveAsStart, saveAsEnd, saveAsNotifyUrl, pipleline); Console.WriteLine("Stream saveAs()"); Console.WriteLine(response.ToString()); /* @@ -159,7 +159,7 @@ public static void testStream(string streamid) // Delete a Stream try { - var res = stream.delete(); + var res = stream.Delete(); Console.WriteLine("Stream delete()"); Console.WriteLine(res); // No Content @@ -176,9 +176,9 @@ public static void testStream(string streamid) //get a stream try { - stream = hub.getStream(streamid); + stream = hub.GetStream(streamid); Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.toJsonString()); + Console.WriteLine(stream.ToJsonString()); /* { "id": "z1.liuhanlin.562f2b35d409d2aa48001102", @@ -219,15 +219,15 @@ public static void testStream(string streamid) } } - public static void testCreatStream() + public static void TestCreatStream() { ////////////////////////////////////////////////////////////////////////////////////////// // Hub begin ////////////////////////////////////////////////////////////////////////////////////////// // Instantiate an Hub object - var credentials = new Credentials(ACCESS_KEY, SECRET_KEY); // Credentials Object - var hub = new Hub(credentials, HUB_NAME); + var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object + var hub = new Hub(credentials, HubName); Console.WriteLine(hub.ToString()); // Create a new Stream @@ -237,9 +237,9 @@ public static void testCreatStream() Stream stream = null; try { - stream = hub.createStream(title, publishKey, publishSecurity); + stream = hub.CreateStream(title, publishKey, publishSecurity); Trace.WriteLine("hub.createStream:"); - Console.WriteLine(stream.toJsonString()); + Console.WriteLine(stream.ToJsonString()); /* { "id":"z1.test-hub.55d97350eb6f92638c00000a", @@ -274,9 +274,9 @@ public static void testCreatStream() try { - stream = hub.getStream(stream.StreamId); + stream = hub.GetStream(stream.StreamId); Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.toJsonString()); + Console.WriteLine(stream.ToJsonString()); /* { "id":"z1.test-hub.55d80075e3ba5723280000d2", @@ -315,7 +315,7 @@ public static void testCreatStream() long limit = 0; // optional string titlePrefix = null; // optional - var streamList = hub.listStreams(marker, limit, titlePrefix); + var streamList = hub.ListStreams(marker, limit, titlePrefix); Console.WriteLine("hub.listStreams()"); Console.WriteLine("marker:" + streamList.Marker); var list = streamList.Streams; @@ -342,7 +342,7 @@ stream object ////////////////////////////////////////////////////////////////////////////////////////// // Stream begin ////////////////////////////////////////////////////////////////////////////////////////// - var streamJsonString = stream.toJsonString(); + var streamJsonString = stream.ToJsonString(); Console.WriteLine("Stream toJSONString()"); Console.WriteLine(streamJsonString); @@ -377,9 +377,9 @@ stream object var newDisabled = true; // optional, can be "true" of "false" try { - var newStream = stream.update(newPublishKey, newPublishSecurity, newDisabled); + var newStream = stream.Update(newPublishKey, newPublishSecurity, newDisabled); Console.WriteLine("Stream update()"); - Console.WriteLine(newStream.toJsonString()); + Console.WriteLine(newStream.ToJsonString()); stream = newStream; /* { @@ -416,7 +416,7 @@ stream object // Disable a Stream try { - var disabledStream = stream.disable(); + var disabledStream = stream.Disable(); Console.WriteLine("Stream disable()"); Console.WriteLine(disabledStream.Disabled); /* @@ -433,7 +433,7 @@ stream object // Enable a Stream try { - var enabledStream = stream.enable(); + var enabledStream = stream.Enable(); Console.WriteLine("Stream enable()"); Console.WriteLine(enabledStream.Disabled); /* @@ -447,16 +447,16 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // Get Stream status + // Get Stream CurrentStatus try { - var status = stream.status(); - Console.WriteLine("Stream status()"); + var status = stream.CurrentStatus(); + Console.WriteLine("Stream CurrentStatus()"); Console.WriteLine(status.ToString()); /* { "addr":"222.73.202.226:2572", - "status":"disconnected", + "CurrentStatus":"disconnected", "bytesPerSecond":0, "framesPerSecond":{ "audio":0, @@ -476,7 +476,7 @@ stream object // Generate RTMP publish URL try { - var publishUrl = stream.rtmpPublishUrl(); + var publishUrl = stream.RtmpPublishUrl(); Console.WriteLine("Stream rtmpPublishUrl()"); Console.WriteLine(publishUrl); // rtmp://ey636h.publish.z1.pili.qiniup.com/test-hub/55d810aae3ba5723280000db?nonce=1440223404&token=hIVJje0ZOX9hp7yPIvGBmJ_6Qxo= @@ -488,19 +488,19 @@ stream object Console.Write(e.StackTrace); } // Generate RTMP live play URLs - var originUrl = stream.rtmpLiveUrls()[Stream.ORIGIN]; + var originUrl = stream.RtmpLiveUrls()[Stream.Origin]; Console.WriteLine("Stream rtmpLiveUrls()"); Console.WriteLine(originUrl); // rtmp://ey636h.live1-rtmp.z1.pili.qiniucdn.com/test-hub/55d8113ee3ba5723280000dc // Generate HLS play URLs - var originLiveHlsUrl = stream.hlsLiveUrls()[Stream.ORIGIN]; + var originLiveHlsUrl = stream.HlsLiveUrls()[Stream.Origin]; Console.WriteLine("Stream hlsLiveUrls()"); Console.WriteLine(originLiveHlsUrl); // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.m3u8 // Generate Http-Flv live play URLs - var originLiveFlvUrl = stream.httpFlvLiveUrls()[Stream.ORIGIN]; + var originLiveFlvUrl = stream.HttpFlvLiveUrls()[Stream.Origin]; Console.WriteLine("Stream httpFlvLiveUrls()"); Console.WriteLine(originLiveFlvUrl); // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.flv @@ -511,7 +511,7 @@ stream object long endHlsPlayback = 1440315435; // required, in second, unix timestamp try { - var hlsPlaybackUrl = stream.hlsPlaybackUrls(startHlsPlayback, endHlsPlayback)[Stream.ORIGIN]; + var hlsPlaybackUrl = stream.HlsPlaybackUrls(startHlsPlayback, endHlsPlayback)[Stream.Origin]; Console.WriteLine("Stream hlsPlaybackUrls()"); Console.WriteLine(hlsPlaybackUrl); @@ -525,16 +525,16 @@ stream object } - // Get Stream status + // Get Stream CurrentStatus try { - var status = stream.status(); - Console.WriteLine("Stream status()"); + var status = stream.CurrentStatus(); + Console.WriteLine("Stream CurrentStatus()"); Console.WriteLine(status.ToString()); /* { "addr":"222.73.202.226:2572", - "status":"disconnected", + "CurrentStatus":"disconnected", "bytesPerSecond":0, "framesPerSecond":{ "audio":0, @@ -555,7 +555,7 @@ stream object // Delete a Stream try { - var res = stream.delete(); + var res = stream.Delete(); Console.WriteLine("Stream delete()"); Console.WriteLine(res); // No Content @@ -571,9 +571,9 @@ stream object try { - stream = hub.getStream(stream.StreamId); + stream = hub.GetStream(stream.StreamId); Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.toJsonString()); + Console.WriteLine(stream.ToJsonString()); /* { "id":"z1.test-hub.55d80075e3ba5723280000d2", diff --git a/pili-sdk-csharp/pili-common/Base64.cs b/pili-sdk-csharp/pili-common/Base64.cs index 7a79004..6cba6b4 100644 --- a/pili-sdk-csharp/pili-common/Base64.cs +++ b/pili-sdk-csharp/pili-common/Base64.cs @@ -40,26 +40,26 @@ public sealed class Base64 /// /// Default values for encoder/decoder flags. /// - public const int DEFAULT = 0; + public const int Default = 0; /// /// Encoder flag bit to omit the padding '=' characters at the end /// of the output (if any). /// - public const int NO_PADDING = 1; + public const int NoPadding = 1; /// /// Encoder flag bit to omit all line terminators (i.e., the output /// will be on one long line). /// - public const int NO_WRAP = 2; + public const int NoWrap = 2; /// /// Encoder flag bit to indicate lines should be terminated with a /// CRLF pair instead of just an LF. Has no effect if {@code /// NO_WRAP} is specified as well. /// - public const int CRLF = 4; + public const int Crlf = 4; /// /// Encoder/decoder flag bit to indicate using the "URL and @@ -67,14 +67,14 @@ public sealed class Base64 /// {@code -} and {@code _} are used in place of {@code +} and /// {@code /}. /// - public const int URL_SAFE = 8; + public const int UrlSafe = 8; /// /// Flag to pass to indicate that it /// should not close the output stream it is wrapping when it /// itself is closed. /// - public const int NO_CLOSE = 16; + public const int NoClose = 16; // -------------------------------------------------------- // shared code @@ -105,13 +105,13 @@ private Base64() /// controls certain features of the decoded output. /// Pass {@code DEFAULT} to decode standard Base64. /// - /// + /// /// if the input contains /// incorrect padding /// - public static byte[] decode(string str, int flags) + public static byte[] Decode(string str, int flags) { - return decode(Encoding.UTF8.GetBytes(str), flags); + return Decode(Encoding.UTF8.GetBytes(str), flags); } /// @@ -128,13 +128,13 @@ public static byte[] decode(string str, int flags) /// controls certain features of the decoded output. /// Pass {@code DEFAULT} to decode standard Base64. /// - /// + /// /// if the input contains /// incorrect padding /// - public static byte[] decode(byte[] input, int flags) + public static byte[] Decode(byte[] input, int flags) { - return decode(input, 0, input.Length, flags); + return Decode(input, 0, input.Length, flags); } /// @@ -153,31 +153,31 @@ public static byte[] decode(byte[] input, int flags) /// controls certain features of the decoded output. /// Pass {@code DEFAULT} to decode standard Base64. /// - /// + /// /// if the input contains /// incorrect padding /// - public static byte[] decode(byte[] input, int offset, int len, int flags) + public static byte[] Decode(byte[] input, int offset, int len, int flags) { // Allocate space for the most data the input could represent. // (It could contain less if it contains whitespace, etc.) var decoder = new Decoder(flags, new byte[len * 3 / 4]); - if (!decoder.process(input, offset, len, true)) + if (!decoder.Process(input, offset, len, true)) { throw new ArgumentException("bad base-64"); } // Maybe we got lucky and allocated exactly enough output space. - if (decoder.op == decoder.output.Length) + if (decoder.Op == decoder.Output.Length) { - return decoder.output; + return decoder.Output; } // Need to shorten the array, so allocate a new one of the // right size and copy. - var temp = new byte[decoder.op]; - Array.Copy(decoder.output, 0, temp, 0, decoder.op); + var temp = new byte[decoder.Op]; + Array.Copy(decoder.Output, 0, temp, 0, decoder.Op); return temp; } @@ -191,17 +191,9 @@ public static byte[] decode(byte[] input, int offset, int len, int flags) /// Passing {@code DEFAULT} results in output that /// adheres to RFC 2045. /// - public static string encodeToString(byte[] input, int flags) + public static string EncodeToString(byte[] input, int flags) { - try - { - return StringHelperClass.NewString(encode(input, flags), "US-ASCII"); - } - catch (Exception e) - { - // US-ASCII is guaranteed to be available. - throw e; - } + return StringHelperClass.NewString(Encode(input, flags), "US-ASCII"); } @@ -224,17 +216,9 @@ public static string encodeToString(byte[] input, int flags) /// Passing {@code DEFAULT} results in output that /// adheres to RFC 2045. /// - public static string encodeToString(byte[] input, int offset, int len, int flags) + public static string EncodeToString(byte[] input, int offset, int len, int flags) { - try - { - return StringHelperClass.NewString(encode(input, offset, len, flags), "US-ASCII"); - } - catch (Exception e) - { - // US-ASCII is guaranteed to be available. - throw e; - } + return StringHelperClass.NewString(Encode(input, offset, len, flags), "US-ASCII"); } /// @@ -247,9 +231,9 @@ public static string encodeToString(byte[] input, int offset, int len, int flags /// Passing {@code DEFAULT} results in output that /// adheres to RFC 2045. /// - public static byte[] encode(byte[] input, int flags) + public static byte[] Encode(byte[] input, int flags) { - return encode(input, 0, input.Length, flags); + return Encode(input, 0, input.Length, flags); } /// @@ -267,19 +251,19 @@ public static byte[] encode(byte[] input, int flags) /// Passing {@code DEFAULT} results in output that /// adheres to RFC 2045. /// - public static byte[] encode(byte[] input, int offset, int len, int flags) + public static byte[] Encode(byte[] input, int offset, int len, int flags) { var encoder = new Encoder(flags, null); // Compute the exact length of the array we will produce. - var output_len = len / 3 * 4; + var outputLen = len / 3 * 4; // Account for the tail of the data and the padding bytes, if any. - if (encoder.do_padding) + if (encoder.DoPadding) { if (len % 3 > 0) { - output_len += 4; + outputLen += 4; } } else @@ -289,33 +273,33 @@ public static byte[] encode(byte[] input, int offset, int len, int flags) case 0: break; case 1: - output_len += 2; + outputLen += 2; break; case 2: - output_len += 3; + outputLen += 3; break; } } // Account for the newlines, if any. - if (encoder.do_newline && len > 0) + if (encoder.DoNewline && len > 0) { - output_len += ((len - 1) / (3 * Encoder.LINE_GROUPS) + 1) * (encoder.do_cr ? 2 : 1); + outputLen += ((len - 1) / (3 * Encoder.LineGroups) + 1) * (encoder.DoCr ? 2 : 1); } - encoder.output = new byte[output_len]; - encoder.process(input, offset, len, true); + encoder.Output = new byte[outputLen]; + encoder.Process(input, offset, len, true); - Debug.Assert(encoder.op == output_len); + Debug.Assert(encoder.Op == outputLen); - return encoder.output; + return encoder.Output; } /* package */ internal abstract class Coder { - public int op; - public byte[] output; + public int Op; + public byte[] Output; /// /// Encode/decode another block of input data. this.output is @@ -332,14 +316,14 @@ internal abstract class Coder /// true if the input so far is good; false if some /// error has been detected in the input stream.. /// - public abstract bool process(byte[] input, int offset, int len, bool finish); + public abstract bool Process(byte[] input, int offset, int len, bool finish); /// /// the maximum number of bytes a call to process() /// could produce for the given number of input bytes. This may /// be an overestimate. /// - public abstract int maxOutputSize(int len); + public abstract int MaxOutputSize(int len); } /* package */ @@ -348,7 +332,7 @@ internal class Decoder : Coder /// /// Non-data values in the DECODE arrays. /// - internal const int SKIP = -1; + internal const int Skip = -1; internal const int EQUALS = -2; @@ -356,7 +340,7 @@ internal class Decoder : Coder /// Lookup table for turning bytes into their position in the /// Base64 alphabet. /// - internal static readonly int[] DECODE = + internal static readonly int[] Decode = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, @@ -371,7 +355,7 @@ internal class Decoder : Coder /// Decode lookup table for the "web safe" variant (RFC 3548 /// sec. 4) where - and _ replace + and /. /// - internal static readonly int[] DECODE_WEBSAFE = + internal static readonly int[] DecodeWebsafe = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, @@ -382,7 +366,7 @@ internal class Decoder : Coder -1, -1, -1, -1, -1, -1, -1, -1 }; - internal readonly int[] alphabet; + internal readonly int[] Alphabet; /// /// States 0-3 are reading through the next input tuple. @@ -393,24 +377,24 @@ internal class Decoder : Coder /// State 6 is the error state; an error has been detected /// in the input and no future input can "fix" it. /// - internal int state; // state number (0 to 6) + internal int State; // state number (0 to 6) - internal int value; + internal int Value; public Decoder(int flags, byte[] output) { - this.output = output; + Output = output; - alphabet = (flags & URL_SAFE) == 0 ? DECODE : DECODE_WEBSAFE; - state = 0; - value = 0; + Alphabet = (flags & UrlSafe) == 0 ? Decode : DecodeWebsafe; + State = 0; + Value = 0; } /// /// an overestimate for the number of bytes {@code /// len} bytes could decode to. /// - public override int maxOutputSize(int len) + public override int MaxOutputSize(int len) { return len * 3 / 4 + 10; } @@ -422,9 +406,9 @@ public override int maxOutputSize(int len) /// true if the state machine is still healthy. false if /// bad base-64 data has been detected in the input stream. /// - public override bool process(byte[] input, int offset, int len, bool finish) + public override bool Process(byte[] input, int offset, int len, bool finish) { - if (this.state == 6) + if (State == 6) { return false; } @@ -437,15 +421,15 @@ public override bool process(byte[] input, int offset, int len, bool finish) // the loop. (Even alphabet makes a measurable // difference, which is somewhat surprising to me since // the member variable is final.) - var state = this.state; - var value = this.value; + var state = State; + var value = Value; var op = 0; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final byte[] output = this.output; - var output = this.output; + var output = Output; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final int[] alphabet = this.alphabet; - var alphabet = this.alphabet; + var alphabet = Alphabet; while (p < len) { @@ -495,9 +479,9 @@ public override bool process(byte[] input, int offset, int len, bool finish) value = d; ++state; } - else if (d != SKIP) + else if (d != Skip) { - this.state = 6; + State = 6; return false; } break; @@ -508,9 +492,9 @@ public override bool process(byte[] input, int offset, int len, bool finish) value = (value << 6) | d; ++state; } - else if (d != SKIP) + else if (d != Skip) { - this.state = 6; + State = 6; return false; } break; @@ -528,9 +512,9 @@ public override bool process(byte[] input, int offset, int len, bool finish) output[op++] = (byte)(value >> 4); state = 4; } - else if (d != SKIP) + else if (d != Skip) { - this.state = 6; + State = 6; return false; } break; @@ -555,9 +539,9 @@ public override bool process(byte[] input, int offset, int len, bool finish) op += 2; state = 5; } - else if (d != SKIP) + else if (d != Skip) { - this.state = 6; + State = 6; return false; } break; @@ -567,17 +551,17 @@ public override bool process(byte[] input, int offset, int len, bool finish) { ++state; } - else if (d != SKIP) + else if (d != Skip) { - this.state = 6; + State = 6; return false; } break; case 5: - if (d != SKIP) + if (d != Skip) { - this.state = 6; + State = 6; return false; } break; @@ -588,9 +572,9 @@ public override bool process(byte[] input, int offset, int len, bool finish) { // We're out of input, but a future call could provide // more. - this.state = state; - this.value = value; - this.op = op; + State = state; + Value = value; + Op = op; return true; } @@ -605,7 +589,7 @@ public override bool process(byte[] input, int offset, int len, bool finish) case 1: // Read one extra input byte, which isn't enough to // make another output byte. Illegal. - this.state = 6; + State = 6; return false; case 2: // Read two extra input bytes, enough to emit 1 more @@ -620,7 +604,7 @@ public override bool process(byte[] input, int offset, int len, bool finish) break; case 4: // Read one padding '=' when we expected 2. Illegal. - this.state = 6; + State = 6; return false; case 5: // Read all the padding '='s we expected and no more. @@ -628,8 +612,8 @@ public override bool process(byte[] input, int offset, int len, bool finish) break; } - this.state = state; - this.op = op; + State = state; + Op = op; return true; } } @@ -642,13 +626,13 @@ internal class Encoder : Coder /// a 76-character line length (the maximum allowable according to /// RFC 2045). /// - public const int LINE_GROUPS = 19; + public const int LineGroups = 19; /// /// Lookup table for turning Base64 alphabet positions (6 bits) /// into output bytes. /// - internal static readonly byte[] ENCODE = + internal static readonly byte[] Encode = { (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', (byte)'O', (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', (byte)'a', (byte)'b', (byte)'c', (byte)'d', @@ -661,7 +645,7 @@ internal class Encoder : Coder /// Lookup table for turning Base64 alphabet positions (6 bits) /// into output bytes. /// - internal static readonly byte[] ENCODE_WEBSAFE = + internal static readonly byte[] EncodeWebsafe = { (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', (byte)'O', (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', (byte)'a', (byte)'b', (byte)'c', (byte)'d', @@ -670,52 +654,52 @@ internal class Encoder : Coder (byte)'8', (byte)'9', (byte)'-', (byte)'_' }; - internal readonly byte[] alphabet; - public readonly bool do_cr; - public readonly bool do_newline; - public readonly bool do_padding; - internal readonly byte[] tail; + internal readonly byte[] Alphabet; + public readonly bool DoCr; + public readonly bool DoNewline; + public readonly bool DoPadding; + internal readonly byte[] Tail; - internal int count; + internal int Count; /* package */ - internal int tailLen; + internal int TailLen; public Encoder(int flags, byte[] output) { - this.output = output; + Output = output; - do_padding = (flags & NO_PADDING) == 0; - do_newline = (flags & NO_WRAP) == 0; - do_cr = (flags & CRLF) != 0; - alphabet = (flags & URL_SAFE) == 0 ? ENCODE : ENCODE_WEBSAFE; + DoPadding = (flags & NoPadding) == 0; + DoNewline = (flags & NoWrap) == 0; + DoCr = (flags & Crlf) != 0; + Alphabet = (flags & UrlSafe) == 0 ? Encode : EncodeWebsafe; - tail = new byte[2]; - tailLen = 0; + Tail = new byte[2]; + TailLen = 0; - count = do_newline ? LINE_GROUPS : -1; + Count = DoNewline ? LineGroups : -1; } /// /// an overestimate for the number of bytes {@code /// len} bytes could encode to. /// - public override int maxOutputSize(int len) + public override int MaxOutputSize(int len) { return len * 8 / 5 + 10; } - public override bool process(byte[] input, int offset, int len, bool finish) + public override bool Process(byte[] input, int offset, int len, bool finish) { // Using local variables makes the encoder about 9% faster. //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final byte[] alphabet = this.alphabet; - var alphabet = this.alphabet; + var alphabet = Alphabet; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final byte[] output = this.output; - var output = this.output; + var output = Output; var op = 0; - var count = this.count; + var count = Count; var p = offset; len += offset; @@ -725,7 +709,7 @@ public override bool process(byte[] input, int offset, int len, bool finish) // with any input bytes available now and see if we can empty // the tail. - switch (tailLen) + switch (TailLen) { case 0: // There was no tail. @@ -736,18 +720,17 @@ public override bool process(byte[] input, int offset, int len, bool finish) { // A 1-byte tail with at least 2 bytes of // input available now. - v = ((tail[0] & 0xff) << 16) | ((input[p++] & 0xff) << 8) | (input[p++] & 0xff); - tailLen = 0; + v = ((Tail[0] & 0xff) << 16) | ((input[p++] & 0xff) << 8) | (input[p++] & 0xff); + TailLen = 0; } - ; break; case 2: if (p + 1 <= len) { // A 2-byte tail with at least 1 byte of input. - v = ((tail[0] & 0xff) << 16) | ((tail[1] & 0xff) << 8) | (input[p++] & 0xff); - tailLen = 0; + v = ((Tail[0] & 0xff) << 16) | ((Tail[1] & 0xff) << 8) | (input[p++] & 0xff); + TailLen = 0; } break; } @@ -760,12 +743,12 @@ public override bool process(byte[] input, int offset, int len, bool finish) output[op++] = alphabet[v & 0x3f]; if (--count == 0) { - if (do_cr) + if (DoCr) { output[op++] = (byte)'\r'; } output[op++] = (byte)'\n'; - count = LINE_GROUPS; + count = LineGroups; } } @@ -785,12 +768,12 @@ public override bool process(byte[] input, int offset, int len, bool finish) op += 4; if (--count == 0) { - if (do_cr) + if (DoCr) { output[op++] = (byte)'\r'; } output[op++] = (byte)'\n'; - count = LINE_GROUPS; + count = LineGroups; } } @@ -801,58 +784,58 @@ public override bool process(byte[] input, int offset, int len, bool finish) // remaining in input; there should be at most two bytes // total. - if (p - tailLen == len - 1) + if (p - TailLen == len - 1) { var t = 0; - v = ((tailLen > 0 ? tail[t++] : input[p++]) & 0xff) << 4; - tailLen -= t; + v = ((TailLen > 0 ? Tail[t++] : input[p++]) & 0xff) << 4; + TailLen -= t; output[op++] = alphabet[(v >> 6) & 0x3f]; output[op++] = alphabet[v & 0x3f]; - if (do_padding) + if (DoPadding) { output[op++] = (byte)'='; output[op++] = (byte)'='; } - if (do_newline) + if (DoNewline) { - if (do_cr) + if (DoCr) { output[op++] = (byte)'\r'; } output[op++] = (byte)'\n'; } } - else if (p - tailLen == len - 2) + else if (p - TailLen == len - 2) { var t = 0; - v = (((tailLen > 1 ? tail[t++] : input[p++]) & 0xff) << 10) | (((tailLen > 0 ? tail[t++] : input[p++]) & 0xff) << 2); - tailLen -= t; + v = (((TailLen > 1 ? Tail[t++] : input[p++]) & 0xff) << 10) | (((TailLen > 0 ? Tail[t++] : input[p++]) & 0xff) << 2); + TailLen -= t; output[op++] = alphabet[(v >> 12) & 0x3f]; output[op++] = alphabet[(v >> 6) & 0x3f]; output[op++] = alphabet[v & 0x3f]; - if (do_padding) + if (DoPadding) { output[op++] = (byte)'='; } - if (do_newline) + if (DoNewline) { - if (do_cr) + if (DoCr) { output[op++] = (byte)'\r'; } output[op++] = (byte)'\n'; } } - else if (do_newline && op > 0 && count != LINE_GROUPS) + else if (DoNewline && op > 0 && count != LineGroups) { - if (do_cr) + if (DoCr) { output[op++] = (byte)'\r'; } output[op++] = (byte)'\n'; } - Debug.Assert(tailLen == 0); + Debug.Assert(TailLen == 0); Debug.Assert(p == len); } else @@ -862,17 +845,17 @@ public override bool process(byte[] input, int offset, int len, bool finish) if (p == len - 1) { - tail[tailLen++] = input[p]; + Tail[TailLen++] = input[p]; } else if (p == len - 2) { - tail[tailLen++] = input[p]; - tail[tailLen++] = input[p + 1]; + Tail[TailLen++] = input[p]; + Tail[TailLen++] = input[p + 1]; } } - this.op = op; - this.count = count; + Op = op; + Count = count; return true; } diff --git a/pili-sdk-csharp/pili-common/Config.cs b/pili-sdk-csharp/pili-common/Config.cs index 8d6d007..1c395f3 100644 --- a/pili-sdk-csharp/pili-common/Config.cs +++ b/pili-sdk-csharp/pili-common/Config.cs @@ -4,21 +4,21 @@ namespace pili_sdk_csharp.pili_common { public class Config { - public const string SDK_VERSION = "1.5.0"; + public const string SdkVersion = "1.5.0"; - public const string USER_AGENT = "pili-sdk-csharp"; + public const string UserAgent = "pili-sdk-csharp"; - public const string UTF8 = "UTF-8"; + public const string Utf8 = "UTF-8"; - public const string DEFAULT_API_VERSION = "v1"; + public const string DefaultAPIVersion = "v1"; [Obsolete] - public const string API_VERSION = DEFAULT_API_VERSION; + public const string APIVersion = DefaultAPIVersion; - public const string DEFAULT_API_HOST = "pili.qiniuapi.com"; - public const bool DEFAULT_USE_HTTPS = false; + public const string DefaultAPIHost = "pili.qiniuapi.com"; + public const bool DefaultUseHttps = false; - public const int TITLE_MIN_LENGTH = 5; - public const int TITLE_MAX_LENGTH = 200; + public const int TitleMinLength = 5; + public const int TitleMaxLength = 200; } } diff --git a/pili-sdk-csharp/pili-common/MessageConfig.cs b/pili-sdk-csharp/pili-common/MessageConfig.cs index 016040f..c40067e 100644 --- a/pili-sdk-csharp/pili-common/MessageConfig.cs +++ b/pili-sdk-csharp/pili-common/MessageConfig.cs @@ -2,13 +2,13 @@ { public class MessageConfig { - public const string NULL_STREAM_ID_EXCEPTION_MSG = "FATAL EXCEPTION: streamId is null!"; - public const string NULL_HUBNAME_EXCEPTION_MSG = "FATAL EXCEPTION: hubName is null!"; - public const string NULL_CREDENTIALS_EXCEPTION_MSG = "FATAL EXCEPTION: credentials is null!"; - public const string ILLEGAL_RTMP_PUBLISH_URL_MSG = "Illegal rtmp publish url!"; - public const string ILLEGAL_TIME_MSG = "Illegal startTime or endTime!"; - public const string ILLEGAL_FILE_NAME_EXCEPTION_MSG = "Illegal file name !"; - public const string ILLEGAL_FORMAT_EXCEPTION_MSG = "Illegal format !"; - public static readonly string ILLEGAL_TITLE_MSG = "The length of title should be at least:" + Config.TITLE_MIN_LENGTH + ",or at most:" + Config.TITLE_MAX_LENGTH; + public const string NullStreamIdExceptionMsg = "FATAL EXCEPTION: streamId is null!"; + public const string NullHubnameExceptionMsg = "FATAL EXCEPTION: hubName is null!"; + public const string NullCredentialsExceptionMsg = "FATAL EXCEPTION: credentials is null!"; + public const string IllegalRtmpPublishUrlMsg = "Illegal rtmp publish url!"; + public const string IllegalTimeMsg = "Illegal startTime or endTime!"; + public const string IllegalFileNameExceptionMsg = "Illegal file name !"; + public const string IllegalFormatExceptionMsg = "Illegal format !"; + public static readonly string IllegalTitleMsg = "The length of title should be at least:" + Config.TitleMinLength + ",or at most:" + Config.TitleMaxLength; } } diff --git a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs index 820b203..7cc0577 100644 --- a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs +++ b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs @@ -4,11 +4,11 @@ namespace pili_sdk_csharp.pili_common { public class UrlSafeBase64 { - public static string encodeToString(string data) + public static string EncodeToString(string data) { try { - return encodeToString(data.GetBytes(Config.UTF8)); + return EncodeToString(data.GetBytes(Config.Utf8)); } catch (Exception e) { @@ -18,14 +18,14 @@ public static string encodeToString(string data) return null; } - public static string encodeToString(byte[] data) + public static string EncodeToString(byte[] data) { - return Base64.encodeToString(data, Base64.URL_SAFE | Base64.NO_WRAP); + return Base64.EncodeToString(data, Base64.UrlSafe | Base64.NoWrap); } - public static byte[] decode(string data) + public static byte[] Decode(string data) { - return Base64.decode(data, Base64.URL_SAFE | Base64.NO_WRAP); + return Base64.Decode(data, Base64.UrlSafe | Base64.NoWrap); } } } diff --git a/pili-sdk-csharp/pili-common/Utils.cs b/pili-sdk-csharp/pili-common/Utils.cs index f59e230..9f2312b 100644 --- a/pili-sdk-csharp/pili-common/Utils.cs +++ b/pili-sdk-csharp/pili-common/Utils.cs @@ -6,7 +6,7 @@ namespace pili_sdk_csharp.pili_common { public class Utils { - public static int bufferLen = 32 * 1024; + public static int BufferLen = 32 * 1024; public static string UserAgent { @@ -14,7 +14,7 @@ public static string UserAgent { var csharpVersion = "csharp"; var os = "windows"; - var sdk = Config.USER_AGENT + Config.SDK_VERSION; + var sdk = Config.UserAgent + Config.SdkVersion; return sdk + os + csharpVersion; } } @@ -34,10 +34,10 @@ public static T ToObject(string value) public static void Copy(Stream dst, Stream src) { var l = src.Position; - var buffer = new byte[bufferLen]; + var buffer = new byte[BufferLen]; while (true) { - var n = src.Read(buffer, 0, bufferLen); + var n = src.Read(buffer, 0, BufferLen); if (n == 0) break; dst.Write(buffer, 0, n); } @@ -47,11 +47,11 @@ public static void Copy(Stream dst, Stream src) public static void CopyN(Stream dst, Stream src, long numBytesToCopy) { var l = src.Position; - var buffer = new byte[bufferLen]; + var buffer = new byte[BufferLen]; long numBytesWritten = 0; while (numBytesWritten < numBytesToCopy) { - var len = bufferLen; + var len = BufferLen; if (numBytesToCopy - numBytesWritten < len) { len = (int)(numBytesToCopy - numBytesWritten); @@ -76,15 +76,9 @@ public static void CopyN(Stream dst, Stream src, long numBytesToCopy) * 4. return true, only if the arg is a illegal string * * */ - public static bool isArgNotEmpty(string arg) + public static bool IsArgNotEmpty(string arg) { return arg != null && arg.Trim().Length > 0; } - - // public static String getPath(String streamId) { - // String[] res = streamId.split("\\."); - // // res[1] -> hub, res[2] -> title - // return String.format("/%s/%s", res[1], res[2]); - // } } } diff --git a/pili-sdk-csharp/pili-qiniu/Credentials.cs b/pili-sdk-csharp/pili-qiniu/Credentials.cs index 97ee6fe..ea8432f 100644 --- a/pili-sdk-csharp/pili-qiniu/Credentials.cs +++ b/pili-sdk-csharp/pili-qiniu/Credentials.cs @@ -7,10 +7,9 @@ namespace pili_sdk_csharp.pili_qiniu { public class Credentials { - private const string DIGEST_AUTH_PREFIX = "Qiniu"; - private readonly string mAccessKey; - private readonly string mSecretKey; - private readonly HMACSHA1 mSkSpec; + private const string DigestAuthPrefix = "Qiniu"; + private readonly string _mAccessKey; + private readonly HMACSHA1 _mSkSpec; public Credentials(string ak, string sk) { @@ -18,11 +17,10 @@ public Credentials(string ak, string sk) { throw new ArgumentException("Invalid accessKey or secretKey!!"); } - mAccessKey = ak; - mSecretKey = sk; + _mAccessKey = ak; try { - mSkSpec = new HMACSHA1(mSecretKey.GetBytes(Config.UTF8)); + _mSkSpec = new HMACSHA1(sk.GetBytes(Config.Utf8)); } catch (Exception e) { @@ -32,12 +30,12 @@ public Credentials(string ak, string sk) } } - public virtual string signRequest(Uri url, string method, byte[] body, string contentType) + public virtual string SignRequest(Uri url, string method, byte[] body, string contentType) { var sb = new StringBuilder(); // - var line = string.Format("{0} {1}", method, url.LocalPath); + var line = $"{method} {url.LocalPath}"; sb.Append(line); if (url.Query != "") { @@ -45,17 +43,17 @@ public virtual string signRequest(Uri url, string method, byte[] body, string co } // Host: - sb.Append(string.Format("\nHost: {0}", url.Host)); + sb.Append($"\nHost: {url.Host}"); if (url.Port != 80) { - sb.Append(string.Format(":{0}", url.Port)); + sb.Append($":{url.Port}"); } // Content-Type: if (contentType != null) { - sb.Append(string.Format("\nContent-Type: {0}", contentType)); + sb.Append($"\nContent-Type: {contentType}"); } // body @@ -64,17 +62,17 @@ public virtual string signRequest(Uri url, string method, byte[] body, string co { sb.Append(StringHelperClass.NewString(body)); } - return string.Format("{0} {1}:{2}", DIGEST_AUTH_PREFIX, mAccessKey, signData(sb.ToString())); + return $"{DigestAuthPrefix} {_mAccessKey}:{SignData(sb.ToString())}"; } - private static byte[] digest(string secret, string data) + private static byte[] Digest(string secret, string data) { try { var encoding = Encoding.UTF8; var newdata = encoding.GetBytes(data); - var bytesSK = encoding.GetBytes(secret); - var mac = new HMACSHA1(bytesSK); + var bytesSk = encoding.GetBytes(secret); + var mac = new HMACSHA1(bytesSk); var digest = mac.ComputeHash(newdata); return digest; @@ -88,21 +86,21 @@ private static byte[] digest(string secret, string data) } - public static string sign(string secret, string data) + public static string Sign(string secret, string data) { - return UrlSafeBase64.encodeToString(digest(secret, data)); + return UrlSafeBase64.EncodeToString(Digest(secret, data)); } - private string signData(string data) + private string SignData(string data) { - string sign = null; + string sign; try { - var mac = createMac(mSkSpec); + var mac = CreateMac(_mSkSpec); var encoding = Encoding.UTF8; var newdata = encoding.GetBytes(data); var digest = mac.ComputeHash(newdata); - sign = UrlSafeBase64.encodeToString(digest); + sign = UrlSafeBase64.EncodeToString(digest); } catch (Exception e) { @@ -111,7 +109,7 @@ private string signData(string data) return sign; } - private static HMACSHA1 createMac(HMACSHA1 secretKeySpec) + private static HMACSHA1 CreateMac(HMACSHA1 secretKeySpec) { var mac = secretKeySpec; return mac; diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index 3abb5b9..cfb2629 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Net; -using System.Text; using System.Web; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -13,55 +12,56 @@ namespace pili_sdk_csharp.pili { public class API { - private static readonly string API_BASE_URL = string.Format("{0}://{1}/{2}", Configuration.Instance.USE_HTTPS ? "https" : "http", Configuration.Instance.API_HOST, - Configuration.Instance.API_VERSION); + private static readonly string APIBaseUrl = + $"{(Configuration.Instance.UseHttps ? "https" : "http")}://{Configuration.Instance.API_HOST}/{Configuration.Instance.API_VERSION}"; - private static HttpWebRequest mOkHttpClient; + private static HttpWebRequest _mOkHttpClient; - - public static Stream createStream(Credentials credentials, string hubName, string title, string publishKey, string publishSecurity) + public static Stream CreateStream(Credentials credentials, string hubName, string title, string publishKey, string publishSecurity) { // System.out.println("createStream:" + API_BASE_URL); - var urlStr = API_BASE_URL + "/streams"; - Console.WriteLine("API_BASE_URL---------" + API_BASE_URL); + var urlStr = APIBaseUrl + "/streams"; + Console.WriteLine("API_BASE_URL---------" + APIBaseUrl); - var json = new Dictionary(); - json.Add("hub", hubName); - if (Utils.isArgNotEmpty(title)) + var json = new Dictionary + { + { "hub", hubName } + }; + if (Utils.IsArgNotEmpty(title)) { - if (title.Length < Config.TITLE_MIN_LENGTH || title.Length > Config.TITLE_MAX_LENGTH) + if (title.Length < Config.TitleMinLength || title.Length > Config.TitleMaxLength) { - throw new PiliException(MessageConfig.ILLEGAL_TITLE_MSG); + throw new PiliException(MessageConfig.IllegalTitleMsg); } json.Add("title", title); } - if (Utils.isArgNotEmpty(publishKey)) + if (Utils.IsArgNotEmpty(publishKey)) { json.Add("publishKey", publishKey); } - if (Utils.isArgNotEmpty(publishSecurity)) + if (Utils.IsArgNotEmpty(publishSecurity)) { json.Add("publishSecurity", publishSecurity); } - HttpWebResponse response = null; + HttpWebResponse response; try { var url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); var contentType = "application/json"; - mOkHttpClient.Method = WebRequestMethods.Http.Post; + _mOkHttpClient.Method = WebRequestMethods.Http.Post; var jsonobj = JsonConvert.SerializeObject(json); - var body = jsonobj.GetBytes(Config.UTF8); - var macToken = credentials.signRequest(url, "POST", body, contentType); - mOkHttpClient.ContentType = contentType; - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); - mOkHttpClient.ContentLength = body.Length; - using (var requestStream = mOkHttpClient.GetRequestStream()) + var body = jsonobj.GetBytes(Config.Utf8); + var macToken = credentials.SignRequest(url, "POST", body, contentType); + _mOkHttpClient.ContentType = contentType; + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); + _mOkHttpClient.ContentLength = body.Length; + using (var requestStream = _mOkHttpClient.GetRequestStream()) { Utils.CopyN(requestStream, new MemoryStream(body), body.Length); } - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) @@ -92,23 +92,23 @@ public static Stream createStream(Credentials credentials, string hubName, strin } // Get an exist stream - public static Stream getStream(Credentials credentials, string streamId) + public static Stream GetStream(Credentials credentials, string streamId) { if (streamId == null) { - throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); + throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - var urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); - HttpWebResponse response = null; + var urlStr = $"{APIBaseUrl}/streams/{streamId}"; + HttpWebResponse response; try { var url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - mOkHttpClient.Method = WebRequestMethods.Http.Get; - var macToken = credentials.signRequest(url, "GET", null, null); - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + _mOkHttpClient.Method = WebRequestMethods.Http.Get; + var macToken = credentials.SignRequest(url, "GET", null, null); + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) { @@ -137,14 +137,12 @@ public static Stream getStream(Credentials credentials, string streamId) } // List stream - public static Stream.StreamList listStreams(Credentials credentials, string hubName, string startMarker, long limitCount, string titlePrefix) + public static Stream.StreamList ListStreams(Credentials credentials, string hubName, string startMarker, long limitCount, string titlePrefix) { try { - var encoding = Encoding.UTF8; - hubName = HttpUtility.UrlEncode(hubName); - if (Utils.isArgNotEmpty(startMarker)) + if (Utils.IsArgNotEmpty(startMarker)) { startMarker = HttpUtility.UrlEncode(startMarker); } @@ -155,8 +153,8 @@ public static Stream.StreamList listStreams(Credentials credentials, string hubN Console.Write(e.StackTrace); throw new PiliException(e); } - var urlStr = string.Format("{0}/streams?hub={1}", API_BASE_URL, hubName); - if (Utils.isArgNotEmpty(startMarker)) + var urlStr = $"{APIBaseUrl}/streams?hub={hubName}"; + if (Utils.IsArgNotEmpty(startMarker)) { urlStr += "&marker=" + startMarker; } @@ -164,20 +162,20 @@ public static Stream.StreamList listStreams(Credentials credentials, string hubN { urlStr += "&limit=" + limitCount; } - if (Utils.isArgNotEmpty(titlePrefix)) + if (Utils.IsArgNotEmpty(titlePrefix)) { urlStr += "&title=" + titlePrefix; } - HttpWebResponse response = null; + HttpWebResponse response; try { var url = new Uri(urlStr); - var macToken = credentials.signRequest(url, "GET", null, null); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - mOkHttpClient.Method = WebRequestMethods.Http.Get; - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + var macToken = credentials.SignRequest(url, "GET", null, null); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + _mOkHttpClient.Method = WebRequestMethods.Http.Get; + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) { @@ -206,24 +204,24 @@ public static Stream.StreamList listStreams(Credentials credentials, string hubN throw new PiliException(response); } - // get stream status - public static Stream.Status getStreamStatus(Credentials credentials, string streamId) + // get stream CurrentStatus + public static Stream.Status GetStreamStatus(Credentials credentials, string streamId) { if (streamId == null) { - throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); + throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - var urlStr = string.Format("{0}/streams/{1}/status", API_BASE_URL, streamId); - HttpWebResponse response = null; + var urlStr = $"{APIBaseUrl}/streams/{streamId}/CurrentStatus"; + HttpWebResponse response; try { var url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - var macToken = credentials.signRequest(url, "GET", null, null); - mOkHttpClient.Method = WebRequestMethods.Http.Get; - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var macToken = credentials.SignRequest(url, "GET", null, null); + _mOkHttpClient.Method = WebRequestMethods.Http.Get; + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) { @@ -252,46 +250,46 @@ public static Stream.Status getStreamStatus(Credentials credentials, string stre } // Update an exist stream - public static Stream updateStream(Credentials credentials, string streamId, string publishKey, string publishSecurity, bool disabled) + public static Stream UpdateStream(Credentials credentials, string streamId, string publishKey, string publishSecurity, bool disabled) { var json = new JObject(); if (streamId == null) { - throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); + throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (Utils.isArgNotEmpty(publishKey)) + if (Utils.IsArgNotEmpty(publishKey)) { json.Add("publishKey", publishKey); } - if (Utils.isArgNotEmpty(publishSecurity)) + if (Utils.IsArgNotEmpty(publishSecurity)) { json.Add("publishSecurity", publishSecurity); } json.Add("disabled", disabled); - var urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); - HttpWebResponse response = null; + var urlStr = $"{APIBaseUrl}/streams/{streamId}"; + HttpWebResponse response; try { var url = new Uri(urlStr); var jsonobj = JsonConvert.SerializeObject(json); - var body = jsonobj.GetBytes(Config.UTF8); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var body = jsonobj.GetBytes(Config.Utf8); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); var contentType = "application/json"; - var macToken = credentials.signRequest(url, "POST", body, contentType); - mOkHttpClient.Method = WebRequestMethods.Http.Post; - mOkHttpClient.ContentType = contentType; - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); - mOkHttpClient.ContentLength = body.Length; - using (var requestStream = mOkHttpClient.GetRequestStream()) + var macToken = credentials.SignRequest(url, "POST", body, contentType); + _mOkHttpClient.Method = WebRequestMethods.Http.Post; + _mOkHttpClient.ContentType = contentType; + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); + _mOkHttpClient.ContentLength = body.Length; + using (var requestStream = _mOkHttpClient.GetRequestStream()) { Utils.CopyN(requestStream, new MemoryStream(body), body.Length); } - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) { @@ -321,25 +319,25 @@ public static Stream updateStream(Credentials credentials, string streamId, stri } // Delete stream - public static string deleteStream(Credentials credentials, string streamId) + public static string DeleteStream(Credentials credentials, string streamId) { if (streamId == null) { - throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); + throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - var urlStr = string.Format("{0}/streams/{1}", API_BASE_URL, streamId); - HttpWebResponse response = null; + var urlStr = $"{APIBaseUrl}/streams/{streamId}"; + HttpWebResponse response; try { var url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - var macToken = credentials.signRequest(url, "DELETE", null, null); - mOkHttpClient.Method = "DELETE"; - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var macToken = credentials.SignRequest(url, "DELETE", null, null); + _mOkHttpClient.Method = "DELETE"; + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); Console.WriteLine(macToken); - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) { @@ -358,31 +356,33 @@ public static string deleteStream(Credentials credentials, string streamId) } - public static Stream.SaveAsResponse saveAs(Credentials credentials, string streamId, string fileName, string format, long start, long end, string notifyUrl, + public static Stream.SaveAsResponse SaveAs(Credentials credentials, string streamId, string fileName, string format, long start, long end, string notifyUrl, string pipleline) { if (streamId == null) { - throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); + throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (!Utils.isArgNotEmpty(fileName)) + if (!Utils.IsArgNotEmpty(fileName)) { - throw new PiliException(MessageConfig.ILLEGAL_FILE_NAME_EXCEPTION_MSG); + throw new PiliException(MessageConfig.IllegalFileNameExceptionMsg); } if (start < 0 || end < 0 || start > end) { - throw new PiliException(MessageConfig.ILLEGAL_TIME_MSG); + throw new PiliException(MessageConfig.IllegalTimeMsg); } - var urlStr = string.Format("{0}/streams/{1}/saveas", API_BASE_URL, streamId); - HttpWebResponse response = null; - var json = new JObject(); - json.Add("name", fileName); - if (Utils.isArgNotEmpty(notifyUrl)) + var urlStr = $"{APIBaseUrl}/streams/{streamId}/saveas"; + HttpWebResponse response; + var json = new JObject + { + { "name", fileName } + }; + if (Utils.IsArgNotEmpty(notifyUrl)) { json.Add("notifyUrl", notifyUrl); } @@ -404,20 +404,20 @@ public static Stream.SaveAsResponse saveAs(Credentials credentials, string strea try { var url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); var contentType = "application/json"; - var body = json.ToString().GetBytes(Config.UTF8); - var macToken = credentials.signRequest(url, "POST", body, contentType); - mOkHttpClient.Method = WebRequestMethods.Http.Post; - mOkHttpClient.ContentType = contentType; - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); - mOkHttpClient.ContentLength = body.Length; - using (var requestStream = mOkHttpClient.GetRequestStream()) + var body = json.ToString().GetBytes(Config.Utf8); + var macToken = credentials.SignRequest(url, "POST", body, contentType); + _mOkHttpClient.Method = WebRequestMethods.Http.Post; + _mOkHttpClient.ContentType = contentType; + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); + _mOkHttpClient.ContentLength = body.Length; + using (var requestStream = _mOkHttpClient.GetRequestStream()) { Utils.CopyN(requestStream, new MemoryStream(body), body.Length); } - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) { @@ -445,33 +445,35 @@ public static Stream.SaveAsResponse saveAs(Credentials credentials, string strea throw new PiliException(response); } - public static Stream.SnapshotResponse snapshot(Credentials credentials, string streamId, string fileName, string format, long time, string notifyUrl) + public static Stream.SnapshotResponse Snapshot(Credentials credentials, string streamId, string fileName, string format, long time, string notifyUrl) { if (streamId == null) { - throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); + throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (!Utils.isArgNotEmpty(fileName)) + if (!Utils.IsArgNotEmpty(fileName)) { - throw new PiliException(MessageConfig.ILLEGAL_FILE_NAME_EXCEPTION_MSG); + throw new PiliException(MessageConfig.IllegalFileNameExceptionMsg); } - if (!Utils.isArgNotEmpty(format)) + if (!Utils.IsArgNotEmpty(format)) { - throw new PiliException(MessageConfig.ILLEGAL_FORMAT_EXCEPTION_MSG); + throw new PiliException(MessageConfig.IllegalFormatExceptionMsg); } - var urlStr = string.Format("{0}/streams/{1}/snapshot", API_BASE_URL, streamId); - HttpWebResponse response = null; - var json = new JObject(); - json.Add("name", fileName); - json.Add("format", format); + var urlStr = $"{APIBaseUrl}/streams/{streamId}/snapshot"; + HttpWebResponse response; + var json = new JObject + { + { "name", fileName }, + { "format", format } + }; if (time > 0) { json.Add("time", time); } - if (Utils.isArgNotEmpty(notifyUrl)) + if (Utils.IsArgNotEmpty(notifyUrl)) { json.Add("notifyUrl", notifyUrl); // optional } @@ -479,20 +481,20 @@ public static Stream.SnapshotResponse snapshot(Credentials credentials, string s try { var url = new Uri(urlStr); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); var contentType = "application/json"; - var body = json.ToString().GetBytes(Config.UTF8); - var macToken = credentials.signRequest(url, "POST", body, contentType); - mOkHttpClient.Method = WebRequestMethods.Http.Post; - mOkHttpClient.ContentType = contentType; - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); - mOkHttpClient.ContentLength = body.Length; - using (var requestStream = mOkHttpClient.GetRequestStream()) + var body = json.ToString().GetBytes(Config.Utf8); + var macToken = credentials.SignRequest(url, "POST", body, contentType); + _mOkHttpClient.Method = WebRequestMethods.Http.Post; + _mOkHttpClient.ContentType = contentType; + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); + _mOkHttpClient.ContentLength = body.Length; + using (var requestStream = _mOkHttpClient.GetRequestStream()) { Utils.CopyN(requestStream, new MemoryStream(body), body.Length); } - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) { @@ -521,13 +523,13 @@ public static Stream.SnapshotResponse snapshot(Credentials credentials, string s } // Get recording segments from an exist stream - public static Stream.SegmentList getStreamSegments(Credentials credentials, string streamId, long startTime, long endTime, int limitCount) + public static Stream.SegmentList GetStreamSegments(Credentials credentials, string streamId, long startTime, long endTime, int limitCount) { if (streamId == null) { - throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG); + throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - var urlStr = string.Format("{0}/streams/{1}/segments", API_BASE_URL, streamId); + var urlStr = $"{APIBaseUrl}/streams/{streamId}/segments"; if (startTime > 0 && endTime > 0 && startTime < endTime) { urlStr += "?start=" + startTime + "&end=" + endTime; @@ -536,16 +538,16 @@ public static Stream.SegmentList getStreamSegments(Credentials credentials, stri { urlStr += "&limit=" + limitCount; } - HttpWebResponse response = null; + HttpWebResponse response; try { var url = new Uri(urlStr); - var macToken = credentials.signRequest(url, "GET", null, null); - mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - mOkHttpClient.Method = WebRequestMethods.Http.Get; - mOkHttpClient.UserAgent = Utils.UserAgent; - mOkHttpClient.Headers.Add("Authorization", macToken); - response = (HttpWebResponse)mOkHttpClient.GetResponse(); + var macToken = credentials.SignRequest(url, "GET", null, null); + _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + _mOkHttpClient.Method = WebRequestMethods.Http.Get; + _mOkHttpClient.UserAgent = Utils.UserAgent; + _mOkHttpClient.Headers.Add("Authorization", macToken); + response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } catch (Exception e) { @@ -579,29 +581,31 @@ public static Stream.SegmentList getStreamSegments(Credentials credentials, stri } //Generate a RTMP publish URL - public static string publishUrl(Stream stream, long nonce) + public static string PublishUrl(Stream stream, long nonce) { const string defaultScheme = "rtmp"; if ("dynamic".Equals(stream.PublishSecurity)) { - return generateDynamicUrl(stream, nonce, defaultScheme); + return GenerateDynamicUrl(stream, nonce, defaultScheme); } if ("static".Equals(stream.PublishSecurity)) { - return generateStaticUrl(stream, defaultScheme); + return GenerateStaticUrl(stream, defaultScheme); } // "dynamic" as default - return generateDynamicUrl(stream, nonce, defaultScheme); + return GenerateDynamicUrl(stream, nonce, defaultScheme); } //Generate RTMP live play URL - public static IDictionary rtmpLiveUrl(Stream stream) + public static IDictionary RtmpLiveUrl(Stream stream) { const string defaultScheme = "rtmp"; - var url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveRtmpHost, stream.HubName, stream.Title); - IDictionary dictionary = new Dictionary(); - dictionary[Stream.ORIGIN] = url; + var url = $"{defaultScheme}://{stream.LiveRtmpHost}/{stream.HubName}/{stream.Title}"; + IDictionary dictionary = new Dictionary + { + [Stream.Origin] = url + }; var profiles = stream.Profiles; if (profiles != null) { @@ -614,12 +618,14 @@ public static IDictionary rtmpLiveUrl(Stream stream) } //Generate HLS live play URL - public static IDictionary hlsLiveUrl(Stream stream) + public static IDictionary HlsLiveUrl(Stream stream) { const string defaultScheme = "http"; - var url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveHttpHost, stream.HubName, stream.Title); - IDictionary dictionary = new Dictionary(); - dictionary[Stream.ORIGIN] = url + ".m3u8"; + var url = $"{defaultScheme}://{stream.LiveHttpHost}/{stream.HubName}/{stream.Title}"; + IDictionary dictionary = new Dictionary + { + [Stream.Origin] = url + ".m3u8" + }; var profiles = stream.Profiles; if (profiles != null) { @@ -633,30 +639,32 @@ public static IDictionary hlsLiveUrl(Stream stream) //Generate HLS playback URL - public static IDictionary hlsPlaybackUrl(Credentials credentials, string streamId, long startTime, long endTime) + public static IDictionary HlsPlaybackUrl(Credentials credentials, string streamId, long startTime, long endTime) { var saveFile = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds / 1000; - var response = saveAs(credentials, streamId, saveFile.ToString(), null, startTime, endTime, null, null); + var response = SaveAs(credentials, streamId, saveFile.ToString(), null, startTime, endTime, null, null); IDictionary dictionary = new Dictionary(); if (response != null) { - dictionary.Add(Stream.ORIGIN, response.Url); + dictionary.Add(Stream.Origin, response.Url); } return dictionary; } - public static IDictionary httpFlvLiveUrl(Stream stream) + public static IDictionary HttpFlvLiveUrl(Stream stream) { /* * http://liveHttpFlvHost/hub/title@480p.flv */ const string defaultScheme = "http"; - var url = string.Format("{0}://{1}/{2}/{3}", defaultScheme, stream.LiveHttpHost, stream.HubName, stream.Title); - IDictionary dictionary = new Dictionary(); - dictionary[Stream.ORIGIN] = url + ".flv"; + var url = $"{defaultScheme}://{stream.LiveHttpHost}/{stream.HubName}/{stream.Title}"; + IDictionary dictionary = new Dictionary + { + [Stream.Origin] = url + ".flv" + }; var profiles = stream.Profiles; if (profiles != null) { @@ -668,12 +676,9 @@ public static IDictionary httpFlvLiveUrl(Stream stream) return dictionary; } - private static string generateStaticUrl(Stream stream, string scheme) - { - return string.Format("{0}://{1}/{2}/{3}?key={4}", scheme, stream.PublishRtmpHost, stream.HubName, stream.Title, stream.PublishKey); - } + private static string GenerateStaticUrl(Stream stream, string scheme) => $"{scheme}://{stream.PublishRtmpHost}/{stream.HubName}/{stream.Title}?key={stream.PublishKey}"; - private static string generateDynamicUrl(Stream stream, long nonce, string scheme) + private static string GenerateDynamicUrl(Stream stream, long nonce, string scheme) { if (nonce <= 0) { @@ -681,10 +686,10 @@ private static string generateDynamicUrl(Stream stream, long nonce, string schem } var baseUri = "/" + stream.HubName + "/" + stream.Title + "?nonce=" + nonce; - string publishToken = null; + string publishToken; try { - publishToken = Credentials.sign(stream.PublishKey, baseUri); + publishToken = Credentials.Sign(stream.PublishKey, baseUri); } catch (Exception e) { @@ -692,7 +697,7 @@ private static string generateDynamicUrl(Stream stream, long nonce, string schem Console.Write(e.StackTrace); throw new PiliException(e); } - return string.Format("{0}://{1}{2}&token={3}", scheme, stream.PublishRtmpHost, baseUri, publishToken); + return $"{scheme}://{stream.PublishRtmpHost}{baseUri}&token={publishToken}"; } } } diff --git a/pili-sdk-csharp/pili/Configuration.cs b/pili-sdk-csharp/pili/Configuration.cs index f521261..1312743 100644 --- a/pili-sdk-csharp/pili/Configuration.cs +++ b/pili-sdk-csharp/pili/Configuration.cs @@ -5,22 +5,21 @@ namespace pili_sdk_csharp.pili { public class Configuration { - internal string API_HOST = Config.DEFAULT_API_HOST; - internal string API_VERSION = Config.DEFAULT_API_VERSION; + public static readonly Configuration Instance = new Configuration(); + internal string API_HOST = Config.DefaultAPIHost; + internal string API_VERSION = Config.DefaultAPIVersion; - internal bool USE_HTTPS = Config.DEFAULT_USE_HTTPS; + internal bool UseHttps = Config.DefaultUseHttps; private Configuration() { } - public static Configuration Instance => ConfigurationHolder.instance; - public virtual string APIHost { set { - if (!Utils.isArgNotEmpty(value)) + if (!Utils.IsArgNotEmpty(value)) { throw new ArgumentException("Illegal API Host:" + value); } @@ -32,7 +31,7 @@ public virtual string APIVersion { set { - if (!Utils.isArgNotEmpty(value)) + if (!Utils.IsArgNotEmpty(value)) { throw new ArgumentException("Illegal API Version:" + value); } @@ -40,14 +39,9 @@ public virtual string APIVersion } } - public void setHttpsEnabled(bool enabled) - { - USE_HTTPS = enabled; - } - - private class ConfigurationHolder + public void SetHttpsEnabled(bool enabled) { - public static readonly Configuration instance = new Configuration(); + UseHttps = enabled; } } } diff --git a/pili-sdk-csharp/pili/DateTimeHelperClass.cs b/pili-sdk-csharp/pili/DateTimeHelperClass.cs index 161f853..f45c2a8 100644 --- a/pili-sdk-csharp/pili/DateTimeHelperClass.cs +++ b/pili-sdk-csharp/pili/DateTimeHelperClass.cs @@ -2,10 +2,10 @@ internal static class DateTimeHelperClass { - private static readonly DateTime Jan1st1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + private static readonly DateTime Jan1St1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); internal static long CurrentUnixTimeMillis() { - return (long)(DateTime.UtcNow - Jan1st1970).TotalMilliseconds; + return (long)(DateTime.UtcNow - Jan1St1970).TotalMilliseconds; } } diff --git a/pili-sdk-csharp/pili/Hub.cs b/pili-sdk-csharp/pili/Hub.cs index 1fa095b..8757950 100644 --- a/pili-sdk-csharp/pili/Hub.cs +++ b/pili-sdk-csharp/pili/Hub.cs @@ -6,55 +6,47 @@ namespace pili_sdk_csharp.pili { public class Hub { - private readonly Credentials mCredentials; - private readonly string mHubName; + private readonly Credentials _mCredentials; + private readonly string _mHubName; public Hub(Credentials credentials, string hubName) { - if (hubName == null) - { - throw new ArgumentException(MessageConfig.NULL_HUBNAME_EXCEPTION_MSG); - } - if (credentials == null) - { - throw new ArgumentException(MessageConfig.NULL_CREDENTIALS_EXCEPTION_MSG); - } - mCredentials = credentials; - mHubName = hubName; + _mCredentials = credentials ?? throw new ArgumentException(MessageConfig.NullCredentialsExceptionMsg); + _mHubName = hubName ?? throw new ArgumentException(MessageConfig.NullHubnameExceptionMsg); } - public virtual Stream createStream() + public virtual Stream CreateStream() { - return API.createStream(mCredentials, mHubName, null, null, null); + return API.CreateStream(_mCredentials, _mHubName, null, null, null); } - public virtual Stream createStream(string title, string publishKey, string publishSecurity) + public virtual Stream CreateStream(string title, string publishKey, string publishSecurity) { - return API.createStream(mCredentials, mHubName, title, publishKey, publishSecurity); + return API.CreateStream(_mCredentials, _mHubName, title, publishKey, publishSecurity); } - public virtual Stream getStream(string streamId) + public virtual Stream GetStream(string streamId) { - return API.getStream(mCredentials, streamId); + return API.GetStream(_mCredentials, streamId); } - public virtual Stream.StreamList listStreams() + public virtual Stream.StreamList ListStreams() { - return API.listStreams(mCredentials, mHubName, null, 0, null); + return API.ListStreams(_mCredentials, _mHubName, null, 0, null); } - public virtual Stream.StreamList listStreams(string marker, long limit) + public virtual Stream.StreamList ListStreams(string marker, long limit) { - return API.listStreams(mCredentials, mHubName, marker, limit, null); + return API.ListStreams(_mCredentials, _mHubName, marker, limit, null); } - public virtual Stream.StreamList listStreams(string marker, long limit, string titlePrefix) + public virtual Stream.StreamList ListStreams(string marker, long limit, string titlePrefix) { - return API.listStreams(mCredentials, mHubName, marker, limit, titlePrefix); + return API.ListStreams(_mCredentials, _mHubName, marker, limit, titlePrefix); } } } diff --git a/pili-sdk-csharp/pili/PiliException.cs b/pili-sdk-csharp/pili/PiliException.cs index 5de3c3f..b0afd03 100644 --- a/pili-sdk-csharp/pili/PiliException.cs +++ b/pili-sdk-csharp/pili/PiliException.cs @@ -8,13 +8,12 @@ namespace pili_sdk_csharp.pili { public class PiliException : Exception { - public readonly HttpWebResponse response; - - private readonly string mDetails; + private readonly string _mDetails; + public readonly HttpWebResponse Response; public PiliException(HttpWebResponse response) { - this.response = response; + Response = response; try { @@ -22,34 +21,34 @@ public PiliException(HttpWebResponse response) var text = reader.ReadToEnd(); var jsonObj = JObject.Parse(text); - mDetails = Utils.JsonEncode(jsonObj); + _mDetails = Utils.JsonEncode(jsonObj); } catch (IOException e) { Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); - mDetails += e.Message; + _mDetails += e.Message; } } public PiliException(string msg) : base(msg) { - response = null; + Response = null; } public PiliException(Exception e) { - response = null; + Response = null; } - public override string Message => response == null ? base.Message : response.ToString(); + public override string Message => Response == null ? base.Message : Response.ToString(); - public virtual string Details => mDetails; + public virtual string Details => _mDetails; - public virtual int code() + public virtual int Code() { - return response == null ? -1 : (int)response.StatusCode; + return Response == null ? -1 : (int)Response.StatusCode; } } } diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index dbc767b..25d0cf5 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -8,17 +8,17 @@ namespace pili_sdk_csharp.pili { public class Stream { - public const string ORIGIN = "ORIGIN"; - private readonly string id; - private readonly Credentials mCredentials; - private readonly string mStreamJsonStr; - private readonly string[] profiles; + public const string Origin = "ORIGIN"; + private readonly string _id; + private readonly Credentials _mCredentials; + private readonly string _mStreamJsonStr; + private readonly string[] _profiles; public Stream(JObject jsonObj) { // System.out.println("Stream:" + jsonObj.toString()); - id = jsonObj["id"].ToString(); + _id = jsonObj["id"].ToString(); HubName = jsonObj["hub"].ToString(); CreatedAt = jsonObj["createdAt"].ToString(); UpdatedAt = jsonObj["updatedAt"].ToString(); @@ -30,7 +30,7 @@ public Stream(JObject jsonObj) if (jsonObj["profiles"] != null) { Console.WriteLine("profiles--------" + jsonObj["profiles"]); - profiles = JsonConvert.DeserializeAnonymousType(jsonObj["profiles"].ToString(), profiles); + _profiles = JsonConvert.DeserializeAnonymousType(jsonObj["profiles"].ToString(), _profiles); } if (jsonObj["hosts"]["publish"] != null) @@ -54,14 +54,14 @@ public Stream(JObject jsonObj) PlayRtmpHost = jsonObj["hosts"]["play"]["rtmp"].ToString(); } - mStreamJsonStr = jsonObj.ToString(); + _mStreamJsonStr = jsonObj.ToString(); } public Stream(JObject jsonObject, Credentials credentials) : this(jsonObject) { - mCredentials = credentials; + _mCredentials = credentials; } public string PlaybackHttpHost { get; } @@ -77,13 +77,13 @@ public Stream(JObject jsonObject, Credentials credentials) public string LiveHlsHost { get; } - public virtual string[] Profiles => profiles; + public virtual string[] Profiles => _profiles; public virtual string PublishRtmpHost { get; } public virtual string LiveRtmpHost { get; } - public virtual string StreamId => id; + public virtual string StreamId => _id; public virtual string HubName { get; } @@ -100,117 +100,117 @@ public Stream(JObject jsonObject, Credentials credentials) public virtual bool Disabled { get; } - public virtual Stream update(string publishKey, string publishSecrity, bool disabled) + public virtual Stream Update(string publishKey, string publishSecrity, bool disabled) { - return API.updateStream(mCredentials, id, publishKey, publishSecrity, disabled); + return API.UpdateStream(_mCredentials, _id, publishKey, publishSecrity, disabled); } - public virtual SegmentList segments() + public virtual SegmentList Segments() { - return API.getStreamSegments(mCredentials, id, 0, 0, 0); + return API.GetStreamSegments(_mCredentials, _id, 0, 0, 0); } - public virtual SegmentList segments(long start, long end) + public virtual SegmentList Segments(long start, long end) { - return API.getStreamSegments(mCredentials, id, start, end, 0); + return API.GetStreamSegments(_mCredentials, _id, start, end, 0); } - public virtual SegmentList segments(long start, long end, int limit) + public virtual SegmentList Segments(long start, long end, int limit) { - return API.getStreamSegments(mCredentials, id, start, end, limit); + return API.GetStreamSegments(_mCredentials, _id, start, end, limit); } - public virtual Status status() + public virtual Status CurrentStatus() { - return API.getStreamStatus(mCredentials, id); + return API.GetStreamStatus(_mCredentials, _id); } - public virtual string rtmpPublishUrl() + public virtual string RtmpPublishUrl() { - return API.publishUrl(this, 0); + return API.PublishUrl(this, 0); } - public virtual IDictionary rtmpLiveUrls() + public virtual IDictionary RtmpLiveUrls() { - return API.rtmpLiveUrl(this); + return API.RtmpLiveUrl(this); } - public virtual IDictionary hlsLiveUrls() + public virtual IDictionary HlsLiveUrls() { - return API.hlsLiveUrl(this); + return API.HlsLiveUrl(this); } - public virtual IDictionary hlsPlaybackUrls(long start, long end) + public virtual IDictionary HlsPlaybackUrls(long start, long end) { - return API.hlsPlaybackUrl(mCredentials, id, start, end); + return API.HlsPlaybackUrl(_mCredentials, _id, start, end); } - public virtual IDictionary httpFlvLiveUrls() + public virtual IDictionary HttpFlvLiveUrls() { - return API.httpFlvLiveUrl(this); + return API.HttpFlvLiveUrl(this); } - public virtual string delete() + public virtual string Delete() { - return API.deleteStream(mCredentials, id); + return API.DeleteStream(_mCredentials, _id); } - public virtual string toJsonString() + public virtual string ToJsonString() { - return mStreamJsonStr; + return _mStreamJsonStr; } - public virtual SaveAsResponse saveAs(string fileName, string format, long startTime, long endTime, string notifyUrl, string pipleline) + public virtual SaveAsResponse SaveAs(string fileName, string format, long startTime, long endTime, string notifyUrl, string pipleline) { - return API.saveAs(mCredentials, id, fileName, format, startTime, endTime, notifyUrl, pipleline); + return API.SaveAs(_mCredentials, _id, fileName, format, startTime, endTime, notifyUrl, pipleline); } - public virtual SaveAsResponse saveAs(string fileName, string format, long startTime, long endTime) + public virtual SaveAsResponse SaveAs(string fileName, string format, long startTime, long endTime) { - return saveAs(fileName, format, startTime, endTime, null, null); + return SaveAs(fileName, format, startTime, endTime, null, null); } - public virtual SaveAsResponse saveAs(string fileName, string format, string notifyUrl, string pipleline) + public virtual SaveAsResponse SaveAs(string fileName, string format, string notifyUrl, string pipleline) { - return saveAs(fileName, format, 0, 0, notifyUrl, pipleline); + return SaveAs(fileName, format, 0, 0, notifyUrl, pipleline); } - public virtual SaveAsResponse saveAs(string fileName, string format) + public virtual SaveAsResponse SaveAs(string fileName, string format) { - return saveAs(fileName, format, 0, 0, null, null); + return SaveAs(fileName, format, 0, 0, null, null); } - public virtual SnapshotResponse snapshot(string name, string format) + public virtual SnapshotResponse Snapshot(string name, string format) { - return API.snapshot(mCredentials, id, name, format, 0, null); + return API.Snapshot(_mCredentials, _id, name, format, 0, null); } - public virtual SnapshotResponse snapshot(string name, string format, string notifyUrl) + public virtual SnapshotResponse Snapshot(string name, string format, string notifyUrl) { - return API.snapshot(mCredentials, id, name, format, 0, notifyUrl); + return API.Snapshot(_mCredentials, _id, name, format, 0, notifyUrl); } - public virtual SnapshotResponse snapshot(string name, string format, long time, string notifyUrl) + public virtual SnapshotResponse Snapshot(string name, string format, long time, string notifyUrl) { - return API.snapshot(mCredentials, id, name, format, time, notifyUrl); + return API.Snapshot(_mCredentials, _id, name, format, time, notifyUrl); } - public virtual Stream enable() + public virtual Stream Enable() { - return API.updateStream(mCredentials, id, null, null, false); + return API.UpdateStream(_mCredentials, _id, null, null, false); } - public virtual Stream disable() + public virtual Stream Disable() { - return API.updateStream(mCredentials, id, null, null, true); + return API.UpdateStream(_mCredentials, _id, null, null, true); } public class Segment @@ -229,7 +229,7 @@ public Segment(long start, long end) public class SaveAsResponse { - private readonly string mJsonString; + private readonly string _mJsonString; public SaveAsResponse(JObject jsonObj) { @@ -244,7 +244,7 @@ public SaveAsResponse(JObject jsonObj) // do nothing. ignore. } PersistentId = jsonObj["persistentId"].ToString(); - mJsonString = jsonObj.ToString(); + _mJsonString = jsonObj.ToString(); } public virtual string Url { get; } @@ -255,19 +255,19 @@ public SaveAsResponse(JObject jsonObj) public override string ToString() { - return mJsonString; + return _mJsonString; } } public class SnapshotResponse { - private readonly string mJsonString; + private readonly string _mJsonString; public SnapshotResponse(JObject jsonObj) { TargetUrl = jsonObj["targetUrl"].ToString(); PersistentId = jsonObj.GetValue("persistentId") == null ? null : jsonObj["persistentId"].ToString(); - mJsonString = jsonObj.ToString(); + _mJsonString = jsonObj.ToString(); } public virtual string TargetUrl { get; } @@ -276,7 +276,7 @@ public SnapshotResponse(JObject jsonObj) public override string ToString() { - return mJsonString; + return _mJsonString; } } @@ -298,35 +298,35 @@ public FramesPerSecond(float audio, float video, float data) public class SegmentList { - private readonly IList segmentList; + private readonly IList _segmentList; public SegmentList(JObject jsonObj) { - segmentList = new List(); + _segmentList = new List(); var jlist = JArray.Parse(jsonObj["segments"].ToString()); for (var i = 0; i < jlist.Count; ++i) { var tempo = JObject.Parse(jlist[i].ToString()); - segmentList.Add(new Segment((long)tempo["start"], (long)tempo["end"])); + _segmentList.Add(new Segment((long)tempo["start"], (long)tempo["end"])); } } - public virtual IList getSegmentList() + public virtual IList GetSegmentList() { - return segmentList; + return _segmentList; } } public class Status { - private readonly string mJsonString; - private readonly string status; + private readonly string _mJsonString; + private readonly string _status; public Status(JObject jsonObj) { Addr = jsonObj["addr"].ToString(); - status = jsonObj["status"].ToString(); + _status = jsonObj["CurrentStatus"].ToString(); var startFrominit = (DateTime)jsonObj["startFrom"]; StartFrom = startFrominit.ToString("yyyy-MM-ddTHH:mm:ssZ"); try @@ -342,7 +342,7 @@ public Status(JObject jsonObj) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - mJsonString = jsonObj.ToString(); + _mJsonString = jsonObj.ToString(); } public virtual string Addr { get; } @@ -353,34 +353,34 @@ public Status(JObject jsonObj) public virtual FramesPerSecond FramesPerSecond { get; } - public virtual string getStatus() + public virtual string GetStatus() { - return status; + return _status; } public override string ToString() { - return mJsonString; + return _mJsonString; } } public class StreamList { - private readonly IList itemList; - private readonly string marker; + private readonly IList _itemList; + private readonly string _marker; public StreamList(JObject jsonObj, Credentials auth) { - marker = jsonObj["marker"].ToString(); - Console.WriteLine("this.marker-----" + marker); + _marker = jsonObj["marker"].ToString(); + Console.WriteLine("this.marker-----" + _marker); try { var record = jsonObj["items"]; - itemList = new List(); + _itemList = new List(); foreach (JObject jp in record) { - itemList.Add(new Stream(JObject.Parse(jp.ToString()), auth)); + _itemList.Add(new Stream(JObject.Parse(jp.ToString()), auth)); } } catch (InvalidCastException e) @@ -390,9 +390,9 @@ public StreamList(JObject jsonObj, Credentials auth) } } - public virtual string Marker => marker; + public virtual string Marker => _marker; - public virtual IList Streams => itemList; + public virtual IList Streams => _itemList; } } } From 8087d351365e43de83ffad1affd1194c211fc822 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Sat, 26 Aug 2017 00:52:12 +0800 Subject: [PATCH 05/24] Add package info. --- pili-sdk-csharp/pili-sdk-csharp.csproj | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pili-sdk-csharp/pili-sdk-csharp.csproj b/pili-sdk-csharp/pili-sdk-csharp.csproj index bfae2d4..7139692 100644 --- a/pili-sdk-csharp/pili-sdk-csharp.csproj +++ b/pili-sdk-csharp/pili-sdk-csharp.csproj @@ -2,6 +2,14 @@ netstandard2.0 + 2.0.0-alpha + An unofficial pili sdk which forks official pili-sdk-csharp. +It added support for .NET Standard 2.0 and optimize naming style. + PM Extra + + https://github.com/PMExtra/pili-sdk-csharp + Qiniu pili live sdk + true From 7d8064751f8a16983a0e8eaf2a1a65200c657643 Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Sun, 27 Aug 2017 21:05:40 +0800 Subject: [PATCH 06/24] Make C# code native. --- pili-sdk-csharp/pili-common/Base64.cs | 866 ------------------ pili-sdk-csharp/pili-common/DateTimeHelper.cs | 11 + pili-sdk-csharp/pili-common/MessageConfig.cs | 2 +- .../pili-common/StringHelperClass.cs | 90 -- pili-sdk-csharp/pili-common/UrlSafeBase64.cs | 15 +- pili-sdk-csharp/pili-common/Utils.cs | 63 +- pili-sdk-csharp/pili-qiniu/Credentials.cs | 32 +- pili-sdk-csharp/pili/API.cs | 50 +- pili-sdk-csharp/pili/Configuration.cs | 4 +- pili-sdk-csharp/pili/DateTimeHelperClass.cs | 11 - pili-sdk-csharp/pili/Hub.cs | 4 - pili-sdk-csharp/pili/PiliException.cs | 2 +- pili-sdk-csharp/pili/Stream.cs | 2 +- 13 files changed, 65 insertions(+), 1087 deletions(-) delete mode 100644 pili-sdk-csharp/pili-common/Base64.cs create mode 100644 pili-sdk-csharp/pili-common/DateTimeHelper.cs delete mode 100644 pili-sdk-csharp/pili-common/StringHelperClass.cs delete mode 100644 pili-sdk-csharp/pili/DateTimeHelperClass.cs diff --git a/pili-sdk-csharp/pili-common/Base64.cs b/pili-sdk-csharp/pili-common/Base64.cs deleted file mode 100644 index 6cba6b4..0000000 --- a/pili-sdk-csharp/pili-common/Base64.cs +++ /dev/null @@ -1,866 +0,0 @@ -using System; -using System.Diagnostics; -using System.Text; - -// CHECKSTYLE:OFF -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace pili_sdk_csharp.pili_common -{ - /// - /// Utilities for encoding and decoding the Base64 representation of - /// binary data. See RFCs - /// - /// 2045 - /// - /// and - /// - /// 3548 - /// - /// . - /// - public sealed class Base64 - { - /// - /// Default values for encoder/decoder flags. - /// - public const int Default = 0; - - /// - /// Encoder flag bit to omit the padding '=' characters at the end - /// of the output (if any). - /// - public const int NoPadding = 1; - - /// - /// Encoder flag bit to omit all line terminators (i.e., the output - /// will be on one long line). - /// - public const int NoWrap = 2; - - /// - /// Encoder flag bit to indicate lines should be terminated with a - /// CRLF pair instead of just an LF. Has no effect if {@code - /// NO_WRAP} is specified as well. - /// - public const int Crlf = 4; - - /// - /// Encoder/decoder flag bit to indicate using the "URL and - /// filename safe" variant of Base64 (see RFC 3548 section 4) where - /// {@code -} and {@code _} are used in place of {@code +} and - /// {@code /}. - /// - public const int UrlSafe = 8; - - /// - /// Flag to pass to indicate that it - /// should not close the output stream it is wrapping when it - /// itself is closed. - /// - public const int NoClose = 16; - - // -------------------------------------------------------- - // shared code - // -------------------------------------------------------- - - private Base64() - { - } // don't instantiate - - // -------------------------------------------------------- - // decoding - // -------------------------------------------------------- - - /// - /// Decode the Base64-encoded data in input and return the data in - /// a new byte array. - ///

- /// - /// The padding '=' characters at the end are considered optional, but - /// if any are present, there must be the correct number of them. - /// - ///

- /// - /// the input String to decode, which is converted to - /// bytes using the default charset - /// - /// - /// controls certain features of the decoded output. - /// Pass {@code DEFAULT} to decode standard Base64. - /// - /// - /// if the input contains - /// incorrect padding - /// - public static byte[] Decode(string str, int flags) - { - return Decode(Encoding.UTF8.GetBytes(str), flags); - } - - /// - /// Decode the Base64-encoded data in input and return the data in - /// a new byte array. - ///

- /// - /// The padding '=' characters at the end are considered optional, but - /// if any are present, there must be the correct number of them. - /// - ///

- /// the input array to decode - /// - /// controls certain features of the decoded output. - /// Pass {@code DEFAULT} to decode standard Base64. - /// - /// - /// if the input contains - /// incorrect padding - /// - public static byte[] Decode(byte[] input, int flags) - { - return Decode(input, 0, input.Length, flags); - } - - /// - /// Decode the Base64-encoded data in input and return the data in - /// a new byte array. - ///

- /// - /// The padding '=' characters at the end are considered optional, but - /// if any are present, there must be the correct number of them. - /// - ///

- /// the data to decode - /// the position within the input array at which to start - /// the number of bytes of input to decode - /// - /// controls certain features of the decoded output. - /// Pass {@code DEFAULT} to decode standard Base64. - /// - /// - /// if the input contains - /// incorrect padding - /// - public static byte[] Decode(byte[] input, int offset, int len, int flags) - { - // Allocate space for the most data the input could represent. - // (It could contain less if it contains whitespace, etc.) - var decoder = new Decoder(flags, new byte[len * 3 / 4]); - - if (!decoder.Process(input, offset, len, true)) - { - throw new ArgumentException("bad base-64"); - } - - // Maybe we got lucky and allocated exactly enough output space. - if (decoder.Op == decoder.Output.Length) - { - return decoder.Output; - } - - // Need to shorten the array, so allocate a new one of the - // right size and copy. - var temp = new byte[decoder.Op]; - Array.Copy(decoder.Output, 0, temp, 0, decoder.Op); - return temp; - } - - /// - /// Base64-encode the given data and return a newly allocated - /// String with the result. - /// - /// the data to encode - /// - /// controls certain features of the encoded output. - /// Passing {@code DEFAULT} results in output that - /// adheres to RFC 2045. - /// - public static string EncodeToString(byte[] input, int flags) - { - return StringHelperClass.NewString(Encode(input, flags), "US-ASCII"); - } - - - // -------------------------------------------------------- - // encoding - // -------------------------------------------------------- - - /// - /// Base64-encode the given data and return a newly allocated - /// String with the result. - /// - /// the data to encode - /// - /// the position within the input array at which to - /// start - /// - /// the number of bytes of input to encode - /// - /// controls certain features of the encoded output. - /// Passing {@code DEFAULT} results in output that - /// adheres to RFC 2045. - /// - public static string EncodeToString(byte[] input, int offset, int len, int flags) - { - return StringHelperClass.NewString(Encode(input, offset, len, flags), "US-ASCII"); - } - - /// - /// Base64-encode the given data and return a newly allocated - /// byte[] with the result. - /// - /// the data to encode - /// - /// controls certain features of the encoded output. - /// Passing {@code DEFAULT} results in output that - /// adheres to RFC 2045. - /// - public static byte[] Encode(byte[] input, int flags) - { - return Encode(input, 0, input.Length, flags); - } - - /// - /// Base64-encode the given data and return a newly allocated - /// byte[] with the result. - /// - /// the data to encode - /// - /// the position within the input array at which to - /// start - /// - /// the number of bytes of input to encode - /// - /// controls certain features of the encoded output. - /// Passing {@code DEFAULT} results in output that - /// adheres to RFC 2045. - /// - public static byte[] Encode(byte[] input, int offset, int len, int flags) - { - var encoder = new Encoder(flags, null); - - // Compute the exact length of the array we will produce. - var outputLen = len / 3 * 4; - - // Account for the tail of the data and the padding bytes, if any. - if (encoder.DoPadding) - { - if (len % 3 > 0) - { - outputLen += 4; - } - } - else - { - switch (len % 3) - { - case 0: - break; - case 1: - outputLen += 2; - break; - case 2: - outputLen += 3; - break; - } - } - - // Account for the newlines, if any. - if (encoder.DoNewline && len > 0) - { - outputLen += ((len - 1) / (3 * Encoder.LineGroups) + 1) * (encoder.DoCr ? 2 : 1); - } - - encoder.Output = new byte[outputLen]; - encoder.Process(input, offset, len, true); - - Debug.Assert(encoder.Op == outputLen); - - return encoder.Output; - } - - /* package */ - internal abstract class Coder - { - public int Op; - public byte[] Output; - - /// - /// Encode/decode another block of input data. this.output is - /// provided by the caller, and must be big enough to hold all - /// the coded data. On exit, this.opwill be set to the length - /// of the coded data. - /// - /// - /// true if this is the final call to process for - /// this object. Will finalize the coder state and - /// include any final bytes in the output. - /// - /// - /// true if the input so far is good; false if some - /// error has been detected in the input stream.. - /// - public abstract bool Process(byte[] input, int offset, int len, bool finish); - - /// - /// the maximum number of bytes a call to process() - /// could produce for the given number of input bytes. This may - /// be an overestimate. - /// - public abstract int MaxOutputSize(int len); - } - - /* package */ - internal class Decoder : Coder - { - /// - /// Non-data values in the DECODE arrays. - /// - internal const int Skip = -1; - - internal const int EQUALS = -2; - - /// - /// Lookup table for turning bytes into their position in the - /// Base64 alphabet. - /// - internal static readonly int[] Decode = - { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1 - }; - - /// - /// Decode lookup table for the "web safe" variant (RFC 3548 - /// sec. 4) where - and _ replace + and /. - /// - internal static readonly int[] DecodeWebsafe = - { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 62, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, 63, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1 - }; - - internal readonly int[] Alphabet; - - /// - /// States 0-3 are reading through the next input tuple. - /// State 4 is having read one '=' and expecting exactly - /// one more. - /// State 5 is expecting no more data or padding characters - /// in the input. - /// State 6 is the error state; an error has been detected - /// in the input and no future input can "fix" it. - /// - internal int State; // state number (0 to 6) - - internal int Value; - - public Decoder(int flags, byte[] output) - { - Output = output; - - Alphabet = (flags & UrlSafe) == 0 ? Decode : DecodeWebsafe; - State = 0; - Value = 0; - } - - /// - /// an overestimate for the number of bytes {@code - /// len} bytes could decode to. - /// - public override int MaxOutputSize(int len) - { - return len * 3 / 4 + 10; - } - - /// - /// Decode another block of input data. - /// - /// - /// true if the state machine is still healthy. false if - /// bad base-64 data has been detected in the input stream. - /// - public override bool Process(byte[] input, int offset, int len, bool finish) - { - if (State == 6) - { - return false; - } - - var p = offset; - len += offset; - - // Using local variables makes the decoder about 12% - // faster than if we manipulate the member variables in - // the loop. (Even alphabet makes a measurable - // difference, which is somewhat surprising to me since - // the member variable is final.) - var state = State; - var value = Value; - var op = 0; - //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': - //ORIGINAL LINE: final byte[] output = this.output; - var output = Output; - //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': - //ORIGINAL LINE: final int[] alphabet = this.alphabet; - var alphabet = Alphabet; - - while (p < len) - { - // Try the fast path: we're starting a new tuple and the - // next four bytes of the input stream are all data - // bytes. This corresponds to going through states - // 0-1-2-3-0. We expect to use this method for most of - // the data. - // - // If any of the next four bytes of input are non-data - // (whitespace, etc.), value will end up negative. (All - // the non-data values in decode are small negative - // numbers, so shifting any of them up and or'ing them - // together will result in a value with its top bit set.) - // - // You can remove this whole block and the output should - // be the same, just slower. - if (state == 0) - { - while (p + 4 <= len && (value = (alphabet[input[p] & 0xff] << 18) | (alphabet[input[p + 1] & 0xff] << 12) | (alphabet[input[p + 2] & 0xff] << 6) | - alphabet[input[p + 3] & 0xff]) >= 0) - { - output[op + 2] = (byte)value; - output[op + 1] = (byte)(value >> 8); - output[op] = (byte)(value >> 16); - op += 3; - p += 4; - } - if (p >= len) - { - break; - } - } - - // The fast path isn't available -- either we've read a - // partial tuple, or the next four input bytes aren't all - // data, or whatever. Fall back to the slower state - // machine implementation. - - var d = alphabet[input[p++] & 0xff]; - - switch (state) - { - case 0: - if (d >= 0) - { - value = d; - ++state; - } - else if (d != Skip) - { - State = 6; - return false; - } - break; - - case 1: - if (d >= 0) - { - value = (value << 6) | d; - ++state; - } - else if (d != Skip) - { - State = 6; - return false; - } - break; - - case 2: - if (d >= 0) - { - value = (value << 6) | d; - ++state; - } - else if (d == EQUALS) - { - // Emit the last (partial) output tuple; - // expect exactly one more padding character. - output[op++] = (byte)(value >> 4); - state = 4; - } - else if (d != Skip) - { - State = 6; - return false; - } - break; - - case 3: - if (d >= 0) - { - // Emit the output triple and return to state 0. - value = (value << 6) | d; - output[op + 2] = (byte)value; - output[op + 1] = (byte)(value >> 8); - output[op] = (byte)(value >> 16); - op += 3; - state = 0; - } - else if (d == EQUALS) - { - // Emit the last (partial) output tuple; - // expect no further data or padding characters. - output[op + 1] = (byte)(value >> 2); - output[op] = (byte)(value >> 10); - op += 2; - state = 5; - } - else if (d != Skip) - { - State = 6; - return false; - } - break; - - case 4: - if (d == EQUALS) - { - ++state; - } - else if (d != Skip) - { - State = 6; - return false; - } - break; - - case 5: - if (d != Skip) - { - State = 6; - return false; - } - break; - } - } - - if (!finish) - { - // We're out of input, but a future call could provide - // more. - State = state; - Value = value; - Op = op; - return true; - } - - // Done reading input. Now figure out where we are left in - // the state machine and finish up. - - switch (state) - { - case 0: - // Output length is a multiple of three. Fine. - break; - case 1: - // Read one extra input byte, which isn't enough to - // make another output byte. Illegal. - State = 6; - return false; - case 2: - // Read two extra input bytes, enough to emit 1 more - // output byte. Fine. - output[op++] = (byte)(value >> 4); - break; - case 3: - // Read three extra input bytes, enough to emit 2 more - // output bytes. Fine. - output[op++] = (byte)(value >> 10); - output[op++] = (byte)(value >> 2); - break; - case 4: - // Read one padding '=' when we expected 2. Illegal. - State = 6; - return false; - case 5: - // Read all the padding '='s we expected and no more. - // Fine. - break; - } - - State = state; - Op = op; - return true; - } - } - - /* package */ - internal class Encoder : Coder - { - /// - /// Emit a new line every this many output tuples. Corresponds to - /// a 76-character line length (the maximum allowable according to - /// RFC 2045). - /// - public const int LineGroups = 19; - - /// - /// Lookup table for turning Base64 alphabet positions (6 bits) - /// into output bytes. - /// - internal static readonly byte[] Encode = - { - (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', (byte)'O', - (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', (byte)'a', (byte)'b', (byte)'c', (byte)'d', - (byte)'e', (byte)'f', (byte)'g', (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n', (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', - (byte)'t', (byte)'u', (byte)'v', (byte)'w', (byte)'x', (byte)'y', (byte)'z', (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', (byte)'7', - (byte)'8', (byte)'9', (byte)'+', (byte)'/' - }; - - /// - /// Lookup table for turning Base64 alphabet positions (6 bits) - /// into output bytes. - /// - internal static readonly byte[] EncodeWebsafe = - { - (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', (byte)'O', - (byte)'P', (byte)'Q', (byte)'R', (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X', (byte)'Y', (byte)'Z', (byte)'a', (byte)'b', (byte)'c', (byte)'d', - (byte)'e', (byte)'f', (byte)'g', (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l', (byte)'m', (byte)'n', (byte)'o', (byte)'p', (byte)'q', (byte)'r', (byte)'s', - (byte)'t', (byte)'u', (byte)'v', (byte)'w', (byte)'x', (byte)'y', (byte)'z', (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5', (byte)'6', (byte)'7', - (byte)'8', (byte)'9', (byte)'-', (byte)'_' - }; - - internal readonly byte[] Alphabet; - public readonly bool DoCr; - public readonly bool DoNewline; - public readonly bool DoPadding; - internal readonly byte[] Tail; - - internal int Count; - - /* package */ - internal int TailLen; - - public Encoder(int flags, byte[] output) - { - Output = output; - - DoPadding = (flags & NoPadding) == 0; - DoNewline = (flags & NoWrap) == 0; - DoCr = (flags & Crlf) != 0; - Alphabet = (flags & UrlSafe) == 0 ? Encode : EncodeWebsafe; - - Tail = new byte[2]; - TailLen = 0; - - Count = DoNewline ? LineGroups : -1; - } - - /// - /// an overestimate for the number of bytes {@code - /// len} bytes could encode to. - /// - public override int MaxOutputSize(int len) - { - return len * 8 / 5 + 10; - } - - public override bool Process(byte[] input, int offset, int len, bool finish) - { - // Using local variables makes the encoder about 9% faster. - //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': - //ORIGINAL LINE: final byte[] alphabet = this.alphabet; - var alphabet = Alphabet; - //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': - //ORIGINAL LINE: final byte[] output = this.output; - var output = Output; - var op = 0; - var count = Count; - - var p = offset; - len += offset; - var v = -1; - - // First we need to concatenate the tail of the previous call - // with any input bytes available now and see if we can empty - // the tail. - - switch (TailLen) - { - case 0: - // There was no tail. - break; - - case 1: - if (p + 2 <= len) - { - // A 1-byte tail with at least 2 bytes of - // input available now. - v = ((Tail[0] & 0xff) << 16) | ((input[p++] & 0xff) << 8) | (input[p++] & 0xff); - TailLen = 0; - } - break; - - case 2: - if (p + 1 <= len) - { - // A 2-byte tail with at least 1 byte of input. - v = ((Tail[0] & 0xff) << 16) | ((Tail[1] & 0xff) << 8) | (input[p++] & 0xff); - TailLen = 0; - } - break; - } - - if (v != -1) - { - output[op++] = alphabet[(v >> 18) & 0x3f]; - output[op++] = alphabet[(v >> 12) & 0x3f]; - output[op++] = alphabet[(v >> 6) & 0x3f]; - output[op++] = alphabet[v & 0x3f]; - if (--count == 0) - { - if (DoCr) - { - output[op++] = (byte)'\r'; - } - output[op++] = (byte)'\n'; - count = LineGroups; - } - } - - // At this point either there is no tail, or there are fewer - // than 3 bytes of input available. - - // The main loop, turning 3 input bytes into 4 output bytes on - // each iteration. - while (p + 3 <= len) - { - v = ((input[p] & 0xff) << 16) | ((input[p + 1] & 0xff) << 8) | (input[p + 2] & 0xff); - output[op] = alphabet[(v >> 18) & 0x3f]; - output[op + 1] = alphabet[(v >> 12) & 0x3f]; - output[op + 2] = alphabet[(v >> 6) & 0x3f]; - output[op + 3] = alphabet[v & 0x3f]; - p += 3; - op += 4; - if (--count == 0) - { - if (DoCr) - { - output[op++] = (byte)'\r'; - } - output[op++] = (byte)'\n'; - count = LineGroups; - } - } - - if (finish) - { - // Finish up the tail of the input. Note that we need to - // consume any bytes in tail before any bytes - // remaining in input; there should be at most two bytes - // total. - - if (p - TailLen == len - 1) - { - var t = 0; - v = ((TailLen > 0 ? Tail[t++] : input[p++]) & 0xff) << 4; - TailLen -= t; - output[op++] = alphabet[(v >> 6) & 0x3f]; - output[op++] = alphabet[v & 0x3f]; - if (DoPadding) - { - output[op++] = (byte)'='; - output[op++] = (byte)'='; - } - if (DoNewline) - { - if (DoCr) - { - output[op++] = (byte)'\r'; - } - output[op++] = (byte)'\n'; - } - } - else if (p - TailLen == len - 2) - { - var t = 0; - v = (((TailLen > 1 ? Tail[t++] : input[p++]) & 0xff) << 10) | (((TailLen > 0 ? Tail[t++] : input[p++]) & 0xff) << 2); - TailLen -= t; - output[op++] = alphabet[(v >> 12) & 0x3f]; - output[op++] = alphabet[(v >> 6) & 0x3f]; - output[op++] = alphabet[v & 0x3f]; - if (DoPadding) - { - output[op++] = (byte)'='; - } - if (DoNewline) - { - if (DoCr) - { - output[op++] = (byte)'\r'; - } - output[op++] = (byte)'\n'; - } - } - else if (DoNewline && op > 0 && count != LineGroups) - { - if (DoCr) - { - output[op++] = (byte)'\r'; - } - output[op++] = (byte)'\n'; - } - - Debug.Assert(TailLen == 0); - Debug.Assert(p == len); - } - else - { - // Save the leftovers in tail to be consumed on the next - // call to encodeInternal. - - if (p == len - 1) - { - Tail[TailLen++] = input[p]; - } - else if (p == len - 2) - { - Tail[TailLen++] = input[p]; - Tail[TailLen++] = input[p + 1]; - } - } - - Op = op; - Count = count; - - return true; - } - } - } - - // CHECKSTYLE:ON -} diff --git a/pili-sdk-csharp/pili-common/DateTimeHelper.cs b/pili-sdk-csharp/pili-common/DateTimeHelper.cs new file mode 100644 index 0000000..5544f28 --- /dev/null +++ b/pili-sdk-csharp/pili-common/DateTimeHelper.cs @@ -0,0 +1,11 @@ +using System; + +internal static class DateTimeHelper +{ + private static readonly DateTimeOffset UnixEpoch = DateTimeOffset.FromUnixTimeSeconds(0); + + internal static long CurrentUnixTimeMillis() + { + return (long)(DateTimeOffset.UtcNow - UnixEpoch).TotalMilliseconds; + } +} diff --git a/pili-sdk-csharp/pili-common/MessageConfig.cs b/pili-sdk-csharp/pili-common/MessageConfig.cs index c40067e..f316acc 100644 --- a/pili-sdk-csharp/pili-common/MessageConfig.cs +++ b/pili-sdk-csharp/pili-common/MessageConfig.cs @@ -9,6 +9,6 @@ public class MessageConfig public const string IllegalTimeMsg = "Illegal startTime or endTime!"; public const string IllegalFileNameExceptionMsg = "Illegal file name !"; public const string IllegalFormatExceptionMsg = "Illegal format !"; - public static readonly string IllegalTitleMsg = "The length of title should be at least:" + Config.TitleMinLength + ",or at most:" + Config.TitleMaxLength; + public static readonly string IllegalTitleMsg = $"The length of title should be at least: {Config.TitleMinLength}, or at most: {Config.TitleMaxLength}"; } } diff --git a/pili-sdk-csharp/pili-common/StringHelperClass.cs b/pili-sdk-csharp/pili-common/StringHelperClass.cs deleted file mode 100644 index ee498f7..0000000 --- a/pili-sdk-csharp/pili-common/StringHelperClass.cs +++ /dev/null @@ -1,90 +0,0 @@ -//------------------------------------------------------------------------------------------- -// Copyright © 2007 - 2015 Tangible Software Solutions Inc. -// This class can be used by anyone provided that the copyright notice remains intact. -// -// This class is used to convert some aspects of the Java String class. -//------------------------------------------------------------------------------------------- - -using System; -using System.Text; -using System.Text.RegularExpressions; - -internal static class StringHelperClass -{ - internal static string SubstringSpecial(this string self, int start, int end) - { - return self.Substring(start, end - start); - } - - - internal static bool StartsWith(this string self, string prefix, int toffset) - { - return self.IndexOf(prefix, toffset, StringComparison.Ordinal) == toffset; - } - - - internal static string[] Split(this string self, string regexDelimiter, bool trimTrailingEmptyStrings) - { - var splitArray = Regex.Split(self, regexDelimiter); - - if (trimTrailingEmptyStrings) - { - if (splitArray.Length > 1) - { - for (var i = splitArray.Length; i > 0; i--) - { - if (splitArray[i - 1].Length > 0) - { - if (i < splitArray.Length) - { - Array.Resize(ref splitArray, i); - } - - break; - } - } - } - } - - return splitArray; - } - - - internal static string NewString(byte[] bytes) - { - return NewString(bytes, 0, bytes.Length); - } - - internal static string NewString(byte[] bytes, int index, int count) - { - return Encoding.UTF8.GetString(bytes, index, count); - } - - internal static string NewString(byte[] bytes, string encoding) - { - return NewString(bytes, 0, bytes.Length, encoding); - } - - internal static string NewString(byte[] bytes, int index, int count, string encoding) - { - return Encoding.GetEncoding(encoding).GetString(bytes, index, count); - } - - - internal static byte[] GetBytes(this string self) - { - return GetbytesForEncoding(Encoding.UTF8, self); - } - - internal static byte[] GetBytes(this string self, string encoding) - { - return GetbytesForEncoding(Encoding.GetEncoding(encoding), self); - } - - private static byte[] GetbytesForEncoding(Encoding encoding, string s) - { - var bytes = new byte[encoding.GetByteCount(s)]; - encoding.GetBytes(s, 0, s.Length, bytes, 0); - return bytes; - } -} diff --git a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs index 7cc0577..02acc6b 100644 --- a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs +++ b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs @@ -1,4 +1,5 @@ using System; +using System.Text; namespace pili_sdk_csharp.pili_common { @@ -8,7 +9,7 @@ public static string EncodeToString(string data) { try { - return EncodeToString(data.GetBytes(Config.Utf8)); + return EncodeToString(Encoding.UTF8.GetBytes(data)); } catch (Exception e) { @@ -20,12 +21,18 @@ public static string EncodeToString(string data) public static string EncodeToString(byte[] data) { - return Base64.EncodeToString(data, Base64.UrlSafe | Base64.NoWrap); + return Convert.ToBase64String(data) + .Replace('+', '-').Replace('/', '_') + .TrimEnd('='); } - public static byte[] Decode(string data) + public static byte[] Decode(string base64) { - return Base64.Decode(data, Base64.UrlSafe | Base64.NoWrap); + base64 = base64 + .PadRight(base64.Length + (4 - base64.Length % 4) % 4, '=') + .Replace('_', '/').Replace('-', '+'); + + return Convert.FromBase64String(base64); } } } diff --git a/pili-sdk-csharp/pili-common/Utils.cs b/pili-sdk-csharp/pili-common/Utils.cs index 9f2312b..f00e37c 100644 --- a/pili-sdk-csharp/pili-common/Utils.cs +++ b/pili-sdk-csharp/pili-common/Utils.cs @@ -1,6 +1,4 @@ -using System; -using System.IO; -using Newtonsoft.Json; +using Newtonsoft.Json; namespace pili_sdk_csharp.pili_common { @@ -12,17 +10,16 @@ public static string UserAgent { get { - var csharpVersion = "csharp"; - var os = "windows"; - var sdk = Config.UserAgent + Config.SdkVersion; + const string csharpVersion = "csharp"; + const string os = "windows"; + const string sdk = Config.UserAgent + Config.SdkVersion; return sdk + os + csharpVersion; } } public static string JsonEncode(object obj) { - var setting = new JsonSerializerSettings(); - setting.NullValueHandling = NullValueHandling.Ignore; + var setting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; return JsonConvert.SerializeObject(obj, setting); } @@ -30,55 +27,5 @@ public static T ToObject(string value) { return JsonConvert.DeserializeObject(value); } - - public static void Copy(Stream dst, Stream src) - { - var l = src.Position; - var buffer = new byte[BufferLen]; - while (true) - { - var n = src.Read(buffer, 0, BufferLen); - if (n == 0) break; - dst.Write(buffer, 0, n); - } - src.Seek(l, SeekOrigin.Begin); - } - - public static void CopyN(Stream dst, Stream src, long numBytesToCopy) - { - var l = src.Position; - var buffer = new byte[BufferLen]; - long numBytesWritten = 0; - while (numBytesWritten < numBytesToCopy) - { - var len = BufferLen; - if (numBytesToCopy - numBytesWritten < len) - { - len = (int)(numBytesToCopy - numBytesWritten); - } - var n = src.Read(buffer, 0, len); - if (n == 0) break; - dst.Write(buffer, 0, n); - numBytesWritten += n; - } - src.Seek(l, SeekOrigin.Begin); - if (numBytesWritten != numBytesToCopy) - { - throw new Exception("StreamUtil.CopyN: nwritten not equal to ncopy"); - } - } - - /* - * check the arg. - * 1. arg == null, return false, treat as empty situation - * 2. arg == "", return false, treat as empty situation - * 3. arg == " " or arg == " ", return false, treat as empty situation - * 4. return true, only if the arg is a illegal string - * - * */ - public static bool IsArgNotEmpty(string arg) - { - return arg != null && arg.Trim().Length > 0; - } } } diff --git a/pili-sdk-csharp/pili-qiniu/Credentials.cs b/pili-sdk-csharp/pili-qiniu/Credentials.cs index ea8432f..bde3d5c 100644 --- a/pili-sdk-csharp/pili-qiniu/Credentials.cs +++ b/pili-sdk-csharp/pili-qiniu/Credentials.cs @@ -8,19 +8,16 @@ namespace pili_sdk_csharp.pili_qiniu public class Credentials { private const string DigestAuthPrefix = "Qiniu"; - private readonly string _mAccessKey; - private readonly HMACSHA1 _mSkSpec; + private readonly string _accessKey; + private readonly HMACSHA1 _skSpec; public Credentials(string ak, string sk) { - if (ak == null || sk == null) - { - throw new ArgumentException("Invalid accessKey or secretKey!!"); - } - _mAccessKey = ak; + _accessKey = ak ?? throw new ArgumentNullException(nameof(ak), "Invalid accessKey!"); + var mSecretKey = sk ?? throw new ArgumentNullException(nameof(sk), "Invalid secretKey!!"); try { - _mSkSpec = new HMACSHA1(sk.GetBytes(Config.Utf8)); + _skSpec = new HMACSHA1(Encoding.UTF8.GetBytes(mSecretKey)); } catch (Exception e) { @@ -44,12 +41,11 @@ public virtual string SignRequest(Uri url, string method, byte[] body, string co // Host: sb.Append($"\nHost: {url.Host}"); - - if (url.Port != 80) { sb.Append($":{url.Port}"); } + // Content-Type: if (contentType != null) { @@ -58,11 +54,11 @@ public virtual string SignRequest(Uri url, string method, byte[] body, string co // body sb.Append("\n\n"); - if (body != null && contentType != null && !"application/octet-stream".Equals(contentType)) + if (body != null && contentType != null && contentType != "application/octet-stream") { - sb.Append(StringHelperClass.NewString(body)); + sb.Append(Encoding.UTF8.GetString(body)); } - return $"{DigestAuthPrefix} {_mAccessKey}:{SignData(sb.ToString())}"; + return $"{DigestAuthPrefix} {_accessKey}:{SignData(sb.ToString())}"; } private static byte[] Digest(string secret, string data) @@ -85,7 +81,6 @@ private static byte[] Digest(string secret, string data) } } - public static string Sign(string secret, string data) { return UrlSafeBase64.EncodeToString(Digest(secret, data)); @@ -96,10 +91,9 @@ private string SignData(string data) string sign; try { - var mac = CreateMac(_mSkSpec); var encoding = Encoding.UTF8; var newdata = encoding.GetBytes(data); - var digest = mac.ComputeHash(newdata); + var digest = _skSpec.ComputeHash(newdata); sign = UrlSafeBase64.EncodeToString(digest); } catch (Exception e) @@ -108,11 +102,5 @@ private string SignData(string data) } return sign; } - - private static HMACSHA1 CreateMac(HMACSHA1 secretKeySpec) - { - var mac = secretKeySpec; - return mac; - } } } diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index cfb2629..ad8a747 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -3,6 +3,7 @@ using System.IO; using System.Net; using System.Web; +using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using pili_sdk_csharp.pili_common; @@ -14,7 +15,6 @@ public class API { private static readonly string APIBaseUrl = $"{(Configuration.Instance.UseHttps ? "https" : "http")}://{Configuration.Instance.API_HOST}/{Configuration.Instance.API_VERSION}"; - private static HttpWebRequest _mOkHttpClient; public static Stream CreateStream(Credentials credentials, string hubName, string title, string publishKey, string publishSecurity) @@ -27,7 +27,7 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin { { "hub", hubName } }; - if (Utils.IsArgNotEmpty(title)) + if (string.IsNullOrWhiteSpace(title)) { if (title.Length < Config.TitleMinLength || title.Length > Config.TitleMaxLength) { @@ -35,11 +35,11 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin } json.Add("title", title); } - if (Utils.IsArgNotEmpty(publishKey)) + if (string.IsNullOrWhiteSpace(publishKey)) { json.Add("publishKey", publishKey); } - if (Utils.IsArgNotEmpty(publishSecurity)) + if (string.IsNullOrWhiteSpace(publishSecurity)) { json.Add("publishSecurity", publishSecurity); } @@ -51,7 +51,7 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin var contentType = "application/json"; _mOkHttpClient.Method = WebRequestMethods.Http.Post; var jsonobj = JsonConvert.SerializeObject(json); - var body = jsonobj.GetBytes(Config.Utf8); + var body = Encoding.UTF8.GetBytes(jsonobj); var macToken = credentials.SignRequest(url, "POST", body, contentType); _mOkHttpClient.ContentType = contentType; _mOkHttpClient.UserAgent = Utils.UserAgent; @@ -59,7 +59,7 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin _mOkHttpClient.ContentLength = body.Length; using (var requestStream = _mOkHttpClient.GetRequestStream()) { - Utils.CopyN(requestStream, new MemoryStream(body), body.Length); + new MemoryStream(body).CopyTo(requestStream); } response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } @@ -142,7 +142,7 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN try { hubName = HttpUtility.UrlEncode(hubName); - if (Utils.IsArgNotEmpty(startMarker)) + if (string.IsNullOrWhiteSpace(startMarker)) { startMarker = HttpUtility.UrlEncode(startMarker); } @@ -154,7 +154,7 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN throw new PiliException(e); } var urlStr = $"{APIBaseUrl}/streams?hub={hubName}"; - if (Utils.IsArgNotEmpty(startMarker)) + if (string.IsNullOrWhiteSpace(startMarker)) { urlStr += "&marker=" + startMarker; } @@ -162,7 +162,7 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN { urlStr += "&limit=" + limitCount; } - if (Utils.IsArgNotEmpty(titlePrefix)) + if (string.IsNullOrWhiteSpace(titlePrefix)) { urlStr += "&title=" + titlePrefix; } @@ -258,24 +258,23 @@ public static Stream UpdateStream(Credentials credentials, string streamId, stri { throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (Utils.IsArgNotEmpty(publishKey)) + if (string.IsNullOrWhiteSpace(publishKey)) { json.Add("publishKey", publishKey); } - if (Utils.IsArgNotEmpty(publishSecurity)) + if (string.IsNullOrWhiteSpace(publishSecurity)) { json.Add("publishSecurity", publishSecurity); } json.Add("disabled", disabled); - var urlStr = $"{APIBaseUrl}/streams/{streamId}"; HttpWebResponse response; try { var url = new Uri(urlStr); var jsonobj = JsonConvert.SerializeObject(json); - var body = jsonobj.GetBytes(Config.Utf8); + var body = Encoding.UTF8.GetBytes(jsonobj); _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); var contentType = "application/json"; var macToken = credentials.SignRequest(url, "POST", body, contentType); @@ -286,7 +285,7 @@ public static Stream UpdateStream(Credentials credentials, string streamId, stri _mOkHttpClient.ContentLength = body.Length; using (var requestStream = _mOkHttpClient.GetRequestStream()) { - Utils.CopyN(requestStream, new MemoryStream(body), body.Length); + new MemoryStream(body).CopyTo(requestStream); } response = (HttpWebResponse)_mOkHttpClient.GetResponse(); @@ -364,25 +363,23 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (!Utils.IsArgNotEmpty(fileName)) + if (!string.IsNullOrWhiteSpace(fileName)) { throw new PiliException(MessageConfig.IllegalFileNameExceptionMsg); } - if (start < 0 || end < 0 || start > end) { throw new PiliException(MessageConfig.IllegalTimeMsg); } - var urlStr = $"{APIBaseUrl}/streams/{streamId}/saveas"; HttpWebResponse response; var json = new JObject { { "name", fileName } }; - if (Utils.IsArgNotEmpty(notifyUrl)) + if (string.IsNullOrWhiteSpace(notifyUrl)) { json.Add("notifyUrl", notifyUrl); } @@ -400,13 +397,12 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea json.Add("pipleline", pipleline); } - try { var url = new Uri(urlStr); _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); var contentType = "application/json"; - var body = json.ToString().GetBytes(Config.Utf8); + var body = Encoding.UTF8.GetBytes(json.ToString()); var macToken = credentials.SignRequest(url, "POST", body, contentType); _mOkHttpClient.Method = WebRequestMethods.Http.Post; _mOkHttpClient.ContentType = contentType; @@ -415,7 +411,7 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea _mOkHttpClient.ContentLength = body.Length; using (var requestStream = _mOkHttpClient.GetRequestStream()) { - Utils.CopyN(requestStream, new MemoryStream(body), body.Length); + new MemoryStream(body).CopyTo(requestStream); } response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } @@ -452,12 +448,12 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (!Utils.IsArgNotEmpty(fileName)) + if (!string.IsNullOrWhiteSpace(fileName)) { throw new PiliException(MessageConfig.IllegalFileNameExceptionMsg); } - if (!Utils.IsArgNotEmpty(format)) + if (!string.IsNullOrWhiteSpace(format)) { throw new PiliException(MessageConfig.IllegalFormatExceptionMsg); } @@ -473,7 +469,7 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s { json.Add("time", time); } - if (Utils.IsArgNotEmpty(notifyUrl)) + if (string.IsNullOrWhiteSpace(notifyUrl)) { json.Add("notifyUrl", notifyUrl); // optional } @@ -483,7 +479,7 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s var url = new Uri(urlStr); _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); var contentType = "application/json"; - var body = json.ToString().GetBytes(Config.Utf8); + var body = Encoding.UTF8.GetBytes(json.ToString()); var macToken = credentials.SignRequest(url, "POST", body, contentType); _mOkHttpClient.Method = WebRequestMethods.Http.Post; _mOkHttpClient.ContentType = contentType; @@ -492,7 +488,7 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s _mOkHttpClient.ContentLength = body.Length; using (var requestStream = _mOkHttpClient.GetRequestStream()) { - Utils.CopyN(requestStream, new MemoryStream(body), body.Length); + new MemoryStream(body).CopyTo(requestStream); } response = (HttpWebResponse)_mOkHttpClient.GetResponse(); } @@ -682,7 +678,7 @@ private static string GenerateDynamicUrl(Stream stream, long nonce, string schem { if (nonce <= 0) { - nonce = DateTimeHelperClass.CurrentUnixTimeMillis() / 1000; // the unit should be second + nonce = DateTimeHelper.CurrentUnixTimeMillis() / 1000; // the unit should be second } var baseUri = "/" + stream.HubName + "/" + stream.Title + "?nonce=" + nonce; diff --git a/pili-sdk-csharp/pili/Configuration.cs b/pili-sdk-csharp/pili/Configuration.cs index 1312743..50db430 100644 --- a/pili-sdk-csharp/pili/Configuration.cs +++ b/pili-sdk-csharp/pili/Configuration.cs @@ -19,7 +19,7 @@ public virtual string APIHost { set { - if (!Utils.IsArgNotEmpty(value)) + if (!string.IsNullOrWhiteSpace(value)) { throw new ArgumentException("Illegal API Host:" + value); } @@ -31,7 +31,7 @@ public virtual string APIVersion { set { - if (!Utils.IsArgNotEmpty(value)) + if (!string.IsNullOrWhiteSpace(value)) { throw new ArgumentException("Illegal API Version:" + value); } diff --git a/pili-sdk-csharp/pili/DateTimeHelperClass.cs b/pili-sdk-csharp/pili/DateTimeHelperClass.cs deleted file mode 100644 index f45c2a8..0000000 --- a/pili-sdk-csharp/pili/DateTimeHelperClass.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -internal static class DateTimeHelperClass -{ - private static readonly DateTime Jan1St1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - - internal static long CurrentUnixTimeMillis() - { - return (long)(DateTime.UtcNow - Jan1St1970).TotalMilliseconds; - } -} diff --git a/pili-sdk-csharp/pili/Hub.cs b/pili-sdk-csharp/pili/Hub.cs index 8757950..240fbcb 100644 --- a/pili-sdk-csharp/pili/Hub.cs +++ b/pili-sdk-csharp/pili/Hub.cs @@ -15,7 +15,6 @@ public Hub(Credentials credentials, string hubName) _mHubName = hubName ?? throw new ArgumentException(MessageConfig.NullHubnameExceptionMsg); } - public virtual Stream CreateStream() { return API.CreateStream(_mCredentials, _mHubName, null, null, null); @@ -31,19 +30,16 @@ public virtual Stream GetStream(string streamId) return API.GetStream(_mCredentials, streamId); } - public virtual Stream.StreamList ListStreams() { return API.ListStreams(_mCredentials, _mHubName, null, 0, null); } - public virtual Stream.StreamList ListStreams(string marker, long limit) { return API.ListStreams(_mCredentials, _mHubName, marker, limit, null); } - public virtual Stream.StreamList ListStreams(string marker, long limit, string titlePrefix) { return API.ListStreams(_mCredentials, _mHubName, marker, limit, titlePrefix); diff --git a/pili-sdk-csharp/pili/PiliException.cs b/pili-sdk-csharp/pili/PiliException.cs index b0afd03..3c0f7d9 100644 --- a/pili-sdk-csharp/pili/PiliException.cs +++ b/pili-sdk-csharp/pili/PiliException.cs @@ -37,7 +37,7 @@ public PiliException(string msg) Response = null; } - public PiliException(Exception e) + public PiliException(Exception e) : base(null, e) { Response = null; } diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index 25d0cf5..5499dd4 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -378,7 +378,7 @@ public StreamList(JObject jsonObj, Credentials auth) { var record = jsonObj["items"]; _itemList = new List(); - foreach (JObject jp in record) + foreach (var jp in record) { _itemList.Add(new Stream(JObject.Parse(jp.ToString()), auth)); } From b4ccfd67dca47a0a35e48bac53589c9049d803bd Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Sun, 27 Aug 2017 21:07:14 +0800 Subject: [PATCH 07/24] Support net45, netstandard1.3, netstandard2.0. --- pili-sdk-csharp/pili-common/DateTimeHelper.cs | 9 + pili-sdk-csharp/pili-sdk-csharp.csproj | 10 +- pili-sdk-csharp/pili/API.cs | 213 +++++++++++------- pili-sdk-csharp/pili/Stream.cs | 2 +- 4 files changed, 146 insertions(+), 88 deletions(-) diff --git a/pili-sdk-csharp/pili-common/DateTimeHelper.cs b/pili-sdk-csharp/pili-common/DateTimeHelper.cs index 5544f28..6b7c14e 100644 --- a/pili-sdk-csharp/pili-common/DateTimeHelper.cs +++ b/pili-sdk-csharp/pili-common/DateTimeHelper.cs @@ -2,10 +2,19 @@ internal static class DateTimeHelper { +#if NET45 + private static readonly DateTimeOffset UnixEpoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero); +#else private static readonly DateTimeOffset UnixEpoch = DateTimeOffset.FromUnixTimeSeconds(0); +#endif internal static long CurrentUnixTimeMillis() { return (long)(DateTimeOffset.UtcNow - UnixEpoch).TotalMilliseconds; } + + internal static long CurrentUnixTimeSeconds() + { + return (long)(DateTimeOffset.UtcNow - UnixEpoch).TotalSeconds; + } } diff --git a/pili-sdk-csharp/pili-sdk-csharp.csproj b/pili-sdk-csharp/pili-sdk-csharp.csproj index 7139692..38748df 100644 --- a/pili-sdk-csharp/pili-sdk-csharp.csproj +++ b/pili-sdk-csharp/pili-sdk-csharp.csproj @@ -1,7 +1,7 @@ - netstandard2.0 + net45;netstandard1.3;netstandard2.0 2.0.0-alpha An unofficial pili sdk which forks official pili-sdk-csharp. It added support for .NET Standard 2.0 and optimize naming style. @@ -12,6 +12,14 @@ It added support for .NET Standard 2.0 and optimize naming style. true + + + + + + + + diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index ad8a747..01870f6 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Net; -using System.Web; using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -11,11 +10,12 @@ namespace pili_sdk_csharp.pili { - public class API + public static class API { + private const string ContentType = "application/json"; + private static readonly string APIBaseUrl = $"{(Configuration.Instance.UseHttps ? "https" : "http")}://{Configuration.Instance.API_HOST}/{Configuration.Instance.API_VERSION}"; - private static HttpWebRequest _mOkHttpClient; public static Stream CreateStream(Credentials credentials, string hubName, string title, string publishKey, string publishSecurity) { @@ -27,7 +27,7 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin { { "hub", hubName } }; - if (string.IsNullOrWhiteSpace(title)) + if (!string.IsNullOrWhiteSpace(title)) { if (title.Length < Config.TitleMinLength || title.Length > Config.TitleMaxLength) { @@ -35,11 +35,11 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin } json.Add("title", title); } - if (string.IsNullOrWhiteSpace(publishKey)) + if (!string.IsNullOrWhiteSpace(publishKey)) { json.Add("publishKey", publishKey); } - if (string.IsNullOrWhiteSpace(publishSecurity)) + if (!string.IsNullOrWhiteSpace(publishSecurity)) { json.Add("publishSecurity", publishSecurity); } @@ -47,21 +47,25 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin try { var url = new Uri(urlStr); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - var contentType = "application/json"; - _mOkHttpClient.Method = WebRequestMethods.Http.Post; + var request = (HttpWebRequest)WebRequest.Create(url); + request.Method = "POST"; var jsonobj = JsonConvert.SerializeObject(json); var body = Encoding.UTF8.GetBytes(jsonobj); - var macToken = credentials.SignRequest(url, "POST", body, contentType); - _mOkHttpClient.ContentType = contentType; - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); - _mOkHttpClient.ContentLength = body.Length; - using (var requestStream = _mOkHttpClient.GetRequestStream()) + var macToken = credentials.SignRequest(url, "POST", body, ContentType); + request.ContentType = ContentType; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + + using (var requestStream = request.GetRequestStreamAsync().Result) { new MemoryStream(body).CopyTo(requestStream); } - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -103,12 +107,17 @@ public static Stream GetStream(Credentials credentials, string streamId) try { var url = new Uri(urlStr); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - _mOkHttpClient.Method = WebRequestMethods.Http.Get; + var request = (HttpWebRequest)WebRequest.Create(url); + request.Method = "GET"; var macToken = credentials.SignRequest(url, "GET", null, null); - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) { @@ -141,10 +150,10 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN { try { - hubName = HttpUtility.UrlEncode(hubName); - if (string.IsNullOrWhiteSpace(startMarker)) + hubName = WebUtility.UrlEncode(hubName); + if (!string.IsNullOrWhiteSpace(startMarker)) { - startMarker = HttpUtility.UrlEncode(startMarker); + startMarker = WebUtility.UrlEncode(startMarker); } } catch (Exception e) @@ -154,7 +163,7 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN throw new PiliException(e); } var urlStr = $"{APIBaseUrl}/streams?hub={hubName}"; - if (string.IsNullOrWhiteSpace(startMarker)) + if (!string.IsNullOrWhiteSpace(startMarker)) { urlStr += "&marker=" + startMarker; } @@ -162,7 +171,7 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN { urlStr += "&limit=" + limitCount; } - if (string.IsNullOrWhiteSpace(titlePrefix)) + if (!string.IsNullOrWhiteSpace(titlePrefix)) { urlStr += "&title=" + titlePrefix; } @@ -171,11 +180,16 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN { var url = new Uri(urlStr); var macToken = credentials.SignRequest(url, "GET", null, null); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - _mOkHttpClient.Method = WebRequestMethods.Http.Get; - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); + var request = (HttpWebRequest)WebRequest.Create(url); + request.Method = "GET"; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) { @@ -211,17 +225,22 @@ public static Stream.Status GetStreamStatus(Credentials credentials, string stre { throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - var urlStr = $"{APIBaseUrl}/streams/{streamId}/CurrentStatus"; + var urlStr = $"{APIBaseUrl}/streams/{streamId}/status"; HttpWebResponse response; try { var url = new Uri(urlStr); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var request = (HttpWebRequest)WebRequest.Create(url); var macToken = credentials.SignRequest(url, "GET", null, null); - _mOkHttpClient.Method = WebRequestMethods.Http.Get; - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); + request.Method = "GET"; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) { @@ -258,11 +277,11 @@ public static Stream UpdateStream(Credentials credentials, string streamId, stri { throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (string.IsNullOrWhiteSpace(publishKey)) + if (!string.IsNullOrWhiteSpace(publishKey)) { json.Add("publishKey", publishKey); } - if (string.IsNullOrWhiteSpace(publishSecurity)) + if (!string.IsNullOrWhiteSpace(publishSecurity)) { json.Add("publishSecurity", publishSecurity); } @@ -275,20 +294,23 @@ public static Stream UpdateStream(Credentials credentials, string streamId, stri var url = new Uri(urlStr); var jsonobj = JsonConvert.SerializeObject(json); var body = Encoding.UTF8.GetBytes(jsonobj); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - var contentType = "application/json"; - var macToken = credentials.SignRequest(url, "POST", body, contentType); - _mOkHttpClient.Method = WebRequestMethods.Http.Post; - _mOkHttpClient.ContentType = contentType; - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); - _mOkHttpClient.ContentLength = body.Length; - using (var requestStream = _mOkHttpClient.GetRequestStream()) + var request = (HttpWebRequest)WebRequest.Create(url); + var macToken = credentials.SignRequest(url, "POST", body, ContentType); + request.Method = "POST"; + request.ContentType = ContentType; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + using (var requestStream = request.GetRequestStreamAsync().Result) { new MemoryStream(body).CopyTo(requestStream); } - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) { @@ -330,13 +352,18 @@ public static string DeleteStream(Credentials credentials, string streamId) try { var url = new Uri(urlStr); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); + var request = (HttpWebRequest)WebRequest.Create(url); var macToken = credentials.SignRequest(url, "DELETE", null, null); - _mOkHttpClient.Method = "DELETE"; - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); + request.Method = "DELETE"; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif Console.WriteLine(macToken); - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) { @@ -363,7 +390,7 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (!string.IsNullOrWhiteSpace(fileName)) + if (string.IsNullOrWhiteSpace(fileName)) { throw new PiliException(MessageConfig.IllegalFileNameExceptionMsg); } @@ -379,7 +406,7 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea { { "name", fileName } }; - if (string.IsNullOrWhiteSpace(notifyUrl)) + if (!string.IsNullOrWhiteSpace(notifyUrl)) { json.Add("notifyUrl", notifyUrl); } @@ -400,20 +427,23 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea try { var url = new Uri(urlStr); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - var contentType = "application/json"; + var request = (HttpWebRequest)WebRequest.Create(url); var body = Encoding.UTF8.GetBytes(json.ToString()); - var macToken = credentials.SignRequest(url, "POST", body, contentType); - _mOkHttpClient.Method = WebRequestMethods.Http.Post; - _mOkHttpClient.ContentType = contentType; - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); - _mOkHttpClient.ContentLength = body.Length; - using (var requestStream = _mOkHttpClient.GetRequestStream()) + var macToken = credentials.SignRequest(url, "POST", body, ContentType); + request.Method = "POST"; + request.ContentType = ContentType; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + using (var requestStream = request.GetRequestStreamAsync().Result) { new MemoryStream(body).CopyTo(requestStream); } - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) { @@ -448,12 +478,12 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - if (!string.IsNullOrWhiteSpace(fileName)) + if (string.IsNullOrWhiteSpace(fileName)) { throw new PiliException(MessageConfig.IllegalFileNameExceptionMsg); } - if (!string.IsNullOrWhiteSpace(format)) + if (string.IsNullOrWhiteSpace(format)) { throw new PiliException(MessageConfig.IllegalFormatExceptionMsg); } @@ -469,7 +499,7 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s { json.Add("time", time); } - if (string.IsNullOrWhiteSpace(notifyUrl)) + if (!string.IsNullOrWhiteSpace(notifyUrl)) { json.Add("notifyUrl", notifyUrl); // optional } @@ -477,20 +507,23 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s try { var url = new Uri(urlStr); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - var contentType = "application/json"; + var request = (HttpWebRequest)WebRequest.Create(url); var body = Encoding.UTF8.GetBytes(json.ToString()); - var macToken = credentials.SignRequest(url, "POST", body, contentType); - _mOkHttpClient.Method = WebRequestMethods.Http.Post; - _mOkHttpClient.ContentType = contentType; - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); - _mOkHttpClient.ContentLength = body.Length; - using (var requestStream = _mOkHttpClient.GetRequestStream()) + var macToken = credentials.SignRequest(url, "POST", body, ContentType); + request.Method = "POST"; + request.ContentType = ContentType; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + using (var requestStream = request.GetRequestStreamAsync().Result) { new MemoryStream(body).CopyTo(requestStream); } - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) { @@ -539,11 +572,16 @@ public static Stream.SegmentList GetStreamSegments(Credentials credentials, stri { var url = new Uri(urlStr); var macToken = credentials.SignRequest(url, "GET", null, null); - _mOkHttpClient = (HttpWebRequest)WebRequest.Create(url); - _mOkHttpClient.Method = WebRequestMethods.Http.Get; - _mOkHttpClient.UserAgent = Utils.UserAgent; - _mOkHttpClient.Headers.Add("Authorization", macToken); - response = (HttpWebResponse)_mOkHttpClient.GetResponse(); + var request = (HttpWebRequest)WebRequest.Create(url); + request.Method = "GET"; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) { @@ -672,13 +710,16 @@ public static IDictionary HttpFlvLiveUrl(Stream stream) return dictionary; } - private static string GenerateStaticUrl(Stream stream, string scheme) => $"{scheme}://{stream.PublishRtmpHost}/{stream.HubName}/{stream.Title}?key={stream.PublishKey}"; + private static string GenerateStaticUrl(Stream stream, string scheme) + { + return $"{scheme}://{stream.PublishRtmpHost}/{stream.HubName}/{stream.Title}?key={stream.PublishKey}"; + } private static string GenerateDynamicUrl(Stream stream, long nonce, string scheme) { if (nonce <= 0) { - nonce = DateTimeHelper.CurrentUnixTimeMillis() / 1000; // the unit should be second + nonce = DateTimeHelper.CurrentUnixTimeSeconds(); } var baseUri = "/" + stream.HubName + "/" + stream.Title + "?nonce=" + nonce; diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index 5499dd4..1e552e5 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -326,7 +326,7 @@ public class Status public Status(JObject jsonObj) { Addr = jsonObj["addr"].ToString(); - _status = jsonObj["CurrentStatus"].ToString(); + _status = jsonObj["status"].ToString(); var startFrominit = (DateTime)jsonObj["startFrom"]; StartFrom = startFrominit.ToString("yyyy-MM-ddTHH:mm:ssZ"); try From 2b57839304f6778474ca01f0dc704791d2ec98f7 Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Tue, 29 Aug 2017 14:53:12 +0800 Subject: [PATCH 08/24] Add Tests. --- pili-sdk-csharp-example/App.config | 6 + pili-sdk-csharp-example/Program.cs | 610 ++++++++++++++++++ .../Properties/AssemblyInfo.cs | 36 ++ .../pili-sdk-csharp-example.csproj | 59 ++ .../example.cs | 33 +- .../pili-sdk-csharp-tests.csproj | 19 + pili-sdk-csharp.sln | 14 +- 7 files changed, 759 insertions(+), 18 deletions(-) create mode 100644 pili-sdk-csharp-example/App.config create mode 100644 pili-sdk-csharp-example/Program.cs create mode 100644 pili-sdk-csharp-example/Properties/AssemblyInfo.cs create mode 100644 pili-sdk-csharp-example/pili-sdk-csharp-example.csproj rename {pili-sdk-csharp => pili-sdk-csharp-tests}/example.cs (96%) create mode 100644 pili-sdk-csharp-tests/pili-sdk-csharp-tests.csproj diff --git a/pili-sdk-csharp-example/App.config b/pili-sdk-csharp-example/App.config new file mode 100644 index 0000000..9d2c7ad --- /dev/null +++ b/pili-sdk-csharp-example/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/pili-sdk-csharp-example/Program.cs b/pili-sdk-csharp-example/Program.cs new file mode 100644 index 0000000..99463eb --- /dev/null +++ b/pili-sdk-csharp-example/Program.cs @@ -0,0 +1,610 @@ +using System; +using System.Diagnostics; +using pili_sdk_csharp.pili; +using pili_sdk_csharp.pili_qiniu; + +namespace pili_sdk_csharp_example +{ + internal class Example + { + // Replace with your keys here + private const string AccessKey = ""; + + private const string SecretKey = ""; + + // Replace with your hub name + private const string HubName = ""; + + // Change API host as necessary + // + // pili.qiniuapi.com as default + // pili-lte.qiniuapi.com is the latest RC version + // + // static { + // Configuration.getInstance().setAPIHost("pili.qiniuapi.com"); // default + // } + private static void Main(string[] args) + { + TestCreatStream(); + //测试推流后才能执行操作的函数,需要填写生成的流的id。 + // testTuiStream("z1.liuhanlin.561f62c5fb16df53010003ed"); + Console.ReadKey(); + } + + public static void TestStream(string streamid) + { + Stream stream = null; + var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object + var hub = new Hub(credentials, HubName); + //get a stream + try + { + stream = hub.GetStream(streamid); + Console.WriteLine("hub.getStream:"); + Console.WriteLine(stream.ToJsonString()); + /* + { + "id": "z1.liuhanlin.562f2b35d409d2aa48001102", + "createdAt": "2015-10-27T07:43:49.756Z", + "updatedAt": "2015-10-27T07:43:49.756Z", + "title": "562f2b35d409d2aa48001102", + "hub": "liuhanlin", + "disabled": false, + "publishKey": "9654c11a01b7b941", + "publishSecurity": "static", + "hosts": { + "publish": { + "rtmp": "100000p.publish.z1.pili.qiniup.com" + }, + "live": { + "hdl": "100000p.live1-hdl.z1.pili.qiniucdn.com", + "hls": "100000p.live1-hls.z1.pili.qiniucdn.com", + "http": "100000p.live1-hls.z1.pili.qiniucdn.com", + "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" + }, + "playback": { + "hls": "100000p.playback1.z1.pili.qiniucdn.com", + "http": "100000p.playback1.z1.pili.qiniucdn.com" + }, + "play": { + "http": "100000p.live1-hls.z1.pili.qiniucdn.com", + "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" + } + } + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + //// Get Stream segments + try + { + long start = 0; // optional, in second, unix timestamp + long end = 0; // optional, in second, unix timestamp + var limit = 0; // optional, int + var segmentList = stream.Segments(start, end, limit); + + Console.WriteLine("Stream segments()"); + foreach (var segment in segmentList.GetSegmentList()) + { + Console.WriteLine("start:" + segment.Start + ",end:" + segment.End); + } + /* + start:1440315411,end:1440315435 + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + + // Snapshot Stream + var format = "jpg"; // required + var name = "imageName" + "." + format; // required + long time = 1440315411; // optional, in second, unix timestamp + string notifyUrl = null; // optional + + try + { + var response = stream.Snapshot(name, format, time, notifyUrl); + Console.WriteLine("Stream snapshot()"); + Console.WriteLine(response.ToString()); + /* + { + "targetUrl":"http://ey636h.static1.z0.pili.qiniucdn.com/snapshots/z1.test-hub.55d81a72e3ba5723280000ec/imageName.jpg", + "persistentId":"z1.55d81c247823de5a49ad729c" + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + + // Save Stream as a file + var saveAsFormat = "mp4"; // required + var saveAsName = "videoName" + "." + saveAsFormat; // required + long saveAsStart = 1444897613; // required, in second, unix timestampstart:1444897613,end:1444897973 + long saveAsEnd = 1444897973; // required, in second, unix timestamp + string saveAsNotifyUrl = null; // optional + string pipleline = null; + try + { + var response = stream.SaveAs(saveAsName, saveAsFormat, saveAsStart, saveAsEnd, saveAsNotifyUrl, pipleline); + Console.WriteLine("Stream saveAs()"); + Console.WriteLine(response.ToString()); + /* + { + "url":"http://ey636h.vod1.z1.pili.qiniucdn.com/recordings/z1.test-hub.55d81a72e3ba5723280000ec/videoName.m3u8", + "targetUrl":"http://ey636h.vod1.z1.pili.qiniucdn.com/recordings/z1.test-hub.55d81a72e3ba5723280000ec/videoName.mp4", + "persistentId":"z1.55d81c6c7823de5a49ad77b3" + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + + // Delete a Stream + try + { + var res = stream.Delete(); + Console.WriteLine("Stream delete()"); + Console.WriteLine(res); + // No Content + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + ////////////////////////////////////////////////////////////////////////////////////////// + // Stream end + + //get a stream + try + { + stream = hub.GetStream(streamid); + Console.WriteLine("hub.getStream:"); + Console.WriteLine(stream.ToJsonString()); + /* + { + "id": "z1.liuhanlin.562f2b35d409d2aa48001102", + "createdAt": "2015-10-27T07:43:49.756Z", + "updatedAt": "2015-10-27T07:43:49.756Z", + "title": "562f2b35d409d2aa48001102", + "hub": "liuhanlin", + "disabled": false, + "publishKey": "9654c11a01b7b941", + "publishSecurity": "static", + "hosts": { + "publish": { + "rtmp": "100000p.publish.z1.pili.qiniup.com" + }, + "live": { + "hdl": "100000p.live1-hdl.z1.pili.qiniucdn.com", + "hls": "100000p.live1-hls.z1.pili.qiniucdn.com", + "http": "100000p.live1-hls.z1.pili.qiniucdn.com", + "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" + }, + "playback": { + "hls": "100000p.playback1.z1.pili.qiniucdn.com", + "http": "100000p.playback1.z1.pili.qiniucdn.com" + }, + "play": { + "http": "100000p.live1-hls.z1.pili.qiniucdn.com", + "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" + } + } + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + } + + public static void TestCreatStream() + { + ////////////////////////////////////////////////////////////////////////////////////////// + // Hub begin + ////////////////////////////////////////////////////////////////////////////////////////// + + // Instantiate an Hub object + var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object + var hub = new Hub(credentials, HubName); + Console.WriteLine(hub.ToString()); + + // Create a new Stream + string title = null; // optional, auto-generated as default + string publishKey = null; // optional, auto-generated as default + string publishSecurity = null; // optional, can be "dynamic" or "static", "dynamic" as default + Stream stream = null; + try + { + stream = hub.CreateStream(title, publishKey, publishSecurity); + Trace.WriteLine("hub.createStream:"); + Console.WriteLine(stream.ToJsonString()); + /* + { + "id":"z1.test-hub.55d97350eb6f92638c00000a", + "createdAt":"2015-08-22T04:54:13.539Z", + "updatedAt":"2015-08-22T04:54:13.539Z", + "title":"55d97350eb6f92638c00000a", + "hub":"test-hub", + "disabled":false, + "publishKey":"ca11e07f094c3a6e", + "publishSecurity":"dynamic", + "hosts":{ + "publish":{ + "rtmp":"ey636h.publish.z1.pili.qiniup.com" + }, + "live":{ + "http":"ey636h.live1-http.z1.pili.qiniucdn.com", + "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" + }, + "playback":{ + "http":"ey636h.playback1.z1.pili.qiniucdn.com" + } + } + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + + try + { + stream = hub.GetStream(stream.StreamId); + Console.WriteLine("hub.getStream:"); + Console.WriteLine(stream.ToJsonString()); + /* + { + "id":"z1.test-hub.55d80075e3ba5723280000d2", + "createdAt":"2015-08-22T04:54:13.539Z", + "updatedAt":"2015-08-22T04:54:13.539Z", + "title":"55d80075e3ba5723280000d2", + "hub":"test-hub", + "disabled":false, + "publishKey":"ca11e07f094c3a6e", + "publishSecurity":"dynamic", + "hosts":{ + "publish":{ + "rtmp":"ey636h.publish.z1.pili.qiniup.com" + }, + "live":{ + "http":"ey636h.live1-http.z1.pili.qiniucdn.com", + "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" + }, + "playback":{ + "http":"ey636h.playback1.z1.pili.qiniucdn.com" + } + } + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + // List streams + try + { + string marker = null; // optional + long limit = 0; // optional + string titlePrefix = null; // optional + + var streamList = hub.ListStreams(marker, limit, titlePrefix); + Console.WriteLine("hub.listStreams()"); + Console.WriteLine("marker:" + streamList.Marker); + var list = streamList.Streams; + foreach (var s in list) + { + // access the stream + } + + /* + marker:10 + stream object + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + ////////////////////////////////////////////////////////////////////////////////////////// + // Hub end + ////////////////////////////////////////////////////////////////////////////////////////// + + ////////////////////////////////////////////////////////////////////////////////////////// + // Stream begin + ////////////////////////////////////////////////////////////////////////////////////////// + var streamJsonString = stream.ToJsonString(); + Console.WriteLine("Stream toJSONString()"); + Console.WriteLine(streamJsonString); + + /* + { + "id":"z1.test-hub.55d80075e3ba5723280000d2", + "createdAt":"2015-08-22T04:54:13.539Z", + "updatedAt":"2015-08-22T04:54:13.539Z", + "title":"55d80075e3ba5723280000d2", + "hub":"test-hub", + "disabled":false, + "publishKey":"ca11e07f094c3a6e", + "publishSecurity":"dynamic", + "hosts":{ + "publish":{ + "rtmp":"ey636h.publish.z1.pili.qiniup.com" + }, + "live":{ + "http":"ey636h.live1-http.z1.pili.qiniucdn.com", + "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" + }, + "playback":{ + "http":"ey636h.playback1.z1.pili.qiniucdn.com" + } + } + } + */ + + // Update a Stream + var newPublishKey = "new_secret_words"; // optional + var newPublishSecurity = "static"; // optional, can be "dynamic" or "static" + var newDisabled = true; // optional, can be "true" of "false" + try + { + var newStream = stream.Update(newPublishKey, newPublishSecurity, newDisabled); + Console.WriteLine("Stream update()"); + Console.WriteLine(newStream.ToJsonString()); + stream = newStream; + /* + { + "id":"z1.test-hub.55d80075e3ba5723280000d2", + "createdAt":"2015-08-22T04:54:13.539Z", + "updatedAt":"2015-08-22T01:53:02.738973745-04:00", + "title":"55d80075e3ba5723280000d2", + "hub":"test-hub", + "disabled":true, + "publishKey":"new_secret_words", + "publishSecurity":"static", + "hosts":{ + "publish":{ + "rtmp":"ey636h.publish.z1.pili.qiniup.com" + }, + "live":{ + "http":"ey636h.live1-http.z1.pili.qiniucdn.com", + "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" + }, + "playback":{ + "http":"ey636h.hls.z1.pili.qiniucdn.com" + } + } + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + + // Disable a Stream + try + { + var disabledStream = stream.Disable(); + Console.WriteLine("Stream disable()"); + Console.WriteLine(disabledStream.Disabled); + /* + * true + * + * */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + // Enable a Stream + try + { + var enabledStream = stream.Enable(); + Console.WriteLine("Stream enable()"); + Console.WriteLine(enabledStream.Disabled); + /* + * false + * + * */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + // Get Stream CurrentStatus + try + { + var status = stream.CurrentStatus(); + Console.WriteLine("Stream CurrentStatus()"); + Console.WriteLine(status.ToString()); + /* + { + "addr":"222.73.202.226:2572", + "CurrentStatus":"disconnected", + "bytesPerSecond":0, + "framesPerSecond":{ + "audio":0, + "video":0, + "data":0 + } + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + + // Generate RTMP publish URL + try + { + var publishUrl = stream.RtmpPublishUrl(); + Console.WriteLine("Stream rtmpPublishUrl()"); + Console.WriteLine(publishUrl); + // rtmp://ey636h.publish.z1.pili.qiniup.com/test-hub/55d810aae3ba5723280000db?nonce=1440223404&token=hIVJje0ZOX9hp7yPIvGBmJ_6Qxo= + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + // Generate RTMP live play URLs + var originUrl = stream.RtmpLiveUrls()[Stream.Origin]; + Console.WriteLine("Stream rtmpLiveUrls()"); + Console.WriteLine(originUrl); + // rtmp://ey636h.live1-rtmp.z1.pili.qiniucdn.com/test-hub/55d8113ee3ba5723280000dc + + // Generate HLS play URLs + var originLiveHlsUrl = stream.HlsLiveUrls()[Stream.Origin]; + Console.WriteLine("Stream hlsLiveUrls()"); + Console.WriteLine(originLiveHlsUrl); + // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.m3u8 + + // Generate Http-Flv live play URLs + var originLiveFlvUrl = stream.HttpFlvLiveUrls()[Stream.Origin]; + Console.WriteLine("Stream httpFlvLiveUrls()"); + Console.WriteLine(originLiveFlvUrl); + // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.flv + + + // Generate HLS playback URLs + long startHlsPlayback = 1440315411; // required, in second, unix timestamp + long endHlsPlayback = 1440315435; // required, in second, unix timestamp + try + { + var hlsPlaybackUrl = stream.HlsPlaybackUrls(startHlsPlayback, endHlsPlayback)[Stream.Origin]; + + Console.WriteLine("Stream hlsPlaybackUrls()"); + Console.WriteLine(hlsPlaybackUrl); + // http://ey636h.playback1.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.m3u8?start=1440315411&end=1440315435 + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + + + // Get Stream CurrentStatus + try + { + var status = stream.CurrentStatus(); + Console.WriteLine("Stream CurrentStatus()"); + Console.WriteLine(status.ToString()); + /* + { + "addr":"222.73.202.226:2572", + "CurrentStatus":"disconnected", + "bytesPerSecond":0, + "framesPerSecond":{ + "audio":0, + "video":0, + "data":0 + } + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + + + // Delete a Stream + try + { + var res = stream.Delete(); + Console.WriteLine("Stream delete()"); + Console.WriteLine(res); + // No Content + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + ////////////////////////////////////////////////////////////////////////////////////////// + // Stream end + + try + { + stream = hub.GetStream(stream.StreamId); + Console.WriteLine("hub.getStream:"); + Console.WriteLine(stream.ToJsonString()); + /* + { + "id":"z1.test-hub.55d80075e3ba5723280000d2", + "createdAt":"2015-08-22T04:54:13.539Z", + "updatedAt":"2015-08-22T04:54:13.539Z", + "title":"55d80075e3ba5723280000d2", + "hub":"test-hub", + "disabled":false, + "publishKey":"ca11e07f094c3a6e", + "publishSecurity":"dynamic", + "hosts":{ + "publish":{ + "rtmp":"ey636h.publish.z1.pili.qiniup.com" + }, + "live":{ + "http":"ey636h.live1-http.z1.pili.qiniucdn.com", + "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" + }, + "playback":{ + "http":"ey636h.playback1.z1.pili.qiniucdn.com" + } + } + } + */ + } + catch (PiliException e) + { + // TODO Auto-generated catch block + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + } + } + } +} diff --git a/pili-sdk-csharp-example/Properties/AssemblyInfo.cs b/pili-sdk-csharp-example/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..ff0f728 --- /dev/null +++ b/pili-sdk-csharp-example/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("pili-sdk-csharp-example")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("pili-sdk-csharp-example")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("148c2492-0529-4b36-bf12-19e8e6a63a1b")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/pili-sdk-csharp-example/pili-sdk-csharp-example.csproj b/pili-sdk-csharp-example/pili-sdk-csharp-example.csproj new file mode 100644 index 0000000..94833be --- /dev/null +++ b/pili-sdk-csharp-example/pili-sdk-csharp-example.csproj @@ -0,0 +1,59 @@ + + + + + Debug + AnyCPU + {148C2492-0529-4B36-BF12-19E8E6A63A1B} + Exe + pili_sdk_csharp_example + pili-sdk-csharp-example + v4.7 + 512 + true + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + {9d2babba-f458-43e7-81a4-55a01cfa8f60} + pili-sdk-csharp + + + + \ No newline at end of file diff --git a/pili-sdk-csharp/example.cs b/pili-sdk-csharp-tests/example.cs similarity index 96% rename from pili-sdk-csharp/example.cs rename to pili-sdk-csharp-tests/example.cs index 289c576..55dfefb 100644 --- a/pili-sdk-csharp/example.cs +++ b/pili-sdk-csharp-tests/example.cs @@ -2,10 +2,11 @@ using System.Diagnostics; using pili_sdk_csharp.pili; using pili_sdk_csharp.pili_qiniu; +using Xunit; namespace pili_sdk_csharp { - internal class Example + public class Example { // Replace with your keys here private const string AccessKey = ""; @@ -23,15 +24,10 @@ internal class Example // static { // Configuration.getInstance().setAPIHost("pili.qiniuapi.com"); // default // } - private static void Main(string[] args) - { - TestCreatStream(); - //测试推流后才能执行操作的函数,需要填写生成的流的id。 - // testTuiStream("z1.liuhanlin.561f62c5fb16df53010003ed"); - Console.ReadKey(); - } - public static void TestStream(string streamid) + [Theory] + [InlineData("")] + public static void TestStream(string streamId) { Stream stream = null; var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object @@ -39,7 +35,7 @@ public static void TestStream(string streamid) //get a stream try { - stream = hub.GetStream(streamid); + stream = hub.GetStream(streamId); Console.WriteLine("hub.getStream:"); Console.WriteLine(stream.ToJsonString()); /* @@ -80,11 +76,13 @@ public static void TestStream(string streamid) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + Assert.NotEqual(stream, null); + //// Get Stream segments try { - long start = 0; // optional, in second, unix timestamp - long end = 0; // optional, in second, unix timestamp + const int start = 0; // optional, in second, unix timestamp + const int end = 0; // optional, in second, unix timestamp var limit = 0; // optional, int var segmentList = stream.Segments(start, end, limit); @@ -176,7 +174,7 @@ public static void TestStream(string streamid) //get a stream try { - stream = hub.GetStream(streamid); + stream = hub.GetStream(streamId); Console.WriteLine("hub.getStream:"); Console.WriteLine(stream.ToJsonString()); /* @@ -219,6 +217,7 @@ public static void TestStream(string streamid) } } + [Fact] public static void TestCreatStream() { ////////////////////////////////////////////////////////////////////////////////////////// @@ -271,7 +270,7 @@ public static void TestCreatStream() Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - + Assert.NotEqual(stream, null); try { stream = hub.GetStream(stream.StreamId); @@ -312,7 +311,7 @@ public static void TestCreatStream() try { string marker = null; // optional - long limit = 0; // optional + var limit = 0; // optional string titlePrefix = null; // optional var streamList = hub.ListStreams(marker, limit, titlePrefix); @@ -456,7 +455,7 @@ stream object /* { "addr":"222.73.202.226:2572", - "CurrentStatus":"disconnected", + "status":"disconnected", "bytesPerSecond":0, "framesPerSecond":{ "audio":0, @@ -534,7 +533,7 @@ stream object /* { "addr":"222.73.202.226:2572", - "CurrentStatus":"disconnected", + "status":"disconnected", "bytesPerSecond":0, "framesPerSecond":{ "audio":0, diff --git a/pili-sdk-csharp-tests/pili-sdk-csharp-tests.csproj b/pili-sdk-csharp-tests/pili-sdk-csharp-tests.csproj new file mode 100644 index 0000000..a951f2e --- /dev/null +++ b/pili-sdk-csharp-tests/pili-sdk-csharp-tests.csproj @@ -0,0 +1,19 @@ + + + + netcoreapp2.0 + + false + + + + + + + + + + + + + diff --git a/pili-sdk-csharp.sln b/pili-sdk-csharp.sln index 66d3d8f..66758e7 100644 --- a/pili-sdk-csharp.sln +++ b/pili-sdk-csharp.sln @@ -3,7 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.26730.10 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pili-sdk-csharp", "pili-sdk-csharp\pili-sdk-csharp.csproj", "{9D2BABBA-F458-43E7-81A4-55A01CFA8F60}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "pili-sdk-csharp", "pili-sdk-csharp\pili-sdk-csharp.csproj", "{9D2BABBA-F458-43E7-81A4-55A01CFA8F60}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "pili-sdk-csharp-tests", "pili-sdk-csharp-tests\pili-sdk-csharp-tests.csproj", "{54C0B2AE-18C7-417B-ADF5-912D25CC14B5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pili-sdk-csharp-example", "pili-sdk-csharp-example\pili-sdk-csharp-example.csproj", "{148C2492-0529-4B36-BF12-19E8E6A63A1B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,6 +19,14 @@ Global {9D2BABBA-F458-43E7-81A4-55A01CFA8F60}.Debug|Any CPU.Build.0 = Debug|Any CPU {9D2BABBA-F458-43E7-81A4-55A01CFA8F60}.Release|Any CPU.ActiveCfg = Release|Any CPU {9D2BABBA-F458-43E7-81A4-55A01CFA8F60}.Release|Any CPU.Build.0 = Release|Any CPU + {54C0B2AE-18C7-417B-ADF5-912D25CC14B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {54C0B2AE-18C7-417B-ADF5-912D25CC14B5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {54C0B2AE-18C7-417B-ADF5-912D25CC14B5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {54C0B2AE-18C7-417B-ADF5-912D25CC14B5}.Release|Any CPU.Build.0 = Release|Any CPU + {148C2492-0529-4B36-BF12-19E8E6A63A1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {148C2492-0529-4B36-BF12-19E8E6A63A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {148C2492-0529-4B36-BF12-19E8E6A63A1B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {148C2492-0529-4B36-BF12-19E8E6A63A1B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From d076a5861f914767d7cdb5a5161dc0c0733b2b5c Mon Sep 17 00:00:00 2001 From: PM Extra Date: Wed, 30 Aug 2017 20:37:30 +0800 Subject: [PATCH 09/24] Fix naming. --- pili-sdk-csharp-example/Program.cs | 16 ++++++++-------- pili-sdk-csharp-tests/example.cs | 12 ++++++------ pili-sdk-csharp/pili-sdk-csharp.csproj | 2 +- pili-sdk-csharp/pili/API.cs | 6 +++--- pili-sdk-csharp/pili/Stream.cs | 6 +++--- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/pili-sdk-csharp-example/Program.cs b/pili-sdk-csharp-example/Program.cs index 99463eb..6d4ee7b 100644 --- a/pili-sdk-csharp-example/Program.cs +++ b/pili-sdk-csharp-example/Program.cs @@ -447,16 +447,16 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // Get Stream CurrentStatus + // Get Stream Status try { - var status = stream.CurrentStatus(); - Console.WriteLine("Stream CurrentStatus()"); + var status = stream.Status(); + Console.WriteLine("Stream Status()"); Console.WriteLine(status.ToString()); /* { "addr":"222.73.202.226:2572", - "CurrentStatus":"disconnected", + "status":"disconnected", "bytesPerSecond":0, "framesPerSecond":{ "audio":0, @@ -525,16 +525,16 @@ stream object } - // Get Stream CurrentStatus + // Get Stream Status try { - var status = stream.CurrentStatus(); - Console.WriteLine("Stream CurrentStatus()"); + var status = stream.Status(); + Console.WriteLine("Stream Status()"); Console.WriteLine(status.ToString()); /* { "addr":"222.73.202.226:2572", - "CurrentStatus":"disconnected", + "status":"disconnected", "bytesPerSecond":0, "framesPerSecond":{ "audio":0, diff --git a/pili-sdk-csharp-tests/example.cs b/pili-sdk-csharp-tests/example.cs index 55dfefb..e87d11b 100644 --- a/pili-sdk-csharp-tests/example.cs +++ b/pili-sdk-csharp-tests/example.cs @@ -446,11 +446,11 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // Get Stream CurrentStatus + // Get Stream Status try { - var status = stream.CurrentStatus(); - Console.WriteLine("Stream CurrentStatus()"); + var status = stream.Status(); + Console.WriteLine("Stream Status()"); Console.WriteLine(status.ToString()); /* { @@ -524,11 +524,11 @@ stream object } - // Get Stream CurrentStatus + // Get Stream Status try { - var status = stream.CurrentStatus(); - Console.WriteLine("Stream CurrentStatus()"); + var status = stream.Status(); + Console.WriteLine("Stream Status()"); Console.WriteLine(status.ToString()); /* { diff --git a/pili-sdk-csharp/pili-sdk-csharp.csproj b/pili-sdk-csharp/pili-sdk-csharp.csproj index 38748df..5c0bd89 100644 --- a/pili-sdk-csharp/pili-sdk-csharp.csproj +++ b/pili-sdk-csharp/pili-sdk-csharp.csproj @@ -2,7 +2,7 @@ net45;netstandard1.3;netstandard2.0 - 2.0.0-alpha + 2.0.0-alpha3 An unofficial pili sdk which forks official pili-sdk-csharp. It added support for .NET Standard 2.0 and optimize naming style. PM Extra diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index 01870f6..06e9df4 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -218,8 +218,8 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN throw new PiliException(response); } - // get stream CurrentStatus - public static Stream.Status GetStreamStatus(Credentials credentials, string streamId) + // get stream status + public static Stream.StreamStatus GetStreamStatus(Credentials credentials, string streamId) { if (streamId == null) { @@ -256,7 +256,7 @@ public static Stream.Status GetStreamStatus(Credentials credentials, string stre var reader = new StreamReader(response.GetResponseStream()); var text = reader.ReadToEnd(); var jsonObj = JObject.Parse(text); - return new Stream.Status(jsonObj); + return new Stream.StreamStatus(jsonObj); } catch (IOException e) { diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index 1e552e5..7a82488 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -124,7 +124,7 @@ public virtual SegmentList Segments(long start, long end, int limit) } - public virtual Status CurrentStatus() + public virtual StreamStatus Status() { return API.GetStreamStatus(_mCredentials, _id); } @@ -318,12 +318,12 @@ public virtual IList GetSegmentList() } } - public class Status + public class StreamStatus { private readonly string _mJsonString; private readonly string _status; - public Status(JObject jsonObj) + public StreamStatus(JObject jsonObj) { Addr = jsonObj["addr"].ToString(); _status = jsonObj["status"].ToString(); From ccf1612f01edfdde093a45f6d43a79ea7aa8aa34 Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Fri, 8 Sep 2017 23:23:56 +0800 Subject: [PATCH 10/24] RtmpPublishUrl Use V2. --- pili-sdk-csharp-tests/example.cs | 83 ++++++++++++----------- pili-sdk-csharp/pili-qiniu/Credentials.cs | 12 +++- pili-sdk-csharp/pili/API.cs | 15 ++-- pili-sdk-csharp/pili/Stream.cs | 7 +- 4 files changed, 60 insertions(+), 57 deletions(-) diff --git a/pili-sdk-csharp-tests/example.cs b/pili-sdk-csharp-tests/example.cs index e87d11b..acd43ba 100644 --- a/pili-sdk-csharp-tests/example.cs +++ b/pili-sdk-csharp-tests/example.cs @@ -370,47 +370,47 @@ stream object } */ - // Update a Stream - var newPublishKey = "new_secret_words"; // optional - var newPublishSecurity = "static"; // optional, can be "dynamic" or "static" - var newDisabled = true; // optional, can be "true" of "false" - try - { - var newStream = stream.Update(newPublishKey, newPublishSecurity, newDisabled); - Console.WriteLine("Stream update()"); - Console.WriteLine(newStream.ToJsonString()); - stream = newStream; - /* - { - "id":"z1.test-hub.55d80075e3ba5723280000d2", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T01:53:02.738973745-04:00", - "title":"55d80075e3ba5723280000d2", - "hub":"test-hub", - "disabled":true, - "publishKey":"new_secret_words", - "publishSecurity":"static", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.hls.z1.pili.qiniucdn.com" - } - } - } - */ - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } + //// Update a Stream + //var newPublishKey = "new_secret_words"; // optional + //var newPublishSecurity = "static"; // optional, can be "dynamic" or "static" + //var newDisabled = true; // optional, can be "true" of "false" + //try + //{ + // var newStream = stream.Update(newPublishKey, newPublishSecurity, newDisabled); + // Console.WriteLine("Stream update()"); + // Console.WriteLine(newStream.ToJsonString()); + // stream = newStream; + // /* + // { + // "id":"z1.test-hub.55d80075e3ba5723280000d2", + // "createdAt":"2015-08-22T04:54:13.539Z", + // "updatedAt":"2015-08-22T01:53:02.738973745-04:00", + // "title":"55d80075e3ba5723280000d2", + // "hub":"test-hub", + // "disabled":true, + // "publishKey":"new_secret_words", + // "publishSecurity":"static", + // "hosts":{ + // "publish":{ + // "rtmp":"ey636h.publish.z1.pili.qiniup.com" + // }, + // "live":{ + // "http":"ey636h.live1-http.z1.pili.qiniucdn.com", + // "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" + // }, + // "playback":{ + // "http":"ey636h.hls.z1.pili.qiniucdn.com" + // } + // } + // } + // */ + //} + //catch (PiliException e) + //{ + // // TODO Auto-generated catch block + // Console.WriteLine(e.ToString()); + // Console.Write(e.StackTrace); + //} // Disable a Stream try @@ -486,6 +486,7 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + // Generate RTMP live play URLs var originUrl = stream.RtmpLiveUrls()[Stream.Origin]; Console.WriteLine("Stream rtmpLiveUrls()"); diff --git a/pili-sdk-csharp/pili-qiniu/Credentials.cs b/pili-sdk-csharp/pili-qiniu/Credentials.cs index bde3d5c..d8ea69b 100644 --- a/pili-sdk-csharp/pili-qiniu/Credentials.cs +++ b/pili-sdk-csharp/pili-qiniu/Credentials.cs @@ -9,15 +9,16 @@ public class Credentials { private const string DigestAuthPrefix = "Qiniu"; private readonly string _accessKey; + private readonly string _secretKey; private readonly HMACSHA1 _skSpec; public Credentials(string ak, string sk) { _accessKey = ak ?? throw new ArgumentNullException(nameof(ak), "Invalid accessKey!"); - var mSecretKey = sk ?? throw new ArgumentNullException(nameof(sk), "Invalid secretKey!!"); + _secretKey = sk ?? throw new ArgumentNullException(nameof(sk), "Invalid secretKey!!"); try { - _skSpec = new HMACSHA1(Encoding.UTF8.GetBytes(mSecretKey)); + _skSpec = new HMACSHA1(Encoding.UTF8.GetBytes(_secretKey)); } catch (Exception e) { @@ -27,6 +28,13 @@ public Credentials(string ak, string sk) } } + public virtual string GetToken(string hubName, string streamKey, long expire) + { + var path = $"/{hubName}/{streamKey}?e={expire}"; + return $"{_accessKey}:{Convert.ToBase64String(new HMACSHA1(Encoding.UTF8.GetBytes(_secretKey)).ComputeHash(Encoding.UTF8.GetBytes(path)))}".Replace('+', '-') + .Replace('/', '_'); + } + public virtual string SignRequest(Uri url, string method, byte[] body, string contentType) { var sb = new StringBuilder(); diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index 06e9df4..6dd1871 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -615,19 +615,12 @@ public static Stream.SegmentList GetStreamSegments(Credentials credentials, stri } //Generate a RTMP publish URL - public static string PublishUrl(Stream stream, long nonce) + public static string PublishUrl(Stream stream, Credentials credentials, long expireAfterSeconds) { + var expire = DateTimeHelper.CurrentUnixTimeSeconds() + expireAfterSeconds; + var token = credentials.GetToken(stream.HubName, stream.Name, expire); const string defaultScheme = "rtmp"; - if ("dynamic".Equals(stream.PublishSecurity)) - { - return GenerateDynamicUrl(stream, nonce, defaultScheme); - } - if ("static".Equals(stream.PublishSecurity)) - { - return GenerateStaticUrl(stream, defaultScheme); - } - // "dynamic" as default - return GenerateDynamicUrl(stream, nonce, defaultScheme); + return $"{defaultScheme}://{stream.PublishRtmpHost}/{stream.HubName}/{stream.Title}?e={expire}&token={token}"; } //Generate RTMP live play URL diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index 7a82488..f34a456 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -19,6 +19,7 @@ public Stream(JObject jsonObj) { // System.out.println("Stream:" + jsonObj.toString()); _id = jsonObj["id"].ToString(); + Name = _id.Split('.')[_id.Split('.').Length - 1]; HubName = jsonObj["hub"].ToString(); CreatedAt = jsonObj["createdAt"].ToString(); UpdatedAt = jsonObj["updatedAt"].ToString(); @@ -74,6 +75,7 @@ public Stream(JObject jsonObject, Credentials credentials) public string LiveHttpHost { get; } + public string Name { get; } public string LiveHlsHost { get; } @@ -129,10 +131,9 @@ public virtual StreamStatus Status() return API.GetStreamStatus(_mCredentials, _id); } - - public virtual string RtmpPublishUrl() + public virtual string RtmpPublishUrl(long expireAfterSeconds = 86400) { - return API.PublishUrl(this, 0); + return API.PublishUrl(this, _mCredentials, expireAfterSeconds); } public virtual IDictionary RtmpLiveUrls() From af9e339f2543aa5b92b0374e91f0ce79e1f82363 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Sun, 10 Sep 2017 11:12:53 +0800 Subject: [PATCH 11/24] Fix name and clean code. --- pili-sdk-csharp/pili-qiniu/Credentials.cs | 5 ++-- pili-sdk-csharp/pili/API.cs | 31 ++--------------------- pili-sdk-csharp/pili/Stream.cs | 2 +- 3 files changed, 5 insertions(+), 33 deletions(-) diff --git a/pili-sdk-csharp/pili-qiniu/Credentials.cs b/pili-sdk-csharp/pili-qiniu/Credentials.cs index d8ea69b..9bfd444 100644 --- a/pili-sdk-csharp/pili-qiniu/Credentials.cs +++ b/pili-sdk-csharp/pili-qiniu/Credentials.cs @@ -28,11 +28,10 @@ public Credentials(string ak, string sk) } } - public virtual string GetToken(string hubName, string streamKey, long expire) + public virtual string SignStream(string hubName, string streamKey, long expire) { var path = $"/{hubName}/{streamKey}?e={expire}"; - return $"{_accessKey}:{Convert.ToBase64String(new HMACSHA1(Encoding.UTF8.GetBytes(_secretKey)).ComputeHash(Encoding.UTF8.GetBytes(path)))}".Replace('+', '-') - .Replace('/', '_'); + return $"{_accessKey}:{SignData(path)}"; } public virtual string SignRequest(Uri url, string method, byte[] body, string contentType) diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index 6dd1871..3c13a92 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -615,10 +615,10 @@ public static Stream.SegmentList GetStreamSegments(Credentials credentials, stri } //Generate a RTMP publish URL - public static string PublishUrl(Stream stream, Credentials credentials, long expireAfterSeconds) + public static string RtmpPublishUrl(Stream stream, Credentials credentials, long expireAfterSeconds) { var expire = DateTimeHelper.CurrentUnixTimeSeconds() + expireAfterSeconds; - var token = credentials.GetToken(stream.HubName, stream.Name, expire); + var token = credentials.SignStream(stream.HubName, stream.Name, expire); const string defaultScheme = "rtmp"; return $"{defaultScheme}://{stream.PublishRtmpHost}/{stream.HubName}/{stream.Title}?e={expire}&token={token}"; } @@ -702,32 +702,5 @@ public static IDictionary HttpFlvLiveUrl(Stream stream) } return dictionary; } - - private static string GenerateStaticUrl(Stream stream, string scheme) - { - return $"{scheme}://{stream.PublishRtmpHost}/{stream.HubName}/{stream.Title}?key={stream.PublishKey}"; - } - - private static string GenerateDynamicUrl(Stream stream, long nonce, string scheme) - { - if (nonce <= 0) - { - nonce = DateTimeHelper.CurrentUnixTimeSeconds(); - } - - var baseUri = "/" + stream.HubName + "/" + stream.Title + "?nonce=" + nonce; - string publishToken; - try - { - publishToken = Credentials.Sign(stream.PublishKey, baseUri); - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - return $"{scheme}://{stream.PublishRtmpHost}{baseUri}&token={publishToken}"; - } } } diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index f34a456..1452eb9 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -131,7 +131,7 @@ public virtual StreamStatus Status() return API.GetStreamStatus(_mCredentials, _id); } - public virtual string RtmpPublishUrl(long expireAfterSeconds = 86400) + public virtual string RtmpPublishUrl(long expireAfterSeconds) { return API.PublishUrl(this, _mCredentials, expireAfterSeconds); } From d4a2bccc4bc9b5e9e803bd872fb88e488d9fa396 Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Wed, 13 Sep 2017 23:51:20 +0800 Subject: [PATCH 12/24] Use V2. --- pili-sdk-csharp-example/Program.cs | 586 +++++------------ pili-sdk-csharp-tests/example.cs | 607 +++++------------- pili-sdk-csharp/pili-common/Config.cs | 2 +- pili-sdk-csharp/pili-common/DateTimeHelper.cs | 5 + pili-sdk-csharp/pili-common/UrlSafeBase64.cs | 6 + pili-sdk-csharp/pili-qiniu/Credentials.cs | 35 +- pili-sdk-csharp/pili/API.cs | 460 +++++-------- pili-sdk-csharp/pili/Hub.cs | 53 +- pili-sdk-csharp/pili/PiliUrl.cs | 34 + pili-sdk-csharp/pili/Stream.cs | 380 ++++------- 10 files changed, 696 insertions(+), 1472 deletions(-) create mode 100644 pili-sdk-csharp/pili/PiliUrl.cs diff --git a/pili-sdk-csharp-example/Program.cs b/pili-sdk-csharp-example/Program.cs index 6d4ee7b..982cbb8 100644 --- a/pili-sdk-csharp-example/Program.cs +++ b/pili-sdk-csharp-example/Program.cs @@ -1,4 +1,6 @@ using System; +using System.CodeDom; +using System.Collections.Generic; using System.Diagnostics; using pili_sdk_csharp.pili; using pili_sdk_csharp.pili_qiniu; @@ -7,6 +9,8 @@ namespace pili_sdk_csharp_example { internal class Example { + + // Replace with your keys here private const string AccessKey = ""; @@ -23,146 +27,96 @@ internal class Example // static { // Configuration.getInstance().setAPIHost("pili.qiniuapi.com"); // default // } - private static void Main(string[] args) + private static void Main(List args) { - TestCreatStream(); - //测试推流后才能执行操作的函数,需要填写生成的流的id。 - // testTuiStream("z1.liuhanlin.561f62c5fb16df53010003ed"); - Console.ReadKey(); - } - - public static void TestStream(string streamid) - { - Stream stream = null; - var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object + var credentials = new Credentials(AccessKey, SecretKey); var hub = new Hub(credentials, HubName); - //get a stream - try - { - stream = hub.GetStream(streamid); - Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id": "z1.liuhanlin.562f2b35d409d2aa48001102", - "createdAt": "2015-10-27T07:43:49.756Z", - "updatedAt": "2015-10-27T07:43:49.756Z", - "title": "562f2b35d409d2aa48001102", - "hub": "liuhanlin", - "disabled": false, - "publishKey": "9654c11a01b7b941", - "publishSecurity": "static", - "hosts": { - "publish": { - "rtmp": "100000p.publish.z1.pili.qiniup.com" - }, - "live": { - "hdl": "100000p.live1-hdl.z1.pili.qiniucdn.com", - "hls": "100000p.live1-hls.z1.pili.qiniucdn.com", - "http": "100000p.live1-hls.z1.pili.qiniucdn.com", - "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback": { - "hls": "100000p.playback1.z1.pili.qiniucdn.com", - "http": "100000p.playback1.z1.pili.qiniucdn.com" - }, - "play": { - "http": "100000p.live1-hls.z1.pili.qiniucdn.com", - "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" - } - } - } - */ - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - //// Get Stream segments - try - { - long start = 0; // optional, in second, unix timestamp - long end = 0; // optional, in second, unix timestamp - var limit = 0; // optional, int - var segmentList = stream.Segments(start, end, limit); - Console.WriteLine("Stream segments()"); - foreach (var segment in segmentList.GetSegmentList()) - { - Console.WriteLine("start:" + segment.Start + ",end:" + segment.End); - } - /* - start:1440315411,end:1440315435 - */ - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } + const string keyA = "SomeTestA"; + const string keyB = "SomeTestB"; + Console.WriteLine("获得不存在的流A:"); + GetStream(hub, keyA); - // Snapshot Stream - var format = "jpg"; // required - var name = "imageName" + "." + format; // required - long time = 1440315411; // optional, in second, unix timestamp - string notifyUrl = null; // optional + Console.WriteLine("创建流:"); + CreateStream(hub, keyA); - try - { - var response = stream.Snapshot(name, format, time, notifyUrl); - Console.WriteLine("Stream snapshot()"); - Console.WriteLine(response.ToString()); - /* - { - "targetUrl":"http://ey636h.static1.z0.pili.qiniucdn.com/snapshots/z1.test-hub.55d81a72e3ba5723280000ec/imageName.jpg", - "persistentId":"z1.55d81c247823de5a49ad729c" - } - */ - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } + Console.WriteLine("获得流:"); + var stream = GetStream(hub, keyA); - // Save Stream as a file - var saveAsFormat = "mp4"; // required - var saveAsName = "videoName" + "." + saveAsFormat; // required - long saveAsStart = 1444897613; // required, in second, unix timestampstart:1444897613,end:1444897973 - long saveAsEnd = 1444897973; // required, in second, unix timestamp - string saveAsNotifyUrl = null; // optional - string pipleline = null; - try - { - var response = stream.SaveAs(saveAsName, saveAsFormat, saveAsStart, saveAsEnd, saveAsNotifyUrl, pipleline); - Console.WriteLine("Stream saveAs()"); - Console.WriteLine(response.ToString()); - /* - { - "url":"http://ey636h.vod1.z1.pili.qiniucdn.com/recordings/z1.test-hub.55d81a72e3ba5723280000ec/videoName.m3u8", - "targetUrl":"http://ey636h.vod1.z1.pili.qiniucdn.com/recordings/z1.test-hub.55d81a72e3ba5723280000ec/videoName.mp4", - "persistentId":"z1.55d81c6c7823de5a49ad77b3" - } - */ - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } + Console.WriteLine("创建重复流:"); + CreateStream(hub, keyA); + + + Console.WriteLine("创建另一路流:"); + CreateStream(hub, keyB); + + + Console.WriteLine("列出流:"); + ListStreams(hub, ""); + + Console.WriteLine("列出正在直播的流:"); + ListLiveStreams(hub, ""); + + Console.WriteLine("批量查询直播信息:"); + BatchQueryLiveStreams(hub, new List { keyA, keyB }); + + Console.WriteLine("更改流的实时转码规格:"); + UpdateStreamConverts(stream); + + Console.WriteLine("禁用流:"); + DisableStream(stream); + + Console.WriteLine("启用流:"); + EnableStream(stream); + + Console.WriteLine("查询直播状态:"); + GetLiveStatus(stream); + + Console.WriteLine("查询推流历史:"); + HistoryActivity(stream); + + Console.WriteLine("保存直播数据:"); + SavePlayback(stream); + + Console.WriteLine("保存直播截图:"); + SaveSnapshot(stream); - // Delete a Stream + Console.WriteLine("RTMP 推流地址:"); + var url = PiliUrl.RTMPPublishURL(credentials, "pili-publish.mowa-cloud.com", HubName, keyA, 3600); + Console.WriteLine(url); + url = stream.RTMPPublishURL("pili-publish.mowa-cloud.com", 3600); + Console.WriteLine(url); + + Console.WriteLine("RTMP 直播放址:"); + url = PiliUrl.RTMPPlayURL("pili-live-rtmp.mowa-cloud.com", HubName, keyA); + Console.WriteLine(url); + url = stream.RTMPPlayURL("pili-live-rtmp.mowa-cloud.com"); + Console.WriteLine(url); + + Console.WriteLine("HLS 直播地址:"); + url = PiliUrl.HLSPlayURL("pili-live-hls.mowa-cloud.com", HubName, keyA); + Console.WriteLine(url); + url = stream.HLSPlayURL("pili-live-hls.mowa-cloud.com"); + Console.WriteLine(url); + + Console.WriteLine("HDL 直播地址:"); + url = PiliUrl.HDLPlayURL("pili-live-hdl.mowa-cloud.com", HubName, keyA); + Console.WriteLine(url); + url = stream.HDLPlayURL("pili-live-hdl.mowa-cloud.com"); + Console.WriteLine(url); + + Console.WriteLine("截图直播地址:"); + url = PiliUrl.SnapshotPlayURL("pili-live-snapshot.mowa-cloud.com", HubName, keyA); + Console.WriteLine(url); + url = stream.SnapshotPlayURL("pili-live-snapshot.mowa-cloud.com"); + Console.WriteLine(url); + Console.ReadKey(); + } + private static Stream CreateStream(Hub hub, string streamKey) + { try { - var res = stream.Delete(); - Console.WriteLine("Stream delete()"); - Console.WriteLine(res); - // No Content + return hub.CreateStream(streamKey); } catch (PiliException e) { @@ -170,46 +124,14 @@ public static void TestStream(string streamid) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - ////////////////////////////////////////////////////////////////////////////////////////// - // Stream end + return null; + } - //get a stream + private static Stream GetStream(Hub hub, string streamId) + { try { - stream = hub.GetStream(streamid); - Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id": "z1.liuhanlin.562f2b35d409d2aa48001102", - "createdAt": "2015-10-27T07:43:49.756Z", - "updatedAt": "2015-10-27T07:43:49.756Z", - "title": "562f2b35d409d2aa48001102", - "hub": "liuhanlin", - "disabled": false, - "publishKey": "9654c11a01b7b941", - "publishSecurity": "static", - "hosts": { - "publish": { - "rtmp": "100000p.publish.z1.pili.qiniup.com" - }, - "live": { - "hdl": "100000p.live1-hdl.z1.pili.qiniucdn.com", - "hls": "100000p.live1-hls.z1.pili.qiniucdn.com", - "http": "100000p.live1-hls.z1.pili.qiniucdn.com", - "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback": { - "hls": "100000p.playback1.z1.pili.qiniucdn.com", - "http": "100000p.playback1.z1.pili.qiniucdn.com" - }, - "play": { - "http": "100000p.live1-hls.z1.pili.qiniucdn.com", - "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" - } - } - } - */ + return hub.GetStream(streamId); } catch (PiliException e) { @@ -217,53 +139,15 @@ public static void TestStream(string streamid) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; } - public static void TestCreatStream() + private Stream.StreamInfo StreamInfo(Stream stream) { - ////////////////////////////////////////////////////////////////////////////////////////// - // Hub begin - ////////////////////////////////////////////////////////////////////////////////////////// - - // Instantiate an Hub object - var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object - var hub = new Hub(credentials, HubName); - Console.WriteLine(hub.ToString()); - // Create a new Stream - string title = null; // optional, auto-generated as default - string publishKey = null; // optional, auto-generated as default - string publishSecurity = null; // optional, can be "dynamic" or "static", "dynamic" as default - Stream stream = null; try { - stream = hub.CreateStream(title, publishKey, publishSecurity); - Trace.WriteLine("hub.createStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id":"z1.test-hub.55d97350eb6f92638c00000a", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T04:54:13.539Z", - "title":"55d97350eb6f92638c00000a", - "hub":"test-hub", - "disabled":false, - "publishKey":"ca11e07f094c3a6e", - "publishSecurity":"dynamic", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.playback1.z1.pili.qiniucdn.com" - } - } - } - */ + return stream.Info(); } catch (PiliException e) { @@ -271,36 +155,20 @@ public static void TestCreatStream() Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; + } + private static void ListStreams(Hub hub, string prefix) + { try { - stream = hub.GetStream(stream.StreamId); - Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.ToJsonString()); - /* + var streamList = hub.List(prefix, 10, ""); + Console.WriteLine("marker:" + streamList.Marker); + var list = streamList.Keys; + foreach (var s in list) { - "id":"z1.test-hub.55d80075e3ba5723280000d2", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T04:54:13.539Z", - "title":"55d80075e3ba5723280000d2", - "hub":"test-hub", - "disabled":false, - "publishKey":"ca11e07f094c3a6e", - "publishSecurity":"dynamic", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.playback1.z1.pili.qiniucdn.com" - } - } - } - */ + Console.WriteLine(s); + } } catch (PiliException e) { @@ -308,26 +176,19 @@ public static void TestCreatStream() Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // List streams + } + + private static void ListLiveStreams(Hub hub, string prefix) + { try { - string marker = null; // optional - long limit = 0; // optional - string titlePrefix = null; // optional - - var streamList = hub.ListStreams(marker, limit, titlePrefix); - Console.WriteLine("hub.listStreams()"); + var streamList = hub.ListLive(prefix, 10, ""); Console.WriteLine("marker:" + streamList.Marker); - var list = streamList.Streams; + var list = streamList.Keys; foreach (var s in list) { - // access the stream + Console.WriteLine(s); } - - /* - marker:10 - stream object - */ } catch (PiliException e) { @@ -335,76 +196,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - ////////////////////////////////////////////////////////////////////////////////////////// - // Hub end - ////////////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////////////////////// - // Stream begin - ////////////////////////////////////////////////////////////////////////////////////////// - var streamJsonString = stream.ToJsonString(); - Console.WriteLine("Stream toJSONString()"); - Console.WriteLine(streamJsonString); - - /* - { - "id":"z1.test-hub.55d80075e3ba5723280000d2", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T04:54:13.539Z", - "title":"55d80075e3ba5723280000d2", - "hub":"test-hub", - "disabled":false, - "publishKey":"ca11e07f094c3a6e", - "publishSecurity":"dynamic", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.playback1.z1.pili.qiniucdn.com" - } - } - } - */ - - // Update a Stream - var newPublishKey = "new_secret_words"; // optional - var newPublishSecurity = "static"; // optional, can be "dynamic" or "static" - var newDisabled = true; // optional, can be "true" of "false" + } + + private static void BatchQueryLiveStreams(Hub hub, List streamkeys) + { try { - var newStream = stream.Update(newPublishKey, newPublishSecurity, newDisabled); - Console.WriteLine("Stream update()"); - Console.WriteLine(newStream.ToJsonString()); - stream = newStream; - /* - { - "id":"z1.test-hub.55d80075e3ba5723280000d2", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T01:53:02.738973745-04:00", - "title":"55d80075e3ba5723280000d2", - "hub":"test-hub", - "disabled":true, - "publishKey":"new_secret_words", - "publishSecurity":"static", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.hls.z1.pili.qiniucdn.com" - } - } - } - */ + var liveStatus = hub.BatchLiveStatus(streamkeys); } catch (PiliException e) { @@ -412,17 +210,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + } - // Disable a Stream + private static void UpdateStreamConverts(Stream stream) + { try { - var disabledStream = stream.Disable(); - Console.WriteLine("Stream disable()"); - Console.WriteLine(disabledStream.Disabled); - /* - * true - * - * */ + stream.UpdateConverts(new List { "480p", "720p" }); } catch (PiliException e) { @@ -430,16 +224,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // Enable a Stream + } + + private static void DisableStream(Stream stream) + { try { - var enabledStream = stream.Enable(); - Console.WriteLine("Stream enable()"); - Console.WriteLine(enabledStream.Disabled); - /* - * false - * - * */ + stream.Disable(); } catch (PiliException e) { @@ -447,24 +238,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // Get Stream Status + } + + private static void EnableStream(Stream stream) + { try { - var status = stream.Status(); - Console.WriteLine("Stream Status()"); - Console.WriteLine(status.ToString()); - /* - { - "addr":"222.73.202.226:2572", - "status":"disconnected", - "bytesPerSecond":0, - "framesPerSecond":{ - "audio":0, - "video":0, - "data":0 - } - } - */ + stream.Enable(); } catch (PiliException e) { @@ -472,14 +252,14 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + } - // Generate RTMP publish URL + private static void GetLiveStatus(Stream stream) + { try { - var publishUrl = stream.RtmpPublishUrl(); - Console.WriteLine("Stream rtmpPublishUrl()"); - Console.WriteLine(publishUrl); - // rtmp://ey636h.publish.z1.pili.qiniup.com/test-hub/55d810aae3ba5723280000db?nonce=1440223404&token=hIVJje0ZOX9hp7yPIvGBmJ_6Qxo= + var status = stream.LiveStatus(); + Console.WriteLine(status.ToString()); } catch (PiliException e) { @@ -487,35 +267,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // Generate RTMP live play URLs - var originUrl = stream.RtmpLiveUrls()[Stream.Origin]; - Console.WriteLine("Stream rtmpLiveUrls()"); - Console.WriteLine(originUrl); - // rtmp://ey636h.live1-rtmp.z1.pili.qiniucdn.com/test-hub/55d8113ee3ba5723280000dc - - // Generate HLS play URLs - var originLiveHlsUrl = stream.HlsLiveUrls()[Stream.Origin]; - Console.WriteLine("Stream hlsLiveUrls()"); - Console.WriteLine(originLiveHlsUrl); - // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.m3u8 - - // Generate Http-Flv live play URLs - var originLiveFlvUrl = stream.HttpFlvLiveUrls()[Stream.Origin]; - Console.WriteLine("Stream httpFlvLiveUrls()"); - Console.WriteLine(originLiveFlvUrl); - // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.flv - - - // Generate HLS playback URLs - long startHlsPlayback = 1440315411; // required, in second, unix timestamp - long endHlsPlayback = 1440315435; // required, in second, unix timestamp + } + + private static void HistoryActivity(Stream stream) + { try { - var hlsPlaybackUrl = stream.HlsPlaybackUrls(startHlsPlayback, endHlsPlayback)[Stream.Origin]; - - Console.WriteLine("Stream hlsPlaybackUrls()"); - Console.WriteLine(hlsPlaybackUrl); - // http://ey636h.playback1.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.m3u8?start=1440315411&end=1440315435 + var records = stream.HistoryActivity(0, 0); } catch (PiliException e) { @@ -523,26 +281,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + } - - // Get Stream Status + private void DeleteStream(Stream stream) + { try { - var status = stream.Status(); - Console.WriteLine("Stream Status()"); - Console.WriteLine(status.ToString()); - /* - { - "addr":"222.73.202.226:2572", - "status":"disconnected", - "bytesPerSecond":0, - "framesPerSecond":{ - "audio":0, - "video":0, - "data":0 - } - } - */ + stream.Delete(); } catch (PiliException e) { @@ -550,15 +295,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + } - - // Delete a Stream + private static void SavePlayback(Stream stream) + { try { - var res = stream.Delete(); - Console.WriteLine("Stream delete()"); - Console.WriteLine(res); - // No Content + var response = stream.SaveAs(new Stream.SaveasOptions { Format = "mp4" }); } catch (PiliException e) { @@ -566,38 +309,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - ////////////////////////////////////////////////////////////////////////////////////////// - // Stream end - + } + private static void SaveSnapshot(Stream stream) + { try { - stream = hub.GetStream(stream.StreamId); - Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id":"z1.test-hub.55d80075e3ba5723280000d2", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T04:54:13.539Z", - "title":"55d80075e3ba5723280000d2", - "hub":"test-hub", - "disabled":false, - "publishKey":"ca11e07f094c3a6e", - "publishSecurity":"dynamic", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.playback1.z1.pili.qiniucdn.com" - } - } - } - */ + var response = stream.Snapshot(new Stream.SnapshotOptions { Format = "jpg" }); + Console.WriteLine(response); } catch (PiliException e) { diff --git a/pili-sdk-csharp-tests/example.cs b/pili-sdk-csharp-tests/example.cs index acd43ba..692d70a 100644 --- a/pili-sdk-csharp-tests/example.cs +++ b/pili-sdk-csharp-tests/example.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Diagnostics; using pili_sdk_csharp.pili; using pili_sdk_csharp.pili_qiniu; @@ -25,50 +26,21 @@ public class Example // Configuration.getInstance().setAPIHost("pili.qiniuapi.com"); // default // } - [Theory] - [InlineData("")] - public static void TestStream(string streamId) + private void Check() + { + Assert.NotNull(AccessKey); + Assert.NotEqual(AccessKey, ""); + Assert.NotNull(SecretKey); + Assert.NotEqual(SecretKey, ""); + Assert.NotNull(HubName); + Assert.NotEqual(HubName, ""); + } + + private Stream CreateStream(Hub hub, string streamKey) { - Stream stream = null; - var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object - var hub = new Hub(credentials, HubName); - //get a stream try { - stream = hub.GetStream(streamId); - Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id": "z1.liuhanlin.562f2b35d409d2aa48001102", - "createdAt": "2015-10-27T07:43:49.756Z", - "updatedAt": "2015-10-27T07:43:49.756Z", - "title": "562f2b35d409d2aa48001102", - "hub": "liuhanlin", - "disabled": false, - "publishKey": "9654c11a01b7b941", - "publishSecurity": "static", - "hosts": { - "publish": { - "rtmp": "100000p.publish.z1.pili.qiniup.com" - }, - "live": { - "hdl": "100000p.live1-hdl.z1.pili.qiniucdn.com", - "hls": "100000p.live1-hls.z1.pili.qiniucdn.com", - "http": "100000p.live1-hls.z1.pili.qiniucdn.com", - "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback": { - "hls": "100000p.playback1.z1.pili.qiniucdn.com", - "http": "100000p.playback1.z1.pili.qiniucdn.com" - }, - "play": { - "http": "100000p.live1-hls.z1.pili.qiniucdn.com", - "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" - } - } - } - */ + return hub.CreateStream(streamKey); } catch (PiliException e) { @@ -76,24 +48,14 @@ public static void TestStream(string streamId) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - Assert.NotEqual(stream, null); + return null; + } - //// Get Stream segments + private Stream GetStream(Hub hub, string streamId) + { try { - const int start = 0; // optional, in second, unix timestamp - const int end = 0; // optional, in second, unix timestamp - var limit = 0; // optional, int - var segmentList = stream.Segments(start, end, limit); - - Console.WriteLine("Stream segments()"); - foreach (var segment in segmentList.GetSegmentList()) - { - Console.WriteLine("start:" + segment.Start + ",end:" + segment.End); - } - /* - start:1440315411,end:1440315435 - */ + return hub.GetStream(streamId); } catch (PiliException e) { @@ -101,24 +63,15 @@ public static void TestStream(string streamId) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; + } - // Snapshot Stream - var format = "jpg"; // required - var name = "imageName" + "." + format; // required - long time = 1440315411; // optional, in second, unix timestamp - string notifyUrl = null; // optional + private Stream.StreamInfo StreamInfo(Stream stream) + { try { - var response = stream.Snapshot(name, format, time, notifyUrl); - Console.WriteLine("Stream snapshot()"); - Console.WriteLine(response.ToString()); - /* - { - "targetUrl":"http://ey636h.static1.z0.pili.qiniucdn.com/snapshots/z1.test-hub.55d81a72e3ba5723280000ec/imageName.jpg", - "persistentId":"z1.55d81c247823de5a49ad729c" - } - */ + return stream.Info(); } catch (PiliException e) { @@ -126,26 +79,20 @@ public static void TestStream(string streamId) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; + } - // Save Stream as a file - var saveAsFormat = "mp4"; // required - var saveAsName = "videoName" + "." + saveAsFormat; // required - long saveAsStart = 1444897613; // required, in second, unix timestampstart:1444897613,end:1444897973 - long saveAsEnd = 1444897973; // required, in second, unix timestamp - string saveAsNotifyUrl = null; // optional - string pipleline = null; + private void ListStreams(Hub hub, string prefix) + { try { - var response = stream.SaveAs(saveAsName, saveAsFormat, saveAsStart, saveAsEnd, saveAsNotifyUrl, pipleline); - Console.WriteLine("Stream saveAs()"); - Console.WriteLine(response.ToString()); - /* - { - "url":"http://ey636h.vod1.z1.pili.qiniucdn.com/recordings/z1.test-hub.55d81a72e3ba5723280000ec/videoName.m3u8", - "targetUrl":"http://ey636h.vod1.z1.pili.qiniucdn.com/recordings/z1.test-hub.55d81a72e3ba5723280000ec/videoName.mp4", - "persistentId":"z1.55d81c6c7823de5a49ad77b3" - } - */ + var streamList = hub.List(prefix, 10, ""); + Console.WriteLine("marker:" + streamList.Marker); + var list = streamList.Keys; + foreach (var s in list) + { + Console.WriteLine(s); + } } catch (PiliException e) { @@ -153,14 +100,19 @@ public static void TestStream(string streamId) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + } - // Delete a Stream + private void ListLiveStreams(Hub hub, string prefix) + { try { - var res = stream.Delete(); - Console.WriteLine("Stream delete()"); - Console.WriteLine(res); - // No Content + var streamList = hub.ListLive(prefix, 10, ""); + Console.WriteLine("marker:" + streamList.Marker); + var list = streamList.Keys; + foreach (var s in list) + { + Console.WriteLine(s); + } } catch (PiliException e) { @@ -168,46 +120,13 @@ public static void TestStream(string streamId) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - ////////////////////////////////////////////////////////////////////////////////////////// - // Stream end + } - //get a stream + private void BatchQueryLiveStreams(Hub hub, List streamkeys) + { try { - stream = hub.GetStream(streamId); - Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id": "z1.liuhanlin.562f2b35d409d2aa48001102", - "createdAt": "2015-10-27T07:43:49.756Z", - "updatedAt": "2015-10-27T07:43:49.756Z", - "title": "562f2b35d409d2aa48001102", - "hub": "liuhanlin", - "disabled": false, - "publishKey": "9654c11a01b7b941", - "publishSecurity": "static", - "hosts": { - "publish": { - "rtmp": "100000p.publish.z1.pili.qiniup.com" - }, - "live": { - "hdl": "100000p.live1-hdl.z1.pili.qiniucdn.com", - "hls": "100000p.live1-hls.z1.pili.qiniucdn.com", - "http": "100000p.live1-hls.z1.pili.qiniucdn.com", - "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback": { - "hls": "100000p.playback1.z1.pili.qiniucdn.com", - "http": "100000p.playback1.z1.pili.qiniucdn.com" - }, - "play": { - "http": "100000p.live1-hls.z1.pili.qiniucdn.com", - "rtmp": "100000p.live1-rtmp.z1.pili.qiniucdn.com" - } - } - } - */ + var liveStatus = hub.BatchLiveStatus(streamkeys); } catch (PiliException e) { @@ -217,89 +136,11 @@ public static void TestStream(string streamId) } } - [Fact] - public static void TestCreatStream() + private void UpdateStreamConverts(Stream stream) { - ////////////////////////////////////////////////////////////////////////////////////////// - // Hub begin - ////////////////////////////////////////////////////////////////////////////////////////// - - // Instantiate an Hub object - var credentials = new Credentials(AccessKey, SecretKey); // Credentials Object - var hub = new Hub(credentials, HubName); - Console.WriteLine(hub.ToString()); - - // Create a new Stream - string title = null; // optional, auto-generated as default - string publishKey = null; // optional, auto-generated as default - string publishSecurity = null; // optional, can be "dynamic" or "static", "dynamic" as default - Stream stream = null; - try - { - stream = hub.CreateStream(title, publishKey, publishSecurity); - Trace.WriteLine("hub.createStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id":"z1.test-hub.55d97350eb6f92638c00000a", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T04:54:13.539Z", - "title":"55d97350eb6f92638c00000a", - "hub":"test-hub", - "disabled":false, - "publishKey":"ca11e07f094c3a6e", - "publishSecurity":"dynamic", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.playback1.z1.pili.qiniucdn.com" - } - } - } - */ - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - Assert.NotEqual(stream, null); try { - stream = hub.GetStream(stream.StreamId); - Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id":"z1.test-hub.55d80075e3ba5723280000d2", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T04:54:13.539Z", - "title":"55d80075e3ba5723280000d2", - "hub":"test-hub", - "disabled":false, - "publishKey":"ca11e07f094c3a6e", - "publishSecurity":"dynamic", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.playback1.z1.pili.qiniucdn.com" - } - } - } - */ + stream.UpdateConverts(new List{"480p", "720p"}); } catch (PiliException e) { @@ -307,121 +148,13 @@ public static void TestCreatStream() Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // List streams - try - { - string marker = null; // optional - var limit = 0; // optional - string titlePrefix = null; // optional - - var streamList = hub.ListStreams(marker, limit, titlePrefix); - Console.WriteLine("hub.listStreams()"); - Console.WriteLine("marker:" + streamList.Marker); - var list = streamList.Streams; - foreach (var s in list) - { - // access the stream - } + } - /* - marker:10 - stream object - */ - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - ////////////////////////////////////////////////////////////////////////////////////////// - // Hub end - ////////////////////////////////////////////////////////////////////////////////////////// - - ////////////////////////////////////////////////////////////////////////////////////////// - // Stream begin - ////////////////////////////////////////////////////////////////////////////////////////// - var streamJsonString = stream.ToJsonString(); - Console.WriteLine("Stream toJSONString()"); - Console.WriteLine(streamJsonString); - - /* - { - "id":"z1.test-hub.55d80075e3ba5723280000d2", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T04:54:13.539Z", - "title":"55d80075e3ba5723280000d2", - "hub":"test-hub", - "disabled":false, - "publishKey":"ca11e07f094c3a6e", - "publishSecurity":"dynamic", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.playback1.z1.pili.qiniucdn.com" - } - } - } - */ - - //// Update a Stream - //var newPublishKey = "new_secret_words"; // optional - //var newPublishSecurity = "static"; // optional, can be "dynamic" or "static" - //var newDisabled = true; // optional, can be "true" of "false" - //try - //{ - // var newStream = stream.Update(newPublishKey, newPublishSecurity, newDisabled); - // Console.WriteLine("Stream update()"); - // Console.WriteLine(newStream.ToJsonString()); - // stream = newStream; - // /* - // { - // "id":"z1.test-hub.55d80075e3ba5723280000d2", - // "createdAt":"2015-08-22T04:54:13.539Z", - // "updatedAt":"2015-08-22T01:53:02.738973745-04:00", - // "title":"55d80075e3ba5723280000d2", - // "hub":"test-hub", - // "disabled":true, - // "publishKey":"new_secret_words", - // "publishSecurity":"static", - // "hosts":{ - // "publish":{ - // "rtmp":"ey636h.publish.z1.pili.qiniup.com" - // }, - // "live":{ - // "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - // "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - // }, - // "playback":{ - // "http":"ey636h.hls.z1.pili.qiniucdn.com" - // } - // } - // } - // */ - //} - //catch (PiliException e) - //{ - // // TODO Auto-generated catch block - // Console.WriteLine(e.ToString()); - // Console.Write(e.StackTrace); - //} - - // Disable a Stream + private void DisableStream(Stream stream) + { try { - var disabledStream = stream.Disable(); - Console.WriteLine("Stream disable()"); - Console.WriteLine(disabledStream.Disabled); - /* - * true - * - * */ + stream.Disable(); } catch (PiliException e) { @@ -429,16 +162,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // Enable a Stream + } + + private void EnableStream(Stream stream) + { try { - var enabledStream = stream.Enable(); - Console.WriteLine("Stream enable()"); - Console.WriteLine(enabledStream.Disabled); - /* - * false - * - * */ + stream.Enable(); } catch (PiliException e) { @@ -446,24 +176,14 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - // Get Stream Status + } + + private void GetLiveStatus(Stream stream) + { try { - var status = stream.Status(); - Console.WriteLine("Stream Status()"); + var status = stream.LiveStatus(); Console.WriteLine(status.ToString()); - /* - { - "addr":"222.73.202.226:2572", - "status":"disconnected", - "bytesPerSecond":0, - "framesPerSecond":{ - "audio":0, - "video":0, - "data":0 - } - } - */ } catch (PiliException e) { @@ -471,14 +191,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + } - // Generate RTMP publish URL + private void HistoryActivity(Stream stream) + { try { - var publishUrl = stream.RtmpPublishUrl(); - Console.WriteLine("Stream rtmpPublishUrl()"); - Console.WriteLine(publishUrl); - // rtmp://ey636h.publish.z1.pili.qiniup.com/test-hub/55d810aae3ba5723280000db?nonce=1440223404&token=hIVJje0ZOX9hp7yPIvGBmJ_6Qxo= + var records = stream.HistoryActivity(0, 1515214403); } catch (PiliException e) { @@ -486,36 +205,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + } - // Generate RTMP live play URLs - var originUrl = stream.RtmpLiveUrls()[Stream.Origin]; - Console.WriteLine("Stream rtmpLiveUrls()"); - Console.WriteLine(originUrl); - // rtmp://ey636h.live1-rtmp.z1.pili.qiniucdn.com/test-hub/55d8113ee3ba5723280000dc - - // Generate HLS play URLs - var originLiveHlsUrl = stream.HlsLiveUrls()[Stream.Origin]; - Console.WriteLine("Stream hlsLiveUrls()"); - Console.WriteLine(originLiveHlsUrl); - // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.m3u8 - - // Generate Http-Flv live play URLs - var originLiveFlvUrl = stream.HttpFlvLiveUrls()[Stream.Origin]; - Console.WriteLine("Stream httpFlvLiveUrls()"); - Console.WriteLine(originLiveFlvUrl); - // http://ey636h.live1-http.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.flv - - - // Generate HLS playback URLs - long startHlsPlayback = 1440315411; // required, in second, unix timestamp - long endHlsPlayback = 1440315435; // required, in second, unix timestamp + private void DeleteStream(Stream stream) + { try { - var hlsPlaybackUrl = stream.HlsPlaybackUrls(startHlsPlayback, endHlsPlayback)[Stream.Origin]; - - Console.WriteLine("Stream hlsPlaybackUrls()"); - Console.WriteLine(hlsPlaybackUrl); - // http://ey636h.playback1.z1.pili.qiniucdn.com/test-hub/55d8119ee3ba5723280000dd.m3u8?start=1440315411&end=1440315435 + stream.Delete(); } catch (PiliException e) { @@ -523,26 +219,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + } - - // Get Stream Status + private void SavePlayback(Stream stream) + { try { - var status = stream.Status(); - Console.WriteLine("Stream Status()"); - Console.WriteLine(status.ToString()); - /* - { - "addr":"222.73.202.226:2572", - "status":"disconnected", - "bytesPerSecond":0, - "framesPerSecond":{ - "audio":0, - "video":0, - "data":0 - } - } - */ + var response = stream.SaveAs(new Stream.SaveasOptions{Format = "mp4"}); } catch (PiliException e) { @@ -550,15 +233,13 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - - - // Delete a Stream + } + private void SaveSnapshot(Stream stream) + { try { - var res = stream.Delete(); - Console.WriteLine("Stream delete()"); - Console.WriteLine(res); - // No Content + var response = stream.Snapshot(new Stream.SnapshotOptions{Format = "jpg"}); + Console.WriteLine(response); } catch (PiliException e) { @@ -566,45 +247,95 @@ stream object Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - ////////////////////////////////////////////////////////////////////////////////////////// - // Stream end + } - try - { - stream = hub.GetStream(stream.StreamId); - Console.WriteLine("hub.getStream:"); - Console.WriteLine(stream.ToJsonString()); - /* - { - "id":"z1.test-hub.55d80075e3ba5723280000d2", - "createdAt":"2015-08-22T04:54:13.539Z", - "updatedAt":"2015-08-22T04:54:13.539Z", - "title":"55d80075e3ba5723280000d2", - "hub":"test-hub", - "disabled":false, - "publishKey":"ca11e07f094c3a6e", - "publishSecurity":"dynamic", - "hosts":{ - "publish":{ - "rtmp":"ey636h.publish.z1.pili.qiniup.com" - }, - "live":{ - "http":"ey636h.live1-http.z1.pili.qiniucdn.com", - "rtmp":"ey636h.live1-rtmp.z1.pili.qiniucdn.com" - }, - "playback":{ - "http":"ey636h.playback1.z1.pili.qiniucdn.com" - } - } - } - */ - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } + + [Fact] + public void Test() + { + Check(); + var credentials = new Credentials(AccessKey, SecretKey); + var hub = new Hub(credentials, HubName); + + const string keyA = "1234567"; + const string keyB = "SomeTestB"; + Console.WriteLine("获得不存在的流A:"); + GetStream(hub, keyA); + + Console.WriteLine("创建流:"); + CreateStream(hub, keyA); + + Console.WriteLine("获得流:"); + var stream = GetStream(hub, keyA); + DeleteStream(stream); + + Console.WriteLine("创建重复流:"); + CreateStream(hub, keyA); + + + Console.WriteLine("创建另一路流:"); + CreateStream(hub, keyB); + + + Console.WriteLine("列出流:"); + ListStreams(hub, ""); + + Console.WriteLine("列出正在直播的流:"); + ListLiveStreams(hub, ""); + + Console.WriteLine("批量查询直播信息:"); + BatchQueryLiveStreams(hub, new List { keyA, keyB }); + + Console.WriteLine("更改流的实时转码规格:"); + UpdateStreamConverts(stream); + + Console.WriteLine("禁用流:"); + DisableStream(stream); + + Console.WriteLine("启用流:"); + EnableStream(stream); + + Console.WriteLine("查询直播状态:"); + GetLiveStatus(stream); + + Console.WriteLine("查询推流历史:"); + HistoryActivity(stream); + + Console.WriteLine("保存直播数据:"); + SavePlayback(stream); + + Console.WriteLine("保存直播截图:"); + SaveSnapshot(stream); + + Console.WriteLine("RTMP 推流地址:"); + var url = PiliUrl.RTMPPublishURL(credentials, "pili-publish.mowa-cloud.com", HubName, keyA, 3600); + Console.WriteLine(url); + url = stream.RTMPPublishURL("pili-publish.mowa-cloud.com", 3600); + Console.WriteLine(url); + + Console.WriteLine("RTMP 直播放址:"); + url = PiliUrl.RTMPPlayURL("pili-live-rtmp.mowa-cloud.com", HubName, keyA); + Console.WriteLine(url); + url = stream.RTMPPlayURL("pili-live-rtmp.mowa-cloud.com"); + Console.WriteLine(url); + + Console.WriteLine("HLS 直播地址:"); + url = PiliUrl.HLSPlayURL("pili-live-hls.mowa-cloud.com", HubName, keyA); + Console.WriteLine(url); + url = stream.HLSPlayURL("pili-live-hls.mowa-cloud.com"); + Console.WriteLine(url); + + Console.WriteLine("HDL 直播地址:"); + url = PiliUrl.HDLPlayURL("pili-live-hdl.mowa-cloud.com", HubName, keyA); + Console.WriteLine(url); + url = stream.HDLPlayURL("pili-live-hdl.mowa-cloud.com"); + Console.WriteLine(url); + + Console.WriteLine("截图直播地址:"); + url = PiliUrl.SnapshotPlayURL("pili-live-snapshot.mowa-cloud.com", HubName, keyA); + Console.WriteLine(url); + url = stream.SnapshotPlayURL("pili-live-snapshot.mowa-cloud.com"); + Console.WriteLine(url); } } } diff --git a/pili-sdk-csharp/pili-common/Config.cs b/pili-sdk-csharp/pili-common/Config.cs index 1c395f3..beb5841 100644 --- a/pili-sdk-csharp/pili-common/Config.cs +++ b/pili-sdk-csharp/pili-common/Config.cs @@ -10,7 +10,7 @@ public class Config public const string Utf8 = "UTF-8"; - public const string DefaultAPIVersion = "v1"; + public const string DefaultAPIVersion = "v2"; [Obsolete] public const string APIVersion = DefaultAPIVersion; diff --git a/pili-sdk-csharp/pili-common/DateTimeHelper.cs b/pili-sdk-csharp/pili-common/DateTimeHelper.cs index 6b7c14e..4bba5ce 100644 --- a/pili-sdk-csharp/pili-common/DateTimeHelper.cs +++ b/pili-sdk-csharp/pili-common/DateTimeHelper.cs @@ -17,4 +17,9 @@ internal static long CurrentUnixTimeSeconds() { return (long)(DateTimeOffset.UtcNow - UnixEpoch).TotalSeconds; } + + internal static long TransUnixTimeSeconds(DateTime dateTime) + { + return (long)(dateTime - UnixEpoch).TotalSeconds; + } } diff --git a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs index 02acc6b..2273e55 100644 --- a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs +++ b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs @@ -26,6 +26,12 @@ public static string EncodeToString(byte[] data) .TrimEnd('='); } + public static string Base64UrlEncode(byte[] data) + { + return Convert.ToBase64String(data) + .Replace('+', '-').Replace('/', '_'); + } + public static byte[] Decode(string base64) { base64 = base64 diff --git a/pili-sdk-csharp/pili-qiniu/Credentials.cs b/pili-sdk-csharp/pili-qiniu/Credentials.cs index 9bfd444..8518885 100644 --- a/pili-sdk-csharp/pili-qiniu/Credentials.cs +++ b/pili-sdk-csharp/pili-qiniu/Credentials.cs @@ -9,16 +9,15 @@ public class Credentials { private const string DigestAuthPrefix = "Qiniu"; private readonly string _accessKey; - private readonly string _secretKey; private readonly HMACSHA1 _skSpec; public Credentials(string ak, string sk) { _accessKey = ak ?? throw new ArgumentNullException(nameof(ak), "Invalid accessKey!"); - _secretKey = sk ?? throw new ArgumentNullException(nameof(sk), "Invalid secretKey!!"); + var secretKey = sk ?? throw new ArgumentNullException(nameof(sk), "Invalid secretKey!!"); try { - _skSpec = new HMACSHA1(Encoding.UTF8.GetBytes(_secretKey)); + _skSpec = new HMACSHA1(Encoding.UTF8.GetBytes(secretKey)); } catch (Exception e) { @@ -68,40 +67,14 @@ public virtual string SignRequest(Uri url, string method, byte[] body, string co return $"{DigestAuthPrefix} {_accessKey}:{SignData(sb.ToString())}"; } - private static byte[] Digest(string secret, string data) - { - try - { - var encoding = Encoding.UTF8; - var newdata = encoding.GetBytes(data); - var bytesSk = encoding.GetBytes(secret); - var mac = new HMACSHA1(bytesSk); - var digest = mac.ComputeHash(newdata); - - return digest; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new Exception("Failed to digest: " + e.Message); - } - } - - public static string Sign(string secret, string data) - { - return UrlSafeBase64.EncodeToString(Digest(secret, data)); - } - private string SignData(string data) { string sign; try { - var encoding = Encoding.UTF8; - var newdata = encoding.GetBytes(data); + var newdata = Encoding.UTF8.GetBytes(data); var digest = _skSpec.ComputeHash(newdata); - sign = UrlSafeBase64.EncodeToString(digest); + sign = UrlSafeBase64.Base64UrlEncode(digest); } catch (Exception e) { diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index 3c13a92..e0be65a 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -17,33 +17,17 @@ public static class API private static readonly string APIBaseUrl = $"{(Configuration.Instance.UseHttps ? "https" : "http")}://{Configuration.Instance.API_HOST}/{Configuration.Instance.API_VERSION}"; - public static Stream CreateStream(Credentials credentials, string hubName, string title, string publishKey, string publishSecurity) + public static Stream CreateStream(Credentials credentials, string hubName, string streamId) { // System.out.println("createStream:" + API_BASE_URL); - var urlStr = APIBaseUrl + "/streams"; + var urlStr = APIBaseUrl + $"/hubs/{hubName}/streams"; Console.WriteLine("API_BASE_URL---------" + APIBaseUrl); var json = new Dictionary { - { "hub", hubName } + { "key", streamId } }; - if (!string.IsNullOrWhiteSpace(title)) - { - if (title.Length < Config.TitleMinLength || title.Length > Config.TitleMaxLength) - { - throw new PiliException(MessageConfig.IllegalTitleMsg); - } - json.Add("title", title); - } - if (!string.IsNullOrWhiteSpace(publishKey)) - { - json.Add("publishKey", publishKey); - } - if (!string.IsNullOrWhiteSpace(publishSecurity)) - { - json.Add("publishSecurity", publishSecurity); - } - HttpWebResponse response; + HttpWebResponse response = null; try { var url = new Uri(urlStr); @@ -67,7 +51,6 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin } response = (HttpWebResponse)request.GetResponseAsync().Result; } - catch (Exception e) { Console.WriteLine(e.ToString()); @@ -78,32 +61,16 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin // response never be null if ((int)response.StatusCode == 200) { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - return new Stream(jsonObj, credentials); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } + return new Stream(hubName, streamId, credentials); } throw new PiliException(response); } // Get an exist stream - public static Stream GetStream(Credentials credentials, string streamId) + public static JObject GetStream(Credentials credentials, string hubName, string ekey) { - if (streamId == null) - { - throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); - } - var urlStr = $"{APIBaseUrl}/streams/{streamId}"; - HttpWebResponse response; + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}"; + HttpWebResponse response = null; try { var url = new Uri(urlStr); @@ -132,8 +99,7 @@ public static Stream GetStream(Credentials credentials, string streamId) { var reader = new StreamReader(response.GetResponseStream()); var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - return new Stream(jsonObj, credentials); + return JObject.Parse(text); } catch (IOException e) { @@ -145,43 +111,23 @@ public static Stream GetStream(Credentials credentials, string streamId) throw new PiliException(response); } - // List stream - public static Stream.StreamList ListStreams(Credentials credentials, string hubName, string startMarker, long limitCount, string titlePrefix) + public static void SetDisableTill(Credentials credentials, string hubName, string ekey, long till) { - try - { - hubName = WebUtility.UrlEncode(hubName); - if (!string.IsNullOrWhiteSpace(startMarker)) - { - startMarker = WebUtility.UrlEncode(startMarker); - } - } - catch (Exception e) + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/disabled"; + var json = new Dictionary { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - var urlStr = $"{APIBaseUrl}/streams?hub={hubName}"; - if (!string.IsNullOrWhiteSpace(startMarker)) - { - urlStr += "&marker=" + startMarker; - } - if (limitCount > 0) - { - urlStr += "&limit=" + limitCount; - } - if (!string.IsNullOrWhiteSpace(titlePrefix)) - { - urlStr += "&title=" + titlePrefix; - } - HttpWebResponse response; + { "disabledTill", till } + }; + HttpWebResponse response = null; try { var url = new Uri(urlStr); - var macToken = credentials.SignRequest(url, "GET", null, null); var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "GET"; + request.Method = "POST"; + var jsonobj = JsonConvert.SerializeObject(json); + var body = Encoding.UTF8.GetBytes(jsonobj); + var macToken = credentials.SignRequest(url, "POST", body, ContentType); + request.ContentType = ContentType; #if NET45 request.UserAgent = Utils.UserAgent; request.Headers.Add("Authorization", macToken); @@ -189,6 +135,11 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN request.Headers["User-Agent"] = Utils.UserAgent; request.Headers["Authorization"] = macToken; #endif + + using (var requestStream = request.GetRequestStreamAsync().Result) + { + new MemoryStream(body).CopyTo(requestStream); + } response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -199,14 +150,14 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN } // response never be null - if ((int)response.StatusCode == 200) + if ((int)response.StatusCode != 200) { try { var reader = new StreamReader(response.GetResponseStream()); var text = reader.ReadToEnd(); var jsonObj = JObject.Parse(text); - return new Stream.StreamList(jsonObj, credentials); + throw new PiliException(jsonObj["error"].ToString()); } catch (IOException e) { @@ -215,24 +166,18 @@ public static Stream.StreamList ListStreams(Credentials credentials, string hubN throw new PiliException(e); } } - throw new PiliException(response); } - // get stream status - public static Stream.StreamStatus GetStreamStatus(Credentials credentials, string streamId) + public static JObject LiveStatus(Credentials credentials, string hubName, string ekey) { - if (streamId == null) - { - throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); - } - var urlStr = $"{APIBaseUrl}/streams/{streamId}/status"; - HttpWebResponse response; + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/live"; + HttpWebResponse response = null; try { var url = new Uri(urlStr); var request = (HttpWebRequest)WebRequest.Create(url); - var macToken = credentials.SignRequest(url, "GET", null, null); request.Method = "GET"; + var macToken = credentials.SignRequest(url, "GET", null, null); #if NET45 request.UserAgent = Utils.UserAgent; request.Headers.Add("Authorization", macToken); @@ -248,6 +193,7 @@ public static Stream.StreamStatus GetStreamStatus(Credentials credentials, strin Console.Write(e.StackTrace); throw new PiliException(e); } + // response never be null if ((int)response.StatusCode == 200) { @@ -255,8 +201,7 @@ public static Stream.StreamStatus GetStreamStatus(Credentials credentials, strin { var reader = new StreamReader(response.GetResponseStream()); var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - return new Stream.StreamStatus(jsonObj); + return JObject.Parse(text); } catch (IOException e) { @@ -268,35 +213,22 @@ public static Stream.StreamStatus GetStreamStatus(Credentials credentials, strin throw new PiliException(response); } - // Update an exist stream - public static Stream UpdateStream(Credentials credentials, string streamId, string publishKey, string publishSecurity, bool disabled) + public static JObject SaveAs(Credentials credentials, string hubName, string ekey, Stream.SaveasOptions options) { - var json = new JObject(); - - if (streamId == null) - { - throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); - } - if (!string.IsNullOrWhiteSpace(publishKey)) - { - json.Add("publishKey", publishKey); - } - if (!string.IsNullOrWhiteSpace(publishSecurity)) + if (options == null) { - json.Add("publishSecurity", publishSecurity); + options = new Stream.SaveasOptions(); } - json.Add("disabled", disabled); - - var urlStr = $"{APIBaseUrl}/streams/{streamId}"; - HttpWebResponse response; + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/saveas"; + HttpWebResponse response = null; try { var url = new Uri(urlStr); - var jsonobj = JsonConvert.SerializeObject(json); - var body = Encoding.UTF8.GetBytes(jsonobj); var request = (HttpWebRequest)WebRequest.Create(url); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); request.Method = "POST"; + var jsonobj = JsonConvert.SerializeObject(options); + var body = Encoding.UTF8.GetBytes(jsonobj); + var macToken = credentials.SignRequest(url, "POST", body, ContentType); request.ContentType = ContentType; #if NET45 request.UserAgent = Utils.UserAgent; @@ -305,11 +237,11 @@ public static Stream UpdateStream(Credentials credentials, string streamId, stri request.Headers["User-Agent"] = Utils.UserAgent; request.Headers["Authorization"] = macToken; #endif + using (var requestStream = request.GetRequestStreamAsync().Result) { new MemoryStream(body).CopyTo(requestStream); } - response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -326,8 +258,7 @@ public static Stream UpdateStream(Credentials credentials, string streamId, stri { var reader = new StreamReader(response.GetResponseStream()); var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - return new Stream(jsonObj, credentials); + return JObject.Parse(text); } catch (IOException e) { @@ -339,22 +270,23 @@ public static Stream UpdateStream(Credentials credentials, string streamId, stri throw new PiliException(response); } - // Delete stream - public static string DeleteStream(Credentials credentials, string streamId) + public static JObject Snapshot(Credentials credentials, string hubName, string ekey, Stream.SnapshotOptions options) { - if (streamId == null) + if (options == null) { - throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); + options = new Stream.SnapshotOptions(); } - - var urlStr = $"{APIBaseUrl}/streams/{streamId}"; - HttpWebResponse response; + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/snapshot"; + HttpWebResponse response = null; try { var url = new Uri(urlStr); var request = (HttpWebRequest)WebRequest.Create(url); - var macToken = credentials.SignRequest(url, "DELETE", null, null); - request.Method = "DELETE"; + request.Method = "POST"; + var jsonobj = JsonConvert.SerializeObject(options); + var body = Encoding.UTF8.GetBytes(jsonobj); + var macToken = credentials.SignRequest(url, "POST", body, ContentType); + request.ContentType = ContentType; #if NET45 request.UserAgent = Utils.UserAgent; request.Headers.Add("Authorization", macToken); @@ -362,7 +294,11 @@ public static string DeleteStream(Credentials credentials, string streamId) request.Headers["User-Agent"] = Utils.UserAgent; request.Headers["Authorization"] = macToken; #endif - Console.WriteLine(macToken); + + using (var requestStream = request.GetRequestStreamAsync().Result) + { + new MemoryStream(body).CopyTo(requestStream); + } response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -373,64 +309,40 @@ public static string DeleteStream(Credentials credentials, string streamId) } // response never be null - if ((int)response.StatusCode / 100 == 2) + if ((int)response.StatusCode == 200) { - var text = "No Content"; - return text; + try + { + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + return JObject.Parse(text); + } + catch (IOException e) + { + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + throw new PiliException(e); + } } throw new PiliException(response); } - - public static Stream.SaveAsResponse SaveAs(Credentials credentials, string streamId, string fileName, string format, long start, long end, string notifyUrl, - string pipleline) + public static void UpdateConverts(Credentials credentials, string hubName, string ekey, List profiles) { - if (streamId == null) - { - throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); - } - - if (string.IsNullOrWhiteSpace(fileName)) + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/converts"; + var json = new Dictionary> { - throw new PiliException(MessageConfig.IllegalFileNameExceptionMsg); - } - - if (start < 0 || end < 0 || start > end) - { - throw new PiliException(MessageConfig.IllegalTimeMsg); - } - - var urlStr = $"{APIBaseUrl}/streams/{streamId}/saveas"; - HttpWebResponse response; - var json = new JObject - { - { "name", fileName } + { "converts", profiles } }; - if (!string.IsNullOrWhiteSpace(notifyUrl)) - { - json.Add("notifyUrl", notifyUrl); - } - if (start != 0) - { - json.Add("start", start); - } - if (end != 0) - { - json.Add("end", end); - } - json.Add("format", format); - if (pipleline != "") - { - json.Add("pipleline", pipleline); - } - + HttpWebResponse response = null; try { var url = new Uri(urlStr); var request = (HttpWebRequest)WebRequest.Create(url); - var body = Encoding.UTF8.GetBytes(json.ToString()); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); request.Method = "POST"; + var jsonobj = JsonConvert.SerializeObject(json); + var body = Encoding.UTF8.GetBytes(jsonobj); + var macToken = credentials.SignRequest(url, "POST", body, ContentType); request.ContentType = ContentType; #if NET45 request.UserAgent = Utils.UserAgent; @@ -439,6 +351,7 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea request.Headers["User-Agent"] = Utils.UserAgent; request.Headers["Authorization"] = macToken; #endif + using (var requestStream = request.GetRequestStreamAsync().Result) { new MemoryStream(body).CopyTo(requestStream); @@ -451,15 +364,16 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea Console.Write(e.StackTrace); throw new PiliException(e); } + // response never be null - if ((int)response.StatusCode == 200) + if ((int)response.StatusCode != 200) { try { var reader = new StreamReader(response.GetResponseStream()); var text = reader.ReadToEnd(); var jsonObj = JObject.Parse(text); - return new Stream.SaveAsResponse(jsonObj); + throw new PiliException(jsonObj["error"].ToString()); } catch (IOException e) { @@ -468,49 +382,69 @@ public static Stream.SaveAsResponse SaveAs(Credentials credentials, string strea throw new PiliException(e); } } - throw new PiliException(response); } - public static Stream.SnapshotResponse Snapshot(Credentials credentials, string streamId, string fileName, string format, long time, string notifyUrl) + public static JObject HistoryActivity(Credentials credentials, string hubName, string ekey, long start, long end) { - if (streamId == null) + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/historyactivity?start={start}&end={end}"; + HttpWebResponse response = null; + try { - throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); + var url = new Uri(urlStr); + var request = (HttpWebRequest)WebRequest.Create(url); + request.Method = "GET"; + var macToken = credentials.SignRequest(url, "GET", null, null); +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + response = (HttpWebResponse)request.GetResponseAsync().Result; } - - if (string.IsNullOrWhiteSpace(fileName)) + catch (Exception e) { - throw new PiliException(MessageConfig.IllegalFileNameExceptionMsg); + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + throw new PiliException(e); } - if (string.IsNullOrWhiteSpace(format)) + // response never be null + if ((int)response.StatusCode == 200) { - throw new PiliException(MessageConfig.IllegalFormatExceptionMsg); + try + { + var reader = new StreamReader(response.GetResponseStream()); + var text = reader.ReadToEnd(); + return JObject.Parse(text); + } + catch (IOException e) + { + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + throw new PiliException(e); + } } + throw new PiliException(response); + } - var urlStr = $"{APIBaseUrl}/streams/{streamId}/snapshot"; - HttpWebResponse response; - var json = new JObject + public static JObject BatchLiveStatus(Credentials credentials, string hubName, List streamkeys) + { + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/livestreams"; + var json = new Dictionary> { - { "name", fileName }, - { "format", format } + { "items", streamkeys } }; - if (time > 0) - { - json.Add("time", time); - } - if (!string.IsNullOrWhiteSpace(notifyUrl)) - { - json.Add("notifyUrl", notifyUrl); // optional - } - + HttpWebResponse response = null; try { var url = new Uri(urlStr); var request = (HttpWebRequest)WebRequest.Create(url); - var body = Encoding.UTF8.GetBytes(json.ToString()); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); request.Method = "POST"; + var jsonobj = JsonConvert.SerializeObject(json); + var body = Encoding.UTF8.GetBytes(jsonobj); + var macToken = credentials.SignRequest(url, "POST", body, ContentType); request.ContentType = ContentType; #if NET45 request.UserAgent = Utils.UserAgent; @@ -519,6 +453,7 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s request.Headers["User-Agent"] = Utils.UserAgent; request.Headers["Authorization"] = macToken; #endif + using (var requestStream = request.GetRequestStreamAsync().Result) { new MemoryStream(body).CopyTo(requestStream); @@ -531,6 +466,7 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s Console.Write(e.StackTrace); throw new PiliException(e); } + // response never be null if ((int)response.StatusCode == 200) { @@ -538,8 +474,7 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s { var reader = new StreamReader(response.GetResponseStream()); var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - return new Stream.SnapshotResponse(jsonObj); + return JObject.Parse(text); } catch (IOException e) { @@ -551,29 +486,16 @@ public static Stream.SnapshotResponse Snapshot(Credentials credentials, string s throw new PiliException(response); } - // Get recording segments from an exist stream - public static Stream.SegmentList GetStreamSegments(Credentials credentials, string streamId, long startTime, long endTime, int limitCount) + public static JObject StreamList(Credentials credentials, string hubName, bool live, string prefix, int limit, string marker) { - if (streamId == null) - { - throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); - } - var urlStr = $"{APIBaseUrl}/streams/{streamId}/segments"; - if (startTime > 0 && endTime > 0 && startTime < endTime) - { - urlStr += "?start=" + startTime + "&end=" + endTime; - } - if (limitCount > 0) - { - urlStr += "&limit=" + limitCount; - } - HttpWebResponse response; + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams?liveonly={live}&prefix={prefix}&limit={limit}&marker={marker}"; + HttpWebResponse response = null; try { var url = new Uri(urlStr); - var macToken = credentials.SignRequest(url, "GET", null, null); var request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; + var macToken = credentials.SignRequest(url, "GET", null, null); #if NET45 request.UserAgent = Utils.UserAgent; request.Headers.Add("Authorization", macToken); @@ -589,7 +511,6 @@ public static Stream.SegmentList GetStreamSegments(Credentials credentials, stri Console.Write(e.StackTrace); throw new PiliException(e); } - // response never be null if ((int)response.StatusCode == 200) { @@ -597,12 +518,7 @@ public static Stream.SegmentList GetStreamSegments(Credentials credentials, stri { var reader = new StreamReader(response.GetResponseStream()); var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - if (string.IsNullOrEmpty(jsonObj["segments"].ToString())) - { - throw new PiliException("Segments is null"); - } - return new Stream.SegmentList(jsonObj); + return JObject.Parse(text); } catch (IOException e) { @@ -614,93 +530,47 @@ public static Stream.SegmentList GetStreamSegments(Credentials credentials, stri throw new PiliException(response); } - //Generate a RTMP publish URL - public static string RtmpPublishUrl(Stream stream, Credentials credentials, long expireAfterSeconds) - { - var expire = DateTimeHelper.CurrentUnixTimeSeconds() + expireAfterSeconds; - var token = credentials.SignStream(stream.HubName, stream.Name, expire); - const string defaultScheme = "rtmp"; - return $"{defaultScheme}://{stream.PublishRtmpHost}/{stream.HubName}/{stream.Title}?e={expire}&token={token}"; - } - //Generate RTMP live play URL - public static IDictionary RtmpLiveUrl(Stream stream) + // Delete stream + public static string DeleteStream(Credentials credentials, string hubName, string streamKey) { - const string defaultScheme = "rtmp"; - - var url = $"{defaultScheme}://{stream.LiveRtmpHost}/{stream.HubName}/{stream.Title}"; - IDictionary dictionary = new Dictionary + if (streamKey == null) { - [Stream.Origin] = url - }; - var profiles = stream.Profiles; - if (profiles != null) - { - foreach (var p in profiles) - { - dictionary[p] = url + '@' + p; - } + throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); } - return dictionary; - } - //Generate HLS live play URL - public static IDictionary HlsLiveUrl(Stream stream) - { - const string defaultScheme = "http"; - var url = $"{defaultScheme}://{stream.LiveHttpHost}/{stream.HubName}/{stream.Title}"; - IDictionary dictionary = new Dictionary - { - [Stream.Origin] = url + ".m3u8" - }; - var profiles = stream.Profiles; - if (profiles != null) + var urlStr = $"{(Configuration.Instance.UseHttps ? "https" : "http")}://{Configuration.Instance.API_HOST}/v1/streams/z1.{hubName}.{streamKey}"; + HttpWebResponse response = null; + try { - foreach (var p in profiles) - { - dictionary[p] = url + '@' + p + ".m3u8"; - } + var url = new Uri(urlStr); + var request = (HttpWebRequest)WebRequest.Create(url); + var macToken = credentials.SignRequest(url, "DELETE", null, null); + request.Method = "DELETE"; +#if NET45 + request.UserAgent = Utils.UserAgent; + request.Headers.Add("Authorization", macToken); +#else + request.Headers["User-Agent"] = Utils.UserAgent; + request.Headers["Authorization"] = macToken; +#endif + Console.WriteLine(macToken); + response = (HttpWebResponse)request.GetResponseAsync().Result; } - return dictionary; - } - - //Generate HLS playback URL - - public static IDictionary HlsPlaybackUrl(Credentials credentials, string streamId, long startTime, long endTime) - { - var saveFile = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds / 1000; - - var response = SaveAs(credentials, streamId, saveFile.ToString(), null, startTime, endTime, null, null); - - IDictionary dictionary = new Dictionary(); - - if (response != null) + catch (Exception e) { - dictionary.Add(Stream.Origin, response.Url); + Console.WriteLine(e.ToString()); + Console.Write(e.StackTrace); + throw new PiliException(e); } - return dictionary; - } - public static IDictionary HttpFlvLiveUrl(Stream stream) - { - /* - * http://liveHttpFlvHost/hub/title@480p.flv - */ - const string defaultScheme = "http"; - var url = $"{defaultScheme}://{stream.LiveHttpHost}/{stream.HubName}/{stream.Title}"; - IDictionary dictionary = new Dictionary - { - [Stream.Origin] = url + ".flv" - }; - var profiles = stream.Profiles; - if (profiles != null) + // response never be null + if ((int)response.StatusCode == 204) { - foreach (var p in profiles) - { - dictionary[p] = url + '@' + p + ".flv"; - } + var text = "No Content"; + return text; } - return dictionary; + throw new PiliException(response); } } } diff --git a/pili-sdk-csharp/pili/Hub.cs b/pili-sdk-csharp/pili/Hub.cs index 240fbcb..1c0a9fb 100644 --- a/pili-sdk-csharp/pili/Hub.cs +++ b/pili-sdk-csharp/pili/Hub.cs @@ -1,4 +1,8 @@ using System; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using pili_sdk_csharp.pili_common; using pili_sdk_csharp.pili_qiniu; @@ -15,34 +19,59 @@ public Hub(Credentials credentials, string hubName) _mHubName = hubName ?? throw new ArgumentException(MessageConfig.NullHubnameExceptionMsg); } - public virtual Stream CreateStream() + public virtual Stream CreateStream(string streamId) { - return API.CreateStream(_mCredentials, _mHubName, null, null, null); + return API.CreateStream(_mCredentials, _mHubName, streamId); } - public virtual Stream CreateStream(string title, string publishKey, string publishSecurity) + public virtual Stream GetStream(string streamId) { - return API.CreateStream(_mCredentials, _mHubName, title, publishKey, publishSecurity); + return new Stream(_mHubName, streamId, _mCredentials); } - public virtual Stream GetStream(string streamId) + public virtual List BatchLiveStatus(List streamKeys) + { + return API.BatchLiveStatus(_mCredentials, _mHubName, streamKeys)["items"].ToObject>(); + } + + public virtual StreamList List(string prefix, int limit, string marker) { - return API.GetStream(_mCredentials, streamId); + return GetList(false, prefix, limit, marker); } - public virtual Stream.StreamList ListStreams() + public virtual StreamList ListLive(string prefix, int limit, string marker) { - return API.ListStreams(_mCredentials, _mHubName, null, 0, null); + return GetList(true, prefix, limit, marker); } - public virtual Stream.StreamList ListStreams(string marker, long limit) + private StreamList GetList(bool live, string prefix, int limit, string marker) { - return API.ListStreams(_mCredentials, _mHubName, marker, limit, null); + return new StreamList(API.StreamList(_mCredentials, _mHubName, live, prefix, limit, marker)); } + } - public virtual Stream.StreamList ListStreams(string marker, long limit, string titlePrefix) + public class LiveStatusWithKey + { + public string Key{ get; set; } + public Stream.StreamStatus LiveStatus { get; set; } + } + + public class StreamList + { + public StreamList(JObject jsonObj) { - return API.ListStreams(_mCredentials, _mHubName, marker, limit, titlePrefix); + Keys = new List(); + foreach (var item in jsonObj["items"]) + { + foreach (var kv in item) + { + var key = kv.First().ToString(); + Keys.Add(key); + } + } + Marker = jsonObj["marker"].ToString(); } + public List Keys { get; set; } + public string Marker { get; set; } } } diff --git a/pili-sdk-csharp/pili/PiliUrl.cs b/pili-sdk-csharp/pili/PiliUrl.cs new file mode 100644 index 0000000..ca201d3 --- /dev/null +++ b/pili-sdk-csharp/pili/PiliUrl.cs @@ -0,0 +1,34 @@ +using pili_sdk_csharp.pili_qiniu; + +namespace pili_sdk_csharp.pili +{ + public class PiliUrl + { + public static string RTMPPublishURL(Credentials credentials, string domain, string hubName, string key, long expireAfterSeconds) + { + var expire = DateTimeHelper.CurrentUnixTimeSeconds() + expireAfterSeconds; + var token = credentials.SignStream(hubName, key, expire); + const string defaultScheme = "rtmp"; + return $"{defaultScheme}://{domain}/{hubName}/{key}?e={expire}&token={token}"; + } + public static string RTMPPlayURL(string domain, string hubName, string key) + { + return $"rtmp://{domain}/{hubName}/{key}"; + } + + public static string HLSPlayURL(string domain, string hubName, string key) + { + return $"http://{domain}/{hubName}/{key}.m3u8"; + } + + public static string HDLPlayURL(string domain, string hubName, string key) + { + return $"http://{domain}/{hubName}/{key}.flv"; + } + + public static string SnapshotPlayURL(string domain, string hubName, string key) + { + return $"http://{domain}/{hubName}/{key}.jpg"; + } + } +} diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index 1452eb9..7cedfcd 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -1,7 +1,10 @@ using System; using System.Collections.Generic; +using System.Linq; +using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using pili_sdk_csharp.pili_common; using pili_sdk_csharp.pili_qiniu; namespace pili_sdk_csharp.pili @@ -9,281 +12,140 @@ namespace pili_sdk_csharp.pili public class Stream { public const string Origin = "ORIGIN"; - private readonly string _id; private readonly Credentials _mCredentials; - private readonly string _mStreamJsonStr; - private readonly string[] _profiles; + private readonly string _hubName; + private readonly string _key; + private readonly string _ekey; - - public Stream(JObject jsonObj) - { - // System.out.println("Stream:" + jsonObj.toString()); - _id = jsonObj["id"].ToString(); - Name = _id.Split('.')[_id.Split('.').Length - 1]; - HubName = jsonObj["hub"].ToString(); - CreatedAt = jsonObj["createdAt"].ToString(); - UpdatedAt = jsonObj["updatedAt"].ToString(); - Title = jsonObj["title"].ToString(); - PublishKey = jsonObj["publishKey"].ToString(); - PublishSecurity = jsonObj["publishSecurity"].ToString(); - Disabled = (bool)jsonObj["disabled"]; - - if (jsonObj["profiles"] != null) - { - Console.WriteLine("profiles--------" + jsonObj["profiles"]); - _profiles = JsonConvert.DeserializeAnonymousType(jsonObj["profiles"].ToString(), _profiles); - } - - if (jsonObj["hosts"]["publish"] != null) - { - PublishRtmpHost = jsonObj["hosts"]["publish"]["rtmp"].ToString(); - } - if (jsonObj["hosts"]["live"] != null) - { - LiveRtmpHost = jsonObj["hosts"]["live"]["rtmp"].ToString(); - LiveHdlHost = jsonObj["hosts"]["live"]["hdl"].ToString(); - LiveHlsHost = jsonObj["hosts"]["live"]["hls"].ToString(); - LiveHttpHost = jsonObj["hosts"]["live"]["hls"].ToString(); - } - if (jsonObj["hosts"]["playback"] != null) - { - PlaybackHttpHost = jsonObj["hosts"]["playback"]["hls"].ToString(); - } - if (jsonObj["hosts"]["play"] != null) - { - PlayHttpHost = jsonObj["hosts"]["play"]["http"].ToString(); - PlayRtmpHost = jsonObj["hosts"]["play"]["rtmp"].ToString(); - } - - _mStreamJsonStr = jsonObj.ToString(); - } - - - public Stream(JObject jsonObject, Credentials credentials) - : this(jsonObject) + public Stream(string hubName, string key, Credentials credentials) { + _hubName = hubName; + _key = key; + _ekey = UrlSafeBase64.Base64UrlEncode(Encoding.UTF8.GetBytes(key)); _mCredentials = credentials; } - public string PlaybackHttpHost { get; } - - public string PlayRtmpHost { get; } - - public string LiveHdlHost { get; } - - public string PlayHttpHost { get; } - - public string LiveHttpHost { get; } - - public string Name { get; } - - public string LiveHlsHost { get; } - - public virtual string[] Profiles => _profiles; - - public virtual string PublishRtmpHost { get; } - - public virtual string LiveRtmpHost { get; } - - public virtual string StreamId => _id; - - public virtual string HubName { get; } - - public virtual string CreatedAt { get; } - - public virtual string UpdatedAt { get; } - - public virtual string Title { get; } - - public virtual string PublishKey { get; } - - public virtual string PublishSecurity { get; } - - public virtual bool Disabled { get; } - - - public virtual Stream Update(string publishKey, string publishSecrity, bool disabled) - { - return API.UpdateStream(_mCredentials, _id, publishKey, publishSecrity, disabled); - } - - - public virtual SegmentList Segments() + public StreamInfo Info() { - return API.GetStreamSegments(_mCredentials, _id, 0, 0, 0); + var info = API.GetStream(_mCredentials, _hubName, _ekey); + return new StreamInfo(_hubName, _key, info); } - - public virtual SegmentList Segments(long start, long end) + public void Disable() { - return API.GetStreamSegments(_mCredentials, _id, start, end, 0); + SetDisableTill(-1); } - - public virtual SegmentList Segments(long start, long end, int limit) + public void Enable() { - return API.GetStreamSegments(_mCredentials, _id, start, end, limit); + SetDisableTill(0); } - - public virtual StreamStatus Status() + public void DisableTill(long till) { - return API.GetStreamStatus(_mCredentials, _id); + SetDisableTill(till); } - public virtual string RtmpPublishUrl(long expireAfterSeconds) + public void SetDisableTill(long till) { - return API.PublishUrl(this, _mCredentials, expireAfterSeconds); + API.SetDisableTill(_mCredentials, _hubName, _ekey, till); } - public virtual IDictionary RtmpLiveUrls() + public StreamStatus LiveStatus() { - return API.RtmpLiveUrl(this); + return new StreamStatus(API.LiveStatus(_mCredentials, _hubName, _ekey)); } - public virtual IDictionary HlsLiveUrls() + public SaveasResponse Save(long start, long end) { - return API.HlsLiveUrl(this); + var options = new SaveasOptions(start, end); + return new SaveasResponse(API.SaveAs(_mCredentials, _hubName, _ekey, options)); } - public virtual IDictionary HlsPlaybackUrls(long start, long end) + public SaveasResponse SaveAs(SaveasOptions options) { - return API.HlsPlaybackUrl(_mCredentials, _id, start, end); + return new SaveasResponse(API.SaveAs(_mCredentials, _hubName, _ekey, options)); } - public virtual IDictionary HttpFlvLiveUrls() + public string Snapshot(SnapshotOptions options) { - return API.HttpFlvLiveUrl(this); + return API.Snapshot(_mCredentials, _hubName, _ekey, options)["fname"].ToString(); } - - public virtual string Delete() + public void UpdateConverts(List profiles) { - return API.DeleteStream(_mCredentials, _id); + API.UpdateConverts(_mCredentials, _hubName, _ekey, profiles); } - public virtual string ToJsonString() + public List HistoryActivity(long start, long end) { - return _mStreamJsonStr; + return API.HistoryActivity(_mCredentials, _hubName, _ekey, start, end)["items"].ToObject>(); } - - public virtual SaveAsResponse SaveAs(string fileName, string format, long startTime, long endTime, string notifyUrl, string pipleline) + public void Delete() { - return API.SaveAs(_mCredentials, _id, fileName, format, startTime, endTime, notifyUrl, pipleline); + API.DeleteStream(_mCredentials, _hubName, _key); } - public virtual SaveAsResponse SaveAs(string fileName, string format, long startTime, long endTime) + public string RTMPPublishURL(string domain, long expireAfterSeconds) { - return SaveAs(fileName, format, startTime, endTime, null, null); + var expire = DateTimeHelper.CurrentUnixTimeSeconds() + expireAfterSeconds; + var token = _mCredentials.SignStream(_hubName, _key, expire); + const string defaultScheme = "rtmp"; + return $"{defaultScheme}://{domain}/{_hubName}/{_key}?e={expire}&token={token}"; } - public virtual SaveAsResponse SaveAs(string fileName, string format, string notifyUrl, string pipleline) + public string RTMPPlayURL(string domain) { - return SaveAs(fileName, format, 0, 0, notifyUrl, pipleline); + return $"rtmp://{domain}/{_hubName}/{_key}"; } - public virtual SaveAsResponse SaveAs(string fileName, string format) + public string HLSPlayURL(string domain) { - return SaveAs(fileName, format, 0, 0, null, null); + return $"http://{domain}/{_hubName}/{_key}.m3u8"; } - public virtual SnapshotResponse Snapshot(string name, string format) + public string HDLPlayURL(string domain) { - return API.Snapshot(_mCredentials, _id, name, format, 0, null); + return $"http://{domain}/{_hubName}/{_key}.flv"; } - public virtual SnapshotResponse Snapshot(string name, string format, string notifyUrl) + public string SnapshotPlayURL(string domain) { - return API.Snapshot(_mCredentials, _id, name, format, 0, notifyUrl); + return $"http://{domain}/{_hubName}/{_key}.jpg"; } - public virtual SnapshotResponse Snapshot(string name, string format, long time, string notifyUrl) + public sealed class StreamInfo { - return API.Snapshot(_mCredentials, _id, name, format, time, notifyUrl); - } - - - public virtual Stream Enable() - { - return API.UpdateStream(_mCredentials, _id, null, null, false); - } - - public virtual Stream Disable() - { - return API.UpdateStream(_mCredentials, _id, null, null, true); - } - - public class Segment - { - public Segment(long start, long end) + public StreamInfo(string hubName, string key, JObject info) { - Start = start; - End = end; + HubName = hubName; + Key = key; + Converts = JsonConvert.DeserializeObject>(info["converts"].ToString()); + CreatedAt = Convert.ToInt64(info["createdAt"].ToString()); + ExpireAt = Convert.ToInt64(info["expireAt"].ToString()); + UpdatedAt = Convert.ToInt64(info["updatedAt"].ToString()); + DisabledTill = Convert.ToInt64(info["disabledTill"].ToString()); + WaterMark = (bool)info["watermark"]; } - - public virtual long Start { get; } - - public virtual long End { get; } - } - - - public class SaveAsResponse - { - private readonly string _mJsonString; - - public SaveAsResponse(JObject jsonObj) + public bool Disabled() { - Url = jsonObj["url"].ToString(); - try - { - TargetUrl = jsonObj["targetUrl"].ToString(); - // - } - catch (NullReferenceException) - { - // do nothing. ignore. - } - PersistentId = jsonObj["persistentId"].ToString(); - _mJsonString = jsonObj.ToString(); + return DisabledTill == -1 || DisabledTill > DateTimeHelper.CurrentUnixTimeSeconds(); } - public virtual string Url { get; } - - public virtual string TargetUrl { get; } - - public virtual string PersistentId { get; } - - public override string ToString() - { - return _mJsonString; - } + public string HubName { get; } + public string Key { get; } + public List Converts { get; set; } + public long CreatedAt { get; } + public long ExpireAt { get; set; } + public long UpdatedAt { get; } + public long DisabledTill { get; set; } + public bool WaterMark { get; set; } } - public class SnapshotResponse + public class FPSStatus { - private readonly string _mJsonString; - - public SnapshotResponse(JObject jsonObj) - { - TargetUrl = jsonObj["targetUrl"].ToString(); - PersistentId = jsonObj.GetValue("persistentId") == null ? null : jsonObj["persistentId"].ToString(); - _mJsonString = jsonObj.ToString(); - } - - public virtual string TargetUrl { get; } - - public virtual string PersistentId { get; } - - public override string ToString() - { - return _mJsonString; - } - } - - public class FramesPerSecond - { - public FramesPerSecond(float audio, float video, float data) + public FPSStatus(float audio, float video, float data) { Audio = audio; Video = video; @@ -297,28 +159,6 @@ public FramesPerSecond(float audio, float video, float data) public virtual float Data { get; } } - public class SegmentList - { - private readonly IList _segmentList; - - - public SegmentList(JObject jsonObj) - { - _segmentList = new List(); - var jlist = JArray.Parse(jsonObj["segments"].ToString()); - for (var i = 0; i < jlist.Count; ++i) - { - var tempo = JObject.Parse(jlist[i].ToString()); - _segmentList.Add(new Segment((long)tempo["start"], (long)tempo["end"])); - } - } - - public virtual IList GetSegmentList() - { - return _segmentList; - } - } - public class StreamStatus { private readonly string _mJsonString; @@ -326,17 +166,17 @@ public class StreamStatus public StreamStatus(JObject jsonObj) { - Addr = jsonObj["addr"].ToString(); + ClientIP = jsonObj["addr"].ToString(); _status = jsonObj["status"].ToString(); var startFrominit = (DateTime)jsonObj["startFrom"]; - StartFrom = startFrominit.ToString("yyyy-MM-ddTHH:mm:ssZ"); + StartAt = DateTimeHelper.TransUnixTimeSeconds(startFrominit); try { - BytesPerSecond = (float)jsonObj["bytesPerSecond"]; + Bps = (float)jsonObj["bytesPerSecond"]; var audio = (float)jsonObj["framesPerSecond"]["audio"]; var video = (float)jsonObj["framesPerSecond"]["video"]; var data = (float)jsonObj["framesPerSecond"]["data"]; - FramesPerSecond = new FramesPerSecond(audio, video, data); + Fps = new FPSStatus(audio, video, data); } catch (NullReferenceException e) { @@ -346,13 +186,13 @@ public StreamStatus(JObject jsonObj) _mJsonString = jsonObj.ToString(); } - public virtual string Addr { get; } + public virtual string ClientIP { get; } - public virtual string StartFrom { get; } + public virtual Int64 StartAt { get; } - public virtual float BytesPerSecond { get; } + public virtual float Bps { get; } - public virtual FramesPerSecond FramesPerSecond { get; } + public virtual FPSStatus Fps { get; } public virtual string GetStatus() { @@ -365,35 +205,53 @@ public override string ToString() } } - public class StreamList + public sealed class SaveasOptions { - private readonly IList _itemList; - private readonly string _marker; + public SaveasOptions() + { + } - public StreamList(JObject jsonObj, Credentials auth) + public SaveasOptions(long start, long end) { - _marker = jsonObj["marker"].ToString(); - Console.WriteLine("this.marker-----" + _marker); + Start = start; + End = end; + } - try - { - var record = jsonObj["items"]; - _itemList = new List(); - foreach (var jp in record) - { - _itemList.Add(new Stream(JObject.Parse(jp.ToString()), auth)); - } - } - catch (InvalidCastException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } + public string Fname { get; set; } + public long Start { get; set; } + public long End { get; set; } + public string Format { get; set; } + public string Pipeline { get; set; } + public string Notify { get; set; } + // 对应ts文件的过期时间. + // -1 表示不修改ts文件的expire属性. + // 0 表示修改ts文件生命周期为永久保存. + // >0 表示修改ts文件的的生命周期为ExpireDays. + public long ExpireDays { get; set; } + } + + public sealed class SaveasResponse + { + public SaveasResponse(JObject jsonObj) + { + Fname = jsonObj["fname"].ToString(); + PersistentId = jsonObj["persistentID"].ToString(); } + public string Fname { get; set; } + public string PersistentId { get; set; } + } - public virtual string Marker => _marker; + public class SnapshotOptions + { + public virtual string Fname { get; set; } + public virtual long Time { get; set; } + public virtual string Format { get; set; } + } - public virtual IList Streams => _itemList; + public class Record + { + public virtual long Start { get; set; } + public virtual long End { get; set; } } } } From 410de967f53b81ffda2b6853d0437eed55586c74 Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Tue, 19 Sep 2017 14:00:14 +0800 Subject: [PATCH 13/24] Fix pili-sdk-csharp-example & Remove Unuse. --- pili-sdk-csharp-example/Program.cs | 11 ++++----- pili-sdk-csharp-tests/example.cs | 11 +++++---- pili-sdk-csharp/pili/API.cs | 36 ------------------------------ 3 files changed, 9 insertions(+), 49 deletions(-) diff --git a/pili-sdk-csharp-example/Program.cs b/pili-sdk-csharp-example/Program.cs index 982cbb8..de1a92e 100644 --- a/pili-sdk-csharp-example/Program.cs +++ b/pili-sdk-csharp-example/Program.cs @@ -1,16 +1,12 @@ using System; -using System.CodeDom; using System.Collections.Generic; -using System.Diagnostics; using pili_sdk_csharp.pili; using pili_sdk_csharp.pili_qiniu; namespace pili_sdk_csharp_example { - internal class Example + public class Example { - - // Replace with your keys here private const string AccessKey = ""; @@ -27,7 +23,7 @@ internal class Example // static { // Configuration.getInstance().setAPIHost("pili.qiniuapi.com"); // default // } - private static void Main(List args) + private static void Main(string[] args) { var credentials = new Credentials(AccessKey, SecretKey); var hub = new Hub(credentials, HubName); @@ -112,6 +108,7 @@ private static void Main(List args) Console.WriteLine(url); Console.ReadKey(); } + private static Stream CreateStream(Hub hub, string streamKey) { try @@ -144,7 +141,6 @@ private static Stream GetStream(Hub hub, string streamId) private Stream.StreamInfo StreamInfo(Stream stream) { - try { return stream.Info(); @@ -310,6 +306,7 @@ private static void SavePlayback(Stream stream) Console.Write(e.StackTrace); } } + private static void SaveSnapshot(Stream stream) { try diff --git a/pili-sdk-csharp-tests/example.cs b/pili-sdk-csharp-tests/example.cs index 692d70a..201161e 100644 --- a/pili-sdk-csharp-tests/example.cs +++ b/pili-sdk-csharp-tests/example.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using pili_sdk_csharp.pili; using pili_sdk_csharp.pili_qiniu; using Xunit; @@ -68,7 +67,6 @@ private Stream GetStream(Hub hub, string streamId) private Stream.StreamInfo StreamInfo(Stream stream) { - try { return stream.Info(); @@ -140,7 +138,7 @@ private void UpdateStreamConverts(Stream stream) { try { - stream.UpdateConverts(new List{"480p", "720p"}); + stream.UpdateConverts(new List { "480p", "720p" }); } catch (PiliException e) { @@ -225,7 +223,7 @@ private void SavePlayback(Stream stream) { try { - var response = stream.SaveAs(new Stream.SaveasOptions{Format = "mp4"}); + var response = stream.SaveAs(new Stream.SaveasOptions { Format = "mp4" }); } catch (PiliException e) { @@ -234,11 +232,12 @@ private void SavePlayback(Stream stream) Console.Write(e.StackTrace); } } + private void SaveSnapshot(Stream stream) { try { - var response = stream.Snapshot(new Stream.SnapshotOptions{Format = "jpg"}); + var response = stream.Snapshot(new Stream.SnapshotOptions { Format = "jpg" }); Console.WriteLine(response); } catch (PiliException e) @@ -254,7 +253,7 @@ private void SaveSnapshot(Stream stream) public void Test() { Check(); - var credentials = new Credentials(AccessKey, SecretKey); + var credentials = new Credentials(AccessKey, SecretKey); var hub = new Hub(credentials, HubName); const string keyA = "1234567"; diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index e0be65a..748058b 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -148,24 +148,6 @@ public static void SetDisableTill(Credentials credentials, string hubName, strin Console.Write(e.StackTrace); throw new PiliException(e); } - - // response never be null - if ((int)response.StatusCode != 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - throw new PiliException(jsonObj["error"].ToString()); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } } public static JObject LiveStatus(Credentials credentials, string hubName, string ekey) @@ -364,24 +346,6 @@ public static void UpdateConverts(Credentials credentials, string hubName, strin Console.Write(e.StackTrace); throw new PiliException(e); } - - // response never be null - if ((int)response.StatusCode != 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - throw new PiliException(jsonObj["error"].ToString()); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } } public static JObject HistoryActivity(Credentials credentials, string hubName, string ekey, long start, long end) From 4b7285fbdeab2f7cbe2bac73a3d6a88899d34e9c Mon Sep 17 00:00:00 2001 From: PM Extra Date: Wed, 20 Dec 2017 16:15:19 +0800 Subject: [PATCH 14/24] Clean up. --- pili-sdk-csharp-example/App.config | 11 ++-- pili-sdk-csharp-example/Program.cs | 42 +++++++------- .../Properties/AssemblyInfo.cs | 1 - .../pili-sdk-csharp-example.csproj | 2 +- .../{example.cs => APITest.cs} | 55 ++++++++----------- .../pili-sdk-csharp-tests.csproj | 8 +-- pili-sdk-csharp/pili-common/UrlSafeBase64.cs | 1 + pili-sdk-csharp/pili-qiniu/Credentials.cs | 2 + pili-sdk-csharp/pili-sdk-csharp.csproj | 7 +-- pili-sdk-csharp/pili/API.cs | 20 ++++++- pili-sdk-csharp/pili/Configuration.cs | 2 + pili-sdk-csharp/pili/Hub.cs | 5 +- pili-sdk-csharp/pili/PiliUrl.cs | 1 + pili-sdk-csharp/pili/Stream.cs | 20 ++++--- 14 files changed, 97 insertions(+), 80 deletions(-) rename pili-sdk-csharp-tests/{example.cs => APITest.cs} (85%) diff --git a/pili-sdk-csharp-example/App.config b/pili-sdk-csharp-example/App.config index 9d2c7ad..5c73fc5 100644 --- a/pili-sdk-csharp-example/App.config +++ b/pili-sdk-csharp-example/App.config @@ -1,6 +1,7 @@ - + + - - - - + + + + \ No newline at end of file diff --git a/pili-sdk-csharp-example/Program.cs b/pili-sdk-csharp-example/Program.cs index de1a92e..eadc229 100644 --- a/pili-sdk-csharp-example/Program.cs +++ b/pili-sdk-csharp-example/Program.cs @@ -7,22 +7,16 @@ namespace pili_sdk_csharp_example { public class Example { - // Replace with your keys here + // Replace with your keys here ( https://portal.qiniu.com/user/key ) private const string AccessKey = ""; - private const string SecretKey = ""; - // Replace with your hub name + // Replace with your hub name ( https://portal.qiniu.com/hub ) private const string HubName = ""; - // Change API host as necessary - // - // pili.qiniuapi.com as default - // pili-lte.qiniuapi.com is the latest RC version - // - // static { - // Configuration.getInstance().setAPIHost("pili.qiniuapi.com"); // default - // } + // Replace with your domain ( https://portal.qiniu.com/hub/{your_hub}/domain ) + private const string Domain = "example.com"; + private static void Main(string[] args) { var credentials = new Credentials(AccessKey, SecretKey); @@ -30,6 +24,7 @@ private static void Main(string[] args) const string keyA = "SomeTestA"; const string keyB = "SomeTestB"; + Console.WriteLine("获得不存在的流A:"); GetStream(hub, keyA); @@ -42,11 +37,9 @@ private static void Main(string[] args) Console.WriteLine("创建重复流:"); CreateStream(hub, keyA); - Console.WriteLine("创建另一路流:"); CreateStream(hub, keyB); - Console.WriteLine("列出流:"); ListStreams(hub, ""); @@ -78,33 +71,33 @@ private static void Main(string[] args) SaveSnapshot(stream); Console.WriteLine("RTMP 推流地址:"); - var url = PiliUrl.RTMPPublishURL(credentials, "pili-publish.mowa-cloud.com", HubName, keyA, 3600); + var url = PiliUrl.RTMPPublishURL(credentials, $"pili-publish.{Domain}", HubName, keyA, 3600); Console.WriteLine(url); - url = stream.RTMPPublishURL("pili-publish.mowa-cloud.com", 3600); + url = stream.RTMPPublishURL($"pili-publish.{Domain}", 3600); Console.WriteLine(url); Console.WriteLine("RTMP 直播放址:"); - url = PiliUrl.RTMPPlayURL("pili-live-rtmp.mowa-cloud.com", HubName, keyA); + url = PiliUrl.RTMPPlayURL($"pili-live-rtmp.{Domain}", HubName, keyA); Console.WriteLine(url); - url = stream.RTMPPlayURL("pili-live-rtmp.mowa-cloud.com"); + url = stream.RTMPPlayURL($"pili-live-rtmp.{Domain}"); Console.WriteLine(url); Console.WriteLine("HLS 直播地址:"); - url = PiliUrl.HLSPlayURL("pili-live-hls.mowa-cloud.com", HubName, keyA); + url = PiliUrl.HLSPlayURL($"pili-live-hls.{Domain}", HubName, keyA); Console.WriteLine(url); - url = stream.HLSPlayURL("pili-live-hls.mowa-cloud.com"); + url = stream.HLSPlayURL($"pili-live-hls.{Domain}"); Console.WriteLine(url); Console.WriteLine("HDL 直播地址:"); - url = PiliUrl.HDLPlayURL("pili-live-hdl.mowa-cloud.com", HubName, keyA); + url = PiliUrl.HDLPlayURL($"pili-live-hdl.{Domain}", HubName, keyA); Console.WriteLine(url); - url = stream.HDLPlayURL("pili-live-hdl.mowa-cloud.com"); + url = stream.HDLPlayURL($"pili-live-hdl.{Domain}"); Console.WriteLine(url); Console.WriteLine("截图直播地址:"); - url = PiliUrl.SnapshotPlayURL("pili-live-snapshot.mowa-cloud.com", HubName, keyA); + url = PiliUrl.SnapshotPlayURL($"pili-live-snapshot.{Domain}", HubName, keyA); Console.WriteLine(url); - url = stream.SnapshotPlayURL("pili-live-snapshot.mowa-cloud.com"); + url = stream.SnapshotPlayURL($"pili-live-snapshot.{Domain}"); Console.WriteLine(url); Console.ReadKey(); } @@ -121,6 +114,7 @@ private static Stream CreateStream(Hub hub, string streamKey) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; } @@ -136,6 +130,7 @@ private static Stream GetStream(Hub hub, string streamId) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; } @@ -151,6 +146,7 @@ private Stream.StreamInfo StreamInfo(Stream stream) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; } diff --git a/pili-sdk-csharp-example/Properties/AssemblyInfo.cs b/pili-sdk-csharp-example/Properties/AssemblyInfo.cs index ff0f728..4be831c 100644 --- a/pili-sdk-csharp-example/Properties/AssemblyInfo.cs +++ b/pili-sdk-csharp-example/Properties/AssemblyInfo.cs @@ -1,5 +1,4 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // 有关程序集的一般信息由以下 diff --git a/pili-sdk-csharp-example/pili-sdk-csharp-example.csproj b/pili-sdk-csharp-example/pili-sdk-csharp-example.csproj index 94833be..80f2fbf 100644 --- a/pili-sdk-csharp-example/pili-sdk-csharp-example.csproj +++ b/pili-sdk-csharp-example/pili-sdk-csharp-example.csproj @@ -8,7 +8,7 @@ Exe pili_sdk_csharp_example pili-sdk-csharp-example - v4.7 + v4.5 512 true diff --git a/pili-sdk-csharp-tests/example.cs b/pili-sdk-csharp-tests/APITest.cs similarity index 85% rename from pili-sdk-csharp-tests/example.cs rename to pili-sdk-csharp-tests/APITest.cs index 201161e..c73dfab 100644 --- a/pili-sdk-csharp-tests/example.cs +++ b/pili-sdk-csharp-tests/APITest.cs @@ -6,33 +6,26 @@ namespace pili_sdk_csharp { - public class Example + public class APITest { - // Replace with your keys here + // Replace with your keys here ( https://portal.qiniu.com/user/key ) private const string AccessKey = ""; - private const string SecretKey = ""; - // Replace with your hub name + // Replace with your hub name ( https://portal.qiniu.com/hub ) private const string HubName = ""; - // Change API host as necessary - // - // pili.qiniuapi.com as default - // pili-lte.qiniuapi.com is the latest RC version - // - // static { - // Configuration.getInstance().setAPIHost("pili.qiniuapi.com"); // default - // } + // Replace with your domain ( https://portal.qiniu.com/hub/{your_hub}/domain ) + private const string Domain = "example.com"; - private void Check() + private static void PreCheck() { Assert.NotNull(AccessKey); - Assert.NotEqual(AccessKey, ""); + Assert.NotEqual("", AccessKey); Assert.NotNull(SecretKey); - Assert.NotEqual(SecretKey, ""); + Assert.NotEqual("", SecretKey); Assert.NotNull(HubName); - Assert.NotEqual(HubName, ""); + Assert.NotEqual("", HubName); } private Stream CreateStream(Hub hub, string streamKey) @@ -47,6 +40,7 @@ private Stream CreateStream(Hub hub, string streamKey) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; } @@ -62,6 +56,7 @@ private Stream GetStream(Hub hub, string streamId) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; } @@ -77,6 +72,7 @@ private Stream.StreamInfo StreamInfo(Stream stream) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; } @@ -248,15 +244,14 @@ private void SaveSnapshot(Stream stream) } } - [Fact] public void Test() { - Check(); + PreCheck(); var credentials = new Credentials(AccessKey, SecretKey); var hub = new Hub(credentials, HubName); - const string keyA = "1234567"; + const string keyA = "SomeTestA"; const string keyB = "SomeTestB"; Console.WriteLine("获得不存在的流A:"); GetStream(hub, keyA); @@ -271,11 +266,9 @@ public void Test() Console.WriteLine("创建重复流:"); CreateStream(hub, keyA); - Console.WriteLine("创建另一路流:"); CreateStream(hub, keyB); - Console.WriteLine("列出流:"); ListStreams(hub, ""); @@ -307,33 +300,33 @@ public void Test() SaveSnapshot(stream); Console.WriteLine("RTMP 推流地址:"); - var url = PiliUrl.RTMPPublishURL(credentials, "pili-publish.mowa-cloud.com", HubName, keyA, 3600); + var url = PiliUrl.RTMPPublishURL(credentials, $"pili-publish.{Domain}", HubName, keyA, 3600); Console.WriteLine(url); - url = stream.RTMPPublishURL("pili-publish.mowa-cloud.com", 3600); + url = stream.RTMPPublishURL($"pili-publish.{Domain}", 3600); Console.WriteLine(url); Console.WriteLine("RTMP 直播放址:"); - url = PiliUrl.RTMPPlayURL("pili-live-rtmp.mowa-cloud.com", HubName, keyA); + url = PiliUrl.RTMPPlayURL($"pili-live-rtmp.{Domain}", HubName, keyA); Console.WriteLine(url); - url = stream.RTMPPlayURL("pili-live-rtmp.mowa-cloud.com"); + url = stream.RTMPPlayURL($"pili-live-rtmp.{Domain}"); Console.WriteLine(url); Console.WriteLine("HLS 直播地址:"); - url = PiliUrl.HLSPlayURL("pili-live-hls.mowa-cloud.com", HubName, keyA); + url = PiliUrl.HLSPlayURL($"pili-live-hls.{Domain}", HubName, keyA); Console.WriteLine(url); - url = stream.HLSPlayURL("pili-live-hls.mowa-cloud.com"); + url = stream.HLSPlayURL($"pili-live-hls.{Domain}"); Console.WriteLine(url); Console.WriteLine("HDL 直播地址:"); - url = PiliUrl.HDLPlayURL("pili-live-hdl.mowa-cloud.com", HubName, keyA); + url = PiliUrl.HDLPlayURL($"pili-live-hdl.{Domain}", HubName, keyA); Console.WriteLine(url); - url = stream.HDLPlayURL("pili-live-hdl.mowa-cloud.com"); + url = stream.HDLPlayURL($"pili-live-hdl.{Domain}"); Console.WriteLine(url); Console.WriteLine("截图直播地址:"); - url = PiliUrl.SnapshotPlayURL("pili-live-snapshot.mowa-cloud.com", HubName, keyA); + url = PiliUrl.SnapshotPlayURL($"pili-live-snapshot.{Domain}", HubName, keyA); Console.WriteLine(url); - url = stream.SnapshotPlayURL("pili-live-snapshot.mowa-cloud.com"); + url = stream.SnapshotPlayURL($"pili-live-snapshot.{Domain}"); Console.WriteLine(url); } } diff --git a/pili-sdk-csharp-tests/pili-sdk-csharp-tests.csproj b/pili-sdk-csharp-tests/pili-sdk-csharp-tests.csproj index a951f2e..76a3f0d 100644 --- a/pili-sdk-csharp-tests/pili-sdk-csharp-tests.csproj +++ b/pili-sdk-csharp-tests/pili-sdk-csharp-tests.csproj @@ -1,15 +1,15 @@ - netcoreapp2.0 + net451;net461;netcoreapp1.1;netcoreapp2.0 false - - - + + + diff --git a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs index 2273e55..f788921 100644 --- a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs +++ b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs @@ -16,6 +16,7 @@ public static string EncodeToString(string data) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + return null; } diff --git a/pili-sdk-csharp/pili-qiniu/Credentials.cs b/pili-sdk-csharp/pili-qiniu/Credentials.cs index 8518885..8a41f83 100644 --- a/pili-sdk-csharp/pili-qiniu/Credentials.cs +++ b/pili-sdk-csharp/pili-qiniu/Credentials.cs @@ -64,6 +64,7 @@ public virtual string SignRequest(Uri url, string method, byte[] body, string co { sb.Append(Encoding.UTF8.GetString(body)); } + return $"{DigestAuthPrefix} {_accessKey}:{SignData(sb.ToString())}"; } @@ -80,6 +81,7 @@ private string SignData(string data) { throw new Exception("Failed to generate HMAC : " + e.Message); } + return sign; } } diff --git a/pili-sdk-csharp/pili-sdk-csharp.csproj b/pili-sdk-csharp/pili-sdk-csharp.csproj index 5c0bd89..626ec7c 100644 --- a/pili-sdk-csharp/pili-sdk-csharp.csproj +++ b/pili-sdk-csharp/pili-sdk-csharp.csproj @@ -1,12 +1,11 @@ - net45;netstandard1.3;netstandard2.0 - 2.0.0-alpha3 + net45;net461;netstandard1.3;netstandard2.0 + 2.0.0-beta An unofficial pili sdk which forks official pili-sdk-csharp. -It added support for .NET Standard 2.0 and optimize naming style. +It updated api version to v2 and added support for .NET Standard. PM Extra - https://github.com/PMExtra/pili-sdk-csharp Qiniu pili live sdk true diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs index 748058b..452a5f0 100644 --- a/pili-sdk-csharp/pili/API.cs +++ b/pili-sdk-csharp/pili/API.cs @@ -21,7 +21,6 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin { // System.out.println("createStream:" + API_BASE_URL); var urlStr = APIBaseUrl + $"/hubs/{hubName}/streams"; - Console.WriteLine("API_BASE_URL---------" + APIBaseUrl); var json = new Dictionary { @@ -49,6 +48,7 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin { new MemoryStream(body).CopyTo(requestStream); } + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -63,6 +63,7 @@ public static Stream CreateStream(Credentials credentials, string hubName, strin { return new Stream(hubName, streamId, credentials); } + throw new PiliException(response); } @@ -92,6 +93,7 @@ public static JObject GetStream(Credentials credentials, string hubName, string Console.Write(e.StackTrace); throw new PiliException(e); } + // response never be null if ((int)response.StatusCode == 200) { @@ -108,6 +110,7 @@ public static JObject GetStream(Credentials credentials, string hubName, string throw new PiliException(e); } } + throw new PiliException(response); } @@ -140,6 +143,7 @@ public static void SetDisableTill(Credentials credentials, string hubName, strin { new MemoryStream(body).CopyTo(requestStream); } + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -192,6 +196,7 @@ public static JObject LiveStatus(Credentials credentials, string hubName, string throw new PiliException(e); } } + throw new PiliException(response); } @@ -201,6 +206,7 @@ public static JObject SaveAs(Credentials credentials, string hubName, string eke { options = new Stream.SaveasOptions(); } + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/saveas"; HttpWebResponse response = null; try @@ -224,6 +230,7 @@ public static JObject SaveAs(Credentials credentials, string hubName, string eke { new MemoryStream(body).CopyTo(requestStream); } + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -249,6 +256,7 @@ public static JObject SaveAs(Credentials credentials, string hubName, string eke throw new PiliException(e); } } + throw new PiliException(response); } @@ -258,6 +266,7 @@ public static JObject Snapshot(Credentials credentials, string hubName, string e { options = new Stream.SnapshotOptions(); } + var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/snapshot"; HttpWebResponse response = null; try @@ -281,6 +290,7 @@ public static JObject Snapshot(Credentials credentials, string hubName, string e { new MemoryStream(body).CopyTo(requestStream); } + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -306,6 +316,7 @@ public static JObject Snapshot(Credentials credentials, string hubName, string e throw new PiliException(e); } } + throw new PiliException(response); } @@ -338,6 +349,7 @@ public static void UpdateConverts(Credentials credentials, string hubName, strin { new MemoryStream(body).CopyTo(requestStream); } + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -390,6 +402,7 @@ public static JObject HistoryActivity(Credentials credentials, string hubName, s throw new PiliException(e); } } + throw new PiliException(response); } @@ -422,6 +435,7 @@ public static JObject BatchLiveStatus(Credentials credentials, string hubName, L { new MemoryStream(body).CopyTo(requestStream); } + response = (HttpWebResponse)request.GetResponseAsync().Result; } catch (Exception e) @@ -447,6 +461,7 @@ public static JObject BatchLiveStatus(Credentials credentials, string hubName, L throw new PiliException(e); } } + throw new PiliException(response); } @@ -475,6 +490,7 @@ public static JObject StreamList(Credentials credentials, string hubName, bool l Console.Write(e.StackTrace); throw new PiliException(e); } + // response never be null if ((int)response.StatusCode == 200) { @@ -491,6 +507,7 @@ public static JObject StreamList(Credentials credentials, string hubName, bool l throw new PiliException(e); } } + throw new PiliException(response); } @@ -534,6 +551,7 @@ public static string DeleteStream(Credentials credentials, string hubName, strin var text = "No Content"; return text; } + throw new PiliException(response); } } diff --git a/pili-sdk-csharp/pili/Configuration.cs b/pili-sdk-csharp/pili/Configuration.cs index 50db430..e9f79c5 100644 --- a/pili-sdk-csharp/pili/Configuration.cs +++ b/pili-sdk-csharp/pili/Configuration.cs @@ -23,6 +23,7 @@ public virtual string APIHost { throw new ArgumentException("Illegal API Host:" + value); } + API_HOST = value; } } @@ -35,6 +36,7 @@ public virtual string APIVersion { throw new ArgumentException("Illegal API Version:" + value); } + API_VERSION = value; } } diff --git a/pili-sdk-csharp/pili/Hub.cs b/pili-sdk-csharp/pili/Hub.cs index 1c0a9fb..9ba5d7b 100644 --- a/pili-sdk-csharp/pili/Hub.cs +++ b/pili-sdk-csharp/pili/Hub.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Newtonsoft.Json; using Newtonsoft.Json.Linq; using pili_sdk_csharp.pili_common; using pili_sdk_csharp.pili_qiniu; @@ -52,7 +51,7 @@ private StreamList GetList(bool live, string prefix, int limit, string marker) public class LiveStatusWithKey { - public string Key{ get; set; } + public string Key { get; set; } public Stream.StreamStatus LiveStatus { get; set; } } @@ -69,8 +68,10 @@ public StreamList(JObject jsonObj) Keys.Add(key); } } + Marker = jsonObj["marker"].ToString(); } + public List Keys { get; set; } public string Marker { get; set; } } diff --git a/pili-sdk-csharp/pili/PiliUrl.cs b/pili-sdk-csharp/pili/PiliUrl.cs index ca201d3..ecdb321 100644 --- a/pili-sdk-csharp/pili/PiliUrl.cs +++ b/pili-sdk-csharp/pili/PiliUrl.cs @@ -11,6 +11,7 @@ public static string RTMPPublishURL(Credentials credentials, string domain, stri const string defaultScheme = "rtmp"; return $"{defaultScheme}://{domain}/{hubName}/{key}?e={expire}&token={token}"; } + public static string RTMPPlayURL(string domain, string hubName, string key) { return $"rtmp://{domain}/{hubName}/{key}"; diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs index 7cedfcd..4109f57 100644 --- a/pili-sdk-csharp/pili/Stream.cs +++ b/pili-sdk-csharp/pili/Stream.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; using System.Text; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -12,10 +11,10 @@ namespace pili_sdk_csharp.pili public class Stream { public const string Origin = "ORIGIN"; - private readonly Credentials _mCredentials; + private readonly string _ekey; private readonly string _hubName; private readonly string _key; - private readonly string _ekey; + private readonly Credentials _mCredentials; public Stream(string hubName, string key, Credentials credentials) { @@ -128,10 +127,6 @@ public StreamInfo(string hubName, string key, JObject info) DisabledTill = Convert.ToInt64(info["disabledTill"].ToString()); WaterMark = (bool)info["watermark"]; } - public bool Disabled() - { - return DisabledTill == -1 || DisabledTill > DateTimeHelper.CurrentUnixTimeSeconds(); - } public string HubName { get; } public string Key { get; } @@ -141,6 +136,11 @@ public bool Disabled() public long UpdatedAt { get; } public long DisabledTill { get; set; } public bool WaterMark { get; set; } + + public bool Disabled() + { + return DisabledTill == -1 || DisabledTill > DateTimeHelper.CurrentUnixTimeSeconds(); + } } public class FPSStatus @@ -183,12 +183,13 @@ public StreamStatus(JObject jsonObj) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } + _mJsonString = jsonObj.ToString(); } public virtual string ClientIP { get; } - public virtual Int64 StartAt { get; } + public virtual long StartAt { get; } public virtual float Bps { get; } @@ -222,7 +223,9 @@ public SaveasOptions(long start, long end) public long End { get; set; } public string Format { get; set; } public string Pipeline { get; set; } + public string Notify { get; set; } + // 对应ts文件的过期时间. // -1 表示不修改ts文件的expire属性. // 0 表示修改ts文件生命周期为永久保存. @@ -237,6 +240,7 @@ public SaveasResponse(JObject jsonObj) Fname = jsonObj["fname"].ToString(); PersistentId = jsonObj["persistentID"].ToString(); } + public string Fname { get; set; } public string PersistentId { get; set; } } From 24bc4a665dea846dafc1a1a141e6ed3247be7746 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Wed, 20 Dec 2017 16:16:15 +0800 Subject: [PATCH 15/24] Update Resharper (2017.3) --- pili-sdk-csharp.sln.DotSettings | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pili-sdk-csharp.sln.DotSettings b/pili-sdk-csharp.sln.DotSettings index 4d8fe8d..94d7d73 100644 --- a/pili-sdk-csharp.sln.DotSettings +++ b/pili-sdk-csharp.sln.DotSettings @@ -6,7 +6,10 @@ RequiredForMultilineStatement RequiredForMultilineStatement True + NEVER + NEVER False + NEVER False False True @@ -15,7 +18,12 @@ 180 180 API + True + True + True + True True + True True True True From e6015e95953bbbf6103f2b428b4596a4176b5e4f Mon Sep 17 00:00:00 2001 From: PM Extra Date: Wed, 27 Dec 2017 20:03:50 +0800 Subject: [PATCH 16/24] Refactor from latest pili-sdk-java. --- pili-sdk-csharp.sln.DotSettings | 7 + pili-sdk-csharp/Client.cs | 82 +++ pili-sdk-csharp/Config.cs | 18 + pili-sdk-csharp/Hub.cs | 145 +++++ pili-sdk-csharp/Hubs/ApiRet.cs | 8 + pili-sdk-csharp/Hubs/BatchLiveStatus.cs | 9 + .../Hubs/BatchLiveStatusOptions.cs | 12 + pili-sdk-csharp/Hubs/BatchLiveStatusRet.cs | 7 + pili-sdk-csharp/Hubs/CreateArgs.cs | 15 + pili-sdk-csharp/Hubs/ListItem.cs | 7 + pili-sdk-csharp/Hubs/ListRet.cs | 11 + .../Internal/DateTimeOffsetExtensions.cs | 19 + .../Internal/HMACSHA1Extensions.cs | 13 + pili-sdk-csharp/Mac.cs | 78 +++ pili-sdk-csharp/Meeting.cs | 100 ++++ pili-sdk-csharp/Meetings/ActiveUser.cs | 13 + pili-sdk-csharp/Meetings/AllActiveUsers.cs | 10 + pili-sdk-csharp/Meetings/CreateArgs.cs | 34 ++ pili-sdk-csharp/Meetings/Room.cs | 19 + pili-sdk-csharp/Meetings/RoomAccess.cs | 41 ++ pili-sdk-csharp/Meetings/RoomName.cs | 10 + pili-sdk-csharp/Meetings/Status.cs | 9 + pili-sdk-csharp/PiliException.cs | 58 ++ pili-sdk-csharp/RPC.cs | 90 +++ pili-sdk-csharp/Stream.cs | 274 +++++++++ pili-sdk-csharp/Streams/ConvertsOptions.cs | 12 + pili-sdk-csharp/Streams/DisabledArgs.cs | 7 + pili-sdk-csharp/Streams/FPSStatus.cs | 11 + pili-sdk-csharp/Streams/HistoryRet.cs | 7 + pili-sdk-csharp/Streams/LiveStatus.cs | 13 + pili-sdk-csharp/Streams/Record.cs | 9 + pili-sdk-csharp/Streams/SaveOptions.cs | 53 ++ pili-sdk-csharp/Streams/SaveRet.cs | 7 + pili-sdk-csharp/Streams/SaveRetFull.cs | 8 + pili-sdk-csharp/Streams/SnapshotOptions.cs | 31 + pili-sdk-csharp/Streams/SnapshotRet.cs | 7 + pili-sdk-csharp/Streams/StreamInfo.cs | 28 + pili-sdk-csharp/pili-common/Config.cs | 24 - pili-sdk-csharp/pili-common/DateTimeHelper.cs | 25 - pili-sdk-csharp/pili-common/MessageConfig.cs | 14 - pili-sdk-csharp/pili-common/UrlSafeBase64.cs | 45 -- pili-sdk-csharp/pili-common/Utils.cs | 31 - pili-sdk-csharp/pili-qiniu/Credentials.cs | 88 --- pili-sdk-csharp/pili-sdk-csharp.csproj | 20 +- pili-sdk-csharp/pili/API.cs | 558 ------------------ pili-sdk-csharp/pili/Configuration.cs | 49 -- pili-sdk-csharp/pili/Hub.cs | 78 --- pili-sdk-csharp/pili/PiliException.cs | 54 -- pili-sdk-csharp/pili/PiliUrl.cs | 35 -- pili-sdk-csharp/pili/Stream.cs | 261 -------- 50 files changed, 1294 insertions(+), 1270 deletions(-) create mode 100644 pili-sdk-csharp/Client.cs create mode 100644 pili-sdk-csharp/Config.cs create mode 100644 pili-sdk-csharp/Hub.cs create mode 100644 pili-sdk-csharp/Hubs/ApiRet.cs create mode 100644 pili-sdk-csharp/Hubs/BatchLiveStatus.cs create mode 100644 pili-sdk-csharp/Hubs/BatchLiveStatusOptions.cs create mode 100644 pili-sdk-csharp/Hubs/BatchLiveStatusRet.cs create mode 100644 pili-sdk-csharp/Hubs/CreateArgs.cs create mode 100644 pili-sdk-csharp/Hubs/ListItem.cs create mode 100644 pili-sdk-csharp/Hubs/ListRet.cs create mode 100644 pili-sdk-csharp/Internal/DateTimeOffsetExtensions.cs create mode 100644 pili-sdk-csharp/Internal/HMACSHA1Extensions.cs create mode 100644 pili-sdk-csharp/Mac.cs create mode 100644 pili-sdk-csharp/Meeting.cs create mode 100644 pili-sdk-csharp/Meetings/ActiveUser.cs create mode 100644 pili-sdk-csharp/Meetings/AllActiveUsers.cs create mode 100644 pili-sdk-csharp/Meetings/CreateArgs.cs create mode 100644 pili-sdk-csharp/Meetings/Room.cs create mode 100644 pili-sdk-csharp/Meetings/RoomAccess.cs create mode 100644 pili-sdk-csharp/Meetings/RoomName.cs create mode 100644 pili-sdk-csharp/Meetings/Status.cs create mode 100644 pili-sdk-csharp/PiliException.cs create mode 100644 pili-sdk-csharp/RPC.cs create mode 100644 pili-sdk-csharp/Stream.cs create mode 100644 pili-sdk-csharp/Streams/ConvertsOptions.cs create mode 100644 pili-sdk-csharp/Streams/DisabledArgs.cs create mode 100644 pili-sdk-csharp/Streams/FPSStatus.cs create mode 100644 pili-sdk-csharp/Streams/HistoryRet.cs create mode 100644 pili-sdk-csharp/Streams/LiveStatus.cs create mode 100644 pili-sdk-csharp/Streams/Record.cs create mode 100644 pili-sdk-csharp/Streams/SaveOptions.cs create mode 100644 pili-sdk-csharp/Streams/SaveRet.cs create mode 100644 pili-sdk-csharp/Streams/SaveRetFull.cs create mode 100644 pili-sdk-csharp/Streams/SnapshotOptions.cs create mode 100644 pili-sdk-csharp/Streams/SnapshotRet.cs create mode 100644 pili-sdk-csharp/Streams/StreamInfo.cs delete mode 100644 pili-sdk-csharp/pili-common/Config.cs delete mode 100644 pili-sdk-csharp/pili-common/DateTimeHelper.cs delete mode 100644 pili-sdk-csharp/pili-common/MessageConfig.cs delete mode 100644 pili-sdk-csharp/pili-common/UrlSafeBase64.cs delete mode 100644 pili-sdk-csharp/pili-common/Utils.cs delete mode 100644 pili-sdk-csharp/pili-qiniu/Credentials.cs delete mode 100644 pili-sdk-csharp/pili/API.cs delete mode 100644 pili-sdk-csharp/pili/Configuration.cs delete mode 100644 pili-sdk-csharp/pili/Hub.cs delete mode 100644 pili-sdk-csharp/pili/PiliException.cs delete mode 100644 pili-sdk-csharp/pili/PiliUrl.cs delete mode 100644 pili-sdk-csharp/pili/Stream.cs diff --git a/pili-sdk-csharp.sln.DotSettings b/pili-sdk-csharp.sln.DotSettings index 94d7d73..56dc9a3 100644 --- a/pili-sdk-csharp.sln.DotSettings +++ b/pili-sdk-csharp.sln.DotSettings @@ -18,6 +18,13 @@ 180 180 API + FPS + HDL + HLS + RPC + RTC + RTMP + URL True True True diff --git a/pili-sdk-csharp/Client.cs b/pili-sdk-csharp/Client.cs new file mode 100644 index 0000000..668e1da --- /dev/null +++ b/pili-sdk-csharp/Client.cs @@ -0,0 +1,82 @@ +using System; + +#if NET45 +using Qiniu.Pili.Internal; +#endif + +namespace Qiniu.Pili +{ + public sealed class Client + { + private readonly RPC _cli; + + public Client(string accessKey, string secretKey) + { + _cli = new RPC(new Mac(accessKey, secretKey)); + } + + /// + /// Generate RTMP publish URL. + /// + /// URL will be invalid after expireAfterSeconds + /// RTMP publish URL + public string RTMPPublishURL(string domain, string hub, string streamKey, int expireAfterSeconds) + { + var expire = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + expireAfterSeconds; + var path = $"/{hub}/{streamKey}?e={expire:D}"; + string token; + try + { + token = _cli.Mac.Sign(path); + } + catch (Exception) + { + return null; + } + + return $"rtmp://{domain}{path}&token={token}"; + } + + /// + /// RTMPPlayURL generates RTMP play URL + /// + public string RTMPPlayURL(string domain, string hub, string streamKey) + { + return $"rtmp://{domain}/{hub}/{streamKey}"; + } + + /// + /// HLSPlayURL generates HLS play URL + /// + public string HLSPlayURL(string domain, string hub, string streamKey) + { + return $"http://{domain}/{hub}/{streamKey}.m3u8"; + } + + /// + /// HDLPlayURL generates HDL play URL + /// + public string HDLPlayURL(string domain, string hub, string streamKey) + { + return $"http://{domain}/{hub}/{streamKey}.flv"; + } + + /// + /// SnapshotPlayURL generates snapshot URL + /// + public string SnapshotPlayURL(string domain, string hub, string streamKey) + { + return $"http://{domain}/{hub}/{streamKey}.jpg"; + } + + public Hub NewHub(string hub) + { + return new Hub(_cli, hub); + } + + public Meeting NewMeeting() + { + return new Meeting(_cli); + } + } +} diff --git a/pili-sdk-csharp/Config.cs b/pili-sdk-csharp/Config.cs new file mode 100644 index 0000000..55b1042 --- /dev/null +++ b/pili-sdk-csharp/Config.cs @@ -0,0 +1,18 @@ +using System.Runtime.InteropServices; + +namespace Qiniu.Pili +{ + public sealed class Config + { + internal const string APIHttpScheme = "http://"; + + public const string Version = "2.1.0-alpha"; + + internal static readonly string APIUserAgent = + $"pili-sdk-csharp/{Version} {RuntimeInformation.FrameworkDescription} {RuntimeInformation.OSDescription}/{RuntimeInformation.OSArchitecture}"; + + public static string APIHost { get; set; } = "pili.qiniuapi.com"; + + public static string RTCAPIHost { get; set; } = "rtc.qiniuapi.com"; + } +} diff --git a/pili-sdk-csharp/Hub.cs b/pili-sdk-csharp/Hub.cs new file mode 100644 index 0000000..23efe3d --- /dev/null +++ b/pili-sdk-csharp/Hub.cs @@ -0,0 +1,145 @@ +using System; +using Microsoft.IdentityModel.Tokens; +using Newtonsoft.Json; +using Qiniu.Pili.Hubs; +using Qiniu.Pili.Streams; + +namespace Qiniu.Pili +{ + public sealed class Hub + { + private readonly string _baseUrl; + private readonly RPC _cli; + private readonly string _hub; + + internal Hub(RPC cli, string hub) + { + _cli = cli; + _hub = hub; + _baseUrl = $"{Config.APIHttpScheme}{Config.APIHost}/v2/hubs/{hub}"; + } + + /// + /// Create stream + /// + /// + public Stream Create(string streamKey) + { + var path = $"{_baseUrl}/streams"; + var args = new CreateArgs(streamKey); + var json = JsonConvert.SerializeObject(args); + + try + { + _cli.CallWithJsonAsync(path, json).GetAwaiter().GetResult(); + var streamInfo = new StreamInfo(_hub, streamKey); + return new Stream(streamInfo, _cli); + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + /// + /// Get stream + /// + /// + public Stream Get(string streamKey) + { + try + { + var ekey = Base64UrlEncoder.Encode(streamKey); + var path = $"{_baseUrl}/streams/{ekey}"; + + var resp = _cli.CallWithGetAsync(path).Result; + var ret = JsonConvert.DeserializeObject(resp); + ret.SetMeta(_hub, streamKey); + return new Stream(ret, _cli); + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + private ListRet List(bool live, string prefix, int limit, string marker) + { + var path = $"{_baseUrl}/streams?liveonly={live}&prefix={prefix}&limit={limit:D}&marker={marker}"; + try + { + var resp = _cli.CallWithGetAsync(path).Result; + + var ret = JsonConvert.DeserializeObject(resp); + + var listRet = new ListRet { Keys = new string[ret.Items.Length] }; + for (var i = 0; i < ret.Items.Length; i++) + { + listRet.Keys[i] = ret.Items[i].Key; + } + + listRet.Omarker = ret.Marker; + return listRet; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + /// + /// List stream + /// + /// + public ListRet List(string prefix, int limit, string marker) + { + return List(false, prefix, limit, marker); + } + + /// + /// List streams which is live + /// + /// + public ListRet ListLive(string prefix, int limit, string marker) + { + return List(true, prefix, limit, marker); + } + + /// + /// Batch get live status + /// + /// + public BatchLiveStatus[] BatchGetLiveStatus(string[] streamTitles) + { + var path = _baseUrl + "/livestreams"; + var json = JsonConvert.SerializeObject(new BatchLiveStatusOptions(streamTitles)); + try + { + var resp = _cli.CallWithJsonAsync(path, json).Result; + + var ret = JsonConvert.DeserializeObject(resp); + return ret.Items; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + } +} diff --git a/pili-sdk-csharp/Hubs/ApiRet.cs b/pili-sdk-csharp/Hubs/ApiRet.cs new file mode 100644 index 0000000..b6d0d49 --- /dev/null +++ b/pili-sdk-csharp/Hubs/ApiRet.cs @@ -0,0 +1,8 @@ +namespace Qiniu.Pili.Hubs +{ + internal class ApiRet + { + public ListItem[] Items { get; set; } + public string Marker { get; set; } + } +} diff --git a/pili-sdk-csharp/Hubs/BatchLiveStatus.cs b/pili-sdk-csharp/Hubs/BatchLiveStatus.cs new file mode 100644 index 0000000..73c01dc --- /dev/null +++ b/pili-sdk-csharp/Hubs/BatchLiveStatus.cs @@ -0,0 +1,9 @@ +using Qiniu.Pili.Streams; + +namespace Qiniu.Pili.Hubs +{ + public class BatchLiveStatus : LiveStatus + { + public string Key { get; set; } + } +} diff --git a/pili-sdk-csharp/Hubs/BatchLiveStatusOptions.cs b/pili-sdk-csharp/Hubs/BatchLiveStatusOptions.cs new file mode 100644 index 0000000..43c940b --- /dev/null +++ b/pili-sdk-csharp/Hubs/BatchLiveStatusOptions.cs @@ -0,0 +1,12 @@ +namespace Qiniu.Pili.Hubs +{ + internal class BatchLiveStatusOptions + { + public BatchLiveStatusOptions(string[] items) + { + Items = items; + } + + public string[] Items { get; set; } + } +} diff --git a/pili-sdk-csharp/Hubs/BatchLiveStatusRet.cs b/pili-sdk-csharp/Hubs/BatchLiveStatusRet.cs new file mode 100644 index 0000000..5fda3ec --- /dev/null +++ b/pili-sdk-csharp/Hubs/BatchLiveStatusRet.cs @@ -0,0 +1,7 @@ +namespace Qiniu.Pili.Hubs +{ + internal class BatchLiveStatusRet + { + public BatchLiveStatus[] Items { get; set; } + } +} diff --git a/pili-sdk-csharp/Hubs/CreateArgs.cs b/pili-sdk-csharp/Hubs/CreateArgs.cs new file mode 100644 index 0000000..fe3749f --- /dev/null +++ b/pili-sdk-csharp/Hubs/CreateArgs.cs @@ -0,0 +1,15 @@ +namespace Qiniu.Pili.Hubs +{ + /// + /// Create + /// + internal class CreateArgs + { + public CreateArgs(string key) + { + Key = key; + } + + public string Key { get; set; } + } +} diff --git a/pili-sdk-csharp/Hubs/ListItem.cs b/pili-sdk-csharp/Hubs/ListItem.cs new file mode 100644 index 0000000..d8b946b --- /dev/null +++ b/pili-sdk-csharp/Hubs/ListItem.cs @@ -0,0 +1,7 @@ +namespace Qiniu.Pili.Hubs +{ + internal class ListItem + { + public string Key { get; set; } + } +} diff --git a/pili-sdk-csharp/Hubs/ListRet.cs b/pili-sdk-csharp/Hubs/ListRet.cs new file mode 100644 index 0000000..3737fb5 --- /dev/null +++ b/pili-sdk-csharp/Hubs/ListRet.cs @@ -0,0 +1,11 @@ +namespace Qiniu.Pili.Hubs +{ + /// + /// List + /// + public class ListRet + { + public string[] Keys { get; set; } + public string Omarker { get; set; } + } +} diff --git a/pili-sdk-csharp/Internal/DateTimeOffsetExtensions.cs b/pili-sdk-csharp/Internal/DateTimeOffsetExtensions.cs new file mode 100644 index 0000000..6ae9262 --- /dev/null +++ b/pili-sdk-csharp/Internal/DateTimeOffsetExtensions.cs @@ -0,0 +1,19 @@ +using System; + +namespace Qiniu.Pili.Internal +{ +#if NET45 + internal static class DateTimeOffsetExtensions + { + public static long ToUnixTimeSeconds(this DateTimeOffset dateTime) + { + return dateTime.UtcDateTime.Ticks / 10000000L - 62135596800L; + } + + public static long ToUnixTimeMilliseconds(this DateTimeOffset dateTime) + { + return dateTime.UtcDateTime.Ticks / 10000L - 62135596800000L; + } + } +#endif +} diff --git a/pili-sdk-csharp/Internal/HMACSHA1Extensions.cs b/pili-sdk-csharp/Internal/HMACSHA1Extensions.cs new file mode 100644 index 0000000..98b7d02 --- /dev/null +++ b/pili-sdk-csharp/Internal/HMACSHA1Extensions.cs @@ -0,0 +1,13 @@ +using System.Security.Cryptography; +using System.Text; + +namespace Qiniu.Pili.Internal +{ + internal static class HMACSHA1Extensions + { + public static byte[] ComputeHash(this HMACSHA1 hmacsha1, string input) + { + return hmacsha1.ComputeHash(Encoding.UTF8.GetBytes(input)); + } + } +} diff --git a/pili-sdk-csharp/Mac.cs b/pili-sdk-csharp/Mac.cs new file mode 100644 index 0000000..d85b7b1 --- /dev/null +++ b/pili-sdk-csharp/Mac.cs @@ -0,0 +1,78 @@ +using System; +using System.Net.Http; +using System.Security.Cryptography; +using System.Text; +using Microsoft.IdentityModel.Tokens; +using Qiniu.Pili.Internal; + +namespace Qiniu.Pili +{ + internal sealed class Mac + { + private readonly string _accessKey; + private readonly string _secretKey; + private readonly HMACSHA1 _skSpec; + + public Mac(string accessKey, string secretKey) + { + _accessKey = accessKey; + _secretKey = secretKey; + _skSpec = new HMACSHA1(Encoding.UTF8.GetBytes(secretKey)); + } + + public string Sign(string data) + { + var sum = _skSpec.ComputeHash(data); + var sign = Base64UrlEncoder.Encode(sum); + return _accessKey + ":" + sign; + } + + public string SignRequest(Uri uri, HttpMethod method, byte[] body, string contentType) + { + var sb = new StringBuilder(); + + sb.Append($"{method} {uri.PathAndQuery}"); + sb.Append($"\nHost: {uri.Host}"); + + if (uri.Port > 0) + { + sb.Append($":{uri.Port:D}"); + } + + if (contentType != null) + { + sb.Append($"\nContent-Type: {contentType}"); + } + + // body + sb.Append("\n\n"); + if (IncBody(body, contentType)) + { + sb.Append(Encoding.UTF8.GetString(body)); + } + + var sum = _skSpec.ComputeHash(sb.ToString()); + var sign = Base64UrlEncoder.Encode(sum); + return _accessKey + ":" + sign; + } + + private static bool IncBody(byte[] body, string contentType) + { + const int maxContentLength = 1024 * 1024; + var typeOk = contentType != null && !contentType.Equals("application/octet-stream"); + var lengthOk = body != null && body.Length > 0 && body.Length < maxContentLength; + return typeOk && lengthOk; + } + + /// + /// 连麦 RoomToken + /// + public string SignRoomToken(string roomAccess) + { + var encodedRoomAcc = Base64UrlEncoder.Encode(roomAccess); + var sign = _skSpec.ComputeHash(encodedRoomAcc); + var encodedSign = Base64UrlEncoder.Encode(sign); + return _accessKey + ":" + encodedSign + ":" + encodedRoomAcc; + } + } +} diff --git a/pili-sdk-csharp/Meeting.cs b/pili-sdk-csharp/Meeting.cs new file mode 100644 index 0000000..cddba69 --- /dev/null +++ b/pili-sdk-csharp/Meeting.cs @@ -0,0 +1,100 @@ +using System; +using Newtonsoft.Json; +using Qiniu.Pili.Meetings; + +namespace Qiniu.Pili +{ + public class Meeting + { + private readonly string _baseUrl; + private readonly RPC _cli; + + internal Meeting(RPC cli) + { + _baseUrl = $"{Config.APIHttpScheme}{Config.RTCAPIHost}/v2"; + _cli = cli; + } + + public virtual string CreateRoom(string ownerId, string roomName, int userMax) + { + var args = new CreateArgs(ownerId, roomName, userMax); + return CreateRoom(args); + } + + public virtual string CreateRoom(string ownerId, string roomName) + { + var args = new CreateArgs(ownerId, roomName); + return CreateRoom(args); + } + + public virtual string CreateRoom(string ownerId) + { + var args = new CreateArgs(ownerId); + return CreateRoom(args); + } + + private string CreateRoom(CreateArgs args) + { + var path = _baseUrl + "/rooms"; + var json = JsonConvert.SerializeObject(args); + + try + { + var resp = _cli.CallWithJsonAsync(path, json).Result; + var ret = JsonConvert.DeserializeObject(resp); + return ret.Name; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + public virtual Room GetRoom(string roomName) + { + var path = _baseUrl + "/rooms/" + roomName; + try + { + var resp = _cli.CallWithGetAsync(path).Result; + var room = JsonConvert.DeserializeObject(resp); + return room; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + public virtual void DeleteRoom(string room) + { + var path = _baseUrl + "/rooms/" + room; + try + { + _cli.CallWithDeleteAsync(path).GetAwaiter().GetResult(); + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + public virtual string RoomToken(string roomName, string userId, string perm, DateTime expireAt) + { + var access = new RoomAccess(roomName, userId, perm, expireAt); + var json = JsonConvert.SerializeObject(access); + return _cli.Mac.SignRoomToken(json); + } + } +} diff --git a/pili-sdk-csharp/Meetings/ActiveUser.cs b/pili-sdk-csharp/Meetings/ActiveUser.cs new file mode 100644 index 0000000..bfb80bf --- /dev/null +++ b/pili-sdk-csharp/Meetings/ActiveUser.cs @@ -0,0 +1,13 @@ +using Newtonsoft.Json; + +namespace Qiniu.Pili.Meetings +{ + public class ActiveUser + { + [JsonProperty(PropertyName = "user_id")] + public string UserId; + + [JsonProperty(PropertyName = "user_name")] + public string UserName; + } +} diff --git a/pili-sdk-csharp/Meetings/AllActiveUsers.cs b/pili-sdk-csharp/Meetings/AllActiveUsers.cs new file mode 100644 index 0000000..c5931a7 --- /dev/null +++ b/pili-sdk-csharp/Meetings/AllActiveUsers.cs @@ -0,0 +1,10 @@ +using Newtonsoft.Json; + +namespace Qiniu.Pili.Meetings +{ + public class AllActiveUsers + { + [JsonProperty(PropertyName = "active_users")] + public ActiveUser[] Users; + } +} diff --git a/pili-sdk-csharp/Meetings/CreateArgs.cs b/pili-sdk-csharp/Meetings/CreateArgs.cs new file mode 100644 index 0000000..834ee0b --- /dev/null +++ b/pili-sdk-csharp/Meetings/CreateArgs.cs @@ -0,0 +1,34 @@ +using Newtonsoft.Json; + +namespace Qiniu.Pili.Meetings +{ + internal class CreateArgs + { + [JsonProperty(PropertyName = "owner_id")] + internal string OwnerId; + + [JsonProperty(PropertyName = "room_name")] + internal string Room; + + [JsonProperty(PropertyName = "user_max")] + internal int UserMax; + + public CreateArgs(string ownerId, string room, int userMax) + { + OwnerId = ownerId; + Room = room; + UserMax = userMax; + } + + public CreateArgs(string ownerId, string room) + { + OwnerId = ownerId; + Room = room; + } + + public CreateArgs(string ownerId) + { + OwnerId = ownerId; + } + } +} diff --git a/pili-sdk-csharp/Meetings/Room.cs b/pili-sdk-csharp/Meetings/Room.cs new file mode 100644 index 0000000..cebef22 --- /dev/null +++ b/pili-sdk-csharp/Meetings/Room.cs @@ -0,0 +1,19 @@ +using Newtonsoft.Json; + +namespace Qiniu.Pili.Meetings +{ + public class Room + { + [JsonProperty(PropertyName = "room_name")] + public string Name; + + [JsonProperty(PropertyName = "owner_id")] + public string OwnerId; + + [JsonProperty(PropertyName = "room_status")] + public Status Status; + + [JsonProperty(PropertyName = "user_max")] + public int UserMaxe; + } +} diff --git a/pili-sdk-csharp/Meetings/RoomAccess.cs b/pili-sdk-csharp/Meetings/RoomAccess.cs new file mode 100644 index 0000000..009a0bc --- /dev/null +++ b/pili-sdk-csharp/Meetings/RoomAccess.cs @@ -0,0 +1,41 @@ +using System; +using Newtonsoft.Json; + +namespace Qiniu.Pili.Meetings +{ + internal class RoomAccess + { + [JsonProperty(PropertyName = "expire_at")] + internal long ExpireAt; + + [JsonProperty(PropertyName = "perm")] + internal string Perm; + + [JsonProperty(PropertyName = "room_name")] + internal string RoomName; + + [JsonProperty(PropertyName = "user_id")] + internal string UserId; + + [JsonProperty(PropertyName = "version")] + internal string Version; + + internal RoomAccess(string roomName, string userId, string perm, DateTime expireAt) + { + RoomName = roomName; + UserId = userId; + Perm = perm; + ExpireAt = expireAt.Ticks / 1000; // seconds + Version = "2.0"; + } + + internal RoomAccess(string roomName, string userId, string perm, DateTime expireAt, string version) + { + RoomName = roomName; + UserId = userId; + Perm = perm; + ExpireAt = expireAt.Ticks / 1000; + Version = version; + } + } +} diff --git a/pili-sdk-csharp/Meetings/RoomName.cs b/pili-sdk-csharp/Meetings/RoomName.cs new file mode 100644 index 0000000..674b69d --- /dev/null +++ b/pili-sdk-csharp/Meetings/RoomName.cs @@ -0,0 +1,10 @@ +using Newtonsoft.Json; + +namespace Qiniu.Pili.Meetings +{ + internal class RoomName + { + [JsonProperty(PropertyName = "room_name")] + internal string Name; + } +} diff --git a/pili-sdk-csharp/Meetings/Status.cs b/pili-sdk-csharp/Meetings/Status.cs new file mode 100644 index 0000000..60f4364 --- /dev/null +++ b/pili-sdk-csharp/Meetings/Status.cs @@ -0,0 +1,9 @@ +namespace Qiniu.Pili.Meetings +{ + public enum Status + { + New, + Meeting, + Finished + } +} diff --git a/pili-sdk-csharp/PiliException.cs b/pili-sdk-csharp/PiliException.cs new file mode 100644 index 0000000..6c3d354 --- /dev/null +++ b/pili-sdk-csharp/PiliException.cs @@ -0,0 +1,58 @@ +using System; +using System.Net.Http; + +namespace Qiniu.Pili +{ + public class PiliException : Exception + { + private const string ErrNotFound = "stream not found"; + private const string ErrDuplicate = "stream already exists"; + private const string ErrNotLive = "no data"; + + public PiliException(HttpResponseMessage response) + { + Response = response; + } + + public PiliException(string msg) : base(msg) + { + } + + public PiliException(Exception e) : base(null, e) + { + } + + public HttpResponseMessage Response { get; } + + public virtual int Code => Response == null ? -1 : (int)Response.StatusCode; + + public virtual bool Duplicate => Code == 614; + + public virtual bool NotFound => Code == 612; + + public virtual bool NotInLive => Code == 619; + + public override string Message + { + get + { + if (Response == null) + { + return base.Message; + } + + switch (Code) + { + case 614: + return ErrDuplicate; + case 612: + return ErrNotFound; + case 619: + return ErrNotLive; + default: + return Response.ReasonPhrase; + } + } + } + } +} diff --git a/pili-sdk-csharp/RPC.cs b/pili-sdk-csharp/RPC.cs new file mode 100644 index 0000000..e9a0626 --- /dev/null +++ b/pili-sdk-csharp/RPC.cs @@ -0,0 +1,90 @@ +using System; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace Qiniu.Pili +{ + internal sealed class RPC + { + public RPC(Mac mac) + { + Mac = mac; + HttpClient = new HttpClient(); + HttpClient.DefaultRequestHeaders.UserAgent.ParseAdd(Config.APIUserAgent); + } + + public Mac Mac { get; } + + public HttpClient HttpClient { get; } + + public async Task CallWithJsonAsync(string urlStr, string json, CancellationToken cancellationToken = default(CancellationToken)) + { + const string contentType = "application/json"; + + var uri = new Uri(urlStr); + var body = Encoding.UTF8.GetBytes(json); + var macToken = Mac.SignRequest(uri, HttpMethod.Post, body, contentType); + + var content = new ByteArrayContent(body); + content.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType); + content.Headers.Add("Authorization", $"Qiniu {macToken}"); + + var response = await HttpClient.PostAsync(uri, content, cancellationToken); + + try + { + response.EnsureSuccessStatusCode(); + return await response.Content.ReadAsStringAsync(); + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + public async Task CallWithGetAsync(string urlStr, CancellationToken cancellationToken = default(CancellationToken)) + { + var uri = new Uri(urlStr); + var macToken = Mac.SignRequest(uri, HttpMethod.Get, null, null); + + var request = new HttpRequestMessage(HttpMethod.Get, uri); + request.Headers.Add("Authorization", $"Qiniu {macToken}"); + + var response = await HttpClient.SendAsync(request, cancellationToken); + + try + { + response.EnsureSuccessStatusCode(); + return await response.Content.ReadAsStringAsync(); + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + public async Task CallWithDeleteAsync(string urlStr, CancellationToken cancellationToken = default(CancellationToken)) + { + var uri = new Uri(urlStr); + var macToken = Mac.SignRequest(uri, HttpMethod.Delete, null, null); + + var request = new HttpRequestMessage(HttpMethod.Delete, uri); + request.Headers.Add("Authorization", $"Qiniu {macToken}"); + + var response = await HttpClient.SendAsync(request, cancellationToken); + + try + { + response.EnsureSuccessStatusCode(); + return await response.Content.ReadAsStringAsync(); + } + catch (Exception e) + { + throw new PiliException(e); + } + } + } +} diff --git a/pili-sdk-csharp/Stream.cs b/pili-sdk-csharp/Stream.cs new file mode 100644 index 0000000..9ee1810 --- /dev/null +++ b/pili-sdk-csharp/Stream.cs @@ -0,0 +1,274 @@ +using System; +using System.Collections.Generic; +using Microsoft.IdentityModel.Tokens; +using Newtonsoft.Json; +using Qiniu.Pili.Streams; + +namespace Qiniu.Pili +{ + public sealed class Stream + { + private readonly string _baseUrl; + private readonly RPC _cli; + private StreamInfo _info; + + internal Stream(StreamInfo info, RPC cli) + { + _info = info; + var ekey = Base64UrlEncoder.Encode(info.Key); + _baseUrl = $"{Config.APIHttpScheme}{Config.APIHost}/v2/hubs/{info.Hub}/streams/{ekey}"; + _cli = cli; + } + + public string Hub => _info.Hub; + + public long DisabledTill + { + get => _info.DisabledTill; + set + { + var args = new DisabledArgs { DisabledTill = value }; + var path = $"{_baseUrl}/disabled"; + var json = JsonConvert.SerializeObject(args); + + try + { + _cli.CallWithJsonAsync(path, json).GetAwaiter().GetResult(); + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + } + + public string[] Converts => _info.Converts; + + public string Key => _info.Key; + + /// + /// Fetch stream info + /// + /// + public Stream Info() + { + try + { + var resp = _cli.CallWithGetAsync(_baseUrl).Result; + var ret = JsonConvert.DeserializeObject(resp); + ret.SetMeta(_info.Hub, _info.Key); + _info = ret; + return this; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + /// + /// Diable stream + /// + /// + public void Disable() + { + DisabledTill = -1; + } + + /// + /// Disable stream + /// + /// + public void Disable(long disabledTill) + { + DisabledTill = disabledTill; + } + + /// + /// Enable stream + /// + /// + public void Enable() + { + DisabledTill = 0; + } + + /// + /// Get the status of live stream + /// + /// + public LiveStatus LiveStatus() + { + var path = _baseUrl + "/live"; + try + { + var resp = _cli.CallWithGetAsync(path).Result; + var status = JsonConvert.DeserializeObject(resp); + return status; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + /// + /// Save playback + /// + /// + public string Save(long start, long end) + { + var args = new SaveOptions(start, end); + return Save(args); + } + + /// + /// Save playback with more options + /// + /// + public string Save(SaveOptions opts) + { + var path = _baseUrl + "/saveas"; + var json = JsonConvert.SerializeObject(opts); + + try + { + var resp = _cli.CallWithJsonAsync(path, json).Result; + var ret = JsonConvert.DeserializeObject(resp); + return ret.Fname; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + /// + public IDictionary SaveReturn(SaveOptions opts) + { + var path = _baseUrl + "/saveas"; + var json = JsonConvert.SerializeObject(opts); + + try + { + var resp = _cli.CallWithJsonAsync(path, json).Result; + var ret = JsonConvert.DeserializeObject(resp); + IDictionary result = new Dictionary(); + result["persistentID"] = ret.PersistentId; + result["fname"] = ret.Fname; + return result; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + /// + /// Snapshot the live stream + /// + /// + public string Snapshot(SnapshotOptions opts) + { + var path = _baseUrl + "/snapshot"; + var json = JsonConvert.SerializeObject(opts); + try + { + var resp = _cli.CallWithJsonAsync(path, json).Result; + var ret = JsonConvert.DeserializeObject(resp); + return ret.Fname; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + /// + /// Update convert configs + /// + /// + public void UpdateConverts(string[] profiles) + { + var path = _baseUrl + "/converts"; + var json = JsonConvert.SerializeObject(new ConvertsOptions(profiles)); + try + { + _cli.CallWithJsonAsync(path, json).GetAwaiter().GetResult(); + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + + /// + /// Query the stream history + /// + /// + public Record[] HistoryRecord(long start, long end) + { + string GenerateUrl() + { + var query = ""; + var flag = "?"; + + if (start > 0) + { + query += $"{flag}start={start:D}"; + flag = "&"; + } + + if (end > 0) + { + query += $"{flag}end={end:D}"; + } + + return $"{_baseUrl}/historyrecord{query}"; + } + + try + { + var resp = _cli.CallWithGetAsync(GenerateUrl()).Result; + var ret = JsonConvert.DeserializeObject(resp); + return ret.Items; + } + catch (PiliException) + { + throw; + } + catch (Exception e) + { + throw new PiliException(e); + } + } + } +} diff --git a/pili-sdk-csharp/Streams/ConvertsOptions.cs b/pili-sdk-csharp/Streams/ConvertsOptions.cs new file mode 100644 index 0000000..fc59b4e --- /dev/null +++ b/pili-sdk-csharp/Streams/ConvertsOptions.cs @@ -0,0 +1,12 @@ +namespace Qiniu.Pili.Streams +{ + internal class ConvertsOptions + { + internal string[] Converts; + + public ConvertsOptions(string[] converts) + { + Converts = converts; + } + } +} diff --git a/pili-sdk-csharp/Streams/DisabledArgs.cs b/pili-sdk-csharp/Streams/DisabledArgs.cs new file mode 100644 index 0000000..1b07c18 --- /dev/null +++ b/pili-sdk-csharp/Streams/DisabledArgs.cs @@ -0,0 +1,7 @@ +namespace Qiniu.Pili.Streams +{ + internal class DisabledArgs + { + public long DisabledTill { get; set; } + } +} diff --git a/pili-sdk-csharp/Streams/FPSStatus.cs b/pili-sdk-csharp/Streams/FPSStatus.cs new file mode 100644 index 0000000..4f70de5 --- /dev/null +++ b/pili-sdk-csharp/Streams/FPSStatus.cs @@ -0,0 +1,11 @@ +namespace Qiniu.Pili.Streams +{ + public class FPSStatus + { + public int Audio { get; set; } + + public int Data { get; set; } + + public int Video { get; set; } + } +} diff --git a/pili-sdk-csharp/Streams/HistoryRet.cs b/pili-sdk-csharp/Streams/HistoryRet.cs new file mode 100644 index 0000000..e45c86f --- /dev/null +++ b/pili-sdk-csharp/Streams/HistoryRet.cs @@ -0,0 +1,7 @@ +namespace Qiniu.Pili.Streams +{ + internal class HistoryRet + { + internal Record[] Items; + } +} diff --git a/pili-sdk-csharp/Streams/LiveStatus.cs b/pili-sdk-csharp/Streams/LiveStatus.cs new file mode 100644 index 0000000..9fccc6a --- /dev/null +++ b/pili-sdk-csharp/Streams/LiveStatus.cs @@ -0,0 +1,13 @@ +namespace Qiniu.Pili.Streams +{ + public class LiveStatus + { + public int Bps { get; set; } + + public string ClientIp { get; set; } + + public FPSStatus FPS { get; set; } + + public long StartAt { get; set; } + } +} diff --git a/pili-sdk-csharp/Streams/Record.cs b/pili-sdk-csharp/Streams/Record.cs new file mode 100644 index 0000000..f71bdeb --- /dev/null +++ b/pili-sdk-csharp/Streams/Record.cs @@ -0,0 +1,9 @@ +namespace Qiniu.Pili.Streams +{ + public class Record + { + public long End { get; set; } + + public long Start { get; set; } + } +} diff --git a/pili-sdk-csharp/Streams/SaveOptions.cs b/pili-sdk-csharp/Streams/SaveOptions.cs new file mode 100644 index 0000000..05fac9b --- /dev/null +++ b/pili-sdk-csharp/Streams/SaveOptions.cs @@ -0,0 +1,53 @@ +namespace Qiniu.Pili.Streams +{ + public class SaveOptions + { + public SaveOptions() + { + } + + public SaveOptions(long start, long end) + { + Start = start; + End = end; + } + + /// + /// End unix time. 0 means current time + /// + public long End { get; set; } + + /// + /// Get or set the expiration days of ts. + /// -1 means no change of ts's expiration; + /// 0 means storing forever; + /// any other positive number can change the ts's expiration days. + /// + public long ExpireDays { get; set; } + + /// + /// The saved file name + /// + public string Fname { get; set; } + + /// + /// File format. default in m3u8 + /// + public string Format { get; set; } + + /// + /// URL address. After dora asynchronous operation is done, will notify this address + /// + public string Notify { get; set; } + + /// + /// If qiniu dora pipeline is needed, assign this value + /// + public string Pipeline { get; set; } + + /// + /// Start unix time + /// + public long Start { get; set; } + } +} diff --git a/pili-sdk-csharp/Streams/SaveRet.cs b/pili-sdk-csharp/Streams/SaveRet.cs new file mode 100644 index 0000000..f31bcf7 --- /dev/null +++ b/pili-sdk-csharp/Streams/SaveRet.cs @@ -0,0 +1,7 @@ +namespace Qiniu.Pili.Streams +{ + internal class SaveRet + { + internal string Fname; + } +} diff --git a/pili-sdk-csharp/Streams/SaveRetFull.cs b/pili-sdk-csharp/Streams/SaveRetFull.cs new file mode 100644 index 0000000..e959352 --- /dev/null +++ b/pili-sdk-csharp/Streams/SaveRetFull.cs @@ -0,0 +1,8 @@ +namespace Qiniu.Pili.Streams +{ + internal class SaveRetFull + { + internal string Fname; + internal string PersistentId; + } +} diff --git a/pili-sdk-csharp/Streams/SnapshotOptions.cs b/pili-sdk-csharp/Streams/SnapshotOptions.cs new file mode 100644 index 0000000..d73bd40 --- /dev/null +++ b/pili-sdk-csharp/Streams/SnapshotOptions.cs @@ -0,0 +1,31 @@ +namespace Qiniu.Pili.Streams +{ + public class SnapshotOptions + { + public SnapshotOptions() + { + } + + public SnapshotOptions(string fname, long time, string format) + { + Fname = fname; + Time = time; + Format = format; + } + + /// + /// the saved file name + /// + public string Fname { get; set; } + + /// + /// file format. default in jpg + /// + public string Format { get; set; } + + /// + /// the unix time of snapshot. 0 means the current time + /// + public long Time { get; set; } + } +} diff --git a/pili-sdk-csharp/Streams/SnapshotRet.cs b/pili-sdk-csharp/Streams/SnapshotRet.cs new file mode 100644 index 0000000..f08ac42 --- /dev/null +++ b/pili-sdk-csharp/Streams/SnapshotRet.cs @@ -0,0 +1,7 @@ +namespace Qiniu.Pili.Streams +{ + internal class SnapshotRet + { + internal string Fname; + } +} diff --git a/pili-sdk-csharp/Streams/StreamInfo.cs b/pili-sdk-csharp/Streams/StreamInfo.cs new file mode 100644 index 0000000..62dcbfb --- /dev/null +++ b/pili-sdk-csharp/Streams/StreamInfo.cs @@ -0,0 +1,28 @@ +namespace Qiniu.Pili.Streams +{ + public sealed class StreamInfo + { + internal StreamInfo() + { + } + + internal StreamInfo(string hub, string key) + { + SetMeta(hub, key); + } + + public string Hub { get; internal set; } + + public long DisabledTill { get; internal set; } + + public string Key { get; internal set; } + + public string[] Converts { get; internal set; } + + internal void SetMeta(string hub, string key) + { + Key = key; + Hub = hub; + } + } +} diff --git a/pili-sdk-csharp/pili-common/Config.cs b/pili-sdk-csharp/pili-common/Config.cs deleted file mode 100644 index beb5841..0000000 --- a/pili-sdk-csharp/pili-common/Config.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; - -namespace pili_sdk_csharp.pili_common -{ - public class Config - { - public const string SdkVersion = "1.5.0"; - - public const string UserAgent = "pili-sdk-csharp"; - - public const string Utf8 = "UTF-8"; - - public const string DefaultAPIVersion = "v2"; - - [Obsolete] - public const string APIVersion = DefaultAPIVersion; - - public const string DefaultAPIHost = "pili.qiniuapi.com"; - public const bool DefaultUseHttps = false; - - public const int TitleMinLength = 5; - public const int TitleMaxLength = 200; - } -} diff --git a/pili-sdk-csharp/pili-common/DateTimeHelper.cs b/pili-sdk-csharp/pili-common/DateTimeHelper.cs deleted file mode 100644 index 4bba5ce..0000000 --- a/pili-sdk-csharp/pili-common/DateTimeHelper.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; - -internal static class DateTimeHelper -{ -#if NET45 - private static readonly DateTimeOffset UnixEpoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero); -#else - private static readonly DateTimeOffset UnixEpoch = DateTimeOffset.FromUnixTimeSeconds(0); -#endif - - internal static long CurrentUnixTimeMillis() - { - return (long)(DateTimeOffset.UtcNow - UnixEpoch).TotalMilliseconds; - } - - internal static long CurrentUnixTimeSeconds() - { - return (long)(DateTimeOffset.UtcNow - UnixEpoch).TotalSeconds; - } - - internal static long TransUnixTimeSeconds(DateTime dateTime) - { - return (long)(dateTime - UnixEpoch).TotalSeconds; - } -} diff --git a/pili-sdk-csharp/pili-common/MessageConfig.cs b/pili-sdk-csharp/pili-common/MessageConfig.cs deleted file mode 100644 index f316acc..0000000 --- a/pili-sdk-csharp/pili-common/MessageConfig.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace pili_sdk_csharp.pili_common -{ - public class MessageConfig - { - public const string NullStreamIdExceptionMsg = "FATAL EXCEPTION: streamId is null!"; - public const string NullHubnameExceptionMsg = "FATAL EXCEPTION: hubName is null!"; - public const string NullCredentialsExceptionMsg = "FATAL EXCEPTION: credentials is null!"; - public const string IllegalRtmpPublishUrlMsg = "Illegal rtmp publish url!"; - public const string IllegalTimeMsg = "Illegal startTime or endTime!"; - public const string IllegalFileNameExceptionMsg = "Illegal file name !"; - public const string IllegalFormatExceptionMsg = "Illegal format !"; - public static readonly string IllegalTitleMsg = $"The length of title should be at least: {Config.TitleMinLength}, or at most: {Config.TitleMaxLength}"; - } -} diff --git a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs b/pili-sdk-csharp/pili-common/UrlSafeBase64.cs deleted file mode 100644 index f788921..0000000 --- a/pili-sdk-csharp/pili-common/UrlSafeBase64.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Text; - -namespace pili_sdk_csharp.pili_common -{ - public class UrlSafeBase64 - { - public static string EncodeToString(string data) - { - try - { - return EncodeToString(Encoding.UTF8.GetBytes(data)); - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - - return null; - } - - public static string EncodeToString(byte[] data) - { - return Convert.ToBase64String(data) - .Replace('+', '-').Replace('/', '_') - .TrimEnd('='); - } - - public static string Base64UrlEncode(byte[] data) - { - return Convert.ToBase64String(data) - .Replace('+', '-').Replace('/', '_'); - } - - public static byte[] Decode(string base64) - { - base64 = base64 - .PadRight(base64.Length + (4 - base64.Length % 4) % 4, '=') - .Replace('_', '/').Replace('-', '+'); - - return Convert.FromBase64String(base64); - } - } -} diff --git a/pili-sdk-csharp/pili-common/Utils.cs b/pili-sdk-csharp/pili-common/Utils.cs deleted file mode 100644 index f00e37c..0000000 --- a/pili-sdk-csharp/pili-common/Utils.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Newtonsoft.Json; - -namespace pili_sdk_csharp.pili_common -{ - public class Utils - { - public static int BufferLen = 32 * 1024; - - public static string UserAgent - { - get - { - const string csharpVersion = "csharp"; - const string os = "windows"; - const string sdk = Config.UserAgent + Config.SdkVersion; - return sdk + os + csharpVersion; - } - } - - public static string JsonEncode(object obj) - { - var setting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; - return JsonConvert.SerializeObject(obj, setting); - } - - public static T ToObject(string value) - { - return JsonConvert.DeserializeObject(value); - } - } -} diff --git a/pili-sdk-csharp/pili-qiniu/Credentials.cs b/pili-sdk-csharp/pili-qiniu/Credentials.cs deleted file mode 100644 index 8a41f83..0000000 --- a/pili-sdk-csharp/pili-qiniu/Credentials.cs +++ /dev/null @@ -1,88 +0,0 @@ -using System; -using System.Security.Cryptography; -using System.Text; -using pili_sdk_csharp.pili_common; - -namespace pili_sdk_csharp.pili_qiniu -{ - public class Credentials - { - private const string DigestAuthPrefix = "Qiniu"; - private readonly string _accessKey; - private readonly HMACSHA1 _skSpec; - - public Credentials(string ak, string sk) - { - _accessKey = ak ?? throw new ArgumentNullException(nameof(ak), "Invalid accessKey!"); - var secretKey = sk ?? throw new ArgumentNullException(nameof(sk), "Invalid secretKey!!"); - try - { - _skSpec = new HMACSHA1(Encoding.UTF8.GetBytes(secretKey)); - } - catch (Exception e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - public virtual string SignStream(string hubName, string streamKey, long expire) - { - var path = $"/{hubName}/{streamKey}?e={expire}"; - return $"{_accessKey}:{SignData(path)}"; - } - - public virtual string SignRequest(Uri url, string method, byte[] body, string contentType) - { - var sb = new StringBuilder(); - - // - var line = $"{method} {url.LocalPath}"; - sb.Append(line); - if (url.Query != "") - { - sb.Append(url.Query); - } - - // Host: - sb.Append($"\nHost: {url.Host}"); - if (url.Port != 80) - { - sb.Append($":{url.Port}"); - } - - // Content-Type: - if (contentType != null) - { - sb.Append($"\nContent-Type: {contentType}"); - } - - // body - sb.Append("\n\n"); - if (body != null && contentType != null && contentType != "application/octet-stream") - { - sb.Append(Encoding.UTF8.GetString(body)); - } - - return $"{DigestAuthPrefix} {_accessKey}:{SignData(sb.ToString())}"; - } - - private string SignData(string data) - { - string sign; - try - { - var newdata = Encoding.UTF8.GetBytes(data); - var digest = _skSpec.ComputeHash(newdata); - sign = UrlSafeBase64.Base64UrlEncode(digest); - } - catch (Exception e) - { - throw new Exception("Failed to generate HMAC : " + e.Message); - } - - return sign; - } - } -} diff --git a/pili-sdk-csharp/pili-sdk-csharp.csproj b/pili-sdk-csharp/pili-sdk-csharp.csproj index 626ec7c..9803b0a 100644 --- a/pili-sdk-csharp/pili-sdk-csharp.csproj +++ b/pili-sdk-csharp/pili-sdk-csharp.csproj @@ -1,25 +1,29 @@ - net45;net461;netstandard1.3;netstandard2.0 - 2.0.0-beta - An unofficial pili sdk which forks official pili-sdk-csharp. + net45;net461;netstandard1.4;netstandard2.0 + 2.1.0-alpha + An unofficial pili sdk that ported from pili-sdk-java. It updated api version to v2 and added support for .NET Standard. PM Extra https://github.com/PMExtra/pili-sdk-csharp Qiniu pili live sdk true + Qiniu.Pili - + + - - - + + + + - + + diff --git a/pili-sdk-csharp/pili/API.cs b/pili-sdk-csharp/pili/API.cs deleted file mode 100644 index 452a5f0..0000000 --- a/pili-sdk-csharp/pili/API.cs +++ /dev/null @@ -1,558 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Net; -using System.Text; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using pili_sdk_csharp.pili_common; -using pili_sdk_csharp.pili_qiniu; - -namespace pili_sdk_csharp.pili -{ - public static class API - { - private const string ContentType = "application/json"; - - private static readonly string APIBaseUrl = - $"{(Configuration.Instance.UseHttps ? "https" : "http")}://{Configuration.Instance.API_HOST}/{Configuration.Instance.API_VERSION}"; - - public static Stream CreateStream(Credentials credentials, string hubName, string streamId) - { - // System.out.println("createStream:" + API_BASE_URL); - var urlStr = APIBaseUrl + $"/hubs/{hubName}/streams"; - - var json = new Dictionary - { - { "key", streamId } - }; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "POST"; - var jsonobj = JsonConvert.SerializeObject(json); - var body = Encoding.UTF8.GetBytes(jsonobj); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); - request.ContentType = ContentType; -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - - using (var requestStream = request.GetRequestStreamAsync().Result) - { - new MemoryStream(body).CopyTo(requestStream); - } - - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 200) - { - return new Stream(hubName, streamId, credentials); - } - - throw new PiliException(response); - } - - // Get an exist stream - public static JObject GetStream(Credentials credentials, string hubName, string ekey) - { - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}"; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "GET"; - var macToken = credentials.SignRequest(url, "GET", null, null); -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - return JObject.Parse(text); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - throw new PiliException(response); - } - - public static void SetDisableTill(Credentials credentials, string hubName, string ekey, long till) - { - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/disabled"; - var json = new Dictionary - { - { "disabledTill", till } - }; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "POST"; - var jsonobj = JsonConvert.SerializeObject(json); - var body = Encoding.UTF8.GetBytes(jsonobj); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); - request.ContentType = ContentType; -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - - using (var requestStream = request.GetRequestStreamAsync().Result) - { - new MemoryStream(body).CopyTo(requestStream); - } - - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - public static JObject LiveStatus(Credentials credentials, string hubName, string ekey) - { - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/live"; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "GET"; - var macToken = credentials.SignRequest(url, "GET", null, null); -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - return JObject.Parse(text); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - throw new PiliException(response); - } - - public static JObject SaveAs(Credentials credentials, string hubName, string ekey, Stream.SaveasOptions options) - { - if (options == null) - { - options = new Stream.SaveasOptions(); - } - - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/saveas"; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "POST"; - var jsonobj = JsonConvert.SerializeObject(options); - var body = Encoding.UTF8.GetBytes(jsonobj); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); - request.ContentType = ContentType; -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - - using (var requestStream = request.GetRequestStreamAsync().Result) - { - new MemoryStream(body).CopyTo(requestStream); - } - - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - return JObject.Parse(text); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - throw new PiliException(response); - } - - public static JObject Snapshot(Credentials credentials, string hubName, string ekey, Stream.SnapshotOptions options) - { - if (options == null) - { - options = new Stream.SnapshotOptions(); - } - - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/snapshot"; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "POST"; - var jsonobj = JsonConvert.SerializeObject(options); - var body = Encoding.UTF8.GetBytes(jsonobj); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); - request.ContentType = ContentType; -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - - using (var requestStream = request.GetRequestStreamAsync().Result) - { - new MemoryStream(body).CopyTo(requestStream); - } - - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - return JObject.Parse(text); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - throw new PiliException(response); - } - - public static void UpdateConverts(Credentials credentials, string hubName, string ekey, List profiles) - { - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/converts"; - var json = new Dictionary> - { - { "converts", profiles } - }; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "POST"; - var jsonobj = JsonConvert.SerializeObject(json); - var body = Encoding.UTF8.GetBytes(jsonobj); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); - request.ContentType = ContentType; -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - - using (var requestStream = request.GetRequestStreamAsync().Result) - { - new MemoryStream(body).CopyTo(requestStream); - } - - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - public static JObject HistoryActivity(Credentials credentials, string hubName, string ekey, long start, long end) - { - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams/{ekey}/historyactivity?start={start}&end={end}"; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "GET"; - var macToken = credentials.SignRequest(url, "GET", null, null); -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - return JObject.Parse(text); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - throw new PiliException(response); - } - - public static JObject BatchLiveStatus(Credentials credentials, string hubName, List streamkeys) - { - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/livestreams"; - var json = new Dictionary> - { - { "items", streamkeys } - }; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "POST"; - var jsonobj = JsonConvert.SerializeObject(json); - var body = Encoding.UTF8.GetBytes(jsonobj); - var macToken = credentials.SignRequest(url, "POST", body, ContentType); - request.ContentType = ContentType; -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - - using (var requestStream = request.GetRequestStreamAsync().Result) - { - new MemoryStream(body).CopyTo(requestStream); - } - - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - return JObject.Parse(text); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - throw new PiliException(response); - } - - public static JObject StreamList(Credentials credentials, string hubName, bool live, string prefix, int limit, string marker) - { - var urlStr = $"{APIBaseUrl}/hubs/{hubName}/streams?liveonly={live}&prefix={prefix}&limit={limit}&marker={marker}"; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - request.Method = "GET"; - var macToken = credentials.SignRequest(url, "GET", null, null); -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 200) - { - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - return JObject.Parse(text); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - } - - throw new PiliException(response); - } - - - // Delete stream - public static string DeleteStream(Credentials credentials, string hubName, string streamKey) - { - if (streamKey == null) - { - throw new PiliException(MessageConfig.NullStreamIdExceptionMsg); - } - - var urlStr = $"{(Configuration.Instance.UseHttps ? "https" : "http")}://{Configuration.Instance.API_HOST}/v1/streams/z1.{hubName}.{streamKey}"; - HttpWebResponse response = null; - try - { - var url = new Uri(urlStr); - var request = (HttpWebRequest)WebRequest.Create(url); - var macToken = credentials.SignRequest(url, "DELETE", null, null); - request.Method = "DELETE"; -#if NET45 - request.UserAgent = Utils.UserAgent; - request.Headers.Add("Authorization", macToken); -#else - request.Headers["User-Agent"] = Utils.UserAgent; - request.Headers["Authorization"] = macToken; -#endif - Console.WriteLine(macToken); - response = (HttpWebResponse)request.GetResponseAsync().Result; - } - catch (Exception e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - throw new PiliException(e); - } - - // response never be null - if ((int)response.StatusCode == 204) - { - var text = "No Content"; - return text; - } - - throw new PiliException(response); - } - } -} diff --git a/pili-sdk-csharp/pili/Configuration.cs b/pili-sdk-csharp/pili/Configuration.cs deleted file mode 100644 index e9f79c5..0000000 --- a/pili-sdk-csharp/pili/Configuration.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using pili_sdk_csharp.pili_common; - -namespace pili_sdk_csharp.pili -{ - public class Configuration - { - public static readonly Configuration Instance = new Configuration(); - internal string API_HOST = Config.DefaultAPIHost; - internal string API_VERSION = Config.DefaultAPIVersion; - - internal bool UseHttps = Config.DefaultUseHttps; - - private Configuration() - { - } - - public virtual string APIHost - { - set - { - if (!string.IsNullOrWhiteSpace(value)) - { - throw new ArgumentException("Illegal API Host:" + value); - } - - API_HOST = value; - } - } - - public virtual string APIVersion - { - set - { - if (!string.IsNullOrWhiteSpace(value)) - { - throw new ArgumentException("Illegal API Version:" + value); - } - - API_VERSION = value; - } - } - - public void SetHttpsEnabled(bool enabled) - { - UseHttps = enabled; - } - } -} diff --git a/pili-sdk-csharp/pili/Hub.cs b/pili-sdk-csharp/pili/Hub.cs deleted file mode 100644 index 9ba5d7b..0000000 --- a/pili-sdk-csharp/pili/Hub.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Newtonsoft.Json.Linq; -using pili_sdk_csharp.pili_common; -using pili_sdk_csharp.pili_qiniu; - -namespace pili_sdk_csharp.pili -{ - public class Hub - { - private readonly Credentials _mCredentials; - private readonly string _mHubName; - - public Hub(Credentials credentials, string hubName) - { - _mCredentials = credentials ?? throw new ArgumentException(MessageConfig.NullCredentialsExceptionMsg); - _mHubName = hubName ?? throw new ArgumentException(MessageConfig.NullHubnameExceptionMsg); - } - - public virtual Stream CreateStream(string streamId) - { - return API.CreateStream(_mCredentials, _mHubName, streamId); - } - - public virtual Stream GetStream(string streamId) - { - return new Stream(_mHubName, streamId, _mCredentials); - } - - public virtual List BatchLiveStatus(List streamKeys) - { - return API.BatchLiveStatus(_mCredentials, _mHubName, streamKeys)["items"].ToObject>(); - } - - public virtual StreamList List(string prefix, int limit, string marker) - { - return GetList(false, prefix, limit, marker); - } - - public virtual StreamList ListLive(string prefix, int limit, string marker) - { - return GetList(true, prefix, limit, marker); - } - - private StreamList GetList(bool live, string prefix, int limit, string marker) - { - return new StreamList(API.StreamList(_mCredentials, _mHubName, live, prefix, limit, marker)); - } - } - - public class LiveStatusWithKey - { - public string Key { get; set; } - public Stream.StreamStatus LiveStatus { get; set; } - } - - public class StreamList - { - public StreamList(JObject jsonObj) - { - Keys = new List(); - foreach (var item in jsonObj["items"]) - { - foreach (var kv in item) - { - var key = kv.First().ToString(); - Keys.Add(key); - } - } - - Marker = jsonObj["marker"].ToString(); - } - - public List Keys { get; set; } - public string Marker { get; set; } - } -} diff --git a/pili-sdk-csharp/pili/PiliException.cs b/pili-sdk-csharp/pili/PiliException.cs deleted file mode 100644 index 3c0f7d9..0000000 --- a/pili-sdk-csharp/pili/PiliException.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.IO; -using System.Net; -using Newtonsoft.Json.Linq; -using pili_sdk_csharp.pili_common; - -namespace pili_sdk_csharp.pili -{ - public class PiliException : Exception - { - private readonly string _mDetails; - public readonly HttpWebResponse Response; - - public PiliException(HttpWebResponse response) - { - Response = response; - - try - { - var reader = new StreamReader(response.GetResponseStream()); - var text = reader.ReadToEnd(); - var jsonObj = JObject.Parse(text); - - _mDetails = Utils.JsonEncode(jsonObj); - } - catch (IOException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - _mDetails += e.Message; - } - } - - public PiliException(string msg) - : base(msg) - { - Response = null; - } - - public PiliException(Exception e) : base(null, e) - { - Response = null; - } - - public override string Message => Response == null ? base.Message : Response.ToString(); - - public virtual string Details => _mDetails; - - public virtual int Code() - { - return Response == null ? -1 : (int)Response.StatusCode; - } - } -} diff --git a/pili-sdk-csharp/pili/PiliUrl.cs b/pili-sdk-csharp/pili/PiliUrl.cs deleted file mode 100644 index ecdb321..0000000 --- a/pili-sdk-csharp/pili/PiliUrl.cs +++ /dev/null @@ -1,35 +0,0 @@ -using pili_sdk_csharp.pili_qiniu; - -namespace pili_sdk_csharp.pili -{ - public class PiliUrl - { - public static string RTMPPublishURL(Credentials credentials, string domain, string hubName, string key, long expireAfterSeconds) - { - var expire = DateTimeHelper.CurrentUnixTimeSeconds() + expireAfterSeconds; - var token = credentials.SignStream(hubName, key, expire); - const string defaultScheme = "rtmp"; - return $"{defaultScheme}://{domain}/{hubName}/{key}?e={expire}&token={token}"; - } - - public static string RTMPPlayURL(string domain, string hubName, string key) - { - return $"rtmp://{domain}/{hubName}/{key}"; - } - - public static string HLSPlayURL(string domain, string hubName, string key) - { - return $"http://{domain}/{hubName}/{key}.m3u8"; - } - - public static string HDLPlayURL(string domain, string hubName, string key) - { - return $"http://{domain}/{hubName}/{key}.flv"; - } - - public static string SnapshotPlayURL(string domain, string hubName, string key) - { - return $"http://{domain}/{hubName}/{key}.jpg"; - } - } -} diff --git a/pili-sdk-csharp/pili/Stream.cs b/pili-sdk-csharp/pili/Stream.cs deleted file mode 100644 index 4109f57..0000000 --- a/pili-sdk-csharp/pili/Stream.cs +++ /dev/null @@ -1,261 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using pili_sdk_csharp.pili_common; -using pili_sdk_csharp.pili_qiniu; - -namespace pili_sdk_csharp.pili -{ - public class Stream - { - public const string Origin = "ORIGIN"; - private readonly string _ekey; - private readonly string _hubName; - private readonly string _key; - private readonly Credentials _mCredentials; - - public Stream(string hubName, string key, Credentials credentials) - { - _hubName = hubName; - _key = key; - _ekey = UrlSafeBase64.Base64UrlEncode(Encoding.UTF8.GetBytes(key)); - _mCredentials = credentials; - } - - public StreamInfo Info() - { - var info = API.GetStream(_mCredentials, _hubName, _ekey); - return new StreamInfo(_hubName, _key, info); - } - - public void Disable() - { - SetDisableTill(-1); - } - - public void Enable() - { - SetDisableTill(0); - } - - public void DisableTill(long till) - { - SetDisableTill(till); - } - - public void SetDisableTill(long till) - { - API.SetDisableTill(_mCredentials, _hubName, _ekey, till); - } - - public StreamStatus LiveStatus() - { - return new StreamStatus(API.LiveStatus(_mCredentials, _hubName, _ekey)); - } - - public SaveasResponse Save(long start, long end) - { - var options = new SaveasOptions(start, end); - return new SaveasResponse(API.SaveAs(_mCredentials, _hubName, _ekey, options)); - } - - public SaveasResponse SaveAs(SaveasOptions options) - { - return new SaveasResponse(API.SaveAs(_mCredentials, _hubName, _ekey, options)); - } - - public string Snapshot(SnapshotOptions options) - { - return API.Snapshot(_mCredentials, _hubName, _ekey, options)["fname"].ToString(); - } - - public void UpdateConverts(List profiles) - { - API.UpdateConverts(_mCredentials, _hubName, _ekey, profiles); - } - - public List HistoryActivity(long start, long end) - { - return API.HistoryActivity(_mCredentials, _hubName, _ekey, start, end)["items"].ToObject>(); - } - - public void Delete() - { - API.DeleteStream(_mCredentials, _hubName, _key); - } - - public string RTMPPublishURL(string domain, long expireAfterSeconds) - { - var expire = DateTimeHelper.CurrentUnixTimeSeconds() + expireAfterSeconds; - var token = _mCredentials.SignStream(_hubName, _key, expire); - const string defaultScheme = "rtmp"; - return $"{defaultScheme}://{domain}/{_hubName}/{_key}?e={expire}&token={token}"; - } - - public string RTMPPlayURL(string domain) - { - return $"rtmp://{domain}/{_hubName}/{_key}"; - } - - public string HLSPlayURL(string domain) - { - return $"http://{domain}/{_hubName}/{_key}.m3u8"; - } - - public string HDLPlayURL(string domain) - { - return $"http://{domain}/{_hubName}/{_key}.flv"; - } - - public string SnapshotPlayURL(string domain) - { - return $"http://{domain}/{_hubName}/{_key}.jpg"; - } - - public sealed class StreamInfo - { - public StreamInfo(string hubName, string key, JObject info) - { - HubName = hubName; - Key = key; - Converts = JsonConvert.DeserializeObject>(info["converts"].ToString()); - CreatedAt = Convert.ToInt64(info["createdAt"].ToString()); - ExpireAt = Convert.ToInt64(info["expireAt"].ToString()); - UpdatedAt = Convert.ToInt64(info["updatedAt"].ToString()); - DisabledTill = Convert.ToInt64(info["disabledTill"].ToString()); - WaterMark = (bool)info["watermark"]; - } - - public string HubName { get; } - public string Key { get; } - public List Converts { get; set; } - public long CreatedAt { get; } - public long ExpireAt { get; set; } - public long UpdatedAt { get; } - public long DisabledTill { get; set; } - public bool WaterMark { get; set; } - - public bool Disabled() - { - return DisabledTill == -1 || DisabledTill > DateTimeHelper.CurrentUnixTimeSeconds(); - } - } - - public class FPSStatus - { - public FPSStatus(float audio, float video, float data) - { - Audio = audio; - Video = video; - Data = data; - } - - public virtual float Audio { get; } - - public virtual float Video { get; } - - public virtual float Data { get; } - } - - public class StreamStatus - { - private readonly string _mJsonString; - private readonly string _status; - - public StreamStatus(JObject jsonObj) - { - ClientIP = jsonObj["addr"].ToString(); - _status = jsonObj["status"].ToString(); - var startFrominit = (DateTime)jsonObj["startFrom"]; - StartAt = DateTimeHelper.TransUnixTimeSeconds(startFrominit); - try - { - Bps = (float)jsonObj["bytesPerSecond"]; - var audio = (float)jsonObj["framesPerSecond"]["audio"]; - var video = (float)jsonObj["framesPerSecond"]["video"]; - var data = (float)jsonObj["framesPerSecond"]["data"]; - Fps = new FPSStatus(audio, video, data); - } - catch (NullReferenceException e) - { - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - - _mJsonString = jsonObj.ToString(); - } - - public virtual string ClientIP { get; } - - public virtual long StartAt { get; } - - public virtual float Bps { get; } - - public virtual FPSStatus Fps { get; } - - public virtual string GetStatus() - { - return _status; - } - - public override string ToString() - { - return _mJsonString; - } - } - - public sealed class SaveasOptions - { - public SaveasOptions() - { - } - - public SaveasOptions(long start, long end) - { - Start = start; - End = end; - } - - public string Fname { get; set; } - public long Start { get; set; } - public long End { get; set; } - public string Format { get; set; } - public string Pipeline { get; set; } - - public string Notify { get; set; } - - // 对应ts文件的过期时间. - // -1 表示不修改ts文件的expire属性. - // 0 表示修改ts文件生命周期为永久保存. - // >0 表示修改ts文件的的生命周期为ExpireDays. - public long ExpireDays { get; set; } - } - - public sealed class SaveasResponse - { - public SaveasResponse(JObject jsonObj) - { - Fname = jsonObj["fname"].ToString(); - PersistentId = jsonObj["persistentID"].ToString(); - } - - public string Fname { get; set; } - public string PersistentId { get; set; } - } - - public class SnapshotOptions - { - public virtual string Fname { get; set; } - public virtual long Time { get; set; } - public virtual string Format { get; set; } - } - - public class Record - { - public virtual long Start { get; set; } - public virtual long End { get; set; } - } - } -} From 9408a1394df47716e16cae35093836a9e06f8668 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Thu, 28 Dec 2017 16:52:11 +0800 Subject: [PATCH 17/24] Fix base64 padding. --- pili-sdk-csharp/Hub.cs | 2 +- pili-sdk-csharp/Internal/Base64UrlEncoder.cs | 125 +++++++++++++++++++ pili-sdk-csharp/Mac.cs | 1 - pili-sdk-csharp/Stream.cs | 2 +- pili-sdk-csharp/pili-sdk-csharp.csproj | 1 - 5 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 pili-sdk-csharp/Internal/Base64UrlEncoder.cs diff --git a/pili-sdk-csharp/Hub.cs b/pili-sdk-csharp/Hub.cs index 23efe3d..d21ce3f 100644 --- a/pili-sdk-csharp/Hub.cs +++ b/pili-sdk-csharp/Hub.cs @@ -1,7 +1,7 @@ using System; -using Microsoft.IdentityModel.Tokens; using Newtonsoft.Json; using Qiniu.Pili.Hubs; +using Qiniu.Pili.Internal; using Qiniu.Pili.Streams; namespace Qiniu.Pili diff --git a/pili-sdk-csharp/Internal/Base64UrlEncoder.cs b/pili-sdk-csharp/Internal/Base64UrlEncoder.cs new file mode 100644 index 0000000..7edc356 --- /dev/null +++ b/pili-sdk-csharp/Internal/Base64UrlEncoder.cs @@ -0,0 +1,125 @@ +using System; +using System.Text; + +namespace Qiniu.Pili.Internal +{ + /// Encodes and Decodes strings as Base64Url encoding. + internal static class Base64UrlEncoder + { + private const char Base64PadCharacter = '='; + private const string DoubleBase64PadCharacter = "=="; + private const char Base64Character62 = '+'; + private const char Base64Character63 = '/'; + private const char Base64UrlCharacter62 = '-'; + private const char Base64UrlCharacter63 = '_'; + + /// + /// The following functions perform base64url encoding which differs from regular base64 encoding as follows + /// * padding is skipped so the pad character '=' doesn't have to be percent encoded + /// * the 62nd and 63rd regular base64 encoding characters ('+' and '/') are replace with ('-' and '_') + /// The changes make the encoding alphabet file and URL safe. + /// + /// string to encode. + /// Base64Url encoding of the UTF8 bytes. + public static string Encode(string arg) + { + if (arg == null) + { + throw new ArgumentNullException(nameof(arg)); + } + + return Encode(Encoding.UTF8.GetBytes(arg)); + } + + /// + /// Converts a subset of an array of 8-bit unsigned integers to its equivalent string representation that is encoded with base-64-url digits. Parameters specify + /// the subset as an offset in the input array, and the number of elements in the array to convert. + /// + /// An array of 8-bit unsigned integers. + /// An offset in inArray. + /// The number of elements of inArray to convert. + /// Add padding characters at the end of the encoded string if needed. + /// The string representation in base 64 url encodingof length elements of inArray, starting at position offset. + /// 'inArray' is null. + /// offset or length is negative OR offset plus length is greater than the length of inArray. + public static string Encode(byte[] inArray, int offset, int length, bool padding = true) + { + if (inArray == null) + { + throw new ArgumentNullException(nameof(inArray)); + } + + var encoded = Convert.ToBase64String(inArray, offset, length) + .Replace(Base64Character62, Base64UrlCharacter62) + .Replace(Base64Character63, Base64UrlCharacter63); + + if (!padding) + { + encoded = encoded.TrimEnd('='); + } + + return encoded; + } + + /// + /// Converts a subset of an array of 8-bit unsigned integers to its equivalent string representation that is encoded with base-64-url digits. Parameters specify + /// the subset as an offset in the input array, and the number of elements in the array to convert. + /// + /// An array of 8-bit unsigned integers. + /// + /// The string representation in base 64 url encodingof length elements of inArray, starting at position offset. + /// 'inArray' is null. + /// offset or length is negative OR offset plus length is greater than the length of inArray. + public static string Encode(byte[] inArray, bool padding = true) + { + return Encode(inArray, 0, inArray.Length, padding); + } + + /// + /// Converts the specified string, which encodes binary data as base-64-url digits, to an equivalent 8-bit unsigned integer array. + /// + /// base64Url encoded string. + /// UTF8 bytes. + public static byte[] DecodeBytes(string str) + { + if (str == null) + { + throw new ArgumentNullException(nameof(str)); + } + + str = str.Replace(Base64UrlCharacter62, Base64Character62); + str = str.Replace(Base64UrlCharacter63, Base64Character63); + str = Pad(str); + + return Convert.FromBase64String(str); + } + + /// Decodes the string from Base64UrlEncoded to UTF8. + /// string to decode. + /// UTF8 string. + public static string Decode(string arg) + { + return Encoding.UTF8.GetString(DecodeBytes(arg)); + } + + private static string Pad(string str) + { + switch (str.Length % 4) + { + case 0: + return str; + + case 2: + str += DoubleBase64PadCharacter; + goto case 0; + + case 3: + str += Base64PadCharacter; + goto case 0; + + default: + throw new FormatException($"IDX14700: Unable to decode: '{str}' as Base64url encoded string."); + } + } + } +} diff --git a/pili-sdk-csharp/Mac.cs b/pili-sdk-csharp/Mac.cs index d85b7b1..288bd60 100644 --- a/pili-sdk-csharp/Mac.cs +++ b/pili-sdk-csharp/Mac.cs @@ -2,7 +2,6 @@ using System.Net.Http; using System.Security.Cryptography; using System.Text; -using Microsoft.IdentityModel.Tokens; using Qiniu.Pili.Internal; namespace Qiniu.Pili diff --git a/pili-sdk-csharp/Stream.cs b/pili-sdk-csharp/Stream.cs index 9ee1810..cfaf185 100644 --- a/pili-sdk-csharp/Stream.cs +++ b/pili-sdk-csharp/Stream.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -using Microsoft.IdentityModel.Tokens; using Newtonsoft.Json; +using Qiniu.Pili.Internal; using Qiniu.Pili.Streams; namespace Qiniu.Pili diff --git a/pili-sdk-csharp/pili-sdk-csharp.csproj b/pili-sdk-csharp/pili-sdk-csharp.csproj index 9803b0a..d197d94 100644 --- a/pili-sdk-csharp/pili-sdk-csharp.csproj +++ b/pili-sdk-csharp/pili-sdk-csharp.csproj @@ -23,7 +23,6 @@ It updated api version to v2 and added support for .NET Standard. - From 8d33cd05cc791d91591afa55cfcbc5c54cbc13f1 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Thu, 28 Dec 2017 16:53:33 +0800 Subject: [PATCH 18/24] Fix signing (prevent append port if default port). --- pili-sdk-csharp/Mac.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pili-sdk-csharp/Mac.cs b/pili-sdk-csharp/Mac.cs index 288bd60..0cc4c65 100644 --- a/pili-sdk-csharp/Mac.cs +++ b/pili-sdk-csharp/Mac.cs @@ -33,7 +33,7 @@ public string SignRequest(Uri uri, HttpMethod method, byte[] body, string conten sb.Append($"{method} {uri.PathAndQuery}"); sb.Append($"\nHost: {uri.Host}"); - if (uri.Port > 0) + if (!uri.IsDefaultPort) { sb.Append($":{uri.Port:D}"); } From ca834d653d49d82307cb213757e30aab681b1ba2 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Thu, 28 Dec 2017 16:54:03 +0800 Subject: [PATCH 19/24] Fix 'Authorization' Header. --- pili-sdk-csharp/RPC.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pili-sdk-csharp/RPC.cs b/pili-sdk-csharp/RPC.cs index e9a0626..b33fb58 100644 --- a/pili-sdk-csharp/RPC.cs +++ b/pili-sdk-csharp/RPC.cs @@ -30,7 +30,9 @@ public RPC(Mac mac) var content = new ByteArrayContent(body); content.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType); - content.Headers.Add("Authorization", $"Qiniu {macToken}"); + + var request = new HttpRequestMessage(HttpMethod.Post, uri) { Content = content }; + request.Headers.Add("Authorization", $"Qiniu {macToken}"); var response = await HttpClient.PostAsync(uri, content, cancellationToken); From afafafcfcb436c3ef80ad0e35640566dbc2be5f7 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Thu, 28 Dec 2017 16:55:15 +0800 Subject: [PATCH 20/24] Use properties instead of fields and cleanup code. --- pili-sdk-csharp/Meetings/ActiveUser.cs | 4 +-- pili-sdk-csharp/Meetings/AllActiveUsers.cs | 2 +- pili-sdk-csharp/Meetings/CreateArgs.cs | 18 ++++++------- pili-sdk-csharp/Meetings/Room.cs | 8 +++--- pili-sdk-csharp/Meetings/RoomAccess.cs | 30 +++++++++++----------- pili-sdk-csharp/Meetings/RoomName.cs | 2 +- pili-sdk-csharp/PiliException.cs | 2 +- pili-sdk-csharp/Streams/ConvertsOptions.cs | 4 +-- pili-sdk-csharp/Streams/HistoryRet.cs | 2 +- pili-sdk-csharp/Streams/SaveRet.cs | 2 +- pili-sdk-csharp/Streams/SaveRetFull.cs | 4 +-- pili-sdk-csharp/Streams/SnapshotRet.cs | 2 +- 12 files changed, 40 insertions(+), 40 deletions(-) diff --git a/pili-sdk-csharp/Meetings/ActiveUser.cs b/pili-sdk-csharp/Meetings/ActiveUser.cs index bfb80bf..1d772c7 100644 --- a/pili-sdk-csharp/Meetings/ActiveUser.cs +++ b/pili-sdk-csharp/Meetings/ActiveUser.cs @@ -5,9 +5,9 @@ namespace Qiniu.Pili.Meetings public class ActiveUser { [JsonProperty(PropertyName = "user_id")] - public string UserId; + public string UserId { get; set; } [JsonProperty(PropertyName = "user_name")] - public string UserName; + public string UserName { get; set; } } } diff --git a/pili-sdk-csharp/Meetings/AllActiveUsers.cs b/pili-sdk-csharp/Meetings/AllActiveUsers.cs index c5931a7..21a6ed6 100644 --- a/pili-sdk-csharp/Meetings/AllActiveUsers.cs +++ b/pili-sdk-csharp/Meetings/AllActiveUsers.cs @@ -5,6 +5,6 @@ namespace Qiniu.Pili.Meetings public class AllActiveUsers { [JsonProperty(PropertyName = "active_users")] - public ActiveUser[] Users; + public ActiveUser[] Users { get; set; } } } diff --git a/pili-sdk-csharp/Meetings/CreateArgs.cs b/pili-sdk-csharp/Meetings/CreateArgs.cs index 834ee0b..ac63757 100644 --- a/pili-sdk-csharp/Meetings/CreateArgs.cs +++ b/pili-sdk-csharp/Meetings/CreateArgs.cs @@ -4,15 +4,6 @@ namespace Qiniu.Pili.Meetings { internal class CreateArgs { - [JsonProperty(PropertyName = "owner_id")] - internal string OwnerId; - - [JsonProperty(PropertyName = "room_name")] - internal string Room; - - [JsonProperty(PropertyName = "user_max")] - internal int UserMax; - public CreateArgs(string ownerId, string room, int userMax) { OwnerId = ownerId; @@ -30,5 +21,14 @@ public CreateArgs(string ownerId) { OwnerId = ownerId; } + + [JsonProperty(PropertyName = "owner_id")] + internal string OwnerId { get; set; } + + [JsonProperty(PropertyName = "room_name")] + internal string Room { get; set; } + + [JsonProperty(PropertyName = "user_max")] + internal int UserMax { get; set; } } } diff --git a/pili-sdk-csharp/Meetings/Room.cs b/pili-sdk-csharp/Meetings/Room.cs index cebef22..ea09e64 100644 --- a/pili-sdk-csharp/Meetings/Room.cs +++ b/pili-sdk-csharp/Meetings/Room.cs @@ -5,15 +5,15 @@ namespace Qiniu.Pili.Meetings public class Room { [JsonProperty(PropertyName = "room_name")] - public string Name; + public string Name { get; set; } [JsonProperty(PropertyName = "owner_id")] - public string OwnerId; + public string OwnerId { get; set; } [JsonProperty(PropertyName = "room_status")] - public Status Status; + public Status Status { get; set; } [JsonProperty(PropertyName = "user_max")] - public int UserMaxe; + public int UserMaxe { get; set; } } } diff --git a/pili-sdk-csharp/Meetings/RoomAccess.cs b/pili-sdk-csharp/Meetings/RoomAccess.cs index 009a0bc..0b9c68b 100644 --- a/pili-sdk-csharp/Meetings/RoomAccess.cs +++ b/pili-sdk-csharp/Meetings/RoomAccess.cs @@ -5,21 +5,6 @@ namespace Qiniu.Pili.Meetings { internal class RoomAccess { - [JsonProperty(PropertyName = "expire_at")] - internal long ExpireAt; - - [JsonProperty(PropertyName = "perm")] - internal string Perm; - - [JsonProperty(PropertyName = "room_name")] - internal string RoomName; - - [JsonProperty(PropertyName = "user_id")] - internal string UserId; - - [JsonProperty(PropertyName = "version")] - internal string Version; - internal RoomAccess(string roomName, string userId, string perm, DateTime expireAt) { RoomName = roomName; @@ -37,5 +22,20 @@ internal RoomAccess(string roomName, string userId, string perm, DateTime expire ExpireAt = expireAt.Ticks / 1000; Version = version; } + + [JsonProperty(PropertyName = "expire_at")] + internal long ExpireAt { get; set; } + + [JsonProperty(PropertyName = "perm")] + internal string Perm { get; set; } + + [JsonProperty(PropertyName = "room_name")] + internal string RoomName { get; set; } + + [JsonProperty(PropertyName = "user_id")] + internal string UserId { get; set; } + + [JsonProperty(PropertyName = "version")] + internal string Version { get; set; } } } diff --git a/pili-sdk-csharp/Meetings/RoomName.cs b/pili-sdk-csharp/Meetings/RoomName.cs index 674b69d..9ae4ba9 100644 --- a/pili-sdk-csharp/Meetings/RoomName.cs +++ b/pili-sdk-csharp/Meetings/RoomName.cs @@ -5,6 +5,6 @@ namespace Qiniu.Pili.Meetings internal class RoomName { [JsonProperty(PropertyName = "room_name")] - internal string Name; + internal string Name { get; set; } } } diff --git a/pili-sdk-csharp/PiliException.cs b/pili-sdk-csharp/PiliException.cs index 6c3d354..404f022 100644 --- a/pili-sdk-csharp/PiliException.cs +++ b/pili-sdk-csharp/PiliException.cs @@ -25,7 +25,7 @@ public PiliException(Exception e) : base(null, e) public HttpResponseMessage Response { get; } public virtual int Code => Response == null ? -1 : (int)Response.StatusCode; - + public virtual bool Duplicate => Code == 614; public virtual bool NotFound => Code == 612; diff --git a/pili-sdk-csharp/Streams/ConvertsOptions.cs b/pili-sdk-csharp/Streams/ConvertsOptions.cs index fc59b4e..c73c30b 100644 --- a/pili-sdk-csharp/Streams/ConvertsOptions.cs +++ b/pili-sdk-csharp/Streams/ConvertsOptions.cs @@ -2,11 +2,11 @@ { internal class ConvertsOptions { - internal string[] Converts; - public ConvertsOptions(string[] converts) { Converts = converts; } + + internal string[] Converts { get; set; } } } diff --git a/pili-sdk-csharp/Streams/HistoryRet.cs b/pili-sdk-csharp/Streams/HistoryRet.cs index e45c86f..49afaf9 100644 --- a/pili-sdk-csharp/Streams/HistoryRet.cs +++ b/pili-sdk-csharp/Streams/HistoryRet.cs @@ -2,6 +2,6 @@ { internal class HistoryRet { - internal Record[] Items; + internal Record[] Items { get; set; } } } diff --git a/pili-sdk-csharp/Streams/SaveRet.cs b/pili-sdk-csharp/Streams/SaveRet.cs index f31bcf7..135da6c 100644 --- a/pili-sdk-csharp/Streams/SaveRet.cs +++ b/pili-sdk-csharp/Streams/SaveRet.cs @@ -2,6 +2,6 @@ { internal class SaveRet { - internal string Fname; + internal string Fname { get; set; } } } diff --git a/pili-sdk-csharp/Streams/SaveRetFull.cs b/pili-sdk-csharp/Streams/SaveRetFull.cs index e959352..8f3717c 100644 --- a/pili-sdk-csharp/Streams/SaveRetFull.cs +++ b/pili-sdk-csharp/Streams/SaveRetFull.cs @@ -2,7 +2,7 @@ { internal class SaveRetFull { - internal string Fname; - internal string PersistentId; + internal string Fname { get; set; } + internal string PersistentId { get; set; } } } diff --git a/pili-sdk-csharp/Streams/SnapshotRet.cs b/pili-sdk-csharp/Streams/SnapshotRet.cs index f08ac42..65f07f6 100644 --- a/pili-sdk-csharp/Streams/SnapshotRet.cs +++ b/pili-sdk-csharp/Streams/SnapshotRet.cs @@ -2,6 +2,6 @@ { internal class SnapshotRet { - internal string Fname; + internal string Fname { get; set; } } } From 2a4d01adac8b4f9f436eb475aabdd95d3b524e5a Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Fri, 29 Dec 2017 15:51:04 +0800 Subject: [PATCH 21/24] Change .Result to .GetAwaiter().GetResult() and add catch PiliException. --- pili-sdk-csharp/Hub.cs | 6 +++--- pili-sdk-csharp/Meeting.cs | 4 ++-- pili-sdk-csharp/RPC.cs | 14 +++++++++++++- pili-sdk-csharp/Stream.cs | 20 +++++++++++--------- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/pili-sdk-csharp/Hub.cs b/pili-sdk-csharp/Hub.cs index d21ce3f..19401f2 100644 --- a/pili-sdk-csharp/Hub.cs +++ b/pili-sdk-csharp/Hub.cs @@ -56,7 +56,7 @@ public Stream Get(string streamKey) var ekey = Base64UrlEncoder.Encode(streamKey); var path = $"{_baseUrl}/streams/{ekey}"; - var resp = _cli.CallWithGetAsync(path).Result; + var resp = _cli.CallWithGetAsync(path).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); ret.SetMeta(_hub, streamKey); return new Stream(ret, _cli); @@ -76,7 +76,7 @@ private ListRet List(bool live, string prefix, int limit, string marker) var path = $"{_baseUrl}/streams?liveonly={live}&prefix={prefix}&limit={limit:D}&marker={marker}"; try { - var resp = _cli.CallWithGetAsync(path).Result; + var resp = _cli.CallWithGetAsync(path).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); @@ -127,7 +127,7 @@ public BatchLiveStatus[] BatchGetLiveStatus(string[] streamTitles) var json = JsonConvert.SerializeObject(new BatchLiveStatusOptions(streamTitles)); try { - var resp = _cli.CallWithJsonAsync(path, json).Result; + var resp = _cli.CallWithJsonAsync(path, json).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); return ret.Items; diff --git a/pili-sdk-csharp/Meeting.cs b/pili-sdk-csharp/Meeting.cs index cddba69..77bf7da 100644 --- a/pili-sdk-csharp/Meeting.cs +++ b/pili-sdk-csharp/Meeting.cs @@ -40,7 +40,7 @@ private string CreateRoom(CreateArgs args) try { - var resp = _cli.CallWithJsonAsync(path, json).Result; + var resp = _cli.CallWithJsonAsync(path, json).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); return ret.Name; } @@ -59,7 +59,7 @@ public virtual Room GetRoom(string roomName) var path = _baseUrl + "/rooms/" + roomName; try { - var resp = _cli.CallWithGetAsync(path).Result; + var resp = _cli.CallWithGetAsync(path).GetAwaiter().GetResult(); var room = JsonConvert.DeserializeObject(resp); return room; } diff --git a/pili-sdk-csharp/RPC.cs b/pili-sdk-csharp/RPC.cs index b33fb58..a5ab7a5 100644 --- a/pili-sdk-csharp/RPC.cs +++ b/pili-sdk-csharp/RPC.cs @@ -34,13 +34,17 @@ public RPC(Mac mac) var request = new HttpRequestMessage(HttpMethod.Post, uri) { Content = content }; request.Headers.Add("Authorization", $"Qiniu {macToken}"); - var response = await HttpClient.PostAsync(uri, content, cancellationToken); + var response = await HttpClient.SendAsync(request, cancellationToken); try { response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } + catch (HttpRequestException) + { + throw new PiliException(response); + } catch (Exception e) { throw new PiliException(e); @@ -62,6 +66,10 @@ public RPC(Mac mac) response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } + catch (HttpRequestException) + { + throw new PiliException(response); + } catch (Exception e) { throw new PiliException(e); @@ -83,6 +91,10 @@ public RPC(Mac mac) response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } + catch (HttpRequestException) + { + throw new PiliException(response); + } catch (Exception e) { throw new PiliException(e); diff --git a/pili-sdk-csharp/Stream.cs b/pili-sdk-csharp/Stream.cs index cfaf185..a6efd07 100644 --- a/pili-sdk-csharp/Stream.cs +++ b/pili-sdk-csharp/Stream.cs @@ -58,7 +58,7 @@ public Stream Info() { try { - var resp = _cli.CallWithGetAsync(_baseUrl).Result; + var resp = _cli.CallWithGetAsync(_baseUrl).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); ret.SetMeta(_info.Hub, _info.Key); _info = ret; @@ -110,7 +110,7 @@ public LiveStatus LiveStatus() var path = _baseUrl + "/live"; try { - var resp = _cli.CallWithGetAsync(path).Result; + var resp = _cli.CallWithGetAsync(path).GetAwaiter().GetResult(); var status = JsonConvert.DeserializeObject(resp); return status; } @@ -145,7 +145,7 @@ public string Save(SaveOptions opts) try { - var resp = _cli.CallWithJsonAsync(path, json).Result; + var resp = _cli.CallWithJsonAsync(path, json).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); return ret.Fname; } @@ -167,11 +167,13 @@ public IDictionary SaveReturn(SaveOptions opts) try { - var resp = _cli.CallWithJsonAsync(path, json).Result; + var resp = _cli.CallWithJsonAsync(path, json).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); - IDictionary result = new Dictionary(); - result["persistentID"] = ret.PersistentId; - result["fname"] = ret.Fname; + IDictionary result = new Dictionary + { + ["persistentID"] = ret.PersistentId, + ["fname"] = ret.Fname + }; return result; } catch (PiliException) @@ -194,7 +196,7 @@ public string Snapshot(SnapshotOptions opts) var json = JsonConvert.SerializeObject(opts); try { - var resp = _cli.CallWithJsonAsync(path, json).Result; + var resp = _cli.CallWithJsonAsync(path, json).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); return ret.Fname; } @@ -257,7 +259,7 @@ string GenerateUrl() try { - var resp = _cli.CallWithGetAsync(GenerateUrl()).Result; + var resp = _cli.CallWithGetAsync(GenerateUrl()).GetAwaiter().GetResult(); var ret = JsonConvert.DeserializeObject(resp); return ret.Items; } From 5c57a8fce3c6497ca3b8a89e85c212609428527c Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Fri, 29 Dec 2017 16:03:23 +0800 Subject: [PATCH 22/24] Add JsonProperty and change the internal property of the internal class to public. --- pili-sdk-csharp/Streams/ConvertsOptions.cs | 7 +++++-- pili-sdk-csharp/Streams/HistoryRet.cs | 7 +++++-- pili-sdk-csharp/Streams/SaveRet.cs | 2 +- pili-sdk-csharp/Streams/SaveRetFull.cs | 4 ++-- pili-sdk-csharp/Streams/SnapshotRet.cs | 2 +- pili-sdk-csharp/Streams/StreamInfo.cs | 16 +++++++++++----- 6 files changed, 25 insertions(+), 13 deletions(-) diff --git a/pili-sdk-csharp/Streams/ConvertsOptions.cs b/pili-sdk-csharp/Streams/ConvertsOptions.cs index c73c30b..35a92ba 100644 --- a/pili-sdk-csharp/Streams/ConvertsOptions.cs +++ b/pili-sdk-csharp/Streams/ConvertsOptions.cs @@ -1,4 +1,6 @@ -namespace Qiniu.Pili.Streams +using Newtonsoft.Json; + +namespace Qiniu.Pili.Streams { internal class ConvertsOptions { @@ -7,6 +9,7 @@ public ConvertsOptions(string[] converts) Converts = converts; } - internal string[] Converts { get; set; } + [JsonProperty] + private string[] Converts { get; set; } } } diff --git a/pili-sdk-csharp/Streams/HistoryRet.cs b/pili-sdk-csharp/Streams/HistoryRet.cs index 49afaf9..ab8ca29 100644 --- a/pili-sdk-csharp/Streams/HistoryRet.cs +++ b/pili-sdk-csharp/Streams/HistoryRet.cs @@ -1,7 +1,10 @@ -namespace Qiniu.Pili.Streams +using Newtonsoft.Json; + +namespace Qiniu.Pili.Streams { internal class HistoryRet { - internal Record[] Items { get; set; } + [JsonProperty] + public Record[] Items { get; set; } } } diff --git a/pili-sdk-csharp/Streams/SaveRet.cs b/pili-sdk-csharp/Streams/SaveRet.cs index 135da6c..d92c92d 100644 --- a/pili-sdk-csharp/Streams/SaveRet.cs +++ b/pili-sdk-csharp/Streams/SaveRet.cs @@ -2,6 +2,6 @@ { internal class SaveRet { - internal string Fname { get; set; } + public string Fname { get; set; } } } diff --git a/pili-sdk-csharp/Streams/SaveRetFull.cs b/pili-sdk-csharp/Streams/SaveRetFull.cs index 8f3717c..73a0c23 100644 --- a/pili-sdk-csharp/Streams/SaveRetFull.cs +++ b/pili-sdk-csharp/Streams/SaveRetFull.cs @@ -2,7 +2,7 @@ { internal class SaveRetFull { - internal string Fname { get; set; } - internal string PersistentId { get; set; } + public string Fname { get; set; } + public string PersistentId { get; set; } } } diff --git a/pili-sdk-csharp/Streams/SnapshotRet.cs b/pili-sdk-csharp/Streams/SnapshotRet.cs index 65f07f6..e35c630 100644 --- a/pili-sdk-csharp/Streams/SnapshotRet.cs +++ b/pili-sdk-csharp/Streams/SnapshotRet.cs @@ -2,6 +2,6 @@ { internal class SnapshotRet { - internal string Fname { get; set; } + public string Fname { get; set; } } } diff --git a/pili-sdk-csharp/Streams/StreamInfo.cs b/pili-sdk-csharp/Streams/StreamInfo.cs index 62dcbfb..4084a05 100644 --- a/pili-sdk-csharp/Streams/StreamInfo.cs +++ b/pili-sdk-csharp/Streams/StreamInfo.cs @@ -1,4 +1,6 @@ -namespace Qiniu.Pili.Streams +using Newtonsoft.Json; + +namespace Qiniu.Pili.Streams { public sealed class StreamInfo { @@ -11,13 +13,17 @@ internal StreamInfo(string hub, string key) SetMeta(hub, key); } - public string Hub { get; internal set; } + [JsonProperty] + public string Hub { get; private set; } - public long DisabledTill { get; internal set; } + [JsonProperty] + public long DisabledTill { get; private set; } - public string Key { get; internal set; } + [JsonProperty] + public string Key { get; private set; } - public string[] Converts { get; internal set; } + [JsonProperty] + public string[] Converts { get; private set; } internal void SetMeta(string hub, string key) { From 1204bd36b43966a33d80aebefe33912891650c49 Mon Sep 17 00:00:00 2001 From: Sjhzj <543956585@qq.com> Date: Fri, 29 Dec 2017 16:10:15 +0800 Subject: [PATCH 23/24] Add test and example. --- pili-sdk-csharp-example/Program.cs | 372 +++++++++++++-------------- pili-sdk-csharp-tests/APITest.cs | 333 ------------------------ pili-sdk-csharp-tests/ClientTest.cs | 248 ++++++++++++++++++ pili-sdk-csharp-tests/MeetingTest.cs | 89 +++++++ 4 files changed, 513 insertions(+), 529 deletions(-) delete mode 100644 pili-sdk-csharp-tests/APITest.cs create mode 100644 pili-sdk-csharp-tests/ClientTest.cs create mode 100644 pili-sdk-csharp-tests/MeetingTest.cs diff --git a/pili-sdk-csharp-example/Program.cs b/pili-sdk-csharp-example/Program.cs index eadc229..2c7c936 100644 --- a/pili-sdk-csharp-example/Program.cs +++ b/pili-sdk-csharp-example/Program.cs @@ -1,7 +1,7 @@ using System; -using System.Collections.Generic; -using pili_sdk_csharp.pili; -using pili_sdk_csharp.pili_qiniu; +using Qiniu.Pili; +using Qiniu.Pili.Meetings; +using Qiniu.Pili.Streams; namespace pili_sdk_csharp_example { @@ -19,253 +19,178 @@ public class Example private static void Main(string[] args) { - var credentials = new Credentials(AccessKey, SecretKey); - var hub = new Hub(credentials, HubName); - - const string keyA = "SomeTestA"; - const string keyB = "SomeTestB"; - + var cli = new Client(AccessKey, SecretKey); + var hub = cli.NewHub(HubName); + const string prefix = "SomeTest"; + const string keyA = prefix + "A"; + const string keyB = prefix + "B"; + const string roomName = "test12Room"; + var meeting = cli.NewMeeting(); Console.WriteLine("获得不存在的流A:"); - GetStream(hub, keyA); - - Console.WriteLine("创建流:"); - CreateStream(hub, keyA); - - Console.WriteLine("获得流:"); - var stream = GetStream(hub, keyA); - - Console.WriteLine("创建重复流:"); - CreateStream(hub, keyA); - - Console.WriteLine("创建另一路流:"); - CreateStream(hub, keyB); - - Console.WriteLine("列出流:"); - ListStreams(hub, ""); - - Console.WriteLine("列出正在直播的流:"); - ListLiveStreams(hub, ""); - - Console.WriteLine("批量查询直播信息:"); - BatchQueryLiveStreams(hub, new List { keyA, keyB }); - - Console.WriteLine("更改流的实时转码规格:"); - UpdateStreamConverts(stream); - - Console.WriteLine("禁用流:"); - DisableStream(stream); - - Console.WriteLine("启用流:"); - EnableStream(stream); - - Console.WriteLine("查询直播状态:"); - GetLiveStatus(stream); - - Console.WriteLine("查询推流历史:"); - HistoryActivity(stream); - - Console.WriteLine("保存直播数据:"); - SavePlayback(stream); - - Console.WriteLine("保存直播截图:"); - SaveSnapshot(stream); - - Console.WriteLine("RTMP 推流地址:"); - var url = PiliUrl.RTMPPublishURL(credentials, $"pili-publish.{Domain}", HubName, keyA, 3600); - Console.WriteLine(url); - url = stream.RTMPPublishURL($"pili-publish.{Domain}", 3600); - Console.WriteLine(url); - - Console.WriteLine("RTMP 直播放址:"); - url = PiliUrl.RTMPPlayURL($"pili-live-rtmp.{Domain}", HubName, keyA); - Console.WriteLine(url); - url = stream.RTMPPlayURL($"pili-live-rtmp.{Domain}"); - Console.WriteLine(url); - - Console.WriteLine("HLS 直播地址:"); - url = PiliUrl.HLSPlayURL($"pili-live-hls.{Domain}", HubName, keyA); - Console.WriteLine(url); - url = stream.HLSPlayURL($"pili-live-hls.{Domain}"); - Console.WriteLine(url); - - Console.WriteLine("HDL 直播地址:"); - url = PiliUrl.HDLPlayURL($"pili-live-hdl.{Domain}", HubName, keyA); - Console.WriteLine(url); - url = stream.HDLPlayURL($"pili-live-hdl.{Domain}"); - Console.WriteLine(url); - - Console.WriteLine("截图直播地址:"); - url = PiliUrl.SnapshotPlayURL($"pili-live-snapshot.{Domain}", HubName, keyA); - Console.WriteLine(url); - url = stream.SnapshotPlayURL($"pili-live-snapshot.{Domain}"); - Console.WriteLine(url); - Console.ReadKey(); - } - - private static Stream CreateStream(Hub hub, string streamKey) - { try { - return hub.CreateStream(streamKey); + hub.Get(keyA); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + if (e.NotFound) + { + Console.WriteLine($"Stream {keyA} doesn't exist"); + } + else + { + Console.WriteLine($"{keyA} should not exist"); + Console.WriteLine(e.StackTrace); + throw; + } } - return null; - } + Console.WriteLine($"keyA={keyA} 不存在"); - private static Stream GetStream(Hub hub, string streamId) - { + Console.WriteLine("创建流:"); try { - return hub.GetStream(streamId); + hub.Create(keyA); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + Console.WriteLine(e.StackTrace); + throw; } - return null; - } + Console.WriteLine($"KeyA={keyA} 创建"); - private Stream.StreamInfo StreamInfo(Stream stream) - { + Stream streamA; + Console.WriteLine("获得流:"); try { - return stream.Info(); + streamA = hub.Get(keyA); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + Console.WriteLine(e.StackTrace); + throw; } - return null; - } + Console.WriteLine($"keyA={keyA} 查询: {streamA}"); - private static void ListStreams(Hub hub, string prefix) - { + Console.WriteLine("创建重复流:"); try { - var streamList = hub.List(prefix, 10, ""); - Console.WriteLine("marker:" + streamList.Marker); - var list = streamList.Keys; - foreach (var s in list) - { - Console.WriteLine(s); - } + hub.Create(keyA); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + if (!e.Duplicate) + { + Console.WriteLine(e.StackTrace); + throw; + } } - } - private static void ListLiveStreams(Hub hub, string prefix) - { + Console.WriteLine($"keyA=%{keyA} 已存在"); + + Stream streamB; + Console.WriteLine("创建另一路流:"); try { - var streamList = hub.ListLive(prefix, 10, ""); - Console.WriteLine("marker:" + streamList.Marker); - var list = streamList.Keys; - foreach (var s in list) - { - Console.WriteLine(s); - } + streamB = hub.Create(keyB); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + Console.WriteLine(e.StackTrace); + throw; } - } - private static void BatchQueryLiveStreams(Hub hub, List streamkeys) - { + Console.WriteLine($"keyB={keyB} 创建: {streamB}"); + + Console.WriteLine("列出流:"); try { - var liveStatus = hub.BatchLiveStatus(streamkeys); + var listRet = hub.List(prefix, 0, ""); + var list = listRet.Keys; + foreach (var s in list) + { + Console.WriteLine(s); + } + + Console.WriteLine($"marker: {listRet.Omarker}"); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + Console.WriteLine(e.StackTrace); + throw; } - } - private static void UpdateStreamConverts(Stream stream) - { + + Console.WriteLine("列出正在直播的流:"); try { - stream.UpdateConverts(new List { "480p", "720p" }); + var listRet = hub.ListLive(prefix, 0, ""); + var list = listRet.Keys; + foreach (var s in list) + { + Console.WriteLine(s); + } + + Console.WriteLine($"marker: {listRet.Omarker}"); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + Console.WriteLine(e.StackTrace); + throw; } - } - private static void DisableStream(Stream stream) - { + Console.WriteLine("禁用流:"); try { - stream.Disable(); + streamA.Enable(); + streamA = hub.Get(keyA); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + Console.WriteLine(e.StackTrace); + throw; } - } - private static void EnableStream(Stream stream) - { + Console.WriteLine($"keyA={keyA} 启用: {streamA}"); + + Console.WriteLine("启用流:"); try { - stream.Enable(); + streamA.Enable(); + streamA = hub.Get(keyA); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + Console.WriteLine(e.StackTrace); + throw; } - } - private static void GetLiveStatus(Stream stream) - { + Console.WriteLine($"keyA={keyA} 启用: {streamA}"); + + Console.WriteLine("查询直播状态:"); try { - var status = stream.LiveStatus(); - Console.WriteLine(status.ToString()); + var status = streamA.LiveStatus(); + Console.WriteLine($"keyA={keyA} 直播状态:status={status}"); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + if (!e.NotInLive) + { + Console.WriteLine(e.StackTrace); + throw; + } + + Console.WriteLine($"keyA={keyA} 不在直播", keyA); } - } - private static void HistoryActivity(Stream stream) - { + Console.WriteLine("更改流的实时转码规格:"); try + { - var records = stream.HistoryActivity(0, 0); + streamA.UpdateConverts(new[] { "480p", "720p" }); } catch (PiliException e) { @@ -273,49 +198,104 @@ private static void HistoryActivity(Stream stream) Console.WriteLine(e.ToString()); Console.Write(e.StackTrace); } - } - private void DeleteStream(Stream stream) - { + + Console.WriteLine("查询推流历史:"); try { - stream.Delete(); + var records = streamA.HistoryRecord(0, 0); + foreach (var record in records) + { + Console.WriteLine($"Record start={record.Start}, end={record.End}"); + } } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + Console.WriteLine(e.StackTrace); + throw; } - } - private static void SavePlayback(Stream stream) - { + Console.WriteLine("保存直播数据:"); try { - var response = stream.SaveAs(new Stream.SaveasOptions { Format = "mp4" }); + var fName = streamA.Save(0, 0); + Console.WriteLine($"keyA={keyA} 保存直播数据: fname={fName}\n"); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + if (!e.NotInLive) + { + Console.WriteLine(e.StackTrace); + throw; + } + + Console.WriteLine($"keyA={keyA} 不在直播\n"); } - } - private static void SaveSnapshot(Stream stream) - { + Console.WriteLine("保存直播数据并获取作业id:"); try { - var response = stream.Snapshot(new Stream.SnapshotOptions { Format = "jpg" }); - Console.WriteLine(response); + var options = new SaveOptions + { + Start = 0, + End = 0, + Format = "mp4" + }; + + var ret = streamA.SaveReturn(options); + ret.TryGetValue("fname", out var fName); + Console.WriteLine("fname:" + fName); + ret.TryGetValue("fname", out var persistentId); + Console.WriteLine("persistentID:" + persistentId); } catch (PiliException e) { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); + if (!e.NotInLive) + { + Console.WriteLine(e.StackTrace); + throw; + } + + Console.WriteLine($"keyA={keyA} 不在直播\n"); } + + Console.WriteLine("RTMP 推流地址:"); + var url = cli.RTMPPublishURL("pili-publish." + Domain, HubName, keyA, 3600); + Console.WriteLine($"keyA={keyA} RTMP推流地址={url}"); + + Console.WriteLine("RTMP 直播放址:"); + url = cli.RTMPPlayURL("pili-live-rtmp." + Domain, HubName, keyA); + Console.WriteLine($"keyA={keyA} RTMP直播地址={url}"); + + Console.WriteLine("HLS 直播地址:"); + url = cli.HLSPlayURL("pili-live-hls." + Domain, HubName, keyA); + Console.WriteLine($"keyA={keyA} HLS直播地址={url}"); + + Console.WriteLine("HDL 直播地址:"); + url = cli.HDLPlayURL("pili-live-hls." + Domain, HubName, keyA); + Console.WriteLine($"keyA={keyA} HDL直播地址={url}"); + + Console.WriteLine("截图直播地址:"); + url = cli.SnapshotPlayURL("pili-live-smapshot." + Domain, HubName, keyA); + Console.WriteLine($"keyA={keyA} 截图直播地址={url}"); + + Console.WriteLine("创建房间:"); + var r1 = meeting.CreateRoom("123", roomName, 12); + Console.WriteLine($"Expect RoomName: {roomName}, Actual: {r1}"); + var room = meeting.GetRoom(roomName); + Console.WriteLine("roomName:" + room.Name); + Console.WriteLine("roomStatus:" + room.Status); + Console.WriteLine($"Expect RoomName: {roomName}, Actual: {room.Name}"); + Console.WriteLine($"Expect OwnerId: admin, Actual: {room.OwnerId}"); + Console.WriteLine($"Expect Status: {Status.New}, Actual: {room.Status}"); + + var token = meeting.RoomToken("room1", "123", "admin", new DateTime(1785600000000L)); + Console.WriteLine($"Token:{token}"); + + Console.WriteLine("删除房间:"); + meeting.DeleteRoom(roomName); + + Console.ReadKey(); } } } diff --git a/pili-sdk-csharp-tests/APITest.cs b/pili-sdk-csharp-tests/APITest.cs deleted file mode 100644 index c73dfab..0000000 --- a/pili-sdk-csharp-tests/APITest.cs +++ /dev/null @@ -1,333 +0,0 @@ -using System; -using System.Collections.Generic; -using pili_sdk_csharp.pili; -using pili_sdk_csharp.pili_qiniu; -using Xunit; - -namespace pili_sdk_csharp -{ - public class APITest - { - // Replace with your keys here ( https://portal.qiniu.com/user/key ) - private const string AccessKey = ""; - private const string SecretKey = ""; - - // Replace with your hub name ( https://portal.qiniu.com/hub ) - private const string HubName = ""; - - // Replace with your domain ( https://portal.qiniu.com/hub/{your_hub}/domain ) - private const string Domain = "example.com"; - - private static void PreCheck() - { - Assert.NotNull(AccessKey); - Assert.NotEqual("", AccessKey); - Assert.NotNull(SecretKey); - Assert.NotEqual("", SecretKey); - Assert.NotNull(HubName); - Assert.NotEqual("", HubName); - } - - private Stream CreateStream(Hub hub, string streamKey) - { - try - { - return hub.CreateStream(streamKey); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - - return null; - } - - private Stream GetStream(Hub hub, string streamId) - { - try - { - return hub.GetStream(streamId); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - - return null; - } - - private Stream.StreamInfo StreamInfo(Stream stream) - { - try - { - return stream.Info(); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - - return null; - } - - private void ListStreams(Hub hub, string prefix) - { - try - { - var streamList = hub.List(prefix, 10, ""); - Console.WriteLine("marker:" + streamList.Marker); - var list = streamList.Keys; - foreach (var s in list) - { - Console.WriteLine(s); - } - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void ListLiveStreams(Hub hub, string prefix) - { - try - { - var streamList = hub.ListLive(prefix, 10, ""); - Console.WriteLine("marker:" + streamList.Marker); - var list = streamList.Keys; - foreach (var s in list) - { - Console.WriteLine(s); - } - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void BatchQueryLiveStreams(Hub hub, List streamkeys) - { - try - { - var liveStatus = hub.BatchLiveStatus(streamkeys); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void UpdateStreamConverts(Stream stream) - { - try - { - stream.UpdateConverts(new List { "480p", "720p" }); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void DisableStream(Stream stream) - { - try - { - stream.Disable(); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void EnableStream(Stream stream) - { - try - { - stream.Enable(); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void GetLiveStatus(Stream stream) - { - try - { - var status = stream.LiveStatus(); - Console.WriteLine(status.ToString()); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void HistoryActivity(Stream stream) - { - try - { - var records = stream.HistoryActivity(0, 1515214403); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void DeleteStream(Stream stream) - { - try - { - stream.Delete(); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void SavePlayback(Stream stream) - { - try - { - var response = stream.SaveAs(new Stream.SaveasOptions { Format = "mp4" }); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - private void SaveSnapshot(Stream stream) - { - try - { - var response = stream.Snapshot(new Stream.SnapshotOptions { Format = "jpg" }); - Console.WriteLine(response); - } - catch (PiliException e) - { - // TODO Auto-generated catch block - Console.WriteLine(e.ToString()); - Console.Write(e.StackTrace); - } - } - - [Fact] - public void Test() - { - PreCheck(); - var credentials = new Credentials(AccessKey, SecretKey); - var hub = new Hub(credentials, HubName); - - const string keyA = "SomeTestA"; - const string keyB = "SomeTestB"; - Console.WriteLine("获得不存在的流A:"); - GetStream(hub, keyA); - - Console.WriteLine("创建流:"); - CreateStream(hub, keyA); - - Console.WriteLine("获得流:"); - var stream = GetStream(hub, keyA); - DeleteStream(stream); - - Console.WriteLine("创建重复流:"); - CreateStream(hub, keyA); - - Console.WriteLine("创建另一路流:"); - CreateStream(hub, keyB); - - Console.WriteLine("列出流:"); - ListStreams(hub, ""); - - Console.WriteLine("列出正在直播的流:"); - ListLiveStreams(hub, ""); - - Console.WriteLine("批量查询直播信息:"); - BatchQueryLiveStreams(hub, new List { keyA, keyB }); - - Console.WriteLine("更改流的实时转码规格:"); - UpdateStreamConverts(stream); - - Console.WriteLine("禁用流:"); - DisableStream(stream); - - Console.WriteLine("启用流:"); - EnableStream(stream); - - Console.WriteLine("查询直播状态:"); - GetLiveStatus(stream); - - Console.WriteLine("查询推流历史:"); - HistoryActivity(stream); - - Console.WriteLine("保存直播数据:"); - SavePlayback(stream); - - Console.WriteLine("保存直播截图:"); - SaveSnapshot(stream); - - Console.WriteLine("RTMP 推流地址:"); - var url = PiliUrl.RTMPPublishURL(credentials, $"pili-publish.{Domain}", HubName, keyA, 3600); - Console.WriteLine(url); - url = stream.RTMPPublishURL($"pili-publish.{Domain}", 3600); - Console.WriteLine(url); - - Console.WriteLine("RTMP 直播放址:"); - url = PiliUrl.RTMPPlayURL($"pili-live-rtmp.{Domain}", HubName, keyA); - Console.WriteLine(url); - url = stream.RTMPPlayURL($"pili-live-rtmp.{Domain}"); - Console.WriteLine(url); - - Console.WriteLine("HLS 直播地址:"); - url = PiliUrl.HLSPlayURL($"pili-live-hls.{Domain}", HubName, keyA); - Console.WriteLine(url); - url = stream.HLSPlayURL($"pili-live-hls.{Domain}"); - Console.WriteLine(url); - - Console.WriteLine("HDL 直播地址:"); - url = PiliUrl.HDLPlayURL($"pili-live-hdl.{Domain}", HubName, keyA); - Console.WriteLine(url); - url = stream.HDLPlayURL($"pili-live-hdl.{Domain}"); - Console.WriteLine(url); - - Console.WriteLine("截图直播地址:"); - url = PiliUrl.SnapshotPlayURL($"pili-live-snapshot.{Domain}", HubName, keyA); - Console.WriteLine(url); - url = stream.SnapshotPlayURL($"pili-live-snapshot.{Domain}"); - Console.WriteLine(url); - } - } -} diff --git a/pili-sdk-csharp-tests/ClientTest.cs b/pili-sdk-csharp-tests/ClientTest.cs new file mode 100644 index 0000000..d6e9857 --- /dev/null +++ b/pili-sdk-csharp-tests/ClientTest.cs @@ -0,0 +1,248 @@ +using Qiniu.Pili; +using Xunit; + +namespace pili_sdk_csharp +{ + public class APITest + { + // Replace with your keys here ( https://portal.qiniu.com/user/key ) + private const string AccessKey = ""; + private const string SecretKey = ""; + + // Replace with your hub name ( https://portal.qiniu.com/hub ) + private const string HubName = ""; + + // Replace with your domain ( https://portal.qiniu.com/hub/{your_hub}/domain ) + private const string Domain = "example.com"; + + private Client _cli; + private Hub _hub; + private const string Prefix = "SomeTest"; + private const string KeyA = Prefix + "A"; + private const string KeyB = Prefix + "B"; + + private void Prepare() + { + Assert.NotNull(AccessKey); + Assert.NotEqual("", AccessKey); + Assert.NotNull(SecretKey); + Assert.NotEqual("", SecretKey); + Assert.NotNull(HubName); + Assert.NotEqual("", HubName); + _cli = new Client(AccessKey, SecretKey); + _hub = _cli.NewHub(HubName); + } + + [Fact] + public void TestGetNoExistStream() + { + Prepare(); + try + { + _hub.Get(KeyA); + Assert.True(false); + } + catch (PiliException e) + { + Assert.True(e.NotFound); + } + } + + [Fact] + public void TestHistory() + { + Prepare(); + + var key = Prefix + "History"; + try + { + var stream = _hub.Create(key); + var records = stream.HistoryRecord(0, 0); + Assert.Empty(records); + } + catch (PiliException) + { + Assert.True(false); + } + } + + [Fact] + public void TestList() + { + Prepare(); + + try + { + _hub.Create(KeyB + "1"); + _hub.Create(KeyB + "2"); + } + catch (PiliException) + { + Assert.True(false); + } + + try + { + var listRet = _hub.List(KeyB, 0, ""); + Assert.Equal(2, listRet.Keys.Length); + Assert.Equal("", listRet.Omarker); + } + catch (PiliException) + { + Assert.True(false); + } + } + + [Fact] + public void TestLive() + { + Prepare(); + + try + { + var listRet = _hub.ListLive(Prefix, 0, ""); + Assert.Empty(listRet.Keys); + } + catch (PiliException) + { + Assert.True(false); + } + } + + [Fact] + public void TestSave() + { + Prepare(); + + var key = Prefix + "Save"; + try + { + var stream = _hub.Create(key); + stream.Save(0, 0); + Assert.True(false); + } + catch (PiliException e) + { + Assert.True(e.NotInLive); + } + } + + [Fact] + public void TestStreamOperate() + { + Prepare(); + // create + try + { + _hub.Create(KeyA); + } + catch (PiliException) + { + Assert.True(false); + } + + // get + Stream stream; + try + { + stream = _hub.Get(KeyA); + Assert.Equal(0, stream.DisabledTill); + Assert.Equal(HubName, stream.Hub); + Assert.Equal(KeyA, stream.Key); + } + catch (PiliException) + { + Assert.True(false); + } + + // create again + try + { + _hub.Create(KeyA); + Assert.False(true); + } + catch (PiliException e) + { + Assert.True(e.Duplicate); + } + + //disable + try + { + stream = _hub.Get(KeyA); + stream.Disable(); + stream = _hub.Get(KeyA); + Assert.Equal(-1, stream.DisabledTill); + Assert.Equal(HubName, stream.Hub); + Assert.Equal(KeyA, stream.Key); + } + catch (PiliException) + { + Assert.True(false); + } + + //enable + try + { + stream = _hub.Get(KeyA); + stream.Enable(); + stream.Info(); + Assert.Equal(0, stream.DisabledTill); + Assert.Equal(HubName, stream.Hub); + Assert.Equal(KeyA, stream.Key); + } + catch (PiliException) + { + Assert.True(false); + } + } + + [Fact] + public void TestUpdateConverts() + { + Prepare(); + + var key = Prefix + "Converts"; + try + { + var stream = _hub.Create(key); + Assert.Null(stream.Converts); + + var profiles = new[] { "480p", "720p" }; + stream.UpdateConverts(profiles); + stream = stream.Info(); + Assert.Equal(profiles, stream.Converts); + } + catch (PiliException) + { + Assert.True(false); + } + } + + [Fact] + public void TestURL() + { + var key = Prefix + "TestURL"; + Prepare(); + var expect = "rtmp://pili-publish." + Domain + "/" + HubName + $"/{key}?e="; + var url = _cli.RTMPPublishURL("pili-publish." + Domain, HubName, key, 3600); + Assert.StartsWith(expect, url); + + expect = "rtmp://pili-live-rtmp." + Domain + "/" + HubName + $"/{key}"; + url = _cli.RTMPPlayURL("pili-live-rtmp." + Domain, HubName, key); + Assert.StartsWith(expect, url); + + expect = "http://pili-live-hls." + Domain + "/" + HubName + $"/{key}.m3u8"; + url = _cli.HLSPlayURL("pili-live-hls." + Domain, HubName, key); + Assert.StartsWith(expect, url); + + expect = "http://pili-live-hdl." + Domain + "/" + HubName + $"/{key}.flv"; + url = _cli.HDLPlayURL("pili-live-hdl." + Domain, HubName, key); + Assert.StartsWith(expect, url); + + expect = "http://pili-live-snapshot." + Domain + "/" + HubName + $"/{key}.jpg"; + url = _cli.SnapshotPlayURL("pili-live-snapshot." + Domain, HubName, key); + Assert.StartsWith(expect, url); + } + } +} diff --git a/pili-sdk-csharp-tests/MeetingTest.cs b/pili-sdk-csharp-tests/MeetingTest.cs new file mode 100644 index 0000000..777de88 --- /dev/null +++ b/pili-sdk-csharp-tests/MeetingTest.cs @@ -0,0 +1,89 @@ +using System; +using Qiniu.Pili; +using Qiniu.Pili.Meetings; +using Xunit; + +namespace pili_sdk_csharp +{ + public class MeetingTest + { + + // Replace with your keys here ( https://portal.qiniu.com/user/key ) + private const string AccessKey = ""; + private const string SecretKey = ""; + + + // Replace with your hub name ( https://portal.qiniu.com/hub ) + private const string HubName = ""; + + private const string RoomName = "test12Room"; + + private Client _cli; + private Meeting _meeting; + + private void Prepare() + { + Assert.NotNull(AccessKey); + Assert.NotEqual("", AccessKey); + Assert.NotNull(SecretKey); + Assert.NotEqual("", SecretKey); + Assert.NotNull(HubName); + Assert.NotEqual("", HubName); + _cli = new Client(AccessKey, SecretKey); + _meeting = _cli.NewMeeting(); + } + + [Fact] + public void TestCreateRoom() + { + Prepare(); + try + { + var r1 = _meeting.CreateRoom("123", RoomName, 12); + Assert.Equal(RoomName, r1); + + var room = _meeting.GetRoom(RoomName); + Console.WriteLine("roomName:" + room.Name); + Console.WriteLine("roomStatus:" + room.Status); + Assert.Equal(RoomName, room.Name); + Assert.Equal("admin", room.OwnerId); + Assert.Equal(Status.New, room.Status); + } + catch (PiliException e) + { + Console.WriteLine(e.StackTrace); + Assert.True(false); + } + } + + [Fact] + public void TestRoomDelete() + { + Prepare(); + try + { + _meeting.DeleteRoom(RoomName); + } + catch (PiliException e) + { + Console.WriteLine(e.StackTrace); + Assert.True(false); + } + } + + [Fact] + public void TestRoomToken() + { + Prepare(); + try + { + var token = _meeting.RoomToken("room1", "123", "admin", new DateTime(1785600000000L)); + } + catch (Exception e) + { + Console.WriteLine(e.StackTrace); + Assert.True(false); + } + } + } +} From 3a876dc08ccdd34cdc4f0f98e93fb18844345d83 Mon Sep 17 00:00:00 2001 From: PM Extra Date: Fri, 29 Dec 2017 20:20:21 +0800 Subject: [PATCH 24/24] Bump version. --- pili-sdk-csharp/pili-sdk-csharp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pili-sdk-csharp/pili-sdk-csharp.csproj b/pili-sdk-csharp/pili-sdk-csharp.csproj index d197d94..51d76f1 100644 --- a/pili-sdk-csharp/pili-sdk-csharp.csproj +++ b/pili-sdk-csharp/pili-sdk-csharp.csproj @@ -2,7 +2,7 @@ net45;net461;netstandard1.4;netstandard2.0 - 2.1.0-alpha + 2.1.0 An unofficial pili sdk that ported from pili-sdk-java. It updated api version to v2 and added support for .NET Standard. PM Extra
- /// Utilities for encoding and decoding the Base64 representation of - /// binary data. See RFCs 2045 and 3548. + /// Utilities for encoding and decoding the Base64 representation of + /// binary data. See RFCs + /// + /// 2045 + /// + /// and + /// + /// 3548 + /// + /// . ///

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