From fd4e85344b8a6cc1186b71a6b1b192d47a85560b Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Thu, 26 Dec 2024 17:27:22 +0100 Subject: [PATCH 01/32] Makes Writer symbol table experimentally pub --- src/element/mod.rs | 8 ++++++- src/lazy/encoder/value_writer.rs | 30 ++++++++++++++++++++++++ src/lazy/encoder/writer.rs | 38 +++++++++++++++++++++++++------ src/symbol_table.rs | 2 +- tests/conformance_dsl/fragment.rs | 2 +- tests/conformance_dsl/model.rs | 2 +- 6 files changed, 71 insertions(+), 11 deletions(-) diff --git a/src/element/mod.rs b/src/element/mod.rs index dbc34f3a..4ecb6602 100644 --- a/src/element/mod.rs +++ b/src/element/mod.rs @@ -26,7 +26,7 @@ use std::cmp::Ordering; use std::fmt::{Display, Formatter}; use std::io; -use crate::{ion_data, Decimal, Int, IonResult, IonType, Str, Symbol, Timestamp}; +use crate::{ion_data, Decimal, Int, IonResult, IonType, Str, Symbol, SymbolRef, Timestamp}; use crate::{Blob, Bytes, Clob, List, SExp, Struct}; // Re-export the Value variant types and traits so they can be accessed directly from this module. use crate::element::builders::{SequenceBuilder, StructBuilder}; @@ -251,6 +251,12 @@ impl From for Value { } } +impl From> for Value { + fn from(sym_val: SymbolRef<'_>) -> Self { + Value::Symbol(sym_val.to_owned()) + } +} + impl From<&[u8]> for Value { fn from(value: &[u8]) -> Self { Value::Blob(value.into()) diff --git a/src/lazy/encoder/value_writer.rs b/src/lazy/encoder/value_writer.rs index f27aae65..5ac2a7df 100644 --- a/src/lazy/encoder/value_writer.rs +++ b/src/lazy/encoder/value_writer.rs @@ -481,3 +481,33 @@ pub trait SequenceWriter: MakeValueWriter { Ok(self) } } + +#[cfg(test)] +#[cfg(feature = "experimental-reader-writer")] +mod tests { + use crate::symbol_ref::AsSymbolRef; + use crate::IonResult; + use crate::{ion_seq, v1_1, Element, SequenceWriter, Writer}; + #[test] + fn save_and_reuse_symbol_id() -> IonResult<()> { + let mut writer = Writer::new(v1_1::Binary, vec![])?; + let name_symbol = writer + .value_writer() + .symbol_table() + .sid_for("name") + .unwrap(); + writer + .write_symbol(name_symbol)? + .write_symbol(name_symbol)? + .write_symbol(name_symbol)?; + let bytes = writer.close()?; + let actual = Element::read_all(&bytes)?; + let expected = ion_seq!( + "name".as_symbol_ref() + "name".as_symbol_ref() + "name".as_symbol_ref() + ); + assert_eq!(actual, expected); + Ok(()) + } +} diff --git a/src/lazy/encoder/writer.rs b/src/lazy/encoder/writer.rs index 6f945135..03a29df2 100644 --- a/src/lazy/encoder/writer.rs +++ b/src/lazy/encoder/writer.rs @@ -125,6 +125,18 @@ impl Writer { Ok(self.output) } + #[cfg(feature = "experimental-reader-writer")] + #[inline] + pub fn symbol_table(&self) -> &SymbolTable { + &self.context.symbol_table + } + + #[cfg(not(feature = "experimental-reader-writer"))] + #[inline] + pub(crate) fn symbol_table(&self) -> &SymbolTable { + &self.context.symbol_table + } + /// Helper method to encode an LST append containing pending symbols. fn write_lst_append(&mut self) -> IonResult<()> { let Self { @@ -235,9 +247,21 @@ impl<'a, V: ValueWriter> ApplicationValueWriter<'a, V> { } } - fn symbol_table(&mut self) -> &mut SymbolTable { + fn symbol_table_mut(&mut self) -> &mut SymbolTable { &mut self.encoding.symbol_table } + + #[cfg(feature = "experimental-reader-writer")] + #[inline] + pub fn symbol_table(&self) -> &SymbolTable { + &self.encoding.symbol_table + } + + #[cfg(not(feature = "experimental-reader-writer"))] + #[inline] + pub(crate) fn symbol_table(&self) -> &SymbolTable { + &self.encoding.symbol_table + } } impl ApplicationValueWriter<'_, BinaryValueWriter_1_1<'_, '_>> { @@ -326,7 +350,7 @@ impl ApplicationValueWriter<'_, V> { } // The token is text... RawSymbolRef::Text(text) => { - let sid = match self.symbol_table().sid_for(&text) { + let sid = match self.symbol_table().sid_for(text) { Some(sid) => { //...that was already in the symbol table. sid @@ -334,7 +358,7 @@ impl ApplicationValueWriter<'_, V> { None => { // ...that we need to add to the symbol table. self.encoding.num_pending_symbols += 1; - self.symbol_table().add_symbol_for_text(text) + self.symbol_table_mut().add_symbol_for_text(text) } }; *annotation = RawSymbolRef::SymbolId(sid); @@ -389,7 +413,7 @@ impl ApplicationValueWriter<'_, V> { } // The token is text... RawSymbolRef::Text(text) => { - match self.symbol_table().sid_for(&text) { + match self.symbol_table_mut().sid_for(text) { Some(sid) => { //...that was already in the symbol table. *annotation = RawSymbolRef::SymbolId(sid); @@ -454,7 +478,7 @@ impl<'value, V: ValueWriter> ValueWriter for ApplicationValueWriter<'value, V> { match value_writer_config.symbol_value_encoding() { WriteAsSymbolIds => { // Map the text to a symbol ID. - match encoding.symbol_table.sid_for(&text) { + match encoding.symbol_table.sid_for(text) { // If it's already in the symbol table, use that SID. Some(symbol_id) => SymbolId(symbol_id), // Otherwise, add it to the symbol table. @@ -466,7 +490,7 @@ impl<'value, V: ValueWriter> ValueWriter for ApplicationValueWriter<'value, V> { } WriteNewSymbolsAsInlineText => { // If the text is in the symbol table, use the symbol ID. Otherwise, use the text itself. - match encoding.symbol_table.sid_for(&text) { + match encoding.symbol_table.sid_for(text) { Some(symbol_id) => SymbolId(symbol_id), None => Text(text), } @@ -590,7 +614,7 @@ impl FieldEncoder for ApplicationStructWriter<'_, V> { } // Otherwise, see if the symbol is already in the symbol table. - let token: RawSymbolRef<'_> = match self.encoding.symbol_table.sid_for(&text) { + let token: RawSymbolRef<'_> = match self.encoding.symbol_table.sid_for(text) { // If so, use the existing ID. Some(sid) => sid.into(), // If it's not but the struct writer is configured to intern new text, add it to the diff --git a/src/symbol_table.rs b/src/symbol_table.rs index 05a805d0..8f256e99 100644 --- a/src/symbol_table.rs +++ b/src/symbol_table.rs @@ -204,7 +204,7 @@ impl SymbolTable { } /// If defined, returns the Symbol ID associated with the provided text. - pub fn sid_for>(&self, text: &A) -> Option { + pub fn sid_for>(&self, text: A) -> Option { self.ids_by_text.get(text.as_ref()).copied() } diff --git a/tests/conformance_dsl/fragment.rs b/tests/conformance_dsl/fragment.rs index 50248ae6..a8f5165e 100644 --- a/tests/conformance_dsl/fragment.rs +++ b/tests/conformance_dsl/fragment.rs @@ -283,7 +283,7 @@ impl PartialEq> for ProxyElement<'_ let shared_symbol_txt = shared_symbol.text().unwrap_or(""); let shared_id = symbol_table - .sid_for(&shared_symbol_txt) + .sid_for(shared_symbol_txt) .unwrap_or(0); actual_field.matches_sid_or_text( shared_id, diff --git a/tests/conformance_dsl/model.rs b/tests/conformance_dsl/model.rs index 74fd48ae..4d49de41 100644 --- a/tests/conformance_dsl/model.rs +++ b/tests/conformance_dsl/model.rs @@ -365,7 +365,7 @@ pub(crate) fn compare_values( let shared_text = shared_symbol.text().unwrap_or(""); ( shared_text.to_string(), - other.symbol_table().sid_for(&shared_text).unwrap_or(0), + other.symbol_table().sid_for(shared_text).unwrap_or(0), ) } } From 158c3ae20ce5c87a4b2854eda5e8f32708ae4e1f Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Thu, 26 Dec 2024 17:36:00 +0100 Subject: [PATCH 02/32] Makes AnnotatableWriter experimentally pub --- src/lazy/encoder/value_writer.rs | 11 ++++++++--- src/lib.rs | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lazy/encoder/value_writer.rs b/src/lazy/encoder/value_writer.rs index 5ac2a7df..47ce1868 100644 --- a/src/lazy/encoder/value_writer.rs +++ b/src/lazy/encoder/value_writer.rs @@ -486,8 +486,8 @@ pub trait SequenceWriter: MakeValueWriter { #[cfg(feature = "experimental-reader-writer")] mod tests { use crate::symbol_ref::AsSymbolRef; - use crate::IonResult; - use crate::{ion_seq, v1_1, Element, SequenceWriter, Writer}; + use crate::{ion_seq, v1_1, Element, IntoAnnotatedElement, SequenceWriter, Writer}; + use crate::{AnnotatableWriter, IonResult, ValueWriter}; #[test] fn save_and_reuse_symbol_id() -> IonResult<()> { let mut writer = Writer::new(v1_1::Binary, vec![])?; @@ -497,15 +497,20 @@ mod tests { .sid_for("name") .unwrap(); writer + // Write the symbol twice using its ID .write_symbol(name_symbol)? .write_symbol(name_symbol)? + // Use the ID again as an annotation... + .value_writer() + .with_annotations(name_symbol)? + // ...when writing the symbol once more. .write_symbol(name_symbol)?; let bytes = writer.close()?; let actual = Element::read_all(&bytes)?; let expected = ion_seq!( "name".as_symbol_ref() "name".as_symbol_ref() - "name".as_symbol_ref() + "name".as_symbol_ref().with_annotations(["name"]) ); assert_eq!(actual, expected); Ok(()) diff --git a/src/lib.rs b/src/lib.rs index 3ebdcf9b..e5e957fc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -211,7 +211,7 @@ macro_rules! v1_x_reader_writer { lazy::value_ref::ValueRef, lazy::r#struct::{LazyStruct, LazyField}, lazy::sequence::{LazyList, LazySExp}, - lazy::encoder::value_writer::{ValueWriter, ContextWriter, StructWriter, SequenceWriter, EExpWriter}, + lazy::encoder::value_writer::{AnnotatableWriter, ValueWriter, ContextWriter, StructWriter, SequenceWriter, EExpWriter}, lazy::any_encoding::IonEncoding, lazy::expanded::compiler::TemplateCompiler, lazy::expanded::template::TemplateMacro, From 0e53e4870d6852d974d5045bd74ac4fc452f905d Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Thu, 26 Dec 2024 17:46:59 +0100 Subject: [PATCH 03/32] Clippy suggestions RE: variant name prefixes --- src/lazy/any_encoding.rs | 1 - src/lazy/encoder/binary/v1_1/value_writer.rs | 2 +- src/lazy/encoder/value_writer_config.rs | 31 +++++++++--------- src/lazy/encoder/writer.rs | 34 ++++++++++---------- src/lazy/encoding.rs | 12 +++---- 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/lazy/any_encoding.rs b/src/lazy/any_encoding.rs index 8274373f..24d5489c 100644 --- a/src/lazy/any_encoding.rs +++ b/src/lazy/any_encoding.rs @@ -726,7 +726,6 @@ pub struct LazyRawAnyValue<'top> { impl<'top> LazyRawAnyValue<'top> { /// Returns an enum indicating the encoding that backs this lazy value. - #[cfg(feature = "experimental-tooling-apis")] pub fn kind(&self) -> LazyRawValueKind<'top> { self.encoding } diff --git a/src/lazy/encoder/binary/v1_1/value_writer.rs b/src/lazy/encoder/binary/v1_1/value_writer.rs index 12149a66..bf4ce14c 100644 --- a/src/lazy/encoder/binary/v1_1/value_writer.rs +++ b/src/lazy/encoder/binary/v1_1/value_writer.rs @@ -61,7 +61,7 @@ impl BinaryValueWriter_1_1<'_, '_> { pub fn with_inline_symbol_text(mut self) -> Self { self.value_writer_config = self .value_writer_config - .with_symbol_value_encoding(SymbolValueEncoding::WriteAsInlineText); + .with_symbol_value_encoding(SymbolValueEncoding::InlineText); self } diff --git a/src/lazy/encoder/value_writer_config.rs b/src/lazy/encoder/value_writer_config.rs index f5d30662..fce9223c 100644 --- a/src/lazy/encoder/value_writer_config.rs +++ b/src/lazy/encoder/value_writer_config.rs @@ -38,13 +38,13 @@ pub enum ContainerEncoding { pub enum SymbolValueEncoding { /// Add all symbol values to the symbol table and encode them as symbol IDs. #[default] - WriteAsSymbolIds, + SymbolIds, /// Do not add symbol values to the symbol table; write their text inline. /// Symbol values specified as symbol IDs will not be mapped to text. - WriteAsInlineText, + InlineText, /// If a symbol value is already in the symbol table, encode it as a symbol ID. /// If it is not already in the symbol table, encode its text inline. - WriteNewSymbolsAsInlineText, + NewSymbolsAsInlineText, } /// Configuration options for encoding an annotations sequence. @@ -53,28 +53,29 @@ pub enum SymbolValueEncoding { pub enum AnnotationsEncoding { /// Add all annotations to the symbol table and encode them as symbol IDs. #[default] - WriteAsSymbolIds, + SymbolIds, /// Do not add annotations to the symbol table; write their text inline. /// Annotations specified as symbol IDs will not be mapped to text. - WriteAsInlineText, + InlineText, /// If an annotation is already in the symbol table, encode it as a symbol ID. /// If it is not already in the symbol table, encode its text inline. - WriteNewSymbolsAsInlineText, + NewSymbolsAsInlineText, } /// Configuration options for encoding a struct field name. #[derive(Copy, Clone, PartialEq, Eq, Debug, Default)] #[non_exhaustive] +#[allow(clippy::enum_variant_names)] pub enum FieldNameEncoding { /// Add all field names to the symbol table and encode them as symbol IDs. #[default] - WriteAsSymbolIds, + SymbolIds, /// Do not add field names to the symbol table; write their text inline. /// Field names specified as symbol IDs will not be mapped to text. - WriteAsInlineText, + InlineText, /// If a field name is already in the symbol table, encode it as a symbol ID. /// If it is not already in the symbol table, encode its text inline. - WriteNewSymbolsAsInlineText, + NewSymbolsAsInlineText, } impl ValueWriterConfig { @@ -82,9 +83,9 @@ impl ValueWriterConfig { pub const fn text() -> Self { ValueWriterConfig { container_encoding: ContainerEncoding::Delimited, - symbol_value_encoding: SymbolValueEncoding::WriteAsInlineText, - annotations_encoding: AnnotationsEncoding::WriteAsInlineText, - field_name_encoding: FieldNameEncoding::WriteAsInlineText, + symbol_value_encoding: SymbolValueEncoding::InlineText, + annotations_encoding: AnnotationsEncoding::InlineText, + field_name_encoding: FieldNameEncoding::InlineText, } } @@ -92,9 +93,9 @@ impl ValueWriterConfig { pub const fn binary() -> Self { ValueWriterConfig { container_encoding: ContainerEncoding::LengthPrefixed, - symbol_value_encoding: SymbolValueEncoding::WriteAsSymbolIds, - annotations_encoding: AnnotationsEncoding::WriteAsSymbolIds, - field_name_encoding: FieldNameEncoding::WriteAsSymbolIds, + symbol_value_encoding: SymbolValueEncoding::SymbolIds, + annotations_encoding: AnnotationsEncoding::SymbolIds, + field_name_encoding: FieldNameEncoding::SymbolIds, } } diff --git a/src/lazy/encoder/writer.rs b/src/lazy/encoder/writer.rs index 03a29df2..f74ceb6c 100644 --- a/src/lazy/encoder/writer.rs +++ b/src/lazy/encoder/writer.rs @@ -305,15 +305,15 @@ impl AnnotatableWriter for ApplicationValueWriter<'_, V> { { let mut annotations = annotations.into_annotations_vec(); match self.value_writer_config.annotations_encoding() { - AnnotationsEncoding::WriteAsSymbolIds => { + AnnotationsEncoding::SymbolIds => { // Intern all text so everything we write is a symbol ID self.intern_all_annotations(&mut annotations)? } - AnnotationsEncoding::WriteAsInlineText => { + AnnotationsEncoding::InlineText => { // Validate the symbol IDs, write the text as-is self.validate_all_symbol_ids(&mut annotations)? } - AnnotationsEncoding::WriteNewSymbolsAsInlineText => { + AnnotationsEncoding::NewSymbolsAsInlineText => { // Map all known strings to symbol IDs, leave new text as is. self.map_known_symbols_to_symbol_ids(&mut annotations)? } @@ -476,7 +476,7 @@ impl<'value, V: ValueWriter> ValueWriter for ApplicationValueWriter<'value, V> { SystemSymbol_1_1(symbol) => SystemSymbol_1_1(symbol), Text(text) => { match value_writer_config.symbol_value_encoding() { - WriteAsSymbolIds => { + SymbolIds => { // Map the text to a symbol ID. match encoding.symbol_table.sid_for(text) { // If it's already in the symbol table, use that SID. @@ -488,7 +488,7 @@ impl<'value, V: ValueWriter> ValueWriter for ApplicationValueWriter<'value, V> { } } } - WriteNewSymbolsAsInlineText => { + NewSymbolsAsInlineText => { // If the text is in the symbol table, use the symbol ID. Otherwise, use the text itself. match encoding.symbol_table.sid_for(text) { Some(symbol_id) => SymbolId(symbol_id), @@ -496,7 +496,7 @@ impl<'value, V: ValueWriter> ValueWriter for ApplicationValueWriter<'value, V> { } } // We have text and we want to write text. Nothing to do. - WriteAsInlineText => Text(text), + InlineText => Text(text), } } }; @@ -609,7 +609,7 @@ impl FieldEncoder for ApplicationStructWriter<'_, V> { // From here on, we're dealing with text. // If the struct writer is configured to write field names as text, do that. - if self.value_writer_config.field_name_encoding() == FieldNameEncoding::WriteAsInlineText { + if self.value_writer_config.field_name_encoding() == FieldNameEncoding::InlineText { return self.raw_struct_writer.encode_field_name(text); } @@ -620,7 +620,7 @@ impl FieldEncoder for ApplicationStructWriter<'_, V> { // If it's not but the struct writer is configured to intern new text, add it to the // symbol table. None if self.value_writer_config.field_name_encoding() - == FieldNameEncoding::WriteAsSymbolIds => + == FieldNameEncoding::SymbolIds => { self.encoding.num_pending_symbols += 1; self.encoding.symbol_table.add_symbol_for_text(text).into() @@ -852,7 +852,7 @@ mod tests { fn intern_new_symbol_values() -> IonResult<()> { use RawSymbolRef::*; symbol_value_encoding_test( - SymbolValueEncoding::WriteAsSymbolIds, + SymbolValueEncoding::SymbolIds, [ (Text("$ion_symbol_table"), &[0xE1, 0x03]), (Text("name"), &[0xE1, 0x04]), @@ -866,7 +866,7 @@ mod tests { fn do_not_intern_new_symbol_values() -> IonResult<()> { use RawSymbolRef::*; symbol_value_encoding_test( - SymbolValueEncoding::WriteNewSymbolsAsInlineText, + SymbolValueEncoding::NewSymbolsAsInlineText, [ // Known text symbols are written as SIDs (Text("$ion_symbol_table"), &[0xE1, 0x03]), @@ -884,7 +884,7 @@ mod tests { fn encode_all_text_as_is() -> IonResult<()> { use RawSymbolRef::*; symbol_value_encoding_test( - SymbolValueEncoding::WriteAsInlineText, + SymbolValueEncoding::InlineText, [ // Known text symbols are written as inline text (Text("name"), &[0xA4, 0x6E, 0x61, 0x6D, 0x65]), @@ -927,7 +927,7 @@ mod tests { fn intern_new_annotations() -> IonResult<()> { use RawSymbolRef::*; annotations_sequence_encoding_test( - AnnotationsEncoding::WriteAsSymbolIds, + AnnotationsEncoding::SymbolIds, &[ Text("$ion_symbol_table"), Text("name"), @@ -949,7 +949,7 @@ mod tests { fn write_new_annotations_as_text() -> IonResult<()> { use RawSymbolRef::*; annotations_sequence_encoding_test( - AnnotationsEncoding::WriteNewSymbolsAsInlineText, + AnnotationsEncoding::NewSymbolsAsInlineText, &[ Text("$ion_symbol_table"), Text("name"), @@ -974,7 +974,7 @@ mod tests { fn write_text_annotations_as_is() -> IonResult<()> { use RawSymbolRef::*; annotations_sequence_encoding_test( - AnnotationsEncoding::WriteAsInlineText, + AnnotationsEncoding::InlineText, &[Text("name"), SymbolId(6), Text("foo")], &[ 0xE9, // Opcode: FlexUInt follows with byte length of sequence @@ -1031,7 +1031,7 @@ mod tests { #[test] fn intern_all_field_names() -> IonResult<()> { struct_field_encoding_test( - FieldNameEncoding::WriteAsSymbolIds, + FieldNameEncoding::SymbolIds, &[ // New symbols (RawSymbolRef::Text("foo"), &[0x81]), // FlexUInt SID $64, @@ -1047,7 +1047,7 @@ mod tests { #[test] fn write_all_field_names_as_text() -> IonResult<()> { struct_field_encoding_test( - FieldNameEncoding::WriteAsInlineText, + FieldNameEncoding::InlineText, &[ // New symbols (RawSymbolRef::Text("foo"), &[0xFB, 0x66, 0x6F, 0x6F]), // FlexSym -3, "foo" @@ -1062,7 +1062,7 @@ mod tests { #[test] fn write_new_field_names_as_text() -> IonResult<()> { struct_field_encoding_test( - FieldNameEncoding::WriteNewSymbolsAsInlineText, + FieldNameEncoding::NewSymbolsAsInlineText, &[ // New symbols (RawSymbolRef::Text("foo"), &[0xFB, 0x66, 0x6F, 0x6F]), // FlexSym -3, "foo" diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index de2a8e41..e61a5160 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -157,10 +157,10 @@ impl Encoding for BinaryEncoding_1_0 { fn default_value_writer_config() -> ValueWriterConfig { ValueWriterConfig::binary() - .with_field_name_encoding(FieldNameEncoding::WriteAsSymbolIds) - .with_annotations_encoding(AnnotationsEncoding::WriteAsSymbolIds) + .with_field_name_encoding(FieldNameEncoding::SymbolIds) + .with_annotations_encoding(AnnotationsEncoding::SymbolIds) .with_container_encoding(ContainerEncoding::LengthPrefixed) - .with_symbol_value_encoding(SymbolValueEncoding::WriteAsSymbolIds) + .with_symbol_value_encoding(SymbolValueEncoding::SymbolIds) } } impl Encoding for BinaryEncoding_1_1 { @@ -206,10 +206,10 @@ impl Encoding for TextEncoding_1_0 { } fn default_value_writer_config() -> ValueWriterConfig { ValueWriterConfig::text() - .with_field_name_encoding(FieldNameEncoding::WriteAsInlineText) - .with_annotations_encoding(AnnotationsEncoding::WriteAsInlineText) + .with_field_name_encoding(FieldNameEncoding::InlineText) + .with_annotations_encoding(AnnotationsEncoding::InlineText) .with_container_encoding(ContainerEncoding::Delimited) - .with_symbol_value_encoding(SymbolValueEncoding::WriteAsInlineText) + .with_symbol_value_encoding(SymbolValueEncoding::InlineText) } } impl Encoding for TextEncoding_1_1 { From 4bd0ae49e4ccdf5de3eef5a4bd2d5e78df059fd5 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Thu, 26 Dec 2024 17:54:41 +0100 Subject: [PATCH 04/32] Fix build when `experimental-ion-hash` is only feature enabled --- src/lazy/encoder/value_writer.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lazy/encoder/value_writer.rs b/src/lazy/encoder/value_writer.rs index 47ce1868..bd6713c1 100644 --- a/src/lazy/encoder/value_writer.rs +++ b/src/lazy/encoder/value_writer.rs @@ -482,15 +482,14 @@ pub trait SequenceWriter: MakeValueWriter { } } -#[cfg(test)] -#[cfg(feature = "experimental-reader-writer")] +#[cfg(all(test, feature = "experimental-reader-writer"))] mod tests { use crate::symbol_ref::AsSymbolRef; - use crate::{ion_seq, v1_1, Element, IntoAnnotatedElement, SequenceWriter, Writer}; + use crate::{ion_seq, v1_0, Element, IntoAnnotatedElement, SequenceWriter, Writer}; use crate::{AnnotatableWriter, IonResult, ValueWriter}; #[test] fn save_and_reuse_symbol_id() -> IonResult<()> { - let mut writer = Writer::new(v1_1::Binary, vec![])?; + let mut writer = Writer::new(v1_0::Binary, vec![])?; let name_symbol = writer .value_writer() .symbol_table() From 7ea8b124efcc7ba517a0b4f4fb40855e427a1236 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Sat, 28 Dec 2024 06:26:42 +0100 Subject: [PATCH 05/32] Migrate from nom to winnow 0.3 --- Cargo.toml | 2 +- src/lazy/encoder/write_as_ion.rs | 8 +- src/lazy/text/buffer.rs | 384 ++++++++++++++++++------------- src/lazy/text/matched.rs | 13 +- src/lazy/text/parse_result.rs | 39 ++-- src/lazy/text/raw/sequence.rs | 2 +- src/lazy/text/raw/struct.rs | 2 +- src/lazy/text/raw/v1_1/reader.rs | 2 +- src/lazy/text/value.rs | 2 +- tests/ion_hash_tests.rs | 6 +- 10 files changed, 260 insertions(+), 200 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2654e423..d161c352 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,7 +57,7 @@ compact_str = "0.8.0" chrono = { version = "0.4", default-features = false, features = ["clock", "std", "wasmbind"] } delegate = "0.12.0" thiserror = "1.0" -nom = "7.1.1" +winnow = "0.3" num-integer = "0.1.44" num-traits = "0.2" arrayvec = "0.7" diff --git a/src/lazy/encoder/write_as_ion.rs b/src/lazy/encoder/write_as_ion.rs index 84bb823b..287f4e3a 100644 --- a/src/lazy/encoder/write_as_ion.rs +++ b/src/lazy/encoder/write_as_ion.rs @@ -302,8 +302,8 @@ impl WriteAsIon for RawValueRef<'_, D> { Timestamp(t) => value_writer.write_timestamp(t), Symbol(s) => value_writer.write_symbol(s), String(s) => value_writer.write_string(s.text()), - Clob(c) => value_writer.write_clob(c.as_ref()), - Blob(b) => value_writer.write_blob(b.as_ref()), + Clob(c) => value_writer.write_clob(c.data()), + Blob(b) => value_writer.write_blob(b.data()), List(l) => { let mut list_writer = value_writer.list_writer()?; for value_result in l.iter() { @@ -489,8 +489,8 @@ impl WriteAsIon for ValueRef<'_, D> { Timestamp(t) => value_writer.write_timestamp(t), Symbol(s) => value_writer.write_symbol(s), String(s) => value_writer.write_string(s.text()), - Clob(c) => value_writer.write_clob(c.as_ref()), - Blob(b) => value_writer.write_blob(b.as_ref()), + Clob(c) => value_writer.write_clob(c.data()), + Blob(b) => value_writer.write_blob(b.data()), List(l) => value_writer.write(l), SExp(s) => value_writer.write(s), Struct(s) => value_writer.write(s), diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index ee02ca46..ec887db6 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -4,22 +4,24 @@ use std::ops::{Range, RangeFrom, RangeTo}; use std::slice::Iter; use std::str::FromStr; -use nom::branch::alt; -use nom::bytes::complete::{ +use winnow::branch::alt; +use winnow::bytes::complete::{ is_a as complete_is_a, is_not as complete_is_not, tag as complete_tag, take_while as complete_take_while, }; -use nom::bytes::streaming::{is_a, tag, take_until, take_while_m_n}; -use nom::character::complete::{ +use winnow::bytes::streaming::{is_a, tag, take_until, take_while_m_n}; +use winnow::character::complete::{ char as complete_char, digit0 as complete_digit0, digit1 as complete_digit1, one_of as complete_one_of, }; -use nom::character::streaming::{alphanumeric1, char, digit1, one_of, satisfy}; -use nom::combinator::{consumed, eof, map, not, opt, peek, recognize, success, value}; -use nom::error::{ErrorKind, ParseError}; -use nom::multi::{fold_many1, fold_many_m_n, many0_count, many1_count}; -use nom::sequence::{delimited, pair, preceded, separated_pair, terminated, tuple}; -use nom::{CompareResult, IResult, InputLength, InputTake, Needed, Parser}; +use winnow::character::streaming::{alphanumeric1, char, digit1, one_of, satisfy}; +use winnow::combinator::{consumed, eof, map, not, opt, peek, recognize, success, value}; +use winnow::error::Needed; +use winnow::error::{ErrorKind, ParseError}; +use winnow::multi::{fold_many1, fold_many_m_n, many0_count, many1_count}; +use winnow::sequence::{delimited, pair, preceded, separated_pair, terminated, tuple}; +use winnow::stream::{CompareResult, SliceLen}; +use winnow::Parser; use crate::lazy::decoder::{LazyRawFieldExpr, LazyRawValueExpr, RawValueExpr}; use crate::lazy::encoding::{TextEncoding, TextEncoding_1_0, TextEncoding_1_1}; @@ -229,7 +231,7 @@ impl<'top> TextBuffer<'top> { // This method is useful for parsers that need to match an optional construct but don't want // to return an Option<_>. For an example, see its use in `match_optional_whitespace`. fn match_nothing(self) -> IonMatchResult<'top> { - // Use nom's `success` parser to return an empty slice from the head position + // use winnow's `success` parser to return an empty slice from the head position success(self.slice(0, 0))(self) } @@ -313,13 +315,13 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(matched_major) .with_label("parsing an IVM major version") .with_description("value did not fit in an unsigned byte"); - nom::Err::Failure(IonParseError::Invalid(error)) + winnow::error::ErrMode::Cut(IonParseError::Invalid(error)) })?; let minor_version = u8::from_str(matched_minor.as_text().unwrap()).map_err(|_| { let error = InvalidInputError::new(matched_minor) .with_label("parsing an IVM minor version") .with_description("value did not fit in an unsigned byte"); - nom::Err::Failure(IonParseError::Invalid(error)) + winnow::error::ErrMode::Cut(IonParseError::Invalid(error)) })?; let marker = LazyRawTextVersionMarker::::new(matched_marker, major_version, minor_version); @@ -334,7 +336,9 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(matched) .with_description("the maximum supported annotations sequence length is 65KB") .with_label("parsing annotations"); - Err(nom::Err::Error(IonParseError::Invalid(error))) + Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + error, + ))) } else { Ok((remaining, matched)) } @@ -620,7 +624,7 @@ impl<'top> TextBuffer<'top> { // a keyword and then ends, that's incomplete input. We do this check ahead of regular // parsing because `match_symbol` will reject keywords as invalid (not incomplete). if terminated(Self::match_keyword, eof)(self).is_ok() { - return Err(nom::Err::Incomplete(Needed::Unknown)); + return Err(winnow::Err::Incomplete(Needed::Unknown)); } consumed(alt(( Self::match_string.map(MatchedFieldNameSyntax::String), @@ -808,7 +812,9 @@ impl<'top> TextBuffer<'top> { // If it doesn't start with [, it isn't a list. if self.bytes().first() != Some(&b'[') { let error = InvalidInputError::new(self); - return Err(nom::Err::Error(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + error, + ))); } // Scan ahead to find the end of this list. let list_body = self.slice_to_end(1); @@ -816,7 +822,7 @@ impl<'top> TextBuffer<'top> { let span = match sequence_iter.find_span() { Ok(span) => span, // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(nom::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -824,7 +830,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(self) .with_label("matching a list") .with_description(format!("{}", e)); - Err(nom::Err::Failure(IonParseError::Invalid(error))) + Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -852,7 +858,9 @@ impl<'top> TextBuffer<'top> { // If it doesn't start with [, it isn't a list. if self.bytes().first() != Some(&b'[') { let error = InvalidInputError::new(self); - return Err(nom::Err::Error(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + error, + ))); } // Scan ahead to find the end of this list. let list_body = self.slice_to_end(1); @@ -865,7 +873,7 @@ impl<'top> TextBuffer<'top> { { Ok((span, child_exprs)) => (span, child_exprs), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(nom::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -873,7 +881,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(self) .with_label("matching a v1.1 list") .with_description(format!("couldn't match span: {}", e)); - Err(nom::Err::Failure(IonParseError::Invalid(error))) + Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -896,7 +904,9 @@ impl<'top> TextBuffer<'top> { > { if self.bytes().first() != Some(&b'(') { let error = InvalidInputError::new(self); - return Err(nom::Err::Error(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + error, + ))); } // Scan ahead to find the end of this sexp let sexp_body = self.slice_to_end(1); @@ -905,7 +915,9 @@ impl<'top> TextBuffer<'top> { match TextSExpSpanFinder_1_1::new(self.context.allocator(), sexp_iter).find_span(1) { Ok((span, child_expr_cache)) => (span, child_expr_cache), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(nom::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => { + return Err(winnow::Err::Incomplete(Needed::Unknown)) + } // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -913,7 +925,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(self) .with_label("matching a 1.1 sexp") .with_description(format!("{}", e)); - Err(nom::Err::Failure(IonParseError::Invalid(error))) + Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -988,7 +1000,9 @@ impl<'top> TextBuffer<'top> { pub fn match_sexp(self) -> IonMatchResult<'top> { if self.bytes().first() != Some(&b'(') { let error = InvalidInputError::new(self); - return Err(nom::Err::Error(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + error, + ))); } // Scan ahead to find the end of this sexp let sexp_body = self.slice_to_end(1); @@ -996,7 +1010,7 @@ impl<'top> TextBuffer<'top> { let span = match sexp_iter.find_span(1) { Ok(span) => span, // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(nom::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1004,7 +1018,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(self) .with_label("matching a sexp") .with_description(format!("{}", e)); - Err(nom::Err::Failure(IonParseError::Invalid(error))) + Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -1021,7 +1035,9 @@ impl<'top> TextBuffer<'top> { // If it doesn't start with {, it isn't a struct. if self.bytes().first() != Some(&b'{') { let error = InvalidInputError::new(self); - return Err(nom::Err::Error(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + error, + ))); } // Scan ahead to find the end of this struct. let struct_body = self.slice_to_end(1); @@ -1029,7 +1045,7 @@ impl<'top> TextBuffer<'top> { let span = match struct_iter.find_span() { Ok(span) => span, // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(nom::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1037,7 +1053,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(self) .with_label("matching a struct") .with_description(format!("{}", e)); - Err(nom::Err::Failure(IonParseError::Invalid(error))) + Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -1060,7 +1076,9 @@ impl<'top> TextBuffer<'top> { // If it doesn't start with {, it isn't a struct. if self.bytes().first() != Some(&b'{') { let error = InvalidInputError::new(self); - return Err(nom::Err::Error(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + error, + ))); } // Scan ahead to find the end of this struct. let struct_body = self.slice_to_end(1); @@ -1073,7 +1091,7 @@ impl<'top> TextBuffer<'top> { { Ok((span, fields)) => (span, fields), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(nom::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1081,7 +1099,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(self) .with_label("matching a v1.1 struct") .with_description(format!("{}", e)); - Err(nom::Err::Failure(IonParseError::Invalid(error))) + Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -1137,7 +1155,9 @@ impl<'top> TextBuffer<'top> { { Ok((span, child_expr_cache)) => (span, child_expr_cache), // If the complete group isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(nom::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => { + return Err(winnow::Err::Incomplete(Needed::Unknown)) + } // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1145,7 +1165,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(self) .with_label("matching an e-expression argument group") .with_description(format!("{}", e)); - Err(nom::Err::Failure(IonParseError::Invalid(error))) + Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -1227,7 +1247,7 @@ impl<'top> TextBuffer<'top> { if input_after_id.is_empty() { // Unlike a symbol value with identifier syntax, an e-expression identifier cannot be // the last thing in the stream. - return Err(nom::Err::Incomplete(Needed::Unknown)); + return Err(winnow::Err::Incomplete(Needed::Unknown)); }; Ok((input_after_id, id)) } @@ -1245,7 +1265,7 @@ impl<'top> TextBuffer<'top> { .macro_table() .macro_with_id(id) .ok_or_else(|| { - nom::Err::Failure(IonParseError::Invalid( + winnow::error::ErrMode::Cut(IonParseError::Invalid( InvalidInputError::new(self) .with_description(format!("could not find macro with id {:?}", id)), )) @@ -1275,7 +1295,7 @@ impl<'top> TextBuffer<'top> { } let (remaining, _end_of_eexp) = match whitespace_and_then(tag(")")).parse(remaining) { Ok(result) => result, - Err(nom::Err::Incomplete(needed)) => return Err(nom::Err::Incomplete(needed)), + Err(winnow::Err::Incomplete(needed)) => return Err(winnow::Err::Incomplete(needed)), Err(_e) => { return fatal_parse_error( remaining, @@ -1420,7 +1440,7 @@ impl<'top> TextBuffer<'top> { parameter: &'top Parameter, ) -> IonParseResult<'top, Option>> { if self.match_empty_arg_group(parameter).is_ok() { - return Err(nom::Err::Failure(IonParseError::Invalid( + return Err(winnow::error::ErrMode::Cut(IonParseError::Invalid( InvalidInputError::new(self).with_description(format!( "parameter '{}' is one-or-more (`+`) and cannot accept an empty stream", parameter.name() @@ -1436,7 +1456,7 @@ impl<'top> TextBuffer<'top> { parameter: &'top Parameter, ) -> IonParseResult<'top, TextEExpArgGroup<'top>> { if parameter.rest_syntax_policy() == RestSyntaxPolicy::NotAllowed { - return Err(nom::Err::Error(IonParseError::Invalid( + return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( InvalidInputError::new(self) .with_description("parameter does not support rest syntax"), ))); @@ -1550,7 +1570,7 @@ impl<'top> TextBuffer<'top> { // One or more digits pair( one_of("01"), - many0_count(nom::character::complete::one_of("01")), + many0_count(winnow::character::complete::one_of("01")), ), ))(self) } @@ -1957,7 +1977,9 @@ impl<'top> TextBuffer<'top> { // If the next thing in input is the terminator, report success. match peek(&mut terminator)(remaining) { Ok(_) => return Ok((remaining, matched)), - Err(nom::Err::Incomplete(_)) => return Err(nom::Err::Incomplete(Needed::Unknown)), + Err(winnow::Err::Incomplete(_)) => { + return Err(winnow::Err::Incomplete(Needed::Unknown)) + } _ => { // no match } @@ -1968,7 +1990,7 @@ impl<'top> TextBuffer<'top> { return incomplete(); } - Err(nom::Err::Error(IonParseError::Invalid( + Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( InvalidInputError::new(remaining).with_label(label), ))) } @@ -2026,7 +2048,7 @@ impl<'top> TextBuffer<'top> { // If the buffer is a single quote and then EOF, it's not known whether this was a // partial long string segment or a partial quoted symbol. if self.bytes() == b"'" { - return Err(nom::Err::Incomplete(Needed::Unknown)); + return Err(winnow::Err::Incomplete(Needed::Unknown)); } delimited( complete_tag("'''"), @@ -2112,7 +2134,7 @@ impl<'top> TextBuffer<'top> { Self::identifier_terminator, ))(self)?; if identifier_text.match_keyword().is_ok() { - return Err(nom::Err::Error(IonParseError::Invalid( + return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( InvalidInputError::new(self), ))); } @@ -2135,7 +2157,7 @@ impl<'top> TextBuffer<'top> { fn identifier_trailing_character(self) -> IonParseResult<'top, Self> { recognize(alt(( complete_one_of("$_"), - nom::character::complete::satisfy(|c| c.is_ascii_alphanumeric()), + winnow::character::complete::satisfy(|c| c.is_ascii_alphanumeric()), )))(self) } @@ -2207,7 +2229,7 @@ impl<'top> TextBuffer<'top> { } } } - Err(nom::Err::Incomplete(Needed::Unknown)) + Err(winnow::Err::Incomplete(Needed::Unknown)) } #[cold] @@ -2220,12 +2242,12 @@ impl<'top> TextBuffer<'top> { if byte == b'\n' && !allow_unescaped_newlines { let error = InvalidInputError::new(self.slice_to_end(index)) .with_description("unescaped newlines are not allowed in short string literals"); - return Err(nom::Err::Failure(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))); } if !WHITESPACE_CHARACTERS_AS_STR.as_bytes().contains(&byte) { let error = InvalidInputError::new(self.slice_to_end(index)) .with_description("unescaped control characters are not allowed in text literals"); - return Err(nom::Err::Failure(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))); } Ok((self.slice_to_end(1), ())) } @@ -2538,7 +2560,7 @@ impl<'top> TextBuffer<'top> { if !Self::byte_is_legal_clob_ascii(byte) { let message = format!("found an illegal byte '{:0x}' in clob", byte); let error = InvalidInputError::new(self).with_description(message); - return Err(nom::Err::Failure(IonParseError::Invalid(error))); + return Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))); } } // Return success without consuming @@ -2582,53 +2604,93 @@ impl<'top> TextBuffer<'top> { // As `TextBuffer` is just a wrapper around a `&[u8]`, these implementations mostly delegate // to the existing trait impls for `&[u8]`. -impl nom::InputTake for TextBuffer<'_> { - fn take(&self, count: usize) -> Self { - self.slice(0, count) - } - - fn take_split(&self, count: usize) -> (Self, Self) { - let (before, after) = self.data.split_at(count); - let buffer_before = TextBuffer::new_with_offset(self.context, before, self.offset()); - let buffer_after = TextBuffer::new_with_offset(self.context, after, self.offset() + count); - // Nom's convention is to place the remaining portion of the buffer first, which leads to - // a potentially surprising reversed tuple order. - (buffer_after, buffer_before) - } -} - -impl nom::InputLength for TextBuffer<'_> { - fn input_len(&self) -> usize { +// impl winnow::InputTake for TextBuffer<'_> { +// fn take(&self, count: usize) -> Self { +// self.slice(0, count) +// } +// +// fn take_split(&self, count: usize) -> (Self, Self) { +// let (before, after) = self.data.split_at(count); +// let buffer_before = TextBuffer::new_with_offset(self.context, before, self.offset()); +// let buffer_after = TextBuffer::new_with_offset(self.context, after, self.offset() + count); +// // Nom's convention is to place the remaining portion of the buffer first, which leads to +// // a potentially surprising reversed tuple order. +// (buffer_after, buffer_before) +// } +// } + +// impl winnow::InputLength for TextBuffer<'_> { +// fn input_len(&self) -> usize { +// self.len() +// } +// } + +impl SliceLen for TextBuffer<'_> { + fn slice_len(&self) -> usize { self.len() } } -impl<'data> nom::InputIter for TextBuffer<'data> { - type Item = u8; - type Iter = Enumerate; - type IterElem = Copied>; +impl<'data> winnow::stream::Stream for TextBuffer<'data> { + type Token = u8; + type Slice = Self; + type IterOffsets = <&'data [u8] as winnow::stream::Stream>::IterOffsets; + + fn iter_offsets(&self) -> Self::IterOffsets { + self.data.iter_offsets() + } - fn iter_indices(&self) -> Self::Iter { - self.iter_elements().enumerate() + fn eof_offset(&self) -> usize { + self.data.eof_offset() } - fn iter_elements(&self) -> Self::IterElem { - self.data.iter().copied() + fn next_token(&self) -> Option<(Self, Self::Token)> { + let first_byte = *self.data.first()?; + Some((self.slice_to_end(1), first_byte)) } - fn position

(&self, predicate: P) -> Option + fn offset_for

(&self, predicate: P) -> Option where - P: Fn(Self::Item) -> bool, + P: Fn(Self::Token) -> bool, { - self.data.iter().position(|b| predicate(*b)) + self.data.offset_for(predicate) } - fn slice_index(&self, count: usize) -> Result { - self.data.slice_index(count) + fn offset_at(&self, tokens: usize) -> Result { + self.data.offset_at(tokens) } -} -impl<'a> nom::Compare<&'a str> for TextBuffer<'_> { + fn next_slice(&self, offset: usize) -> (Self, Self::Slice) { + (self.slice_to_end(offset), self.slice(0, offset)) + } +} +// +// impl<'data> winnow::InputIter for TextBuffer<'data> { +// type Item = u8; +// type Iter = Enumerate; +// type IterElem = Copied>; +// +// fn iter_indices(&self) -> Self::Iter { +// self.iter_elements().enumerate() +// } +// +// fn iter_elements(&self) -> Self::IterElem { +// self.data.iter().copied() +// } +// +// fn position

(&self, predicate: P) -> Option +// where +// P: Fn(Self::Item) -> bool, +// { +// self.data.iter().position(|b| predicate(*b)) +// } +// +// fn slice_index(&self, count: usize) -> Result { +// self.data.slice_index(count) +// } +// } +// +impl<'a> winnow::stream::Compare<&'a str> for TextBuffer<'_> { fn compare(&self, t: &'a str) -> CompareResult { self.data.compare(t.as_bytes()) } @@ -2638,98 +2700,98 @@ impl<'a> nom::Compare<&'a str> for TextBuffer<'_> { } } -impl nom::Offset for TextBuffer<'_> { - fn offset(&self, second: &Self) -> usize { - self.data.offset(second.data) +impl winnow::stream::Offset for TextBuffer<'_> { + fn offset_to(&self, second: &Self) -> usize { + second.offset - self.offset } } -impl nom::Slice> for TextBuffer<'_> { - fn slice(&self, range: RangeFrom) -> Self { - self.slice_to_end(range.start) - } -} +// impl winnow::Slice> for TextBuffer<'_> { +// fn slice(&self, range: RangeFrom) -> Self { +// self.slice_to_end(range.start) +// } +// } -impl nom::Slice> for TextBuffer<'_> { - fn slice(&self, range: RangeTo) -> Self { - self.slice(0, range.end) - } -} +// impl winnow::Slice> for TextBuffer<'_> { +// fn slice(&self, range: RangeTo) -> Self { +// self.slice(0, range.end) +// } +// } -impl nom::FindSubstring<&str> for TextBuffer<'_> { - fn find_substring(&self, substr: &str) -> Option { - self.data.find_substring(substr) +impl winnow::stream::FindSlice<&str> for TextBuffer<'_> { + fn find_slice(&self, slice: &str) -> Option { + self.data.find_slice(slice) } } -impl nom::InputTakeAtPosition for TextBuffer<'_> { - type Item = u8; - - fn split_at_position>(&self, predicate: P) -> IResult - where - P: Fn(Self::Item) -> bool, - { - match self.data.iter().position(|c| predicate(*c)) { - Some(i) => Ok(self.take_split(i)), - None => Err(nom::Err::Incomplete(Needed::new(1))), - } - } - - fn split_at_position1>( - &self, - predicate: P, - e: ErrorKind, - ) -> IResult - where - P: Fn(Self::Item) -> bool, - { - match self.data.iter().position(|c| predicate(*c)) { - Some(0) => Err(nom::Err::Error(E::from_error_kind(*self, e))), - Some(i) => Ok(self.take_split(i)), - None => Err(nom::Err::Incomplete(Needed::new(1))), - } - } - - fn split_at_position_complete>( - &self, - predicate: P, - ) -> IResult - where - P: Fn(Self::Item) -> bool, - { - match self.data.iter().position(|c| predicate(*c)) { - Some(i) => Ok(self.take_split(i)), - None => Ok(self.take_split(self.input_len())), - } - } - - fn split_at_position1_complete>( - &self, - predicate: P, - e: ErrorKind, - ) -> IResult - where - P: Fn(Self::Item) -> bool, - { - match self.data.iter().position(|c| predicate(*c)) { - Some(0) => Err(nom::Err::Error(E::from_error_kind(*self, e))), - Some(i) => Ok(self.take_split(i)), - None => { - if self.is_empty() { - Err(nom::Err::Error(E::from_error_kind(*self, e))) - } else { - Ok(self.take_split(self.input_len())) - } - } - } - } -} +// impl winnow::InputTakeAtPosition for TextBuffer<'_> { +// type Item = u8; +// +// fn split_at_position>(&self, predicate: P) -> IResult +// where +// P: Fn(Self::Item) -> bool, +// { +// match self.data.iter().position(|c| predicate(*c)) { +// Some(i) => Ok(self.take_split(i)), +// None => Err(winnow::Err::Incomplete(Needed::new(1))), +// } +// } +// +// fn split_at_position1>( +// &self, +// predicate: P, +// e: ErrorKind, +// ) -> IResult +// where +// P: Fn(Self::Item) -> bool, +// { +// match self.data.iter().position(|c| predicate(*c)) { +// Some(0) => Err(winnow::error::ErrMode::Backtrack(E::from_error_kind(*self, e))), +// Some(i) => Ok(self.take_split(i)), +// None => Err(winnow::Err::Incomplete(Needed::new(1))), +// } +// } +// +// fn split_at_position_complete>( +// &self, +// predicate: P, +// ) -> IResult +// where +// P: Fn(Self::Item) -> bool, +// { +// match self.data.iter().position(|c| predicate(*c)) { +// Some(i) => Ok(self.take_split(i)), +// None => Ok(self.take_split(self.input_len())), +// } +// } +// +// fn split_at_position1_complete>( +// &self, +// predicate: P, +// e: ErrorKind, +// ) -> IResult +// where +// P: Fn(Self::Item) -> bool, +// { +// match self.data.iter().position(|c| predicate(*c)) { +// Some(0) => Err(winnow::error::ErrMode::Backtrack(E::from_error_kind(*self, e))), +// Some(i) => Ok(self.take_split(i)), +// None => { +// if self.is_empty() { +// Err(winnow::error::ErrMode::Backtrack(E::from_error_kind(*self, e))) +// } else { +// Ok(self.take_split(self.input_len())) +// } +// } +// } +// } +// } // === end of `nom` trait implementations /// Convenience function to construct a nom `Incomplete` and wrap it in an `IonParseResult` fn incomplete<'a, T>() -> IonParseResult<'a, T> { - Err(nom::Err::Incomplete(Needed::Unknown)) + Err(winnow::Err::Incomplete(Needed::Unknown)) } /// Takes a given parser and returns a new one that accepts any amount of leading whitespace before diff --git a/src/lazy/text/matched.rs b/src/lazy/text/matched.rs index 9c822bda..f848a41f 100644 --- a/src/lazy/text/matched.rs +++ b/src/lazy/text/matched.rs @@ -26,13 +26,14 @@ use std::str::FromStr; use bumpalo::collections::Vec as BumpVec; use bumpalo::Bump as BumpAllocator; use ice_code::ice as cold_path; -use nom::branch::alt; -use nom::bytes::streaming::tag; -use nom::character::is_hex_digit; -use nom::sequence::preceded; -use nom::{AsBytes, AsChar, Parser}; use num_traits::Zero; use smallvec::SmallVec; +use winnow::branch::alt; +use winnow::bytes::streaming::tag; +use winnow::character::is_hex_digit; +use winnow::sequence::preceded; +use winnow::stream::{AsBytes, AsChar}; +use winnow::Parser; use crate::decimal::coefficient::Coefficient; use crate::lazy::bytes_ref::BytesRef; @@ -1102,7 +1103,7 @@ impl MatchedBlob { .filter(|b| !b.is_ascii_whitespace()); sanitized_base64_text.extend(non_whitespaces_bytes); base64::decode_config_slice( - sanitized_base64_text.as_bytes(), + sanitized_base64_text.as_slice(), base64::STANDARD, decoding_buffer.as_mut_slice(), ) diff --git a/src/lazy/text/parse_result.rs b/src/lazy/text/parse_result.rs index 1a0ac151..106f5c3a 100644 --- a/src/lazy/text/parse_result.rs +++ b/src/lazy/text/parse_result.rs @@ -5,24 +5,24 @@ //! typical parse will require creating large numbers of short-lived error values. //! //! This module defines `IonParseError`, a custom error type that can capture more information than is -//! supported by [`nom::error::Error`]. It also defines `IonParseResult`, a type alias for an +//! supported by [`winnow::error::Error`]. It also defines `IonParseResult`, a type alias for an //! [`IResult`] that parses `TextBuffer`s and produces `IonParseError`s if something goes wrong. use crate::lazy::text::buffer::TextBuffer; use crate::position::Position; use crate::result::{DecodingError, IonFailure}; use crate::{IonError, IonResult}; -use nom::error::{Error as NomError, ErrorKind, ParseError}; -use nom::{Err, IResult}; use std::borrow::Cow; use std::fmt::{Debug, Display}; +use winnow::error::{Error as NomError, ErrorKind, ParseError}; +use winnow::{Err, IResult}; /// A type alias for a [`IResult`] whose input is a `TextBuffer` and whose error type is an /// [`InvalidInputError`]. All of the Ion parsers in the `text::parsers` module return an /// [`IonParseResult`]. /// /// If the parser is successful, it will return `Ok(output_value)`. If it encounters a problem, -/// it will return a `nom::Err`. [nom::Err] is a generic enum with three possible +/// it will return a `winnow::Err`. [winnow::Err] is a generic enum with three possible /// variants: /// 1. `Incomplete(_)` indicates that there wasn't enough input data to determine whether the /// parser should match or not. @@ -38,7 +38,7 @@ use std::fmt::{Debug, Display}; pub(crate) type IonParseResult<'a, O> = IResult, O, IonParseError<'a>>; // Functions that return IonParseResult parse TextBuffer-^ ^ ^ // ...return a value of type `O` -----+ | -// ...or a nom::Err if something goes wrong ----+ +// ...or a winnow::Err if something goes wrong ----+ /// As above, but for parsers that simply identify (i.e. 'match') a slice of the input as a /// particular item. @@ -55,8 +55,8 @@ pub enum IonParseError<'data> { /// Describes a problem that occurred while trying to parse a given input `TextBuffer`. /// /// When returned as part of an `IonParseResult`, an `IonParseError` is always wrapped in -/// a [nom::Err] (see `IonParseResult`'s documentation for details). If the `nom::Err` is -/// a non-fatal `Error`, the `IonParseError`'s `description` will be `None`. If the `nom::Err` is +/// a [winnow::Err] (see `IonParseResult`'s documentation for details). If the `winnow::Err` is +/// a non-fatal `Error`, the `IonParseError`'s `description` will be `None`. If the `winnow::Err` is /// a fatal `Failure`, the `description` will be `Some(String)`. In this way, using an /// `IonParseError` only incurs heap allocation costs when parsing is coming to an end. #[derive(Debug, PartialEq)] @@ -196,12 +196,13 @@ impl From> for IonError { } } -impl<'data> From>> for IonParseError<'data> { +impl<'data> From>> for IonParseError<'data> { fn from(value: Err>) -> Self { + use winnow::error::ErrMode::*; match value { - Err::Incomplete(_) => IonParseError::Incomplete, - Err::Error(e) => e, - Err::Failure(e) => e, + Incomplete(_) => IonParseError::Incomplete, + Backtrack(e) => e, + Cut(e) => e, } } } @@ -216,11 +217,11 @@ impl<'data> From<(TextBuffer<'data>, ErrorKind)> for IonParseError<'data> { } } -/// Allows a [nom::error::Error] to be converted into an [IonParseError] by calling `.into()`. +/// Allows a [winnow::error::Error] to be converted into an [IonParseError] by calling `.into()`. impl<'data> From>> for IonParseError<'data> { fn from(nom_error: NomError>) -> Self { InvalidInputError::new(nom_error.input) - .with_nom_error_kind(nom_error.code) + .with_nom_error_kind(nom_error.kind) .into() } } @@ -233,11 +234,11 @@ impl<'data> ParseError> for IonParseError<'data> { .into() } - fn append(_input: TextBuffer<'data>, _kind: ErrorKind, other: Self) -> Self { + fn append(self, input: TextBuffer<'data>, _kind: ErrorKind) -> Self { // When an error stack is being built, this method is called to give the error // type an opportunity to aggregate the errors into a collection or a more descriptive // message. For now, we simply allow the most recent error to take precedence. - other + IonParseError::Invalid(InvalidInputError::new(input)) } } @@ -259,7 +260,7 @@ impl<'data, T> ToIteratorOutput<'data, T> for IonResult<(TextBuffer<'data>, Opti } /// Converts the output of a text Ion parser (any of `IonParseResult`, `IonParseError`, -/// or `nom::Err`) into a general-purpose `IonResult`. If the implementing type +/// or `winnow::Err`) into a general-purpose `IonResult`. If the implementing type /// does not have its own `label` and `input`, the specified values will be used. pub(crate) trait AddContext<'data, T> { fn with_context<'a>( @@ -271,7 +272,7 @@ pub(crate) trait AddContext<'data, T> { 'data: 'a; } -impl<'data, T> AddContext<'data, T> for nom::Err> { +impl<'data, T> AddContext<'data, T> for winnow::Err> { fn with_context<'a>( self, label: impl Into>, @@ -326,13 +327,13 @@ impl<'data, T> AddContext<'data, T> for IonParseResult<'data, T> { } } -/// Constructs a `nom::Err::Failure` that contains an `IonParseError` describing the problem +/// Constructs a `winnow::error::ErrMode::Cut` that contains an `IonParseError` describing the problem /// that was encountered. pub(crate) fn fatal_parse_error>, O>( input: TextBuffer<'_>, description: D, ) -> IonParseResult<'_, O> { - Err(nom::Err::Failure( + Err(winnow::error::ErrMode::Cut( InvalidInputError::new(input) .with_description(description) .into(), diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index 0051d27b..766f2456 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -4,7 +4,7 @@ use std::fmt; use std::fmt::{Debug, Formatter}; use std::ops::Range; -use nom::character::streaming::satisfy; +use winnow::character::streaming::satisfy; use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ diff --git a/src/lazy/text/raw/struct.rs b/src/lazy/text/raw/struct.rs index 7d2a821a..e7ebd978 100644 --- a/src/lazy/text/raw/struct.rs +++ b/src/lazy/text/raw/struct.rs @@ -2,7 +2,7 @@ use std::ops::Range; -use nom::character::streaming::satisfy; +use winnow::character::streaming::satisfy; use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ diff --git a/src/lazy/text/raw/v1_1/reader.rs b/src/lazy/text/raw/v1_1/reader.rs index 7ca801a5..884be4cd 100644 --- a/src/lazy/text/raw/v1_1/reader.rs +++ b/src/lazy/text/raw/v1_1/reader.rs @@ -24,7 +24,7 @@ use crate::lazy::text::raw::v1_1::arg_group::{EExpArg, TextEExpArgGroup}; use crate::lazy::text::value::{LazyRawTextValue_1_1, RawTextAnnotationsIterator}; use crate::{v1_1, Encoding, IonResult, IonType, RawSymbolRef}; use bumpalo::collections::Vec as BumpVec; -use nom::character::streaming::satisfy; +use winnow::character::streaming::satisfy; pub struct LazyRawTextReader_1_1<'data> { input: &'data [u8], diff --git a/src/lazy/text/value.rs b/src/lazy/text/value.rs index 410c9737..71bdd6a0 100644 --- a/src/lazy/text/value.rs +++ b/src/lazy/text/value.rs @@ -248,7 +248,7 @@ impl<'top> Iterator for RawTextAnnotationsIterator<'top> { // Match the first annotation in the input. In order for this iterator to be created, // the parser already successfully matched this input once before, so we know it will succeed. - use nom::Parser; + use winnow::Parser; let (remaining, (symbol, span)) = TextBuffer::match_annotation .parse(self.input) .expect("annotations were already matched successfully by this parser"); diff --git a/tests/ion_hash_tests.rs b/tests/ion_hash_tests.rs index b2da287e..bb088ad8 100644 --- a/tests/ion_hash_tests.rs +++ b/tests/ion_hash_tests.rs @@ -75,11 +75,7 @@ fn without_trailing_zeros(data: &[u8]) -> &[u8] { return data; } - let index = data - .as_ref() - .iter() - .rposition(|byte| *byte != 0x00) - .unwrap(); + let index = data.iter().rposition(|byte| *byte != 0x00).unwrap(); &data[0..=index] } From 092032e9fbdbdb1c7385314dcfb819d3e2b19fdb Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Sun, 29 Dec 2024 07:46:39 +0100 Subject: [PATCH 06/32] wip; migrated to v0.38.0 --- src/lazy/any_encoding.rs | 215 +++--- src/lazy/binary/raw/reader.rs | 79 +- src/lazy/binary/raw/struct.rs | 6 +- src/lazy/binary/raw/v1_1/reader.rs | 323 +++----- src/lazy/binary/raw/value.rs | 6 +- src/lazy/decoder.rs | 21 +- src/lazy/encoder/text/v1_1/writer.rs | 8 +- src/lazy/encoder/value_writer.rs | 1 + src/lazy/raw_value_ref.rs | 10 +- src/lazy/streaming_raw_reader.rs | 63 +- src/lazy/text/buffer.rs | 1020 +++++++++++++------------- src/lazy/text/matched.rs | 21 +- src/lazy/text/parse_result.rs | 10 +- src/lazy/text/raw/reader.rs | 116 ++- src/lazy/text/raw/sequence.rs | 11 +- src/lazy/text/raw/struct.rs | 20 +- src/lazy/text/raw/v1_1/reader.rs | 104 ++- src/lazy/text/value.rs | 6 +- 18 files changed, 962 insertions(+), 1078 deletions(-) diff --git a/src/lazy/any_encoding.rs b/src/lazy/any_encoding.rs index 24d5489c..56bbdf9b 100644 --- a/src/lazy/any_encoding.rs +++ b/src/lazy/any_encoding.rs @@ -1,8 +1,5 @@ #![allow(non_camel_case_types)] -use std::fmt::Debug; -use std::ops::Range; - use crate::lazy::binary::raw::annotations_iterator::RawBinaryAnnotationsIterator as RawBinaryAnnotationsIterator_1_0; use crate::lazy::binary::raw::r#struct::{ LazyRawBinaryFieldName_1_0, LazyRawBinaryStruct_1_0, RawBinaryStructIterator_1_0, @@ -66,6 +63,8 @@ use crate::lazy::text::value::{ }; use crate::symbol_table::{SystemSymbolTable, SYSTEM_SYMBOLS_1_0, SYSTEM_SYMBOLS_1_1}; use crate::{try_next, Encoding, IonResult, IonType, RawStreamItem, RawSymbolRef}; +use std::fmt::Debug; +use std::ops::Range; /// An implementation of the `LazyDecoder` trait that can read any encoding of Ion. #[derive(Debug, Clone, Copy)] @@ -481,32 +480,32 @@ pub enum RawReaderKind<'data> { impl<'data> RawReaderKind<'data> { fn resume_at_offset( - data: &'data [u8], - stream_offset: usize, - encoding_hint: IonEncoding, + context: EncodingContextRef<'data>, + saved_state: RawReaderState<'data>, ) -> RawReaderKind<'data> { use IonEncoding::*; - match encoding_hint { - Text_1_0 => RawReaderKind::Text_1_0(LazyRawTextReader_1_0::resume_at_offset( - data, - stream_offset, - encoding_hint, - )), - Binary_1_0 => RawReaderKind::Binary_1_0(LazyRawBinaryReader_1_0::resume_at_offset( - data, - stream_offset, - encoding_hint, - )), - Text_1_1 => RawReaderKind::Text_1_1(LazyRawTextReader_1_1::resume_at_offset( - data, - stream_offset, - encoding_hint, - )), - Binary_1_1 => RawReaderKind::Binary_1_1(LazyRawBinaryReader_1_1::resume_at_offset( - data, - stream_offset, - encoding_hint, - )), + match saved_state.encoding() { + Text_1_0 => { + RawReaderKind::Text_1_0(LazyRawTextReader_1_0::resume(context, saved_state)) + } + Binary_1_0 => { + RawReaderKind::Binary_1_0(LazyRawBinaryReader_1_0::resume(context, saved_state)) + } + Text_1_1 => { + RawReaderKind::Text_1_1(LazyRawTextReader_1_1::resume(context, saved_state)) + } + Binary_1_1 => { + RawReaderKind::Binary_1_1(LazyRawBinaryReader_1_1::resume(context, saved_state)) + } + } + } + + fn context(&self) -> EncodingContextRef<'data> { + match self { + RawReaderKind::Text_1_0(r) => r.context(), + RawReaderKind::Binary_1_0(r) => r.context(), + RawReaderKind::Text_1_1(r) => r.context(), + RawReaderKind::Binary_1_1(r) => r.context(), } } } @@ -603,29 +602,28 @@ impl<'data> From> for LazyRawAnyReader<'data> { } impl<'data> LazyRawReader<'data, AnyEncoding> for LazyRawAnyReader<'data> { - fn new(data: &'data [u8]) -> Self { - Self::resume_at_offset(data, 0, IonEncoding::default()) + fn new(context: EncodingContextRef<'data>, data: &'data [u8], is_final_data: bool) -> Self { + let encoding = Self::detect_encoding(data); + let state = RawReaderState::new(data, 0, is_final_data, encoding); + LazyRawAnyReader { + new_encoding: None, + encoding_reader: RawReaderKind::resume_at_offset(context, state), + } } - fn resume_at_offset(data: &'data [u8], offset: usize, mut encoding_hint: IonEncoding) -> Self { + fn resume(context: EncodingContextRef<'data>, mut saved_state: RawReaderState<'data>) -> Self { + let offset = saved_state.offset(); + let data = saved_state.data(); if offset == 0 { - // If we're at the beginning of the stream, the provided `encoding_hint` may be a + // If we're at the beginning of the stream, the saved state's encoding may be a // default. We need to inspect the bytes to see if we should override it. - encoding_hint = Self::detect_encoding(data); + saved_state.set_encoding(Self::detect_encoding(data)); } - match encoding_hint { - IonEncoding::Text_1_0 => { - LazyRawTextReader_1_0::resume_at_offset(data, offset, encoding_hint).into() - } - IonEncoding::Binary_1_0 => { - LazyRawBinaryReader_1_0::resume_at_offset(data, offset, encoding_hint).into() - } - IonEncoding::Text_1_1 => { - LazyRawTextReader_1_1::resume_at_offset(data, offset, encoding_hint).into() - } - IonEncoding::Binary_1_1 => { - LazyRawBinaryReader_1_1::resume_at_offset(data, offset, encoding_hint).into() - } + match saved_state.encoding() { + IonEncoding::Text_1_0 => LazyRawTextReader_1_0::resume(context, saved_state).into(), + IonEncoding::Binary_1_0 => LazyRawBinaryReader_1_0::resume(context, saved_state).into(), + IonEncoding::Text_1_1 => LazyRawTextReader_1_1::resume(context, saved_state).into(), + IonEncoding::Binary_1_1 => LazyRawBinaryReader_1_1::resume(context, saved_state).into(), } } @@ -640,36 +638,33 @@ impl<'data> LazyRawReader<'data, AnyEncoding> for LazyRawAnyReader<'data> { // If we hit an IVM that changed the encoding but we haven't changed our reader yet, // we still want to report the new encoding. if let Some(new_encoding) = self.new_encoding { - return RawReaderState::new(reader_state.data(), reader_state.offset(), new_encoding); + return RawReaderState::new( + reader_state.data(), + reader_state.offset(), + reader_state.is_final_data(), + new_encoding, + ); } reader_state } - fn next<'top>( - &'top mut self, - context: EncodingContextRef<'top>, - ) -> IonResult> - where - 'data: 'top, - { + fn next(&mut self) -> IonResult> { // If we previously ran into an IVM that changed the stream encoding, replace our reader // with one that can read the new encoding. if let Some(new_encoding) = self.new_encoding.take() { - let reader_state = self.save_state(); - let new_encoding_reader = RawReaderKind::resume_at_offset( - reader_state.data(), - reader_state.offset(), - new_encoding, - ); + let mut reader_state = self.save_state(); + reader_state.set_encoding(new_encoding); + let new_encoding_reader = + RawReaderKind::resume_at_offset(self.encoding_reader.context(), reader_state); self.encoding_reader = new_encoding_reader; } use RawReaderKind::*; let item: LazyRawStreamItem<'_, AnyEncoding> = match &mut self.encoding_reader { - Text_1_0(r) => r.next(context)?.into(), + Text_1_0(r) => r.next()?.into(), Binary_1_0(r) => r.next()?.into(), - Text_1_1(r) => r.next(context)?.into(), - Binary_1_1(r) => r.next(context)?.into(), + Text_1_1(r) => r.next()?.into(), + Binary_1_1(r) => r.next()?.into(), }; // If this item is an IVM: @@ -1751,44 +1746,34 @@ mod tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let mut reader = LazyRawAnyReader::new(data); - assert_eq!(reader.next(context)?.expect_ivm()?.major_minor(), (1, 0)); - let _strukt = reader - .next(context)? - .expect_value()? - .read()? - .expect_struct()?; - let name = reader.next(context)?.expect_value()?; + let mut reader = LazyRawAnyReader::new(context, data, true); + assert_eq!(reader.next()?.expect_ivm()?.major_minor(), (1, 0)); + let _strukt = reader.next()?.expect_value()?.read()?.expect_struct()?; + let name = reader.next()?.expect_value()?; assert_eq!( name.annotations().next().unwrap()?, RawSymbolRef::SymbolId(4) ); assert_eq!(name.read()?.expect_string()?.text(), "Gary"); assert_eq!( - reader.next(context)?.expect_value()?.read()?, + reader.next()?.expect_value()?.read()?, RawValueRef::String("foo".into()) ); assert_eq!( - reader.next(context)?.expect_value()?.read()?, + reader.next()?.expect_value()?.read()?, RawValueRef::Int(5.into()) ); assert_eq!( - reader.next(context)?.expect_value()?.read()?, + reader.next()?.expect_value()?.read()?, RawValueRef::Timestamp(Timestamp::with_year(2023).with_month(8).build()?) ); assert_eq!( - reader.next(context)?.expect_value()?.read()?, + reader.next()?.expect_value()?.read()?, RawValueRef::Bool(false) ); let mut sum = 0; - for lazy_value_result in reader - .next(context)? - .expect_value()? - .read()? - .expect_list()? - .iter() - { + for lazy_value_result in reader.next()?.expect_value()?.read()?.expect_list()?.iter() { sum += lazy_value_result?.expect_value()?.read()?.expect_i64()?; } assert_eq!(sum, 6); @@ -1797,7 +1782,7 @@ mod tests { // local symbol table and the raw reader interprets that as a different value. assert!(matches!( - reader.next(context)?, + reader.next()?, LazyRawStreamItem::::EndOfStream(_) )); Ok(()) @@ -1822,7 +1807,6 @@ mod tests { } fn expect_version_change( - context_ref: EncodingContextRef<'_>, reader: &mut LazyRawAnyReader<'_>, encoding_before: IonEncoding, encoding_after: IonEncoding, @@ -1830,7 +1814,7 @@ mod tests { // The reader is using the expected encoding before we hit the IVM assert_eq!(reader.encoding(), encoding_before); // The next item is an IVM - let ivm = reader.next(context_ref)?.expect_ivm()?; + let ivm = reader.next()?.expect_ivm()?; // The IVM correctly reports the expected before/after encodings assert_eq!(ivm.stream_encoding_before_marker(), encoding_before); assert_eq!(ivm.stream_encoding_after_marker()?, encoding_after); @@ -1840,12 +1824,11 @@ mod tests { } fn expect_int( - context_ref: EncodingContextRef<'_>, reader: &mut LazyRawAnyReader<'_>, expected_encoding: IonEncoding, expected_int: i64, ) -> IonResult<()> { - let value = reader.next(context_ref)?.expect_value()?; + let value = reader.next()?.expect_value()?; let actual_int = value.read()?.expect_i64()?; assert_eq!(actual_int, expected_int); assert_eq!(reader.encoding(), expected_encoding); @@ -1866,58 +1849,37 @@ mod tests { 5 "#; - let mut reader = LazyRawAnyReader::new(DATA.as_bytes()); let encoding_context = EncodingContext::empty(); - let context_ref = encoding_context.get_ref(); + let mut reader = LazyRawAnyReader::new(encoding_context.get_ref(), DATA.as_bytes(), true); - expect_int(context_ref, &mut reader, IonEncoding::Text_1_0, 1)?; + expect_int(&mut reader, IonEncoding::Text_1_0, 1)?; // This IVM doesn't change the encoding. - expect_version_change( - context_ref, - &mut reader, - IonEncoding::Text_1_0, - IonEncoding::Text_1_0, - )?; + expect_version_change(&mut reader, IonEncoding::Text_1_0, IonEncoding::Text_1_0)?; - expect_int(context_ref, &mut reader, IonEncoding::Text_1_0, 2)?; + expect_int(&mut reader, IonEncoding::Text_1_0, 2)?; if cfg!(not(feature = "experimental-ion-1-1")) { reader - .next(context_ref) + .next() .expect_err("Ion 1.1 IVM should return an error."); return Ok(()); } // This IVM changes the encoding from 1.0 text to 1.1 text - expect_version_change( - context_ref, - &mut reader, - IonEncoding::Text_1_0, - IonEncoding::Text_1_1, - )?; + expect_version_change(&mut reader, IonEncoding::Text_1_0, IonEncoding::Text_1_1)?; - expect_int(context_ref, &mut reader, IonEncoding::Text_1_1, 3)?; + expect_int(&mut reader, IonEncoding::Text_1_1, 3)?; // This IVM doesn't change the encoding. - expect_version_change( - context_ref, - &mut reader, - IonEncoding::Text_1_1, - IonEncoding::Text_1_1, - )?; + expect_version_change(&mut reader, IonEncoding::Text_1_1, IonEncoding::Text_1_1)?; - expect_int(context_ref, &mut reader, IonEncoding::Text_1_1, 4)?; + expect_int(&mut reader, IonEncoding::Text_1_1, 4)?; // This IVM changes the encoding from 1.1 text to 1.0 text - expect_version_change( - context_ref, - &mut reader, - IonEncoding::Text_1_1, - IonEncoding::Text_1_0, - )?; + expect_version_change(&mut reader, IonEncoding::Text_1_1, IonEncoding::Text_1_0)?; - expect_int(context_ref, &mut reader, IonEncoding::Text_1_0, 5)?; + expect_int(&mut reader, IonEncoding::Text_1_0, 5)?; Ok(()) } @@ -1935,58 +1897,53 @@ mod tests { 0x21, 0x05, // 5 ]; - let mut reader = LazyRawAnyReader::new(DATA); let encoding_context = EncodingContext::empty(); - let context_ref = encoding_context.get_ref(); + let mut reader = LazyRawAnyReader::new(encoding_context.get_ref(), DATA, true); // When the reader is constructed it peeks at the leading bytes to see if they're an IVM. // In this case, they were a binary Ion v1.0 IVM, so the reader is already expecting to see // binary 1.0 data. Reading the binary version marker tells the reader to switch encodings. expect_version_change( - context_ref, &mut reader, IonEncoding::Binary_1_0, IonEncoding::Binary_1_0, )?; - expect_int(context_ref, &mut reader, IonEncoding::Binary_1_0, 2)?; + expect_int(&mut reader, IonEncoding::Binary_1_0, 2)?; if cfg!(not(feature = "experimental-ion-1-1")) { reader - .next(context_ref) + .next() .expect_err("Ion 1.1 IVM should return an error."); return Ok(()); } // This IVM changes the encoding from 1.0 binary to 1.1 binary expect_version_change( - context_ref, &mut reader, IonEncoding::Binary_1_0, IonEncoding::Binary_1_1, )?; - expect_int(context_ref, &mut reader, IonEncoding::Binary_1_1, 3)?; + expect_int(&mut reader, IonEncoding::Binary_1_1, 3)?; // This IVM doesn't change the encoding. expect_version_change( - context_ref, &mut reader, IonEncoding::Binary_1_1, IonEncoding::Binary_1_1, )?; - expect_int(context_ref, &mut reader, IonEncoding::Binary_1_1, 4)?; + expect_int(&mut reader, IonEncoding::Binary_1_1, 4)?; // This IVM changes the encoding from 1.1 binary to 1.0 binary expect_version_change( - context_ref, &mut reader, IonEncoding::Binary_1_1, IonEncoding::Binary_1_0, )?; - expect_int(context_ref, &mut reader, IonEncoding::Binary_1_0, 5)?; + expect_int(&mut reader, IonEncoding::Binary_1_0, 5)?; Ok(()) } diff --git a/src/lazy/binary/raw/reader.rs b/src/lazy/binary/raw/reader.rs index fe17d280..d093f48c 100644 --- a/src/lazy/binary/raw/reader.rs +++ b/src/lazy/binary/raw/reader.rs @@ -15,22 +15,30 @@ use crate::lazy::streaming_raw_reader::RawReaderState; /// A binary Ion 1.0 reader that yields [`LazyRawBinaryValue_1_0`]s representing the top level values found /// in the provided input stream. pub struct LazyRawBinaryReader_1_0<'data> { + context: EncodingContextRef<'data>, data: DataSource<'data>, } impl<'data> LazyRawBinaryReader_1_0<'data> { /// Constructs a `LazyRawReader` positioned at the beginning of the provided input stream. - pub fn new(data: &'data [u8]) -> LazyRawBinaryReader_1_0<'data> { - Self::new_with_offset(data, 0) + pub fn new( + context: EncodingContextRef<'data>, + data: &'data [u8], + ) -> LazyRawBinaryReader_1_0<'data> { + Self::new_with_offset(context, data, 0) } /// Constructs a `LazyRawReader` positioned at the beginning of the provided input stream. /// The provided input stream is itself a slice starting `offset` bytes from the beginning /// of a larger data stream. This offset is used for reporting the absolute (stream-level) /// position of values encountered in `data`. - fn new_with_offset(data: &'data [u8], offset: usize) -> LazyRawBinaryReader_1_0<'data> { + fn new_with_offset( + context: EncodingContextRef<'data>, + data: &'data [u8], + offset: usize, + ) -> LazyRawBinaryReader_1_0<'data> { let data = DataSource::new(BinaryBuffer::new_with_offset(data, offset)); - Self { data } + Self { context, data } } /// Helper method called by [`Self::next`]. Reads the current stream item as an Ion version @@ -70,10 +78,8 @@ impl<'data> LazyRawBinaryReader_1_0<'data> { Ok(RawStreamItem::Value(lazy_value)) } - pub fn next<'top>(&'top mut self) -> IonResult> - where - 'data: 'top, - { + #[allow(clippy::should_implement_trait)] + pub fn next(&mut self) -> IonResult> { // Get a new buffer view starting beyond the last item we returned. let mut buffer = self.data.advance_to_next_item()?; if buffer.is_empty() { @@ -102,18 +108,25 @@ impl<'data> LazyRawBinaryReader_1_0<'data> { self.read_value(buffer) } + + pub fn context(&self) -> EncodingContextRef<'data> { + self.context + } } impl<'data> LazyRawReader<'data, BinaryEncoding_1_0> for LazyRawBinaryReader_1_0<'data> { - fn resume_at_offset( - data: &'data [u8], - offset: usize, - // This argument is ignored by all raw readers except LazyRawAnyReader - _encoding_hint: IonEncoding, - ) -> Self { + fn new(context: EncodingContextRef<'data>, data: &'data [u8], is_final_data: bool) -> Self { + Self::resume( + context, + RawReaderState::new(data, 0, is_final_data, IonEncoding::Binary_1_0), + ) + } + + fn resume(context: EncodingContextRef<'data>, saved_state: RawReaderState<'data>) -> Self { LazyRawBinaryReader_1_0 { + context, data: DataSource { - buffer: BinaryBuffer::new_with_offset(data, offset), + buffer: BinaryBuffer::new_with_offset(saved_state.data(), saved_state.offset()), bytes_to_skip: 0, }, } @@ -124,17 +137,14 @@ impl<'data> LazyRawReader<'data, BinaryEncoding_1_0> for LazyRawBinaryReader_1_0 RawReaderState::new( &self.data.buffer.bytes()[self.data.bytes_to_skip..], stream_offset, + // The binary readers do not care whether the data is final because they can detect + // incomplete values in any case. They always report `false` for simplicity. + false, IonEncoding::Binary_1_0, ) } - fn next<'top>( - &'top mut self, - _context: EncodingContextRef<'top>, - ) -> IonResult> - where - 'data: 'top, - { + fn next(&mut self) -> IonResult> { self.next() } @@ -244,7 +254,7 @@ mod tests { use crate::lazy::decoder::{LazyRawFieldName, RawVersionMarker}; use crate::lazy::raw_stream_item::RawStreamItem; use crate::raw_symbol_ref::AsRawSymbolRef; - use crate::{IonResult, IonType, RawSymbolRef}; + use crate::{EncodingContext, IonResult, IonType, RawSymbolRef}; #[test] fn test_struct() -> IonResult<()> { @@ -254,7 +264,8 @@ mod tests { {name:"hi", name: "hello"} "#, )?; - let mut reader = LazyRawBinaryReader_1_0::new(data); + let context = EncodingContext::empty(); + let mut reader = LazyRawBinaryReader_1_0::new(context.get_ref(), data); let _ivm = reader.next()?.expect_ivm()?; let value = reader.next()?.expect_value()?; let lazy_struct = value.read()?.expect_struct()?; @@ -272,7 +283,9 @@ mod tests { [1, true, foo] "#, )?; - let mut reader = LazyRawBinaryReader_1_0::new(data); + let context = EncodingContext::empty(); + let context = context.get_ref(); + let mut reader = LazyRawBinaryReader_1_0::new(context, data); let _ivm = reader.next()?.expect_ivm()?; let _symbol_table = reader.next()?.expect_value()?; let lazy_list = reader.next()?.expect_value()?.read()?.expect_list()?; @@ -316,7 +329,9 @@ mod tests { {name:"hi", name: "hello"} "#, )?; - let mut reader = LazyRawBinaryReader_1_0::new(data); + let context = EncodingContext::empty(); + let context = context.get_ref(); + let mut reader = LazyRawBinaryReader_1_0::new(context, data); loop { use RawStreamItem::*; match reader.next()? { @@ -339,7 +354,9 @@ mod tests { foo::bar::baz::7 "#, )?; - let mut reader = LazyRawBinaryReader_1_0::new(data); + let context = EncodingContext::empty(); + let context = context.get_ref(); + let mut reader = LazyRawBinaryReader_1_0::new(context, data); let _ivm = reader.next()?.expect_ivm()?; // Read annotations from $ion_symbol_table::{...} @@ -374,7 +391,9 @@ mod tests { 0x0f, // null ]; - let mut reader = LazyRawBinaryReader_1_0::new(&data); + let context = EncodingContext::empty(); + let context = context.get_ref(); + let mut reader = LazyRawBinaryReader_1_0::new(context, &data); let _ivm = reader.next()?.expect_ivm()?; assert_eq!( @@ -396,7 +415,9 @@ mod tests { 0x0f, // null ]; - let mut reader = LazyRawBinaryReader_1_0::new(&data); + let context = EncodingContext::empty(); + let context = context.get_ref(); + let mut reader = LazyRawBinaryReader_1_0::new(context, &data); let _ivm = reader.next()?.expect_ivm()?; let _ivm = reader.next()?.expect_ivm()?; diff --git a/src/lazy/binary/raw/struct.rs b/src/lazy/binary/raw/struct.rs index da81d6b8..d9268311 100644 --- a/src/lazy/binary/raw/struct.rs +++ b/src/lazy/binary/raw/struct.rs @@ -146,7 +146,7 @@ mod tests { use std::ops::Range; use crate::lazy::binary::raw::reader::LazyRawBinaryReader_1_0; - use crate::IonResult; + use crate::{EncodingContext, IonResult}; use super::*; @@ -164,8 +164,10 @@ mod tests { &[(RawSymbolRef::SymbolId(4), 1..2)], ), ]; + let context = EncodingContext::empty(); + let context = context.get_ref(); for (input, field_name_ranges) in tests { - let mut reader = LazyRawBinaryReader_1_0::new(input); + let mut reader = LazyRawBinaryReader_1_0::new(context, input); let struct_ = reader.next()?.expect_value()?.read()?.expect_struct()?; for (field_result, (expected_name, range)) in struct_.iter().zip(field_name_ranges.iter()) diff --git a/src/lazy/binary/raw/v1_1/reader.rs b/src/lazy/binary/raw/v1_1/reader.rs index a69ec37c..339fc11c 100644 --- a/src/lazy/binary/raw/v1_1/reader.rs +++ b/src/lazy/binary/raw/v1_1/reader.rs @@ -2,7 +2,6 @@ use crate::lazy::any_encoding::IonEncoding; use crate::lazy::binary::raw::v1_1::immutable_buffer::{BinaryBuffer, ParseResult}; -use crate::lazy::binary::raw::v1_1::ION_1_1_OPCODES; use crate::lazy::decoder::{LazyRawReader, RawValueExpr}; use crate::lazy::encoder::private::Sealed; use crate::lazy::encoding::BinaryEncoding_1_1; @@ -12,82 +11,68 @@ use crate::lazy::streaming_raw_reader::RawReaderState; use crate::{Encoding, IonResult}; pub struct LazyRawBinaryReader_1_1<'data> { - input: &'data [u8], - // The offset from the beginning of the overall stream at which the `input` slice begins - stream_offset: usize, - // The offset from the beginning of `input` at which the reader is positioned - local_offset: usize, + input: BinaryBuffer<'data>, } impl<'data> LazyRawBinaryReader_1_1<'data> { - pub fn new(input: &'data [u8]) -> Self { - Self::new_with_offset(input, 0) + pub fn new(context: EncodingContextRef<'data>, input: &'data [u8]) -> Self { + Self::new_with_offset(context, input, 0) } - fn new_with_offset(input: &'data [u8], stream_offset: usize) -> Self { - Self { - input, - stream_offset, - local_offset: 0, - } + fn new_with_offset( + context: EncodingContextRef<'data>, + input: &'data [u8], + stream_offset: usize, + ) -> Self { + let input = BinaryBuffer::new_with_offset(context, input, stream_offset); + Self { input } + } + + pub fn context(&self) -> EncodingContextRef<'data> { + self.input.context() } fn end_of_stream(&self, position: usize) -> LazyRawStreamItem<'data, BinaryEncoding_1_1> { RawStreamItem::EndOfStream(EndPosition::new(BinaryEncoding_1_1.encoding(), position)) } - fn read_ivm<'top>( - &mut self, - buffer: BinaryBuffer<'top>, - ) -> IonResult> + fn read_ivm<'top>(&mut self) -> IonResult> where 'data: 'top, { - let (marker, buffer_after_ivm) = buffer.read_ivm()?; - self.local_offset = buffer_after_ivm.offset() - self.stream_offset; + let (marker, buffer_after_ivm) = self.input.read_ivm()?; + self.input = buffer_after_ivm; Ok(LazyRawStreamItem::::VersionMarker( marker, )) } - fn read_value_expr<'top>( - &'top mut self, - buffer: BinaryBuffer<'top>, - ) -> ParseResult<'top, LazyRawStreamItem<'top, BinaryEncoding_1_1>> - where - 'data: 'top, - { - let (maybe_expr, remaining) = buffer.read_sequence_value_expr()?; + fn read_value_expr( + &mut self, + ) -> ParseResult<'data, LazyRawStreamItem<'data, BinaryEncoding_1_1>> { + let (maybe_expr, remaining) = self.input.read_sequence_value_expr()?; let item = match maybe_expr { Some(RawValueExpr::ValueLiteral(lazy_value)) => RawStreamItem::Value(lazy_value), Some(RawValueExpr::EExp(eexpr)) => RawStreamItem::EExp(eexpr), - None => self.end_of_stream(buffer.offset()), + None => self.end_of_stream(self.input.offset()), }; - self.local_offset = remaining.offset() - self.stream_offset; + self.input = remaining; Ok((item, remaining)) } + #[allow(clippy::should_implement_trait)] #[inline(always)] - pub fn next<'top>( - &'top mut self, - context: EncodingContextRef<'top>, - ) -> IonResult> - where - 'data: 'top, - { - let data = &self.input[self.local_offset..]; - let Some(&first_byte) = data.first() else { + pub fn next(&mut self) -> IonResult> { + let Some(mut opcode) = self.input.peek_opcode() else { return Ok(self.end_of_stream(self.position())); }; - let mut buffer = BinaryBuffer::new_with_offset(context, data, self.position()); - let mut opcode = ION_1_1_OPCODES[first_byte as usize]; - if opcode.is_nop() && !buffer.opcode_after_nop(&mut opcode)? { - return Ok(self.end_of_stream(buffer.offset())); + if opcode.is_nop() && !self.input.opcode_after_nop(&mut opcode)? { + return Ok(self.end_of_stream(self.input.offset())); } if opcode.is_ivm_start() { - return self.read_ivm(buffer); + return self.read_ivm(); } - let (item, _remaining) = self.read_value_expr(buffer)?; + let (item, _remaining) = self.read_value_expr()?; Ok(item) } } @@ -95,39 +80,33 @@ impl<'data> LazyRawBinaryReader_1_1<'data> { impl Sealed for LazyRawBinaryReader_1_1<'_> {} impl<'data> LazyRawReader<'data, BinaryEncoding_1_1> for LazyRawBinaryReader_1_1<'data> { - fn new(data: &'data [u8]) -> Self { - Self::new(data) + fn new(context: EncodingContextRef<'data>, data: &'data [u8], is_final_data: bool) -> Self { + Self::resume( + context, + RawReaderState::new(data, 0, is_final_data, IonEncoding::Binary_1_1), + ) } - fn resume_at_offset( - data: &'data [u8], - offset: usize, - // This argument is ignored by all raw readers except LazyRawAnyReader - _encoding_hint: IonEncoding, - ) -> Self { - Self::new_with_offset(data, offset) + fn resume(context: EncodingContextRef<'data>, saved_state: RawReaderState<'data>) -> Self { + Self::new_with_offset(context, saved_state.data(), saved_state.offset()) } fn save_state(&self) -> RawReaderState<'data> { RawReaderState::new( - &self.input[self.local_offset..], + self.input.bytes(), self.position(), + // The binary reader doesn't care about `is_final`, so we just use `false`. + false, self.encoding(), ) } - fn next<'top>( - &'top mut self, - context: EncodingContextRef<'top>, - ) -> IonResult> - where - 'data: 'top, - { - self.next(context) + fn next(&mut self) -> IonResult> { + self.next() } fn position(&self) -> usize { - self.stream_offset + self.local_offset + self.input.offset() } fn encoding(&self) -> IonEncoding { @@ -158,15 +137,11 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let _ivm = reader.next(context)?.expect_ivm()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let _ivm = reader.next()?.expect_ivm()?; assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_null()?, + reader.next()?.expect_value()?.read()?.expect_null()?, IonType::Null ); @@ -182,22 +157,12 @@ mod tests { ]; let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let _ivm = reader.next(context)?.expect_ivm()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let _ivm = reader.next()?.expect_ivm()?; - assert!(reader - .next(context)? - .expect_value()? - .read()? - .expect_bool()?); + assert!(reader.next()?.expect_value()?.read()?.expect_bool()?); - assert!( - !(reader - .next(context)? - .expect_value()? - .read()? - .expect_bool()?) - ); + assert!(!(reader.next()?.expect_value()?.read()?.expect_bool()?)); Ok(()) } @@ -226,29 +191,29 @@ mod tests { ]; let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let _ivm = reader.next(context)?.expect_ivm()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let _ivm = reader.next()?.expect_ivm()?; assert_eq!( - reader.next(context)?.expect_value()?.read()?.expect_int()?, + reader.next()?.expect_value()?.read()?.expect_int()?, 0.into() ); assert_eq!( - reader.next(context)?.expect_value()?.read()?.expect_int()?, + reader.next()?.expect_value()?.read()?.expect_int()?, 17.into() ); assert_eq!( - reader.next(context)?.expect_value()?.read()?.expect_int()?, + reader.next()?.expect_value()?.read()?.expect_int()?, (-944).into() ); assert_eq!( - reader.next(context)?.expect_value()?.read()?.expect_int()?, + reader.next()?.expect_value()?.read()?.expect_int()?, 1.into() ); assert_eq!( - reader.next(context)?.expect_value()?.read()?.expect_int()?, + reader.next()?.expect_value()?.read()?.expect_int()?, 147573952589676412929i128.into() ); Ok(()) @@ -277,42 +242,23 @@ mod tests { ]; let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let _ivm = reader.next(context)?.expect_ivm()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let _ivm = reader.next()?.expect_ivm()?; - assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_string()?, - "" - ); + assert_eq!(reader.next()?.expect_value()?.read()?.expect_string()?, ""); assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_string()?, + reader.next()?.expect_value()?.read()?.expect_string()?, "hello" ); assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_string()?, + reader.next()?.expect_value()?.read()?.expect_string()?, "fourteen bytes" ); assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_string()?, + reader.next()?.expect_value()?.read()?.expect_string()?, "variable length encoding" ); @@ -354,8 +300,8 @@ mod tests { ]; let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let _ivm = reader.next(context)?.expect_ivm()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let _ivm = reader.next()?.expect_ivm()?; let expected_symbols: &[RawSymbolRef<'_>] = &[ RawSymbolRef::Text(""), @@ -372,11 +318,7 @@ mod tests { for expected_symbol in expected_symbols { assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_symbol()?, + reader.next()?.expect_value()?.read()?.expect_symbol()?, expected_symbol.clone() ); } @@ -405,36 +347,21 @@ mod tests { ]; let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let _ivm = reader.next(context)?.expect_ivm()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let _ivm = reader.next()?.expect_ivm()?; - assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_float()?, - 0.0 - ); + assert_eq!(reader.next()?.expect_value()?.read()?.expect_float()?, 0.0); // TODO: Implement Half-precision. - // assert_eq!(reader.next(context)?.expect_value()?.read()?.expect_float()?, 3.14); + // assert_eq!(reader.next()?.expect_value()?.read()?.expect_float()?, 3.14); assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_float()? as f32, + reader.next()?.expect_value()?.read()?.expect_float()? as f32, 3.1415927f32, ); assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_float()?, + reader.next()?.expect_value()?.read()?.expect_float()?, std::f64::consts::PI, ); @@ -498,17 +425,17 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader_txt = LazyRawTextReader_1_1::new(expected_txt.as_bytes()); - let mut reader_bin = LazyRawBinaryReader_1_1::new(ion_data); + let mut reader_txt = LazyRawTextReader_1_1::new(context, expected_txt.as_bytes(), true); + let mut reader_bin = LazyRawBinaryReader_1_1::new(context, ion_data); assert_eq!( reader_bin - .next(context)? + .next()? .expect_value()? .read()? .expect_decimal()?, reader_txt - .next(context)? + .next()? .expect_value()? .read()? .expect_decimal()?, @@ -543,11 +470,11 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader_txt = LazyRawTextReader_1_1::new(expected_txt.as_bytes()); - let mut reader_bin = LazyRawBinaryReader_1_1::new(ion_data); + let mut reader_txt = LazyRawTextReader_1_1::new(context, expected_txt.as_bytes(), true); + let mut reader_bin = LazyRawBinaryReader_1_1::new(context, ion_data); - let expected_value = reader_txt.next(context)?.expect_value()?.read()?; - let actual_value = reader_bin.next(context)?.expect_value()?.read()?; + let expected_value = reader_txt.next()?.expect_value()?.read()?; + let actual_value = reader_bin.next()?.expect_value()?.read()?; assert!(actual_value .expect_decimal()? @@ -577,17 +504,17 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader_txt = LazyRawTextReader_1_1::new(expected_txt.as_bytes()); - let mut reader_bin = LazyRawBinaryReader_1_1::new(ion_data); + let mut reader_txt = LazyRawTextReader_1_1::new(context, expected_txt.as_bytes(), true); + let mut reader_bin = LazyRawBinaryReader_1_1::new(context, ion_data); assert_eq!( reader_bin - .next(context)? + .next()? .expect_value()? .read()? .expect_timestamp()?, reader_txt - .next(context)? + .next()? .expect_value()? .read()? .expect_timestamp()?, @@ -610,17 +537,17 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader_txt = LazyRawTextReader_1_1::new(expected_txt.as_bytes()); - let mut reader_bin = LazyRawBinaryReader_1_1::new(ion_data); + let mut reader_txt = LazyRawTextReader_1_1::new(context, expected_txt.as_bytes(), true); + let mut reader_bin = LazyRawBinaryReader_1_1::new(context, ion_data); assert_eq!( reader_bin - .next(context)? + .next()? .expect_value()? .read()? .expect_timestamp()?, reader_txt - .next(context)? + .next()? .expect_value()? .read()? .expect_timestamp()?, @@ -638,21 +565,14 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let _ivm = reader.next(context)?.expect_ivm()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let _ivm = reader.next()?.expect_ivm()?; let bytes: &[u8] = &[ 0x49, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x61, 0x75, 0x64, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x63, 0x75, 0x72, 0x69, 0x6f, 0x73, 0x69, 0x74, 0x79, ]; - assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_blob()?, - bytes - ); + assert_eq!(reader.next()?.expect_value()?.read()?.expect_blob()?, bytes); Ok(()) } @@ -667,22 +587,15 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let _ivm = reader.next(context)?.expect_ivm()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let _ivm = reader.next()?.expect_ivm()?; let bytes: &[u8] = &[ 0x49, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x61, 0x75, 0x64, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x63, 0x75, 0x72, 0x69, 0x6f, 0x73, 0x69, 0x74, 0x79, ]; - assert_eq!( - reader - .next(context)? - .expect_value()? - .read()? - .expect_clob()?, - bytes - ); + assert_eq!(reader.next()?.expect_value()?.read()?.expect_clob()?, bytes); Ok(()) } @@ -701,12 +614,8 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(ion_data); - let container = reader - .next(context)? - .expect_value()? - .read()? - .expect_list()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, ion_data); + let container = reader.next()?.expect_value()?.read()?.expect_list()?; let mut top_iter = container.iter(); let actual_value = top_iter @@ -812,12 +721,8 @@ mod tests { for (ion_data, expected_types) in tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(ion_data); - let container = reader - .next(context)? - .expect_value()? - .read()? - .expect_list()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, ion_data); + let container = reader.next()?.expect_value()?.read()?.expect_list()?; let mut count = 0; for (actual_lazy_value, expected_type) in container.iter().zip(expected_types.iter()) { let value = actual_lazy_value?.expect_value()?; @@ -881,12 +786,8 @@ mod tests { for (ion_data, expected_types) in tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(ion_data); - let container = reader - .next(context)? - .expect_value()? - .read()? - .expect_sexp()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, ion_data); + let container = reader.next()?.expect_value()?.read()?.expect_sexp()?; let mut count = 0; for (actual_lazy_value, expected_type) in container.iter().zip(expected_types.iter()) { let value = actual_lazy_value?.expect_value()?; @@ -920,12 +821,8 @@ mod tests { for (data, expected_type) in data { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(&data); - let actual_type = reader - .next(context)? - .expect_value()? - .read()? - .expect_null()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, &data); + let actual_type = reader.next()?.expect_value()?.read()?.expect_null()?; assert_eq!(actual_type, expected_type); } Ok(()) @@ -947,12 +844,8 @@ mod tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(ion_data); - let container = reader - .next(context)? - .expect_value()? - .read()? - .expect_struct()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, ion_data); + let container = reader.next()?.expect_value()?.read()?.expect_struct()?; let mut top_iter = container.iter(); @@ -1099,12 +992,8 @@ mod tests { for (ion_data, field_pairs) in tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let mut reader = LazyRawBinaryReader_1_1::new(ion_data); - let actual_data = reader - .next(context)? - .expect_value()? - .read()? - .expect_struct()?; + let mut reader = LazyRawBinaryReader_1_1::new(context, ion_data); + let actual_data = reader.next()?.expect_value()?.read()?.expect_struct()?; for (actual_field, expected_field) in actual_data.iter().zip(field_pairs.iter()) { let (expected_name, expected_value_type) = expected_field; diff --git a/src/lazy/binary/raw/value.rs b/src/lazy/binary/raw/value.rs index 960b2726..6b256504 100644 --- a/src/lazy/binary/raw/value.rs +++ b/src/lazy/binary/raw/value.rs @@ -775,7 +775,7 @@ impl<'top> LazyRawBinaryValue_1_0<'top> { mod tests { use crate::lazy::binary::raw::reader::LazyRawBinaryReader_1_0; use crate::lazy::binary::test_utilities::to_binary_ion; - use crate::IonResult; + use crate::{EncodingContext, IonResult}; #[test] fn annotations_sequence() -> IonResult<()> { @@ -785,7 +785,9 @@ mod tests { foo // binary writer will omit the symtab if we don't use a symbol "#, )?; - let mut reader = LazyRawBinaryReader_1_0::new(data); + let context = EncodingContext::empty(); + let context = context.get_ref(); + let mut reader = LazyRawBinaryReader_1_0::new(context, data); let _ivm = reader.next()?.expect_ivm()?; let value = reader.next()?.expect_value()?; let annotations_sequence = value.annotations_sequence(); diff --git a/src/lazy/decoder.rs b/src/lazy/decoder.rs index 00a7f21d..59aec18d 100644 --- a/src/lazy/decoder.rs +++ b/src/lazy/decoder.rs @@ -10,7 +10,7 @@ use crate::lazy::encoding::{ BinaryEncoding, BinaryEncoding_1_0, RawValueLiteral, TextEncoding_1_0, }; use crate::lazy::expanded::macro_evaluator::RawEExpression; -use crate::lazy::expanded::{EncodingContext, EncodingContextRef}; +use crate::lazy::expanded::EncodingContextRef; use crate::lazy::raw_stream_item::LazyRawStreamItem; use crate::lazy::raw_value_ref::RawValueRef; use crate::lazy::span::Span; @@ -462,10 +462,8 @@ pub(crate) mod private { pub trait LazyRawReader<'data, D: Decoder>: Sized { /// Constructs a new raw reader using decoder `D` that will read from `data`. /// `data` must be the beginning of the stream. To continue reading from the middle of a - /// stream, see [`resume_at_offset`](Self::resume_at_offset). - fn new(data: &'data [u8]) -> Self { - Self::resume_at_offset(data, 0, IonEncoding::default()) - } + /// stream, see [`resume_at_offset`](Self::resume). + fn new(context: EncodingContextRef<'data>, data: &'data [u8], is_final_data: bool) -> Self; /// Constructs a new raw reader using decoder `D` that will read from `data`. /// @@ -473,17 +471,12 @@ pub trait LazyRawReader<'data, D: Decoder>: Sized { /// If offset is not zero, the caller must supply an `encoding_hint` indicating the expected /// encoding. Encoding-specific raw readers will ignore this hint--the stream's encoding must be /// the one that they support--but the `LazyRawAnyReader` will use it. - fn resume_at_offset(data: &'data [u8], offset: usize, encoding_hint: IonEncoding) -> Self; + fn resume(context: EncodingContextRef<'data>, saved_state: RawReaderState<'data>) -> Self; /// Deconstructs this reader, returning a tuple of `(remaining_data, stream_offset, encoding)`. fn save_state(&self) -> RawReaderState<'data>; - fn next<'top>( - &'top mut self, - context: EncodingContextRef<'top>, - ) -> IonResult> - where - 'data: 'top; + fn next(&mut self) -> IonResult>; /// The stream byte offset at which the reader will begin parsing the next item to return. /// This position is not necessarily the first byte of the next value; it may be (e.g.) a NOP, @@ -559,11 +552,9 @@ fn transcribe_raw_binary_to_text< writer: &mut Writer, ) -> IonResult<()> { const FLUSH_EVERY_N: usize = 100; - let encoding_context = EncodingContext::for_ion_version(IonVersion::v1_1); - let context_ref = encoding_context.get_ref(); let mut item_number: usize = 0; loop { - let item = reader.next(context_ref)?; + let item = reader.next()?; use crate::RawStreamItem::*; match item { VersionMarker(_m) if item_number == 0 => { diff --git a/src/lazy/encoder/text/v1_1/writer.rs b/src/lazy/encoder/text/v1_1/writer.rs index fa434aeb..ad0967d3 100644 --- a/src/lazy/encoder/text/v1_1/writer.rs +++ b/src/lazy/encoder/text/v1_1/writer.rs @@ -282,14 +282,14 @@ mod tests { let encoded_text = String::from_utf8(encoded_bytes).unwrap(); println!("{encoded_text}"); - let mut reader = LazyRawTextReader_1_1::new(encoded_text.as_bytes()); let mut context = EncodingContext::for_ion_version(IonVersion::v1_1); let macro_foo = TemplateCompiler::compile_from_source(context.get_ref(), "(macro foo (x*) null)")?; context.macro_table.add_template_macro(macro_foo)?; - let context = context.get_ref(); - let _marker = reader.next(context)?.expect_ivm()?; - let eexp = reader.next(context)?.expect_eexp()?; + let mut reader = + LazyRawTextReader_1_1::new(context.get_ref(), encoded_text.as_bytes(), true); + let _marker = reader.next()?.expect_ivm()?; + let eexp = reader.next()?.expect_eexp()?; assert_eq!(MacroIdRef::LocalName("foo"), eexp.id()); let mut args = eexp.raw_arguments(); let x = args.next().unwrap()?.expr().expect_arg_group()?; diff --git a/src/lazy/encoder/value_writer.rs b/src/lazy/encoder/value_writer.rs index bd6713c1..d30c0b51 100644 --- a/src/lazy/encoder/value_writer.rs +++ b/src/lazy/encoder/value_writer.rs @@ -505,6 +505,7 @@ mod tests { // ...when writing the symbol once more. .write_symbol(name_symbol)?; let bytes = writer.close()?; + println!("bytes: {bytes:#02x?}"); let actual = Element::read_all(&bytes)?; let expected = ion_seq!( "name".as_symbol_ref() diff --git a/src/lazy/raw_value_ref.rs b/src/lazy/raw_value_ref.rs index b2c27f1f..fa266cfd 100644 --- a/src/lazy/raw_value_ref.rs +++ b/src/lazy/raw_value_ref.rs @@ -217,7 +217,7 @@ impl<'top, D: Decoder> RawValueRef<'top, D> { mod tests { use crate::lazy::binary::raw::reader::LazyRawBinaryReader_1_0 as LazyRawBinaryReader; use crate::lazy::binary::test_utilities::to_binary_ion; - use crate::{Decimal, IonResult, IonType, RawSymbolRef, Timestamp}; + use crate::{Decimal, EncodingContext, IonResult, IonType, RawSymbolRef, Timestamp}; #[test] fn expect_type() -> IonResult<()> { @@ -238,7 +238,9 @@ mod tests { {this: is, a: struct} "#, )?; - let mut reader = LazyRawBinaryReader::new(&ion_data); + let context = EncodingContext::empty(); + let context = context.get_ref(); + let mut reader = LazyRawBinaryReader::new(context, &ion_data); // IVM reader.next()?.expect_ivm()?; // Symbol table @@ -305,7 +307,9 @@ mod tests { null.bool "#, )?; - let mut reader = LazyRawBinaryReader::new(&ion_data); + let context = EncodingContext::empty(); + let context = context.get_ref(); + let mut reader = LazyRawBinaryReader::new(context, &ion_data); // IVM reader.next()?.expect_ivm()?; diff --git a/src/lazy/streaming_raw_reader.rs b/src/lazy/streaming_raw_reader.rs index 4939e42a..d0aaf645 100644 --- a/src/lazy/streaming_raw_reader.rs +++ b/src/lazy/streaming_raw_reader.rs @@ -48,14 +48,16 @@ const DEFAULT_IO_BUFFER_SIZE: usize = 4 * 1024; pub struct RawReaderState<'a> { data: &'a [u8], offset: usize, + is_final_data: bool, encoding: IonEncoding, } impl<'a> RawReaderState<'a> { - pub fn new(data: &'a [u8], offset: usize, encoding: IonEncoding) -> Self { + pub fn new(data: &'a [u8], offset: usize, is_final_data: bool, encoding: IonEncoding) -> Self { Self { data, offset, + is_final_data, encoding, } } @@ -64,6 +66,10 @@ impl<'a> RawReaderState<'a> { self.data } + pub fn is_final_data(&self) -> bool { + self.is_final_data + } + pub fn offset(&self) -> usize { self.offset } @@ -71,6 +77,10 @@ impl<'a> RawReaderState<'a> { pub fn encoding(&self) -> IonEncoding { self.encoding } + + pub(crate) fn set_encoding(&mut self, encoding: IonEncoding) { + self.encoding = encoding; + } } impl StreamingRawReader { @@ -118,12 +128,18 @@ impl StreamingRawReader { self.read_next(context, /*is_peek=*/ true) } + fn input_is_streaming(&self) -> bool { + unsafe { &*self.input.get() }.is_streaming() + } + fn read_next<'top>( &'top mut self, context: EncodingContextRef<'top>, is_peek: bool, ) -> IonResult> { - let mut input_source_exhausted = false; + // If the input is a stream, we assume there may be more data available. + // If it's a fixed slice, we know it's already complete. + let mut input_source_exhausted = !self.input_is_streaming(); loop { // If the input buffer is empty, try to pull more data from the source before proceeding. // It's important that we do this _before_ reading from the buffer; any item returned @@ -134,18 +150,21 @@ impl StreamingRawReader { } let available_bytes = unsafe { &*self.input.get() }.buffer(); - let unsafe_cell_reader = UnsafeCell::new( as LazyRawReader< - 'top, - Encoding, - >>::resume_at_offset( + let state = RawReaderState::new( available_bytes, self.stream_position, + input_source_exhausted, self.encoding(), - )); + ); + let unsafe_cell_reader = UnsafeCell::new( as LazyRawReader< + 'top, + Encoding, + >>::resume(context, state)); let slice_reader = unsafe { &mut *unsafe_cell_reader.get() }; let starting_position = slice_reader.position(); let old_encoding = slice_reader.encoding(); - let result = slice_reader.next(context); + let result = slice_reader.next(); + // We're done modifying `slice_reader`, but we need to read some of its fields. These // fields are _not_ the data to which `result` holds a reference. We have to circumvent // the borrow checker's limitation (described in a comment on the StreamingRawReader type) @@ -161,14 +180,17 @@ impl StreamingRawReader { result, Err(IonError::Incomplete(_)) | Ok(LazyRawStreamItem::::EndOfStream(_)) ) { - // ...try to pull more data from the data source. It's ok to modify the buffer in - // this case because `result` (which holds a reference to the buffer) will be - // discarded. - if input.fill_buffer()? > 0 { - // If we get more data, try again. + if input_source_exhausted { + // There's no more data, so the result is final. + } else { + // ...try to pull more data from the data source. It's ok to modify the buffer in + // this case because `result` (which holds a reference to the buffer) will be + // discarded. + if input.fill_buffer()? == 0 { + input_source_exhausted = true; + } continue; } - // If there's nothing available, return the result we got. } else if let Ok(ref item) = result { // We have successfully read something from the buffer. // @@ -255,6 +277,9 @@ pub trait IonDataSource { /// Marks `number_of_bytes` in the buffer as having been read. The caller is responsible for /// confirming that the buffer contains at least `number_of_bytes` bytes. fn consume(&mut self, number_of_bytes: usize); + + /// If `true`, the current contents of the buffer may not be the complete stream. + fn is_streaming(&self) -> bool; } /// A fixed slice of Ion data that does not grow; it wraps an implementation of `AsRef<[u8]>` such @@ -311,6 +336,11 @@ impl> IonDataSource for IonSlice { self.buffer() ); } + + #[inline(always)] + fn is_streaming(&self) -> bool { + false + } } /// A buffered reader for types that don't implement AsRef<[u8]> @@ -385,6 +415,11 @@ impl IonDataSource for IonStream { self.position += number_of_bytes; debug_assert!(self.position <= self.limit); } + + #[inline(always)] + fn is_streaming(&self) -> bool { + true + } } /// Types that can be used as a source of Ion data. diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index ec887db6..191ae7ff 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -1,26 +1,17 @@ use std::fmt::{Debug, Formatter}; -use std::iter::{Copied, Enumerate}; -use std::ops::{Range, RangeFrom, RangeTo}; -use std::slice::Iter; +use std::ops::Range; use std::str::FromStr; use winnow::branch::alt; -use winnow::bytes::complete::{ - is_a as complete_is_a, is_not as complete_is_not, tag as complete_tag, - take_while as complete_take_while, +use winnow::bytes::{ + one_of, tag, take_till1, take_until0, take_while0, take_while1, take_while_m_n, }; -use winnow::bytes::streaming::{is_a, tag, take_until, take_while_m_n}; -use winnow::character::complete::{ - char as complete_char, digit0 as complete_digit0, digit1 as complete_digit1, - one_of as complete_one_of, -}; -use winnow::character::streaming::{alphanumeric1, char, digit1, one_of, satisfy}; -use winnow::combinator::{consumed, eof, map, not, opt, peek, recognize, success, value}; -use winnow::error::Needed; -use winnow::error::{ErrorKind, ParseError}; -use winnow::multi::{fold_many1, fold_many_m_n, many0_count, many1_count}; -use winnow::sequence::{delimited, pair, preceded, separated_pair, terminated, tuple}; -use winnow::stream::{CompareResult, SliceLen}; +use winnow::character::alphanumeric1; +use winnow::combinator::{eof, not, opt, peek, success}; +use winnow::error::{ErrMode, Needed}; +use winnow::multi::{fold_many1, fold_many_m_n, many0, many1}; +use winnow::sequence::{delimited, preceded, separated_pair, terminated}; +use winnow::stream::{CompareResult, SliceLen, StreamIsPartial}; use winnow::Parser; use crate::lazy::decoder::{LazyRawFieldExpr, LazyRawValueExpr, RawValueExpr}; @@ -55,14 +46,15 @@ use crate::lazy::expanded::macro_table::{Macro, ION_1_1_SYSTEM_MACROS}; use crate::lazy::expanded::template::{Parameter, RestSyntaxPolicy}; use crate::lazy::text::as_utf8::AsUtf8; use bumpalo::collections::Vec as BumpVec; +use winnow::character::{digit0, digit1}; impl Debug for TextBuffer<'_> { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { const CHARS_TO_SHOW: usize = 64; - write!(f, "TextBuffer {{")?; + write!(f, "Buf {{")?; // Try to read the next several bytes from the buffer as UTF-8... let text_result = std::str::from_utf8(self.data); - // ...if it works, print the first 32 unicode scalars... + // ...if it works, print the first 64 Unicode scalars... if let Ok(text) = text_result { write!( f, @@ -116,6 +108,7 @@ pub struct TextBuffer<'top> { data: &'top [u8], offset: usize, pub(crate) context: EncodingContextRef<'top>, + is_final_data: bool, } impl PartialEq for TextBuffer<'_> { @@ -127,8 +120,12 @@ impl PartialEq for TextBuffer<'_> { impl<'top> TextBuffer<'top> { /// Constructs a new `TextBuffer` that wraps `data`, setting the view's `offset` to zero. #[inline] - pub fn new(context: EncodingContextRef<'top>, data: &'top [u8]) -> TextBuffer<'top> { - Self::new_with_offset(context, data, 0) + pub fn new( + context: EncodingContextRef<'top>, + data: &'top [u8], + is_final_data: bool, + ) -> TextBuffer<'top> { + Self::new_with_offset(context, data, 0, is_final_data) } /// Constructs a new `TextBuffer` that wraps `data`, setting the view's `offset` to the @@ -139,11 +136,13 @@ impl<'top> TextBuffer<'top> { context: EncodingContextRef<'top>, data: &'top [u8], offset: usize, + is_final_data: bool, ) -> TextBuffer<'top> { TextBuffer { context, data, offset, + is_final_data, } } @@ -151,15 +150,17 @@ impl<'top> TextBuffer<'top> { self.context } - pub fn local_lifespan<'a>(self) -> TextBuffer<'a> - where - 'top: 'a, - { - self.slice_to_end(0) + fn incomplete(&self, label: &'static str) -> IonParseResult<'top, T> { + if self.is_final_data { + fatal_parse_error(*self, format!("ran out of data while parsing {label}")) + } else { + Err(ErrMode::Incomplete(Needed::Unknown)) + } } /// Returns a subslice of the [`TextBuffer`] that starts at `offset` and continues for - /// `length` bytes. + /// `length` bytes. The subslice is considered to be 'final' data (i.e. not a potentially + /// incomplete buffer). /// /// Note that `offset` is relative to the beginning of the buffer, not the beginning of the /// larger stream of which the buffer is a piece. @@ -167,7 +168,8 @@ impl<'top> TextBuffer<'top> { TextBuffer { data: &self.data[offset..offset + length], offset: self.offset + offset, - context: self.context, + is_final_data: true, + ..*self } } @@ -180,7 +182,7 @@ impl<'top> TextBuffer<'top> { TextBuffer { data: &self.data[offset..], offset: self.offset + offset, - context: self.context, + ..*self } } @@ -224,7 +226,7 @@ impl<'top> TextBuffer<'top> { } pub fn match_whitespace(self) -> IonMatchResult<'top> { - complete_is_a(WHITESPACE_CHARACTERS_AS_STR)(self) + take_while1(WHITESPACE_CHARACTERS_AS_STR).parse_next(self) } /// Always succeeds and consumes none of the input. Returns an empty slice of the buffer. @@ -245,10 +247,7 @@ impl<'top> TextBuffer<'top> { /// Matches any amount of contiguous comments and whitespace, including none. pub fn match_optional_comments_and_whitespace(self) -> IonMatchResult<'top> { - recognize(many0_count(alt(( - Self::match_whitespace, - Self::match_comment, - ))))(self) + zero_or_more(alt((Self::match_whitespace, Self::match_comment))).parse_next(self) } /// Matches a single @@ -271,15 +270,15 @@ impl<'top> TextBuffer<'top> { // If there isn't a first '/', the input will be rejected. // If the buffer is empty after the first '/', the input will be considered incomplete. // If the next character in input isn't a second '/', the input will be rejected. - recognize(pair(complete_tag("/"), tag("/"))), + tag("//"), // ...followed by either... alt(( // '//' can appear at the end of the stream - peek(recognize(eof)), + peek(eof), // ...one or more non-EOL characters... - complete_is_not("\r\n"), + take_till1("\r\n"), // ...or any EOL character. - peek(recognize(complete_one_of("\r\n"))), + peek(one_of("\r\n").recognize()), // In either case, the line ending will not be consumed. )), )(self) @@ -287,29 +286,30 @@ impl<'top> TextBuffer<'top> { /// Matches a single multiline comment. fn match_multiline_comment(self) -> IonMatchResult<'top> { - recognize(delimited( + delimited( // Matches a leading "/*"... - complete_tag("/*"), + tag("/*"), // ...any number of non-"*/" characters... - take_until("*/"), + take_until0("*/"), // ...and then a closing "*/" - complete_tag("*/"), - ))(self) + tag("*/"), + ) + .recognize() + .parse_next(self) } /// Matches an Ion version marker (e.g. `$ion_1_0` or `$ion_1_1`.) pub fn match_ivm>( self, ) -> IonParseResult<'top, LazyRawTextVersionMarker<'top, E>> { - let (remaining, (matched_marker, (matched_major, matched_minor))) = consumed(terminated( - preceded( - complete_tag("$ion_"), - separated_pair(complete_digit1, complete_tag("_"), complete_digit1), - ), + let (remaining, ((matched_major, matched_minor), matched_marker)) = terminated( + preceded(tag("$ion_"), separated_pair(digit1, tag("_"), digit1)), // Look ahead to make sure the IVM isn't followed by a '::'. If it is, then it's not // an IVM, it's an annotation. - peek(whitespace_and_then(not(complete_tag(":")))), - ))(self)?; + peek(whitespace_and_then(not(tag(":")))), + ) + .with_recognized() + .parse_next(self)?; // `major` and `minor` are base 10 digits. Turning them into `&str`s is guaranteed to succeed. let major_version = u8::from_str(matched_major.as_text().unwrap()).map_err(|_| { let error = InvalidInputError::new(matched_major) @@ -331,14 +331,12 @@ impl<'top> TextBuffer<'top> { /// Matches one or more annotations. pub fn match_annotations(self) -> IonMatchResult<'top> { - let (remaining, matched) = recognize(many1_count(Self::match_annotation))(self)?; + let (remaining, matched) = one_or_more(Self::match_annotation).parse_next(self)?; if matched.len() > u16::MAX as usize { let error = InvalidInputError::new(matched) .with_description("the maximum supported annotations sequence length is 65KB") .with_label("parsing annotations"); - Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( - error, - ))) + Err(ErrMode::Cut(IonParseError::Invalid(error))) } else { Ok((remaining, matched)) } @@ -349,16 +347,7 @@ impl<'top> TextBuffer<'top> { terminated( whitespace_and_then(match_and_span(Self::match_symbol)), whitespace_and_then(terminated( - // The `complete_tag`/`tag` pair below allows the parser to recognize that: - // - // foo::bar::baz: - // - // is incomplete while: - // - // foo::bar::baz - // - // is a symbol with two annotations. - pair(complete_tag(":"), tag(":")), + tag("::"), Self::match_optional_comments_and_whitespace, )), )(self) @@ -367,8 +356,8 @@ impl<'top> TextBuffer<'top> { /// Matches an optional annotations sequence and a value, including operators. pub fn match_sexp_value(self) -> IonParseResult<'top, Option>> { whitespace_and_then(alt(( - value(None, tag(")")), - pair( + tag(")").value(None), + ( opt(Self::match_annotations), // We need the s-expression parser to recognize the input `--3` as the operator `--` and the // int `3` while recognizing the input `-3` as the int `-3`. If `match_operator` runs before @@ -376,10 +365,10 @@ impl<'top> TextBuffer<'top> { // `-3` as an operator (`-`) and an int (`3`). Thus, we run `match_value` first. whitespace_and_then(alt((Self::match_value, Self::match_operator))), ) - .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) - .map(Some), + .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) + .map(Some), ))) - .parse(self) + .parse_next(self) } /// Matches either: @@ -390,8 +379,8 @@ impl<'top> TextBuffer<'top> { ) -> IonParseResult<'top, Option>> { whitespace_and_then(alt(( Self::match_e_expression.map(|matched| Some(RawValueExpr::EExp(matched))), - value(None, peek(tag(")"))), - pair( + peek(tag(")")).value(None), + ( opt(Self::match_annotations), // We need the s-expression parser to recognize the input `--3` as the operator `--` and the // int `3` while recognizing the input `-3` as the int `-3`. If `match_operator` runs before @@ -399,11 +388,11 @@ impl<'top> TextBuffer<'top> { // `-3` as an operator (`-`) and an int (`3`). Thus, we run `match_value` first. whitespace_and_then(alt((Self::match_value_1_1, Self::match_operator))), ) - .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) - .map(RawValueExpr::ValueLiteral) - .map(Some), + .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) + .map(RawValueExpr::ValueLiteral) + .map(Some), ))) - .parse(self) + .parse_next(self) } fn apply_annotations>( @@ -441,7 +430,7 @@ impl<'top> TextBuffer<'top> { let (input_including_field_name, _ws) = self.match_optional_comments_and_whitespace()?; alt(( // If the next thing in the input is a `}`, return `None`. - value(None, Self::match_struct_end), + Self::match_struct_end.value(None), // Otherwise, match a name/value pair and turn it into a `LazyRawTextField`. Self::match_struct_field_name_and_value.map(move |(matched_field_name, value)| { let field_name = LazyRawTextFieldName_1_0::new(matched_field_name); @@ -454,7 +443,7 @@ impl<'top> TextBuffer<'top> { /// Matches any amount of whitespace followed by a closing `}`. fn match_struct_end(self) -> IonMatchResult<'top> { - whitespace_and_then(peek(tag("}"))).parse(self) + whitespace_and_then(peek(tag("}"))).parse_next(self) } /// Matches a field name/value pair. Returns the syntax used for the field name, the range of @@ -542,22 +531,22 @@ impl<'top> TextBuffer<'top> { /// Matches an optional annotation sequence and a trailing value. pub fn match_annotated_value(self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { - pair( + ( opt(Self::match_annotations), whitespace_and_then(Self::match_value), ) - .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) - .parse(self) + .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) + .parse_next(self) } /// Matches an optional annotation sequence and a trailing v1.1 value. pub fn match_annotated_value_1_1(self) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - pair( + ( opt(Self::match_annotations), whitespace_and_then(Self::match_value_1_1), ) - .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) - .parse(self) + .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) + .parse_next(self) } /// Constructs a parser that reads an optional annotations sequence and a value read using the provided @@ -565,17 +554,18 @@ impl<'top> TextBuffer<'top> { fn match_annotated_value_parser( value_parser: impl Parser, IonParseError<'top>>, ) -> impl Parser, IonParseError<'top>> { - consumed(pair( + ( opt(Self::match_annotations), whitespace_and_then(value_parser), - )) - .map(|(matched_input, (maybe_annotations, encoded_value))| { - let value = LazyRawTextValue_1_1 { - encoded_value, - input: matched_input, - }; - matched_input.apply_annotations(maybe_annotations, value) - }) + ) + .with_recognized() + .map(|((maybe_annotations, encoded_value), matched_input)| { + let value = LazyRawTextValue_1_1 { + encoded_value, + input: matched_input, + }; + matched_input.apply_annotations(maybe_annotations, value) + }) } /// In the context of a list, long-form strings need to be parsed differently to properly detect incomplete @@ -600,7 +590,7 @@ impl<'top> TextBuffer<'top> { Self::match_annotated_value_parser( Self::match_long_string_in_list.map(|s| EncodedTextValue::new(MatchedValue::String(s))), ) - .parse(self) + .parse_next(self) } /// Like `match_annotated_long_string_in_list` above, but for structs. @@ -611,7 +601,7 @@ impl<'top> TextBuffer<'top> { Self::match_long_string_in_struct .map(|s| EncodedTextValue::new(MatchedValue::String(s))), ) - .parse(self) + .parse_next(self) } /// Matches a struct field name. That is: @@ -624,14 +614,15 @@ impl<'top> TextBuffer<'top> { // a keyword and then ends, that's incomplete input. We do this check ahead of regular // parsing because `match_symbol` will reject keywords as invalid (not incomplete). if terminated(Self::match_keyword, eof)(self).is_ok() { - return Err(winnow::Err::Incomplete(Needed::Unknown)); + return Err(ErrMode::Incomplete(Needed::Unknown)); } - consumed(alt(( + alt(( Self::match_string.map(MatchedFieldNameSyntax::String), Self::match_symbol.map(MatchedFieldNameSyntax::Symbol), - ))) - .map(|(matched_input, syntax)| MatchedFieldName::new(matched_input, syntax)) - .parse(self) + )) + .with_recognized() + .map(|(syntax, matched_input)| MatchedFieldName::new(matched_input, syntax)) + .parse_next(self) } /// Matches a single top-level value, an IVM, or the end of the stream. @@ -688,121 +679,100 @@ impl<'top> TextBuffer<'top> { /// Matches a single scalar value or the beginning of a container. pub fn match_value(self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { - consumed(alt(( + alt(( // For `null` and `bool`, we use `read_` instead of `match_` because there's no additional // parsing to be done. - map(Self::match_null, |ion_type| { - EncodedTextValue::new(MatchedValue::Null(ion_type)) - }), - map(Self::match_bool, |value| { - EncodedTextValue::new(MatchedValue::Bool(value)) - }), + Self::match_null.map(|ion_type| EncodedTextValue::new(MatchedValue::Null(ion_type))), + Self::match_bool.map(|value| EncodedTextValue::new(MatchedValue::Bool(value))), // For `int` and the other types, we use `match` and store the partially-processed input in the // `matched_value` field of the `EncodedTextValue` we return. - map(Self::match_int, |matched_int| { - EncodedTextValue::new(MatchedValue::Int(matched_int)) - }), - map(Self::match_float, |matched_float| { - EncodedTextValue::new(MatchedValue::Float(matched_float)) - }), - map(Self::match_decimal, |matched_decimal| { + Self::match_int + .map(|matched_int| EncodedTextValue::new(MatchedValue::Int(matched_int))), + Self::match_float + .map(|matched_float| EncodedTextValue::new(MatchedValue::Float(matched_float))), + Self::match_decimal.map(|matched_decimal| { EncodedTextValue::new(MatchedValue::Decimal(matched_decimal)) }), - map(Self::match_timestamp, |matched_timestamp| { + Self::match_timestamp.map(|matched_timestamp| { EncodedTextValue::new(MatchedValue::Timestamp(matched_timestamp)) }), - map(Self::match_string, |matched_string| { - EncodedTextValue::new(MatchedValue::String(matched_string)) - }), - map(Self::match_symbol, |matched_symbol| { - EncodedTextValue::new(MatchedValue::Symbol(matched_symbol)) - }), - map(Self::match_blob, |matched_blob| { - EncodedTextValue::new(MatchedValue::Blob(matched_blob)) - }), - map(Self::match_clob, |matched_clob| { - EncodedTextValue::new(MatchedValue::Clob(matched_clob)) - }), - map(Self::match_list, |_matched_list| { + Self::match_string + .map(|matched_string| EncodedTextValue::new(MatchedValue::String(matched_string))), + Self::match_symbol + .map(|matched_symbol| EncodedTextValue::new(MatchedValue::Symbol(matched_symbol))), + Self::match_blob + .map(|matched_blob| EncodedTextValue::new(MatchedValue::Blob(matched_blob))), + Self::match_clob + .map(|matched_clob| EncodedTextValue::new(MatchedValue::Clob(matched_clob))), + Self::match_list.map(|_matched_list| { // TODO: Cache child expressions found in 1.0 list let not_yet_used_in_1_0 = bumpalo::collections::Vec::new_in(self.context.allocator()).into_bump_slice(); EncodedTextValue::new(MatchedValue::List(not_yet_used_in_1_0)) }), - map(Self::match_sexp, |_matched_sexp| { + Self::match_sexp.map(|_matched_sexp| { // TODO: Cache child expressions found in 1.0 sexp let not_yet_used_in_1_0 = bumpalo::collections::Vec::new_in(self.context.allocator()).into_bump_slice(); EncodedTextValue::new(MatchedValue::SExp(not_yet_used_in_1_0)) }), - map(Self::match_struct, |_matched_struct| { + Self::match_struct.map(|_matched_struct| { // TODO: Cache child expressions found in 1.0 struct let not_yet_used_in_1_0 = bumpalo::collections::Vec::new_in(self.context.allocator()).into_bump_slice(); EncodedTextValue::new(MatchedValue::Struct(not_yet_used_in_1_0)) }), - ))) - .map(|(input, encoded_value)| LazyRawTextValue_1_0 { + )) + .with_recognized() + .map(|(encoded_value, input)| LazyRawTextValue_1_0 { encoded_value, input, }) - .parse(self) + .parse_next(self) } pub fn match_value_1_1(self) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - consumed(alt(( + alt(( // For `null` and `bool`, we use `read_` instead of `match_` because there's no additional // parsing to be done. - map(Self::match_null, |ion_type| { - EncodedTextValue::new(MatchedValue::Null(ion_type)) - }), - map(Self::match_bool, |value| { - EncodedTextValue::new(MatchedValue::Bool(value)) - }), + Self::match_null.map(|ion_type| EncodedTextValue::new(MatchedValue::Null(ion_type))), + Self::match_bool.map(|value| EncodedTextValue::new(MatchedValue::Bool(value))), // For `int` and the other types, we use `match` and store the partially-processed input in the // `matched_value` field of the `EncodedTextValue` we return. - map(Self::match_int, |matched_int| { - EncodedTextValue::new(MatchedValue::Int(matched_int)) - }), - map(Self::match_float, |matched_float| { - EncodedTextValue::new(MatchedValue::Float(matched_float)) - }), - map(Self::match_decimal, |matched_decimal| { + Self::match_int + .map(|matched_int| EncodedTextValue::new(MatchedValue::Int(matched_int))), + Self::match_float + .map(|matched_float| EncodedTextValue::new(MatchedValue::Float(matched_float))), + Self::match_decimal.map(|matched_decimal| { EncodedTextValue::new(MatchedValue::Decimal(matched_decimal)) }), - map(Self::match_timestamp, |matched_timestamp| { + Self::match_timestamp.map(|matched_timestamp| { EncodedTextValue::new(MatchedValue::Timestamp(matched_timestamp)) }), - map(Self::match_string, |matched_string| { - EncodedTextValue::new(MatchedValue::String(matched_string)) - }), - map(Self::match_symbol, |matched_symbol| { - EncodedTextValue::new(MatchedValue::Symbol(matched_symbol)) - }), - map(Self::match_blob, |matched_blob| { - EncodedTextValue::new(MatchedValue::Blob(matched_blob)) - }), - map(Self::match_clob, |matched_clob| { - EncodedTextValue::new(MatchedValue::Clob(matched_clob)) - }), - map(Self::match_list_1_1, |(_matched_list, child_expr_cache)| { + Self::match_string + .map(|matched_string| EncodedTextValue::new(MatchedValue::String(matched_string))), + Self::match_symbol + .map(|matched_symbol| EncodedTextValue::new(MatchedValue::Symbol(matched_symbol))), + Self::match_blob + .map(|matched_blob| EncodedTextValue::new(MatchedValue::Blob(matched_blob))), + Self::match_clob + .map(|matched_clob| EncodedTextValue::new(MatchedValue::Clob(matched_clob))), + Self::match_list_1_1.map(|(_matched_list, child_expr_cache)| { EncodedTextValue::new(MatchedValue::List(child_expr_cache)) }), - map(Self::match_sexp_1_1, |(_matched_sexp, child_expr_cache)| { + Self::match_sexp_1_1.map(|(_matched_sexp, child_expr_cache)| { EncodedTextValue::new(MatchedValue::SExp(child_expr_cache)) }), - map( - Self::match_struct_1_1, - |(_matched_struct, field_expr_cache)| { - EncodedTextValue::new(MatchedValue::Struct(field_expr_cache)) - }, - ), - ))) - .map(|(input, encoded_value)| LazyRawTextValue_1_1 { + Self::match_struct_1_1.map(|(_matched_struct, field_expr_cache)| { + EncodedTextValue::new(MatchedValue::Struct(field_expr_cache)) + }), + )) + .with_recognized() + .map(|(encoded_value, input)| LazyRawTextValue_1_1 { encoded_value, input, }) - .parse(self) + .parse_next(self) } /// Matches a list. @@ -822,7 +792,10 @@ impl<'top> TextBuffer<'top> { let span = match sequence_iter.find_span() { Ok(span) => span, // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) if self.is_final_data => { + return fatal_parse_error(self, "found an incomplete list") + } + Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -873,7 +846,10 @@ impl<'top> TextBuffer<'top> { { Ok((span, child_exprs)) => (span, child_exprs), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) if self.is_final_data => { + return fatal_parse_error(self, "found an incomplete list (v1.1)") + } + Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -915,9 +891,10 @@ impl<'top> TextBuffer<'top> { match TextSExpSpanFinder_1_1::new(self.context.allocator(), sexp_iter).find_span(1) { Ok((span, child_expr_cache)) => (span, child_expr_cache), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => { - return Err(winnow::Err::Incomplete(Needed::Unknown)) + Err(IonError::Incomplete(_)) if self.is_final_data => { + return fatal_parse_error(self, "found an incomplete s-expression (v1.1)"); } + Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -946,7 +923,7 @@ impl<'top> TextBuffer<'top> { Self::match_optional_comments_and_whitespace, // ...followed by either the end of the list... alt(( - value(None, tag("]")), + tag("]").value(None), // ...or a value... terminated( Self::match_annotated_value.map(Some), @@ -969,7 +946,7 @@ impl<'top> TextBuffer<'top> { Self::match_delimiter_after_list_value, ) .map(|matched| Some(RawValueExpr::EExp(matched))), - value(None, tag("]")), + tag("]").value(None), terminated( Self::match_annotated_long_string_in_list.map(Some), Self::match_delimiter_after_list_value, @@ -982,7 +959,7 @@ impl<'top> TextBuffer<'top> { ) .map(|maybe_matched| maybe_matched.map(RawValueExpr::ValueLiteral)), ))) - .parse(self) + .parse_next(self) } /// Matches syntax that is expected to follow a value in a list: any amount of whitespace and/or @@ -1009,8 +986,11 @@ impl<'top> TextBuffer<'top> { let sexp_iter = RawTextSExpIterator_1_0::new(sexp_body); let span = match sexp_iter.find_span(1) { Ok(span) => span, + Err(IonError::Incomplete(_)) if self.is_final_data => { + return fatal_parse_error(self, "found an incomplete s-expression"); + } // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1035,9 +1015,7 @@ impl<'top> TextBuffer<'top> { // If it doesn't start with {, it isn't a struct. if self.bytes().first() != Some(&b'{') { let error = InvalidInputError::new(self); - return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( - error, - ))); + return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); } // Scan ahead to find the end of this struct. let struct_body = self.slice_to_end(1); @@ -1045,7 +1023,7 @@ impl<'top> TextBuffer<'top> { let span = match struct_iter.find_span() { Ok(span) => span, // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return self.incomplete("a struct"), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1091,7 +1069,7 @@ impl<'top> TextBuffer<'top> { { Ok((span, fields)) => (span, fields), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(winnow::Err::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1099,7 +1077,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(self) .with_label("matching a v1.1 struct") .with_description(format!("{}", e)); - Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) + Err(ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -1139,8 +1117,9 @@ impl<'top> TextBuffer<'top> { // An arg group that is not trivially empty, though it may only contain whitespace: // (:: ) // (:: 1 2 3) - recognize(pair(tag("(::"), Self::match_optional_whitespace)), - ))(self)?; + (tag("(::"), Self::match_optional_whitespace).recognize(), + )) + .parse_next(self)?; // The rest of the group uses s-expression syntax. Scan ahead to find the end of this // group. @@ -1155,9 +1134,7 @@ impl<'top> TextBuffer<'top> { { Ok((span, child_expr_cache)) => (span, child_expr_cache), // If the complete group isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => { - return Err(winnow::Err::Incomplete(Needed::Unknown)) - } + Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1178,8 +1155,8 @@ impl<'top> TextBuffer<'top> { } pub fn match_e_expression_name(self) -> IonParseResult<'top, MacroIdRef<'top>> { - let (exp_body_after_id, (macro_id_bytes, matched_symbol)) = - consumed(Self::match_identifier)(self)?; + let (exp_body_after_id, (matched_symbol, macro_id_bytes)) = + Self::match_identifier.with_recognized().parse_next(self)?; let name = match matched_symbol .read(self.context.allocator(), macro_id_bytes) .expect("matched identifier but failed to read its bytes") @@ -1198,18 +1175,19 @@ impl<'top> TextBuffer<'top> { } pub fn match_system_eexp_id(self) -> IonParseResult<'top, MacroIdRef<'top>> { - let (after_system_annotation, _matched_system_annotation) = recognize(tuple(( + let (after_system_annotation, _matched_system_annotation) = ( tag("$ion"), whitespace_and_then(tag("::")), Self::match_optional_whitespace, - ))) - .parse(self)?; + ) + .recognize() + .parse_next(self)?; let (remaining, id) = alt(( Self::match_e_expression_address, Self::match_e_expression_name, )) - .parse(after_system_annotation)?; + .parse_next(after_system_annotation)?; let system_id = match id { MacroIdRef::LocalName(name) => { let Some(macro_address) = ION_1_1_SYSTEM_MACROS.address_for_name(name) else { @@ -1244,11 +1222,6 @@ impl<'top> TextBuffer<'top> { Self::match_e_expression_address, ))(self)?; - if input_after_id.is_empty() { - // Unlike a symbol value with identifier syntax, an e-expression identifier cannot be - // the last thing in the stream. - return Err(winnow::Err::Incomplete(Needed::Unknown)); - }; Ok((input_after_id, id)) } @@ -1265,7 +1238,7 @@ impl<'top> TextBuffer<'top> { .macro_table() .macro_with_id(id) .ok_or_else(|| { - winnow::error::ErrMode::Cut(IonParseError::Invalid( + ErrMode::Cut(IonParseError::Invalid( InvalidInputError::new(self) .with_description(format!("could not find macro with id {:?}", id)), )) @@ -1293,9 +1266,9 @@ impl<'top> TextBuffer<'top> { } } } - let (remaining, _end_of_eexp) = match whitespace_and_then(tag(")")).parse(remaining) { + let (remaining, _end_of_eexp) = match whitespace_and_then(tag(")")).parse_next(remaining) { Ok(result) => result, - Err(winnow::Err::Incomplete(needed)) => return Err(winnow::Err::Incomplete(needed)), + Err(ErrMode::Incomplete(_)) => return self.incomplete("an e-expression"), Err(_e) => { return fatal_parse_error( remaining, @@ -1326,6 +1299,7 @@ impl<'top> TextBuffer<'top> { self.context, EMPTY_ARG_TEXT.as_bytes(), last_explicit_arg_end, + self.is_final_data(), ); arg_expr_cache.push(EExpArg::new( parameter, @@ -1375,7 +1349,7 @@ impl<'top> TextBuffer<'top> { } let (remaining, maybe_expr) = Self::match_sexp_value_1_1 .map(|expr| expr.map(EExpArgExpr::::from)) - .parse(after_ws)?; + .parse_next(after_ws)?; match maybe_expr { Some(expr) => Ok((remaining, EExpArg::new(parameter, expr))), None => fatal_parse_error( @@ -1392,12 +1366,13 @@ impl<'top> TextBuffer<'top> { self, parameter: &'top Parameter, ) -> IonParseResult<'top, EExpArg<'top, TextEncoding_1_1>> { - recognize(pair(tag("(::"), whitespace_and_then(tag(")")))) + (tag("(::"), whitespace_and_then(tag(")"))) + .recognize() .map(|matched_expr| { let arg_group = TextEExpArgGroup::new(parameter, matched_expr, &[]); EExpArg::new(parameter, EExpArgExpr::ArgGroup(arg_group)) }) - .parse(self) + .parse_next(self) } pub fn match_zero_or_one( @@ -1413,7 +1388,7 @@ impl<'top> TextBuffer<'top> { }) }), ))) - .parse(self) + .parse_next(self) } pub fn match_zero_or_more( @@ -1429,7 +1404,7 @@ impl<'top> TextBuffer<'top> { expr.map(EExpArgExpr::from) .map(|expr| EExpArg::new(parameter, expr)) }), - value(None, peek(tag(")"))), + peek(tag(")")).value(None), )), )(self)?; Ok((remaining, maybe_expr)) @@ -1456,7 +1431,7 @@ impl<'top> TextBuffer<'top> { parameter: &'top Parameter, ) -> IonParseResult<'top, TextEExpArgGroup<'top>> { if parameter.rest_syntax_policy() == RestSyntaxPolicy::NotAllowed { - return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + return Err(ErrMode::Backtrack(IonParseError::Invalid( InvalidInputError::new(self) .with_description("parameter does not support rest syntax"), ))); @@ -1465,10 +1440,10 @@ impl<'top> TextBuffer<'top> { let mut cache = BumpVec::new_in(self.context().allocator()); loop { let (remaining_after_expr, maybe_expr) = alt(( - value(None, whitespace_and_then(peek(tag(")")))), + whitespace_and_then(peek(tag(")"))).value(None), Self::match_sexp_value_1_1, )) - .parse(remaining)?; + .parse_next(remaining)?; if let Some(expr) = maybe_expr { remaining = remaining_after_expr; cache.push(expr); @@ -1484,10 +1459,7 @@ impl<'top> TextBuffer<'top> { /// Matches and returns a boolean value. pub fn match_bool(self) -> IonParseResult<'top, bool> { terminated( - alt(( - value(true, complete_tag("true")), - value(false, complete_tag("false")), - )), + alt((tag("true").value(true), tag("false").value(false))), Self::peek_stop_character, )(self) } @@ -1496,41 +1468,41 @@ impl<'top> TextBuffer<'top> { pub fn match_null(self) -> IonParseResult<'top, IonType> { terminated( alt(( - pair(complete_tag("null."), Self::match_ion_type).map(|(_, ion_type)| ion_type), - complete_tag("null").map(|_| IonType::Null), + (tag("null."), Self::match_ion_type).map(|(_, ion_type)| ion_type), + tag("null").value(IonType::Null), )), Self::peek_stop_character, ) - .parse(self) + .parse_next(self) } /// Matches and returns an Ion type. fn match_ion_type(self) -> IonParseResult<'top, IonType> { alt(( - value(IonType::Null, tag("null")), - value(IonType::Bool, tag("bool")), - value(IonType::Int, tag("int")), - value(IonType::Float, tag("float")), - value(IonType::Decimal, tag("decimal")), - value(IonType::Timestamp, tag("timestamp")), - value(IonType::Symbol, tag("symbol")), - value(IonType::String, tag("string")), - value(IonType::Clob, tag("clob")), - value(IonType::Blob, tag("blob")), - value(IonType::List, tag("list")), - value(IonType::SExp, tag("sexp")), - value(IonType::Struct, tag("struct")), + tag("null").value(IonType::Null), + tag("bool").value(IonType::Bool), + tag("int").value(IonType::Int), + tag("float").value(IonType::Float), + tag("decimal").value(IonType::Decimal), + tag("timestamp").value(IonType::Timestamp), + tag("symbol").value(IonType::Symbol), + tag("string").value(IonType::String), + tag("clob").value(IonType::Clob), + tag("blob").value(IonType::Blob), + tag("list").value(IonType::List), + tag("sexp").value(IonType::SExp), + tag("struct").value(IonType::Struct), ))(self) } /// Matches any one of Ion's stop characters. fn match_stop_character(self) -> IonMatchResult<'top> { - alt((eof, recognize(one_of("{}[](),\"' \t\n\r\u{0b}\u{0c}"))))(self) + alt((eof, one_of("{}[](),\"' \t\n\r\u{0b}\u{0c}").recognize()))(self) } /// Matches--but does not consume--any one of Ion's stop characters. fn peek_stop_character(self) -> IonMatchResult<'top> { - peek(Self::match_stop_character).parse(self) + peek(Self::match_stop_character).parse_next(self) } /// Matches the three parts of an int--its base, its sign, and its digits--without actually @@ -1552,37 +1524,36 @@ impl<'top> TextBuffer<'top> { /// partially parsed value as a [`MatchedInt`]. fn match_base_2_int(self) -> IonParseResult<'top, MatchedInt> { separated_pair( - opt(char('-')), - alt((complete_tag("0b"), complete_tag("0B"))), + opt(one_of('-')), + alt((tag("0b"), tag("0B"))), Self::match_base_2_int_digits, ) .map(|(maybe_sign, digits)| { MatchedInt::new(2, maybe_sign.is_some(), digits.offset() - self.offset()) }) - .parse(self) + .parse_next(self) } /// Matches the digits of a base-2 integer. fn match_base_2_int_digits(self) -> IonMatchResult<'top> { - recognize(terminated( + terminated( // Zero or more digits-followed-by-underscores - many0_count(pair(complete_is_a("01"), complete_tag("_"))), + many0::<_, _, usize, _, _>((take_while1("01"), tag("_"))), // One or more digits - pair( - one_of("01"), - many0_count(winnow::character::complete::one_of("01")), - ), - ))(self) + many1::<_, _, usize, _, _>(one_of("01")), + ) + .recognize() + .parse_next(self) } /// Matches a base-10 notation integer (e.g. `0`, `255`, or `-1_024`) and returns the partially /// parsed value as a [`MatchedInt`]. fn match_base_10_int(self) -> IonParseResult<'top, MatchedInt> { - pair(opt(char('-')), Self::match_base_10_int_digits) + (opt(one_of('-')), Self::match_base_10_int_digits) .map(|(maybe_sign, digits)| { MatchedInt::new(10, maybe_sign.is_some(), digits.offset() - self.offset()) }) - .parse(self) + .parse_next(self) } /// Matches the digits of a base-10 integer. (i.e. An integer without a sign.) @@ -1596,18 +1567,19 @@ impl<'top> TextBuffer<'top> { fn match_base_10_digits_before_dot(self) -> IonMatchResult<'top> { alt(( // The number is either a zero... - complete_tag("0"), + tag("0"), // Or it's a non-zero followed by some number of '_'-separated digits - recognize(pair( + ( Self::match_base_10_leading_digit, Self::match_base_10_trailing_digits, - )), + ) + .recognize(), ))(self) } /// Matches the first digit of a multi-digit base-10 integer. (i.e. Any digit but zero.) fn match_base_10_leading_digit(self) -> IonMatchResult<'top> { - recognize(one_of("123456789"))(self) + one_of("123456789").recognize().parse_next(self) } /// Matches any number of digits with underscores optionally appearing in the middle. @@ -1615,47 +1587,52 @@ impl<'top> TextBuffer<'top> { /// of a number. fn match_base_10_trailing_digits(self) -> IonMatchResult<'top> { // A sequence of zero or more... - recognize(many0_count(alt(( + zero_or_more(alt(( //...underscore-followed-by-a-digit... - recognize(preceded(complete_tag("_"), satisfy(|c| c.is_ascii_digit()))), - //...or a digit. - complete_digit1, - ))))(self) + (tag("_"), one_of(|b: u8| b.is_ascii_digit())).recognize(), + //...or one or more digits. + digit1, + ))) + .parse_next(self) } /// Matches a base-10 notation integer (e.g. `0x0`, `0X20`, or `-0xCAFE`) and returns the /// partially parsed value as a [`MatchedInt`]. fn match_base_16_int(self) -> IonParseResult<'top, MatchedInt> { separated_pair( - opt(char('-')), - alt((complete_tag("0x"), complete_tag("0X"))), + opt(one_of('-')), + alt((tag("0x"), tag("0X"))), Self::match_base_16_int_trailing_digits, ) .map(|(maybe_sign, digits)| { MatchedInt::new(16, maybe_sign.is_some(), digits.offset() - self.offset()) }) - .parse(self) + .parse_next(self) } /// Matches the digits that follow the '0x' or '0X' in a base-16 integer fn match_base_16_int_trailing_digits(self) -> IonMatchResult<'top> { - recognize(terminated( + terminated( // Zero or more digits-followed-by-underscores - many0_count(pair(Self::take_base_16_digits1, complete_tag("_"))), + zero_or_more((Self::take_base_16_digits1, tag("_"))), // One or more digits Self::take_base_16_digits1, - ))(self) + ) + .recognize() + .parse_next(self) } /// Recognizes 1 or more consecutive base-16 digits. // This function's "1" suffix is a style borrowed from `nom`. fn take_base_16_digits1(self) -> IonMatchResult<'top> { - recognize(pair( + ( // We need at least one digit; if input's empty, this is Incomplete. - satisfy(|c: char| c.is_ascii_hexdigit()), + one_of(|b: u8| b.is_ascii_hexdigit()), // After we have our digit, take digits until we find a non-digit (including EOF). - complete_take_while(|b: u8| b.is_ascii_hexdigit()), - ))(self) + take_while0(|b: u8| b.is_ascii_hexdigit()), + ) + .recognize() + .parse_next(self) } /// Matches `n` consecutive hex digits. @@ -1666,14 +1643,15 @@ impl<'top> TextBuffer<'top> { // specifying an operation to perform on each match. In our case, we just need the parser // to run 'n' times exactly so `recognize` can return the accepted slice; our operation // is a no-op. - recognize(fold_many_m_n( + fold_many_m_n( count, count, - satisfy(|c| c.is_ascii_hexdigit()), + one_of(|b: u8| b.is_ascii_hexdigit()), || 0, // no-op |accum, _item| accum, - )) + ) + .recognize() } /// Matches an Ion float of any syntax @@ -1690,20 +1668,21 @@ impl<'top> TextBuffer<'top> { /// Matches special IEEE-754 values, including +/- infinity and NaN. fn match_float_special_value(self) -> IonParseResult<'top, MatchedFloat> { alt(( - value(MatchedFloat::NotANumber, complete_tag("nan")), - value(MatchedFloat::PositiveInfinity, tag("+inf")), - value(MatchedFloat::NegativeInfinity, tag("-inf")), + tag("nan").value(MatchedFloat::NotANumber), + tag("+inf").value(MatchedFloat::PositiveInfinity), + tag("-inf").value(MatchedFloat::NegativeInfinity), ))(self) } /// Matches numeric IEEE-754 floating point values. fn match_float_numeric_value(self) -> IonParseResult<'top, MatchedFloat> { - recognize(pair( + ( Self::match_number_with_optional_dot_and_digits, Self::match_float_exponent_marker_and_digits, - )) - .map(|_matched| MatchedFloat::Numeric) - .parse(self) + ) + .recognize() + .value(MatchedFloat::Numeric) + .parse_next(self) } /// Matches a number that may or may not have a decimal place and trailing fractional digits. @@ -1713,86 +1692,81 @@ impl<'top> TextBuffer<'top> { /// 1000.559 /// -25.2 fn match_number_with_optional_dot_and_digits(self) -> IonMatchResult<'top> { - recognize(tuple(( - opt(complete_tag("-")), + ( + opt(tag("-")), Self::match_base_10_digits_before_dot, opt(Self::match_dot_followed_by_base_10_digits), - )))(self) + ) + .recognize() + .parse_next(self) } /// In a float or decimal, matches the digits that are permitted before the decimal point. /// This includes either a single zero, or a non-zero followed by any sequence of digits. fn match_digits_before_dot(self) -> IonMatchResult<'top> { alt(( - complete_tag("0"), - recognize(pair(Self::match_leading_digit, Self::match_trailing_digits)), + tag("0"), + (Self::match_leading_digit, Self::match_trailing_digits).recognize(), ))(self) } /// Matches a single non-zero base 10 digit. fn match_leading_digit(self) -> IonMatchResult<'top> { - recognize(one_of("123456789"))(self) + one_of("123456789").recognize().parse_next(self) } /// Matches any number of base 10 digits, allowing underscores at any position except the end. fn match_trailing_digits(self) -> IonMatchResult<'top> { - recognize(many0_count(preceded( - opt(complete_char('_')), - complete_digit1, - )))(self) + zero_or_more(preceded(opt(tag("_")), digit1)).parse_next(self) } /// Recognizes a decimal point followed by any number of base-10 digits. fn match_dot_followed_by_base_10_digits(self) -> IonMatchResult<'top> { - recognize(preceded( - complete_tag("."), - opt(Self::match_zero_or_more_digits_after_dot), - ))(self) + (tag("."), opt(Self::match_zero_or_more_digits_after_dot)) + .recognize() + .parse_next(self) } /// Like `match_digits_before_dot`, but allows leading zeros. fn match_one_or_more_digits_after_dot(self) -> IonMatchResult<'top> { - recognize(terminated( + ( // Any number of digit-sequence-with-trailing-underscores... - many0_count(pair(complete_digit1, complete_char('_'))), + zero_or_more((digit1, tag("_"))), // ...and at least one trailing digit. Inputs that don't have any underscores // will be handled by this parser branch. - pair(satisfy(|c| c.is_ascii_digit()), complete_digit0), - // Note: ^-- We use this `pair(satisfy(...), complete_digit0)` to guarantee a subtle - // behavior. At the end of the buffer, an empty input to this parser must be - // considered 'incomplete' instead of 'invalid'. In contrast, an input of a single - // digit would be considered complete even though the buffer could get more data later. - // (If the buffer gets more data, it's the StreamingRawReader's responsibility to - // discard the `1.1` and try again.) - ))(self) + (one_of(|b: u8| b.is_ascii_digit()), digit0), + ) + .recognize() + .parse_next(self) } /// Like `match_digits_before_dot`, but allows leading zeros. fn match_zero_or_more_digits_after_dot(self) -> IonMatchResult<'top> { - recognize(terminated( + terminated( // Zero or more digits-followed-by-underscores. - many0_count(pair( - complete_digit1, + zero_or_more(( + digit1, terminated( // The digit sequence can be followed by an underscore... - complete_char('_'), + one_of('_'), // ...as long as the character after the underscore is another digit. - peek(satisfy(|c| c.is_ascii_digit())), + peek(one_of(|b: u8| b.is_ascii_digit())), ), )), - // ...and zero or more trailing digits. This parser branch handles: - // * inputs that don't have any underscores - // * empty inputs - complete_digit0, - ))(self) + // ...and one or more trailing digits. This parser branch handles + // inputs that don't have any underscores. + digit1, + ) + .recognize() + .parse_next(self) } /// Matches an `e` or `E` followed by an optional sign (`+` or `-`) followed by one or more /// base 10 digits. fn match_float_exponent_marker_and_digits(self) -> IonMatchResult<'top> { preceded( - complete_one_of("eE"), - recognize(Self::match_exponent_sign_and_one_or_more_digits), + one_of("eE"), + Self::match_exponent_sign_and_one_or_more_digits.recognize(), )(self) } @@ -1806,23 +1780,24 @@ impl<'top> TextBuffer<'top> { /// Returns a boolean indicating whether the sign was negative (vs absent or positive) /// and the buffer slice containing the digits. fn match_exponent_sign_and_one_or_more_digits(self) -> IonParseResult<'top, (bool, Self)> { - pair( + ( // Optional leading sign; if there's no sign, it's not negative. - opt(Self::match_any_sign).map(|s| s == Some('-')), + opt(Self::match_any_sign).map(|s| s == Some(b'-')), Self::match_one_or_more_digits_after_dot, - )(self) + ) + .parse_next(self) } /// Matches `-` OR `+`. /// /// This is used for matching exponent signs; most places in Ion do not allow `+`. - pub fn match_any_sign(self) -> IonParseResult<'top, std::primitive::char> { - complete_one_of("-+")(self) + pub fn match_any_sign(self) -> IonParseResult<'top, std::primitive::u8> { + one_of("-+").parse_next(self) } pub fn match_decimal_exponent(self) -> IonParseResult<'top, (bool, TextBuffer<'top>)> { preceded( - complete_one_of("dD"), + one_of("dD"), Self::match_exponent_sign_and_one_or_more_digits, )(self) } @@ -1831,36 +1806,40 @@ impl<'top> TextBuffer<'top> { /// decimal point (if present). pub fn match_decimal(self) -> IonParseResult<'top, MatchedDecimal> { terminated( - tuple(( - opt(complete_tag("-")), + ( + opt(tag("-")), Self::match_digits_before_dot, alt(( - tuple(( - complete_tag("."), + ( + tag("."), opt(Self::match_zero_or_more_digits_after_dot), opt(Self::match_decimal_exponent), - )) - .map(|(dot, maybe_digits_after_dot, maybe_exponent)| { - let digits_after_dot = match maybe_digits_after_dot { - Some(digits) => digits, - None => dot.slice(1, 0), - }; - let (exp_is_negative, exp_digits) = match maybe_exponent { - Some(exponent) => exponent, - None => (false, digits_after_dot.slice(digits_after_dot.len(), 0)), - }; - (digits_after_dot, exp_is_negative, exp_digits) - }), + ) + .map( + |(dot, maybe_digits_after_dot, maybe_exponent)| { + let digits_after_dot = match maybe_digits_after_dot { + Some(digits) => digits, + None => dot.slice(1, 0), + }; + let (exp_is_negative, exp_digits) = match maybe_exponent { + Some(exponent) => exponent, + None => { + (false, digits_after_dot.slice(digits_after_dot.len(), 0)) + } + }; + (digits_after_dot, exp_is_negative, exp_digits) + }, + ), // or just a d/D and exponent - consumed(Self::match_decimal_exponent).map( - |(matched, (exp_is_negative, exp_digits))| { + Self::match_decimal_exponent.with_recognized().map( + |((exp_is_negative, exp_digits), matched)| { // Make an empty slice to represent the (absent) digits after dot let digits_after_dot = matched.slice(0, 0); (digits_after_dot, exp_is_negative, exp_digits) }, ), )), - )), + ), Self::peek_stop_character, ) .map( @@ -1892,7 +1871,7 @@ impl<'top> TextBuffer<'top> { ) }, ) - .parse(self) + .parse_next(self) } /// Matches short- or long-form string. @@ -1902,7 +1881,7 @@ impl<'top> TextBuffer<'top> { /// Matches a short string. For example: `"foo"` pub(crate) fn match_short_string(self) -> IonParseResult<'top, MatchedString> { - delimited(char('"'), Self::match_short_string_body, char('"')) + delimited(one_of('"'), Self::match_short_string_body, one_of('"')) .map(|(_matched, contains_escaped_chars)| { if contains_escaped_chars { MatchedString::ShortWithEscapes @@ -1910,7 +1889,7 @@ impl<'top> TextBuffer<'top> { MatchedString::ShortWithoutEscapes } }) - .parse(self) + .parse_next(self) } /// Returns a matched buffer and a boolean indicating whether any escaped characters were @@ -1967,19 +1946,17 @@ impl<'top> TextBuffer<'top> { /// If not, it will return an `Err` that includes the provided `label`. pub fn match_only_complete_if_terminated( label: &'static str, - mut parser: impl FnMut(Self) -> IonParseResult<'top, Output> + 'top, + mut parser: impl Parser>, mut terminator: impl FnMut(Self) -> IonParseResult<'top, Output3>, mut partial: impl FnMut(Self) -> IonParseResult<'top, Output2>, ) -> impl FnMut(Self) -> IonParseResult<'top, Output> { move |input: Self| { // If the parser raises an error, bubble it up. - let (remaining, matched) = parser(input)?; + let (remaining, matched) = parser.parse_next(input)?; // If the next thing in input is the terminator, report success. match peek(&mut terminator)(remaining) { Ok(_) => return Ok((remaining, matched)), - Err(winnow::Err::Incomplete(_)) => { - return Err(winnow::Err::Incomplete(Needed::Unknown)) - } + Err(ErrMode::Incomplete(_)) => return remaining.incomplete(label), _ => { // no match } @@ -1987,10 +1964,10 @@ impl<'top> TextBuffer<'top> { // Otherwise, see if the next thing in input is an indication that the input was // incomplete. if peek(&mut partial)(remaining).is_ok() { - return incomplete(); + return remaining.incomplete(label); } - Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + Err(ErrMode::Backtrack(IonParseError::Invalid( InvalidInputError::new(remaining).with_label(label), ))) } @@ -2020,7 +1997,7 @@ impl<'top> TextBuffer<'top> { _ => MatchedString::Long, }, ) - .parse(self) + .parse_next(self) } /// In the context of a list or s-expression, a truncated long-form string makes it impossible @@ -2039,7 +2016,7 @@ impl<'top> TextBuffer<'top> { /// If an error is encountered while traversing a list or struct, this method can be used to /// see if the problematic data was the beginning of another string segment. pub fn match_partial_long_string_delimiter(self) -> IonMatchResult<'top> { - whitespace_and_then(terminated(tag("''"), eof)).parse(self) + whitespace_and_then(terminated(tag("''"), eof)).parse_next(self) } /// Matches a single long string segment enclosed by `'''` delimiters. @@ -2048,13 +2025,9 @@ impl<'top> TextBuffer<'top> { // If the buffer is a single quote and then EOF, it's not known whether this was a // partial long string segment or a partial quoted symbol. if self.bytes() == b"'" { - return Err(winnow::Err::Incomplete(Needed::Unknown)); + return self.incomplete("a long string segment"); } - delimited( - complete_tag("'''"), - Self::match_long_string_segment_body, - tag("'''"), - )(self) + delimited(tag("'''"), Self::match_long_string_segment_body, tag("'''"))(self) } /// Matches all input up to (but not including) the first unescaped instance of `'''`. @@ -2067,12 +2040,12 @@ impl<'top> TextBuffer<'top> { fn match_operator>( self, ) -> IonParseResult<'top, LazyRawTextValue<'top, E>> { - is_a("!#%&*+-./;<=>?@^`|~") + take_while1("!#%&*+-./;<=>?@^`|~") .map(|text: TextBuffer<'_>| LazyRawTextValue { input: text, encoded_value: EncodedTextValue::new(MatchedValue::Symbol(MatchedSymbol::Operator)), }) - .parse(self) + .parse_next(self) } /// Matches a symbol ID (`$28`), an identifier (`foo`), or a quoted symbol (`'foo'`). @@ -2086,9 +2059,9 @@ impl<'top> TextBuffer<'top> { /// Matches a symbol ID (`$28`). fn match_symbol_id(self) -> IonParseResult<'top, MatchedSymbol> { - recognize(preceded(tag("$"), Self::match_address)) - .map(|_matched| MatchedSymbol::SymbolId) - .parse(self) + (tag("$"), Self::match_address) + .value(MatchedSymbol::SymbolId) + .parse_next(self) } /// Matches the integer portion of a symbol ID or a macro address. @@ -2102,39 +2075,34 @@ impl<'top> TextBuffer<'top> { // We do this to make sure that input like `$1_02` gets parsed like an identifier; // If we didn't check for a trailing underscore, it would be a SID (`$1`) and an // identifier (`_02`). - terminated(complete_digit1, peek(not(complete_tag("_")))) + terminated(digit1, peek(not(tag("_")))) .map(|buffer: TextBuffer<'_>| { // The matched buffer is ascii base 10 digits, parsing must succeed usize::from_str(buffer.as_utf8(self.offset()).unwrap()).unwrap() }) - .parse(self) + .parse_next(self) } /// Matches items that match the syntactic definition of an identifier but which have special /// meaning. (`true`, `false`, `nan`, `null`) pub(crate) fn match_keyword(self) -> IonMatchResult<'top> { terminated( - alt(( - complete_tag("true"), - complete_tag("false"), - complete_tag("null"), - complete_tag("nan"), - )), + alt((tag("true"), tag("false"), tag("null"), tag("nan"))), Self::identifier_terminator, )(self) } /// Matches an identifier (`foo`). pub(crate) fn match_identifier(self) -> IonParseResult<'top, MatchedSymbol> { - let (remaining, identifier_text) = recognize(terminated( - pair( - Self::identifier_initial_character, - Self::identifier_trailing_characters, - ), + let (remaining, identifier_text) = ( + Self::identifier_initial_character, + Self::identifier_trailing_characters, Self::identifier_terminator, - ))(self)?; + ) + .recognize() + .parse_next(self)?; if identifier_text.match_keyword().is_ok() { - return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( + return Err(ErrMode::Backtrack(IonParseError::Invalid( InvalidInputError::new(self), ))); } @@ -2142,33 +2110,33 @@ impl<'top> TextBuffer<'top> { } fn identifier_terminator(self) -> IonMatchResult<'top> { - alt(( - eof, - recognize(peek(not(Self::identifier_trailing_character))), - ))(self) + peek(not(Self::identifier_trailing_character)) + .recognize() + .parse_next(self) } /// Matches any character that can appear at the start of an identifier. fn identifier_initial_character(self) -> IonParseResult<'top, Self> { - recognize(alt((one_of("$_"), satisfy(|c| c.is_ascii_alphabetic()))))(self) + alt((one_of("$_"), one_of(|b: u8| b.is_ascii_alphabetic()))) + .recognize() + .parse_next(self) } /// Matches any character that is legal in an identifier, though not necessarily at the beginning. fn identifier_trailing_character(self) -> IonParseResult<'top, Self> { - recognize(alt(( - complete_one_of("$_"), - winnow::character::complete::satisfy(|c| c.is_ascii_alphanumeric()), - )))(self) + alt((one_of("$_"), one_of(|c: u8| c.is_ascii_alphanumeric()))) + .recognize() + .parse_next(self) } /// Matches characters that are legal in an identifier, though not necessarily at the beginning. fn identifier_trailing_characters(self) -> IonParseResult<'top, Self> { - complete_take_while(|c: u8| c.is_ascii_alphanumeric() || b"$_".contains(&c))(self) + take_while0(|b: u8| b.is_ascii_alphanumeric() || b"$_".contains(&b))(self) } /// Matches a quoted symbol (`'foo'`). fn match_quoted_symbol(self) -> IonParseResult<'top, MatchedSymbol> { - delimited(complete_tag("'"), Self::match_quoted_symbol_body, tag("'")) + delimited(tag("'"), Self::match_quoted_symbol_body, tag("'")) .map(|(_matched, contains_escaped_chars)| { if contains_escaped_chars { MatchedSymbol::QuotedWithEscapes @@ -2176,7 +2144,7 @@ impl<'top> TextBuffer<'top> { MatchedSymbol::QuotedWithoutEscapes } }) - .parse(self) + .parse_next(self) } /// Returns a matched buffer and a boolean indicating whether any escaped characters were @@ -2229,7 +2197,7 @@ impl<'top> TextBuffer<'top> { } } } - Err(winnow::Err::Incomplete(Needed::Unknown)) + self.incomplete("a text value without closing delimiter") } #[cold] @@ -2287,8 +2255,8 @@ impl<'top> TextBuffer<'top> { } /// Matches a single base-10 digit, 0-9. - fn match_any_digit(self) -> IonParseResult<'top, std::primitive::char> { - satisfy(|c| c.is_ascii_digit())(self) + fn match_any_digit(self) -> IonParseResult<'top, std::primitive::u8> { + one_of(|b: u8| b.is_ascii_digit())(self) } /// Matches a timestamp of any precision. @@ -2307,77 +2275,77 @@ impl<'top> TextBuffer<'top> { fn match_timestamp_y(self) -> IonParseResult<'top, MatchedTimestamp> { terminated( Self::match_timestamp_year, - pair(tag("T"), Self::peek_stop_character), + (tag("T"), Self::peek_stop_character), ) .map(|_year| MatchedTimestamp::new(TimestampPrecision::Year)) - .parse(self) + .parse_next(self) } /// Matches a timestamp with month precision. fn match_timestamp_ym(self) -> IonParseResult<'top, MatchedTimestamp> { terminated( - pair(Self::match_timestamp_year, Self::match_timestamp_month), - pair(tag("T"), Self::peek_stop_character), + (Self::match_timestamp_year, Self::match_timestamp_month), + (tag("T"), Self::peek_stop_character), ) .map(|(_year, _month)| MatchedTimestamp::new(TimestampPrecision::Month)) - .parse(self) + .parse_next(self) } /// Matches a timestamp with day precision. fn match_timestamp_ymd(self) -> IonParseResult<'top, MatchedTimestamp> { terminated( - tuple(( + ( Self::match_timestamp_year, Self::match_timestamp_month, Self::match_timestamp_day, - )), - pair(opt(complete_tag("T")), Self::peek_stop_character), + ), + (opt(tag("T")), Self::peek_stop_character), ) .map(|_| MatchedTimestamp::new(TimestampPrecision::Day)) - .parse(self) + .parse_next(self) } /// Matches a timestamp with hour-and-minute precision. fn match_timestamp_ymd_hm(self) -> IonParseResult<'top, MatchedTimestamp> { terminated( - tuple(( + ( Self::match_timestamp_year, Self::match_timestamp_month, Self::match_timestamp_day, Self::match_timestamp_hour_and_minute, Self::match_timestamp_offset, - )), + ), Self::peek_stop_character, ) .map(|(_y, _m, _d, _hm, offset)| { MatchedTimestamp::new(TimestampPrecision::HourAndMinute).with_offset(offset) }) - .parse(self) + .parse_next(self) } /// Matches a timestamp with second precision. fn match_timestamp_ymd_hms(self) -> IonParseResult<'top, MatchedTimestamp> { terminated( - tuple(( + ( Self::match_timestamp_year, Self::match_timestamp_month, Self::match_timestamp_day, Self::match_timestamp_hour_and_minute, Self::match_timestamp_seconds, Self::match_timestamp_offset, - )), + ), Self::peek_stop_character, ) .map(|(_y, _m, _d, _hm, _s, offset)| { MatchedTimestamp::new(TimestampPrecision::Second).with_offset(offset) }) - .parse(self) + .parse_next(self) } /// Matches a timestamp with second precision, including a fractional seconds component. fn match_timestamp_ymd_hms_fractional(self) -> IonParseResult<'top, MatchedTimestamp> { terminated( - tuple(( + ( Self::match_timestamp_year, Self::match_timestamp_month, Self::match_timestamp_day, @@ -2385,40 +2353,47 @@ impl<'top> TextBuffer<'top> { Self::match_timestamp_seconds, Self::match_timestamp_fractional_seconds, Self::match_timestamp_offset, - )), + ), Self::peek_stop_character, ) .map(|(_y, _m, _d, _hm, _s, _f, offset)| { MatchedTimestamp::new(TimestampPrecision::Second).with_offset(offset) }) - .parse(self) + .parse_next(self) } /// Matches the year component of a timestamp. fn match_timestamp_year(self) -> IonMatchResult<'top> { - recognize(take_while_m_n(4, 4, |c: u8| c.is_ascii_digit()))(self) + take_while_m_n(4, 4, |c: u8| c.is_ascii_digit())(self) } /// Matches the month component of a timestamp, including a leading `-`. fn match_timestamp_month(self) -> IonMatchResult<'top> { preceded( - complete_tag("-"), - recognize(alt(( - pair(char('0'), one_of("123456789")), - pair(char('1'), one_of("012")), - ))), + tag("-"), + alt(( + (one_of('0'), one_of("123456789")), + (one_of('1'), one_of("012")), + )) + .recognize(), )(self) } + fn match_timestamp_day2(self) -> IonMatchResult<'top> { + tag("123").parse_next(self) + } + /// Matches the day component of a timestamp, including a leading `-`. fn match_timestamp_day(self) -> IonMatchResult<'top> { preceded( tag("-"), - recognize(alt(( - pair(char('0'), one_of("123456789")), - pair(one_of("12"), Self::match_any_digit), - pair(char('3'), one_of("01")), - ))), + alt(( + (tag(b"0"), one_of(b"123456789".as_slice())), + // pair(one_of([b'1' as u8, b'2' as u8]), Self::match_any_digit), + (one_of(b"12".as_slice()).recognize(), Self::match_any_digit), + (tag(b"3"), one_of(b"01".as_slice())), + )) + .recognize(), )(self) } @@ -2431,14 +2406,15 @@ impl<'top> TextBuffer<'top> { tag("T"), separated_pair( // Hour - recognize(alt(( - pair(one_of("01"), Self::match_any_digit), - pair(char('2'), one_of("0123")), - ))), + alt(( + (one_of("01").recognize(), Self::match_any_digit), + (tag(b"2"), one_of("0123")), + )) + .recognize(), // Delimiter tag(":"), // Minutes - recognize(pair(one_of("012345"), Self::match_any_digit)), + (one_of("012345"), Self::match_any_digit).recognize(), ), )(self) } @@ -2447,7 +2423,7 @@ impl<'top> TextBuffer<'top> { fn match_timestamp_seconds(self) -> IonMatchResult<'top> { preceded( tag(":"), - recognize(pair(one_of("012345"), Self::match_any_digit)), + (one_of("012345"), Self::match_any_digit).recognize(), )(self) } @@ -2459,13 +2435,12 @@ impl<'top> TextBuffer<'top> { /// Matches a timestamp offset of any format. fn match_timestamp_offset(self) -> IonParseResult<'top, MatchedTimestampOffset> { alt(( - value(MatchedTimestampOffset::Zulu, tag("Z")), - value(MatchedTimestampOffset::Zulu, tag("+00:00")), - value(MatchedTimestampOffset::Unknown, tag("-00:00")), - map( - pair(one_of("-+"), Self::match_timestamp_offset_hours_and_minutes), + tag("Z").value(MatchedTimestampOffset::Zulu), + tag("+00:00").value(MatchedTimestampOffset::Zulu), + tag("-00:00").value(MatchedTimestampOffset::Unknown), + (one_of("-+"), Self::match_timestamp_offset_hours_and_minutes).map( |(sign, (_hours, _minutes))| { - if sign == '-' { + if sign == b'-' { MatchedTimestampOffset::NegativeHoursAndMinutes } else { MatchedTimestampOffset::PositiveHoursAndMinutes @@ -2480,45 +2455,41 @@ impl<'top> TextBuffer<'top> { fn match_timestamp_offset_hours_and_minutes(self) -> IonParseResult<'top, (Self, Self)> { separated_pair( // Hour - recognize(alt(( - pair(one_of("01"), Self::match_any_digit), - pair(char('2'), one_of("0123")), - ))), + alt(( + (one_of("01").recognize(), Self::match_any_digit), + (tag(b"2"), one_of("0123")), + )) + .recognize(), // Delimiter tag(":"), // Minutes - recognize(pair(one_of("012345"), Self::match_any_digit)), + (one_of("012345"), Self::match_any_digit).recognize(), )(self) } /// Matches a complete blob, including the opening `{{` and closing `}}`. pub fn match_blob(self) -> IonParseResult<'top, MatchedBlob> { delimited( - complete_tag("{{"), + tag("{{"), // Only whitespace (not comments) can appear within the blob - recognize(Self::match_base64_content), + Self::match_base64_content, preceded(Self::match_optional_whitespace, tag("}}")), ) .map(|base64_data| { MatchedBlob::new(base64_data.offset() - self.offset(), base64_data.len()) }) - .parse(self) + .parse_next(self) } /// Matches a clob of either short- or long-form syntax. pub fn match_clob(self) -> IonParseResult<'top, MatchedClob> { delimited( - complete_tag("{{"), + tag("{{"), preceded( Self::match_optional_whitespace, alt(( - value(MatchedClob::Short, Self::match_short_clob_body), - value( - MatchedClob::Long, - // Look ahead to make sure there's a complete triple quote following the `{{`. - // If there isn't, the input is incomplete. - preceded(peek(tag("'''")), Self::match_long_clob_body), - ), + Self::match_short_clob_body.value(MatchedClob::Short), + preceded(peek(tag("'''")), Self::match_long_clob_body).value(MatchedClob::Long), )), ), preceded(Self::match_optional_whitespace, tag("}}")), @@ -2527,7 +2498,9 @@ impl<'top> TextBuffer<'top> { /// Matches the body (inside the `{{` and `}}`) of a short-form clob. fn match_short_clob_body(self) -> IonMatchResult<'top> { - let (remaining, (body, _matched_string)) = consumed(Self::match_short_string)(self)?; + let (remaining, (_matched_string, body)) = Self::match_short_string + .with_recognized() + .parse_next(self)?; body.validate_clob_text()?; Ok((remaining, body)) } @@ -2536,10 +2509,11 @@ impl<'top> TextBuffer<'top> { fn match_long_clob_body(self) -> IonMatchResult<'top> { let (remaining, body) = Self::match_only_complete_if_terminated( "reading a long-form clob", - recognize(many1_count(preceded( + one_or_more(preceded( Self::match_optional_whitespace, Self::match_long_clob_body_segment, - ))), + )) + .recognize(), preceded(Self::match_optional_whitespace, tag(r#"}}"#)), preceded(Self::match_optional_whitespace, tag("''")), )(self)?; @@ -2549,7 +2523,9 @@ impl<'top> TextBuffer<'top> { /// Matches a single segment of a long-form clob's content. fn match_long_clob_body_segment(self) -> IonMatchResult<'top> { - let (remaining, (body, _matched_string)) = consumed(Self::match_long_string_segment)(self)?; + let (remaining, (_matched_string, body)) = Self::match_long_string_segment + .with_recognized() + .parse_next(self)?; body.validate_clob_text()?; Ok((remaining, body)) } @@ -2560,7 +2536,7 @@ impl<'top> TextBuffer<'top> { if !Self::byte_is_legal_clob_ascii(byte) { let message = format!("found an illegal byte '{:0x}' in clob", byte); let error = InvalidInputError::new(self).with_description(message); - return Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))); + return Err(ErrMode::Cut(IonParseError::Invalid(error))); } } // Return success without consuming @@ -2581,16 +2557,22 @@ impl<'top> TextBuffer<'top> { /// whitespace, so the matched input region may need to be stripped of whitespace before /// the data can be decoded. fn match_base64_content(self) -> IonMatchResult<'top> { - recognize(terminated( - many0_count(preceded( + ( + zero_or_more(( Self::match_optional_whitespace, - alt((alphanumeric1, is_a("+/"))), + alt((alphanumeric1, take_while1("+/"))), )), opt(preceded( Self::match_optional_whitespace, alt((tag("=="), tag("="))), )), - ))(self) + ) + .recognize() + .parse_next(self) + } + + pub fn is_final_data(&self) -> bool { + self.is_final_data } } @@ -2664,6 +2646,24 @@ impl<'data> winnow::stream::Stream for TextBuffer<'data> { (self.slice_to_end(offset), self.slice(0, offset)) } } + +impl StreamIsPartial for TextBuffer<'_> { + type PartialState = (); + + fn complete(&mut self) -> Self::PartialState {} + + fn restore_partial(&mut self, _state: Self::PartialState) { + // No-op. + } + + fn is_partial_supported() -> bool { + true + } + + fn is_partial(&self) -> bool { + !self.is_final_data + } +} // // impl<'data> winnow::InputIter for TextBuffer<'data> { // type Item = u8; @@ -2700,6 +2700,26 @@ impl<'a> winnow::stream::Compare<&'a str> for TextBuffer<'_> { } } +impl<'a> winnow::stream::Compare<&'a [u8]> for TextBuffer<'_> { + fn compare(&self, t: &'a [u8]) -> CompareResult { + self.data.compare(t) + } + + fn compare_no_case(&self, t: &'a [u8]) -> CompareResult { + self.data.compare_no_case(t) + } +} + +impl<'a, const N: usize> winnow::stream::Compare<&'a [u8; N]> for TextBuffer<'_> { + fn compare(&self, t: &'a [u8; N]) -> CompareResult { + self.data.compare(t.as_slice()) + } + + fn compare_no_case(&self, t: &'a [u8; N]) -> CompareResult { + self.data.compare_no_case(t.as_slice()) + } +} + impl winnow::stream::Offset for TextBuffer<'_> { fn offset_to(&self, second: &Self) -> usize { second.offset - self.offset @@ -2733,7 +2753,7 @@ impl winnow::stream::FindSlice<&str> for TextBuffer<'_> { // { // match self.data.iter().position(|c| predicate(*c)) { // Some(i) => Ok(self.take_split(i)), -// None => Err(winnow::Err::Incomplete(Needed::new(1))), +// None => Err(ErrMode::Incomplete(Needed::new(1))), // } // } // @@ -2748,7 +2768,7 @@ impl winnow::stream::FindSlice<&str> for TextBuffer<'_> { // match self.data.iter().position(|c| predicate(*c)) { // Some(0) => Err(winnow::error::ErrMode::Backtrack(E::from_error_kind(*self, e))), // Some(i) => Ok(self.take_split(i)), -// None => Err(winnow::Err::Incomplete(Needed::new(1))), +// None => Err(ErrMode::Incomplete(Needed::new(1))), // } // } // @@ -2789,11 +2809,6 @@ impl winnow::stream::FindSlice<&str> for TextBuffer<'_> { // === end of `nom` trait implementations -/// Convenience function to construct a nom `Incomplete` and wrap it in an `IonParseResult` -fn incomplete<'a, T>() -> IonParseResult<'a, T> { - Err(winnow::Err::Incomplete(Needed::Unknown)) -} - /// Takes a given parser and returns a new one that accepts any amount of leading whitespace before /// calling the original parser. pub fn whitespace_and_then<'data, P, O>( @@ -2805,6 +2820,24 @@ where preceded(TextBuffer::match_optional_comments_and_whitespace, parser) } +pub fn zero_or_more<'data, P, O>( + parser: P, +) -> impl Parser, TextBuffer<'data>, IonParseError<'data>> +where + P: Parser, O, IonParseError<'data>>, +{ + many0::<_, _, usize, _, _>(parser).recognize() +} + +pub fn one_or_more<'data, P, O>( + parser: P, +) -> impl Parser, TextBuffer<'data>, IonParseError<'data>> +where + P: Parser, O, IonParseError<'data>>, +{ + many1::<_, _, usize, _, _>(parser).recognize() +} + /// Augments a given parser such that it returns the matched value and the number of input bytes /// that it matched. fn match_and_length<'data, P, O>( @@ -2815,7 +2848,7 @@ where { move |input: TextBuffer<'data>| { let offset_before = input.offset(); - let (remaining, matched) = match parser.parse(input) { + let (remaining, matched) = match parser.parse_next(input) { Ok((remaining, matched)) => (remaining, matched), Err(e) => return Err(e), }; @@ -2835,7 +2868,7 @@ where { move |input: TextBuffer<'data>| { let offset_before = input.offset(); - let (remaining, matched) = match parser.parse(input) { + let (remaining, matched) = match parser.parse_next(input) { Ok((remaining, matched)) => (remaining, matched), Err(e) => return Err(e), }; @@ -2895,8 +2928,8 @@ mod tests { where P: Parser, O, IonParseError<'data>>, { - let buffer = TextBuffer::new(self.context.get_ref(), self.input.as_bytes()); - match_length(parser).parse(buffer) + let buffer = TextBuffer::new(self.context.get_ref(), self.input.as_bytes(), true); + match_length(parser).parse_next(buffer) } fn expect_match<'data, P, O>(&'data self, parser: P) @@ -3076,12 +3109,10 @@ mod tests { "nullify", "null..int", "string.null", - ], - expect_incomplete: [ "null.timestam", "null.strin", "null.nul" - ] + ], } matcher_tests! { @@ -3122,11 +3153,9 @@ mod tests { "_123", // Leading underscore "0x0x5", // Multiple 0x prefixes "0xx5", // Multiple Xs after 0 - ], - expect_incomplete: [ "0x", // Base 16 prefix w/no number "0b", // Base 2 prefix w/no number - ] + ], } matcher_tests! { @@ -3143,8 +3172,6 @@ mod tests { "0305e1", // Leading zero "+305e1", // Leading plus sign "--305e1", // Multiple negative signs - ], - expect_incomplete: [ "305e", // Has exponent delimiter but no exponent ] } @@ -3173,8 +3200,6 @@ mod tests { "2023-08-18T14:35:52.Z", // Dot but no fractional "2023-08-18T14:35:52.000+24:30", // Out of bounds offset hour "2023-08-18T14:35:52.000+00:60", // Out of bounds offset minute - ], - expect_incomplete: [ "2023", // No 'T'; it's an int "2023-08", // No 'T'; it's incomplete "2023-08-18T14:00", // No offset @@ -3214,8 +3239,6 @@ mod tests { r#" hello" "#, - ], - expect_incomplete: [ // Missing a closing quote r#" "hello @@ -3241,12 +3264,10 @@ mod tests { "$bar", "_baz_quux", ], - expect_incomplete: [ - "'hello", // No closing quote - "'hello\\'", // Closing quote is escaped - ], expect_mismatch: [ "$-8", // Negative SID + "'hello", // No closing quote + "'hello\\'", // Closing quote is escaped ], } @@ -3261,8 +3282,7 @@ mod tests { "foo::bar::baz::quux::quuz::5", "foo::'bar'::baz::$10::5", ], - expect_incomplete: ["foo::"], - expect_mismatch: ["foo:bar", "foo:::bar"], + expect_mismatch: ["foo::", "foo:bar", "foo:::bar"], } matcher_tests! { @@ -3273,8 +3293,6 @@ mod tests { ], expect_mismatch: [ "123._456", "5", "05d", "-5.0+0", - ], - expect_incomplete: [ "5d", "-5d", "5.d", @@ -3301,8 +3319,7 @@ mod tests { "((()))", "(1 (2 (3 4) 5) 6)", ], - expect_mismatch: ["foo", "1"], - expect_incomplete: ["(", "(1 2 (3 4 5)"] + expect_mismatch: ["foo", "1", "(", "(1 2 (3 4 5)"] } matcher_tests_with_macro! { @@ -3323,8 +3340,7 @@ mod tests { "(1 (2 (3 4) 5) 6)", "(1 (:foo 2 3))", ], - expect_mismatch: ["foo", "1"], - expect_incomplete: ["(", "(1 2 (3 4 5)"] + expect_mismatch: ["foo", "1", "(", "(1 2 (3 4 5)"] } matcher_tests! { @@ -3333,10 +3349,10 @@ mod tests { "[]", "[1]", "[1, 2]", "[[]]", "[([])]", ], expect_mismatch: [ - "foo", "1", - ], - expect_incomplete: [ - "[", "[1, 2, [3, 4]", + "foo", + "1", + "[", + "[1, 2, [3, 4]", ] } @@ -3348,9 +3364,7 @@ mod tests { "[]", "[1]", "[1, 2]", "[[]]", "[([])]", "[1, (:foo 2 3)]" ], expect_mismatch: [ - "foo", "1" - ], - expect_incomplete: [ + "foo", "1", "[", "[1, 2, [3, 4]" ] } @@ -3381,10 +3395,8 @@ mod tests { "(5)", // No `:` after opening paren "(:0x5)", // Hexadecimal not allowed "(:5_000)", // Underscores not allowed - ], - expect_incomplete: [ - "(:foo", - "(:5" + "(:foo", // Incomplete + "(:5" // Incomplete ] } @@ -3490,8 +3502,6 @@ mod tests { "{{=aGVsbG8}}", // too much padding "{{aGVsbG8===}}", - ], - expect_incomplete: [ "{{aGVsbG8h", "{{aGVsbG8h}" ] @@ -3520,8 +3530,6 @@ mod tests { r#"{{'''foo''' /*hi!*/ '''bar'''}}"#, // Interleaved comments r#"{{'''foo''' "bar"}}"#, // Mixed quote style r#"{{"😎🙂🙃"}}"#, // Contains unescaped non-ascii characters - ], - expect_incomplete: [ r#"{{"foo}}"#, // Missing closing quote r#"{{"foo"}"#, // Missing closing brace r#"{{'''foo'''}"#, // Missing closing brace @@ -3531,7 +3539,7 @@ mod tests { fn test_match_text_until_unescaped_str() { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let input = TextBuffer::new(context, r" foo bar \''' baz''' quux ".as_bytes()); + let input = TextBuffer::new(context, r" foo bar \''' baz''' quux ".as_bytes(), true); let (_remaining, (matched, contains_escapes)) = input.match_text_until_unescaped_str(r#"'''"#).unwrap(); assert_eq!(matched.as_text().unwrap(), " foo bar \\''' baz"); diff --git a/src/lazy/text/matched.rs b/src/lazy/text/matched.rs index f848a41f..10278bcc 100644 --- a/src/lazy/text/matched.rs +++ b/src/lazy/text/matched.rs @@ -29,10 +29,9 @@ use ice_code::ice as cold_path; use num_traits::Zero; use smallvec::SmallVec; use winnow::branch::alt; -use winnow::bytes::streaming::tag; -use winnow::character::is_hex_digit; +use winnow::bytes::tag; use winnow::sequence::preceded; -use winnow::stream::{AsBytes, AsChar}; +use winnow::stream::AsChar; use winnow::Parser; use crate::decimal::coefficient::Coefficient; @@ -693,7 +692,7 @@ fn decode_hex_digits_escape<'data>( .iter() .take(num_digits) .copied() - .all(is_hex_digit); + .all(AsChar::is_hex_digit); if !all_are_hex_digits { return Err(IonError::Decoding( DecodingError::new(format!( @@ -758,7 +757,7 @@ fn complete_surrogate_pair<'data>( preceded(tag("U"), TextBuffer::match_n_hex_digits(8)), )), ); - let (remaining, hex_digits) = match match_next_codepoint.parse(input) { + let (remaining, hex_digits) = match match_next_codepoint.parse_next(input) { Ok((remaining, hex_digits)) => (remaining, hex_digits), Err(_) => { return { @@ -1236,7 +1235,7 @@ mod tests { let expected: Int = expected.into(); let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes()); + let buffer = TextBuffer::new(context, data.as_bytes(), true); let (_remaining, matched) = buffer.match_int().unwrap(); let actual = matched.read(buffer).unwrap(); assert_eq!( @@ -1271,7 +1270,7 @@ mod tests { let data = format!("{data} "); // Append a space let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes()); + let buffer = TextBuffer::new(context, data.as_bytes(), true); let (_remaining, matched) = buffer.match_timestamp().unwrap(); let actual = matched.read(buffer).unwrap(); assert_eq!( @@ -1374,7 +1373,7 @@ mod tests { fn expect_decimal(data: &str, expected: Decimal) { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes()); + let buffer = TextBuffer::new(context, data.as_bytes(), true); let result = buffer.match_decimal(); assert!( result.is_ok(), @@ -1457,7 +1456,7 @@ mod tests { let data = format!("{data} "); // Append a space let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes()); + let buffer = TextBuffer::new(context, data.as_bytes(), true); let (_remaining, matched) = buffer.match_blob().unwrap(); let actual = matched.read(context.allocator(), buffer).unwrap(); assert_eq!( @@ -1496,7 +1495,7 @@ mod tests { let data = format!("{data}\n0"); let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes()); + let buffer = TextBuffer::new(context, data.as_bytes(), true); let (_remaining, matched) = buffer.match_string().unwrap(); let matched_input = buffer.slice(0, buffer.len() - 2); let actual = matched.read(context.allocator(), matched_input).unwrap(); @@ -1535,7 +1534,7 @@ mod tests { context: EncodingContextRef<'a>, data: &'a str, ) -> IonResult> { - let buffer = TextBuffer::new(context, data.as_bytes()); + let buffer = TextBuffer::new(context, data.as_bytes(), true); // All `read_clob` usages should be accepted by the matcher, so we can `unwrap()` the // call to `match_clob()`. let (_remaining, matched) = buffer.match_clob().unwrap(); diff --git a/src/lazy/text/parse_result.rs b/src/lazy/text/parse_result.rs index 106f5c3a..8cfa7d6c 100644 --- a/src/lazy/text/parse_result.rs +++ b/src/lazy/text/parse_result.rs @@ -14,8 +14,8 @@ use crate::result::{DecodingError, IonFailure}; use crate::{IonError, IonResult}; use std::borrow::Cow; use std::fmt::{Debug, Display}; -use winnow::error::{Error as NomError, ErrorKind, ParseError}; -use winnow::{Err, IResult}; +use winnow::error::{ErrMode, Error as NomError, ErrorKind, ParseError}; +use winnow::IResult; /// A type alias for a [`IResult`] whose input is a `TextBuffer` and whose error type is an /// [`InvalidInputError`]. All of the Ion parsers in the `text::parsers` module return an @@ -196,8 +196,8 @@ impl From> for IonError { } } -impl<'data> From>> for IonParseError<'data> { - fn from(value: Err>) -> Self { +impl<'data> From>> for IonParseError<'data> { + fn from(value: ErrMode>) -> Self { use winnow::error::ErrMode::*; match value { Incomplete(_) => IonParseError::Incomplete, @@ -272,7 +272,7 @@ pub(crate) trait AddContext<'data, T> { 'data: 'a; } -impl<'data, T> AddContext<'data, T> for winnow::Err> { +impl<'data, T> AddContext<'data, T> for ErrMode> { fn with_context<'a>( self, label: impl Into>, diff --git a/src/lazy/text/raw/reader.rs b/src/lazy/text/raw/reader.rs index f1e18214..4e9eb3a3 100644 --- a/src/lazy/text/raw/reader.rs +++ b/src/lazy/text/raw/reader.rs @@ -13,49 +13,38 @@ use crate::{Encoding, IonResult}; /// A text Ion 1.0 reader that yields [`LazyRawStreamItem`]s representing the top level values found /// in the provided input stream. pub struct LazyRawTextReader_1_0<'data> { - input: &'data [u8], - // The offset from the beginning of the overall stream at which the `input` slice begins - stream_offset: usize, - // The offset from the beginning of `input` at which the reader is positioned - local_offset: usize, + input: TextBuffer<'data>, } impl<'data> LazyRawTextReader_1_0<'data> { /// Constructs a `LazyRawTextReader` positioned at the beginning of the provided input stream. - pub fn new(data: &'data [u8]) -> LazyRawTextReader_1_0<'data> { - Self::new_with_offset(data, 0) + pub fn new( + context: EncodingContextRef<'data>, + data: &'data [u8], + is_final_data: bool, + ) -> LazyRawTextReader_1_0<'data> { + Self::new_with_offset(context, data, 0, is_final_data) } /// Constructs a `LazyRawTextReader` positioned at the beginning of the provided input stream. /// The provided input stream is itself a slice starting `offset` bytes from the beginning /// of a larger data stream. This offset is used for reporting the absolute (stream-level) /// position of values encountered in `data`. - fn new_with_offset(data: &'data [u8], offset: usize) -> LazyRawTextReader_1_0<'data> { - LazyRawTextReader_1_0 { - input: data, - // `data` begins at position `offset` within some larger stream. If `data` contains - // the entire stream, this will be zero. - stream_offset: offset, - // Start reading from the beginning of the slice `data` - local_offset: 0, - } + fn new_with_offset( + context: EncodingContextRef<'data>, + data: &'data [u8], + offset: usize, + is_final_data: bool, + ) -> LazyRawTextReader_1_0<'data> { + let input = TextBuffer::new_with_offset(context, data, offset, is_final_data); + LazyRawTextReader_1_0 { input } } - pub fn next<'top>( - &'top mut self, - context: EncodingContextRef<'top>, - ) -> IonResult> - where - 'data: 'top, - { - let input = TextBuffer::new_with_offset( - context, - &self.input[self.local_offset..], - self.stream_offset + self.local_offset, - ); - let (buffer_after_whitespace, _whitespace) = input + pub fn next(&mut self) -> IonResult> { + let (buffer_after_whitespace, _whitespace) = self + .input .match_optional_comments_and_whitespace() - .with_context("reading whitespace/comments at the top level", input)?; + .with_context("reading whitespace/comments at the top level", self.input)?; if buffer_after_whitespace.is_empty() { return Ok(RawStreamItem::EndOfStream(EndPosition::new( TextEncoding_1_0.encoding(), @@ -64,7 +53,6 @@ impl<'data> LazyRawTextReader_1_0<'data> { } // Consume any trailing whitespace that followed this item. Doing this allows us to check // whether this was the last item in the buffer by testing `buffer.is_empty()` afterward. - let buffer_after_whitespace = buffer_after_whitespace.local_lifespan(); let (buffer_after_item, matched_item) = buffer_after_whitespace .match_top_level_item_1_0() .with_context("reading a top-level value", buffer_after_whitespace)?; @@ -78,41 +66,46 @@ impl<'data> LazyRawTextReader_1_0<'data> { // Since we successfully matched the next value, we'll update the buffer // so a future call to `next()` will resume parsing the remaining input. - self.local_offset = buffer_after_trailing_ws.offset() - self.stream_offset; + self.input = buffer_after_trailing_ws; Ok(matched_item) } + + pub fn context(&self) -> EncodingContextRef<'data> { + self.input.context() + } } impl<'data> LazyRawReader<'data, TextEncoding_1_0> for LazyRawTextReader_1_0<'data> { - fn resume_at_offset( - data: &'data [u8], - offset: usize, - // This argument is ignored by all raw readers except LazyRawAnyReader - _encoding_hint: IonEncoding, - ) -> Self { - LazyRawTextReader_1_0::new_with_offset(data, offset) + fn new(context: EncodingContextRef<'data>, data: &'data [u8], is_final_data: bool) -> Self { + LazyRawTextReader_1_0::new(context, data, is_final_data) + } + + fn resume(context: EncodingContextRef<'data>, saved_state: RawReaderState<'data>) -> Self { + LazyRawTextReader_1_0 { + input: TextBuffer::new_with_offset( + context, + saved_state.data(), + saved_state.offset(), + saved_state.is_final_data(), + ), + } } fn save_state(&self) -> RawReaderState<'data> { RawReaderState::new( - &self.input[self.local_offset..], + self.input.bytes(), self.position(), + self.input.is_final_data(), self.encoding(), ) } - fn next<'top>( - &'top mut self, - context: EncodingContextRef<'top>, - ) -> IonResult> - where - 'data: 'top, - { - self.next(context) + fn next(&mut self) -> IonResult> { + self.next() } fn position(&self) -> usize { - self.stream_offset + self.local_offset + self.input.offset() } fn encoding(&self) -> IonEncoding { @@ -136,16 +129,13 @@ mod tests { } impl<'data> TestReader<'data> { - fn next(&mut self) -> IonResult> { - self.reader.next(self.context) + fn next(&mut self) -> IonResult> { + self.reader.next() } - fn expect_next<'a>(&'a mut self, expected: RawValueRef<'a, TextEncoding_1_0>) - where - 'data: 'a, - { - let TestReader { context, reader } = self; + fn expect_next(&mut self, expected: RawValueRef<'data, TextEncoding_1_0>) { + let TestReader { reader, .. } = self; let lazy_value = reader - .next(*context) + .next() .expect("advancing the reader failed") .expect_value() .expect("expected a value"); @@ -297,7 +287,7 @@ mod tests { let encoding_context = EncodingContext::empty(); let reader = &mut TestReader { - reader: LazyRawTextReader_1_0::new(data.as_bytes()), + reader: LazyRawTextReader_1_0::new(encoding_context.get_ref(), data.as_bytes(), true), context: encoding_context.get_ref(), }; @@ -475,21 +465,21 @@ mod tests { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); let data = b"foo 2024T bar::38 [1, 2, 3]"; - let mut reader = LazyRawTextReader_1_0::new(data); + let mut reader = LazyRawTextReader_1_0::new(context, data, true); - let foo = reader.next(context)?.expect_value()?; + let foo = reader.next()?.expect_value()?; assert_eq!(foo.span(), b"foo"); assert_eq!(foo.range(), 0..3); - let timestamp = reader.next(context)?.expect_value()?; + let timestamp = reader.next()?.expect_value()?; assert_eq!(timestamp.span(), b"2024T"); assert_eq!(timestamp.range(), 4..9); - let annotated_int = reader.next(context)?.expect_value()?; + let annotated_int = reader.next()?.expect_value()?; assert_eq!(annotated_int.span(), b"bar::38"); assert_eq!(annotated_int.range(), 10..17); - let list_value = reader.next(context)?.expect_value()?; + let list_value = reader.next()?.expect_value()?; assert_eq!(list_value.span(), b"[1, 2, 3]"); assert_eq!(list_value.range(), 18..27); diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index 766f2456..b4b35ab7 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -3,8 +3,7 @@ use std::fmt; use std::fmt::{Debug, Formatter}; use std::ops::Range; - -use winnow::character::streaming::satisfy; +use winnow::bytes::one_of; use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ @@ -127,7 +126,7 @@ impl RawTextListIterator_1_0<'_> { .match_optional_comments_and_whitespace() .with_context("skipping a list's trailing comma", input_after_ws)?; } - let (input_after_end, _end_delimiter) = satisfy(|c| c == ']')(input_after_ws) + let (input_after_end, _end_delimiter) = one_of(|c| c == b']')(input_after_ws) .with_context("seeking the closing delimiter of a list", input_after_ws)?; let end = input_after_end.offset(); Ok(start..end) @@ -218,7 +217,7 @@ impl<'top> RawTextSExpIterator_1_0<'top> { let (input_after_ws, _ws) = input_after_last .match_optional_comments_and_whitespace() .with_context("seeking the end of a list", input_after_last)?; - let (input_after_end, _end_delimiter) = satisfy(|c| c == ')')(input_after_ws) + let (input_after_end, _end_delimiter) = one_of(|c| c == b')')(input_after_ws) .with_context("seeking the closing delimiter of a sexp", input_after_ws)?; let end = input_after_end.offset(); Ok(start..end) @@ -309,8 +308,8 @@ mod tests { fn expect_sequence_range(ion_data: &str, expected: Range) -> IonResult<()> { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let reader = &mut LazyRawTextReader_1_0::new(ion_data.as_bytes()); - let value = reader.next(context)?.expect_value()?; + let reader = &mut LazyRawTextReader_1_0::new(context, ion_data.as_bytes(), true); + let value = reader.next()?.expect_value()?; let actual_range = value.data_range(); assert_eq!( actual_range, expected, diff --git a/src/lazy/text/raw/struct.rs b/src/lazy/text/raw/struct.rs index e7ebd978..2833e36b 100644 --- a/src/lazy/text/raw/struct.rs +++ b/src/lazy/text/raw/struct.rs @@ -1,9 +1,5 @@ #![allow(non_camel_case_types)] -use std::ops::Range; - -use winnow::character::streaming::satisfy; - use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ Decoder, HasRange, HasSpan, LazyRawContainer, LazyRawFieldExpr, LazyRawFieldName, @@ -16,6 +12,8 @@ use crate::lazy::text::matched::MatchedFieldName; use crate::lazy::text::parse_result::{AddContext, ToIteratorOutput}; use crate::lazy::text::value::{LazyRawTextValue_1_0, RawTextAnnotationsIterator}; use crate::{IonResult, RawSymbolRef}; +use std::ops::Range; +use winnow::bytes::one_of; #[derive(Clone, Copy, Debug)] pub struct RawTextStructIterator_1_0<'top> { @@ -54,7 +52,7 @@ impl<'top> RawTextStructIterator_1_0<'top> { .match_optional_comments_and_whitespace() .with_context("skipping a list's trailing comma", input_after_ws)?; } - let (input_after_end, _end_delimiter) = satisfy(|c| c == '}')(input_after_ws) + let (input_after_end, _end_delimiter) = one_of(|c| c == b'}')(input_after_ws) .with_context("seeking the closing delimiter of a struct", input_after_ws)?; let end = input_after_end.offset(); Ok(start..end) @@ -165,8 +163,8 @@ mod tests { fn expect_struct_range(ion_data: &str, expected: Range) -> IonResult<()> { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let reader = &mut LazyRawTextReader_1_0::new(ion_data.as_bytes()); - let value = reader.next(context)?.expect_value()?; + let reader = &mut LazyRawTextReader_1_0::new(context, ion_data.as_bytes(), true); + let value = reader.next()?.expect_value()?; let actual_range = value.data_range(); assert_eq!( actual_range, expected, @@ -233,12 +231,8 @@ mod tests { for (input, field_name_ranges) in tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let mut reader = LazyRawTextReader_1_0::new(input.as_bytes()); - let struct_ = reader - .next(context)? - .expect_value()? - .read()? - .expect_struct()?; + let mut reader = LazyRawTextReader_1_0::new(context, input.as_bytes(), true); + let struct_ = reader.next()?.expect_value()?.read()?.expect_struct()?; for (field_result, (expected_name, expected_range)) in struct_.iter().zip(field_name_ranges.iter()) { diff --git a/src/lazy/text/raw/v1_1/reader.rs b/src/lazy/text/raw/v1_1/reader.rs index 884be4cd..ace7c6a0 100644 --- a/src/lazy/text/raw/v1_1/reader.rs +++ b/src/lazy/text/raw/v1_1/reader.rs @@ -24,56 +24,54 @@ use crate::lazy::text::raw::v1_1::arg_group::{EExpArg, TextEExpArgGroup}; use crate::lazy::text::value::{LazyRawTextValue_1_1, RawTextAnnotationsIterator}; use crate::{v1_1, Encoding, IonResult, IonType, RawSymbolRef}; use bumpalo::collections::Vec as BumpVec; -use winnow::character::streaming::satisfy; +use winnow::bytes::one_of; pub struct LazyRawTextReader_1_1<'data> { - input: &'data [u8], - // The offset from the beginning of the overall stream at which the `input` slice begins - stream_offset: usize, - // The offset from the beginning of `input` at which the reader is positioned - local_offset: usize, + input: TextBuffer<'data>, +} + +impl<'data> LazyRawTextReader_1_1<'data> { + pub fn context(&self) -> EncodingContextRef<'data> { + self.input.context + } } impl<'data> LazyRawReader<'data, TextEncoding_1_1> for LazyRawTextReader_1_1<'data> { - fn resume_at_offset( - data: &'data [u8], - offset: usize, - // This argument is ignored by all raw readers except LazyRawAnyReader - _encoding_hint: IonEncoding, - ) -> Self { + fn new(context: EncodingContextRef<'data>, data: &'data [u8], is_final_data: bool) -> Self { + Self::resume( + context, + RawReaderState::new(data, 0, is_final_data, IonEncoding::Text_1_1), + ) + } + + fn resume(context: EncodingContextRef<'data>, saved_state: RawReaderState<'data>) -> Self { LazyRawTextReader_1_1 { - input: data, - // `data` begins at position `offset` within some larger stream. If `data` contains - // the entire stream, this will be zero. - stream_offset: offset, - // Start reading from the beginning of the slice `data` - local_offset: 0, + input: TextBuffer::new_with_offset( + context, + saved_state.data(), + saved_state.offset(), + saved_state.is_final_data(), + ), } } fn save_state(&self) -> RawReaderState<'data> { RawReaderState::new( - &self.input[self.local_offset..], + self.input.bytes(), self.position(), + self.input.is_final_data(), self.encoding(), ) } - fn next<'top>( - &'top mut self, - context: EncodingContextRef<'top>, - ) -> IonResult> - where - 'data: 'top, - { - let input = TextBuffer::new_with_offset( - context, - &self.input[self.local_offset..], - self.stream_offset + self.local_offset, - ); - let (buffer_after_whitespace, _whitespace) = input + fn next(&mut self) -> IonResult> { + let (buffer_after_whitespace, _whitespace) = self + .input .match_optional_comments_and_whitespace() - .with_context("reading v1.1 whitespace/comments at the top level", input)?; + .with_context( + "reading v1.1 whitespace/comments at the top level", + self.input, + )?; if buffer_after_whitespace.is_empty() { return Ok(RawStreamItem::EndOfStream(EndPosition::new( TextEncoding_1_1.encoding(), @@ -96,12 +94,12 @@ impl<'data> LazyRawReader<'data, TextEncoding_1_1> for LazyRawTextReader_1_1<'da // Since we successfully matched the next value, we'll update the buffer // so a future call to `next()` will resume parsing the remaining input. - self.local_offset = buffer_after_trailing_ws.offset() - self.stream_offset; + self.input = buffer_after_trailing_ws; Ok(matched_item) } fn position(&self) -> usize { - self.stream_offset + self.local_offset + self.input.offset() } fn encoding(&self) -> IonEncoding { @@ -349,7 +347,7 @@ impl<'top> TextListSpanFinder_1_1<'top> { .match_optional_comments_and_whitespace() .with_context("skipping a v1.1 list's trailing comma", input_after_ws)?; } - let (input_after_end, _end_delimiter) = satisfy(|c| c == ']')(input_after_ws) + let (input_after_end, _end_delimiter) = one_of(|c: u8| c == b']')(input_after_ws) .with_context("seeking the closing delimiter of a list", input_after_ws)?; let end = input_after_end.offset(); @@ -505,7 +503,7 @@ impl<'top> TextSExpSpanFinder_1_1<'top> { let (input_after_ws, _ws) = input_after_last_expr .match_optional_comments_and_whitespace() .with_context("seeking the end of a sexp", input_after_last_expr)?; - let (input_after_end, _end_delimiter) = satisfy(|c| c == ')')(input_after_ws) + let (input_after_end, _end_delimiter) = one_of(|c| c == b')')(input_after_ws) .with_context("seeking the closing delimiter of a sexp", input_after_ws)?; let end = input_after_end.offset(); @@ -824,7 +822,7 @@ impl<'top> TextStructSpanFinder_1_1<'top> { .match_optional_comments_and_whitespace() .with_context("skipping a struct's trailing comma", input_after_ws)?; } - let (input_after_end, _end_delimiter) = satisfy(|c| c == b'}' as char)(input_after_ws) + let (input_after_end, _end_delimiter) = one_of(|c: u8| c == b'}')(input_after_ws) .with_context("seeking the closing delimiter of a struct", input_after_ws)?; let end = input_after_end.offset(); Ok((start..end, child_expr_cache.into_bump_slice())) @@ -841,13 +839,12 @@ mod tests { use super::*; - fn expect_next<'top, 'data: 'top>( - context: EncodingContextRef<'top>, - reader: &'top mut LazyRawTextReader_1_1<'data>, - expected: RawValueRef<'top, TextEncoding_1_1>, + fn expect_next<'data>( + reader: &mut LazyRawTextReader_1_1<'data>, + expected: RawValueRef<'data, TextEncoding_1_1>, ) { let lazy_value = reader - .next(context) + .next() .expect("advancing the reader failed") .expect_value() .expect("expected a value"); @@ -875,21 +872,16 @@ mod tests { let macro_quux = TemplateCompiler::compile_from_source(context.get_ref(), "(macro quux (x) null)")?; context.macro_table.add_template_macro(macro_quux)?; - let reader = &mut LazyRawTextReader_1_1::new(data.as_bytes()); - let context = context.get_ref(); + let reader = &mut LazyRawTextReader_1_1::new(context.get_ref(), data.as_bytes(), true); // $ion_1_1 - assert_eq!(reader.next(context)?.expect_ivm()?.major_minor(), (1, 1)); + assert_eq!(reader.next()?.expect_ivm()?.major_minor(), (1, 1)); // "foo" - expect_next(context, reader, RawValueRef::String("foo".into())); + expect_next(reader, RawValueRef::String("foo".into())); // bar - expect_next(context, reader, RawValueRef::Symbol("bar".into())); + expect_next(reader, RawValueRef::Symbol("bar".into())); // (baz null.string) - let sexp = reader - .next(context)? - .expect_value()? - .read()? - .expect_sexp()?; + let sexp = reader.next()?.expect_value()?.read()?.expect_sexp()?; let mut children = sexp.iter(); assert_eq!( children.next().unwrap()?.expect_value()?.read()?, @@ -901,10 +893,10 @@ mod tests { ); assert!(children.next().is_none()); // (:quux quuz) - let macro_invocation = reader.next(context)?.expect_eexp()?; + let macro_invocation = reader.next()?.expect_eexp()?; assert_eq!(macro_invocation.id, MacroIdRef::LocalName("quux")); - expect_next(context, reader, RawValueRef::Int(77.into())); - expect_next(context, reader, RawValueRef::Bool(false)); + expect_next(reader, RawValueRef::Int(77.into())); + expect_next(reader, RawValueRef::Bool(false)); Ok(()) } } diff --git a/src/lazy/text/value.rs b/src/lazy/text/value.rs index 71bdd6a0..d94a08e3 100644 --- a/src/lazy/text/value.rs +++ b/src/lazy/text/value.rs @@ -231,6 +231,7 @@ pub struct RawTextAnnotationsIterator<'data> { impl<'top> RawTextAnnotationsIterator<'top> { pub(crate) fn new(input: TextBuffer<'top>) -> Self { + debug_assert!(input.is_final_data()); RawTextAnnotationsIterator { input, has_returned_error: false, @@ -249,8 +250,7 @@ impl<'top> Iterator for RawTextAnnotationsIterator<'top> { // Match the first annotation in the input. In order for this iterator to be created, // the parser already successfully matched this input once before, so we know it will succeed. use winnow::Parser; - let (remaining, (symbol, span)) = TextBuffer::match_annotation - .parse(self.input) + let (remaining, (symbol, span)) = dbg!(TextBuffer::match_annotation.parse_next(self.input)) .expect("annotations were already matched successfully by this parser"); let matched_input = self .input @@ -279,7 +279,7 @@ mod tests { fn test(input: &str) -> IonResult<()> { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let input = TextBuffer::new(context, input.as_bytes()); + let input = TextBuffer::new(context, input.as_bytes(), true); let mut iter = RawTextAnnotationsIterator::new(input); assert_eq!(iter.next().unwrap()?, RawSymbolRef::Text("foo")); assert_eq!(iter.next().unwrap()?, RawSymbolRef::Text("bar")); From 32d215f60ab7efd8e71d5c4d989f1a5ed0cc6dcc Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Fri, 3 Jan 2025 10:50:55 -0500 Subject: [PATCH 07/32] Migrated to winnow@0.6 --- Cargo.toml | 2 +- src/element/mod.rs | 1 + src/lazy/text/buffer.rs | 1487 ++++++++++++++++-------------- src/lazy/text/matched.rs | 88 +- src/lazy/text/parse_result.rs | 42 +- src/lazy/text/raw/reader.rs | 24 +- src/lazy/text/raw/sequence.rs | 62 +- src/lazy/text/raw/struct.rs | 41 +- src/lazy/text/raw/v1_1/reader.rs | 111 ++- src/lazy/text/value.rs | 16 +- src/lazy/value_ref.rs | 2 +- src/text/text_formatter.rs | 2 +- 12 files changed, 1005 insertions(+), 873 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d161c352..36dc3e90 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,7 +57,7 @@ compact_str = "0.8.0" chrono = { version = "0.4", default-features = false, features = ["clock", "std", "wasmbind"] } delegate = "0.12.0" thiserror = "1.0" -winnow = "0.3" +winnow = "0.6" num-integer = "0.1.44" num-traits = "0.2" arrayvec = "0.7" diff --git a/src/element/mod.rs b/src/element/mod.rs index 4ecb6602..73f808fb 100644 --- a/src/element/mod.rs +++ b/src/element/mod.rs @@ -1721,6 +1721,7 @@ mod value_tests { // Use the Display impl to serialize the sexp to text let text_sexp = format!("{sexp}"); + println!("{text_sexp}"); // Parse the result and make sure it represents the same data let expected_element: Element = sexp.into(); let actual_element = Element::read_one(text_sexp).unwrap(); diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 191ae7ff..dae18fe2 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -2,16 +2,13 @@ use std::fmt::{Debug, Formatter}; use std::ops::Range; use std::str::FromStr; -use winnow::branch::alt; -use winnow::bytes::{ - one_of, tag, take_till1, take_until0, take_while0, take_while1, take_while_m_n, +use winnow::ascii::alphanumeric1; +use winnow::combinator::{ + alt, delimited, empty, eof, not, opt, peek, preceded, repeat, separated_pair, terminated, }; -use winnow::character::alphanumeric1; -use winnow::combinator::{eof, not, opt, peek, success}; use winnow::error::{ErrMode, Needed}; -use winnow::multi::{fold_many1, fold_many_m_n, many0, many1}; -use winnow::sequence::{delimited, preceded, separated_pair, terminated}; -use winnow::stream::{CompareResult, SliceLen, StreamIsPartial}; +use winnow::stream::{Accumulate, CompareResult, FindSlice, SliceLen, Stream, StreamIsPartial}; +use winnow::token::{literal, one_of, take_till, take_until, take_while}; use winnow::Parser; use crate::lazy::decoder::{LazyRawFieldExpr, LazyRawValueExpr, RawValueExpr}; @@ -46,7 +43,7 @@ use crate::lazy::expanded::macro_table::{Macro, ION_1_1_SYSTEM_MACROS}; use crate::lazy::expanded::template::{Parameter, RestSyntaxPolicy}; use crate::lazy::text::as_utf8::AsUtf8; use bumpalo::collections::Vec as BumpVec; -use winnow::character::{digit0, digit1}; +use winnow::ascii::{digit0, digit1}; impl Debug for TextBuffer<'_> { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { @@ -87,7 +84,7 @@ const WHITESPACE_CHARACTERS: &[char] = &[ ]; /// Same as [WHITESPACE_CHARACTERS], but formatted as a string for use in some `nom` APIs -pub(crate) const WHITESPACE_CHARACTERS_AS_STR: &str = " \t\r\n\x09\x0B\x0C"; +pub(crate) const WHITESPACE_BYTES: &[u8] = b" \t\r\n\x09\x0B\x0C"; /// A slice of unsigned bytes that can be cheaply copied and which defines methods for parsing /// the various encoding elements of a text Ion stream. @@ -146,6 +143,17 @@ impl<'top> TextBuffer<'top> { } } + /// Modifies the `TextBuffer` in place, discarding `num_bytes` bytes. + pub fn consume(&mut self, num_bytes: usize) { + debug_assert!( + self.data.len() >= num_bytes, + "tried to conusume {num_bytes} bytes, but only {} were available", + self.data.len() + ); + self.offset += num_bytes; + self.data = &self.data[num_bytes..]; + } + pub fn context(&self) -> EncodingContextRef<'top> { self.context } @@ -225,28 +233,28 @@ impl<'top> TextBuffer<'top> { }) } - pub fn match_whitespace(self) -> IonMatchResult<'top> { - take_while1(WHITESPACE_CHARACTERS_AS_STR).parse_next(self) + pub fn match_whitespace(&mut self) -> IonMatchResult<'top> { + take_while(1.., WHITESPACE_BYTES).parse_next(self) } /// Always succeeds and consumes none of the input. Returns an empty slice of the buffer. // This method is useful for parsers that need to match an optional construct but don't want // to return an Option<_>. For an example, see its use in `match_optional_whitespace`. - fn match_nothing(self) -> IonMatchResult<'top> { - // use winnow's `success` parser to return an empty slice from the head position - success(self.slice(0, 0))(self) + fn match_nothing(&mut self) -> IonMatchResult<'top> { + // use winnow's `empty` parser to return an empty slice from the head position + empty.take().parse_next(self) } /// Matches zero or more whitespace characters. - pub fn match_optional_whitespace(self) -> IonMatchResult<'top> { + pub fn match_optional_whitespace(&mut self) -> IonMatchResult<'top> { // Either match whitespace and return what follows or just return the input as-is. // This will always return `Ok`, but it is packaged as an IonMatchResult for compatability // with other parsers. - alt((Self::match_whitespace, Self::match_nothing))(self) + alt((Self::match_whitespace, Self::match_nothing)).parse_next(self) } /// Matches any amount of contiguous comments and whitespace, including none. - pub fn match_optional_comments_and_whitespace(self) -> IonMatchResult<'top> { + pub fn match_optional_comments_and_whitespace(&mut self) -> IonMatchResult<'top> { zero_or_more(alt((Self::match_whitespace, Self::match_comment))).parse_next(self) } @@ -256,107 +264,98 @@ impl<'top> TextBuffer<'top> { /// /* multi /// line */ /// comment - pub fn match_comment(self) -> IonMatchResult<'top> { + pub fn match_comment(&mut self) -> IonMatchResult<'top> { alt(( Self::match_rest_of_line_comment, Self::match_multiline_comment, - ))(self) + )) + .parse_next(self) } /// Matches a single rest-of-the-line comment. - fn match_rest_of_line_comment(self) -> IonMatchResult<'top> { - preceded( - // Matches a leading "//". - // If there isn't a first '/', the input will be rejected. - // If the buffer is empty after the first '/', the input will be considered incomplete. - // If the next character in input isn't a second '/', the input will be rejected. - tag("//"), - // ...followed by either... - alt(( - // '//' can appear at the end of the stream - peek(eof), - // ...one or more non-EOL characters... - take_till1("\r\n"), - // ...or any EOL character. - peek(one_of("\r\n").recognize()), - // In either case, the line ending will not be consumed. - )), - )(self) + fn match_rest_of_line_comment(&mut self) -> IonMatchResult<'top> { + (literal("//"), take_till(.., b"\r\n")) + .take() + .parse_next(self) } /// Matches a single multiline comment. - fn match_multiline_comment(self) -> IonMatchResult<'top> { + fn match_multiline_comment(&mut self) -> IonMatchResult<'top> { delimited( // Matches a leading "/*"... - tag("/*"), + literal("/*"), // ...any number of non-"*/" characters... - take_until0("*/"), + take_until(.., "*/"), // ...and then a closing "*/" - tag("*/"), + literal("*/"), ) - .recognize() + .take() .parse_next(self) } /// Matches an Ion version marker (e.g. `$ion_1_0` or `$ion_1_1`.) pub fn match_ivm>( - self, + &mut self, ) -> IonParseResult<'top, LazyRawTextVersionMarker<'top, E>> { - let (remaining, ((matched_major, matched_minor), matched_marker)) = terminated( - preceded(tag("$ion_"), separated_pair(digit1, tag("_"), digit1)), + let ((matched_major, matched_minor), matched_marker) = terminated( + preceded( + literal("$ion_"), + separated_pair(digit1, literal("_"), digit1), + ), // Look ahead to make sure the IVM isn't followed by a '::'. If it is, then it's not // an IVM, it's an annotation. - peek(whitespace_and_then(not(tag(":")))), + peek(whitespace_and_then(not(literal(":")))), ) - .with_recognized() + .with_taken() .parse_next(self)?; // `major` and `minor` are base 10 digits. Turning them into `&str`s is guaranteed to succeed. let major_version = u8::from_str(matched_major.as_text().unwrap()).map_err(|_| { let error = InvalidInputError::new(matched_major) .with_label("parsing an IVM major version") .with_description("value did not fit in an unsigned byte"); - winnow::error::ErrMode::Cut(IonParseError::Invalid(error)) + ErrMode::Cut(IonParseError::Invalid(error)) })?; let minor_version = u8::from_str(matched_minor.as_text().unwrap()).map_err(|_| { let error = InvalidInputError::new(matched_minor) .with_label("parsing an IVM minor version") .with_description("value did not fit in an unsigned byte"); - winnow::error::ErrMode::Cut(IonParseError::Invalid(error)) + ErrMode::Cut(IonParseError::Invalid(error)) })?; let marker = LazyRawTextVersionMarker::::new(matched_marker, major_version, minor_version); - Ok((remaining, marker)) + Ok(marker) } /// Matches one or more annotations. - pub fn match_annotations(self) -> IonMatchResult<'top> { - let (remaining, matched) = one_or_more(Self::match_annotation).parse_next(self)?; + pub fn match_annotations(&mut self) -> IonMatchResult<'top> { + let matched = one_or_more(Self::match_annotation).parse_next(self)?; if matched.len() > u16::MAX as usize { let error = InvalidInputError::new(matched) .with_description("the maximum supported annotations sequence length is 65KB") .with_label("parsing annotations"); Err(ErrMode::Cut(IonParseError::Invalid(error))) } else { - Ok((remaining, matched)) + Ok(matched) } } /// Matches an annotation (symbol token) and a terminating '::'. - pub fn match_annotation(self) -> IonParseResult<'top, (MatchedSymbol, Range)> { + pub fn match_annotation(&mut self) -> IonParseResult<'top, (MatchedSymbol, TextBuffer<'top>)> { terminated( - whitespace_and_then(match_and_span(Self::match_symbol)), + whitespace_and_then(Self::match_symbol.with_taken()), whitespace_and_then(terminated( - tag("::"), + literal("::"), Self::match_optional_comments_and_whitespace, )), - )(self) + ) + .parse_next(self) } /// Matches an optional annotations sequence and a value, including operators. - pub fn match_sexp_value(self) -> IonParseResult<'top, Option>> { - whitespace_and_then(alt(( - tag(")").value(None), + pub fn match_sexp_value(&mut self) -> IonParseResult<'top, Option>> { + let (maybe_sexp_value, matched_input) = whitespace_and_then(alt(( + literal(")").value(None), ( opt(Self::match_annotations), // We need the s-expression parser to recognize the input `--3` as the operator `--` and the @@ -365,21 +364,29 @@ impl<'top> TextBuffer<'top> { // `-3` as an operator (`-`) and an int (`3`). Thus, we run `match_value` first. whitespace_and_then(alt((Self::match_value, Self::match_operator))), ) - .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) .map(Some), ))) - .parse_next(self) + .with_taken() + .parse_next(self)?; + + let Some((maybe_annotations, value)) = maybe_sexp_value else { + return Ok(None); + }; + Ok(Some( + matched_input.apply_annotations(maybe_annotations, value), + )) } /// Matches either: /// * A macro invocation /// * An optional annotations sequence and a value pub fn match_sexp_value_1_1( - self, + &mut self, ) -> IonParseResult<'top, Option>> { - whitespace_and_then(alt(( + let input = self.checkpoint(); + let result = whitespace_and_then(alt(( Self::match_e_expression.map(|matched| Some(RawValueExpr::EExp(matched))), - peek(tag(")")).value(None), + peek(literal(")")).value(None), ( opt(Self::match_annotations), // We need the s-expression parser to recognize the input `--3` as the operator `--` and the @@ -388,15 +395,16 @@ impl<'top> TextBuffer<'top> { // `-3` as an operator (`-`) and an int (`3`). Thus, we run `match_value` first. whitespace_and_then(alt((Self::match_value_1_1, Self::match_operator))), ) - .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) + .map(|(maybe_annotations, value)| input.apply_annotations(maybe_annotations, value)) .map(RawValueExpr::ValueLiteral) .map(Some), ))) - .parse_next(self) + .parse_next(self); + result } fn apply_annotations>( - self, + &self, maybe_annotations: Option>, mut value: LazyRawTextValue<'top, E>, ) -> LazyRawTextValue<'top, E> { @@ -422,12 +430,12 @@ impl<'top> TextBuffer<'top> { /// If a pair is found, returns `Some(field)` and consumes the following comma if present. /// If no pair is found (that is: the end of the struct is next), returns `None`. pub fn match_struct_field( - self, + &mut self, ) -> IonParseResult<'top, Option>> { // A struct field can have leading whitespace, but we want the buffer slice that we match // to begin with the field name. Here we skip any whitespace so we have another named // slice (`input_including_field_name`) with that property. - let (input_including_field_name, _ws) = self.match_optional_comments_and_whitespace()?; + let _discarded_whitespace = self.match_optional_comments_and_whitespace()?; alt(( // If the next thing in the input is a `}`, return `None`. Self::match_struct_end.value(None), @@ -438,27 +446,29 @@ impl<'top> TextBuffer<'top> { field_name, value, )) }), - ))(input_including_field_name) + )) + .parse_next(self) } /// Matches any amount of whitespace followed by a closing `}`. - fn match_struct_end(self) -> IonMatchResult<'top> { - whitespace_and_then(peek(tag("}"))).parse_next(self) + fn match_struct_end(&mut self) -> IonMatchResult<'top> { + whitespace_and_then(peek(literal("}"))).parse_next(self) } /// Matches a field name/value pair. Returns the syntax used for the field name, the range of /// input bytes where the field name is found, and the value. pub fn match_struct_field_name_and_value( - self, + &mut self, ) -> IonParseResult<'top, (MatchedFieldName<'top>, LazyRawTextValue_1_0<'top>)> { terminated( separated_pair( whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(tag(":")), + whitespace_and_then(literal(":")), whitespace_and_then(Self::match_annotated_value), ), - whitespace_and_then(alt((tag(","), peek(tag("}"))))), - )(self) + whitespace_and_then(alt((literal(","), peek(literal("}"))))), + ) + .parse_next(self) } /// Matches a struct field (name, value expression) pair. @@ -466,18 +476,18 @@ impl<'top> TextBuffer<'top> { /// If a pair is found, returns `Some(field)` and consumes the following comma if present. /// If no pair is found (that is: the end of the struct is next), returns `None`. pub fn match_struct_field_1_1( - self, + &mut self, ) -> IonParseResult<'top, Option>> { // A struct field can have leading whitespace, but we want the buffer slice that we match // to begin with the field name. Here we skip any whitespace so we have another named // slice (`input_including_field_name`) with that property. - let (input_including_field_name, _ws) = self.match_optional_comments_and_whitespace()?; - let (input_after_field, field_expr_result) = alt(( + let _discarded_whitespace = self.match_optional_comments_and_whitespace()?; + alt(( // If the next thing in the input is a `}`, return `None`. Self::match_struct_end.map(|_| Ok(None)), terminated( Self::match_e_expression.map(|eexp| Ok(Some(LazyRawFieldExpr::EExp(eexp)))), - whitespace_and_then(alt((tag(","), peek(tag("}"))))), + whitespace_and_then(alt((literal(","), peek(literal("}"))))), ), Self::match_struct_field_name_and_e_expression_1_1.map(|(field_name, invocation)| { Ok(Some(LazyRawFieldExpr::NameEExp( @@ -490,62 +500,68 @@ impl<'top> TextBuffer<'top> { let field_name = LazyRawTextFieldName_1_1::new(field_name); Ok(Some(LazyRawFieldExpr::NameValue(field_name, value))) }), - ))(input_including_field_name)?; - Ok((input_after_field, field_expr_result?)) + )) + .parse_next(self)? } /// Matches a field (name, value expression) pair, where the value expression may be either /// an annotated value or an e-expression. Returns the syntax used for the field name, the /// range of input bytes where the field name is found, and the value. pub fn match_struct_field_name_and_e_expression_1_1( - self, + &mut self, ) -> IonParseResult<'top, (MatchedFieldName<'top>, TextEExpression_1_1<'top>)> { terminated( separated_pair( whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(tag(":")), + whitespace_and_then(literal(":")), whitespace_and_then(Self::match_e_expression), ), - whitespace_and_then(alt((tag(","), peek(tag("}"))))), - )(self) + whitespace_and_then(alt((literal(","), peek(literal("}"))))), + ) + .parse_next(self) } /// Matches a field (name, value expression) pair, where the value expression may be either /// an annotated value or an e-expression. Returns the syntax used for the field name, the /// range of input bytes where the field name is found, and the value. pub fn match_struct_field_name_and_value_1_1( - self, + &mut self, ) -> IonParseResult<'top, (MatchedFieldName<'top>, LazyRawTextValue_1_1<'top>)> { terminated( separated_pair( whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(tag(":")), + whitespace_and_then(literal(":")), whitespace_and_then(alt(( Self::match_annotated_long_string_in_struct, Self::match_annotated_value_1_1, ))), ), - whitespace_and_then(alt((tag(","), peek(tag("}"))))), - )(self) + whitespace_and_then(alt((literal(","), peek(literal("}"))))), + ) + .parse_next(self) } /// Matches an optional annotation sequence and a trailing value. - pub fn match_annotated_value(self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { + pub fn match_annotated_value(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { + let input = self.checkpoint(); ( opt(Self::match_annotations), whitespace_and_then(Self::match_value), ) - .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) + .map(|(maybe_annotations, value)| input.apply_annotations(maybe_annotations, value)) .parse_next(self) } /// Matches an optional annotation sequence and a trailing v1.1 value. - pub fn match_annotated_value_1_1(self) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { + pub fn match_annotated_value_1_1( + &mut self, + ) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { + let input = self.checkpoint(); ( opt(Self::match_annotations), whitespace_and_then(Self::match_value_1_1), ) - .map(|(maybe_annotations, value)| self.apply_annotations(maybe_annotations, value)) + .map(|(maybe_annotations, value)| input.apply_annotations(maybe_annotations, value)) .parse_next(self) } @@ -558,7 +574,7 @@ impl<'top> TextBuffer<'top> { opt(Self::match_annotations), whitespace_and_then(value_parser), ) - .with_recognized() + .with_taken() .map(|((maybe_annotations, encoded_value), matched_input)| { let value = LazyRawTextValue_1_1 { encoded_value, @@ -585,7 +601,7 @@ impl<'top> TextBuffer<'top> { /// the same partial value is an `Incomplete` because it must be followed by a `,` or `]` to be /// complete. pub fn match_annotated_long_string_in_list( - self, + &mut self, ) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { Self::match_annotated_value_parser( Self::match_long_string_in_list.map(|s| EncodedTextValue::new(MatchedValue::String(s))), @@ -595,7 +611,7 @@ impl<'top> TextBuffer<'top> { /// Like `match_annotated_long_string_in_list` above, but for structs. pub fn match_annotated_long_string_in_struct( - self, + &mut self, ) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { Self::match_annotated_value_parser( Self::match_long_string_in_struct @@ -609,36 +625,27 @@ impl<'top> TextBuffer<'top> { /// * An identifier /// * A symbol ID /// * A short-form string - pub fn match_struct_field_name(self) -> IonParseResult<'top, MatchedFieldName<'top>> { - // When truncated, field names can end up looking like keywords. If the buffer contains - // a keyword and then ends, that's incomplete input. We do this check ahead of regular - // parsing because `match_symbol` will reject keywords as invalid (not incomplete). - if terminated(Self::match_keyword, eof)(self).is_ok() { - return Err(ErrMode::Incomplete(Needed::Unknown)); - } + pub fn match_struct_field_name(&mut self) -> IonParseResult<'top, MatchedFieldName<'top>> { alt(( Self::match_string.map(MatchedFieldNameSyntax::String), Self::match_symbol.map(MatchedFieldNameSyntax::Symbol), )) - .with_recognized() + .with_taken() .map(|(syntax, matched_input)| MatchedFieldName::new(matched_input, syntax)) .parse_next(self) } /// Matches a single top-level value, an IVM, or the end of the stream. pub fn match_top_level_item_1_0( - self, + &mut self, ) -> IonParseResult<'top, LazyRawStreamItem<'top, TextEncoding_1_0>> { // If only whitespace/comments remain, we're at the end of the stream. - let (input_after_ws, _ws) = self.match_optional_comments_and_whitespace()?; - if input_after_ws.is_empty() { - return Ok(( - input_after_ws, - RawStreamItem::EndOfStream(EndPosition::new( - TextEncoding_1_0.encoding(), - input_after_ws.offset(), - )), - )); + let _discarded_ws = self.match_optional_comments_and_whitespace()?; + if self.is_empty() { + return Ok(RawStreamItem::EndOfStream(EndPosition::new( + TextEncoding_1_0.encoding(), + self.offset(), + ))); } // Otherwise, the next item must be an IVM or a value. // We check for IVMs first because the rules for a symbol identifier will match them. @@ -647,24 +654,22 @@ impl<'top> TextBuffer<'top> { Self::match_annotated_value .map(LazyRawTextValue_1_0::from) .map(RawStreamItem::Value), - ))(input_after_ws) + )) + .parse_next(self) } /// Matches a single top-level value, e-expression (macro invocation), IVM, or the end of /// the stream. pub fn match_top_level_item_1_1( - self, + &mut self, ) -> IonParseResult<'top, LazyRawStreamItem<'top, TextEncoding_1_1>> { // If only whitespace/comments remain, we're at the end of the stream. - let (input_after_ws, _ws) = self.match_optional_comments_and_whitespace()?; - if input_after_ws.is_empty() { - return Ok(( - input_after_ws, - RawStreamItem::EndOfStream(EndPosition::new( - TextEncoding_1_1.encoding(), - input_after_ws.offset(), - )), - )); + let _discarded_whitespace = self.match_optional_comments_and_whitespace()?; + if self.is_empty() { + return Ok(RawStreamItem::EndOfStream(EndPosition::new( + TextEncoding_1_1.encoding(), + self.offset(), + ))); } // Otherwise, the next item must be an IVM or a value. // We check for IVMs first because the rules for a symbol identifier will match them. @@ -674,11 +679,13 @@ impl<'top> TextBuffer<'top> { Self::match_annotated_value_1_1 .map(LazyRawTextValue_1_1::from) .map(RawStreamItem::Value), - ))(input_after_ws) + )) + .parse_next(self) } /// Matches a single scalar value or the beginning of a container. - pub fn match_value(self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { + pub fn match_value(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { + let allocator = self.context().allocator(); alt(( // For `null` and `bool`, we use `read_` instead of `match_` because there's no additional // parsing to be done. @@ -707,23 +714,23 @@ impl<'top> TextBuffer<'top> { Self::match_list.map(|_matched_list| { // TODO: Cache child expressions found in 1.0 list let not_yet_used_in_1_0 = - bumpalo::collections::Vec::new_in(self.context.allocator()).into_bump_slice(); + bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); EncodedTextValue::new(MatchedValue::List(not_yet_used_in_1_0)) }), Self::match_sexp.map(|_matched_sexp| { // TODO: Cache child expressions found in 1.0 sexp let not_yet_used_in_1_0 = - bumpalo::collections::Vec::new_in(self.context.allocator()).into_bump_slice(); + bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); EncodedTextValue::new(MatchedValue::SExp(not_yet_used_in_1_0)) }), Self::match_struct.map(|_matched_struct| { // TODO: Cache child expressions found in 1.0 struct let not_yet_used_in_1_0 = - bumpalo::collections::Vec::new_in(self.context.allocator()).into_bump_slice(); + bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); EncodedTextValue::new(MatchedValue::Struct(not_yet_used_in_1_0)) }), )) - .with_recognized() + .with_taken() .map(|(encoded_value, input)| LazyRawTextValue_1_0 { encoded_value, input, @@ -731,7 +738,7 @@ impl<'top> TextBuffer<'top> { .parse_next(self) } - pub fn match_value_1_1(self) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { + pub fn match_value_1_1(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { alt(( // For `null` and `bool`, we use `read_` instead of `match_` because there's no additional // parsing to be done. @@ -767,7 +774,7 @@ impl<'top> TextBuffer<'top> { EncodedTextValue::new(MatchedValue::Struct(field_expr_cache)) }), )) - .with_recognized() + .with_taken() .map(|(encoded_value, input)| LazyRawTextValue_1_1 { encoded_value, input, @@ -778,13 +785,11 @@ impl<'top> TextBuffer<'top> { /// Matches a list. /// /// If the input does not contain the entire list, returns `IonError::Incomplete(_)`. - pub fn match_list(self) -> IonMatchResult<'top> { + pub fn match_list(&mut self) -> IonMatchResult<'top> { // If it doesn't start with [, it isn't a list. if self.bytes().first() != Some(&b'[') { - let error = InvalidInputError::new(self); - return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( - error, - ))); + let error = InvalidInputError::new(*self); + return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); } // Scan ahead to find the end of this list. let list_body = self.slice_to_end(1); @@ -793,17 +798,17 @@ impl<'top> TextBuffer<'top> { Ok(span) => span, // If the complete container isn't available, return an incomplete. Err(IonError::Incomplete(_)) if self.is_final_data => { - return fatal_parse_error(self, "found an incomplete list") + return fatal_parse_error(*self, "found an incomplete list") } Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { return { - let error = InvalidInputError::new(self) + let error = InvalidInputError::new(*self) .with_label("matching a list") .with_description(format!("{}", e)); - Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) + Err(ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -811,7 +816,8 @@ impl<'top> TextBuffer<'top> { // For the matched span, we use `self` again to include the opening `[` let matched = self.slice(0, span.len()); let remaining = self.slice_to_end(span.len()); - Ok((remaining, matched)) + *self = remaining; + Ok(matched) } /// Matches an Ion v1.1 list, which allows e-expressions (macro invocations) to appear in value @@ -820,7 +826,7 @@ impl<'top> TextBuffer<'top> { /// If the input does not contain the entire list, returns `IonError::Incomplete(_)`. // TODO: DRY with `match_list` pub fn match_list_1_1( - self, + &mut self, ) -> IonParseResult< 'top, ( @@ -830,7 +836,7 @@ impl<'top> TextBuffer<'top> { > { // If it doesn't start with [, it isn't a list. if self.bytes().first() != Some(&b'[') { - let error = InvalidInputError::new(self); + let error = InvalidInputError::new(*self); return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( error, ))); @@ -847,17 +853,17 @@ impl<'top> TextBuffer<'top> { Ok((span, child_exprs)) => (span, child_exprs), // If the complete container isn't available, return an incomplete. Err(IonError::Incomplete(_)) if self.is_final_data => { - return fatal_parse_error(self, "found an incomplete list (v1.1)") + return fatal_parse_error(*self, "found an incomplete list (v1.1)") } Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { return { - let error = InvalidInputError::new(self) + let error = InvalidInputError::new(*self) .with_label("matching a v1.1 list") .with_description(format!("couldn't match span: {}", e)); - Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) + Err(ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -865,12 +871,13 @@ impl<'top> TextBuffer<'top> { // For the matched span, we use `self` again to include the opening `[` let matched = self.slice(0, span.len()); let remaining = self.slice_to_end(span.len()); - Ok((remaining, (matched, child_exprs))) + *self = remaining; + Ok((matched, child_exprs)) } // TODO: DRY with `match_sexp` pub fn match_sexp_1_1( - self, + &mut self, ) -> IonParseResult< 'top, ( @@ -879,10 +886,8 @@ impl<'top> TextBuffer<'top> { ), > { if self.bytes().first() != Some(&b'(') { - let error = InvalidInputError::new(self); - return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( - error, - ))); + let error = InvalidInputError::new(*self); + return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); } // Scan ahead to find the end of this sexp let sexp_body = self.slice_to_end(1); @@ -892,24 +897,25 @@ impl<'top> TextBuffer<'top> { Ok((span, child_expr_cache)) => (span, child_expr_cache), // If the complete container isn't available, return an incomplete. Err(IonError::Incomplete(_)) if self.is_final_data => { - return fatal_parse_error(self, "found an incomplete s-expression (v1.1)"); + return fatal_parse_error(*self, "found an incomplete s-expression (v1.1)"); } Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { return { - let error = InvalidInputError::new(self) + let error = InvalidInputError::new(*self) .with_label("matching a 1.1 sexp") .with_description(format!("{}", e)); - Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) + Err(ErrMode::Cut(IonParseError::Invalid(error))) } } }; // For the matched span, we use `self` again to include the opening `(` let matched = self.slice(0, span.len()); let remaining = self.slice_to_end(span.len()); - Ok((remaining, (matched, child_expr_cache))) + *self = remaining; + Ok((matched, child_expr_cache)) } /// Matches a single value in a list OR the end of the list, allowing for leading whitespace @@ -917,13 +923,13 @@ impl<'top> TextBuffer<'top> { /// /// If a value is found, returns `Ok(Some(value))`. If the end of the list is found, returns /// `Ok(None)`. - pub fn match_list_value(self) -> IonParseResult<'top, Option>> { + pub fn match_list_value(&mut self) -> IonParseResult<'top, Option>> { preceded( // Some amount of whitespace/comments... Self::match_optional_comments_and_whitespace, // ...followed by either the end of the list... alt(( - tag("]").value(None), + literal("]").value(None), // ...or a value... terminated( Self::match_annotated_value.map(Some), @@ -931,14 +937,15 @@ impl<'top> TextBuffer<'top> { Self::match_delimiter_after_list_value, ), )), - )(self) + ) + .parse_next(self) } /// Matches either: /// * An e-expression (i.e. macro invocation) /// * An optional annotations sequence and a value pub fn match_list_value_1_1( - self, + &mut self, ) -> IonParseResult<'top, Option>> { whitespace_and_then(alt(( terminated( @@ -946,7 +953,7 @@ impl<'top> TextBuffer<'top> { Self::match_delimiter_after_list_value, ) .map(|matched| Some(RawValueExpr::EExp(matched))), - tag("]").value(None), + literal("]").value(None), terminated( Self::match_annotated_long_string_in_list.map(Some), Self::match_delimiter_after_list_value, @@ -964,19 +971,20 @@ impl<'top> TextBuffer<'top> { /// Matches syntax that is expected to follow a value in a list: any amount of whitespace and/or /// comments followed by either a comma (consumed) or an end-of-list `]` (not consumed). - fn match_delimiter_after_list_value(self) -> IonMatchResult<'top> { + fn match_delimiter_after_list_value(&mut self) -> IonMatchResult<'top> { preceded( Self::match_optional_comments_and_whitespace, - alt((tag(","), peek(tag("]")))), - )(self) + alt((literal(","), peek(literal("]")))), + ) + .parse_next(self) } /// Matches an s-expression (sexp). /// /// If the input does not contain the entire s-expression, returns `IonError::Incomplete(_)`. - pub fn match_sexp(self) -> IonMatchResult<'top> { + pub fn match_sexp(&mut self) -> IonMatchResult<'top> { if self.bytes().first() != Some(&b'(') { - let error = InvalidInputError::new(self); + let error = InvalidInputError::new(*self); return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( error, ))); @@ -987,7 +995,7 @@ impl<'top> TextBuffer<'top> { let span = match sexp_iter.find_span(1) { Ok(span) => span, Err(IonError::Incomplete(_)) if self.is_final_data => { - return fatal_parse_error(self, "found an incomplete s-expression"); + return fatal_parse_error(*self, "found an incomplete s-expression"); } // If the complete container isn't available, return an incomplete. Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), @@ -995,7 +1003,7 @@ impl<'top> TextBuffer<'top> { // other parser kinds. Err(e) => { return { - let error = InvalidInputError::new(self) + let error = InvalidInputError::new(*self) .with_label("matching a sexp") .with_description(format!("{}", e)); Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) @@ -1005,16 +1013,17 @@ impl<'top> TextBuffer<'top> { // For the matched span, we use `self` again to include the opening `(` let matched = self.slice(0, span.len()); let remaining = self.slice_to_end(span.len()); - Ok((remaining, matched)) + *self = remaining; + Ok(matched) } /// Matches a struct. /// /// If the input does not contain the entire struct, returns `IonError::Incomplete(_)`. - pub fn match_struct(self) -> IonMatchResult<'top> { + pub fn match_struct(&mut self) -> IonMatchResult<'top> { // If it doesn't start with {, it isn't a struct. if self.bytes().first() != Some(&b'{') { - let error = InvalidInputError::new(self); + let error = InvalidInputError::new(*self); return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); } // Scan ahead to find the end of this struct. @@ -1028,10 +1037,10 @@ impl<'top> TextBuffer<'top> { // other parser kinds. Err(e) => { return { - let error = InvalidInputError::new(self) + let error = InvalidInputError::new(*self) .with_label("matching a struct") .with_description(format!("{}", e)); - Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) + Err(ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -1039,11 +1048,12 @@ impl<'top> TextBuffer<'top> { // For the matched span, we use `self` again to include the opening `{` let matched = self.slice(0, span.len()); let remaining = self.slice_to_end(span.len()); - Ok((remaining, matched)) + *self = remaining; + Ok(matched) } pub fn match_struct_1_1( - self, + &mut self, ) -> IonParseResult< 'top, ( @@ -1053,7 +1063,7 @@ impl<'top> TextBuffer<'top> { > { // If it doesn't start with {, it isn't a struct. if self.bytes().first() != Some(&b'{') { - let error = InvalidInputError::new(self); + let error = InvalidInputError::new(*self); return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( error, ))); @@ -1074,7 +1084,7 @@ impl<'top> TextBuffer<'top> { // other parser kinds. Err(e) => { return { - let error = InvalidInputError::new(self) + let error = InvalidInputError::new(*self) .with_label("matching a v1.1 struct") .with_description(format!("{}", e)); Err(ErrMode::Cut(IonParseError::Invalid(error))) @@ -1085,78 +1095,86 @@ impl<'top> TextBuffer<'top> { // For the matched span, we use `self` again to include the opening `{` let matched = self.slice(0, span.len()); let remaining = self.slice_to_end(span.len()); - Ok((remaining, (matched, fields))) + *self = remaining; + Ok((matched, fields)) } pub fn match_e_expression_arg_group( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, TextEExpArgGroup<'top>> { alt(( Self::parser_with_arg(Self::match_explicit_arg_group, parameter), Self::parser_with_arg(Self::match_rest, parameter), - ))(self) + )) + .parse_next(self) } /// Higher-order helper that takes a closure and an argument to pass and constructs a new /// parser that calls the closure with the provided argument. pub fn parser_with_arg( - mut parser: impl FnMut(Self, &'top A) -> IonParseResult<'top, O>, + mut parser: impl FnMut(&mut Self, &'top A) -> IonParseResult<'top, O>, arg_to_pass: &'top A, - ) -> impl Parser> { - move |input: TextBuffer<'top>| parser(input, arg_to_pass) + ) -> impl IonParser<'top, O> { + move |input: &mut TextBuffer<'top>| parser(input, arg_to_pass) } pub fn match_explicit_arg_group( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, TextEExpArgGroup<'top>> { - let (group_body, group_head) = alt(( - // A trivially empty arg group: `(:)` - terminated(tag("(::"), peek(tag(")"))), - // An arg group that is not trivially empty, though it may only contain whitespace: - // (:: ) - // (:: 1 2 3) - (tag("(::"), Self::match_optional_whitespace).recognize(), - )) - .parse_next(self)?; - - // The rest of the group uses s-expression syntax. Scan ahead to find the end of this - // group. - let sexp_iter = RawTextSExpIterator_1_1::new(group_body); - // The sexp iterator holds the body of the expression. When finding the input span it occupies, - // we tell the iterator how many bytes comprised the head of the expression: `(:` followed - // by whitespace. - let initial_bytes_skipped = group_head.len(); - let (span, child_expr_cache) = - match TextSExpSpanFinder_1_1::new(self.context.allocator(), sexp_iter) + let parser = |input: &mut TextBuffer<'top>| { + // Make a copy of the input state to skim through to find the end of the arg group + let group_head = alt(( + // A trivially empty arg group: `(:)` + terminated(literal("(::"), peek(literal(")"))), + // An arg group that is not trivially empty, though it may only contain whitespace: + // (:: ) + // (:: 1 2 3) + (literal("(::"), Self::match_optional_whitespace).take(), + )) + .parse_next(input)?; + + // `input` is now positioned after the opening delimiter. + // The rest of the group uses s-expression syntax. Scan ahead to find the end of this + // group. + let sexp_iter = RawTextSExpIterator_1_1::new(input.checkpoint()); + // The sexp iterator holds the body of the expression. When finding the input span it occupies, + // we tell the iterator how many bytes comprised the head of the group: `(::` followed + // by whitespace. + let initial_bytes_skipped = group_head.len(); + match TextSExpSpanFinder_1_1::new(input.context.allocator(), sexp_iter) .find_span(initial_bytes_skipped) { - Ok((span, child_expr_cache)) => (span, child_expr_cache), + Ok((span, child_expr_cache)) => { + input.consume(span.len() - group_head.len()); + Ok(child_expr_cache) + } // If the complete group isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => { + input.incomplete("matching an e-expression argument group") + } // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { - return { - let error = InvalidInputError::new(self) - .with_label("matching an e-expression argument group") - .with_description(format!("{}", e)); - Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) - } + let error = InvalidInputError::new(*input) + .with_label("matching an e-expression argument group") + .with_description(format!("{}", e)); + Err(ErrMode::Cut(IonParseError::Invalid(error))) } - }; - // For the matched span, we use `self` again to include the opening `(:` and whitespace. - let matched = self.slice(0, span.len()); - let remaining = self.slice_to_end(span.len()); - let arg_group = TextEExpArgGroup::new(parameter, matched, child_expr_cache); - - Ok((remaining, arg_group)) + } + }; + let (child_expr_cache, matched_input) = parser.with_taken().parse_next(self)?; + Ok(TextEExpArgGroup::new( + parameter, + matched_input, + child_expr_cache, + )) } - pub fn match_e_expression_name(self) -> IonParseResult<'top, MacroIdRef<'top>> { - let (exp_body_after_id, (matched_symbol, macro_id_bytes)) = - Self::match_identifier.with_recognized().parse_next(self)?; + pub fn match_e_expression_name(&mut self) -> IonParseResult<'top, MacroIdRef<'top>> { + let (matched_symbol, macro_id_bytes) = + Self::match_identifier.with_taken().parse_next(self)?; let name = match matched_symbol .read(self.context.allocator(), macro_id_bytes) .expect("matched identifier but failed to read its bytes") @@ -1165,34 +1183,35 @@ impl<'top> TextBuffer<'top> { RawSymbolRef::Text(text) => text, RawSymbolRef::SystemSymbol_1_1(system_symbol) => system_symbol.text(), }; - Ok((exp_body_after_id, MacroIdRef::LocalName(name))) + Ok(MacroIdRef::LocalName(name)) } - pub fn match_e_expression_address(self) -> IonParseResult<'top, MacroIdRef<'top>> { - let (exp_body_after_id, address) = Self::match_address(self)?; + pub fn match_e_expression_address(&mut self) -> IonParseResult<'top, MacroIdRef<'top>> { + let address = Self::match_address(self)?; let id = MacroIdRef::LocalAddress(address); - Ok((exp_body_after_id, id)) + Ok(id) } - pub fn match_system_eexp_id(self) -> IonParseResult<'top, MacroIdRef<'top>> { - let (after_system_annotation, _matched_system_annotation) = ( - tag("$ion"), - whitespace_and_then(tag("::")), + pub fn match_system_eexp_id(&mut self) -> IonParseResult<'top, MacroIdRef<'top>> { + let _matched_system_annotation = ( + literal("$ion"), + whitespace_and_then(literal("::")), Self::match_optional_whitespace, ) - .recognize() + .take() .parse_next(self)?; - let (remaining, id) = alt(( + let id = alt(( Self::match_e_expression_address, Self::match_e_expression_name, )) - .parse_next(after_system_annotation)?; + .parse_next(self)?; + let system_id = match id { MacroIdRef::LocalName(name) => { let Some(macro_address) = ION_1_1_SYSTEM_MACROS.address_for_name(name) else { return fatal_parse_error( - after_system_annotation, + *self, format!("Found unrecognized system macro name: '{}'", name), ); }; @@ -1202,7 +1221,7 @@ impl<'top> TextBuffer<'top> { MacroIdRef::LocalAddress(address) => { let Some(system_address) = SystemMacroAddress::new(address) else { return fatal_parse_error( - after_system_annotation, + *self, format!("Found out-of-bounds system macro address {}", address), ); }; @@ -1212,75 +1231,79 @@ impl<'top> TextBuffer<'top> { unreachable!("`match_e_expression_address` always returns a LocalAddress") } }; - Ok((remaining, system_id)) + Ok(system_id) } - pub fn match_e_expression_id(self) -> IonParseResult<'top, MacroIdRef<'top>> { - let (input_after_id, id) = alt(( + pub fn match_e_expression_id(&mut self) -> IonParseResult<'top, MacroIdRef<'top>> { + let id = alt(( Self::match_system_eexp_id, Self::match_e_expression_name, Self::match_e_expression_address, - ))(self)?; + )) + .parse_next(self)?; - Ok((input_after_id, id)) + Ok(id) } /// Matches an e-expression invoking a macro. /// /// If the input does not contain the entire e-expression, returns `IonError::Incomplete(_)`. - pub fn match_e_expression(self) -> IonParseResult<'top, TextEExpression_1_1<'top>> { - let (eexp_body, _opening_tag) = tag("(:")(self)?; - let (mut remaining, id) = Self::match_e_expression_id(eexp_body)?; - let mut arg_expr_cache = BumpVec::new_in(self.context.allocator()); - - let macro_ref: &'top Macro = self - .context() - .macro_table() - .macro_with_id(id) - .ok_or_else(|| { - ErrMode::Cut(IonParseError::Invalid( - InvalidInputError::new(self) - .with_description(format!("could not find macro with id {:?}", id)), - )) - })? - .reference(); - let signature_params: &'top [Parameter] = macro_ref.signature().parameters(); - for (index, param) in signature_params.iter().enumerate() { - let (input_after_match, maybe_arg) = remaining.match_argument_for(param)?; - remaining = input_after_match; - match maybe_arg { - Some(arg) => arg_expr_cache.push(arg), - None => { - for param in &signature_params[index..] { - if !param.can_be_omitted() { - return fatal_parse_error( - self, - format!( - "e-expression did not include an argument for param '{}'", - param.name() - ), - ); + pub fn match_e_expression(&mut self) -> IonParseResult<'top, TextEExpression_1_1<'top>> { + let parser = |input: &mut TextBuffer<'top>| { + let _opening_tag = literal("(:").parse_next(input)?; + let id = Self::match_e_expression_id(input)?; + let mut arg_expr_cache = BumpVec::new_in(input.context.allocator()); + + let macro_ref: &'top Macro = input + .context() + .macro_table() + .macro_with_id(id) + .ok_or_else(|| { + ErrMode::Cut(IonParseError::Invalid( + InvalidInputError::new(*input) + .with_description(format!("could not find macro with id {:?}", id)), + )) + })? + .reference(); + let signature_params: &'top [Parameter] = macro_ref.signature().parameters(); + for (index, param) in signature_params.iter().enumerate() { + let maybe_arg = input.match_argument_for(param)?; + match maybe_arg { + Some(arg) => arg_expr_cache.push(arg), + None => { + for param in &signature_params[index..] { + if !param.can_be_omitted() { + return fatal_parse_error( + *input, + format!( + "e-expression did not include an argument for param '{}'", + param.name() + ), + ); + } } + break; } - break; } } - } - let (remaining, _end_of_eexp) = match whitespace_and_then(tag(")")).parse_next(remaining) { - Ok(result) => result, - Err(ErrMode::Incomplete(_)) => return self.incomplete("an e-expression"), - Err(_e) => { - return fatal_parse_error( - remaining, - format!( - "macro {id} signature has {} parameter(s), e-expression had an extra argument", - signature_params.len() - ), - ); + match whitespace_and_then(literal(")")).parse_next(input) { + Ok(_closing_delimiter) => Ok((id, macro_ref, arg_expr_cache)), + Err(ErrMode::Incomplete(_)) => input.incomplete("an e-expression"), + Err(_e) => { + fatal_parse_error( + *input, + format!( + "macro {id} signature has {} parameter(s), e-expression had an extra argument", + signature_params.len() + ), + ) + } } }; + let ((macro_id, macro_ref, mut arg_expr_cache), matched_input) = + parser.with_taken().parse_next(self)?; - let matched_input = self.slice(0, remaining.offset() - self.offset()); + // let matched_input = self.slice(0, input.offset() - self.offset()); let parameters = macro_ref.signature().parameters(); if arg_expr_cache.len() < parameters.len() { @@ -1293,7 +1316,7 @@ impl<'top> TextBuffer<'top> { let last_explicit_arg_end = arg_expr_cache .last() .map(|arg| arg.expr().range().end) - .unwrap_or(remaining.offset); + .unwrap_or(self.offset); for parameter in ¶meters[arg_expr_cache.len()..] { let buffer = TextBuffer::new_with_offset( self.context, @@ -1312,21 +1335,22 @@ impl<'top> TextBuffer<'top> { "every parameter must have an argument, explicit or implicit" ); - Ok(( - remaining, - TextEExpression_1_1::new(id, matched_input, arg_expr_cache.into_bump_slice()), + Ok(TextEExpression_1_1::new( + macro_id, + matched_input, + arg_expr_cache.into_bump_slice(), )) } pub fn match_argument_for( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, Option>> { use crate::lazy::expanded::template::ParameterCardinality::*; match parameter.cardinality() { ExactlyOne => { - let (remaining, arg) = self.match_exactly_one(parameter)?; - Ok((remaining, Some(arg))) + let arg = self.match_exactly_one(parameter)?; + Ok(Some(arg)) } ZeroOrOne => self.match_zero_or_one(parameter), ZeroOrMore => self.match_zero_or_more(parameter), @@ -1335,25 +1359,25 @@ impl<'top> TextBuffer<'top> { } pub fn match_exactly_one( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, EExpArg<'top, TextEncoding_1_1>> { - let (after_ws, _ws) = self.match_optional_comments_and_whitespace()?; + let _whitespace = self.match_optional_comments_and_whitespace()?; // This check exists to offer a more human-friendly error message; without it, // the user simply sees a parsing failure. - if after_ws.bytes().starts_with(b"(::") { + if self.bytes().starts_with(b"(::") { return fatal_parse_error( - self, + *self, format!("parameter '{}' has cardinality `ExactlyOne`; it cannot accept an expression group", parameter.name()) ); } - let (remaining, maybe_expr) = Self::match_sexp_value_1_1 + let maybe_expr = Self::match_sexp_value_1_1 .map(|expr| expr.map(EExpArgExpr::::from)) - .parse_next(after_ws)?; + .parse_next(self)?; match maybe_expr { - Some(expr) => Ok((remaining, EExpArg::new(parameter, expr))), + Some(expr) => Ok(EExpArg::new(parameter, expr)), None => fatal_parse_error( - after_ws, + *self, format!( "expected argument for required parameter '{}'", parameter.name() @@ -1363,11 +1387,11 @@ impl<'top> TextBuffer<'top> { } pub fn match_empty_arg_group( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, EExpArg<'top, TextEncoding_1_1>> { - (tag("(::"), whitespace_and_then(tag(")"))) - .recognize() + (literal("(::"), whitespace_and_then(literal(")"))) + .take() .map(|matched_expr| { let arg_group = TextEExpArgGroup::new(parameter, matched_expr, &[]); EExpArg::new(parameter, EExpArgExpr::ArgGroup(arg_group)) @@ -1376,7 +1400,7 @@ impl<'top> TextBuffer<'top> { } pub fn match_zero_or_one( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, Option>> { whitespace_and_then(alt(( @@ -1392,10 +1416,10 @@ impl<'top> TextBuffer<'top> { } pub fn match_zero_or_more( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, Option>> { - let (remaining, maybe_expr) = preceded( + let maybe_expr = preceded( Self::match_optional_comments_and_whitespace, alt(( Self::parser_with_arg(Self::match_e_expression_arg_group, parameter) @@ -1404,19 +1428,20 @@ impl<'top> TextBuffer<'top> { expr.map(EExpArgExpr::from) .map(|expr| EExpArg::new(parameter, expr)) }), - peek(tag(")")).value(None), + peek(literal(")")).value(None), )), - )(self)?; - Ok((remaining, maybe_expr)) + ) + .parse_next(self)?; + Ok(maybe_expr) } pub fn match_one_or_more( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, Option>> { if self.match_empty_arg_group(parameter).is_ok() { - return Err(winnow::error::ErrMode::Cut(IonParseError::Invalid( - InvalidInputError::new(self).with_description(format!( + return Err(ErrMode::Cut(IonParseError::Invalid( + InvalidInputError::new(*self).with_description(format!( "parameter '{}' is one-or-more (`+`) and cannot accept an empty stream", parameter.name() )), @@ -1427,49 +1452,51 @@ impl<'top> TextBuffer<'top> { } pub fn match_rest( - self, + &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, TextEExpArgGroup<'top>> { if parameter.rest_syntax_policy() == RestSyntaxPolicy::NotAllowed { return Err(ErrMode::Backtrack(IonParseError::Invalid( - InvalidInputError::new(self) + InvalidInputError::new(*self) .with_description("parameter does not support rest syntax"), ))); } - let mut remaining = self; let mut cache = BumpVec::new_in(self.context().allocator()); - loop { - let (remaining_after_expr, maybe_expr) = alt(( - whitespace_and_then(peek(tag(")"))).value(None), + let parser = |input: &mut TextBuffer<'top>| { + while let Some(expr) = alt(( + whitespace_and_then(peek(literal(")"))).value(None), Self::match_sexp_value_1_1, )) - .parse_next(remaining)?; - if let Some(expr) = maybe_expr { - remaining = remaining_after_expr; + .parse_next(input)? + { cache.push(expr); - } else { - return Ok(( - remaining, - TextEExpArgGroup::new(parameter, self, cache.into_bump_slice()), - )); } - } + Ok(()) + }; + let (_, matched_input) = parser.with_taken().parse_next(self)?; + + Ok(TextEExpArgGroup::new( + parameter, + matched_input, + cache.into_bump_slice(), + )) } /// Matches and returns a boolean value. - pub fn match_bool(self) -> IonParseResult<'top, bool> { + pub fn match_bool(&mut self) -> IonParseResult<'top, bool> { terminated( - alt((tag("true").value(true), tag("false").value(false))), + alt((literal("true").value(true), literal("false").value(false))), Self::peek_stop_character, - )(self) + ) + .parse_next(self) } /// Matches and returns any type of null. (`null`, `null.null`, `null.int`, etc) - pub fn match_null(self) -> IonParseResult<'top, IonType> { + pub fn match_null(&mut self) -> IonParseResult<'top, IonType> { terminated( alt(( - (tag("null."), Self::match_ion_type).map(|(_, ion_type)| ion_type), - tag("null").value(IonType::Null), + (literal("null."), Self::match_ion_type).map(|(_, ion_type)| ion_type), + literal("null").value(IonType::Null), )), Self::peek_stop_character, ) @@ -1477,37 +1504,42 @@ impl<'top> TextBuffer<'top> { } /// Matches and returns an Ion type. - fn match_ion_type(self) -> IonParseResult<'top, IonType> { + fn match_ion_type(&mut self) -> IonParseResult<'top, IonType> { alt(( - tag("null").value(IonType::Null), - tag("bool").value(IonType::Bool), - tag("int").value(IonType::Int), - tag("float").value(IonType::Float), - tag("decimal").value(IonType::Decimal), - tag("timestamp").value(IonType::Timestamp), - tag("symbol").value(IonType::Symbol), - tag("string").value(IonType::String), - tag("clob").value(IonType::Clob), - tag("blob").value(IonType::Blob), - tag("list").value(IonType::List), - tag("sexp").value(IonType::SExp), - tag("struct").value(IonType::Struct), - ))(self) + literal("null").value(IonType::Null), + literal("bool").value(IonType::Bool), + literal("int").value(IonType::Int), + literal("float").value(IonType::Float), + literal("decimal").value(IonType::Decimal), + literal("timestamp").value(IonType::Timestamp), + literal("symbol").value(IonType::Symbol), + literal("string").value(IonType::String), + literal("clob").value(IonType::Clob), + literal("blob").value(IonType::Blob), + literal("list").value(IonType::List), + literal("sexp").value(IonType::SExp), + literal("struct").value(IonType::Struct), + )) + .parse_next(self) } /// Matches any one of Ion's stop characters. - fn match_stop_character(self) -> IonMatchResult<'top> { - alt((eof, one_of("{}[](),\"' \t\n\r\u{0b}\u{0c}").recognize()))(self) + fn match_stop_character(&mut self) -> IonMatchResult<'top> { + alt(( + eof, + one_of("{}[](),\"' \t\n\r\u{0b}\u{0c}".as_bytes()).take(), + )) + .parse_next(self) } /// Matches--but does not consume--any one of Ion's stop characters. - fn peek_stop_character(self) -> IonMatchResult<'top> { + fn peek_stop_character(&mut self) -> IonMatchResult<'top> { peek(Self::match_stop_character).parse_next(self) } /// Matches the three parts of an int--its base, its sign, and its digits--without actually /// constructing an Int from them. - pub fn match_int(self) -> IonParseResult<'top, MatchedInt> { + pub fn match_int(&mut self) -> IonParseResult<'top, MatchedInt> { terminated( // We test for base 16 and base 2 so the '0x' or '0b' isn't confused for a leading zero // in a base 10 number, which would be illegal. @@ -1517,79 +1549,83 @@ impl<'top> TextBuffer<'top> { Self::match_base_10_int, )), Self::peek_stop_character, - )(self) + ) + .parse_next(self) } /// Matches a base-2 notation integer (e.g. `0b0`, `0B1010`, or `-0b0111`) and returns the /// partially parsed value as a [`MatchedInt`]. - fn match_base_2_int(self) -> IonParseResult<'top, MatchedInt> { + fn match_base_2_int(&mut self) -> IonParseResult<'top, MatchedInt> { + let initial_offset = self.offset(); separated_pair( opt(one_of('-')), - alt((tag("0b"), tag("0B"))), + alt((literal("0b"), literal("0B"))), Self::match_base_2_int_digits, ) .map(|(maybe_sign, digits)| { - MatchedInt::new(2, maybe_sign.is_some(), digits.offset() - self.offset()) + MatchedInt::new(2, maybe_sign.is_some(), digits.offset() - initial_offset) }) .parse_next(self) } /// Matches the digits of a base-2 integer. - fn match_base_2_int_digits(self) -> IonMatchResult<'top> { + fn match_base_2_int_digits(&mut self) -> IonMatchResult<'top> { terminated( // Zero or more digits-followed-by-underscores - many0::<_, _, usize, _, _>((take_while1("01"), tag("_"))), + zero_or_more((take_while(1.., b"01"), literal("_"))), // One or more digits - many1::<_, _, usize, _, _>(one_of("01")), + one_or_more(one_of(b"01")), ) - .recognize() + .take() .parse_next(self) } /// Matches a base-10 notation integer (e.g. `0`, `255`, or `-1_024`) and returns the partially /// parsed value as a [`MatchedInt`]. - fn match_base_10_int(self) -> IonParseResult<'top, MatchedInt> { + fn match_base_10_int(&mut self) -> IonParseResult<'top, MatchedInt> { + let initial_offset = self.offset(); (opt(one_of('-')), Self::match_base_10_int_digits) .map(|(maybe_sign, digits)| { - MatchedInt::new(10, maybe_sign.is_some(), digits.offset() - self.offset()) + MatchedInt::new(10, maybe_sign.is_some(), digits.offset() - initial_offset) }) .parse_next(self) } /// Matches the digits of a base-10 integer. (i.e. An integer without a sign.) - fn match_base_10_int_digits(self) -> IonMatchResult<'top> { + fn match_base_10_int_digits(&mut self) -> IonMatchResult<'top> { Self::match_base_10_digits_before_dot(self) } /// Matches either: /// * a zero /// * a non-zero followed by some number of digits with optional underscores - fn match_base_10_digits_before_dot(self) -> IonMatchResult<'top> { + fn match_base_10_digits_before_dot(&mut self) -> IonMatchResult<'top> { alt(( // The number is either a zero... - tag("0"), + literal("0"), // Or it's a non-zero followed by some number of '_'-separated digits ( Self::match_base_10_leading_digit, Self::match_base_10_trailing_digits, ) - .recognize(), - ))(self) + .take(), + )) + .parse_next(self) } /// Matches the first digit of a multi-digit base-10 integer. (i.e. Any digit but zero.) - fn match_base_10_leading_digit(self) -> IonMatchResult<'top> { - one_of("123456789").recognize().parse_next(self) + fn match_base_10_leading_digit(&mut self) -> IonMatchResult<'top> { + one_of(b"123456789").take().parse_next(self) } /// Matches any number of digits with underscores optionally appearing in the middle. /// This parser accepts leading zeros, which is why it cannot be used for the beginning /// of a number. - fn match_base_10_trailing_digits(self) -> IonMatchResult<'top> { + fn match_base_10_trailing_digits(&mut self) -> IonMatchResult<'top> { // A sequence of zero or more... zero_or_more(alt(( //...underscore-followed-by-a-digit... - (tag("_"), one_of(|b: u8| b.is_ascii_digit())).recognize(), + (literal("_"), one_of(|b: u8| b.is_ascii_digit())).take(), //...or one or more digits. digit1, ))) @@ -1598,40 +1634,41 @@ impl<'top> TextBuffer<'top> { /// Matches a base-10 notation integer (e.g. `0x0`, `0X20`, or `-0xCAFE`) and returns the /// partially parsed value as a [`MatchedInt`]. - fn match_base_16_int(self) -> IonParseResult<'top, MatchedInt> { + fn match_base_16_int(&mut self) -> IonParseResult<'top, MatchedInt> { + let initial_offset = self.offset(); separated_pair( opt(one_of('-')), - alt((tag("0x"), tag("0X"))), + alt((literal("0x"), literal("0X"))), Self::match_base_16_int_trailing_digits, ) .map(|(maybe_sign, digits)| { - MatchedInt::new(16, maybe_sign.is_some(), digits.offset() - self.offset()) + MatchedInt::new(16, maybe_sign.is_some(), digits.offset() - initial_offset) }) .parse_next(self) } /// Matches the digits that follow the '0x' or '0X' in a base-16 integer - fn match_base_16_int_trailing_digits(self) -> IonMatchResult<'top> { + fn match_base_16_int_trailing_digits(&mut self) -> IonMatchResult<'top> { terminated( // Zero or more digits-followed-by-underscores - zero_or_more((Self::take_base_16_digits1, tag("_"))), + zero_or_more((Self::take_base_16_digits1, literal("_"))), // One or more digits Self::take_base_16_digits1, ) - .recognize() + .take() .parse_next(self) } /// Recognizes 1 or more consecutive base-16 digits. // This function's "1" suffix is a style borrowed from `nom`. - fn take_base_16_digits1(self) -> IonMatchResult<'top> { + fn take_base_16_digits1(&mut self) -> IonMatchResult<'top> { ( // We need at least one digit; if input's empty, this is Incomplete. one_of(|b: u8| b.is_ascii_hexdigit()), // After we have our digit, take digits until we find a non-digit (including EOF). - take_while0(|b: u8| b.is_ascii_hexdigit()), + take_while(.., |b: u8| b.is_ascii_hexdigit()), ) - .recognize() + .take() .parse_next(self) } @@ -1639,48 +1676,38 @@ impl<'top> TextBuffer<'top> { pub(crate) fn match_n_hex_digits( count: usize, ) -> impl Parser, TextBuffer<'top>, IonParseError<'top>> { - // `fold_many_m_n` allows us to repeat the same parser between 'm' and 'n' times, - // specifying an operation to perform on each match. In our case, we just need the parser - // to run 'n' times exactly so `recognize` can return the accepted slice; our operation - // is a no-op. - fold_many_m_n( - count, - count, - one_of(|b: u8| b.is_ascii_hexdigit()), - || 0, - // no-op - |accum, _item| accum, - ) - .recognize() + n_times(count, one_of(|b: u8| b.is_ascii_hexdigit())).take() } /// Matches an Ion float of any syntax - fn match_float(self) -> IonParseResult<'top, MatchedFloat> { + fn match_float(&mut self) -> IonParseResult<'top, MatchedFloat> { terminated( alt(( Self::match_float_special_value, Self::match_float_numeric_value, )), Self::peek_stop_character, - )(self) + ) + .parse_next(self) } /// Matches special IEEE-754 values, including +/- infinity and NaN. - fn match_float_special_value(self) -> IonParseResult<'top, MatchedFloat> { + fn match_float_special_value(&mut self) -> IonParseResult<'top, MatchedFloat> { alt(( - tag("nan").value(MatchedFloat::NotANumber), - tag("+inf").value(MatchedFloat::PositiveInfinity), - tag("-inf").value(MatchedFloat::NegativeInfinity), - ))(self) + literal("nan").value(MatchedFloat::NotANumber), + literal("+inf").value(MatchedFloat::PositiveInfinity), + literal("-inf").value(MatchedFloat::NegativeInfinity), + )) + .parse_next(self) } /// Matches numeric IEEE-754 floating point values. - fn match_float_numeric_value(self) -> IonParseResult<'top, MatchedFloat> { + fn match_float_numeric_value(&mut self) -> IonParseResult<'top, MatchedFloat> { ( Self::match_number_with_optional_dot_and_digits, Self::match_float_exponent_marker_and_digits, ) - .recognize() + .take() .value(MatchedFloat::Numeric) .parse_next(self) } @@ -1691,57 +1718,58 @@ impl<'top> TextBuffer<'top> { /// 1000 /// 1000.559 /// -25.2 - fn match_number_with_optional_dot_and_digits(self) -> IonMatchResult<'top> { + fn match_number_with_optional_dot_and_digits(&mut self) -> IonMatchResult<'top> { ( - opt(tag("-")), + opt(literal("-")), Self::match_base_10_digits_before_dot, opt(Self::match_dot_followed_by_base_10_digits), ) - .recognize() + .take() .parse_next(self) } /// In a float or decimal, matches the digits that are permitted before the decimal point. /// This includes either a single zero, or a non-zero followed by any sequence of digits. - fn match_digits_before_dot(self) -> IonMatchResult<'top> { + fn match_digits_before_dot(&mut self) -> IonMatchResult<'top> { alt(( - tag("0"), - (Self::match_leading_digit, Self::match_trailing_digits).recognize(), - ))(self) + literal("0"), + (Self::match_leading_digit, Self::match_trailing_digits).take(), + )) + .parse_next(self) } /// Matches a single non-zero base 10 digit. - fn match_leading_digit(self) -> IonMatchResult<'top> { - one_of("123456789").recognize().parse_next(self) + fn match_leading_digit(&mut self) -> IonMatchResult<'top> { + one_of(b"123456789").take().parse_next(self) } /// Matches any number of base 10 digits, allowing underscores at any position except the end. - fn match_trailing_digits(self) -> IonMatchResult<'top> { - zero_or_more(preceded(opt(tag("_")), digit1)).parse_next(self) + fn match_trailing_digits(&mut self) -> IonMatchResult<'top> { + zero_or_more(preceded(opt(literal("_")), digit1)).parse_next(self) } /// Recognizes a decimal point followed by any number of base-10 digits. - fn match_dot_followed_by_base_10_digits(self) -> IonMatchResult<'top> { - (tag("."), opt(Self::match_zero_or_more_digits_after_dot)) - .recognize() + fn match_dot_followed_by_base_10_digits(&mut self) -> IonMatchResult<'top> { + (literal("."), opt(Self::match_zero_or_more_digits_after_dot)) + .take() .parse_next(self) } /// Like `match_digits_before_dot`, but allows leading zeros. - fn match_one_or_more_digits_after_dot(self) -> IonMatchResult<'top> { + fn match_one_or_more_digits_after_dot(&mut self) -> IonMatchResult<'top> { ( // Any number of digit-sequence-with-trailing-underscores... - zero_or_more((digit1, tag("_"))), + zero_or_more((digit1, literal("_"))), // ...and at least one trailing digit. Inputs that don't have any underscores // will be handled by this parser branch. (one_of(|b: u8| b.is_ascii_digit()), digit0), ) - .recognize() + .take() .parse_next(self) } /// Like `match_digits_before_dot`, but allows leading zeros. - fn match_zero_or_more_digits_after_dot(self) -> IonMatchResult<'top> { + fn match_zero_or_more_digits_after_dot(&mut self) -> IonMatchResult<'top> { terminated( // Zero or more digits-followed-by-underscores. zero_or_more(( @@ -1757,17 +1785,18 @@ impl<'top> TextBuffer<'top> { // inputs that don't have any underscores. digit1, ) - .recognize() + .take() .parse_next(self) } /// Matches an `e` or `E` followed by an optional sign (`+` or `-`) followed by one or more /// base 10 digits. - fn match_float_exponent_marker_and_digits(self) -> IonMatchResult<'top> { + fn match_float_exponent_marker_and_digits(&mut self) -> IonMatchResult<'top> { preceded( - one_of("eE"), - Self::match_exponent_sign_and_one_or_more_digits.recognize(), - )(self) + one_of(b"eE"), + Self::match_exponent_sign_and_one_or_more_digits.take(), + ) + .parse_next(self) } /// Matches the exponent portion of a decimal (everything after the 'd') or float @@ -1779,7 +1808,7 @@ impl<'top> TextBuffer<'top> { /// /// Returns a boolean indicating whether the sign was negative (vs absent or positive) /// and the buffer slice containing the digits. - fn match_exponent_sign_and_one_or_more_digits(self) -> IonParseResult<'top, (bool, Self)> { + fn match_exponent_sign_and_one_or_more_digits(&mut self) -> IonParseResult<'top, (bool, Self)> { ( // Optional leading sign; if there's no sign, it's not negative. opt(Self::match_any_sign).map(|s| s == Some(b'-')), @@ -1791,27 +1820,29 @@ impl<'top> TextBuffer<'top> { /// Matches `-` OR `+`. /// /// This is used for matching exponent signs; most places in Ion do not allow `+`. - pub fn match_any_sign(self) -> IonParseResult<'top, std::primitive::u8> { - one_of("-+").parse_next(self) + pub fn match_any_sign(&mut self) -> IonParseResult<'top, std::primitive::u8> { + one_of(b"-+").parse_next(self) } - pub fn match_decimal_exponent(self) -> IonParseResult<'top, (bool, TextBuffer<'top>)> { + pub fn match_decimal_exponent(&mut self) -> IonParseResult<'top, (bool, TextBuffer<'top>)> { preceded( - one_of("dD"), + one_of(b"dD"), Self::match_exponent_sign_and_one_or_more_digits, - )(self) + ) + .parse_next(self) } /// Match an optional sign (if present), digits before the decimal point, then digits after the /// decimal point (if present). - pub fn match_decimal(self) -> IonParseResult<'top, MatchedDecimal> { + pub fn match_decimal(&mut self) -> IonParseResult<'top, MatchedDecimal> { + let initial_offset = self.offset(); terminated( ( - opt(tag("-")), + opt(literal("-")), Self::match_digits_before_dot, alt(( ( - tag("."), + literal("."), opt(Self::match_zero_or_more_digits_after_dot), opt(Self::match_decimal_exponent), ) @@ -1831,7 +1862,7 @@ impl<'top> TextBuffer<'top> { }, ), // or just a d/D and exponent - Self::match_decimal_exponent.with_recognized().map( + Self::match_decimal_exponent.with_taken().map( |((exp_is_negative, exp_digits), matched)| { // Make an empty slice to represent the (absent) digits after dot let digits_after_dot = matched.slice(0, 0); @@ -1845,7 +1876,7 @@ impl<'top> TextBuffer<'top> { .map( |(maybe_sign, leading_digits, (digits_after_dot, exponent_is_negative, exp_digits))| { let is_negative = maybe_sign.is_some(); - let digits_offset = (leading_digits.offset() - self.offset()) as u16; + let digits_offset = (leading_digits.offset() - initial_offset) as u16; let digits_length = match digits_after_dot.len() { 0 => leading_digits.len() as u16, trailing_digits_length => { @@ -1858,7 +1889,7 @@ impl<'top> TextBuffer<'top> { .iter() .filter(|b| b.is_ascii_digit()) .count() as u16; - let exponent_digits_offset = (exp_digits.offset() - self.offset()) as u16; + let exponent_digits_offset = (exp_digits.offset() - initial_offset) as u16; let exponent_digits_length = exp_digits.len() as u16; MatchedDecimal::new( is_negative, @@ -1875,12 +1906,12 @@ impl<'top> TextBuffer<'top> { } /// Matches short- or long-form string. - pub fn match_string(self) -> IonParseResult<'top, MatchedString> { - alt((Self::match_short_string, Self::match_long_string))(self) + pub fn match_string(&mut self) -> IonParseResult<'top, MatchedString> { + alt((Self::match_short_string, Self::match_long_string)).parse_next(self) } /// Matches a short string. For example: `"foo"` - pub(crate) fn match_short_string(self) -> IonParseResult<'top, MatchedString> { + pub(crate) fn match_short_string(&mut self) -> IonParseResult<'top, MatchedString> { delimited(one_of('"'), Self::match_short_string_body, one_of('"')) .map(|(_matched, contains_escaped_chars)| { if contains_escaped_chars { @@ -1894,11 +1925,11 @@ impl<'top> TextBuffer<'top> { /// Returns a matched buffer and a boolean indicating whether any escaped characters were /// found in the short string. - pub(crate) fn match_short_string_body(self) -> IonParseResult<'top, (Self, bool)> { + pub(crate) fn match_short_string_body(&mut self) -> IonParseResult<'top, (Self, bool)> { Self::match_text_until_unescaped(self, b'\"', false) } - pub fn match_long_string(self) -> IonParseResult<'top, MatchedString> { + pub fn match_long_string(&mut self) -> IonParseResult<'top, MatchedString> { // This method is used at the top level and inside s-expressions. // Specific contexts that need to specify a delimiter will call // `match_long_string_with_terminating_delimiter` themselves. @@ -1909,25 +1940,28 @@ impl<'top> TextBuffer<'top> { // Don't specify a terminating delimiter -- always succeed. Self::match_nothing, Self::match_partial_long_string_delimiter, - )(self) + ) + .parse_next(self) } - pub fn match_long_string_in_struct(self) -> IonParseResult<'top, MatchedString> { + pub fn match_long_string_in_struct(&mut self) -> IonParseResult<'top, MatchedString> { Self::match_only_complete_if_terminated( "reading a long-form string in a struct", Self::match_long_string_segments, - alt((tag(","), tag("}"))), + alt((literal(","), literal("}"))), Self::match_partial_long_string_delimiter, - )(self) + ) + .parse_next(self) } - pub fn match_long_string_in_list(self) -> IonParseResult<'top, MatchedString> { + pub fn match_long_string_in_list(&mut self) -> IonParseResult<'top, MatchedString> { Self::match_only_complete_if_terminated( "reading a long-form string in a list", Self::match_long_string_segments, - alt((tag(","), tag("]"))), + alt((literal(","), literal("]"))), Self::match_partial_long_string_delimiter, - )(self) + ) + .parse_next(self) } /// Matches a parser that must be followed by input that matches `terminator`. @@ -1946,57 +1980,63 @@ impl<'top> TextBuffer<'top> { /// If not, it will return an `Err` that includes the provided `label`. pub fn match_only_complete_if_terminated( label: &'static str, - mut parser: impl Parser>, - mut terminator: impl FnMut(Self) -> IonParseResult<'top, Output3>, - mut partial: impl FnMut(Self) -> IonParseResult<'top, Output2>, - ) -> impl FnMut(Self) -> IonParseResult<'top, Output> { - move |input: Self| { + mut parser: impl IonParser<'top, Output>, + mut terminator: impl IonParser<'top, Output3>, + mut partial: impl IonParser<'top, Output2>, + ) -> impl Parser> { + move |input: &mut Self| { + // Save a copy of the original input. + let original_input = *input; // If the parser raises an error, bubble it up. - let (remaining, matched) = parser.parse_next(input)?; + let matched = parser.parse_next(input)?; // If the next thing in input is the terminator, report success. - match peek(&mut terminator)(remaining) { - Ok(_) => return Ok((remaining, matched)), - Err(ErrMode::Incomplete(_)) => return remaining.incomplete(label), + match terminator.parse_peek(input.checkpoint()) { + Ok(_) => return Ok(matched), + // Otherwise, report that the original input was incomplete. + Err(ErrMode::Incomplete(_)) => return original_input.incomplete(label), _ => { // no match } }; // Otherwise, see if the next thing in input is an indication that the input was // incomplete. - if peek(&mut partial)(remaining).is_ok() { - return remaining.incomplete(label); + if partial.parse_peek(input.checkpoint()).is_ok() { + // If so, report that the original input was incomplete. + return original_input.incomplete(label); } Err(ErrMode::Backtrack(IonParseError::Invalid( - InvalidInputError::new(remaining).with_label(label), + InvalidInputError::new(original_input).with_label(label), ))) } } /// Matches a long string comprised of any number of `'''`-enclosed segments interleaved /// with optional comments and whitespace. - pub(crate) fn match_long_string_segments(self) -> IonParseResult<'top, MatchedString> { - fold_many1( - // Parser to keep applying repeatedly - whitespace_and_then(Self::match_long_string_segment), - // Initial accumulator value: segment count and whether the string contains escaped characters - || (0usize, false), - // Function to merge the current match's information with the accumulator - |(segment_count, string_contains_escapes), - (_matched_segment, segment_contains_escapes)| { - ( - segment_count + 1, - string_contains_escapes || segment_contains_escapes, - ) - }, - ) - .map( - |(segment_count, contains_escapes)| match (segment_count, contains_escapes) { - (1, false) => MatchedString::LongSingleSegmentWithoutEscapes, - (1, true) => MatchedString::LongSingleSegmentWithEscapes, - _ => MatchedString::Long, - }, - ) + pub(crate) fn match_long_string_segments(&mut self) -> IonParseResult<'top, MatchedString> { + struct Stats(usize, bool); + + impl Accumulate for Stats { + fn initial(_capacity: Option) -> Self { + Stats(0, false) + } + + fn accumulate(&mut self, acc: bool) { + self.0 += 1; + self.1 |= acc; + } + } + + repeat(1.., |input: &mut TextBuffer<'top>| { + let (_segment, found_escape) = + whitespace_and_then(Self::match_long_string_segment).parse_next(input)?; + Ok(found_escape) + }) + .map(move |stats: Stats| match stats { + Stats(1, false) => MatchedString::LongSingleSegmentWithoutEscapes, + Stats(1, true) => MatchedString::LongSingleSegmentWithEscapes, + _ => MatchedString::Long, + }) .parse_next(self) } @@ -2015,32 +2055,32 @@ impl<'top> TextBuffer<'top> { /// /// If an error is encountered while traversing a list or struct, this method can be used to /// see if the problematic data was the beginning of another string segment. - pub fn match_partial_long_string_delimiter(self) -> IonMatchResult<'top> { - whitespace_and_then(terminated(tag("''"), eof)).parse_next(self) + pub fn match_partial_long_string_delimiter(&mut self) -> IonMatchResult<'top> { + whitespace_and_then(terminated(literal("''"), eof)).parse_next(self) } /// Matches a single long string segment enclosed by `'''` delimiters. /// Returns the match and a boolean indicating whether the body contained escape sequences. - pub fn match_long_string_segment(self) -> IonParseResult<'top, (Self, bool)> { - // If the buffer is a single quote and then EOF, it's not known whether this was a - // partial long string segment or a partial quoted symbol. - if self.bytes() == b"'" { - return self.incomplete("a long string segment"); - } - delimited(tag("'''"), Self::match_long_string_segment_body, tag("'''"))(self) + pub fn match_long_string_segment(&mut self) -> IonParseResult<'top, (Self, bool)> { + delimited( + literal("'''"), + Self::match_long_string_segment_body, + literal("'''"), + ) + .parse_next(self) } /// Matches all input up to (but not including) the first unescaped instance of `'''`. /// Returns the match and a boolean indicating whether the body contained escape sequences. - fn match_long_string_segment_body(self) -> IonParseResult<'top, (Self, bool)> { + fn match_long_string_segment_body(&mut self) -> IonParseResult<'top, (Self, bool)> { Self::match_text_until_unescaped_str(self, "'''") } /// Matches an operator symbol, which can only legally appear within an s-expression fn match_operator>( - self, + &mut self, ) -> IonParseResult<'top, LazyRawTextValue<'top, E>> { - take_while1("!#%&*+-./;<=>?@^`|~") + one_or_more(one_of(b"!#%&*+-./;<=>?@^`|~")) .map(|text: TextBuffer<'_>| LazyRawTextValue { input: text, encoded_value: EncodedTextValue::new(MatchedValue::Symbol(MatchedSymbol::Operator)), @@ -2049,17 +2089,18 @@ impl<'top> TextBuffer<'top> { } /// Matches a symbol ID (`$28`), an identifier (`foo`), or a quoted symbol (`'foo'`). - fn match_symbol(self) -> IonParseResult<'top, MatchedSymbol> { + fn match_symbol(&mut self) -> IonParseResult<'top, MatchedSymbol> { alt(( Self::match_symbol_id, Self::match_identifier, Self::match_quoted_symbol, - ))(self) + )) + .parse_next(self) } /// Matches a symbol ID (`$28`). - fn match_symbol_id(self) -> IonParseResult<'top, MatchedSymbol> { - (tag("$"), Self::match_address) + fn match_symbol_id(&mut self) -> IonParseResult<'top, MatchedSymbol> { + (literal("$"), Self::match_address) .value(MatchedSymbol::SymbolId) .parse_next(self) } @@ -2070,73 +2111,78 @@ impl<'top> TextBuffer<'top> { /// identifiers, not symbol IDs. /// * CAN have leading zeros. For example, `$0003` is the same as `$3`. // There's precedent for allowing leading zeros in ion-java, so we support it here for consistency. - fn match_address(self) -> IonParseResult<'top, usize> { + fn match_address(&mut self) -> IonParseResult<'top, usize> { // Any number of base-10 digits followed by something that is NOT an underscore. // We do this to make sure that input like `$1_02` gets parsed like an identifier; // If we didn't check for a trailing underscore, it would be a SID (`$1`) and an // identifier (`_02`). - terminated(digit1, peek(not(tag("_")))) + let initial_offset = self.offset(); + terminated(digit1, peek(not(literal("_")))) .map(|buffer: TextBuffer<'_>| { // The matched buffer is ascii base 10 digits, parsing must succeed - usize::from_str(buffer.as_utf8(self.offset()).unwrap()).unwrap() + usize::from_str(buffer.as_utf8(initial_offset).unwrap()).unwrap() }) .parse_next(self) } /// Matches items that match the syntactic definition of an identifier but which have special /// meaning. (`true`, `false`, `nan`, `null`) - pub(crate) fn match_keyword(self) -> IonMatchResult<'top> { + pub(crate) fn match_keyword(&mut self) -> IonMatchResult<'top> { terminated( - alt((tag("true"), tag("false"), tag("null"), tag("nan"))), + alt(( + literal("true"), + literal("false"), + literal("null"), + literal("nan"), + )), Self::identifier_terminator, - )(self) + ) + .parse_next(self) } /// Matches an identifier (`foo`). - pub(crate) fn match_identifier(self) -> IonParseResult<'top, MatchedSymbol> { - let (remaining, identifier_text) = ( + pub(crate) fn match_identifier(&mut self) -> IonParseResult<'top, MatchedSymbol> { + ( + not(peek(Self::match_keyword)), Self::identifier_initial_character, Self::identifier_trailing_characters, Self::identifier_terminator, ) - .recognize() - .parse_next(self)?; - if identifier_text.match_keyword().is_ok() { - return Err(ErrMode::Backtrack(IonParseError::Invalid( - InvalidInputError::new(self), - ))); - } - Ok((remaining, MatchedSymbol::Identifier)) + .value(MatchedSymbol::Identifier) + .parse_next(self) } - fn identifier_terminator(self) -> IonMatchResult<'top> { + fn identifier_terminator(&mut self) -> IonMatchResult<'top> { peek(not(Self::identifier_trailing_character)) - .recognize() + .take() .parse_next(self) } /// Matches any character that can appear at the start of an identifier. - fn identifier_initial_character(self) -> IonParseResult<'top, Self> { - alt((one_of("$_"), one_of(|b: u8| b.is_ascii_alphabetic()))) - .recognize() + fn identifier_initial_character(&mut self) -> IonParseResult<'top, Self> { + alt((one_of(b"$_"), one_of(|b: u8| b.is_ascii_alphabetic()))) + .take() .parse_next(self) } /// Matches any character that is legal in an identifier, though not necessarily at the beginning. - fn identifier_trailing_character(self) -> IonParseResult<'top, Self> { - alt((one_of("$_"), one_of(|c: u8| c.is_ascii_alphanumeric()))) - .recognize() + fn identifier_trailing_character(&mut self) -> IonParseResult<'top, Self> { + alt((one_of(b"$_"), one_of(|c: u8| c.is_ascii_alphanumeric()))) + .take() .parse_next(self) } /// Matches characters that are legal in an identifier, though not necessarily at the beginning. - fn identifier_trailing_characters(self) -> IonParseResult<'top, Self> { - take_while0(|b: u8| b.is_ascii_alphanumeric() || b"$_".contains(&b))(self) + fn identifier_trailing_characters(&mut self) -> IonParseResult<'top, Self> { + zero_or_more(one_of(|b: u8| { + b.is_ascii_alphanumeric() || b"$_".contains(&b) + })) + .parse_next(self) } /// Matches a quoted symbol (`'foo'`). - fn match_quoted_symbol(self) -> IonParseResult<'top, MatchedSymbol> { - delimited(tag("'"), Self::match_quoted_symbol_body, tag("'")) + fn match_quoted_symbol(&mut self) -> IonParseResult<'top, MatchedSymbol> { + delimited(literal("'"), Self::match_quoted_symbol_body, literal("'")) .map(|(_matched, contains_escaped_chars)| { if contains_escaped_chars { MatchedSymbol::QuotedWithEscapes @@ -2149,14 +2195,14 @@ impl<'top> TextBuffer<'top> { /// Returns a matched buffer and a boolean indicating whether any escaped characters were /// found in the short string. - fn match_quoted_symbol_body(self) -> IonParseResult<'top, (Self, bool)> { + fn match_quoted_symbol_body(&mut self) -> IonParseResult<'top, (Self, bool)> { Self::match_text_until_unescaped(self, b'\'', false) } /// A helper method for matching bytes until the specified delimiter. Ignores any byte /// (including the delimiter) that is prefaced by the escape character `\`. fn match_text_until_unescaped( - self, + &mut self, delimiter: u8, allow_unescaped_newlines: bool, ) -> IonParseResult<'top, (Self, bool)> { @@ -2183,8 +2229,8 @@ impl<'top> TextBuffer<'top> { } if byte == delimiter { let matched = self.slice(0, index); - let remaining = self.slice_to_end(index); - return Ok((remaining, (matched, contains_escaped_chars))); + self.consume(index); + return Ok((matched, contains_escaped_chars)); } // If this is a control character, make sure it's a legal one. if byte < 0x20 { @@ -2202,7 +2248,7 @@ impl<'top> TextBuffer<'top> { #[cold] fn validate_string_control_character( - self, + &mut self, byte: u8, index: usize, allow_unescaped_newlines: bool, @@ -2210,57 +2256,62 @@ impl<'top> TextBuffer<'top> { if byte == b'\n' && !allow_unescaped_newlines { let error = InvalidInputError::new(self.slice_to_end(index)) .with_description("unescaped newlines are not allowed in short string literals"); - return Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))); + return Err(ErrMode::Cut(IonParseError::Invalid(error))); } - if !WHITESPACE_CHARACTERS_AS_STR.as_bytes().contains(&byte) { + if !WHITESPACE_BYTES.contains(&byte) { let error = InvalidInputError::new(self.slice_to_end(index)) .with_description("unescaped control characters are not allowed in text literals"); - return Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))); + return Err(ErrMode::Cut(IonParseError::Invalid(error))); } - Ok((self.slice_to_end(1), ())) + Ok(()) } /// A helper method for matching bytes until the specified delimiter. Ignores any byte /// that is prefaced by the escape character `\`. /// /// The specified delimiter cannot be empty. - fn match_text_until_unescaped_str(self, delimiter: &str) -> IonParseResult<'top, (Self, bool)> { + fn match_text_until_unescaped_str( + &mut self, + delimiter: &str, + ) -> IonParseResult<'top, (Self, bool)> { // The first byte in the delimiter let delimiter_head = delimiter.as_bytes()[0]; // Whether we've encountered any escapes while looking for the delimiter let mut contained_escapes = false; // The input left to search - let mut remaining = self; + let mut remaining = self.checkpoint(); loop { + // '''foo\rbar\r\nbaz''' + // foo\nbar\nbaz + // Look for the first unescaped instance of the delimiter's head. // If the input doesn't contain one, this will return an `Incomplete`. // `match_text_until_escaped` does NOT include the delimiter byte in the match, // so `remaining_after_match` starts at the delimiter byte. - let (remaining_after_match, (_, segment_contained_escapes)) = + let (_matched_input, segment_contained_escapes) = remaining.match_text_until_unescaped(delimiter_head, true)?; contained_escapes |= segment_contained_escapes; - remaining = remaining_after_match; // If the remaining input starts with the complete delimiter, it's a match. if remaining.bytes().starts_with(delimiter.as_bytes()) { let relative_match_end = remaining.offset() - self.offset(); let matched_input = self.slice(0, relative_match_end); - let remaining_input = self.slice_to_end(relative_match_end); - return Ok((remaining_input, (matched_input, contained_escapes))); + self.consume(relative_match_end); + return Ok((matched_input, contained_escapes)); } else { // Otherwise, advance by one and try again. - remaining = remaining.slice_to_end(1); + remaining.consume(1); } } } /// Matches a single base-10 digit, 0-9. - fn match_any_digit(self) -> IonParseResult<'top, std::primitive::u8> { - one_of(|b: u8| b.is_ascii_digit())(self) + fn match_any_digit(&mut self) -> IonParseResult<'top, std::primitive::u8> { + one_of(|b: u8| b.is_ascii_digit()).parse_next(self) } /// Matches a timestamp of any precision. - pub fn match_timestamp(self) -> IonParseResult<'top, MatchedTimestamp> { + pub fn match_timestamp(&mut self) -> IonParseResult<'top, MatchedTimestamp> { alt(( Self::match_timestamp_y, Self::match_timestamp_ym, @@ -2268,45 +2319,46 @@ impl<'top> TextBuffer<'top> { Self::match_timestamp_ymd_hm, Self::match_timestamp_ymd_hms, Self::match_timestamp_ymd_hms_fractional, - ))(self) + )) + .parse_next(self) } /// Matches a timestamp with year precision. - fn match_timestamp_y(self) -> IonParseResult<'top, MatchedTimestamp> { + fn match_timestamp_y(&mut self) -> IonParseResult<'top, MatchedTimestamp> { terminated( Self::match_timestamp_year, - (tag("T"), Self::peek_stop_character), + (literal("T"), Self::peek_stop_character), ) .map(|_year| MatchedTimestamp::new(TimestampPrecision::Year)) .parse_next(self) } /// Matches a timestamp with month precision. - fn match_timestamp_ym(self) -> IonParseResult<'top, MatchedTimestamp> { + fn match_timestamp_ym(&mut self) -> IonParseResult<'top, MatchedTimestamp> { terminated( (Self::match_timestamp_year, Self::match_timestamp_month), - (tag("T"), Self::peek_stop_character), + (literal("T"), Self::peek_stop_character), ) .map(|(_year, _month)| MatchedTimestamp::new(TimestampPrecision::Month)) .parse_next(self) } /// Matches a timestamp with day precision. - fn match_timestamp_ymd(self) -> IonParseResult<'top, MatchedTimestamp> { + fn match_timestamp_ymd(&mut self) -> IonParseResult<'top, MatchedTimestamp> { terminated( ( Self::match_timestamp_year, Self::match_timestamp_month, Self::match_timestamp_day, ), - (opt(tag("T")), Self::peek_stop_character), + (opt(literal("T")), Self::peek_stop_character), ) .map(|_| MatchedTimestamp::new(TimestampPrecision::Day)) .parse_next(self) } /// Matches a timestamp with hour-and-minute precision. - fn match_timestamp_ymd_hm(self) -> IonParseResult<'top, MatchedTimestamp> { + fn match_timestamp_ymd_hm(&mut self) -> IonParseResult<'top, MatchedTimestamp> { terminated( ( Self::match_timestamp_year, @@ -2324,7 +2376,7 @@ impl<'top> TextBuffer<'top> { } /// Matches a timestamp with second precision. - fn match_timestamp_ymd_hms(self) -> IonParseResult<'top, MatchedTimestamp> { + fn match_timestamp_ymd_hms(&mut self) -> IonParseResult<'top, MatchedTimestamp> { terminated( ( Self::match_timestamp_year, @@ -2343,7 +2395,7 @@ impl<'top> TextBuffer<'top> { } /// Matches a timestamp with second precision, including a fractional seconds component. - fn match_timestamp_ymd_hms_fractional(self) -> IonParseResult<'top, MatchedTimestamp> { + fn match_timestamp_ymd_hms_fractional(&mut self) -> IonParseResult<'top, MatchedTimestamp> { terminated( ( Self::match_timestamp_year, @@ -2363,184 +2415,194 @@ impl<'top> TextBuffer<'top> { } /// Matches the year component of a timestamp. - fn match_timestamp_year(self) -> IonMatchResult<'top> { - take_while_m_n(4, 4, |c: u8| c.is_ascii_digit())(self) + fn match_timestamp_year(&mut self) -> IonMatchResult<'top> { + n_times(4, one_of(|c: u8| c.is_ascii_digit())).parse_next(self) } /// Matches the month component of a timestamp, including a leading `-`. - fn match_timestamp_month(self) -> IonMatchResult<'top> { + fn match_timestamp_month(&mut self) -> IonMatchResult<'top> { preceded( - tag("-"), + literal("-"), alt(( - (one_of('0'), one_of("123456789")), - (one_of('1'), one_of("012")), + (one_of('0'), one_of(b"123456789")), + (one_of('1'), one_of(b"012")), )) - .recognize(), - )(self) + .take(), + ) + .parse_next(self) } - fn match_timestamp_day2(self) -> IonMatchResult<'top> { - tag("123").parse_next(self) + fn match_timestamp_day2(&mut self) -> IonMatchResult<'top> { + literal("123").parse_next(self) } /// Matches the day component of a timestamp, including a leading `-`. - fn match_timestamp_day(self) -> IonMatchResult<'top> { + fn match_timestamp_day(&mut self) -> IonMatchResult<'top> { preceded( - tag("-"), + literal("-"), alt(( - (tag(b"0"), one_of(b"123456789".as_slice())), + (literal(b"0"), one_of(b"123456789".as_slice())), // pair(one_of([b'1' as u8, b'2' as u8]), Self::match_any_digit), - (one_of(b"12".as_slice()).recognize(), Self::match_any_digit), - (tag(b"3"), one_of(b"01".as_slice())), + (one_of(b"12".as_slice()).take(), Self::match_any_digit), + (literal(b"3"), one_of(b"01".as_slice())), )) - .recognize(), - )(self) + .take(), + ) + .parse_next(self) } /// Matches a leading `T`, a two-digit hour component of a timestamp, a delimiting ':', and a /// two-digit minute component. fn match_timestamp_hour_and_minute( - self, + &mut self, ) -> IonParseResult<'top, (TextBuffer<'top>, TextBuffer<'top>)> { preceded( - tag("T"), + literal("T"), separated_pair( // Hour alt(( - (one_of("01").recognize(), Self::match_any_digit), - (tag(b"2"), one_of("0123")), + (one_of(b"01").take(), Self::match_any_digit), + (literal(b"2"), one_of(b"0123")), )) - .recognize(), + .take(), // Delimiter - tag(":"), + literal(":"), // Minutes - (one_of("012345"), Self::match_any_digit).recognize(), + (one_of(b"012345"), Self::match_any_digit).take(), ), - )(self) + ) + .parse_next(self) } /// Matches a leading `:`, and any two-digit second component from `00` to `59` inclusive. - fn match_timestamp_seconds(self) -> IonMatchResult<'top> { + fn match_timestamp_seconds(&mut self) -> IonMatchResult<'top> { preceded( - tag(":"), - (one_of("012345"), Self::match_any_digit).recognize(), - )(self) + literal(":"), + (one_of(b"012345"), Self::match_any_digit).take(), + ) + .parse_next(self) } /// Matches the fractional seconds component of a timestamp, including a leading `.`. - fn match_timestamp_fractional_seconds(self) -> IonMatchResult<'top> { - preceded(tag("."), digit1)(self) + fn match_timestamp_fractional_seconds(&mut self) -> IonMatchResult<'top> { + preceded(literal("."), digit1).parse_next(self) } /// Matches a timestamp offset of any format. - fn match_timestamp_offset(self) -> IonParseResult<'top, MatchedTimestampOffset> { + fn match_timestamp_offset(&mut self) -> IonParseResult<'top, MatchedTimestampOffset> { alt(( - tag("Z").value(MatchedTimestampOffset::Zulu), - tag("+00:00").value(MatchedTimestampOffset::Zulu), - tag("-00:00").value(MatchedTimestampOffset::Unknown), - (one_of("-+"), Self::match_timestamp_offset_hours_and_minutes).map( - |(sign, (_hours, _minutes))| { + literal("Z").value(MatchedTimestampOffset::Zulu), + literal("+00:00").value(MatchedTimestampOffset::Zulu), + literal("-00:00").value(MatchedTimestampOffset::Unknown), + ( + one_of(b"-+"), + Self::match_timestamp_offset_hours_and_minutes, + ) + .map(|(sign, (_hours, _minutes))| { if sign == b'-' { MatchedTimestampOffset::NegativeHoursAndMinutes } else { MatchedTimestampOffset::PositiveHoursAndMinutes } - }, - ), - ))(self) + }), + )) + .parse_next(self) } /// Matches a timestamp offset encoded as a two-digit hour, a delimiting `:`, and a two-digit /// minute. - fn match_timestamp_offset_hours_and_minutes(self) -> IonParseResult<'top, (Self, Self)> { + fn match_timestamp_offset_hours_and_minutes(&mut self) -> IonParseResult<'top, (Self, Self)> { separated_pair( // Hour alt(( - (one_of("01").recognize(), Self::match_any_digit), - (tag(b"2"), one_of("0123")), + (one_of(b"01").take(), Self::match_any_digit), + (literal(b"2"), one_of(b"0123")), )) - .recognize(), + .take(), // Delimiter - tag(":"), + literal(":"), // Minutes - (one_of("012345"), Self::match_any_digit).recognize(), - )(self) + (one_of(b"012345"), Self::match_any_digit).take(), + ) + .parse_next(self) } /// Matches a complete blob, including the opening `{{` and closing `}}`. - pub fn match_blob(self) -> IonParseResult<'top, MatchedBlob> { + pub fn match_blob(&mut self) -> IonParseResult<'top, MatchedBlob> { + let initial_offset = self.offset(); delimited( - tag("{{"), + literal("{{"), // Only whitespace (not comments) can appear within the blob Self::match_base64_content, - preceded(Self::match_optional_whitespace, tag("}}")), + preceded(Self::match_optional_whitespace, literal("}}")), ) .map(|base64_data| { - MatchedBlob::new(base64_data.offset() - self.offset(), base64_data.len()) + MatchedBlob::new(base64_data.offset() - initial_offset, base64_data.len()) }) .parse_next(self) } /// Matches a clob of either short- or long-form syntax. - pub fn match_clob(self) -> IonParseResult<'top, MatchedClob> { + pub fn match_clob(&mut self) -> IonParseResult<'top, MatchedClob> { delimited( - tag("{{"), + literal("{{"), preceded( Self::match_optional_whitespace, alt(( Self::match_short_clob_body.value(MatchedClob::Short), - preceded(peek(tag("'''")), Self::match_long_clob_body).value(MatchedClob::Long), + preceded(peek(literal("'''")), Self::match_long_clob_body) + .value(MatchedClob::Long), )), ), - preceded(Self::match_optional_whitespace, tag("}}")), - )(self) + preceded(Self::match_optional_whitespace, literal("}}")), + ) + .parse_next(self) } /// Matches the body (inside the `{{` and `}}`) of a short-form clob. - fn match_short_clob_body(self) -> IonMatchResult<'top> { - let (remaining, (_matched_string, body)) = Self::match_short_string - .with_recognized() - .parse_next(self)?; + fn match_short_clob_body(&mut self) -> IonMatchResult<'top> { + let (_matched_string, body) = Self::match_short_string.with_taken().parse_next(self)?; body.validate_clob_text()?; - Ok((remaining, body)) + Ok(body) } /// Matches the body (inside the `{{` and `}}`) of a long-form clob. - fn match_long_clob_body(self) -> IonMatchResult<'top> { - let (remaining, body) = Self::match_only_complete_if_terminated( + fn match_long_clob_body(&mut self) -> IonMatchResult<'top> { + let body = Self::match_only_complete_if_terminated( "reading a long-form clob", one_or_more(preceded( Self::match_optional_whitespace, Self::match_long_clob_body_segment, )) - .recognize(), - preceded(Self::match_optional_whitespace, tag(r#"}}"#)), - preceded(Self::match_optional_whitespace, tag("''")), - )(self)?; + .take(), + preceded(Self::match_optional_whitespace, literal("}}")), + preceded(Self::match_optional_whitespace, literal("''")), + ) + .parse_next(self)?; - Ok((remaining, body)) + Ok(body) } /// Matches a single segment of a long-form clob's content. - fn match_long_clob_body_segment(self) -> IonMatchResult<'top> { - let (remaining, (_matched_string, body)) = Self::match_long_string_segment - .with_recognized() + fn match_long_clob_body_segment(&mut self) -> IonMatchResult<'top> { + let (_matched_string, body) = Self::match_long_string_segment + .with_taken() .parse_next(self)?; body.validate_clob_text()?; - Ok((remaining, body)) + Ok(body) } /// Returns an error if the buffer contains any byte that is not legal inside a clob. - fn validate_clob_text(self) -> IonMatchResult<'top> { + fn validate_clob_text(&self) -> IonParseResult<'top, ()> { for byte in self.bytes().iter().copied() { if !Self::byte_is_legal_clob_ascii(byte) { let message = format!("found an illegal byte '{:0x}' in clob", byte); - let error = InvalidInputError::new(self).with_description(message); + let error = InvalidInputError::new(*self).with_description(message); return Err(ErrMode::Cut(IonParseError::Invalid(error))); } } // Return success without consuming - Ok((self, self.slice(0, 0))) + Ok(()) } /// Returns `false` if the specified byte cannot appear unescaped in a clob. @@ -2550,24 +2612,23 @@ impl<'top> TextBuffer<'top> { // "characters >= 0x20", but that excludes lots of whitespace characters that are < 0x20. // Some say "displayable ASCII", but DEL (0x7F) is shown to be legal in one of the ion-tests. // The definition used here has largely been inferred from the contents of `ion-tests`. - b.is_ascii() - && (u32::from(b) >= 0x20 || WHITESPACE_CHARACTERS_AS_STR.as_bytes().contains(&b)) + b.is_ascii() && (u32::from(b) >= 0x20 || WHITESPACE_BYTES.contains(&b)) } /// Matches the base64 content within a blob. Ion allows the base64 content to be broken up with /// whitespace, so the matched input region may need to be stripped of whitespace before /// the data can be decoded. - fn match_base64_content(self) -> IonMatchResult<'top> { + fn match_base64_content(&mut self) -> IonMatchResult<'top> { ( zero_or_more(( Self::match_optional_whitespace, - alt((alphanumeric1, take_while1("+/"))), + alt((alphanumeric1, one_of(b"+/").take())), )), opt(preceded( Self::match_optional_whitespace, - alt((tag("=="), tag("="))), + alt((literal("=="), literal("="))), )), ) - .recognize() + .take() .parse_next(self) } @@ -2607,16 +2668,26 @@ impl<'top> TextBuffer<'top> { // } // } +pub trait IonParser<'top, O>: Parser, O, IonParseError<'top>> { + // No additional functionality, this is just a trait alias +} + +impl<'data, O, P> IonParser<'data, O> for P where + P: Parser, O, IonParseError<'data>> +{ +} + impl SliceLen for TextBuffer<'_> { fn slice_len(&self) -> usize { self.len() } } -impl<'data> winnow::stream::Stream for TextBuffer<'data> { +impl<'data> Stream for TextBuffer<'data> { type Token = u8; type Slice = Self; - type IterOffsets = <&'data [u8] as winnow::stream::Stream>::IterOffsets; + type IterOffsets = <&'data [u8] as Stream>::IterOffsets; + type Checkpoint = Self; fn iter_offsets(&self) -> Self::IterOffsets { self.data.iter_offsets() @@ -2626,9 +2697,10 @@ impl<'data> winnow::stream::Stream for TextBuffer<'data> { self.data.eof_offset() } - fn next_token(&self) -> Option<(Self, Self::Token)> { - let first_byte = *self.data.first()?; - Some((self.slice_to_end(1), first_byte)) + fn next_token(&mut self) -> Option { + let byte = *self.data.first()?; + self.consume(1); + Some(byte) } fn offset_for

(&self, predicate: P) -> Option @@ -2642,8 +2714,22 @@ impl<'data> winnow::stream::Stream for TextBuffer<'data> { self.data.offset_at(tokens) } - fn next_slice(&self, offset: usize) -> (Self, Self::Slice) { - (self.slice_to_end(offset), self.slice(0, offset)) + fn next_slice(&mut self, offset: usize) -> Self::Slice { + let head = self.slice(0, offset); + self.consume(offset); + head + } + + fn checkpoint(&self) -> Self::Checkpoint { + *self + } + + fn reset(&mut self, checkpoint: &Self::Checkpoint) { + *self = *checkpoint; + } + + fn raw(&self) -> &dyn Debug { + &self.data } } @@ -2694,35 +2780,23 @@ impl<'a> winnow::stream::Compare<&'a str> for TextBuffer<'_> { fn compare(&self, t: &'a str) -> CompareResult { self.data.compare(t.as_bytes()) } - - fn compare_no_case(&self, t: &'a str) -> CompareResult { - self.data.compare_no_case(t.as_bytes()) - } } impl<'a> winnow::stream::Compare<&'a [u8]> for TextBuffer<'_> { fn compare(&self, t: &'a [u8]) -> CompareResult { self.data.compare(t) } - - fn compare_no_case(&self, t: &'a [u8]) -> CompareResult { - self.data.compare_no_case(t) - } } impl<'a, const N: usize> winnow::stream::Compare<&'a [u8; N]> for TextBuffer<'_> { fn compare(&self, t: &'a [u8; N]) -> CompareResult { self.data.compare(t.as_slice()) } - - fn compare_no_case(&self, t: &'a [u8; N]) -> CompareResult { - self.data.compare_no_case(t.as_slice()) - } } impl winnow::stream::Offset for TextBuffer<'_> { - fn offset_to(&self, second: &Self) -> usize { - second.offset - self.offset + fn offset_from(&self, start: &Self) -> usize { + self.offset - start.offset } } @@ -2738,9 +2812,9 @@ impl winnow::stream::Offset for TextBuffer<'_> { // } // } -impl winnow::stream::FindSlice<&str> for TextBuffer<'_> { - fn find_slice(&self, slice: &str) -> Option { - self.data.find_slice(slice) +impl FindSlice<&str> for TextBuffer<'_> { + fn find_slice(&self, substr: &str) -> Option> { + self.data.find_slice(substr) } } @@ -2826,7 +2900,7 @@ pub fn zero_or_more<'data, P, O>( where P: Parser, O, IonParseError<'data>>, { - many0::<_, _, usize, _, _>(parser).recognize() + repeat::<_, _, (), _, _>(.., parser).take() } pub fn one_or_more<'data, P, O>( @@ -2835,7 +2909,17 @@ pub fn one_or_more<'data, P, O>( where P: Parser, O, IonParseError<'data>>, { - many1::<_, _, usize, _, _>(parser).recognize() + repeat::<_, _, (), _, _>(1.., parser).take() +} + +pub fn n_times<'data, P, O>( + n: usize, + parser: P, +) -> impl Parser, TextBuffer<'data>, IonParseError<'data>> +where + P: Parser, O, IonParseError<'data>>, +{ + repeat::<_, _, (), _, _>(n, parser).take() } /// Augments a given parser such that it returns the matched value and the number of input bytes @@ -2846,15 +2930,15 @@ fn match_and_length<'data, P, O>( where P: Parser, O, IonParseError<'data>>, { - move |input: TextBuffer<'data>| { + move |input: &mut TextBuffer<'data>| { let offset_before = input.offset(); - let (remaining, matched) = match parser.parse_next(input) { - Ok((remaining, matched)) => (remaining, matched), + let matched = match parser.parse_next(input) { + Ok(matched) => matched, Err(e) => return Err(e), }; - let offset_after = remaining.offset(); + let offset_after = input.offset(); let match_length = offset_after - offset_before; - Ok((remaining, (matched, match_length))) + Ok((matched, match_length)) } } @@ -2866,15 +2950,15 @@ pub(crate) fn match_and_span<'data, P, O>( where P: Parser, O, IonParseError<'data>>, { - move |input: TextBuffer<'data>| { + move |input: &mut TextBuffer<'data>| { let offset_before = input.offset(); - let (remaining, matched) = match parser.parse_next(input) { - Ok((remaining, matched)) => (remaining, matched), + let matched = match parser.parse_next(input) { + Ok(matched) => matched, Err(e) => return Err(e), }; - let offset_after = remaining.offset(); + let offset_after = input.offset(); let span = offset_before..offset_after; - Ok((remaining, (matched, span))) + Ok((matched, span)) } } @@ -2896,6 +2980,7 @@ mod tests { use crate::lazy::expanded::compiler::TemplateCompiler; use crate::lazy::expanded::template::{ParameterCardinality, ParameterEncoding}; use crate::lazy::expanded::EncodingContext; + use crate::{AnyEncoding, Reader}; use rstest::rstest; /// Stores an input string that can be tested against a given parser. @@ -2914,6 +2999,13 @@ mod tests { } } + fn new_1_0(input: &str) -> Self { + MatchTest { + input: input.to_string(), + context: EncodingContext::for_ion_version(IonVersion::v1_0), + } + } + fn register_macro(&mut self, text: &str) -> &mut Self { let new_macro = TemplateCompiler::compile_from_source(self.context.get_ref(), text).unwrap(); @@ -2928,8 +3020,8 @@ mod tests { where P: Parser, O, IonParseError<'data>>, { - let buffer = TextBuffer::new(self.context.get_ref(), self.input.as_bytes(), true); - match_length(parser).parse_next(buffer) + let mut buffer = TextBuffer::new(self.context.get_ref(), self.input.as_bytes(), true); + match_length(parser).parse_next(&mut buffer) } fn expect_match<'data, P, O>(&'data self, parser: P) @@ -2937,7 +3029,7 @@ mod tests { P: Parser, O, IonParseError<'data>>, { let result = self.try_match(parser); - let (_remaining, match_length) = result.unwrap_or_else(|e| { + let match_length = result.unwrap_or_else(|e| { panic!("Unexpected parse fail for input <{}>\n{e}", self.input) }); // Inputs have a trailing newline and `0` that should _not_ be part of the match @@ -2959,7 +3051,7 @@ mod tests { // input will be rejected outright. match result { - Ok((_remaining, match_length)) => { + Ok(match_length) => { assert_ne!( match_length, self.input.len(), @@ -2985,7 +3077,7 @@ mod tests { let result = self.try_match(parser); match result { - Ok((_remaining, match_length)) => { + Ok(match_length) => { assert_ne!( match_length, self.input.len(), @@ -3014,7 +3106,7 @@ mod tests { $( #[test] fn $expect() { - $(MatchTest::new($input.trim()).$expect(match_length(TextBuffer::$parser));) + $(MatchTest::new_1_0($input.trim()).$expect(match_length(TextBuffer::$parser));) + } )+ @@ -3539,10 +3631,33 @@ mod tests { fn test_match_text_until_unescaped_str() { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); - let input = TextBuffer::new(context, r" foo bar \''' baz''' quux ".as_bytes(), true); - let (_remaining, (matched, contains_escapes)) = - input.match_text_until_unescaped_str(r#"'''"#).unwrap(); + let mut input = TextBuffer::new(context, r" foo bar \''' baz''' quux ".as_bytes(), true); + let (matched, contains_escapes) = input.match_text_until_unescaped_str(r#"'''"#).unwrap(); assert_eq!(matched.as_text().unwrap(), " foo bar \\''' baz"); assert!(contains_escapes); } + + #[test] + fn expect_foo() { + MatchTest::new_1_0("\"hello\"").expect_match(match_length(TextBuffer::match_string)); + } + + #[test] + fn expect_long_foo() { + MatchTest::new_1_0("'''long hello'''").expect_match(match_length(TextBuffer::match_string)); + } + + #[test] + fn expect_bootstrap() -> IonResult<()> { + // MatchTest::new("\"foo\"").expect_match(match_length(TextBuffer::match_string)); + let mut reader = Reader::new(AnyEncoding, "()")?; + let value = reader.expect_next()?; + let _ = value.read()?.expect_sexp().unwrap(); + Ok(()) + } + + #[test] + fn expect_clob() { + MatchTest::new_1_0(r#"{{''''''}}"#).expect_match(match_length(TextBuffer::match_clob)); + } } diff --git a/src/lazy/text/matched.rs b/src/lazy/text/matched.rs index 10278bcc..d14a2e95 100644 --- a/src/lazy/text/matched.rs +++ b/src/lazy/text/matched.rs @@ -28,10 +28,10 @@ use bumpalo::Bump as BumpAllocator; use ice_code::ice as cold_path; use num_traits::Zero; use smallvec::SmallVec; -use winnow::branch::alt; -use winnow::bytes::tag; -use winnow::sequence::preceded; -use winnow::stream::AsChar; +use winnow::combinator::alt; +use winnow::combinator::preceded; +use winnow::stream::{AsChar, Stream}; +use winnow::token::literal; use winnow::Parser; use crate::decimal::coefficient::Coefficient; @@ -456,12 +456,12 @@ impl MatchedString { // Iterate over the string segments using the match_long_string_segment parser. // This is the same parser that matched the input initially, which means that the only // reason it wouldn't succeed here is if the input is empty, meaning we're done reading. - while let Ok((remaining_after_match, (segment_body, _has_escapes))) = preceded( + while let Ok((segment_body, _has_escapes)) = preceded( TextBuffer::match_optional_comments_and_whitespace, TextBuffer::match_long_string_segment, - )(remaining) + ) + .parse_next(&mut remaining) { - remaining = remaining_after_match; replace_escapes_with_byte_values( segment_body, &mut sanitized, @@ -480,7 +480,7 @@ impl MatchedString { matched_input: TextBuffer<'data>, ) -> IonResult> { // Take a slice of the input that ignores the first and last bytes, which are quotes. - let body = matched_input.slice(1, matched_input.len() - 2); + let body = matched_input.slice(1, dbg!(matched_input.len()) - 2); // There are no escaped characters, so we can just validate the string in-place. let text = body.as_text()?; let str_ref = StrRef::from(text); @@ -750,15 +750,15 @@ fn complete_surrogate_pair<'data>( input: TextBuffer<'data>, ) -> IonResult> { let mut match_next_codepoint = preceded( - tag("\\"), + literal("\\"), alt(( - preceded(tag("x"), TextBuffer::match_n_hex_digits(2)), - preceded(tag("u"), TextBuffer::match_n_hex_digits(4)), - preceded(tag("U"), TextBuffer::match_n_hex_digits(8)), + preceded(literal("x"), TextBuffer::match_n_hex_digits(2)), + preceded(literal("u"), TextBuffer::match_n_hex_digits(4)), + preceded(literal("U"), TextBuffer::match_n_hex_digits(8)), )), ); - let (remaining, hex_digits) = match match_next_codepoint.parse_next(input) { - Ok((remaining, hex_digits)) => (remaining, hex_digits), + let (remaining, hex_digits) = match match_next_codepoint.parse_peek(input) { + Ok(hex_digits) => hex_digits, Err(_) => { return { let error = @@ -1173,7 +1173,7 @@ impl MatchedClob { // Use the existing short string body parser to identify all of the bytes up to the // unescaped closing `"`. This parser succeeded once during matching, so we know it will // succeed again here; it's safe to unwrap(). - let (_, (body, _has_escapes)) = remaining.match_short_string_body().unwrap(); + let (body, _has_escapes) = remaining.checkpoint().match_short_string_body().unwrap(); // There are escaped characters. We need to build a new version of our string // that replaces the escaped characters with their corresponding bytes. let mut sanitized = BumpVec::with_capacity_in(body.len(), allocator); @@ -1205,7 +1205,8 @@ impl MatchedClob { while let Ok((remaining_after_match, (segment_body, _has_escapes))) = preceded( TextBuffer::match_optional_whitespace, TextBuffer::match_long_string_segment, - )(remaining) + ) + .parse_peek(remaining) { remaining = remaining_after_match; replace_escapes_with_byte_values( @@ -1223,11 +1224,11 @@ impl MatchedClob { #[cfg(test)] mod tests { - use crate::lazy::bytes_ref::BytesRef; use crate::lazy::expanded::{EncodingContext, EncodingContextRef}; use crate::lazy::text::buffer::TextBuffer; use crate::{Decimal, Int, IonResult, Timestamp}; + use winnow::stream::Stream; #[test] fn read_ints() -> IonResult<()> { @@ -1236,7 +1237,7 @@ mod tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); let buffer = TextBuffer::new(context, data.as_bytes(), true); - let (_remaining, matched) = buffer.match_int().unwrap(); + let matched = buffer.checkpoint().match_int().unwrap(); let actual = matched.read(buffer).unwrap(); assert_eq!( actual, expected, @@ -1267,11 +1268,10 @@ mod tests { #[test] fn read_timestamps() -> IonResult<()> { fn expect_timestamp(data: &str, expected: Timestamp) { - let data = format!("{data} "); // Append a space let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); let buffer = TextBuffer::new(context, data.as_bytes(), true); - let (_remaining, matched) = buffer.match_timestamp().unwrap(); + let matched = buffer.checkpoint().match_timestamp().unwrap(); let actual = matched.read(buffer).unwrap(); assert_eq!( actual, expected, @@ -1374,13 +1374,13 @@ mod tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); let buffer = TextBuffer::new(context, data.as_bytes(), true); - let result = buffer.match_decimal(); + let result = buffer.checkpoint().match_decimal(); assert!( result.is_ok(), "Unexpected match error for input: '{data}': {:?}", result ); - let (_remaining, matched) = buffer.match_decimal().expect("match decimal"); + let matched = buffer.checkpoint().match_decimal().expect("match decimal"); let result = matched.read(buffer); assert!( result.is_ok(), @@ -1453,11 +1453,10 @@ mod tests { #[test] fn read_blobs() -> IonResult<()> { fn expect_blob(data: &str, expected: &str) { - let data = format!("{data} "); // Append a space let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); let buffer = TextBuffer::new(context, data.as_bytes(), true); - let (_remaining, matched) = buffer.match_blob().unwrap(); + let matched = buffer.checkpoint().match_blob().unwrap(); let actual = matched.read(context.allocator(), buffer).unwrap(); assert_eq!( actual, @@ -1492,13 +1491,11 @@ mod tests { // For the sake of these tests, we're going to append one more value (`0`) to the input // stream so the parser knows that the long-form strings are complete. We then trim // our fabricated value off of the input before reading. - let data = format!("{data}\n0"); let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes(), true); - let (_remaining, matched) = buffer.match_string().unwrap(); - let matched_input = buffer.slice(0, buffer.len() - 2); - let actual = matched.read(context.allocator(), matched_input).unwrap(); + let buffer = TextBuffer::new(context, dbg!(data).as_bytes(), true); + let matched = dbg!(buffer.clone().match_string().unwrap()); + let actual = matched.read(context.allocator(), buffer).unwrap(); assert_eq!( actual, expected, "Actual didn't match expected for input '{}'.\n{:?}\n!=\n{:?}", @@ -1528,6 +1525,37 @@ mod tests { Ok(()) } + #[test] + fn read_strings_foo() -> IonResult<()> { + fn expect_string(data: &str, expected: &str) { + // Ordinarily the reader is responsible for indicating that the input is complete. + // For the sake of these tests, we're going to append one more value (`0`) to the input + // stream so the parser knows that the long-form strings are complete. We then trim + // our fabricated value off of the input before reading. + let encoding_context = EncodingContext::empty(); + let context = encoding_context.get_ref(); + let buffer = TextBuffer::new(context, dbg!(data).as_bytes(), true); + let matched = dbg!(buffer.clone().match_string().unwrap()); + let actual = matched.read(context.allocator(), buffer).unwrap(); + assert_eq!( + actual, expected, + "Actual didn't match expected for input '{}'.\n{:?}\n!=\n{:?}", + data, actual, expected + ); + } + + let tests = [ + // In long-form strings, all unescaped newlines are converted to `\n`. + ("'''foo\rbar\r\nbaz'''", "foo\nbar\nbaz"), + ]; + + for (input, expected) in tests { + expect_string(input, expected); + } + + Ok(()) + } + #[test] fn read_clobs() -> IonResult<()> { fn read_clob<'a>( @@ -1537,7 +1565,7 @@ mod tests { let buffer = TextBuffer::new(context, data.as_bytes(), true); // All `read_clob` usages should be accepted by the matcher, so we can `unwrap()` the // call to `match_clob()`. - let (_remaining, matched) = buffer.match_clob().unwrap(); + let matched = buffer.checkpoint().match_clob().unwrap(); // The resulting buffer slice may be rejected during reading. matched.read(context.allocator(), buffer) } diff --git a/src/lazy/text/parse_result.rs b/src/lazy/text/parse_result.rs index 8cfa7d6c..7788ab14 100644 --- a/src/lazy/text/parse_result.rs +++ b/src/lazy/text/parse_result.rs @@ -14,8 +14,9 @@ use crate::result::{DecodingError, IonFailure}; use crate::{IonError, IonResult}; use std::borrow::Cow; use std::fmt::{Debug, Display}; -use winnow::error::{ErrMode, Error as NomError, ErrorKind, ParseError}; -use winnow::IResult; +use winnow::error::{ErrMode, ErrorKind, ParseError, ParserError}; +use winnow::stream::Stream; +use winnow::PResult; /// A type alias for a [`IResult`] whose input is a `TextBuffer` and whose error type is an /// [`InvalidInputError`]. All of the Ion parsers in the `text::parsers` module return an @@ -35,14 +36,14 @@ use winnow::IResult; /// number of minutes because it's `>=60`. We know this was the right parser, but it wasn't /// able to process it. (This is slightly contrived; it would be possible to write a parser /// that rejected `71` as a number of minutes based on syntax alone.) -pub(crate) type IonParseResult<'a, O> = IResult, O, IonParseError<'a>>; +pub(crate) type IonParseResult<'a, O> = PResult>; // Functions that return IonParseResult parse TextBuffer-^ ^ ^ // ...return a value of type `O` -----+ | // ...or a winnow::Err if something goes wrong ----+ /// As above, but for parsers that simply identify (i.e. 'match') a slice of the input as a /// particular item. -pub(crate) type IonMatchResult<'a> = IResult, TextBuffer<'a>, IonParseError<'a>>; +pub(crate) type IonMatchResult<'a> = IonParseResult<'a, TextBuffer<'a>>; #[derive(Debug, PartialEq)] pub enum IonParseError<'data> { @@ -218,27 +219,30 @@ impl<'data> From<(TextBuffer<'data>, ErrorKind)> for IonParseError<'data> { } /// Allows a [winnow::error::Error] to be converted into an [IonParseError] by calling `.into()`. -impl<'data> From>> for IonParseError<'data> { - fn from(nom_error: NomError>) -> Self { - InvalidInputError::new(nom_error.input) - .with_nom_error_kind(nom_error.kind) - .into() +impl<'data> From, IonParseError<'data>>> for IonParseError<'data> { + fn from(parse_error: ParseError, IonParseError<'data>>) -> Self { + parse_error.into_inner() } } /// Allows `IonParseError` to be used as the error type in various `nom` functions. -impl<'data> ParseError> for IonParseError<'data> { - fn from_error_kind(input: TextBuffer<'data>, error_kind: ErrorKind) -> Self { - InvalidInputError::new(input) +impl<'data> ParserError> for IonParseError<'data> { + fn from_error_kind(input: &TextBuffer<'data>, error_kind: ErrorKind) -> Self { + InvalidInputError::new(*input) .with_nom_error_kind(error_kind) .into() } - fn append(self, input: TextBuffer<'data>, _kind: ErrorKind) -> Self { + fn append( + self, + input: &TextBuffer<'data>, + _checkpoint: & as Stream>::Checkpoint, + _kind: ErrorKind, + ) -> Self { // When an error stack is being built, this method is called to give the error // type an opportunity to aggregate the errors into a collection or a more descriptive // message. For now, we simply allow the most recent error to take precedence. - IonParseError::Invalid(InvalidInputError::new(input)) + IonParseError::Invalid(InvalidInputError::new(*input)) } } @@ -267,7 +271,7 @@ pub(crate) trait AddContext<'data, T> { self, label: impl Into>, input: TextBuffer<'data>, - ) -> IonResult<(TextBuffer<'a>, T)> + ) -> IonResult where 'data: 'a; } @@ -277,7 +281,7 @@ impl<'data, T> AddContext<'data, T> for ErrMode> { self, label: impl Into>, input: TextBuffer<'data>, - ) -> IonResult<(TextBuffer<'a>, T)> + ) -> IonResult where 'data: 'a, { @@ -292,7 +296,7 @@ impl<'data, T> AddContext<'data, T> for IonParseError<'data> { self, label: impl Into>, input: TextBuffer<'data>, - ) -> IonResult<(TextBuffer<'a>, T)> + ) -> IonResult where 'data: 'a, { @@ -315,7 +319,7 @@ impl<'data, T> AddContext<'data, T> for IonParseResult<'data, T> { self, label: impl Into>, input: TextBuffer<'data>, - ) -> IonResult<(TextBuffer<'a>, T)> + ) -> IonResult where 'data: 'a, { @@ -361,7 +365,7 @@ where label: L, ) -> IonParseResult<'_, T> { match self { - Ok(value) => Ok((input, value)), + Ok(value) => Ok(value), Err(error) => fatal_parse_error(input, format!("{label}: {error:?}")), } } diff --git a/src/lazy/text/raw/reader.rs b/src/lazy/text/raw/reader.rs index 4e9eb3a3..2cbb59e5 100644 --- a/src/lazy/text/raw/reader.rs +++ b/src/lazy/text/raw/reader.rs @@ -41,32 +41,28 @@ impl<'data> LazyRawTextReader_1_0<'data> { } pub fn next(&mut self) -> IonResult> { - let (buffer_after_whitespace, _whitespace) = self + let _whitespace = self .input .match_optional_comments_and_whitespace() .with_context("reading whitespace/comments at the top level", self.input)?; - if buffer_after_whitespace.is_empty() { + if self.input.is_empty() { return Ok(RawStreamItem::EndOfStream(EndPosition::new( TextEncoding_1_0.encoding(), - buffer_after_whitespace.offset(), + self.input.offset(), ))); } // Consume any trailing whitespace that followed this item. Doing this allows us to check // whether this was the last item in the buffer by testing `buffer.is_empty()` afterward. - let (buffer_after_item, matched_item) = buffer_after_whitespace + let matched_item = self + .input .match_top_level_item_1_0() - .with_context("reading a top-level value", buffer_after_whitespace)?; + .with_context("reading a top-level value", self.input)?; - let (buffer_after_trailing_ws, _trailing_ws) = buffer_after_item + let _trailing_ws = self + .input .match_optional_comments_and_whitespace() - .with_context( - "reading trailing top-level whitespace/comments", - buffer_after_item, - )?; - - // Since we successfully matched the next value, we'll update the buffer - // so a future call to `next()` will resume parsing the remaining input. - self.input = buffer_after_trailing_ws; + .with_context("reading trailing top-level whitespace/comments", self.input)?; + Ok(matched_item) } diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index b4b35ab7..eb014620 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -3,7 +3,9 @@ use std::fmt; use std::fmt::{Debug, Formatter}; use std::ops::Range; -use winnow::bytes::one_of; +use winnow::combinator::opt; +use winnow::token::{literal, one_of}; +use winnow::Parser; use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ @@ -12,7 +14,6 @@ use crate::lazy::decoder::{ use crate::lazy::encoding::TextEncoding_1_0; use crate::lazy::text::buffer::TextBuffer; use crate::lazy::text::parse_result::AddContext; -use crate::lazy::text::parse_result::ToIteratorOutput; use crate::lazy::text::value::{LazyRawTextValue_1_0, RawTextAnnotationsIterator}; use crate::{IonResult, IonType}; @@ -106,7 +107,7 @@ impl RawTextListIterator_1_0<'_> { // The input has already skipped past the opening delimiter. let start = self.input.offset() - 1; // We need to find the input slice containing the closing delimiter. It's either... - let input_after_last = if let Some(value_result) = self.last() { + let mut input = if let Some(value_result) = self.last() { let value = value_result?.expect_value()?; // ...the input slice that follows the last sequence value... self.input @@ -115,20 +116,20 @@ impl RawTextListIterator_1_0<'_> { // ...or there aren't values, so it's just the input after the opening delimiter. self.input }; - let (mut input_after_ws, _ws) = - input_after_last - .match_optional_comments_and_whitespace() - .with_context("seeking the end of a list", input_after_last)?; + let _ws = input + .match_optional_comments_and_whitespace() + .with_context("seeking the end of a list", input)?; // Skip an optional comma and more whitespace - if input_after_ws.bytes().first() == Some(&b',') { - (input_after_ws, _) = input_after_ws - .slice_to_end(1) - .match_optional_comments_and_whitespace() - .with_context("skipping a list's trailing comma", input_after_ws)?; - } - let (input_after_end, _end_delimiter) = one_of(|c| c == b']')(input_after_ws) - .with_context("seeking the closing delimiter of a list", input_after_ws)?; - let end = input_after_end.offset(); + let _ = ( + opt(literal(",")), + TextBuffer::match_optional_comments_and_whitespace, + ) + .parse_next(&mut input) + .with_context("skipping a list's trailing comma", input)?; + let _end_delimiter = one_of(|c| c == b']') + .parse_next(&mut input) + .with_context("seeking the closing delimiter of a list", input)?; + let end = input.offset(); Ok(start..end) } } @@ -141,12 +142,11 @@ impl<'data> Iterator for RawTextListIterator_1_0<'data> { return None; } match self.input.match_list_value() { - Ok((remaining, Some(value))) => { - self.input = remaining; + Ok(Some(value)) => { let value = RawValueExpr::ValueLiteral(LazyRawTextValue_1_0::from(value)); Some(Ok(value)) } - Ok((_remaining, None)) => { + Ok(None) => { // Don't update `remaining` so subsequent calls will continue to return None None } @@ -205,7 +205,7 @@ impl<'top> RawTextSExpIterator_1_0<'top> { // The input has already skipped past the opening delimiter. let start = self.input.offset() - initial_bytes_skipped; // We need to find the input slice containing the closing delimiter. It's either... - let input_after_last = if let Some(value_result) = self.last() { + let mut input = if let Some(value_result) = self.last() { let value = value_result?.expect_value()?; // ...the input slice that follows the last sequence value... self.input @@ -214,12 +214,13 @@ impl<'top> RawTextSExpIterator_1_0<'top> { // ...or there aren't values, so it's just the input after the opening delimiter. self.input }; - let (input_after_ws, _ws) = input_after_last + let _ = input .match_optional_comments_and_whitespace() - .with_context("seeking the end of a list", input_after_last)?; - let (input_after_end, _end_delimiter) = one_of(|c| c == b')')(input_after_ws) - .with_context("seeking the closing delimiter of a sexp", input_after_ws)?; - let end = input_after_end.offset(); + .with_context("seeking the end of a sexp", input)?; + let _end_delimiter = one_of(|c| c == b')') + .parse_next(&mut input) + .with_context("seeking the closing delimiter of a sexp", input)?; + let end = input.offset(); Ok(start..end) } } @@ -232,13 +233,10 @@ impl<'data> Iterator for RawTextSExpIterator_1_0<'data> { return None; } match self.input.match_sexp_value() { - Ok((remaining, Some(value))) => { - self.input = remaining; - Some(Ok(RawValueExpr::ValueLiteral(LazyRawTextValue_1_0::from( - value, - )))) - } - Ok((_remaining, None)) => None, + Ok(Some(value)) => Some(Ok(RawValueExpr::ValueLiteral(LazyRawTextValue_1_0::from( + value, + )))), + Ok(None) => None, Err(e) => { self.has_returned_error = true; e.with_context("reading the next sexp value", self.input) diff --git a/src/lazy/text/raw/struct.rs b/src/lazy/text/raw/struct.rs index 2833e36b..5c800086 100644 --- a/src/lazy/text/raw/struct.rs +++ b/src/lazy/text/raw/struct.rs @@ -9,11 +9,13 @@ use crate::lazy::encoding::TextEncoding_1_0; use crate::lazy::span::Span; use crate::lazy::text::buffer::TextBuffer; use crate::lazy::text::matched::MatchedFieldName; -use crate::lazy::text::parse_result::{AddContext, ToIteratorOutput}; +use crate::lazy::text::parse_result::AddContext; use crate::lazy::text::value::{LazyRawTextValue_1_0, RawTextAnnotationsIterator}; use crate::{IonResult, RawSymbolRef}; use std::ops::Range; -use winnow::bytes::one_of; +use winnow::combinator::opt; +use winnow::token::{literal, one_of}; +use winnow::Parser; #[derive(Clone, Copy, Debug)] pub struct RawTextStructIterator_1_0<'top> { @@ -33,7 +35,7 @@ impl<'top> RawTextStructIterator_1_0<'top> { // The input has already skipped past the opening delimiter. let start = self.input.offset() - 1; // We need to find the input slice containing the closing delimiter. It's either... - let input_after_last = if let Some(field_result) = self.last() { + let mut input = if let Some(field_result) = self.last() { let field = field_result?; self.input .slice_to_end(field.range().end - self.input.offset()) @@ -41,20 +43,20 @@ impl<'top> RawTextStructIterator_1_0<'top> { // ...or there aren't fields, so it's just the input after the opening delimiter. self.input }; - let (mut input_after_ws, _ws) = - input_after_last - .match_optional_comments_and_whitespace() - .with_context("seeking the end of a struct", input_after_last)?; + let _ws = input + .match_optional_comments_and_whitespace() + .with_context("seeking the end of a struct", input)?; // Skip an optional comma and more whitespace - if input_after_ws.bytes().first() == Some(&b',') { - (input_after_ws, _) = input_after_ws - .slice_to_end(1) - .match_optional_comments_and_whitespace() - .with_context("skipping a list's trailing comma", input_after_ws)?; - } - let (input_after_end, _end_delimiter) = one_of(|c| c == b'}')(input_after_ws) - .with_context("seeking the closing delimiter of a struct", input_after_ws)?; - let end = input_after_end.offset(); + let _ = ( + opt(literal(",")), + TextBuffer::match_optional_comments_and_whitespace, + ) + .parse_next(&mut input) + .with_context("skipping a struct field's trailing comma", input)?; + let _end_delimiter = one_of(|c| c == b'}') + .parse_next(&mut input) + .with_context("seeking the closing delimiter of a struct", input)?; + let end = input.offset(); Ok(start..end) } } @@ -67,11 +69,8 @@ impl<'top> Iterator for RawTextStructIterator_1_0<'top> { return None; } match self.input.match_struct_field() { - Ok((remaining_input, Some(field))) => { - self.input = remaining_input; - Some(Ok(field)) - } - Ok((_, None)) => None, + Ok(Some(field)) => Some(Ok(field)), + Ok(None) => None, Err(e) => { self.has_returned_error = true; e.with_context("reading the next struct field", self.input) diff --git a/src/lazy/text/raw/v1_1/reader.rs b/src/lazy/text/raw/v1_1/reader.rs index ace7c6a0..9005cf7a 100644 --- a/src/lazy/text/raw/v1_1/reader.rs +++ b/src/lazy/text/raw/v1_1/reader.rs @@ -19,12 +19,14 @@ use crate::lazy::span::Span; use crate::lazy::streaming_raw_reader::RawReaderState; use crate::lazy::text::buffer::TextBuffer; use crate::lazy::text::matched::{MatchedFieldName, MatchedValue}; -use crate::lazy::text::parse_result::{AddContext, ToIteratorOutput}; +use crate::lazy::text::parse_result::AddContext; use crate::lazy::text::raw::v1_1::arg_group::{EExpArg, TextEExpArgGroup}; use crate::lazy::text::value::{LazyRawTextValue_1_1, RawTextAnnotationsIterator}; use crate::{v1_1, Encoding, IonResult, IonType, RawSymbolRef}; use bumpalo::collections::Vec as BumpVec; -use winnow::bytes::one_of; +use winnow::combinator::opt; +use winnow::token::{literal, one_of}; +use winnow::Parser; pub struct LazyRawTextReader_1_1<'data> { input: TextBuffer<'data>, @@ -65,36 +67,34 @@ impl<'data> LazyRawReader<'data, TextEncoding_1_1> for LazyRawTextReader_1_1<'da } fn next(&mut self) -> IonResult> { - let (buffer_after_whitespace, _whitespace) = self + let _whitespace = self .input .match_optional_comments_and_whitespace() .with_context( "reading v1.1 whitespace/comments at the top level", self.input, )?; - if buffer_after_whitespace.is_empty() { + if self.input.is_empty() { return Ok(RawStreamItem::EndOfStream(EndPosition::new( TextEncoding_1_1.encoding(), - buffer_after_whitespace.offset(), + self.input.offset(), ))); } // Consume any trailing whitespace that followed this item. Doing this allows us to check // whether this was the last item in the buffer by testing `buffer.is_empty()` afterward. - let (buffer_after_item, matched_item) = buffer_after_whitespace + let matched_item = self + .input .match_top_level_item_1_1() - .with_context("reading a v1.1 top-level value", buffer_after_whitespace)?; + .with_context("reading a v1.1 top-level value", self.input)?; - let (buffer_after_trailing_ws, _trailing_ws) = buffer_after_item + let _trailing_ws = self + .input .match_optional_comments_and_whitespace() .with_context( "reading trailing top-level whitespace/comments in v1.1", - buffer_after_item, + self.input, )?; - - // Since we successfully matched the next value, we'll update the buffer - // so a future call to `next()` will resume parsing the remaining input. - self.input = buffer_after_trailing_ws; Ok(matched_item) } @@ -332,24 +332,26 @@ impl<'top> TextListSpanFinder_1_1<'top> { .last() .map(|e| e.range().end) .unwrap_or(self.iterator.input.offset()); - let input_after_last_expr = self + let mut input = self .iterator .input .slice_to_end(end - self.iterator.input.offset()); - let (mut input_after_ws, _ws) = input_after_last_expr + let _ws = input .match_optional_comments_and_whitespace() - .with_context("seeking the end of a list", input_after_last_expr)?; + .with_context("seeking the end of a list", input)?; + // Skip an optional comma and more whitespace - if input_after_ws.bytes().first() == Some(&b',') { - (input_after_ws, _) = input_after_ws - .slice_to_end(1) - .match_optional_comments_and_whitespace() - .with_context("skipping a v1.1 list's trailing comma", input_after_ws)?; - } - let (input_after_end, _end_delimiter) = one_of(|c: u8| c == b']')(input_after_ws) - .with_context("seeking the closing delimiter of a list", input_after_ws)?; - let end = input_after_end.offset(); + let _ = ( + opt(literal(",")), + TextBuffer::match_optional_comments_and_whitespace, + ) + .parse_next(&mut input) + .with_context("skipping a v1.1 list item's trailing comma", input)?; + let _end_delimiter = one_of(|c: u8| c == b']') + .parse_next(&mut input) + .with_context("seeking the closing delimiter of a list", input)?; + let end = input.offset(); let span = start..end; Ok((span, child_expr_cache.into_bump_slice())) @@ -495,17 +497,18 @@ impl<'top> TextSExpSpanFinder_1_1<'top> { .last() .map(|e| e.range().end) .unwrap_or(self.iterator.input.offset()); - let input_after_last_expr = self + let mut input = self .iterator .input .slice_to_end(end - self.iterator.input.offset()); - let (input_after_ws, _ws) = input_after_last_expr + let _ws = input .match_optional_comments_and_whitespace() - .with_context("seeking the end of a sexp", input_after_last_expr)?; - let (input_after_end, _end_delimiter) = one_of(|c| c == b')')(input_after_ws) - .with_context("seeking the closing delimiter of a sexp", input_after_ws)?; - let end = input_after_end.offset(); + .with_context("seeking the end of a sexp", input)?; + let _end_delimiter = one_of(|c| c == b')') + .parse_next(&mut input) + .with_context("seeking the closing delimiter of a sexp", input)?; + let end = input.offset(); let range = start..end; Ok((range, child_expr_cache.into_bump_slice())) @@ -551,11 +554,8 @@ impl<'top> Iterator for RawTextSExpIterator_1_1<'top> { return None; } match self.input.match_sexp_value_1_1() { - Ok((remaining, Some(value))) => { - self.input = remaining; - Some(Ok(value)) - } - Ok((_remaining, None)) => None, + Ok(Some(value)) => Some(Ok(value)), + Ok(None) => None, Err(e) => { self.has_returned_error = true; e.with_context("reading the next sexp value", self.input) @@ -705,11 +705,8 @@ impl<'top> Iterator for RawTextListIterator_1_1<'top> { return None; } match self.input.match_list_value_1_1() { - Ok((remaining, Some(value_expr))) => { - self.input = remaining; - Some(Ok(value_expr)) - } - Ok((_remaining, None)) => { + Ok(Some(value_expr)) => Some(Ok(value_expr)), + Ok(None) => { // Don't update `remaining` so subsequent calls will continue to return None None } @@ -757,11 +754,8 @@ impl<'top> Iterator for RawTextStructIterator_1_1<'top> { return None; } match self.input.match_struct_field_1_1() { - Ok((remaining_input, Some(field))) => { - self.input = remaining_input; - Some(Ok(field)) - } - Ok((_, None)) => None, + Ok(Some(field)) => Some(Ok(field)), + Ok(None) => None, Err(e) => { self.has_returned_error = true; e.with_context("reading the next struct field", self.input) @@ -807,24 +801,25 @@ impl<'top> TextStructSpanFinder_1_1<'top> { .last() .map(|e| e.range().end) .unwrap_or(start + 1); - let input_after_last_field_expr = self + let mut input = self .iterator .input .slice_to_end(end - self.iterator.input.offset()); - let (mut input_after_ws, _ws) = input_after_last_field_expr + let _ws = input .match_optional_comments_and_whitespace() - .with_context("seeking the end of a struct", input_after_last_field_expr)?; + .with_context("seeking the end of a struct", input)?; // Skip an optional comma and more whitespace - if input_after_ws.bytes().first() == Some(&b',') { - (input_after_ws, _) = input_after_ws - .slice_to_end(1) - .match_optional_comments_and_whitespace() - .with_context("skipping a struct's trailing comma", input_after_ws)?; - } - let (input_after_end, _end_delimiter) = one_of(|c: u8| c == b'}')(input_after_ws) - .with_context("seeking the closing delimiter of a struct", input_after_ws)?; - let end = input_after_end.offset(); + let _ = ( + opt(literal(",")), + TextBuffer::match_optional_comments_and_whitespace, + ) + .parse_next(&mut input) + .with_context("skipping a struct field's trailing comma", input)?; + let _end_delimiter = one_of(|c: u8| c == b'}') + .parse_next(&mut input) + .with_context("seeking the closing delimiter of a struct", input)?; + let end = input.offset(); Ok((start..end, child_expr_cache.into_bump_slice())) } } diff --git a/src/lazy/text/value.rs b/src/lazy/text/value.rs index d94a08e3..3d2140e7 100644 --- a/src/lazy/text/value.rs +++ b/src/lazy/text/value.rs @@ -1,10 +1,5 @@ #![allow(non_camel_case_types)] -use std::fmt; -use std::fmt::{Debug, Formatter}; -use std::marker::PhantomData; -use std::ops::Range; - use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{Decoder, HasRange, HasSpan, LazyRawValue, RawVersionMarker}; use crate::lazy::encoding::{TextEncoding, TextEncoding_1_0, TextEncoding_1_1}; @@ -13,6 +8,10 @@ use crate::lazy::span::Span; use crate::lazy::text::buffer::TextBuffer; use crate::lazy::text::encoded_value::EncodedTextValue; use crate::{IonEncoding, IonResult, IonType, RawSymbolRef}; +use std::fmt; +use std::fmt::{Debug, Formatter}; +use std::marker::PhantomData; +use std::ops::Range; /// A value that has been identified in the text input stream but whose data has not yet been read. /// @@ -250,11 +249,9 @@ impl<'top> Iterator for RawTextAnnotationsIterator<'top> { // Match the first annotation in the input. In order for this iterator to be created, // the parser already successfully matched this input once before, so we know it will succeed. use winnow::Parser; - let (remaining, (symbol, span)) = dbg!(TextBuffer::match_annotation.parse_next(self.input)) + let (symbol, matched_input) = TextBuffer::match_annotation + .parse_next(&mut self.input) .expect("annotations were already matched successfully by this parser"); - let matched_input = self - .input - .slice(span.start - self.input.offset(), span.len()); let text = match symbol.read(self.input.context.allocator(), matched_input) { Ok(text) => text, Err(e) => { @@ -262,7 +259,6 @@ impl<'top> Iterator for RawTextAnnotationsIterator<'top> { return Some(Err(e)); } }; - self.input = remaining; Some(Ok(text)) } } diff --git a/src/lazy/value_ref.rs b/src/lazy/value_ref.rs index f4c96e05..b49cf6ee 100644 --- a/src/lazy/value_ref.rs +++ b/src/lazy/value_ref.rs @@ -234,7 +234,7 @@ impl<'top, D: Decoder> ValueRef<'top, D> { if let ValueRef::SExp(s) = self { Ok(s) } else { - IonResult::decoding_error("expected a sexp") + IonResult::decoding_error(format!("expected an s-expression but found a(n) {self:?}")) } } diff --git a/src/text/text_formatter.rs b/src/text/text_formatter.rs index ebef4d8c..38a10338 100644 --- a/src/text/text_formatter.rs +++ b/src/text/text_formatter.rs @@ -239,7 +239,7 @@ impl fmt::Write for IoValueFormatter { } } -impl FmtValueFormatter<'_, W> { +impl FmtValueFormatter<'_, W> { /// Returns `true` if the provided `token`'s text is an 'identifier'. That is, the text starts /// with a `$`, `_` or ASCII letter and is followed by a sequence of `$`, `_`, or ASCII letters /// and numbers. Examples: From 4a945c843af0cd0f2860fe24c1818bf1b46b3a60 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Fri, 3 Jan 2025 11:58:58 -0500 Subject: [PATCH 08/32] Remove cruft that winnow does not require --- src/lazy/text/buffer.rs | 563 +++++++++---------------------- src/lazy/text/matched.rs | 45 ++- src/lazy/text/raw/sequence.rs | 7 +- src/lazy/text/raw/struct.rs | 7 +- src/lazy/text/raw/v1_1/reader.rs | 12 +- 5 files changed, 189 insertions(+), 445 deletions(-) diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index dae18fe2..2db138cd 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -7,8 +7,10 @@ use winnow::combinator::{ alt, delimited, empty, eof, not, opt, peek, preceded, repeat, separated_pair, terminated, }; use winnow::error::{ErrMode, Needed}; -use winnow::stream::{Accumulate, CompareResult, FindSlice, SliceLen, Stream, StreamIsPartial}; -use winnow::token::{literal, one_of, take_till, take_until, take_while}; +use winnow::stream::{ + Accumulate, CompareResult, FindSlice, Location, SliceLen, Stream, StreamIsPartial, +}; +use winnow::token::{one_of, take_till, take_until, take_while}; use winnow::Parser; use crate::lazy::decoder::{LazyRawFieldExpr, LazyRawValueExpr, RawValueExpr}; @@ -159,7 +161,7 @@ impl<'top> TextBuffer<'top> { } fn incomplete(&self, label: &'static str) -> IonParseResult<'top, T> { - if self.is_final_data { + if self.is_final_data() { fatal_parse_error(*self, format!("ran out of data while parsing {label}")) } else { Err(ErrMode::Incomplete(Needed::Unknown)) @@ -233,10 +235,6 @@ impl<'top> TextBuffer<'top> { }) } - pub fn match_whitespace(&mut self) -> IonMatchResult<'top> { - take_while(1.., WHITESPACE_BYTES).parse_next(self) - } - /// Always succeeds and consumes none of the input. Returns an empty slice of the buffer. // This method is useful for parsers that need to match an optional construct but don't want // to return an Option<_>. For an example, see its use in `match_optional_whitespace`. @@ -245,17 +243,19 @@ impl<'top> TextBuffer<'top> { empty.take().parse_next(self) } + /// Matches one or more whitespace characters. + pub fn match_whitespace1(&mut self) -> IonMatchResult<'top> { + take_while(1.., WHITESPACE_BYTES).parse_next(self) + } + /// Matches zero or more whitespace characters. - pub fn match_optional_whitespace(&mut self) -> IonMatchResult<'top> { - // Either match whitespace and return what follows or just return the input as-is. - // This will always return `Ok`, but it is packaged as an IonMatchResult for compatability - // with other parsers. - alt((Self::match_whitespace, Self::match_nothing)).parse_next(self) + pub fn match_whitespace0(&mut self) -> IonMatchResult<'top> { + take_while(0.., WHITESPACE_BYTES).parse_next(self) } /// Matches any amount of contiguous comments and whitespace, including none. pub fn match_optional_comments_and_whitespace(&mut self) -> IonMatchResult<'top> { - zero_or_more(alt((Self::match_whitespace, Self::match_comment))).parse_next(self) + zero_or_more(alt((Self::match_whitespace1, Self::match_comment))).parse_next(self) } /// Matches a single @@ -274,23 +274,21 @@ impl<'top> TextBuffer<'top> { /// Matches a single rest-of-the-line comment. fn match_rest_of_line_comment(&mut self) -> IonMatchResult<'top> { - (literal("//"), take_till(.., b"\r\n")) - .take() - .parse_next(self) + ("//", take_till(.., b"\r\n")).take().parse_next(self) } /// Matches a single multiline comment. fn match_multiline_comment(&mut self) -> IonMatchResult<'top> { - delimited( + ( // Matches a leading "/*"... - literal("/*"), + "/*", // ...any number of non-"*/" characters... take_until(.., "*/"), // ...and then a closing "*/" - literal("*/"), + "*/", ) - .take() - .parse_next(self) + .take() + .parse_next(self) } /// Matches an Ion version marker (e.g. `$ion_1_0` or `$ion_1_1`.) @@ -298,13 +296,10 @@ impl<'top> TextBuffer<'top> { &mut self, ) -> IonParseResult<'top, LazyRawTextVersionMarker<'top, E>> { let ((matched_major, matched_minor), matched_marker) = terminated( - preceded( - literal("$ion_"), - separated_pair(digit1, literal("_"), digit1), - ), + preceded("$ion_", separated_pair(digit1, "_", digit1)), // Look ahead to make sure the IVM isn't followed by a '::'. If it is, then it's not // an IVM, it's an annotation. - peek(whitespace_and_then(not(literal(":")))), + peek(whitespace_and_then(not(":"))), ) .with_taken() .parse_next(self)?; @@ -344,10 +339,7 @@ impl<'top> TextBuffer<'top> { pub fn match_annotation(&mut self) -> IonParseResult<'top, (MatchedSymbol, TextBuffer<'top>)> { terminated( whitespace_and_then(Self::match_symbol.with_taken()), - whitespace_and_then(terminated( - literal("::"), - Self::match_optional_comments_and_whitespace, - )), + whitespace_and_then(("::", Self::match_optional_comments_and_whitespace)), ) .parse_next(self) } @@ -355,7 +347,7 @@ impl<'top> TextBuffer<'top> { /// Matches an optional annotations sequence and a value, including operators. pub fn match_sexp_value(&mut self) -> IonParseResult<'top, Option>> { let (maybe_sexp_value, matched_input) = whitespace_and_then(alt(( - literal(")").value(None), + ")".value(None), ( opt(Self::match_annotations), // We need the s-expression parser to recognize the input `--3` as the operator `--` and the @@ -383,10 +375,10 @@ impl<'top> TextBuffer<'top> { pub fn match_sexp_value_1_1( &mut self, ) -> IonParseResult<'top, Option>> { - let input = self.checkpoint(); + let input = self.clone(); let result = whitespace_and_then(alt(( Self::match_e_expression.map(|matched| Some(RawValueExpr::EExp(matched))), - peek(literal(")")).value(None), + peek(")").value(None), ( opt(Self::match_annotations), // We need the s-expression parser to recognize the input `--3` as the operator `--` and the @@ -432,13 +424,9 @@ impl<'top> TextBuffer<'top> { pub fn match_struct_field( &mut self, ) -> IonParseResult<'top, Option>> { - // A struct field can have leading whitespace, but we want the buffer slice that we match - // to begin with the field name. Here we skip any whitespace so we have another named - // slice (`input_including_field_name`) with that property. - let _discarded_whitespace = self.match_optional_comments_and_whitespace()?; - alt(( + whitespace_and_then(alt(( // If the next thing in the input is a `}`, return `None`. - Self::match_struct_end.value(None), + Self::peek_struct_end.value(None), // Otherwise, match a name/value pair and turn it into a `LazyRawTextField`. Self::match_struct_field_name_and_value.map(move |(matched_field_name, value)| { let field_name = LazyRawTextFieldName_1_0::new(matched_field_name); @@ -446,13 +434,13 @@ impl<'top> TextBuffer<'top> { field_name, value, )) }), - )) + ))) .parse_next(self) } - /// Matches any amount of whitespace followed by a closing `}`. - fn match_struct_end(&mut self) -> IonMatchResult<'top> { - whitespace_and_then(peek(literal("}"))).parse_next(self) + /// Succeeds if the next token in input is a closing `}`; does not consume input. + fn peek_struct_end(&mut self) -> IonMatchResult<'top> { + peek("}").parse_next(self) } /// Matches a field name/value pair. Returns the syntax used for the field name, the range of @@ -463,10 +451,10 @@ impl<'top> TextBuffer<'top> { terminated( separated_pair( whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(literal(":")), + whitespace_and_then(":"), whitespace_and_then(Self::match_annotated_value), ), - whitespace_and_then(alt((literal(","), peek(literal("}"))))), + whitespace_and_then(alt((",", Self::peek_struct_end))), ) .parse_next(self) } @@ -478,16 +466,12 @@ impl<'top> TextBuffer<'top> { pub fn match_struct_field_1_1( &mut self, ) -> IonParseResult<'top, Option>> { - // A struct field can have leading whitespace, but we want the buffer slice that we match - // to begin with the field name. Here we skip any whitespace so we have another named - // slice (`input_including_field_name`) with that property. - let _discarded_whitespace = self.match_optional_comments_and_whitespace()?; - alt(( + whitespace_and_then(alt(( // If the next thing in the input is a `}`, return `None`. - Self::match_struct_end.map(|_| Ok(None)), + Self::peek_struct_end.map(|_| Ok(None)), terminated( Self::match_e_expression.map(|eexp| Ok(Some(LazyRawFieldExpr::EExp(eexp)))), - whitespace_and_then(alt((literal(","), peek(literal("}"))))), + whitespace_and_then(alt((",", peek("}")))), ), Self::match_struct_field_name_and_e_expression_1_1.map(|(field_name, invocation)| { Ok(Some(LazyRawFieldExpr::NameEExp( @@ -500,7 +484,7 @@ impl<'top> TextBuffer<'top> { let field_name = LazyRawTextFieldName_1_1::new(field_name); Ok(Some(LazyRawFieldExpr::NameValue(field_name, value))) }), - )) + ))) .parse_next(self)? } @@ -513,10 +497,10 @@ impl<'top> TextBuffer<'top> { terminated( separated_pair( whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(literal(":")), + whitespace_and_then(":"), whitespace_and_then(Self::match_e_expression), ), - whitespace_and_then(alt((literal(","), peek(literal("}"))))), + whitespace_and_then(alt((",", Self::peek_struct_end))), ) .parse_next(self) } @@ -530,20 +514,20 @@ impl<'top> TextBuffer<'top> { terminated( separated_pair( whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(literal(":")), + whitespace_and_then(":"), whitespace_and_then(alt(( Self::match_annotated_long_string_in_struct, Self::match_annotated_value_1_1, ))), ), - whitespace_and_then(alt((literal(","), peek(literal("}"))))), + whitespace_and_then(alt((",", Self::peek_struct_end))), ) .parse_next(self) } /// Matches an optional annotation sequence and a trailing value. pub fn match_annotated_value(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { - let input = self.checkpoint(); + let input = self.clone(); ( opt(Self::match_annotations), whitespace_and_then(Self::match_value), @@ -556,7 +540,7 @@ impl<'top> TextBuffer<'top> { pub fn match_annotated_value_1_1( &mut self, ) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - let input = self.checkpoint(); + let input = self.clone(); ( opt(Self::match_annotations), whitespace_and_then(Self::match_value_1_1), @@ -797,10 +781,7 @@ impl<'top> TextBuffer<'top> { let span = match sequence_iter.find_span() { Ok(span) => span, // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) if self.is_final_data => { - return fatal_parse_error(*self, "found an incomplete list") - } - Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return self.incomplete("a list"), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -837,9 +818,7 @@ impl<'top> TextBuffer<'top> { // If it doesn't start with [, it isn't a list. if self.bytes().first() != Some(&b'[') { let error = InvalidInputError::new(*self); - return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( - error, - ))); + return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); } // Scan ahead to find the end of this list. let list_body = self.slice_to_end(1); @@ -852,10 +831,7 @@ impl<'top> TextBuffer<'top> { { Ok((span, child_exprs)) => (span, child_exprs), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) if self.is_final_data => { - return fatal_parse_error(*self, "found an incomplete list (v1.1)") - } - Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return self.incomplete("a v1.1 list"), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -896,10 +872,7 @@ impl<'top> TextBuffer<'top> { match TextSExpSpanFinder_1_1::new(self.context.allocator(), sexp_iter).find_span(1) { Ok((span, child_expr_cache)) => (span, child_expr_cache), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) if self.is_final_data => { - return fatal_parse_error(*self, "found an incomplete s-expression (v1.1)"); - } - Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return self.incomplete("a v1.1 s-expression"), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -929,7 +902,7 @@ impl<'top> TextBuffer<'top> { Self::match_optional_comments_and_whitespace, // ...followed by either the end of the list... alt(( - literal("]").value(None), + "]".value(None), // ...or a value... terminated( Self::match_annotated_value.map(Some), @@ -953,7 +926,7 @@ impl<'top> TextBuffer<'top> { Self::match_delimiter_after_list_value, ) .map(|matched| Some(RawValueExpr::EExp(matched))), - literal("]").value(None), + "]".value(None), terminated( Self::match_annotated_long_string_in_list.map(Some), Self::match_delimiter_after_list_value, @@ -974,7 +947,7 @@ impl<'top> TextBuffer<'top> { fn match_delimiter_after_list_value(&mut self) -> IonMatchResult<'top> { preceded( Self::match_optional_comments_and_whitespace, - alt((literal(","), peek(literal("]")))), + alt((",", peek("]"))), ) .parse_next(self) } @@ -985,20 +958,14 @@ impl<'top> TextBuffer<'top> { pub fn match_sexp(&mut self) -> IonMatchResult<'top> { if self.bytes().first() != Some(&b'(') { let error = InvalidInputError::new(*self); - return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( - error, - ))); + return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); } // Scan ahead to find the end of this sexp let sexp_body = self.slice_to_end(1); let sexp_iter = RawTextSExpIterator_1_0::new(sexp_body); let span = match sexp_iter.find_span(1) { Ok(span) => span, - Err(IonError::Incomplete(_)) if self.is_final_data => { - return fatal_parse_error(*self, "found an incomplete s-expression"); - } - // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return self.incomplete("an s-expression"), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1006,7 +973,7 @@ impl<'top> TextBuffer<'top> { let error = InvalidInputError::new(*self) .with_label("matching a sexp") .with_description(format!("{}", e)); - Err(winnow::error::ErrMode::Cut(IonParseError::Invalid(error))) + Err(ErrMode::Cut(IonParseError::Invalid(error))) } } }; @@ -1064,9 +1031,7 @@ impl<'top> TextBuffer<'top> { // If it doesn't start with {, it isn't a struct. if self.bytes().first() != Some(&b'{') { let error = InvalidInputError::new(*self); - return Err(winnow::error::ErrMode::Backtrack(IonParseError::Invalid( - error, - ))); + return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); } // Scan ahead to find the end of this struct. let struct_body = self.slice_to_end(1); @@ -1079,7 +1044,7 @@ impl<'top> TextBuffer<'top> { { Ok((span, fields)) => (span, fields), // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return Err(ErrMode::Incomplete(Needed::Unknown)), + Err(IonError::Incomplete(_)) => return self.incomplete("a v1.1 struct"), // If invalid syntax was encountered, return a failure to prevent nom from trying // other parser kinds. Err(e) => { @@ -1124,21 +1089,20 @@ impl<'top> TextBuffer<'top> { parameter: &'top Parameter, ) -> IonParseResult<'top, TextEExpArgGroup<'top>> { let parser = |input: &mut TextBuffer<'top>| { - // Make a copy of the input state to skim through to find the end of the arg group let group_head = alt(( // A trivially empty arg group: `(:)` - terminated(literal("(::"), peek(literal(")"))), + terminated("(::", peek(")")), // An arg group that is not trivially empty, though it may only contain whitespace: // (:: ) // (:: 1 2 3) - (literal("(::"), Self::match_optional_whitespace).take(), + ("(::", Self::match_whitespace0).take(), )) .parse_next(input)?; // `input` is now positioned after the opening delimiter. // The rest of the group uses s-expression syntax. Scan ahead to find the end of this // group. - let sexp_iter = RawTextSExpIterator_1_1::new(input.checkpoint()); + let sexp_iter = RawTextSExpIterator_1_1::new(input.clone()); // The sexp iterator holds the body of the expression. When finding the input span it occupies, // we tell the iterator how many bytes comprised the head of the group: `(::` followed // by whitespace. @@ -1193,13 +1157,10 @@ impl<'top> TextBuffer<'top> { } pub fn match_system_eexp_id(&mut self) -> IonParseResult<'top, MacroIdRef<'top>> { - let _matched_system_annotation = ( - literal("$ion"), - whitespace_and_then(literal("::")), - Self::match_optional_whitespace, - ) - .take() - .parse_next(self)?; + let _matched_system_annotation = + ("$ion", whitespace_and_then("::"), Self::match_whitespace0) + .take() + .parse_next(self)?; let id = alt(( Self::match_e_expression_address, @@ -1250,7 +1211,7 @@ impl<'top> TextBuffer<'top> { /// If the input does not contain the entire e-expression, returns `IonError::Incomplete(_)`. pub fn match_e_expression(&mut self) -> IonParseResult<'top, TextEExpression_1_1<'top>> { let parser = |input: &mut TextBuffer<'top>| { - let _opening_tag = literal("(:").parse_next(input)?; + let _opening_tag = "(:".parse_next(input)?; let id = Self::match_e_expression_id(input)?; let mut arg_expr_cache = BumpVec::new_in(input.context.allocator()); @@ -1286,7 +1247,7 @@ impl<'top> TextBuffer<'top> { } } } - match whitespace_and_then(literal(")")).parse_next(input) { + match whitespace_and_then(")").parse_next(input) { Ok(_closing_delimiter) => Ok((id, macro_ref, arg_expr_cache)), Err(ErrMode::Incomplete(_)) => input.incomplete("an e-expression"), Err(_e) => { @@ -1390,7 +1351,7 @@ impl<'top> TextBuffer<'top> { &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, EExpArg<'top, TextEncoding_1_1>> { - (literal("(::"), whitespace_and_then(literal(")"))) + ("(::", whitespace_and_then(")")) .take() .map(|matched_expr| { let arg_group = TextEExpArgGroup::new(parameter, matched_expr, &[]); @@ -1428,7 +1389,7 @@ impl<'top> TextBuffer<'top> { expr.map(EExpArgExpr::from) .map(|expr| EExpArg::new(parameter, expr)) }), - peek(literal(")")).value(None), + peek(")").value(None), )), ) .parse_next(self)?; @@ -1464,7 +1425,7 @@ impl<'top> TextBuffer<'top> { let mut cache = BumpVec::new_in(self.context().allocator()); let parser = |input: &mut TextBuffer<'top>| { while let Some(expr) = alt(( - whitespace_and_then(peek(literal(")"))).value(None), + whitespace_and_then(peek(")")).value(None), Self::match_sexp_value_1_1, )) .parse_next(input)? @@ -1485,7 +1446,7 @@ impl<'top> TextBuffer<'top> { /// Matches and returns a boolean value. pub fn match_bool(&mut self) -> IonParseResult<'top, bool> { terminated( - alt((literal("true").value(true), literal("false").value(false))), + alt(("true".value(true), "false".value(false))), Self::peek_stop_character, ) .parse_next(self) @@ -1495,8 +1456,8 @@ impl<'top> TextBuffer<'top> { pub fn match_null(&mut self) -> IonParseResult<'top, IonType> { terminated( alt(( - (literal("null."), Self::match_ion_type).map(|(_, ion_type)| ion_type), - literal("null").value(IonType::Null), + ("null.", Self::match_ion_type).map(|(_, ion_type)| ion_type), + "null".value(IonType::Null), )), Self::peek_stop_character, ) @@ -1506,19 +1467,19 @@ impl<'top> TextBuffer<'top> { /// Matches and returns an Ion type. fn match_ion_type(&mut self) -> IonParseResult<'top, IonType> { alt(( - literal("null").value(IonType::Null), - literal("bool").value(IonType::Bool), - literal("int").value(IonType::Int), - literal("float").value(IonType::Float), - literal("decimal").value(IonType::Decimal), - literal("timestamp").value(IonType::Timestamp), - literal("symbol").value(IonType::Symbol), - literal("string").value(IonType::String), - literal("clob").value(IonType::Clob), - literal("blob").value(IonType::Blob), - literal("list").value(IonType::List), - literal("sexp").value(IonType::SExp), - literal("struct").value(IonType::Struct), + "null".value(IonType::Null), + "bool".value(IonType::Bool), + "int".value(IonType::Int), + "float".value(IonType::Float), + "decimal".value(IonType::Decimal), + "timestamp".value(IonType::Timestamp), + "symbol".value(IonType::Symbol), + "string".value(IonType::String), + "clob".value(IonType::Clob), + "blob".value(IonType::Blob), + "list".value(IonType::List), + "sexp".value(IonType::SExp), + "struct".value(IonType::Struct), )) .parse_next(self) } @@ -1557,22 +1518,18 @@ impl<'top> TextBuffer<'top> { /// partially parsed value as a [`MatchedInt`]. fn match_base_2_int(&mut self) -> IonParseResult<'top, MatchedInt> { let initial_offset = self.offset(); - separated_pair( - opt(one_of('-')), - alt((literal("0b"), literal("0B"))), - Self::match_base_2_int_digits, - ) - .map(|(maybe_sign, digits)| { - MatchedInt::new(2, maybe_sign.is_some(), digits.offset() - initial_offset) - }) - .parse_next(self) + separated_pair(opt("-"), alt(("0b", "0B")), Self::match_base_2_int_digits) + .map(|(maybe_sign, digits)| { + MatchedInt::new(2, maybe_sign.is_some(), digits.offset() - initial_offset) + }) + .parse_next(self) } /// Matches the digits of a base-2 integer. fn match_base_2_int_digits(&mut self) -> IonMatchResult<'top> { terminated( // Zero or more digits-followed-by-underscores - zero_or_more((take_while(1.., b"01"), literal("_"))), + zero_or_more((take_while(1.., b"01"), "_")), // One or more digits one_or_more(one_of(b"01")), ) @@ -1584,7 +1541,7 @@ impl<'top> TextBuffer<'top> { /// parsed value as a [`MatchedInt`]. fn match_base_10_int(&mut self) -> IonParseResult<'top, MatchedInt> { let initial_offset = self.offset(); - (opt(one_of('-')), Self::match_base_10_int_digits) + (opt("-"), Self::match_base_10_int_digits) .map(|(maybe_sign, digits)| { MatchedInt::new(10, maybe_sign.is_some(), digits.offset() - initial_offset) }) @@ -1602,7 +1559,7 @@ impl<'top> TextBuffer<'top> { fn match_base_10_digits_before_dot(&mut self) -> IonMatchResult<'top> { alt(( // The number is either a zero... - literal("0"), + "0", // Or it's a non-zero followed by some number of '_'-separated digits ( Self::match_base_10_leading_digit, @@ -1625,7 +1582,7 @@ impl<'top> TextBuffer<'top> { // A sequence of zero or more... zero_or_more(alt(( //...underscore-followed-by-a-digit... - (literal("_"), one_of(|b: u8| b.is_ascii_digit())).take(), + ("_", one_of(|b: u8| b.is_ascii_digit())).take(), //...or one or more digits. digit1, ))) @@ -1637,8 +1594,8 @@ impl<'top> TextBuffer<'top> { fn match_base_16_int(&mut self) -> IonParseResult<'top, MatchedInt> { let initial_offset = self.offset(); separated_pair( - opt(one_of('-')), - alt((literal("0x"), literal("0X"))), + opt("-"), + alt(("0x", "0X")), Self::match_base_16_int_trailing_digits, ) .map(|(maybe_sign, digits)| { @@ -1651,7 +1608,7 @@ impl<'top> TextBuffer<'top> { fn match_base_16_int_trailing_digits(&mut self) -> IonMatchResult<'top> { terminated( // Zero or more digits-followed-by-underscores - zero_or_more((Self::take_base_16_digits1, literal("_"))), + zero_or_more((Self::take_base_16_digits1, "_")), // One or more digits Self::take_base_16_digits1, ) @@ -1694,9 +1651,9 @@ impl<'top> TextBuffer<'top> { /// Matches special IEEE-754 values, including +/- infinity and NaN. fn match_float_special_value(&mut self) -> IonParseResult<'top, MatchedFloat> { alt(( - literal("nan").value(MatchedFloat::NotANumber), - literal("+inf").value(MatchedFloat::PositiveInfinity), - literal("-inf").value(MatchedFloat::NegativeInfinity), + "nan".value(MatchedFloat::NotANumber), + "+inf".value(MatchedFloat::PositiveInfinity), + "-inf".value(MatchedFloat::NegativeInfinity), )) .parse_next(self) } @@ -1720,7 +1677,7 @@ impl<'top> TextBuffer<'top> { /// -25.2 fn match_number_with_optional_dot_and_digits(&mut self) -> IonMatchResult<'top> { ( - opt(literal("-")), + opt("-"), Self::match_base_10_digits_before_dot, opt(Self::match_dot_followed_by_base_10_digits), ) @@ -1732,7 +1689,7 @@ impl<'top> TextBuffer<'top> { /// This includes either a single zero, or a non-zero followed by any sequence of digits. fn match_digits_before_dot(&mut self) -> IonMatchResult<'top> { alt(( - literal("0"), + "0", (Self::match_leading_digit, Self::match_trailing_digits).take(), )) .parse_next(self) @@ -1745,12 +1702,12 @@ impl<'top> TextBuffer<'top> { /// Matches any number of base 10 digits, allowing underscores at any position except the end. fn match_trailing_digits(&mut self) -> IonMatchResult<'top> { - zero_or_more(preceded(opt(literal("_")), digit1)).parse_next(self) + zero_or_more(preceded(opt("_"), digit1)).parse_next(self) } /// Recognizes a decimal point followed by any number of base-10 digits. fn match_dot_followed_by_base_10_digits(&mut self) -> IonMatchResult<'top> { - (literal("."), opt(Self::match_zero_or_more_digits_after_dot)) + (".", opt(Self::match_zero_or_more_digits_after_dot)) .take() .parse_next(self) } @@ -1759,7 +1716,7 @@ impl<'top> TextBuffer<'top> { fn match_one_or_more_digits_after_dot(&mut self) -> IonMatchResult<'top> { ( // Any number of digit-sequence-with-trailing-underscores... - zero_or_more((digit1, literal("_"))), + zero_or_more((digit1, "_")), // ...and at least one trailing digit. Inputs that don't have any underscores // will be handled by this parser branch. (one_of(|b: u8| b.is_ascii_digit()), digit0), @@ -1776,7 +1733,7 @@ impl<'top> TextBuffer<'top> { digit1, terminated( // The digit sequence can be followed by an underscore... - one_of('_'), + "_", // ...as long as the character after the underscore is another digit. peek(one_of(|b: u8| b.is_ascii_digit())), ), @@ -1838,11 +1795,11 @@ impl<'top> TextBuffer<'top> { let initial_offset = self.offset(); terminated( ( - opt(literal("-")), + opt("-"), Self::match_digits_before_dot, alt(( ( - literal("."), + ".", opt(Self::match_zero_or_more_digits_after_dot), opt(Self::match_decimal_exponent), ) @@ -1912,7 +1869,7 @@ impl<'top> TextBuffer<'top> { /// Matches a short string. For example: `"foo"` pub(crate) fn match_short_string(&mut self) -> IonParseResult<'top, MatchedString> { - delimited(one_of('"'), Self::match_short_string_body, one_of('"')) + delimited("\"", Self::match_short_string_body, "\"") .map(|(_matched, contains_escaped_chars)| { if contains_escaped_chars { MatchedString::ShortWithEscapes @@ -1948,7 +1905,7 @@ impl<'top> TextBuffer<'top> { Self::match_only_complete_if_terminated( "reading a long-form string in a struct", Self::match_long_string_segments, - alt((literal(","), literal("}"))), + alt((",", "}")), Self::match_partial_long_string_delimiter, ) .parse_next(self) @@ -1958,7 +1915,7 @@ impl<'top> TextBuffer<'top> { Self::match_only_complete_if_terminated( "reading a long-form string in a list", Self::match_long_string_segments, - alt((literal(","), literal("]"))), + alt((",", "]")), Self::match_partial_long_string_delimiter, ) .parse_next(self) @@ -1990,7 +1947,7 @@ impl<'top> TextBuffer<'top> { // If the parser raises an error, bubble it up. let matched = parser.parse_next(input)?; // If the next thing in input is the terminator, report success. - match terminator.parse_peek(input.checkpoint()) { + match terminator.parse_peek(input.clone()) { Ok(_) => return Ok(matched), // Otherwise, report that the original input was incomplete. Err(ErrMode::Incomplete(_)) => return original_input.incomplete(label), @@ -2000,7 +1957,7 @@ impl<'top> TextBuffer<'top> { }; // Otherwise, see if the next thing in input is an indication that the input was // incomplete. - if partial.parse_peek(input.checkpoint()).is_ok() { + if partial.parse_peek(input.clone()).is_ok() { // If so, report that the original input was incomplete. return original_input.incomplete(label); } @@ -2056,18 +2013,13 @@ impl<'top> TextBuffer<'top> { /// If an error is encountered while traversing a list or struct, this method can be used to /// see if the problematic data was the beginning of another string segment. pub fn match_partial_long_string_delimiter(&mut self) -> IonMatchResult<'top> { - whitespace_and_then(terminated(literal("''"), eof)).parse_next(self) + whitespace_and_then(terminated("''", eof)).parse_next(self) } /// Matches a single long string segment enclosed by `'''` delimiters. /// Returns the match and a boolean indicating whether the body contained escape sequences. pub fn match_long_string_segment(&mut self) -> IonParseResult<'top, (Self, bool)> { - delimited( - literal("'''"), - Self::match_long_string_segment_body, - literal("'''"), - ) - .parse_next(self) + delimited("'''", Self::match_long_string_segment_body, "'''").parse_next(self) } /// Matches all input up to (but not including) the first unescaped instance of `'''`. @@ -2100,7 +2052,7 @@ impl<'top> TextBuffer<'top> { /// Matches a symbol ID (`$28`). fn match_symbol_id(&mut self) -> IonParseResult<'top, MatchedSymbol> { - (literal("$"), Self::match_address) + ("$", Self::match_address) .value(MatchedSymbol::SymbolId) .parse_next(self) } @@ -2117,7 +2069,7 @@ impl<'top> TextBuffer<'top> { // If we didn't check for a trailing underscore, it would be a SID (`$1`) and an // identifier (`_02`). let initial_offset = self.offset(); - terminated(digit1, peek(not(literal("_")))) + terminated(digit1, not("_")) .map(|buffer: TextBuffer<'_>| { // The matched buffer is ascii base 10 digits, parsing must succeed usize::from_str(buffer.as_utf8(initial_offset).unwrap()).unwrap() @@ -2129,12 +2081,7 @@ impl<'top> TextBuffer<'top> { /// meaning. (`true`, `false`, `nan`, `null`) pub(crate) fn match_keyword(&mut self) -> IonMatchResult<'top> { terminated( - alt(( - literal("true"), - literal("false"), - literal("null"), - literal("nan"), - )), + alt(("true", "false", "null", "nan")), Self::identifier_terminator, ) .parse_next(self) @@ -2143,7 +2090,7 @@ impl<'top> TextBuffer<'top> { /// Matches an identifier (`foo`). pub(crate) fn match_identifier(&mut self) -> IonParseResult<'top, MatchedSymbol> { ( - not(peek(Self::match_keyword)), + not(Self::match_keyword), Self::identifier_initial_character, Self::identifier_trailing_characters, Self::identifier_terminator, @@ -2153,7 +2100,7 @@ impl<'top> TextBuffer<'top> { } fn identifier_terminator(&mut self) -> IonMatchResult<'top> { - peek(not(Self::identifier_trailing_character)) + not(Self::identifier_trailing_character) .take() .parse_next(self) } @@ -2182,7 +2129,7 @@ impl<'top> TextBuffer<'top> { /// Matches a quoted symbol (`'foo'`). fn match_quoted_symbol(&mut self) -> IonParseResult<'top, MatchedSymbol> { - delimited(literal("'"), Self::match_quoted_symbol_body, literal("'")) + delimited("'", Self::match_quoted_symbol_body, "'") .map(|(_matched, contains_escaped_chars)| { if contains_escaped_chars { MatchedSymbol::QuotedWithEscapes @@ -2279,11 +2226,8 @@ impl<'top> TextBuffer<'top> { // Whether we've encountered any escapes while looking for the delimiter let mut contained_escapes = false; // The input left to search - let mut remaining = self.checkpoint(); + let mut remaining = self.clone(); loop { - // '''foo\rbar\r\nbaz''' - // foo\nbar\nbaz - // Look for the first unescaped instance of the delimiter's head. // If the input doesn't contain one, this will return an `Incomplete`. // `match_text_until_escaped` does NOT include the delimiter byte in the match, @@ -2325,19 +2269,16 @@ impl<'top> TextBuffer<'top> { /// Matches a timestamp with year precision. fn match_timestamp_y(&mut self) -> IonParseResult<'top, MatchedTimestamp> { - terminated( - Self::match_timestamp_year, - (literal("T"), Self::peek_stop_character), - ) - .map(|_year| MatchedTimestamp::new(TimestampPrecision::Year)) - .parse_next(self) + terminated(Self::match_timestamp_year, ("T", Self::peek_stop_character)) + .map(|_year| MatchedTimestamp::new(TimestampPrecision::Year)) + .parse_next(self) } /// Matches a timestamp with month precision. fn match_timestamp_ym(&mut self) -> IonParseResult<'top, MatchedTimestamp> { terminated( (Self::match_timestamp_year, Self::match_timestamp_month), - (literal("T"), Self::peek_stop_character), + ("T", Self::peek_stop_character), ) .map(|(_year, _month)| MatchedTimestamp::new(TimestampPrecision::Month)) .parse_next(self) @@ -2351,7 +2292,7 @@ impl<'top> TextBuffer<'top> { Self::match_timestamp_month, Self::match_timestamp_day, ), - (opt(literal("T")), Self::peek_stop_character), + (opt("T"), Self::peek_stop_character), ) .map(|_| MatchedTimestamp::new(TimestampPrecision::Day)) .parse_next(self) @@ -2422,29 +2363,21 @@ impl<'top> TextBuffer<'top> { /// Matches the month component of a timestamp, including a leading `-`. fn match_timestamp_month(&mut self) -> IonMatchResult<'top> { preceded( - literal("-"), - alt(( - (one_of('0'), one_of(b"123456789")), - (one_of('1'), one_of(b"012")), - )) - .take(), + "-", + alt((("0", one_of(b"123456789")), ("1", one_of(b"012")))).take(), ) .parse_next(self) } - fn match_timestamp_day2(&mut self) -> IonMatchResult<'top> { - literal("123").parse_next(self) - } - /// Matches the day component of a timestamp, including a leading `-`. fn match_timestamp_day(&mut self) -> IonMatchResult<'top> { preceded( - literal("-"), + "-", alt(( - (literal(b"0"), one_of(b"123456789".as_slice())), + (b"0", one_of(b"123456789")), // pair(one_of([b'1' as u8, b'2' as u8]), Self::match_any_digit), (one_of(b"12".as_slice()).take(), Self::match_any_digit), - (literal(b"3"), one_of(b"01".as_slice())), + (b"3", one_of(b"01")), )) .take(), ) @@ -2457,16 +2390,16 @@ impl<'top> TextBuffer<'top> { &mut self, ) -> IonParseResult<'top, (TextBuffer<'top>, TextBuffer<'top>)> { preceded( - literal("T"), + "T", separated_pair( // Hour alt(( (one_of(b"01").take(), Self::match_any_digit), - (literal(b"2"), one_of(b"0123")), + ("2", one_of(b"0123")), )) .take(), // Delimiter - literal(":"), + ":", // Minutes (one_of(b"012345"), Self::match_any_digit).take(), ), @@ -2476,24 +2409,20 @@ impl<'top> TextBuffer<'top> { /// Matches a leading `:`, and any two-digit second component from `00` to `59` inclusive. fn match_timestamp_seconds(&mut self) -> IonMatchResult<'top> { - preceded( - literal(":"), - (one_of(b"012345"), Self::match_any_digit).take(), - ) - .parse_next(self) + preceded(":", (one_of(b"012345"), Self::match_any_digit).take()).parse_next(self) } /// Matches the fractional seconds component of a timestamp, including a leading `.`. fn match_timestamp_fractional_seconds(&mut self) -> IonMatchResult<'top> { - preceded(literal("."), digit1).parse_next(self) + preceded(".", digit1).parse_next(self) } /// Matches a timestamp offset of any format. fn match_timestamp_offset(&mut self) -> IonParseResult<'top, MatchedTimestampOffset> { alt(( - literal("Z").value(MatchedTimestampOffset::Zulu), - literal("+00:00").value(MatchedTimestampOffset::Zulu), - literal("-00:00").value(MatchedTimestampOffset::Unknown), + "Z".value(MatchedTimestampOffset::Zulu), + "+00:00".value(MatchedTimestampOffset::Zulu), + "-00:00".value(MatchedTimestampOffset::Unknown), ( one_of(b"-+"), Self::match_timestamp_offset_hours_and_minutes, @@ -2516,11 +2445,11 @@ impl<'top> TextBuffer<'top> { // Hour alt(( (one_of(b"01").take(), Self::match_any_digit), - (literal(b"2"), one_of(b"0123")), + ("2", one_of(b"0123")), )) .take(), // Delimiter - literal(":"), + ":", // Minutes (one_of(b"012345"), Self::match_any_digit).take(), ) @@ -2531,10 +2460,10 @@ impl<'top> TextBuffer<'top> { pub fn match_blob(&mut self) -> IonParseResult<'top, MatchedBlob> { let initial_offset = self.offset(); delimited( - literal("{{"), + "{{", // Only whitespace (not comments) can appear within the blob Self::match_base64_content, - preceded(Self::match_optional_whitespace, literal("}}")), + (Self::match_whitespace0, "}}"), ) .map(|base64_data| { MatchedBlob::new(base64_data.offset() - initial_offset, base64_data.len()) @@ -2545,16 +2474,15 @@ impl<'top> TextBuffer<'top> { /// Matches a clob of either short- or long-form syntax. pub fn match_clob(&mut self) -> IonParseResult<'top, MatchedClob> { delimited( - literal("{{"), + "{{", preceded( - Self::match_optional_whitespace, + Self::match_whitespace0, alt(( Self::match_short_clob_body.value(MatchedClob::Short), - preceded(peek(literal("'''")), Self::match_long_clob_body) - .value(MatchedClob::Long), + Self::match_long_clob_body.value(MatchedClob::Long), )), ), - preceded(Self::match_optional_whitespace, literal("}}")), + preceded(Self::match_whitespace0, "}}"), ) .parse_next(self) } @@ -2571,12 +2499,12 @@ impl<'top> TextBuffer<'top> { let body = Self::match_only_complete_if_terminated( "reading a long-form clob", one_or_more(preceded( - Self::match_optional_whitespace, + Self::match_whitespace0, Self::match_long_clob_body_segment, )) .take(), - preceded(Self::match_optional_whitespace, literal("}}")), - preceded(Self::match_optional_whitespace, literal("''")), + preceded(Self::match_whitespace0, "}}"), + preceded(Self::match_whitespace0, "''"), ) .parse_next(self)?; @@ -2620,13 +2548,10 @@ impl<'top> TextBuffer<'top> { fn match_base64_content(&mut self) -> IonMatchResult<'top> { ( zero_or_more(( - Self::match_optional_whitespace, + Self::match_whitespace0, alt((alphanumeric1, one_of(b"+/").take())), )), - opt(preceded( - Self::match_optional_whitespace, - alt((literal("=="), literal("="))), - )), + opt(preceded(Self::match_whitespace0, alt(("==", "=")))), ) .take() .parse_next(self) @@ -2637,37 +2562,6 @@ impl<'top> TextBuffer<'top> { } } -// === nom trait implementations === -// The trait implementations that follow are necessary for `TextBuffer` to be used as an input -// type in `nom` parsers. (`nom` only supports `&str` and `&[u8]` out of the box.) Defining our own -// input type makes it possible for us to carry around additional context during the parsing process, -// which is important for providing helpful error messages. For example: we can include the absolute -// offset of the input slice currently being read in our error messages. -// -// As `TextBuffer` is just a wrapper around a `&[u8]`, these implementations mostly delegate -// to the existing trait impls for `&[u8]`. - -// impl winnow::InputTake for TextBuffer<'_> { -// fn take(&self, count: usize) -> Self { -// self.slice(0, count) -// } -// -// fn take_split(&self, count: usize) -> (Self, Self) { -// let (before, after) = self.data.split_at(count); -// let buffer_before = TextBuffer::new_with_offset(self.context, before, self.offset()); -// let buffer_after = TextBuffer::new_with_offset(self.context, after, self.offset() + count); -// // Nom's convention is to place the remaining portion of the buffer first, which leads to -// // a potentially surprising reversed tuple order. -// (buffer_after, buffer_before) -// } -// } - -// impl winnow::InputLength for TextBuffer<'_> { -// fn input_len(&self) -> usize { -// self.len() -// } -// } - pub trait IonParser<'top, O>: Parser, O, IonParseError<'top>> { // No additional functionality, this is just a trait alias } @@ -2750,32 +2644,7 @@ impl StreamIsPartial for TextBuffer<'_> { !self.is_final_data } } -// -// impl<'data> winnow::InputIter for TextBuffer<'data> { -// type Item = u8; -// type Iter = Enumerate; -// type IterElem = Copied>; -// -// fn iter_indices(&self) -> Self::Iter { -// self.iter_elements().enumerate() -// } -// -// fn iter_elements(&self) -> Self::IterElem { -// self.data.iter().copied() -// } -// -// fn position

(&self, predicate: P) -> Option -// where -// P: Fn(Self::Item) -> bool, -// { -// self.data.iter().position(|b| predicate(*b)) -// } -// -// fn slice_index(&self, count: usize) -> Result { -// self.data.slice_index(count) -// } -// } -// + impl<'a> winnow::stream::Compare<&'a str> for TextBuffer<'_> { fn compare(&self, t: &'a str) -> CompareResult { self.data.compare(t.as_bytes()) @@ -2800,88 +2669,17 @@ impl winnow::stream::Offset for TextBuffer<'_> { } } -// impl winnow::Slice> for TextBuffer<'_> { -// fn slice(&self, range: RangeFrom) -> Self { -// self.slice_to_end(range.start) -// } -// } - -// impl winnow::Slice> for TextBuffer<'_> { -// fn slice(&self, range: RangeTo) -> Self { -// self.slice(0, range.end) -// } -// } - impl FindSlice<&str> for TextBuffer<'_> { fn find_slice(&self, substr: &str) -> Option> { self.data.find_slice(substr) } } -// impl winnow::InputTakeAtPosition for TextBuffer<'_> { -// type Item = u8; -// -// fn split_at_position>(&self, predicate: P) -> IResult -// where -// P: Fn(Self::Item) -> bool, -// { -// match self.data.iter().position(|c| predicate(*c)) { -// Some(i) => Ok(self.take_split(i)), -// None => Err(ErrMode::Incomplete(Needed::new(1))), -// } -// } -// -// fn split_at_position1>( -// &self, -// predicate: P, -// e: ErrorKind, -// ) -> IResult -// where -// P: Fn(Self::Item) -> bool, -// { -// match self.data.iter().position(|c| predicate(*c)) { -// Some(0) => Err(winnow::error::ErrMode::Backtrack(E::from_error_kind(*self, e))), -// Some(i) => Ok(self.take_split(i)), -// None => Err(ErrMode::Incomplete(Needed::new(1))), -// } -// } -// -// fn split_at_position_complete>( -// &self, -// predicate: P, -// ) -> IResult -// where -// P: Fn(Self::Item) -> bool, -// { -// match self.data.iter().position(|c| predicate(*c)) { -// Some(i) => Ok(self.take_split(i)), -// None => Ok(self.take_split(self.input_len())), -// } -// } -// -// fn split_at_position1_complete>( -// &self, -// predicate: P, -// e: ErrorKind, -// ) -> IResult -// where -// P: Fn(Self::Item) -> bool, -// { -// match self.data.iter().position(|c| predicate(*c)) { -// Some(0) => Err(winnow::error::ErrMode::Backtrack(E::from_error_kind(*self, e))), -// Some(i) => Ok(self.take_split(i)), -// None => { -// if self.is_empty() { -// Err(winnow::error::ErrMode::Backtrack(E::from_error_kind(*self, e))) -// } else { -// Ok(self.take_split(self.input_len())) -// } -// } -// } -// } -// } - -// === end of `nom` trait implementations +impl Location for TextBuffer<'_> { + fn location(&self) -> usize { + self.offset() + } +} /// Takes a given parser and returns a new one that accepts any amount of leading whitespace before /// calling the original parser. @@ -2922,55 +2720,16 @@ where repeat::<_, _, (), _, _>(n, parser).take() } -/// Augments a given parser such that it returns the matched value and the number of input bytes -/// that it matched. -fn match_and_length<'data, P, O>( - mut parser: P, -) -> impl Parser, (O, usize), IonParseError<'data>> -where - P: Parser, O, IonParseError<'data>>, -{ - move |input: &mut TextBuffer<'data>| { - let offset_before = input.offset(); - let matched = match parser.parse_next(input) { - Ok(matched) => matched, - Err(e) => return Err(e), - }; - let offset_after = input.offset(); - let match_length = offset_after - offset_before; - Ok((matched, match_length)) - } -} - -/// Augments a given parser such that it returns the matched value and the range of input bytes -/// that it matched. -pub(crate) fn match_and_span<'data, P, O>( - mut parser: P, -) -> impl Parser, (O, Range), IonParseError<'data>> -where - P: Parser, O, IonParseError<'data>>, -{ - move |input: &mut TextBuffer<'data>| { - let offset_before = input.offset(); - let matched = match parser.parse_next(input) { - Ok(matched) => matched, - Err(e) => return Err(e), - }; - let offset_after = input.offset(); - let span = offset_before..offset_after; - Ok((matched, span)) - } -} - -/// Returns the number of bytes that the provided parser matched. +/// Returns a parser that discards the output and instead reports the number of bytes that matched. fn match_length<'data, P, O>( parser: P, ) -> impl Parser, usize, IonParseError<'data>> where P: Parser, O, IonParseError<'data>>, { - // Call `match_and_length` and discard the output - match_and_length(parser).map(|(_output, match_length)| match_length) + parser + .with_span() + .map(|(_output, match_range)| match_range.len()) } #[cfg(test)] diff --git a/src/lazy/text/matched.rs b/src/lazy/text/matched.rs index d14a2e95..52f8cd6e 100644 --- a/src/lazy/text/matched.rs +++ b/src/lazy/text/matched.rs @@ -23,17 +23,6 @@ use std::num::IntErrorKind; use std::ops::{Neg, Range}; use std::str::FromStr; -use bumpalo::collections::Vec as BumpVec; -use bumpalo::Bump as BumpAllocator; -use ice_code::ice as cold_path; -use num_traits::Zero; -use smallvec::SmallVec; -use winnow::combinator::alt; -use winnow::combinator::preceded; -use winnow::stream::{AsChar, Stream}; -use winnow::token::literal; -use winnow::Parser; - use crate::decimal::coefficient::Coefficient; use crate::lazy::bytes_ref::BytesRef; use crate::lazy::decoder::{Decoder, LazyRawFieldExpr, LazyRawValueExpr}; @@ -46,6 +35,15 @@ use crate::result::{DecodingError, IonFailure}; use crate::{ Decimal, Int, IonError, IonResult, IonType, RawSymbolRef, Timestamp, TimestampPrecision, }; +use bumpalo::collections::Vec as BumpVec; +use bumpalo::Bump as BumpAllocator; +use ice_code::ice as cold_path; +use num_traits::Zero; +use smallvec::SmallVec; +use winnow::combinator::alt; +use winnow::combinator::preceded; +use winnow::stream::AsChar; +use winnow::Parser; /// A partially parsed Ion value. #[derive(Clone, Copy, Debug)] @@ -750,11 +748,11 @@ fn complete_surrogate_pair<'data>( input: TextBuffer<'data>, ) -> IonResult> { let mut match_next_codepoint = preceded( - literal("\\"), + "\\", alt(( - preceded(literal("x"), TextBuffer::match_n_hex_digits(2)), - preceded(literal("u"), TextBuffer::match_n_hex_digits(4)), - preceded(literal("U"), TextBuffer::match_n_hex_digits(8)), + preceded("x", TextBuffer::match_n_hex_digits(2)), + preceded("u", TextBuffer::match_n_hex_digits(4)), + preceded("U", TextBuffer::match_n_hex_digits(8)), )), ); let (remaining, hex_digits) = match match_next_codepoint.parse_peek(input) { @@ -1173,7 +1171,7 @@ impl MatchedClob { // Use the existing short string body parser to identify all of the bytes up to the // unescaped closing `"`. This parser succeeded once during matching, so we know it will // succeed again here; it's safe to unwrap(). - let (body, _has_escapes) = remaining.checkpoint().match_short_string_body().unwrap(); + let (body, _has_escapes) = remaining.clone().match_short_string_body().unwrap(); // There are escaped characters. We need to build a new version of our string // that replaces the escaped characters with their corresponding bytes. let mut sanitized = BumpVec::with_capacity_in(body.len(), allocator); @@ -1203,7 +1201,7 @@ impl MatchedClob { // This is the same parser that matched the input initially, which means that the only // reason it wouldn't succeed here is if the input is empty, meaning we're done reading. while let Ok((remaining_after_match, (segment_body, _has_escapes))) = preceded( - TextBuffer::match_optional_whitespace, + TextBuffer::match_whitespace0, TextBuffer::match_long_string_segment, ) .parse_peek(remaining) @@ -1228,7 +1226,6 @@ mod tests { use crate::lazy::expanded::{EncodingContext, EncodingContextRef}; use crate::lazy::text::buffer::TextBuffer; use crate::{Decimal, Int, IonResult, Timestamp}; - use winnow::stream::Stream; #[test] fn read_ints() -> IonResult<()> { @@ -1237,7 +1234,7 @@ mod tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); let buffer = TextBuffer::new(context, data.as_bytes(), true); - let matched = buffer.checkpoint().match_int().unwrap(); + let matched = buffer.clone().match_int().unwrap(); let actual = matched.read(buffer).unwrap(); assert_eq!( actual, expected, @@ -1271,7 +1268,7 @@ mod tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); let buffer = TextBuffer::new(context, data.as_bytes(), true); - let matched = buffer.checkpoint().match_timestamp().unwrap(); + let matched = buffer.clone().match_timestamp().unwrap(); let actual = matched.read(buffer).unwrap(); assert_eq!( actual, expected, @@ -1374,13 +1371,13 @@ mod tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); let buffer = TextBuffer::new(context, data.as_bytes(), true); - let result = buffer.checkpoint().match_decimal(); + let result = buffer.clone().match_decimal(); assert!( result.is_ok(), "Unexpected match error for input: '{data}': {:?}", result ); - let matched = buffer.checkpoint().match_decimal().expect("match decimal"); + let matched = buffer.clone().match_decimal().expect("match decimal"); let result = matched.read(buffer); assert!( result.is_ok(), @@ -1456,7 +1453,7 @@ mod tests { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); let buffer = TextBuffer::new(context, data.as_bytes(), true); - let matched = buffer.checkpoint().match_blob().unwrap(); + let matched = buffer.clone().match_blob().unwrap(); let actual = matched.read(context.allocator(), buffer).unwrap(); assert_eq!( actual, @@ -1565,7 +1562,7 @@ mod tests { let buffer = TextBuffer::new(context, data.as_bytes(), true); // All `read_clob` usages should be accepted by the matcher, so we can `unwrap()` the // call to `match_clob()`. - let matched = buffer.checkpoint().match_clob().unwrap(); + let matched = buffer.clone().match_clob().unwrap(); // The resulting buffer slice may be rejected during reading. matched.read(context.allocator(), buffer) } diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index eb014620..785f512d 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -4,7 +4,7 @@ use std::fmt; use std::fmt::{Debug, Formatter}; use std::ops::Range; use winnow::combinator::opt; -use winnow::token::{literal, one_of}; +use winnow::token::one_of; use winnow::Parser; use crate::lazy::decoder::private::LazyContainerPrivate; @@ -120,10 +120,7 @@ impl RawTextListIterator_1_0<'_> { .match_optional_comments_and_whitespace() .with_context("seeking the end of a list", input)?; // Skip an optional comma and more whitespace - let _ = ( - opt(literal(",")), - TextBuffer::match_optional_comments_and_whitespace, - ) + let _ = (opt(","), TextBuffer::match_optional_comments_and_whitespace) .parse_next(&mut input) .with_context("skipping a list's trailing comma", input)?; let _end_delimiter = one_of(|c| c == b']') diff --git a/src/lazy/text/raw/struct.rs b/src/lazy/text/raw/struct.rs index 5c800086..a24f95a2 100644 --- a/src/lazy/text/raw/struct.rs +++ b/src/lazy/text/raw/struct.rs @@ -14,7 +14,7 @@ use crate::lazy::text::value::{LazyRawTextValue_1_0, RawTextAnnotationsIterator} use crate::{IonResult, RawSymbolRef}; use std::ops::Range; use winnow::combinator::opt; -use winnow::token::{literal, one_of}; +use winnow::token::one_of; use winnow::Parser; #[derive(Clone, Copy, Debug)] @@ -47,10 +47,7 @@ impl<'top> RawTextStructIterator_1_0<'top> { .match_optional_comments_and_whitespace() .with_context("seeking the end of a struct", input)?; // Skip an optional comma and more whitespace - let _ = ( - opt(literal(",")), - TextBuffer::match_optional_comments_and_whitespace, - ) + let _ = (opt(","), TextBuffer::match_optional_comments_and_whitespace) .parse_next(&mut input) .with_context("skipping a struct field's trailing comma", input)?; let _end_delimiter = one_of(|c| c == b'}') diff --git a/src/lazy/text/raw/v1_1/reader.rs b/src/lazy/text/raw/v1_1/reader.rs index 9005cf7a..a529bdfb 100644 --- a/src/lazy/text/raw/v1_1/reader.rs +++ b/src/lazy/text/raw/v1_1/reader.rs @@ -25,7 +25,7 @@ use crate::lazy::text::value::{LazyRawTextValue_1_1, RawTextAnnotationsIterator} use crate::{v1_1, Encoding, IonResult, IonType, RawSymbolRef}; use bumpalo::collections::Vec as BumpVec; use winnow::combinator::opt; -use winnow::token::{literal, one_of}; +use winnow::token::one_of; use winnow::Parser; pub struct LazyRawTextReader_1_1<'data> { @@ -342,10 +342,7 @@ impl<'top> TextListSpanFinder_1_1<'top> { .with_context("seeking the end of a list", input)?; // Skip an optional comma and more whitespace - let _ = ( - opt(literal(",")), - TextBuffer::match_optional_comments_and_whitespace, - ) + let _ = (opt(","), TextBuffer::match_optional_comments_and_whitespace) .parse_next(&mut input) .with_context("skipping a v1.1 list item's trailing comma", input)?; let _end_delimiter = one_of(|c: u8| c == b']') @@ -810,10 +807,7 @@ impl<'top> TextStructSpanFinder_1_1<'top> { .match_optional_comments_and_whitespace() .with_context("seeking the end of a struct", input)?; // Skip an optional comma and more whitespace - let _ = ( - opt(literal(",")), - TextBuffer::match_optional_comments_and_whitespace, - ) + let _ = (opt(","), TextBuffer::match_optional_comments_and_whitespace) .parse_next(&mut input) .with_context("skipping a struct field's trailing comma", input)?; let _end_delimiter = one_of(|c: u8| c == b'}') From b2d65fd070646a7aaf45f891f52b512e4ee8bc91 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Fri, 3 Jan 2025 12:36:17 -0500 Subject: [PATCH 09/32] update read_many_structs --- Cargo.toml | 2 +- benches/read_many_structs.rs | 6 +++--- profile.json | 1 + src/lazy/text/matched.rs | 37 +++--------------------------------- 4 files changed, 8 insertions(+), 38 deletions(-) create mode 100644 profile.json diff --git a/Cargo.toml b/Cargo.toml index 36dc3e90..b31011f1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,7 +57,7 @@ compact_str = "0.8.0" chrono = { version = "0.4", default-features = false, features = ["clock", "std", "wasmbind"] } delegate = "0.12.0" thiserror = "1.0" -winnow = "0.6" +winnow = { version = "0.6", features = ["simd"] } num-integer = "0.1.44" num-traits = "0.2" arrayvec = "0.7" diff --git a/benches/read_many_structs.rs b/benches/read_many_structs.rs index d64278a3..0f448790 100644 --- a/benches/read_many_structs.rs +++ b/benches/read_many_structs.rs @@ -444,12 +444,12 @@ mod benchmark { b.iter(|| { // We don't have an API for doing this with the application-level reader yet, so // for now we use a manually configured context and a raw reader. - let mut reader = LazyRawBinaryReader_1_1::new(binary_1_1_data); + let mut reader = LazyRawBinaryReader_1_1::new(context_ref, binary_1_1_data); let mut num_top_level_values: usize = 0; // Skip past the IVM - reader.next(context_ref).unwrap().expect_ivm().unwrap(); + reader.next().unwrap().expect_ivm().unwrap(); // Expect every top-level item to be an e-expression. - while let RawStreamItem::EExp(raw_eexp) = reader.next(context_ref).unwrap() { + while let RawStreamItem::EExp(raw_eexp) = reader.next().unwrap() { num_top_level_values += 1; // Look up the e-expression's invoked macro ID in the encoding context. let eexp = raw_eexp.resolve(context_ref).unwrap(); diff --git a/profile.json b/profile.json new file mode 100644 index 00000000..0d176ddb --- /dev/null +++ b/profile.json @@ -0,0 +1 @@ +{"meta":{"categories":[{"name":"Other","color":"grey","subcategories":["Other"]},{"name":"User","color":"yellow","subcategories":["Other"]},{"name":"Kernel","color":"orange","subcategories":["Other"]}],"debug":false,"extensions":{"baseURL":[],"id":[],"length":0,"name":[]},"interval":1.0,"preprocessedProfileVersion":46,"processType":0,"product":"cargo","sampleUnits":{"eventDelay":"ms","threadCPUDelta":"µs","time":"ms"},"startTime":1735925303312.499,"symbolicated":false,"pausedRanges":[],"version":24,"usesOnlyOneStackType":true,"doesNotUseFrameImplementation":true,"sourceCodeIsNotOnSearchfox":true,"markerSchema":[]},"libs":[{"name":"libc.so.6","path":"/usr/lib/x86_64-linux-gnu/libc.so.6","debugName":"libc.so.6","debugPath":"/usr/lib/x86_64-linux-gnu/libc.so.6","breakpadId":"84EF0F492403910C833978D494D39E530","codeId":"490fef8403240c91833978d494d39e537409b92e","arch":null},{"name":"cargo","path":"/home/zslayton/.cargo/bin/cargo","debugName":"cargo","debugPath":"/home/zslayton/.cargo/bin/cargo","breakpadId":"F8348331932A20DDBAAE626055E732A50","codeId":null,"arch":null},{"name":"cargo","path":"/home/zslayton/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo","debugName":"cargo","debugPath":"/home/zslayton/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo","breakpadId":"FBB174D2105A6991A30CFCCD713072970","codeId":null,"arch":null},{"name":"read_many_structs-8374511ab21ccefd","path":"/home/zslayton/ion-rust/target/release/deps/read_many_structs-8374511ab21ccefd","debugName":"read_many_structs-8374511ab21ccefd","debugPath":"/home/zslayton/ion-rust/target/release/deps/read_many_structs-8374511ab21ccefd","breakpadId":"AB9EFC7B7FBC6EB929F5DD9D2D2401BC0","codeId":"7bfc9eabbc7fb96e29f5dd9d2d2401bc642433c7","arch":null},{"name":"libm.so.6","path":"/usr/lib/x86_64-linux-gnu/libm.so.6","debugName":"libm.so.6","debugPath":"/usr/lib/x86_64-linux-gnu/libm.so.6","breakpadId":"5DEC08A5F18BB72FFD08204E0F87518E0","codeId":"a508ec5d8bf12fb7fd08204e0f87518e5cd0b102","arch":null}],"threads":[{"frameTable":{"length":1,"address":[962699],"inlineDepth":[0],"category":[1],"subcategory":[0],"func":[0],"nativeSymbol":[null],"innerWindowID":[null],"implementation":[null],"line":[null],"column":[null],"optimizations":[null]},"funcTable":{"length":1,"name":[1],"isJS":[false],"relevantForJS":[false],"resource":[0],"fileName":[null],"lineNumber":[null],"columnNumber":[null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"samply","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700674","processName":"samply","processShutdownTime":116605175.819968,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":1,"lib":[0],"name":[0],"host":[null],"type":[1]},"samples":{"length":5,"stack":[0,0,0,0,0],"time":[116605175.807971,116605175.813367,116605175.815109,116605175.8166,116605175.818338],"weight":[1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,5,1,1,1]},"stackTable":{"length":1,"prefix":[null],"frame":[0],"category":[1],"subcategory":[0]},"stringArray":["libc.so.6","0xeb08b"],"tid":"700674","unregisterTime":116605175.819968},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"<700677>","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700677.2","unregisterTime":null},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700694.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700694.1","unregisterTime":116622126.598209},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700698.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700698.1","unregisterTime":116622126.593796},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700699.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700699.1","unregisterTime":116622126.595403},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700700.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700700.1","unregisterTime":116622126.592632},{"frameTable":{"length":1,"address":[-1],"inlineDepth":[0],"category":[1],"subcategory":[0],"func":[0],"nativeSymbol":[null],"innerWindowID":[null],"implementation":[null],"line":[null],"column":[null],"optimizations":[null]},"funcTable":{"length":1,"name":[0],"isJS":[false],"relevantForJS":[false],"resource":[-1],"fileName":[null],"lineNumber":[null],"columnNumber":[null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700701.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":6,"stack":[0,0,0,0,0,0],"time":[116622126.998948,116622127.261226,116622127.971256,116622128.691245,116622129.542269,116622130.450002],"weight":[1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[408,137,710,719,851,907]},"stackTable":{"length":1,"prefix":[null],"frame":[0],"category":[1],"subcategory":[0]},"stringArray":["0x75961ff1e88d"],"tid":"700701.1","unregisterTime":116622130.852274},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700702.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700702.1","unregisterTime":116622126.594564},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700703.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700703.1","unregisterTime":116622126.594546},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700705.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700705.1","unregisterTime":116622126.577824},{"frameTable":{"length":95,"address":[-1,953382,171583,171407,964611,953586,962480,3577569,3604505,3781562,3678425,5113614,1132514,3781630,3783520,3679216,3719190,3747670,5392903,1705931,3750089,5398297,5379153,5383834,5384652,676449,673968,5380666,1706186,3746632,5394203,2667486,3270218,678152,674697,5398483,5384686,3747536,1706350,5384728,5387044,5387626,3406712,5380632,5451097,674762,1706698,5383870,3747196,5389592,5411539,5442578,676946,665353,5436425,5404256,5408879,5387040,5398544,5387548,5390297,-1,5436143,5408435,3680446,3723487,3729658,3731495,3737145,3731122,3734851,3736644,3700551,3702014,676022,3736428,1705937,3788313,3796548,3802000,3780442,3685206,3713513,3706734,3708378,1706028,3795890,3779902,3706307,1678176,3579179,5136563,5144183,964706,962699],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":95,"name":[0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[-1,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"cargo","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700674.1","processName":"cargo","processShutdownTime":116605196.597897,"processStartupTime":116605175.819968,"processType":"default","registerTime":116605175.819968,"resourceTable":{"length":2,"lib":[1,0],"name":[1,3],"host":[null,null],"type":[1,1]},"samples":{"length":31,"stack":[0,12,19,26,28,35,38,40,44,50,51,57,60,26,61,65,66,68,69,70,92,94,103,107,112,112,112,112,112,112,113],"time":[116605175.857458,116605178.618369,116605181.372471,116605182.087683,116605182.169262,116605182.256182,116605182.46171,116605182.934015,116605183.596309,116605184.344032,116605185.014626,116605186.139387,116605186.26208,116605186.382726,116605186.608832,116605187.039143,116605187.719507,116605188.528322,116605189.368723,116605190.279093,116605191.238413,116605192.298201,116605193.431922,116605194.498359,116605195.503392,116605195.509401,116605195.512752,116605195.515921,116605195.519054,116605195.531888,116605195.942755],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,2760,2593,715,81,86,205,472,662,747,659,1124,122,120,226,430,680,808,840,910,959,1059,1133,1066,932,6,3,3,3,12,410]},"stackTable":{"length":114,"prefix":[null,null,1,2,3,4,5,6,7,8,9,10,11,8,13,14,15,16,17,18,16,20,21,22,23,24,25,21,27,16,29,30,31,32,33,34,20,36,37,16,39,23,41,42,43,21,45,46,47,48,49,36,16,52,53,54,55,56,54,58,59,41,20,62,63,64,52,null,67,54,59,14,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,83,93,13,95,96,97,98,99,100,101,102,95,104,105,106,6,108,109,110,111,null],"frame":[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,26,27,28,29,30,31,32,33,34,26,35,23,36,37,38,39,40,41,42,43,44,32,33,45,46,47,48,49,50,51,52,53,54,55,56,57,58,39,40,59,60,61,26,62,63,64,65,66,67,68,66,67,68,66,67,68,66,67,68,66,69,70,67,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,94],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["0x76effd8eb08b","cargo","0xe8c26","libc.so.6","0x29e3f","0x29d8f","0xeb803","0xe8cf2","0xeafb0","0x3696e1","0x370019","0x39b3ba","0x3820d9","0x4e070e","0x1147e2","0x39b3fe","0x39bb60","0x3823f0","0x38c016","0x392f56","0x524a07","0x1a07cb","0x3938c9","0x525f19","0x521451","0x52269a","0x5229cc","0xa5261","0xa48b0","0x521a3a","0x1a08ca","0x392b48","0x524f1b","0x28b3de","0x31e64a","0xa5908","0xa4b89","0x525fd3","0x5229ee","0x392ed0","0x1a096e","0x522a18","0x523324","0x52356a","0x33fb78","0x521a18","0x532d59","0xa4bca","0x1a0aca","0x5226be","0x392d7c","0x523d18","0x5292d3","0x530c12","0xa5452","0xa2709","0x52f409","0x527660","0x52886f","0x523320","0x526010","0x52351c","0x523fd9","0x611f0952a46f","0x52f2ef","0x5286b3","0x3828be","0x38d0df","0x38e8fa","0x38f027","0x390639","0x38eeb2","0x38fd43","0x390444","0x387747","0x387cfe","0xa50b6","0x39036c","0x1a07d1","0x39ce19","0x39ee44","0x3a0390","0x39af5a","0x383b56","0x38a9e9","0x388f6e","0x3895da","0x1a082c","0x39ebb2","0x39ad3e","0x388dc3","0x199b60","0x369d2b","0x4e60b3","0x4e7e77","0xeb862","0xeb08b"],"tid":"700674.1","unregisterTime":116605196.597897},{"frameTable":{"length":370,"address":[6172712,171583,171407,6961188,24789293,6390936,6318722,6891257,6960008,18228651,18275296,24914034,18274897,18699523,18771153,21111941,21108987,21108630,20823295,19985743,19987265,19991662,19987612,21146857,21146229,20168701,20174175,20184257,20186889,20233120,19986863,19998837,19999254,19998622,19999610,6891289,6934036,6756041,13416507,13417214,13093754,15464741,15467314,13759878,15502080,15478939,9410720,10807483,11805301,10556977,24435370,24296413,24254492,676449,674012,669176,665029,1157363,1157163,15479242,12644432,14873241,7467257,15392955,1678736,15502397,15513626,15423342,12748670,12785594,11042784,12622957,12593422,14220139,14216945,14157073,14141548,14157674,14158474,22912694,25070807,12755374,12785321,14156946,15563740,14220538,12822244,12526071,9518208,11513563,14156737,14153608,10701076,7543815,14153525,14143273,24807926,24829710,1132514,10701054,10456828,14160794,9526200,1678180,7543730,10456483,11513921,7543347,676272,14151530,24488615,24476204,24476725,15425997,7504141,673968,15514285,12469939,14785128,12438154,14944813,21361942,21404387,21642830,21579623,21582182,21516333,1205481,15502705,15480734,13646019,15495302,13649084,25011850,25060274,24232155,676946,665248,13761948,14156947,12787445,10474772,12525409,12774415,7524593,1678717,15427633,10709879,10461456,10164555,10164744,11513461,15433980,12664686,10463163,11513796,13762848,15370014,15372001,12512714,14220822,14218513,14209891,14052403,13396235,15645529,9306853,15643514,11707003,24422154,24298549,24421746,24310326,24297939,24291685,24257001,672428,15652541,15732920,15747707,9306869,10383615,10243123,9099373,9716694,10409949,15640939,24296615,24291333,24256972,678152,674697,13396236,24435161,25019005,9099847,10355352,9640020,10585860,9351775,11084923,9803915,11027939,11173574,9722327,11484118,9222159,11484194,676065,15651595,15665777,15693118,11579783,676396,10556323,24425005,24331648,24322290,24326145,24359520,24282072,24300691,24291806,24424724,24431926,24308707,24321917,13396845,12488165,10556947,1705937,15640763,1706340,14218358,14125042,14093753,666912,24298668,1706363,24359590,24331520,24293764,15734347,10960538,1706018,9307753,10381471,10198828,9327665,10386831,10295668,10126740,9398771,9514100,9399291,10558851,24439703,24252681,24425707,24442912,15370865,12469963,15356435,10626468,21675193,21605423,21608381,21420747,21419930,21543705,21516206,15471689,15238226,12268211,12269287,12268604,12277323,12284766,12286213,12690038,7463057,10477006,12820778,11513720,15475170,8261966,10980828,8220616,15465259,15168793,15187377,11907323,11851547,7506639,8987767,7901763,15169224,15259419,15198870,12034298,12032485,12032735,14883661,12040883,12003803,22983410,22981843,24876565,24900956,1130558,15265796,15260579,11958512,11993917,11966269,11967409,11978594,11838698,7860855,15265942,665389,15169527,15208520,14843423,10724715,7652223,15214890,12168238,12117981,10592364,10592437,666818,594523,10620403,10592460,10594026,15214901,8161100,23075660,24913162,1173645,15215014,7935920,15173907,12207439,12205701,12206257,10942868,24844772,24842167,15465272,8255260,8217652,8022739,8240217,8240014,8268838,8269460,677017,1174139,15465285,8255868,8256066,8223974,8025787,7982183,8276241,8185762,8184541,665403],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":370,"name":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"cargo","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700674.2","processName":"cargo","processShutdownTime":116622132.982161,"processStartupTime":116605196.597897,"processType":"default","registerTime":116605196.597897,"resourceTable":{"length":2,"lib":[2,0],"name":[0,2],"host":[null,null],"type":[1,1]},"samples":{"length":75,"stack":[31,38,62,71,87,105,115,116,120,122,120,137,140,142,147,156,169,179,190,193,197,205,209,220,241,244,252,263,278,286,298,298,298,298,298,300,305,319,324,327,332,348,350,352,362,365,379,388,391,406,409,411,424,438,449,457,465,478,490,512,517,536,544,549,549,549,554,554,554,554,554,556,563,573,586],"time":[116605199.951964,116605202.935332,116605205.214203,116605207.070161,116605208.729994,116605210.171994,116605210.93901,116605211.706874,116605212.54738,116605213.520116,116605214.63707,116605215.653277,116605216.574077,116605217.442908,116605218.318017,116605219.223281,116605220.183016,116605254.736086,116605257.106089,116605258.815916,116605260.238555,116605261.461971,116605262.510733,116605263.512813,116605264.438711,116605265.291885,116605266.108662,116605266.875684,116605267.603144,116605268.317969,116605268.515587,116605268.522724,116605268.527633,116605268.532561,116605268.537449,116605268.546362,116605268.68044,116605269.534662,116605270.209792,116605270.914554,116605271.608777,116605272.302414,116605273.047737,116605273.893304,116605274.759143,116605275.652663,116605276.605422,116605277.556303,116605278.50099,116605279.476468,116605280.43687,116605281.406505,116605289.091753,116605305.190264,116605307.185031,116605308.703235,116605309.916478,116605310.996931,116605311.913235,116605312.752165,116605313.547798,116605313.886085,116605314.017589,116605314.03459,116605314.062601,116605314.266934,116605314.774024,116605314.780136,116605314.784484,116605314.788539,116605314.792882,116605314.803327,116605315.006826,116605315.707689,116605317.413885],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,2983,2278,1855,1659,1416,767,767,840,972,1116,1016,920,868,875,905,959,3392,2370,1709,1422,1223,1048,1002,925,853,816,767,727,714,166,7,4,4,4,8,134,843,675,704,694,693,745,845,865,893,952,950,944,975,960,969,1022,2517,1994,1518,1213,1080,916,838,795,272,131,17,28,204,396,6,4,4,4,10,203,652,1706]},"stackTable":{"length":587,"prefix":[null,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,26,27,28,29,30,19,32,33,34,35,36,37,null,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,null,63,64,65,66,67,68,69,70,null,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,null,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,92,106,107,108,109,110,111,112,113,114,112,112,117,118,119,113,121,null,123,124,125,126,127,128,129,130,131,132,133,134,135,136,114,138,139,114,141,98,143,144,145,146,null,148,149,150,151,152,153,154,155,47,157,158,159,160,161,162,163,164,165,166,167,168,47,170,171,172,173,174,175,176,177,178,63,180,181,182,183,184,185,186,187,188,189,183,191,192,183,194,195,196,46,198,199,200,201,202,203,204,199,206,207,208,null,210,211,212,213,214,215,216,217,218,219,63,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,218,242,243,null,245,246,247,248,249,250,251,229,253,254,255,256,257,258,259,260,261,262,null,264,265,266,267,268,269,270,271,272,273,274,275,276,277,255,279,280,281,282,283,284,285,249,287,288,289,290,291,292,293,294,295,296,297,296,299,218,301,302,303,304,null,306,307,308,309,310,311,312,313,314,315,316,317,318,232,320,321,322,323,259,325,326,254,328,329,330,331,null,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,254,349,229,351,46,353,354,355,356,357,358,359,360,361,233,363,364,null,366,367,368,369,370,371,372,373,374,375,376,377,378,218,380,381,382,383,384,385,386,387,242,389,390,null,392,393,394,395,396,397,398,399,400,401,402,403,404,405,254,407,408,328,410,353,412,413,414,415,416,417,418,419,420,421,422,423,45,425,426,427,428,429,430,431,432,433,434,435,436,437,6,439,440,441,442,443,444,445,446,447,448,444,450,451,452,453,454,455,456,450,458,459,460,461,462,463,464,44,466,467,468,469,470,471,472,473,474,475,476,477,467,479,480,481,482,483,484,485,486,487,488,489,null,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,450,513,514,515,516,null,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,466,537,538,539,540,541,542,543,541,545,546,547,548,513,550,551,552,553,513,555,450,557,558,559,560,561,562,444,564,565,566,567,568,569,570,571,572,444,574,575,576,577,578,579,580,581,582,583,584,585],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,20,21,22,23,24,25,26,27,28,29,30,31,32,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,42,43,44,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,43,65,66,67,81,82,70,71,72,73,74,83,84,85,86,87,88,89,69,70,71,72,73,74,90,91,92,93,94,95,96,97,98,99,100,66,67,81,69,70,71,72,73,74,75,76,77,101,102,103,104,105,106,107,108,90,109,110,111,112,41,42,43,65,66,113,114,53,115,65,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,66,67,81,69,70,71,72,73,74,139,140,141,142,143,144,63,145,138,66,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,156,157,158,159,160,161,162,163,164,167,168,169,170,171,172,169,173,174,175,53,176,177,178,179,164,165,180,181,182,183,184,185,186,48,49,50,187,188,174,189,190,191,115,37,38,39,40,41,42,156,157,158,159,160,161,162,163,192,193,194,53,54,55,56,57,58,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,161,162,163,164,186,48,214,215,216,217,218,219,220,221,173,222,175,53,115,175,53,115,214,223,224,225,226,39,40,41,42,156,157,158,159,160,161,162,163,227,228,53,115,229,230,231,232,156,157,158,159,160,233,234,235,136,236,169,237,238,159,160,161,162,163,164,186,48,214,215,216,217,218,239,186,48,214,215,240,241,175,53,115,242,243,244,165,245,246,247,248,249,250,251,252,253,251,252,253,251,254,255,256,257,258,259,260,261,262,263,121,122,264,265,266,267,268,269,270,271,272,273,274,274,275,276,277,278,279,280,281,282,283,35,36,37,38,39,40,41,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,299,301,302,288,296,297,298,299,300,303,304,305,306,307,308,309,310,310,310,310,311,312,313,314,315,316,317,318,2,3,4,5,6,35,36,37,38,39,40,288,296,310,310,310,310,310,310,319,136,320,321,322,323,324,325,4,5,6,35,36,37,38,39,40,288,321,326,327,328,329,330,136,331,332,321,326,327,328,329,333,136,320,334,335,307,308,309,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,365,366,367,368,136,369],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["cargo","0x5e3028","libc.so.6","0x29e3f","0x29d8f","0x6a3824","0x17a412d","0x618498","0x606a82","0x6926f9","0x6a3388","0x11625ab","0x116dbe0","0x17c2872","0x116da51","0x11d5503","0x11e6cd1","0x1422485","0x14218fb","0x1421796","0x13dbcff","0x130f54f","0x130fb41","0x1310c6e","0x130fc9c","0x142ace9","0x142aa75","0x133bffd","0x133d55f","0x133fcc1","0x1340709","0x134bba0","0x130f9af","0x1312875","0x1312a16","0x131279e","0x1312b7a","0x692719","0x69ce14","0x6716c9","0xccb83b","0xccbafe","0xc7cb7a","0xebf925","0xec0332","0xd1f586","0xec8b00","0xec309b","0x8f98a0","0xa4e8bb","0xb42275","0xa11631","0x174daaa","0x172bbdd","0x172181c","0xa5261","0xa48dc","0xa35f8","0xa25c5","0x11a8f3","0x11a82b","0xec31ca","0xc0f050","0xe2f299","0x71f0f9","0xeae0bb","0x199d90","0xec8c3d","0xecb81a","0xeb576e","0xc2877e","0xc317ba","0xa87fe0","0xc09c6d","0xc0290e","0xd8fb6b","0xd8eef1","0xd80511","0xd7c86c","0xd8076a","0xd80a8a","0x15d9eb6","0x17e8cd7","0xc2a1ae","0xc316a9","0xd80492","0xed7bdc","0xd8fcfa","0xc3a6e4","0xbf21f7","0x913c80","0xafaedb","0xd803c1","0xd7f788","0xa34914","0x731c07","0xd7f735","0xd7cf29","0x17a89f6","0x17adf0e","0x1147e2","0xa348fe","0x9f8efc","0xd8139a","0x915bb8","0x199b64","0x731bb2","0x9f8da3","0xafb041","0x731a33","0xa51b0","0xd7ef6a","0x175aaa7","0x1757a2c","0x1757c35","0xeb61cd","0x72810d","0xa48b0","0xecbaad","0xbe46b3","0xe19a68","0xbdca8a","0xe40a2d","0x145f516","0x1469ae3","0x14a3e4e","0x1494767","0x1495166","0x148502d","0x1264e9","0xec8d71","0xec379e","0xd038c3","0xec7086","0xd044bc","0x17da68a","0x17e63b2","0x171c0db","0xa5452","0xa26a0","0xd1fd9c","0xd80493","0xc31ef5","0x9fd514","0xbf1f61","0xc2ec0f","0x72d0f1","0x199d7d","0xeb6831","0xa36b77","0x9fa110","0x9b194b","0x9b1a08","0xafae75","0xeb80fc","0xc13f6e","0x9fa7bb","0xafafc4","0xd20120","0xea871e","0xea8ee1","0xbeedca","0xd8fe16","0xd8f511","0xd8d363","0xd66c33","0xcc690b","0xeebb59","0x8e02e5","0xeeb37a","0xb2a27b","0x174a70a","0x172c435","0x174a572","0x172f236","0x172c1d3","0x172a965","0x17221e9","0xa42ac","0xeed6bd","0xf010b8","0xf04a7b","0x8e02f5","0x9e70ff","0x9c4c33","0x8ad86d","0x9443d6","0x9ed7dd","0xeea96b","0x172bca7","0x172a805","0x17221cc","0xa5908","0xa4b89","0xcc690c","0x174d9d9","0x17dc27d","0x8ada47","0x9e0298","0x931854","0xa18704","0x8eb25f","0xa9247b","0x95988b","0xa845e3","0xaa7ec6","0x9459d7","0xaf3bd6","0x8cb80f","0xaf3c22","0xa50e1","0xeed30b","0xef0a71","0xef753e","0xb0b187","0xa522c","0xa113a3","0x174b22d","0x1734580","0x17320f2","0x1733001","0x173b260","0x17283d8","0x172cc93","0x172a9de","0x174b114","0x174cd36","0x172ebe3","0x1731f7d","0xcc6b6d","0xbe8de5","0xa11613","0x1a07d1","0xeea8bb","0x1a0964","0xd8f476","0xd787f2","0xd70db9","0xa2d20","0x172c4ac","0x1a097b","0x173b2a6","0x1734500","0x172b184","0xf0164b","0xa73e9a","0x1a0822","0x8e0669","0x9e689f","0x9b9f2c","0x8e5431","0x9e7d8f","0x9d1974","0x9a8594","0x8f69f3","0x912c74","0x8f6bfb","0xa11d83","0x174eb97","0x1721109","0x174b4eb","0x174f820","0xea8a71","0xbe46cb","0xea5213","0xa225a4","0x14abcb9","0x149ac2f","0x149b7bd","0x146dacb","0x146d79a","0x148bb19","0x1484fae","0xec1449","0xe88452","0xbb32b3","0xbb36e7","0xbb343c","0xbb564b","0xbb735e","0xbb7905","0xc1a276","0x71e091","0x9fddce","0xc3a12a","0xafaf78","0xec21e2","0x7e114e","0xa78ddc","0x7d6fc8","0xebfb2b","0xe77519","0xe7bdb1","0xb5b0fb","0xb4d71b","0x728acf","0x892477","0x789243","0xe776c8","0xe8d71b","0xe7ea96","0xb7a0fa","0xb799e5","0xb79adf","0xe31b4d","0xb7bab3","0xb729db","0x15eb2f2","0x15eacd3","0x17b9615","0x17bf55c","0x11403e","0xe8f004","0xe8dba3","0xb678f0","0xb7033d","0xb6973d","0xb69bb1","0xb6c762","0xb4a4ea","0x77f277","0xe8f096","0xa272d","0xe777f7","0xe81048","0xe27e1f","0xa3a56b","0x74c37f","0xe8292a","0xb9ac2e","0xb8e7dd","0xa1a06c","0xa1a0b5","0xa2cc2","0x9125b","0xa20df3","0xa1a0cc","0xa1a6ea","0xe82935","0x7c874c","0x1601b4c","0x17c250a","0x11e88d","0xe829a6","0x7917b0","0xe78913","0xba454f","0xba3e85","0xba40b1","0xa6f994","0x17b19e4","0x17b0fb7","0xebfb38","0x7df71c","0x7d6434","0x7a6ad3","0x7dbc59","0x7dbb8e","0x7e2c26","0x7e2e94","0xa5499","0x11ea7b","0xebfb45","0x7df97c","0x7dfa42","0x7d7ce6","0x7a76bb","0x79cc67","0x7e4911","0x7ce7a2","0x7ce2dd","0xa273b"],"tid":"700674.2","unregisterTime":116622132.982161},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700676>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700674.2","processName":"cargo","processShutdownTime":116622132.982161,"processStartupTime":116605196.597897,"processType":"default","registerTime":116605313.685292,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700676","unregisterTime":116605314.754055},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"cargo","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677","processName":"cargo","processShutdownTime":116605319.240631,"processStartupTime":116605318.842038,"processType":"default","registerTime":116605318.842038,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700677","unregisterTime":116605319.240631},{"frameTable":{"length":1706,"address":[176276,171583,171407,1786214,267218,1780016,1697350,1706698,1697379,1383764,195196,532224,531228,1368664,184787,1327969,3014596,3016537,3045879,3047373,3156480,2864443,-1,674778,673968,190780,3251890,3258235,3046150,3055208,3114225,3118653,2862102,531631,1070165,2876835,3118534,2862093,532462,1384890,1706186,3118684,3054255,3107294,3051739,3085915,3143276,3143223,3050470,3067284,3118839,2864227,533277,3385496,3386741,3493043,678152,674697,-1,668235,3046114,533794,1367842,1368988,158863,3049832,3061897,3118414,3123945,3095782,3142094,3016124,2862349,3124214,3097067,3137623,3053135,3107385,3384929,152777,3386551,3141427,2861509,2866946,184995,530120,2803852,3115286,2861392,2862145,2863244,3016367,3079183,3063314,3153913,2866429,3082170,2862193,3068341,3076391,3117916,533802,3077358,1384864,674012,669176,665029,1157363,1157163,3018101,3079940,3143294,3052268,3095878,3256550,2863301,531980,2856981,1971730,3016753,-1,3137800,3063009,3384176,3153780,3076027,3048422,3062769,3065464,3156932,3082333,3050807,2877914,3076596,3156843,2803708,3172424,3076952,3047558,3075531,2861413,2864169,531998,3052879,3138089,3049596,3098374,3047187,1705937,2855717,2863140,3077669,3143272,3079053,3061901,1383812,674762,2866421,531674,3108355,3063050,2861361,3156542,3137847,3121339,671643,3045998,3050981,3123997,3172808,2857832,1971782,3108529,152420,676449,532338,3138800,2864156,2864308,2864381,3067386,3051601,3067450,3153921,3075411,3142708,3121179,3076796,3156517,3069261,3095975,530039,3016462,2866425,3016162,3119675,3050861,3048384,3118383,3062822,-1,3138534,2864159,3047047,3097015,3141758,3089840,1971847,2861369,3048486,3055989,3137989,3051483,3085926,3095686,3134650,3134753,3114167,2804539,2804690,3076528,3171002,3386342,3374208,3075968,531681,3143290,3052218,3095480,3052071,533865,3120632,2862201,530853,2876817,3048404,3256835,3047489,2861316,1698546,1452608,264627,581504,1954143,1453079,1453919,257892,1449867,258562,1954242,1430900,1460581,582935,266892,1411248,257900,1460789,259338,580712,1791904,1430833,1706081,258932,1411292,1705990,264731,1791910,1698627,588698,1706865,1698998,337989,1385475,1385394,1385468,338005,676946,667295,661650,661574,661864,661321,661786,661327,661349,1699297,3048984,3143183,3154905,3140437,3257139,3384312,3386319,3374487,3097379,2865798,2862397,3136816,1330989,3107875,3118272,3156898,3065416,2866432,3143216,2863229,2864251,3156512,3048568,3053796,3101647,3097436,3062880,671480,3085500,3018324,3052739,1368860,3045850,3095577,3141766,673378,3156958,2861613,2861641,3156468,3141392,1330042,3090285,3256215,3061196,3060756,184819,2865664,3114379,531921,3153900,3054053,3054205,3123878,2861560,185057,3057198,2861534,3014730,3076604,1367556,3155563,2803983,1069632,3137646,3046254,2804408,3118288,2864095,3107833,2861349,3087814,3085752,3118736,3156481,3056783,3385195,3048523,3142160,3154144,3050224,3052829,2866320,2863276,3049620,3118705,1384745,1706053,1327812,2863268,3050162,3065521,2861296,3143253,3137654,3134665,3016130,3120597,2864259,3090277,3117817,534046,3140489,3141458,2864838,3134644,2866118,3256643,1700880,1443967,376804,376894,1447038,3395933,3397085,1706359,1444303,1438024,1444217,3397607,1700961,591509,1707463,591649,1706920,1701670,332910,665265,1385343,337742,676855,665691,1701909,661746,661666,661750,1705255,524959,1086029,525719,524590,1363832,183678,1337098,3085647,3090262,1705213,909505,3069388,3156864,910786,3123933,3078812,3157307,3138335,2864385,3016679,3097709,525406,2856470,1971860,1362987,3118191,3096932,3049791,3136836,526681,153003,665610,3118519,3051111,3071975,3082063,3056817,2861442,2866341,3142672,3095472,910575,3045792,3138098,3143218,523484,576285,222926,2857838,524256,3051505,183915,527250,3048249,3385514,665802,3088122,3141863,3096532,3078989,3046306,3016581,3120549,3138104,3134592,3077435,3384185,672175,3121379,3061913,2867173,3047497,3155932,3259025,3077451,2861468,1364159,677944,3050820,3135086,3053051,1971842,2861430,2864267,3097748,525569,2855904,3075759,1971814,3016723,527398,3095484,1705466,3050333,3085633,3051488,3256635,3077366,524968,2863311,3138300,3048560,152349,3384065,2864243,525929,1706295,1705754,1631497,1589648,210577,1570186,3052891,3052133,2863260,3052274,3095733,3124464,3056811,3057360,3053287,3079958,3142740,3082055,3156127,3140468,3016734,3258157,3137954,3050309,3156674,3062707,3016957,3047214,2864801,2866135,3016699,3118723,3050941,3138410,3139756,3118971,3139376,210739,3016691,3157397,3076667,3096464,3079617,3067253,3053157,3156910,3089888,2864420,3156822,3075620,2864388,3049436,3114371,3096484,3089743,3076441,3054523,3097063,2865781,3156923,3115351,3153934,3114844,3138064,3069264,3097316,2862071,3121150,3063543,3137311,3154044,3087996,2863308,3078878,2866383,3118710,2864352,2864235,3137836,2866415,3156647,3097079,3108330,2864304,2865769,3154007,2864810,2864317,3142045,3101614,3256985,3268267,3053739,3156851,3075942,3063394,3082364,3065427,3079142,3143180,3018109,3079646,3075846,2862249,2863320,3077540,3045812,3063334,3087753,3052101,2866903,3079567,2864869,3049540,3107554,3115491,3071965,3048901,3076399,3096266,3123886,3060652,3079822,3066965,3068224,2864358,3123860,3156128,3097772,2861588,3090178,2864820,3051496,3087860,3085864,3061972,3067292,3095983,910647,3078846,3139460,3138557,3095581,3097664,2865772,3075976,2864103,3118891,3090133,3047369,3259077,3016408,2861357,3087745,3140936,3075407,3053746,3140100,2867085,3060864,3016548,3153983,2863284,3087822,3046175,3141727,3139418,3076945,3076801,2864049,3136857,3136848,3077694,3137292,3140441,2861405,3074590,3060672,3047356,3050869,3139468,3053789,3095519,3069363,3095636,3089925,3052986,2863541,3087966,3016573,3139384,3095687,2861584,3098018,3068175,2862296,3117951,3016064,3074680,3056806,3055006,3154844,3118514,3117756,3114367,3050957,3077689,3050175,2862074,3079080,2864427,2861305,2865789,3061904,3076633,3153760,3046171,3124223,3138140,3050293,3139687,3139760,3079951,3258347,3069460,3046110,3061750,3076023,3095682,2861774,3124678,3134562,3078952,3121187,3137761,3048997,3134707,3048906,3096680,3124013,3082395,3076699,3257153,3074648,3135185,3258695,3155424,3048946,3153947,3088030,3089991,2866388,3137999,3049094,3107390,3052677,3138124,909805,3140054,2864127,3077379,2866455,3051107,3143329,3138341,3258954,3137095,3137816,2866973,3018133,3078797,3142106,3047312,3155545,3134560,3067344,2862381,3016441,3124427,3082048,3124125,3121247,2863252,3056786,3048993,2864593,2865792,2865778,3049833,2866200,3097950,3062738,3096636,3079469,3118264,3153807,3085305,2863224,2866951,3124021,3050686,3050936,3075573,3075782,3053098,3052200,3114096,3076488,3057309,3142776,3106992,3138411,3155166,3258698,3079718,3062796,3074559,3079768,3085550,3052211,3089791,3118685,3138028,3137261,3053337,3098617,3075752,3096222,3096142,3069691,3052994,3047577,3115250,3078804,3048430,3118312,2865775,3047643,3119711,2861510,2862340,3136861,2861497,3052798,3061818,2867157,3016382,3156877,3088028,3066724,3141327,3118196,3047152,3154748,3061006,2866301,3115480,3054675,3095515,3097292,3076731,3076047,3134673,3118638,3139738,3079374,3061699,3079019,3096984,3049697,3016563,3259042,3079845,3096022,3074620,1570388,3155549,3142140,3135119,3069120,3101609,3124136,3095695,3095616,2861438,3138502,3156137,3082242,3050626,2864592,3118690,3085597,3120577,3140032,3134686,3069744,2866344,3077706,3085217,3069073,3017030,3118204,3090021,3075891,3097940,3051545,3085455,3114886,3066704,3124383,3154202,3076551,3045862,3050184,3048305,3137236,2861728,3079051,1570638,3156548,3068203,3117856,3098053,3062939,3060926,3016994,3118005,3068939,3047332,3138135,3075344,3063032,3089847,3256567,3052885,3050216,2864825,3137299,3048477,3089694,2864444,3016084,909963,3048276,3087738,3095511,2866163,3141753,3060884,3077353,3069110,3157396,3136864,3114215,2861397,3087896,2866437,3088056,3046156,3053213,3065526,3085845,3137921,3052192,3137843,3119697,3052944,3053583,2867408,2866396,3142780,3107442,3108518,2861696,3049842,1570213,3016125,3056738,3118236,3095778,3046038,3079517,3063597,3082272,3047144,3108429,3068222,3108442,3053599,3141428,3268435,3156827,3143228,3069791,3141401,3140405,3016671,3079420,2866123,3138319,3095492,3087787,3085257,3088087,3097161,2863127,2862032,3095834,3061855,2866402,3139743,3138180,3052066,3079111,3115385,3137318,3256881,3050157,2865760,3076385,3016480,3069298,3050812,3097654,3156132,3068979,3079668,3118700,3118402,3049077,3085354,3050458,3121351,3049689,3069327,2866357,3090234,3120524,3155607,3062054,3053594,3050167,3052280,2861526,3156448,3137312,3050530,2866498,3155211,2861422,3123840,2862171,3256512,3046182,2866490,3085933,2864416,3065517,3107097,2866327,3049480,2867171,3069855,3140904,3114661,3085767,3089936,3125142,3119667,3118774,3153995,3268569,3017505,3069902,3056697,3082304,3082097,3125104,3065574,3057083,3134618,3016158,3140481,3140871,3065489,2861735,3135151,3099137,3139648,3076968,3053124,3120537,2865784,2861303,3072008,3156680,3065565,3048682,2863117,3137884,3046213,3118328,2866409,3142078,3139764,3137930,3140417,3063012,3154226,3155405,3258252,3268380,3052707,3096438,3137692,3053091,3137642,2862188,3139413,3079233,3068958,3048492,3099149,3082132,3117728,3124077,3138397,3065497,2866895,3156984,3096872,3156812,3138390,3138174,3016358,3090182,3140414,3077414,3046164,3125112,3097977,3138547,3138076,3156553,3077407,3051537,3053189,3154803,3054949,3155136,3095495,3155432,3256580,3052880,3048965,2864612,3063407,3095938,3016627,3154771,3090034,3046115,3258710,3137725,3057047,3095858,2861489,3065448,3258276,3087934,2866160,3155904,3045847,3088127,3137091,3078913,3016088,3055158,3155940,3097677,3097092,3048976,3140447,3085809,2862324,3139557,3082437,3139692,3068217,3097842,3118575,1570192,3268585,3138381,2861617,3114234,3082310,3051478,3114248,3121295,3054553,3157252,3138206,3048920,3045870,-1,3061874,3139719,2861638,2866416,3076761,909793,3048942,3016795,3054174,2862205,3068180,3085403,3068284,3141459,3117925,2861631,3067446,3048333,3156953,3052093,3085586,3140432,3079889,3117876,3096429,3049681,3061211,3156130,1591560,204249,3156063,3118824,3085898,3097074,3258465,3089880,3140948,3095996,3139711,2861502,3016788,909602,3052939,3052755,3085515,3097097,3051051,3123925,2864865,3060790,3259071,3047217,3095917,1570598,3154036,3069839,3155893,3118840,3138067,3114288,3154906,3090085,3077459,3157399,3089978,3095870,3063289,2867165,2866367,3050837,3076788,3048633,3268553,3124061,3137944,3098621,2867473,3154929,3259002,3142692,3142122,3139488,3055196,3142055,3107325,3046277,3049074,3118384,3155282,3063508,3046161,3051702,3052158,3057035,3107377,3154177,3048961,3139749,3097888,3069128,3139645,3142151,3108294,3052806,3138331,3114272,3138328,3068228,3049013,2861417,3052149,3054634,3079277,3124499,3139768,3066866,3077639,3049490,3052084,3143158,3140477,3077475,2861346,3140104,3134789,3139676,3107253,3095846,2861596,1570325,3141779,3075364,3099195,2866207,3268240,3070369,3138224,3060659,3069896,3259110,3143195,910583,3065572,3114327,3068236,3082206,3107012,3268451,3114314,3120604,3117954,2865683,3048469,3050829,3074660,909588,3155279,3139663,2866942,3079325,3268623,3095488,3063320,3054131,3119683,3095582,3016467,3098028,3085721,3124117,3077665,3154955,2864348,2866167,3049460,3096247,3056743,3155662,3139505,3079901,3049883,3069145,3016951,1570277,3055084,3095950,2861624,3118013,2866400,3135160,3108258,3054610,3138374,3047529,3118368,3258300,3077699,3089963,3077630,3055920,3155900,3142761,3124053,2866891,2861621,3134733,3018318,3054983,3016543,3075412,3140018,3055807,3085702,3107842,2866176,3077526,3139441,3154194,3054618,3050618,3110246,3139999,3065461,1570381,3063331,3052690,3066968,3155401,3017020,3063594,3063487,3047005,909430,3124233,3069755,3259096,3016517,3097113,3142724,3095725,3095584,3052764,3063463,3095522,3048949,3156988,3060664,3050429,3118415,3057019,3096421,3052182,3095906,3055940,3114708,3097242,3055101,3063784,3101643,3134754,3134683,3062725,3077618,3108579,3118376,3121303,3118654,3085713,3095793,3046186,3088167,2866285,3054091,3155936,3062851,2862047,3124215,3049852,3143199,2867459,3114827,3054725,3110688,1570400,3053256,3016377,2862225,3069077,3107887,2867478,3157342,3099074,3060693,3134703,3069090,3125160,3067266,3097279,3258216,3097068,3114426,3141464,3157311,3140035,3050672,2865714,3118894,3053802,3137897,3016903,3054148,3114309,3142086,3098532,3099145,2861459,3123989,3137258,3089799,3268487,3016998,3098512,3052261,3114151,3088068,2865763,3085783,3054164,3050192,3055694,3053632,3069382,3138151,3079754,3053043,3155692,3108387,3258316,1570289,3052858,3119627,3096033,3063356,2861334,3259055,3097685,3045885,3097922,3090092,3137269,3053197,3107303,3155252,3057054,3047025,3089982,3095854,2866376,3047361,3134680,3115319,3050556,3155466,909917,3048958,3087734,3138168,3156940,3060799,3089669,3060888,3139404,3076973,3118466,3049858,3256532,2861388,3140070,3110709,3063538,3049084,3085893,3065413,3052970,3096544,3082034,3049795,2866192,3076558,3121251,3118543,3051099,3056798,3156962,3054239,3115588,3140368,3085200,3153783,3046151,3121156,3067456,3079625,3047130,3047179,3016879,3137613,3046198,3063917,3079649,1638141,2043024,2044292,677985,1640709,2034962,2023152,2025482,1650092,2140824,2566601,2477034,154965,1132735,2140963,2569696,2569783,2382567,229122,484524,2575389,2476905,3828941,1131956,2381199,2382545,58240,2381155,484488,2382590,2382607,2158343,2673081,2381167,2381184,2381302,2158388,2579787,2381004,2382611,1781186,1734363,2754484,3366105,165505,2784173,2786377,2790724,2800864,2809255,2772081,3216340,3126554,3111060,1784971,344286,665419,1385467,665550,666029,661264],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":1706,"name":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"read_many_struc","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116605319.240631,"resourceTable":{"length":3,"lib":[3,0,4],"name":[0,2,1665],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":15920,"stack":[7,21,24,32,37,40,49,53,57,59,66,68,70,71,79,85,87,91,93,96,97,98,101,104,107,109,111,115,117,118,120,123,125,127,129,130,134,136,137,139,140,141,151,66,152,37,155,157,66,159,161,164,166,168,170,174,175,176,179,66,181,182,183,185,187,190,191,193,194,195,66,196,199,202,204,206,207,208,210,212,214,218,219,222,223,224,225,226,227,228,229,231,232,234,235,236,242,245,247,248,37,249,250,254,259,260,261,262,263,264,266,267,270,271,275,276,279,280,281,282,283,285,287,288,289,290,291,292,293,294,295,298,300,303,304,306,307,308,291,309,310,117,66,311,312,314,315,316,125,91,317,318,319,320,321,323,324,326,327,328,330,59,207,331,335,336,337,339,340,342,344,345,346,347,348,170,350,352,353,354,355,356,359,360,362,365,367,359,368,214,371,372,375,376,379,380,356,381,382,383,85,385,386,387,388,390,391,393,394,395,229,397,399,66,328,401,402,403,404,70,270,405,406,407,408,410,412,413,415,330,416,418,419,424,427,428,436,441,442,443,448,450,451,454,459,463,466,469,470,471,470,475,476,478,480,481,493,502,510,515,518,521,525,526,530,533,540,542,547,555,557,562,563,564,567,568,570,572,574,575,579,581,584,586,589,591,592,594,597,598,600,602,604,606,608,611,613,615,618,624,626,629,631,632,633,640,641,644,647,648,649,651,652,653,654,656,658,661,663,669,670,671,672,674,676,678,679,680,681,682,683,684,685,686,689,690,691,564,653,611,579,692,693,696,697,698,700,701,702,704,611,705,706,707,709,710,711,712,714,715,716,718,719,720,722,723,724,611,725,730,731,732,734,735,736,738,739,741,743,744,745,747,748,750,722,751,752,753,754,756,757,760,761,763,765,766,768,769,771,773,775,776,676,777,779,780,781,782,783,784,786,787,788,789,790,793,794,654,795,796,797,798,800,801,803,804,806,723,808,809,811,812,813,776,814,816,817,608,818,820,821,824,826,827,828,829,830,831,735,832,833,834,835,836,654,837,606,838,839,841,843,846,847,848,850,852,853,854,856,857,859,860,862,865,866,867,868,869,871,874,875,879,881,884,887,889,893,897,899,903,905,906,907,906,914,922,926,930,937,948,954,956,959,962,963,964,965,966,969,973,977,979,980,981,982,985,987,989,990,991,992,995,1001,1002,1004,1006,1007,1008,1009,1010,1012,1013,1018,1020,1021,1023,1024,1026,1027,1029,1031,1032,973,1035,1037,1039,1042,1044,1046,1048,1042,1049,1051,1012,1052,1054,1055,1057,1059,1061,1062,1064,1065,1069,1070,1071,1072,1074,1075,1076,1080,1081,1083,1084,1085,1087,1069,1088,1091,1093,1094,1096,1097,1098,1101,1104,1105,1106,1107,1108,1110,1111,1113,1114,1116,1119,1121,1123,1124,1126,1130,1131,1132,1133,1134,1135,1136,1138,1140,1141,1144,1146,1147,1148,1151,1152,1153,1154,1085,1156,1158,1160,1161,1163,1164,1166,1167,1168,1169,1119,1170,1172,1173,1174,1176,1179,1181,1186,1187,1190,1192,979,1193,1194,1196,1198,1199,1203,1205,1206,1207,1208,1214,1217,1220,1221,1222,1224,1225,1228,1229,1230,1231,1232,1233,1234,1235,1237,1239,1240,1242,1243,1244,1245,1247,1249,1250,1251,1225,1253,1254,1256,1257,1259,1265,1266,1267,1268,1272,1273,1274,1275,1138,1276,954,1278,922,1279,1280,990,989,1281,1282,1283,1284,1285,1287,1288,1289,1290,1291,1292,1290,1293,1294,1295,1296,1298,1299,1300,1302,1303,990,1305,1312,1313,1328,1331,1338,1339,1340,1341,1342,1346,1348,1350,1352,1354,1355,1359,1346,1360,1363,1364,1365,1366,1367,1369,1370,1371,1372,1374,1375,1377,1378,1379,1346,1381,1382,1384,1385,1386,1387,1389,1392,1393,1394,1396,1397,1399,1400,1401,1403,1405,1407,1408,1410,1411,1412,1414,1416,1418,1419,1421,1331,1422,1427,1428,1429,1431,1433,1434,1435,1438,1439,1350,1441,1443,1444,1445,1449,1450,1451,1382,1452,1453,1454,1445,1455,1434,1457,1458,1461,1462,1464,1466,1467,1469,1470,1474,1486,1490,1491,1493,1496,1499,1502,1503,1504,1505,1506,1511,1513,1515,1517,1518,1520,1522,1523,1525,1526,1528,1530,1532,1518,1525,1533,1534,1535,1537,1525,1538,1540,1541,1542,1543,1545,1547,1548,1551,1552,1553,1555,1559,1560,1561,1562,1563,1566,1567,1571,1572,1573,1574,1576,1578,1579,1581,1582,1584,1587,1589,1591,1592,1594,1596,1597,1598,1599,1600,1601,1602,1603,1605,1607,1608,1555,1609,1610,1612,1613,1614,1618,1620,1621,1576,1622,1623,1624,1625,1626,1628,1629,1630,1632,1634,1635,1636,1517,1638,1639,1532,1640,1641,1642,1643,1561,1644,1645,1646,1647,1648,1649,1651,1652,1496,1653,1654,1655,1656,1658,1659,1660,1486,1613,1661,1662,1663,1664,1612,1665,1666,1667,1668,1669,1670,1672,1674,1675,1676,1677,1678,1486,1548,1680,1684,1645,1658,1685,1687,1688,1689,1622,1578,1636,1690,1691,1693,1694,1620,1695,1696,1697,1592,1663,1698,1587,1699,1701,1702,1703,1704,1705,1709,1710,1711,1597,1712,1713,1714,1486,1520,1715,1561,1716,1718,1719,1720,1603,1690,1722,1725,1726,1728,1730,1731,1622,1733,1735,1736,1561,1737,1739,1513,1740,1742,1743,1663,1744,1745,1528,1541,1573,1747,1589,1748,1749,1532,1750,1598,1751,1680,1752,1753,1754,1532,1755,1756,1757,1503,1758,1759,1761,1762,1763,1607,1639,1764,1532,1520,1765,1766,1767,1768,1622,1694,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1694,1783,1784,1785,1786,1645,1787,1644,1743,1712,1788,1680,1751,1789,1715,1648,1743,1790,1572,1523,1791,1792,1793,1794,1795,1663,1796,1797,1799,1751,1800,1801,1486,1672,1803,1804,1532,1805,1806,1532,1576,1807,1808,1614,1809,1810,1763,1811,1667,1812,1813,1814,1815,1817,1818,1819,1820,1821,1822,1658,1641,1824,1532,1825,1589,1826,1751,1490,1827,1828,1829,1779,1830,1832,1833,1834,1835,1836,1837,1826,1675,1491,1810,1782,1839,1840,1576,1566,1532,1842,1843,1844,1845,1846,1847,1751,1517,1822,1597,1848,1849,1850,1851,1532,1598,1739,1499,1852,1634,1762,1605,1853,1854,1513,1486,1855,1532,1856,1857,1763,1768,1858,1859,1796,1779,1677,1860,1620,1618,1785,1589,1622,1659,1861,1862,1863,1719,1864,1645,1865,1866,1759,1867,1868,1869,1662,1870,1667,1719,1871,1715,1872,1613,1672,1813,1548,1873,1874,1607,1875,1532,1876,1824,1877,1587,1878,1879,1646,1877,1603,1548,1881,1882,1885,1779,1886,1572,1887,1888,1889,1773,1890,1761,1892,1621,1740,1893,1587,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1837,1739,1904,1906,1685,1907,1908,1909,1910,1649,1879,1559,1911,1912,1486,1913,1645,1914,1915,1916,1749,1917,1486,1486,1918,1919,1731,1920,1739,1921,1620,1922,1923,1641,1924,1925,1926,1927,1572,1665,1928,1520,1929,1930,1877,1931,1933,1934,1935,1937,1939,1940,1745,1941,1642,1639,1942,1943,1944,1945,1946,1929,1667,1948,1740,1949,1950,1951,1953,1954,1622,1948,1594,1955,1659,1782,1956,1715,1896,1520,1957,1958,1959,1960,1961,1962,1621,1963,1895,1964,1965,1890,1966,1967,1968,1878,1970,1778,1778,1778,1778,1778,1778,1971,1974,1975,1976,1532,1977,1978,1979,1613,1605,1685,1980,1981,1982,1710,1983,1984,1985,1541,1987,1925,1782,1712,1988,1929,1520,1989,1990,1515,1781,1807,1991,1992,1993,1645,1995,1996,1997,1998,1879,1999,1827,2000,2001,1503,2002,1548,1667,1532,2003,1853,2005,1758,2007,2008,2009,1623,2010,1532,1696,2012,1653,2013,2014,2015,2016,1709,2017,2018,2020,2021,2022,2023,1540,2024,2025,1742,1513,2027,1641,1672,2028,2029,1493,1749,1532,2030,1601,1612,2031,1882,1896,2032,1983,1750,1598,1998,2033,2034,1589,1591,2035,1532,2036,1946,2037,1771,2038,1961,1847,2039,1587,2040,2041,2042,2043,1672,2044,1573,1768,1791,2024,1889,1749,1658,2045,2046,2047,2048,1767,1702,2049,1853,1737,2051,1963,1703,2052,1499,1640,2054,1740,1532,1869,2055,1620,1877,1486,1789,1566,2056,1594,1532,2057,1490,1846,2058,2059,1789,1829,2060,2061,1647,2062,1787,1608,2063,2064,1532,1847,2065,1778,1787,2066,2067,1646,1948,2068,1904,1907,2070,1629,2071,2072,2073,2074,1720,1812,2075,2076,2077,2078,1625,1715,1659,2079,1632,2080,1576,1486,1645,2081,2082,1647,1954,2083,1632,1515,2084,2085,1665,1789,2086,2087,1739,1528,2088,2048,1532,2089,1528,2044,2014,1667,2090,2091,2092,1685,2093,2094,2095,2096,1553,1520,2097,1594,1710,2098,1644,2099,2100,1640,1694,2101,2102,1697,1716,1530,2103,2104,2105,2107,1740,1515,1576,1532,2108,2109,1826,1895,1904,2110,2111,1541,2112,1744,2113,1532,2115,1702,1815,2116,1900,1499,1675,1879,1677,1532,2117,1837,2118,2083,2119,2120,1491,1667,2121,1675,2122,2123,1638,1680,2125,1612,2126,2127,2128,2129,1907,1961,2130,2131,2093,2085,2132,2133,1771,1948,2135,2136,2133,1782,1576,2137,1561,1928,2138,2139,2140,2141,2142,2143,2144,1843,2145,2040,1896,2146,2148,1799,1566,1789,1877,2149,1779,2150,1988,2088,2151,2152,2153,2154,1589,2155,2044,2156,1767,1525,1547,2157,1779,1548,2048,2084,2158,1667,2159,1923,1942,2143,1710,2160,2161,2162,1672,1890,2056,2163,1532,2164,2165,2166,2167,2168,2094,2169,2170,1688,1998,1515,1640,1563,2085,2163,2171,2083,1647,2172,2173,1758,2174,1621,2175,2176,2084,2177,2178,2179,2180,2181,1675,1641,2164,1614,1667,2182,2056,2028,2183,2184,2185,1644,1532,2186,2187,2188,1684,1535,2040,1773,2189,2191,1640,2192,2193,2194,2195,2196,2133,2197,1525,1781,1620,1658,2085,1520,2198,1614,1739,2199,1566,1532,2200,2201,1740,2202,2203,1665,1573,2204,2205,1779,1612,2206,2207,1779,2208,1491,2209,1800,2210,2211,1812,2212,2213,1690,2214,2216,2217,2218,2219,1924,1787,2220,1773,2221,2222,2223,2224,1860,2081,2225,1819,2226,1667,2227,1777,2228,1722,2229,1625,2098,1532,1505,2230,1965,1566,2231,1719,2232,1560,2233,1647,1515,2234,1605,1710,1704,1614,2235,2236,1672,1622,1765,1576,1499,1532,1998,1924,2237,1591,1518,1749,1911,1632,2238,2239,1503,2240,2241,1486,1540,2242,1779,1674,2243,2244,1835,2245,1781,2246,2247,2248,2249,2250,1659,2031,2251,2252,1705,1751,1751,1645,2253,2254,2255,2256,1690,2257,1970,1863,2258,2259,2260,2261,1847,2262,2263,2264,1839,1486,1647,2265,1992,1779,1645,2266,1603,2267,1813,2268,2045,2269,2271,1661,1566,1742,2272,2273,2274,2275,1763,2059,2276,1647,2277,1667,2278,2214,2279,2280,1763,1677,1532,1677,2008,2281,1792,1924,2079,2116,2282,2059,2275,1623,2284,1704,1649,2286,2287,2146,1677,1751,1490,2288,2289,1896,2290,2291,1924,2292,1677,2294,1850,1846,2295,2297,1644,1846,1532,2208,2298,2300,2301,1653,2136,2302,2303,2304,1602,2305,2307,1709,1918,2308,2309,1907,1906,2143,1842,1515,2310,2311,1486,2088,2091,1779,2312,1532,1685,2301,1672,2133,1968,2221,2313,1578,1513,1667,1645,2314,1773,2315,2316,1566,2317,2318,1835,1503,2319,2320,2317,1792,1716,1649,2321,1750,2322,1716,2323,2324,2325,1980,2326,2030,2116,1806,1517,2327,2328,1649,1532,1785,1865,2329,2330,2254,1513,2044,2044,2331,2332,1609,1645,1642,2333,2334,2335,1535,2336,1614,1532,2337,2143,1659,2338,2339,1532,2253,2078,2059,1743,1566,1532,1740,2340,2341,2342,2148,1703,1830,2343,2345,2346,2208,2008,1612,2347,2348,1548,2349,2350,2351,1786,1587,1591,1739,1652,1754,2352,1787,2353,2056,2354,1566,1773,2355,1739,1739,1680,1840,2356,2014,1846,1743,2338,2357,2358,1541,2359,2244,2360,1486,2361,2362,2363,2085,1541,1847,2364,2365,2367,2368,1785,2369,2370,1642,1502,1785,2371,2372,2373,1792,1993,2374,1928,2180,2031,1541,1987,2375,1781,2338,2313,1987,1572,1864,1779,2376,1493,2071,1762,2377,1907,2048,1799,2378,2167,1647,1566,2379,1603,1812,1640,2221,1647,1622,1532,2380,1532,1589,1649,1961,2381,2382,1709,1532,2383,1771,1589,1961,2384,2385,2386,1828,1561,2387,2388,2389,2390,1609,1642,1837,1502,2030,2392,2201,1923,1576,1918,2098,1613,1924,2073,2393,1532,2394,1641,1924,1768,1591,2395,2056,2396,2397,1737,2398,1899,2399,1680,1791,2362,2221,1641,2400,1744,1612,2401,2402,2403,1961,1792,2404,2405,2406,2407,1515,2408,1672,2171,2409,2410,1622,1839,1779,2411,1490,1690,2412,2413,1752,1826,2414,2415,1916,1778,1744,2327,1828,2313,2416,2417,2418,2180,1589,2420,1847,2421,2028,1690,2422,1699,1667,2423,2424,2425,2426,1603,2427,2428,2429,2430,2411,2431,2320,2432,2433,2434,2435,1710,2436,2437,1779,1518,2085,1810,2438,2439,2440,2441,2443,1493,2444,1614,2429,1743,1715,2445,1763,2446,1779,1665,1690,1548,1877,1979,1649,2447,2166,1923,1768,1988,2448,2449,2450,2045,1813,2295,2221,1771,2451,2452,1486,1704,1598,2453,1715,1667,1597,2454,1877,1535,1532,2455,2456,2457,2458,1850,2434,2459,2044,2327,1680,1751,2044,2460,2079,1768,2461,1998,1532,2462,1895,1532,2463,2405,2464,2298,2465,2127,2466,2467,1847,2468,1815,1899,1578,1601,1877,1911,1566,1771,2469,2470,1779,1594,2471,1827,1779,1675,1773,2472,2473,2044,1815,2474,1690,2475,1715,2476,1737,2477,2478,2164,1918,2455,2479,2480,2482,2483,2275,2254,2484,2485,2486,2056,2487,2488,2489,2490,2491,2492,2437,2493,1694,2493,1896,1603,1980,2494,2495,2497,2498,1743,1515,1597,1925,2499,1491,1954,1518,2411,1523,2500,1658,2501,1988,2502,2387,2503,1672,2504,2505,2099,2506,2507,1609,2508,2509,2510,1781,2315,1566,2221,2221,1785,1581,2511,1541,2512,2513,2514,1758,1710,2515,2077,1956,2516,1609,2208,2517,1720,2075,1486,1791,2460,1566,2518,1598,1988,2519,1677,2520,2521,1958,1609,1970,2522,2523,1486,1956,1566,2524,1665,2525,2526,1758,1566,1846,2527,1870,2044,2528,1890,1525,1576,2529,1576,2071,1763,1992,1777,1699,1532,1785,1532,1649,1983,2056,2530,2531,2167,1685,2133,1761,2532,2533,2404,2534,2282,1609,2535,2536,2537,2084,1890,2538,1879,1641,1775,1609,2539,2540,2045,1612,2541,1710,2515,1517,1998,2542,1620,1499,1573,1810,1597,1578,1517,1879,1663,2133,1532,2543,1613,1589,2455,2140,1945,1499,1598,1513,1644,2544,2545,2448,1839,1513,1988,1792,2546,2083,1623,1895,2547,1612,1532,1742,1625,1812,2143,1822,1751,2548,2549,1672,1704,2550,1737,1608,1490,1620,1515,1690,1609,2551,2552,2553,1871,2554,2555,2556,2557,1773,1532,2080,1561,2558,2559,2506,2560,2561,1528,2056,1704,1796,1787,1597,2089,2562,1815,1779,2563,1607,1675,1614,1517,1517,2564,1566,1768,2565,2566,2192,1591,2567,1779,1704,2568,1895,1644,2569,2570,1649,2271,1805,1620,1715,2221,2571,2572,2573,1680,1835,1924,2575,2576,1499,1763,1916,1907,2578,1810,2579,2327,2185,1710,2182,2084,1829,2580,1911,2581,2582,2583,1574,1926,1535,2584,1988,2585,1782,1605,2586,1659,2587,2588,1647,1744,2506,2589,2590,1594,1609,2591,2592,2164,2593,2594,1800,2595,2596,2313,2597,1955,1603,2598,2599,1840,2600,1953,2601,2602,2603,1566,1787,1998,2048,2182,2604,1503,1591,2605,2572,2606,2607,2608,1810,1751,1956,1839,2609,2610,2611,1744,1743,1879,2059,1598,2180,2612,1822,1513,1953,1503,1486,2613,1609,2614,2211,1532,1799,2477,2615,1566,1640,2616,1852,1773,2617,2618,1980,1612,2444,1980,2619,2620,2621,2008,1532,1851,2594,1486,2622,2623,2624,2625,2626,1983,2627,1532,1791,2628,2629,1902,1574,2630,2631,1899,2302,2632,1796,1609,1895,1787,2633,1907,1623,1532,2634,2635,2434,1703,2636,1929,2434,2637,2099,1699,1625,2438,1871,2059,2638,2093,1981,2639,1597,2640,2171,1927,2641,2032,2642,2579,2213,2643,2644,1532,2645,2646,1921,2647,2648,2649,2313,2650,1640,1640,2123,2651,1779,1649,2540,2652,1843,2135,1980,1620,1638,2338,2653,2654,1532,2373,2655,2313,2656,1566,2657,2196,1879,2658,1622,2055,2204,1763,1837,1773,1513,1954,1640,2659,1490,1704,2660,1523,2661,2527,2662,2143,2663,2664,2414,1719,1596,2665,2666,1591,2667,2668,2669,1704,1779,2670,2229,1532,2671,1647,1743,2350,2374,2091,2361,1605,1916,2672,2348,1787,1847,1612,1561,1645,1525,1587,1675,2673,1603,2425,2522,2674,1782,1933,2417,2675,2676,1815,1943,2048,2677,1535,1532,1839,2678,1988,1640,1525,1614,1625,1753,1513,2143,2679,1839,1758,1605,1869,1525,2185,1791,2680,2153,1699,2275,1830,1532,2681,2281,1642,2191,2682,1753,1771,1864,1846,1513,1889,2684,2685,2686,2619,1598,2585,1961,2687,1532,1676,1953,1572,2688,2689,1532,2148,1523,2127,2690,1874,2059,2071,2691,2618,1796,2254,2645,2592,1672,2692,1846,2693,2694,1785,1574,2695,1532,1517,1785,2696,2024,2697,1613,2698,2357,2506,2699,2700,1486,1607,1879,1496,1806,1621,2701,2702,2703,2704,2084,1587,2694,1642,2705,1520,2660,1532,2317,1907,1970,2706,1659,2161,1988,1566,2707,1573,2708,1663,2709,1896,2710,2204,2531,1685,1548,1792,1785,2711,1939,2633,2009,1528,2712,1810,1532,2713,1589,1644,1918,1737,2714,2715,1532,1906,2716,1515,1779,2717,1644,1647,1715,2718,2221,2220,2719,1622,1647,1605,2623,1961,1632,1743,1924,1763,2056,1822,2082,1904,1640,2604,1980,1640,2024,2720,2024,1699,2636,2721,2722,1737,1768,1659,2322,1791,1491,2310,2723,1827,2192,2724,2725,2541,2726,1915,1915,1623,1566,2727,2565,2728,2729,2731,1515,1733,2654,1572,2434,1589,1680,2732,2733,2298,1826,1767,2098,2661,2734,2735,2736,1956,1782,2737,1694,2738,1576,2506,1779,1904,2572,2089,2739,2449,2740,1520,1806,2443,1862,1609,2741,2742,2341,2743,2744,1534,1869,2745,1675,2746,1677,2618,2434,2233,2538,2747,1620,2748,1743,1602,2749,1499,2235,2445,2048,2750,2751,2752,2753,2696,2754,2022,2040,2755,1694,1532,2756,2757,1961,1644,1645,1653,1954,2758,1653,2171,2759,1605,1644,2760,1491,1566,1513,1486,1532,1739,1719,1620,1712,2761,2762,1837,1694,1605,2373,1520,1939,1493,2434,2763,1771,2764,2664,1704,2765,2766,1685,2767,2768,1839,2220,2769,2770,2660,1548,2327,1945,1812,2771,2772,2024,2773,2774,1690,1532,1503,1839,2327,2775,1710,2776,1778,2777,1715,1665,2708,2778,2779,1998,2338,2630,2780,1980,1699,2781,1767,1715,2493,2782,1578,1810,1980,1548,1716,2116,1744,2185,1813,1779,1621,2783,2540,1672,1704,2784,2220,2785,2787,2788,2789,1486,2441,2086,1645,1532,2790,1889,1672,2030,1566,2763,2791,2792,1827,2044,2121,1789,2793,2794,2795,1645,2796,2469,1677,1552,2313,1924,1829,2797,1789,1653,1780,2798,1680,1744,1893,2395,2799,2800,2071,1515,1895,2801,2661,2802,2803,2804,1486,1911,1948,2805,1517,1789,2045,1532,2806,1990,2807,1847,1974,1789,1647,2808,1890,2085,1970,1924,2809,2269,1642,1789,2810,1773,2773,2811,2812,1518,2233,1541,2813,2099,2814,1725,1555,1923,2185,1929,2815,2817,1931,2818,2819,2820,1813,2821,1998,1649,1890,2822,1530,1641,2710,1607,2045,2164,1653,1768,2388,2823,2824,1799,2825,1929,2826,1796,1704,2613,2827,1719,2828,2829,2229,2830,1612,2473,2831,2832,2404,1826,2214,2833,2529,1491,1623,2163,2834,2810,2835,2480,2836,1895,1771,1860,2837,2838,2815,1771,2732,1763,1659,1647,1945,1759,1768,1835,2604,1594,2143,2839,2840,1896,2841,2842,2362,1929,1785,1877,2843,2024,1675,2733,2767,2844,1623,2845,1599,1578,1829,1846,1594,1659,2846,1839,2687,2847,1660,2721,2848,1515,1800,2606,2849,1839,2541,2850,1613,1532,1665,2851,2768,2852,1907,2853,1518,1789,1944,1646,1486,2854,2422,1702,2074,1704,1535,2855,2856,2405,1919,1799,2857,1499,2858,1532,1644,1648,1605,1621,1603,2859,1597,2044,1598,2092,2044,1675,2860,1987,1773,1548,2355,1578,2861,1851,1956,2862,1979,2863,2192,2864,1791,2567,2865,2091,1625,1953,1781,1939,2133,1702,1827,1869,2866,1945,1499,2867,1612,1800,2557,2185,2868,1750,1621,1680,1625,1785,2869,1659,2870,2871,2872,2873,2874,1532,1605,1532,1490,1618,1925,2875,1980,1486,2799,1895,1622,1815,2117,1589,2139,2876,1839,1979,2877,1659,2878,1648,1923,1597,1979,2879,1768,2880,1987,1889,2881,2136,1743,2882,2883,1847,2086,1773,2884,2021,2056,2071,2221,1988,1942,1658,1796,2214,2885,2886,2169,2887,1591,1663,2888,2493,2536,2889,2890,1889,2891,1665,2892,1672,2893,2721,1895,2894,2099,2895,2896,2897,1690,1620,1871,2626,2898,2052,2899,1589,2900,1715,1779,2820,2180,1532,2313,1594,2901,2104,1680,1518,1667,1534,2902,1719,2903,1779,2167,1764,2846,1839,1609,1645,2904,2866,2905,2906,2030,1786,2907,2908,1889,2222,2030,1743,1605,2909,2910,1924,2412,1740,1751,1561,1620,2911,2912,1847,1712,2913,1919,2541,1517,2395,2914,1548,2915,2916,1739,2030,1688,1911,1871,2917,2918,2919,1555,2024,1980,2818,1743,1532,2528,2405,2920,2601,2921,1758,1699,1830,1894,1749,1503,2064,1499,1587,1515,1907,1513,2446,2922,1810,1613,1532,2923,2256,2345,1928,2600,2924,1639,2925,2926,1598,2824,2927,1642,2928,1541,1541,2929,1690,1806,2494,2192,2462,2148,2356,1877,1589,1608,1839,1791,2930,2931,1532,1996,2814,2214,1532,1948,2070,2327,2932,2933,2684,1948,2934,2935,1513,1751,2359,1796,1834,1791,2936,2937,2717,2678,1589,2938,1740,1532,2939,1612,2815,2797,1768,1647,1635,1740,1645,2869,1745,1534,1532,1612,2200,2639,1703,1956,1758,1763,2940,2208,1677,1907,2941,1520,2720,1532,2214,1685,2082,1929,1515,2942,1532,2943,2944,1562,2945,2819,2156,1597,2946,2947,2948,1896,2949,2156,2950,1621,1665,1659,2951,2847,1532,2952,1591,2925,2953,1806,2954,1961,1980,2721,1603,1981,1609,2955,1672,1561,1694,2956,2957,2958,2506,1869,2282,1597,1608,2959,2960,2961,2962,2963,1791,1944,2939,2964,1767,2185,1779,2506,2965,2966,2434,2863,2967,2968,1523,1911,1779,2714,1667,2969,1867,2970,1515,2971,1532,2972,1980,2973,1518,1779,2974,2024,1847,2282,1601,1907,2079,1659,2334,1517,1712,2975,2976,1513,1520,2253,2032,2977,1541,1520,2978,1573,1659,2979,1486,2980,2164,2981,1665,2406,2083,1690,2982,1929,2946,1520,1703,1715,1572,1737,2872,1813,1979,2983,1885,2984,2100,1781,1645,2985,2986,1688,1513,2538,2987,1515,2264,1759,1672,1877,1614,2303,1561,2988,1649,1719,2282,1589,2192,1762,2989,2648,1980,2842,2990,2991,2993,1757,2994,1924,2044,1904,2995,2843,1547,1601,1605,1759,1608,1954,2996,1532,1532,1589,2074,1620,2997,2998,2999,3000,3001,1589,1704,1879,1548,2927,1646,1532,1532,1719,2143,1924,3002,3003,3004,1680,3005,2658,1759,3006,3007,1806,1961,2584,3008,2734,1751,3009,1675,2312,1785,1928,2133,1998,2339,3010,1646,2509,1517,2220,3011,3012,1944,2448,1904,2732,2949,1794,1677,2046,1810,1827,1645,1793,1649,2364,1751,2045,3013,1847,1574,1672,2645,3014,1645,1758,1810,2143,1921,2972,1518,2133,2317,3015,1541,3016,3017,1532,3018,1648,1663,1704,1517,1739,3019,2807,1532,2143,2449,2710,1623,1613,1715,2868,3020,2970,3021,2098,1532,1780,3022,3023,3024,2775,1685,1545,1827,2180,2319,1612,3025,3026,1759,1621,2520,2680,3027,1743,2078,3028,1548,1690,2815,1672,2844,1541,1622,1578,1597,1677,2141,1622,3029,3030,1812,2085,3031,1605,2546,3032,2604,3033,1513,3034,3035,2535,1980,2133,1906,1548,1815,2136,2313,3036,3037,1710,3038,2853,1921,3039,1699,2148,1649,3040,1710,1918,1759,1879,1737,1789,2451,3041,2070,1846,3042,2596,1871,3043,2039,1911,3044,2264,3045,3046,1847,2509,3047,3048,2894,3049,3050,1781,3051,2836,2492,1703,2098,2846,1715,2098,1486,3052,1640,2214,3053,2017,2346,3054,1751,2046,1882,3055,1775,3056,3057,1904,3058,1625,1685,1846,1609,1810,1815,3059,2292,1826,1749,2656,3060,2958,1870,3061,2684,1749,1613,2701,2313,1961,2615,3062,1515,1649,3063,1645,3065,2141,1759,1929,1561,1751,1814,1515,2405,3066,2759,1740,1822,1743,2652,1871,1904,3067,2648,1719,2664,1490,2434,3068,2325,2504,3069,1961,1672,1792,1490,1648,2975,1710,2093,1979,1945,2133,3070,1609,3071,1532,2028,1855,1703,3072,1603,1520,2104,1811,3073,2548,1918,1665,2469,1929,3074,2176,2929,1751,1991,1759,3075,1811,3076,2417,2724,2611,1921,2748,2472,1740,2494,2244,2818,2143,1598,1523,2914,2950,3069,1486,1758,1810,1659,2434,3077,3078,1854,3079,1532,1658,2324,2226,3080,3081,1572,3082,1929,1621,1830,2696,1839,1810,1612,2216,2708,1589,1804,1733,1763,1677,1503,1644,3083,2099,2172,1710,3084,1640,1689,2675,1645,3085,2325,3086,1561,1981,3087,3088,1928,2652,2251,1813,3089,1759,3090,2898,2214,1653,2785,1647,2083,2501,3091,3092,2048,2030,1670,3093,3094,1532,3095,1828,1620,3096,3035,3097,1672,1847,1716,2313,1517,3098,1785,1518,1607,1928,3099,3100,1719,1786,3101,1813,1674,2024,3102,1640,2166,1503,2397,2714,1939,1782,3103,2313,2986,2064,2733,3104,1576,2043,1752,1561,1710,2386,1658,1810,2717,3105,3106,3107,1591,1532,2797,3108,1869,1928,1904,1863,1541,1918,1499,2354,1532,1810,1663,1909,1813,2584,3017,2077,1607,1822,2682,3109,1623,2947,3110,1667,1768,3111,3112,2363,2354,1566,1826,3050,1998,2213,1810,3113,1532,3114,3115,1911,1517,1813,1740,1621,1690,1677,3116,2417,2727,1612,1520,1503,1751,1753,2308,3117,2226,1532,1496,1719,3118,1810,1647,1869,3119,3120,3121,2697,1712,3040,3122,1573,2254,2514,2805,1576,1576,1659,1622,1839,1609,1493,3123,3124,1896,1647,1659,1979,2906,3125,3052,1491,1680,2164,2048,2815,1950,3126,1931,1612,1815,2458,1829,3127,1667,1532,3129,1654,3055,3130,1737,2925,3131,1574,1763,1983,1532,2269,1931,2044,3132,1787,3133,2084,1535,1515,3134,3135,2536,1612,2395,1694,2639,2843,1928,1751,3136,2398,1518,2093,1523,2128,1911,1982,2290,2327,2214,1813,3137,3138,1493,3139,1663,3021,1956,2495,1803,3140,1486,1697,3142,1503,1737,2448,1781,3143,1535,1677,1532,1948,2071,1829,1785,3144,3145,2044,2164,1535,3127,2065,2111,2751,1846,2759,1990,1520,2098,1924,1486,2404,1530,3146,2020,2204,3147,2332,2458,2330,1725,1523,2045,3148,2237,1491,1791,2645,3149,2233,3071,1779,1715,2745,2090,1486,1715,1603,2549,1608,3150,2214,2506,2123,1948,2297,3151,3153,2044,1737,3154,1822,2341,3155,3156,2633,1796,2185,2313,1603,3053,1532,2278,1680,2056,1694,2109,1644,3157,1520,3158,1837,1591,1677,2083,1503,3159,3160,1517,3161,1762,1532,2492,2024,2985,1796,1645,2214,3162,3163,3164,1726,3165,3166,1714,1613,1621,1620,1566,1665,2530,2802,1806,1792,1677,2170,2085,1827,1710,2338,3167,1645,2297,2448,1517,1810,1743,2795,1665,2438,1499,2077,3168,1680,3169,2611,1773,1532,3170,2180,1641,3171,3172,2085,1596,3173,2780,1603,1988,1621,3174,1709,2192,1751,2188,3175,2458,1607,2414,2417,3176,2953,1640,3177,3178,3179,1605,3180,1837,2185,1646,2805,2537,3181,2082,1822,1653,1988,2136,2214,1758,1739,1781,2908,2317,1923,1904,1787,3182,1667,1532,1715,1743,1490,2141,1677,1517,1771,1541,1827,1685,2049,2818,2508,1649,3127,2098,2030,1665,3183,2084,1647,1566,1493,2540,1782,2458,1589,2175,2417,1961,3184,1613,2610,1928,2084,1827,2017,2020,1493,2220,1653,3185,2741,2355,2962,3186,3187,2714,1929,2425,1890,1719,2007,3095,3188,2648,1789,1566,2972,1981,1879,1813,2462,1614,2870,1540,1561,1796,1787,1877,3189,1791,1640,1998,2562,3115,1980,1648,1918,1685,2942,1787,2272,1540,2404,1844,3190,2164,1532,1658,1931,2331,3191,2178,3192,1622,3193,2099,2648,3194,2160,1847,3195,1677,2043,1879,2818,3196,1499,3197,2022,2041,1877,3138,3198,1532,1566,1758,2781,3199,2075,2008,1829,3200,1837,2655,2149,2554,1826,2643,1737,3201,3066,2327,1520,1555,1614,1581,1771,2472,3202,1839,2083,1638,1829,1877,1956,3203,1830,1815,1785,3204,3206,2815,1893,1644,2164,1515,1830,1644,3207,1974,1499,1712,1855,1589,3133,3208,2221,1906,3209,3211,2073,2133,2964,1758,2221,3212,1515,2862,1979,3213,1658,1566,1605,1517,1928,1988,3214,1979,3215,1893,2136,3216,1486,1647,3217,2211,1603,3218,2327,1605,1672,2092,2511,1658,1743,1869,2031,1737,1916,2564,2458,1532,1865,3219,1779,1659,2794,1567,3220,2030,1846,1796,3221,2059,1620,2527,2099,2645,2908,3222,3223,1502,2847,3224,1597,1791,1792,2601,1532,3225,1786,1786,1612,1649,1525,1870,3226,3227,1622,1750,3228,1614,1665,1574,1608,1490,1779,1591,2466,3229,3230,2563,1649,2327,1515,1815,2189,2127,1980,1758,2167,1608,3231,3208,1658,1806,1663,2676,1709,1493,3232,1773,1532,1532,1675,1851,2518,1929,1603,2256,1645,1954,3233,3234,3120,1675,1810,3235,2795,3236,2204,3237,1646,1532,1929,1990,2954,1806,1560,1573,1981,1998,3238,2979,1983,3239,1658,2030,2081,2143,1641,2271,1980,1528,3240,1755,3241,2091,1827,1954,1532,3242,2375,3243,3009,2275,2422,1740,1836,3244,3245,1987,1685,2558,1525,2164,2249,1944,2927,1904,2440,3246,1762,1603,3190,3247,1865,2625,3248,2395,2136,3249,3182,1592,2143,1759,3250,3251,1645,1541,1499,1739,1605,1907,2048,3252,3253,2056,1855,3068,3254,2044,1566,2497,1532,2099,2325,2847,3255,1781,1931,3256,3257,1598,2601,2417,3258,1623,2365,3259,3260,2884,1541,1518,2525,3131,1929,2721,3261,1646,3225,3037,1815,2076,2929,1532,3262,2697,1605,1737,1658,1607,1871,1773,3204,3263,1610,1950,1614,1912,3264,3265,3266,2221,3267,1491,1787,3268,3269,1869,2444,2320,1486,2048,3270,1906,2626,1762,1767,3271,1622,2196,2077,2235,1758,1981,1980,3220,3272,1983,1576,2204,1645,2537,3273,2438,1907,1895,1944,1961,2455,3274,3275,1822,1532,1513,1694,3276,3277,3278,2710,2091,1792,2313,3279,1813,1743,2590,3280,2221,1625,1486,1641,1839,2083,2387,1929,1667,1603,1715,2044,2133,3281,3282,1691,3283,2208,1541,1739,2823,3284,3285,1744,2619,2313,1649,2155,1541,2874,3286,3025,1573,3287,3012,1812,1944,2003,1907,1622,1486,2623,3288,2089,1744,1796,3289,2663,1758,1749,2949,3290,1591,1566,3291,1645,2024,3292,1699,1988,3293,1907,2504,2971,3294,1566,1739,2364,1667,3295,2429,2702,1520,1598,1826,1647,1871,2794,3296,2584,2640,1574,1573,3297,2208,3097,3215,3298,3299,2094,2315,3300,3052,3209,1532,3301,1499,2257,3302,2008,1931,1517,2647,3022,1647,1680,2448,1812,2630,1871,1826,1928,1612,2214,1561,3303,3304,2623,3305,1574,3306,3307,2222,3308,2093,2745,2547,1879,2604,1598,1532,2824,3309,1623,1594,2395,2883,2133,3310,1640,2460,1612,2362,1584,1896,1981,3311,3312,1603,3313,1603,1538,2447,1644,3314,1694,3207,1548,1587,3315,1641,3316,3317,2725,3318,2645,2083,2721,2044,2021,1925,3319,1672,3320,3321,1998,1822,1548,2763,1640,1740,3322,3314,1649,2915,2759,1712,2044,2837,1699,1490,3323,1685,3324,1981,2417,3325,1535,3326,3220,2929,1759,3327,1603,2071,1589,3131,3328,3329,2189,2048,1663,2084,3330,1612,3006,2334,3331,1486,1620,1970,2088,1621,3332,3333,2508,1647,1715,3334,1768,3335,2205,1572,3336,1895,1791,1990,1762,3337,1895,2276,1835,3338,3275,1642,1587,3339,3340,1725,3265,3341,1566,1663,3108,2434,2030,2254,3002,1665,2083,3342,1640,1612,1961,1719,3343,1535,1665,1733,1587,3344,1499,2178,1813,1780,3228,1716,1778,2164,1607,1561,1767,2717,1684,1545,3345,2003,2373,1641,1751,1751,3346,3347,1715,2676,1945,3348,1605,1621,1895,1990,1792,1890,3228,2595,3349,2324,1532,1948,1879,1712,1751,3169,3350,1548,3114,3300,2178,2338,2985,2423,3351,1751,1490,2422,1918,3352,1810,1605,2143,2099,1490,2372,3310,1532,1892,1523,3353,1672,2810,3054,2116,3354,3355,1578,3357,3358,2307,1842,2164,1640,1716,1603,1907,2450,3359,2493,1591,3361,1642,2214,1605,2143,3362,3363,1980,2188,2627,2510,1970,1829,1704,3104,1953,2117,3364,3365,3366,2434,1541,3367,2257,1639,1659,3368,1605,1663,2858,3312,2209,3369,3127,1792,1663,1895,3370,2985,2074,1822,1740,1731,1958,2999,1591,3371,1821,2599,2949,1576,2527,2623,2598,1503,1649,1659,1644,1672,2107,3373,2212,2275,2564,1953,2448,1869,1553,1532,1532,1781,1791,1613,1739,2376,1779,2017,1532,3374,1890,1789,3375,1530,3045,1882,2883,1785,2244,3376,1703,2498,1773,2590,2717,3377,3378,3379,3380,3381,1602,1644,3382,1647,1796,1532,2133,1532,3383,2164,2434,1670,2044,1699,3384,3362,3385,1929,3386,1532,1864,1710,1787,1532,3387,3388,2327,1499,2021,2434,2596,1709,3389,1961,3390,1634,2554,1677,3391,3392,2338,1592,1672,2071,1845,1532,1846,2760,1548,2717,2214,2836,2792,3393,2502,3394,3395,2970,2029,2030,3091,3396,3383,2643,2469,3397,1490,1576,2882,1960,3071,3398,2567,2368,2258,2148,3399,3400,3071,1532,2136,1780,1541,3091,2750,3401,2099,1956,3402,1988,2493,3403,3120,1573,1614,2817,1658,1846,3404,2717,3405,1591,1690,2494,3406,2116,1703,3407,1773,2625,1535,2269,3351,1639,1548,1591,1598,1622,2918,2240,1665,2948,1961,1672,2275,1961,1605,1743,3071,2204,2292,1785,3408,1703,2044,3409,3397,2898,2024,2220,1532,1779,1520,2221,1644,3410,1605,1667,3411,2169,2208,1667,1911,1535,1813,3027,2769,3318,2847,1677,1677,1620,1552,1649,3412,3413,2071,2313,3276,1846,1658,3178,3414,2133,1659,2487,2143,3026,3415,3416,1532,3417,1667,2690,2458,2214,3087,1709,1672,1781,3418,1648,2732,1812,3419,1701,1987,1566,2404,1493,1665,1566,3420,3421,3422,1667,1988,2478,3423,2003,1640,1598,2837,1694,1690,3424,2208,2030,1733,2005,3425,2327,1525,1576,3426,1785,2133,1774,1806,1690,1943,1499,3427,1540,3428,1715,1659,1659,1895,1491,3430,1771,1532,3108,1646,1737,1694,1715,1653,1924,2059,1533,1486,1620,1796,2086,2111,2875,1749,1675,1737,3431,3432,3433,1988,2164,3434,1789,1739,1694,3435,1598,1812,3020,1532,1645,3436,1503,2617,1567,2972,1621,2647,3437,1703,1702,1719,1607,1997,3438,2099,1954,1712,1613,1849,1871,1879,2384,1771,1743,1771,2161,2220,2143,3439,1773,1672,1789,1820,1605,1576,2309,1695,1530,1665,2518,3440,1548,1646,3441,3442,1826,1773,1532,1830,1515,2117,2406,3443,1921,1532,1919,2863,1791,2136,1846,2220,1587,2315,1855,1961,2895,1618,3170,2810,1532,1532,3444,1743,3445,2633,3446,1490,1532,2739,1821,3031,2243,1535,1607,1906,3447,1699,1710,1740,3448,3305,2180,3449,1988,3389,1981,3073,3338,2099,1879,1830,2160,3450,3451,2523,3452,1737,1665,3219,1815,1839,1532,3238,2070,2313,1694,1744,3453,3454,2962,3455,2056,2214,2918,1979,1791,1939,1605,2180,1836,1846,2760,1773,1572,3053,3456,2275,1970,1998,2117,2844,1685,2074,2636,2831,3457,1781,1719,3458,3459,1742,1574,1847,2594,3110,2251,1758,2737,3460,2098,1663,1677,2949,1895,3305,1806,2046,1532,1871,1855,1607,2453,1758,1648,2051,1652,1667,1744,1655,1980,2561,2148,1535,2726,2895,2024,1654,1645,1810,1782,2594,2512,1852,2313,2257,1744,2221,1725,1576,2071,2384,3461,1518,3463,1672,2213,1518,2768,2191,2226,3464,3413,1659,1532,3465,2153,1879,1499,2734,1773,3466,1822,1826,1782,2512,2204,1625,1603,2693,2870,2976,2905,1532,2429,1658,1762,2458,1532,3467,1520,2084,2485,1486,1810,3468,3469,1523,1532,3275,2965,3470,2313,1644,2017,1822,1667,3471,3180,1762,2180,3472,3056,2697,2307,2579,2509,3473,3474,1751,3475,3476,2815,3264,2056,2040,1644,1716,1640,2642,3167,2226,3477,2584,2717,2313,1980,2672,3478,3479,1929,1719,1644,1959,1574,1822,3480,1525,3481,3482,2044,1578,2083,1675,2182,1725,1532,1566,3483,3484,2076,1644,2254,2295,1535,1651,2243,1743,1576,1933,1503,3485,2568,2826,1740,3486,2809,1998,2182,1983,3219,1517,2192,3487,1645,3488,3489,1744,3490,1773,3357,1846,1499,1974,2706,1520,3491,2428,3492,2140,1719,1653,1566,1767,1829,3493,3494,1759,1709,2950,3495,2647,3032,1649,3496,3497,1839,2237,1589,2768,3498,1758,3499,1810,3441,3500,3501,1981,1929,1499,1907,3502,1906,2804,2071,1532,2192,2794,1589,3503,3504,1532,2628,1871,1777,1921,3505,2508,1819,1645,1622,1812,2729,1640,3506,1486,2582,3277,2116,1904,1812,3303,1894,1781,3507,2641,1661,1758,1759,1640,3046,3508,2149,1680,1929,2172,1751,3521,3523,3525,3529,3530,3531,3533,3534,3535,3540,3544,3545,3547,3549,3550,3553,3555,3557,3561,3562,3563,3569,3570,3572,3573,3576,3577,3578,3579,3581,3584,3585,3586,3588,3591,3592,3593,3595,3597,3598,3599,3601,3603,3605,3606,3608,3609,3610,3611,3612,3614,3615,3616,3617,3619,3621,3622,3623,3593,3626,3627,3628,3631,3632,3633,3635,3636,3637,3641,3642,3603,3643,3576,3645,3646,3647,3648,3650,3651,3652,3653,3646,3654,3655,3656,3658,3659,3662,3663,3664,3651,3666,3667,3668,3669,3670,3672,3673,3675,3676,3678,3679,3680,3681,3682,3685,3686,3687,3579,3608,3688,3690,3691,3632,3692,3693,3540,3694,3696,3584,3698,3686,3700,3701,3702,3703,3593,3704,3651,3705,3706,3653,3707,3681,3709,3710,3711,3712,3713,3714,3715,3716,3717,3718,3676,3709,3719,3720,3721,3648,3593,3722,3724,3725,3726,3658,3628,3726,3727,3728,3727,3718,3730,3731,3732,3728,3733,3734,3735,3736,3737,3738,3739,3740,3741,3617,3744,3701,3745,3746,3748,3749,3648,3705,3750,3563,3752,3686,3753,3757,3758,3759,3760,3761,3762,3763,3702,3764,3766,3767,3768,3769,3770,3771,3772,3763,3581,3593,3773,3774,3762,3776,3777,3778,3779,3780,3691,3781,3779,3679,3688,3782,3783,3784,3664,3785,3787,3788,3789,3709,3791,3792,3694,3793,3794,3795,3796,3797,3762,3798,3799,3800,3801,3802,3803,3805,3806,3807,3808,3686,3686,3809,3812,3759,3653,3610,3813,3763,3593,3814,3799,3815,3795,3816,3561,3817,3818,3819,3820,3653,3821,3822,3793,3823,3823,3824,3714,3653,3826,3827,3828,3829,3702,3831,3832,3693,3833,3834,3679,3734,3835,3836,3837,3839,3840,3842,3843,3844,3663,3845,3709,3619,3846,3847,3848,3849,3833,3850,3851,3852,3783,3854,3855,3795,3856,3579,3721,3610,3857,3750,3858,3859,3622,3861,3740,3753,3862,3864,3866,3792,3867,3868,3686,3698,3726,3771,3869,3706,3870,3727,3871,3686,3872,3873,3874,3875,3876,3877,3879,3880,3881,3882,3883,3547,3884,3643,3885,3886,3608,3700,3680,3619,3887,3888,3619,3889,3890,3891,3892,3893,3894,3678,3530,3895,3896,3897,3870,3898,3899,3900,3808,3901,3902,3903,3778,3611,3904,3905,3906,3907,3740,3908,3724,3833,3909,3760,3823,3750,3686,3910,3911,3795,3913,3914,3915,3916,3917,3605,3555,3918,3921,3610,3922,3923,3653,3924,3843,3925,3926,3927,3647,3929,3633,3930,3851,3932,3933,3851,3686,3934,3935,3936,3937,3938,3939,3939,3579,3555,3653,3940,3823,3942,3943,3874,3945,3947,3948,3686,3648,3949,3767,3950,3952,3954,3955,3956,3957,3862,3791,3746,3958,3959,3960,3961,3813,3962,3930,3845,3961,3964,3965,3893,3966,3967,3632,3968,3799,3969,3540,3958,3971,3693,3972,3610,3973,3686,3974,3705,3764,3975,3799,3663,3622,3976,3978,3979,3816,3700,3561,3752,3926,3980,3680,3981,3982,3966,3579,3983,3984,3985,3628,3986,3750,3682,3880,3987,3988,3989,3990,3991,3992,3993,3763,3994,3759,3719,3995,3996,3764,3879,3794,3709,3997,3700,3998,3999,4000,3823,4001,4002,3727,3700,4003,3576,3730,4004,3770,4005,4006,4007,4008,4009,3693,3820,3799,3958,4010,4011,4012,4013,4014,4015,4016,4017,4018,3637,3759,3784,3581,3916,4019,3960,4018,4021,4022,3893,3561,4023,3794,4024,4025,3833,4026,3578,4027,3593,4028,4029,3721,4030,3611,3875,4031,4032,4033,4034,3868,3691,4035,3701,3894,4036,4037,4038,4039,3608,4040,3886,4041,4042,4043,3783,4044,4045,3792,4046,4047,4049,3530,4050,4051,4052,4053,4055,4056,4057,4059,4060,3653,4062,3633,3905,4063,3833,4030,4064,3960,4065,3709,4066,4067,3717,4068,4069,3869,4070,3845,3540,4071,4072,4073,4074,3961,4075,4001,3961,3682,3771,4077,4026,4078,4079,3822,3686,4080,3529,3771,3702,3945,3799,3982,4081,4082,3610,4083,3653,3578,4071,3893,3982,4086,4088,4089,4091,4047,3993,3887,4092,4093,3628,3686,3579,4094,3767,4096,4097,3799,4098,4099,4100,4101,3993,3752,4102,4103,3893,3529,4104,4105,4106,4107,4031,3731,4108,3793,3960,4109,4103,3975,4111,3921,3785,3686,4112,4113,4114,3656,4115,4116,4117,4118,4047,3905,4119,4120,4121,4031,4122,3960,3795,3704,3531,3686,3750,4123,4124,4125,4126,4127,4129,3675,4071,4130,3819,4131,4132,3702,3659,4001,4133,4035,4134,3816,4068,3839,4136,3563,3770,3822,4137,3616,3921,3622,3780,3745,4139,3789,3770,4140,3732,3761,4141,3762,4142,3719,3929,4143,3764,3595,4047,3954,3749,3750,4121,4144,3989,4145,4108,4146,3579,3766,4147,4148,3753,3922,3656,3787,3704,4149,4150,4151,4152,3947,3778,4153,3659,4154,4155,4156,4157,4158,4071,4159,4160,4161,4162,4163,3958,3929,3785,4165,4166,4167,4168,3906,3728,4169,3709,3540,4170,4171,4172,4173,3722,3726,4105,3933,4174,4049,3653,3894,4175,3785,4176,4177,3831,3648,3867,4178,3619,3750,4179,3648,4070,4180,3707,4181,4182,4183,4184,4185,3714,3778,4186,3702,3611,4187,4125,4188,3880,4189,4190,4191,4192,3617,4014,3709,3762,4193,3823,3803,4194,4195,4196,4000,3929,3627,4197,3989,4198,3563,4199,3686,4200,4202,3867,3736,4203,4204,3961,4088,4205,3703,3763,4206,3794,3874,4207,3664,4208,3701,4209,3814,3813,3719,3862,4210,3726,3787,3982,4211,4212,4213,4214,3763,3599,3770,4215,4217,4218,4033,4075,4219,4220,3605,4221,3823,4222,4223,4224,4225,3988,4226,3872,4227,3794,3547,3872,3712,4228,3688,3888,4125,4229,4230,4068,3875,3808,3686,3637,4231,4232,3610,3762,3794,4233,3791,3761,3686,3764,3851,4234,4235,4236,3686,4129,3707,3610,4071,4037,3726,4237,3877,3726,4238,4239,3792,4163,4240,3561,4241,4242,4243,4244,3576,4245,4246,3794,4247,3694,3680,3659,4248,4249,3759,3749,4250,4251,3654,4252,3982,3653,4253,3994,3633,4254,4026,4255,3975,4256,4257,3886,3877,3703,4258,4259,4260,3726,4261,4211,4262,4263,4264,4063,4265,3777,4266,4267,4268,4269,4129,3779,4094,4183,4270,3975,4031,3960,4149,3611,4271,3994,3874,3682,3727,4272,3599,4273,3733,4274,3632,4275,3794,3561,4276,4277,4196,4278,3719,3750,3894,3893,4279,4280,3916,4281,3704,4282,3603,3916,3632,3686,4034,3894,3581,4225,3686,4283,4284,4285,3874,3726,4286,4287,4288,3617,4289,4149,4290,4291,4008,4014,4292,3563,4293,4295,4296,4113,3721,4248,3764,4297,4298,3599,4299,4123,3710,4300,4301,4302,3714,4303,4304,4305,4306,3722,3632,4307,3752,3893,4170,4308,3753,3969,3561,4309,4149,3968,3547,3780,4310,3789,4311,4312,4313,4315,4316,3701,4317,4136,4318,3586,4039,4319,4320,3784,3529,3632,4321,4323,3792,3686,4324,4325,3764,3792,4183,4324,3654,4225,4326,4327,4228,4042,4285,3728,3579,3845,3701,4328,4329,3534,4330,3691,3529,4331,3728,3867,4332,4001,3917,4333,3916,4334,3939,3807,3719,4335,3597,3750,4336,4187,4337,3750,4338,3990,3870,4339,3611,4340,3956,3719,4071,3576,3653,4341,3673,4342,3632,3647,3703,4343,4310,3750,4344,4345,3686,3720,4346,4347,4348,4349,3694,3688,3610,3599,4350,3894,4351,4232,3805,3719,4352,3686,3734,3664,4215,4161,4353,4354,4355,3647,3720,3777,4356,3678,4357,4358,3949,4359,3686,3608,4360,4361,4008,4362,4363,3610,4364,3762,4365,3717,3734,4366,4274,4144,4367,3693,3750,3701,4369,4370,4147,4371,4372,4374,4375,3717,4376,3797,4377,3659,4378,4260,4379,4380,4381,3653,4382,4383,3778,4384,3991,3875,3581,3653,3664,3867,4385,3816,3730,3707,3880,4068,3862,4386,3628,4387,3929,4388,4026,3680,3686,4389,3888,4390,4391,3780,3576,4034,3831,4357,4392,4393,4394,4395,4396,3787,3960,3719,3752,4397,4398,3874,4399,4228,4292,3797,4400,4057,3633,3759,4010,3799,4183,3845,3682,3720,3578,3921,3740,4401,4402,3686,3975,3896,4403,4404,3709,3961,4405,4109,3540,3843,3658,3727,4306,4406,3605,4407,4408,4317,3687,4409,4410,3593,4411,4412,3771,4413,4414,4301,4415,4012,4381,4161,3966,4416,4360,3982,4071,4417,4183,4418,4169,4419,4420,3939,3540,4421,3707,4422,4423,3753,4424,4425,4426,3990,4427,3869,4428,4429,4430,4431,4432,3975,3659,4433,4434,4435,4436,3770,4232,3599,4438,3670,4439,3750,4440,3531,3720,4441,3779,4035,4442,3823,3581,4031,3930,3686,3893,3540,4324,3783,4183,4443,4260,4444,4068,3530,3780,4446,3561,3780,4407,4298,4447,4202,4448,3712,4240,3797,4098,4449,3808,4450,3893,3627,4451,4452,3724,3750,4453,3721,4301,4304,3749,4031,3975,4355,4454,3813,3943,3778,3961,3704,4232,4455,4456,3752,4193,4228,4457,3794,3734,4458,4459,4448,3836,4460,4461,4462,4026,4463,3628,4464,3792,3958,3676,3813,4465,3915,3939,4094,3676,3703,3851,3714,4218,3779,4466,3879,3578,3619,3803,3686,3659,3886,3578,4149,4467,3785,4298,3794,4469,3779,3691,4470,4471,4086,3628,3966,3961,4472,3676,4464,3987,3943,3868,4473,3752,4315,3851,4474,4475,3792,3719,3822,4476,4477,3691,4478,3720,3797,3712,4479,3990,4480,4094,3802,3862,3943,3578,3658,4481,4108,4482,4483,4315,3686,3823,4484,3563,4485,4486,4149,4026,3686,3802,3610,3994,4487,3547,4337,3648,3958,3958,3924,4244,3628,3915,3670,3815,4488,4489,3576,4094,3686,4490,3813,4491,3771,3728,4492,4493,3745,4494,3930,4495,4496,3686,3822,4497,4498,3874,3605,4499,4500,4501,4502,4316,3540,4196,4503,4504,3740,4505,4230,4506,3652,3652,3619,3816,4507,3628,3778,3628,4508,3686,3872,3826,3658,3686,3896,4049,3686,4509,3686,3975,3960,4510,3628,4511,3615,4512,4513,4514,4153,3894,3563,3851,4055,4515,4516,3894,4517,3767,3761,4433,3749,4346,3724,3586,4116,4301,3720,4014,3750,3687,3975,4518,3929,3915,4519,3956,3728,4238,4520,3593,3885,4521,3609,4036,3845,4315,3770,4522,3581,4523,3721,4524,3547,4348,3608,3785,4525,3680,3701,4526,3694,3717,4527,4183,4163,4029,3563,4528,3576,4529,4530,3929,3761,3703,3724,3700,4531,4225,4532,3789,3894,3794,3980,3843,4533,3785,4534,3676,3813,3759,4535,4536,3703,4125,4537,3691,3783,3658,3659,3648,3659,4196,4538,3691,3894,4232,3724,3545,4539,4540,4037,4541,4542,3882,3550,4543,4544,4278,4545,4546,4123,4547,3700,3780,4108,3637,3777,3752,4081,3740,4548,4549,3678,3633,3693,3686,4149,4149,3921,3597,3833,4550,4551,3846,4026,3581,4552,4553,3994,4083,3628,3794,3599,4554,4555,4055,4556,4047,4557,4317,3597,4558,4559,4560,4001,4561,3531,4562,3967,4563,4564,4071,3531,4064,4493,4565,4004,4145,3691,3795,3831,3982,3915,4141,3982,3702,4566,4023,4567,4036,3549,4172,4568,4379,3622,3949,3846,4569,4570,4571,4008,4572,3686,3611,3578,3693,4228,3994,3693,3545,4301,4406,3767,3651,4573,4574,3709,4108,4262,4149,3901,3531,4483,4575,4068,4576,4376,3703,3849,3833,3593,3605,3749,3627,4577,3872,3740,4578,4579,3989,3547,4580,4001,4581,3561,3759,3870,3785,3628,4583,4103,4584,3686,4585,3778,3712,3549,4586,3725,3822,4587,4588,4589,4481,3599,4590,4418,4357,3636,4399,3686,3561,3578,4591,4049,4592,3686,4079,4447,4298,3846,3869,3687,3823,4593,3808,3676,4594,4008,4595,3808,3874,3866,4596,4597,3737,4598,3980,3816,4599,3875,4600,4601,3676,3712,3678,4000,3705,4239,3749,3576,4602,4477,4603,3682,3700,3799,3753,3874,3703,4604,3650,4605,3719,4606,4071,3721,4507,4607,4608,3619,4163,3707,3720,4609,3901,4170,3703,4610,3549,4030,3780,4548,4611,3852,3686,4612,3555,3656,3872,4613,3687,4165,4614,4578,4615,4616,3531,4050,3982,4617,4618,4094,4619,3652,3578,4620,4621,4622,3549,4623,4035,4624,4068,3686,3939,3816,4625,4626,3875,4627,4105,4449,3780,4628,4629,4630,3750,3719,3894,3859,4631,4385,3563,3720,4632,4141,4324,4575,4633,3956,3611,3599,4002,3749,3813,3734,3653,4634,4125,3703,4049,3868,4032,3545,4635,4230,3915,3975,3799,4636,3762,4637,3797,4170,4638,4031,3628,3563,4610,4639,4640,4106,4641,4002,4642,3784,3664,4643,4644,3540,3780,3714,4645,4270,3659,4646,4647,3843,4648,3728,3709,4649,4650,4069,3915,4651,3816,3648,3753,3686,4652,3547,4653,4152,4654,3622,3975,4615,4117,4113,3862,4655,4304,3693,4614,3770,4656,3686,4381,3921,4444,4657,4658,4659,4660,3816,3608,4125,4661,3764,3943,4662,3822,3929,4578,3584,3780,3647,3622,4663,4664,3691,3901,4665,4666,4177,4117,4031,4667,3740,3700,4668,3700,3982,4669,3867,3922,3990,4670,4049,4672,4113,3880,4673,3792,3857,3682,4674,4094,4675,4676,4677,4678,4315,3932,4220,3956,3816,3617,4679,4680,4289,4094,4247,4681,3792,4682,3701,4683,3593,4684,4080,4207,3702,3764,3846,4685,3749,4686,3872,3915,4309,4687,4103,3749,4688,4689,3686,4225,3975,4690,4426,4691,4692,3845,3762,4693,3760,4094,3791,4694,4023,3714,3561,3707,4317,4008,3721,3628,4695,4149,3785,3611,4696,4604,3767,4697,3764,4698,4011,4046,4699,3915,3789,3727,4700,3766,3956,3653,4702,4703,3929,3700,4379,4567,4240,3749,4682,3833,4183,3717,4331,4704,3693,4705,4706,4707,3547,3597,4708,4709,4710,3752,4103,3563,4006,4711,3680,3712,4473,4253,3939,4068,4712,3686,4713,3664,3617,3822,3822,4714,4685,3930,4141,4286,3703,3549,4309,3540,3727,4008,4301,4715,4447,4069,3982,4716,4217,3720,4717,3686,3632,3761,4505,3792,3547,3999,4331,4718,3647,4719,4197,3778,3789,4720,3703,3610,3905,3622,4681,4721,3648,4133,4722,4723,3898,4166,4724,4292,4725,3702,3820,4379,3822,4726,3617,4727,4728,3982,3578,4729,3576,4015,4149,4144,4317,4558,4730,4731,3815,3750,4732,4733,3780,3770,3886,3686,4734,4262,3717,4735,3724,3875,3709,3724,3833,4737,4149,4738,4739,4255,3901,4256,4740,3917,4179,3770,4741,3726,4742,3958,3867,4743,4744,3797,4011,3578,3961,3724,4730,3619,4745,3800,4266,3720,4560,3712,4746,4692,3686,4747,3720,4381,4748,4749,4750,4751,4317,4652,3744,4752,4753,3822,4196,4754,3982,4755,4756,3712,3603,4757,3619,4758,3870,4759,4539,4760,4376,3875,3599,4149,3686,3579,4761,3989,4722,4105,4136,3726,4301,3760,3701,4633,4762,4749,4153,3633,4260,4763,3886,3843,3792,3719,4304,3845,4764,3579,3761,4765,3795,3875,3608,4766,4767,3855,4542,4768,4769,3711,4770,3854,3791,3720,3655,4771,4626,3988,3753,4106,4761,4772,3762,4773,3916,4591,4774,3763,4563,4776,4777,3910,3875,3956,4049,4778,3833,4770,3545,4241,3759,3764,3872,4116,3597,3795,3822,3872,4779,4568,4163,4780,4781,3813,4269,4783,3891,4080,3868,3961,3862,3870,4784,4785,4786,4787,4301,4047,3916,4788,3608,3686,3799,3531,3826,4438,3880,4789,4790,4791,3547,4379,4108,4301,4093,4792,3717,3923,4146,4430,3961,4793,3943,4794,3603,4035,4232,4196,4795,4796,3820,3771,4797,3785,3707,4798,4799,3611,4800,4801,3960,4802,3939,4803,4490,3822,4804,4268,3702,3875,3802,3725,4379,3875,4805,3760,3686,4806,3795,3777,4049,4306,3843,3611,4807,3545,4527,4808,4809,3961,3843,3647,4036,4430,3734,4036,4607,3664,4810,4811,3529,3726,4812,3622,4220,4378,4015,4813,3727,4814,4815,3581,3719,3578,4816,3961,3905,4309,4817,3831,4338,4818,4819,3619,4108,4820,4822,3610,3688,3939,3617,4823,3893,3632,3662,3664,3686,4824,3686,3837,3833,3736,3943,4030,3949,3874,4811,3770,3686,4309,4552,3686,4566,3721,4825,3545,3762,3545,4108,4826,3724,4149,4827,3703,4298,3874,3814,3823,4381,4828,3688,4829,3886,4830,3686,3633,3622,4801,4023,3872,4831,4832,4833,4834,3905,3627,4313,3831,3795,3690,4342,3628,4659,3686,3664,4724,4835,4836,3676,3529,3989,3939,3686,3929,3714,3622,4837,3584,4838,4002,4735,3823,4839,4840,3611,3894,4039,3968,3771,4841,3724,4842,3717,4843,3833,3752,4844,4071,3628,3794,4845,3728,3700,3703,3608,3822,3702,3750,4384,3730,3783,3740,3929,3740,3762,4047,4846,3901,4847,3795,3905,3576,4848,4001,4849,3717,3717,4047,4071,4850,3593,4851,4852,4026,3930,3771,4141,4853,4309,3832,4637,4218,3531,4026,3707,4854,3791,3608,4855,4856,3770,4857,3726,3753,3808,4858,4317,3686,3792,4859,4182,3846,4108,3611,3702,4002,4225,3905,3737,4787,3688,3652,4860,3822,3686,4861,3822,4862,4863,4092,4864,4149,3617,3759,3610,3777,4733,3975,3893,4865,3797,3989,4866,3872,4395,4867,3750,4163,3868,4868,4002,4708,4397,4869,4586,3686,4870,3789,3659,3680,4304,4238,3712,3923,3608,3915,3717,3750,3593,3799,4871,4872,3632,3894,3719,4874,4117,4875,3868,4876,3659,3540,4026,3862,4877,3894,4878,4079,4149,4879,4641,4103,3549,4553,3960,3579,4880,3633,3949,3686,4140,4881,4882,3780,3766,4883,4884,3750,4885,4886,4887,4888,3540,3822,3802,3783,3555,3894,3831,3867,3659,3900,3845,4889,4071,4891,3610,4298,3703,4161,4892,4893,3653,3530,3709,3767,4894,4895,4896,3603,4603,3763,4897,4170,3700,4579,3676,4379,4898,4899,4900,4901,3795,4902,4003,3845,4125,4098,3868,4903,4298,4904,4905,3872,3795,3628,3702,3740,3688,4149,3893,3529,3894,4707,4906,3547,3555,3693,4908,3784,4012,4511,4745,3905,3943,4147,4909,3599,4266,3749,3721,3707,3534,3549,4910,4911,4793,4912,3770,3593,3664,4831,4913,3943,4206,4914,3956,3696,3939,4915,4916,4392,3605,4917,4918,3721,4379,4919,4049,3593,4920,4346,3721,3707,4922,3578,3570,4639,4324,3905,4572,4923,4924,3652,3531,3597,3680,4567,3940,3785,4925,4926,4886,4069,4927,3633,3833,4928,3956,4929,3813,4834,3686,3874,4781,4930,3682,4931,3893,4932,3603,3700,4933,3917,4479,4103,3989,4371,4724,4746,3619,4136,3658,3843,4934,3939,4019,4742,4721,3647,4586,3752,4255,4457,3547,4103,3529,3584,3686,3968,3894,3784,4811,3693,4331,4094,3619,3540,4211,4447,3762,4935,3678,4936,3647,4937,4938,3799,4939,4940,3961,4264,3749,3789,3831,4662,4103,4904,4064,3938,3859,3993,3694,3720,3662,3879,3733,3989,4941,4942,3577,3814,4943,3783,4902,3813,3915,4944,4945,3712,3617,3874,4946,3771,4049,4149,3547,4947,4949,4225,3720,4950,3905,3816,4951,3962,4952,3726,3588,4953,4026,4954,3686,3686,4842,3547,4955,3579,3897,3875,3824,4956,4958,4959,4423,3617,3700,4049,3593,4960,3797,4961,4962,4071,3795,3750,4963,3867,4964,3599,3702,4965,4966,4967,3851,4047,3829,4968,3682,3703,3887,4682,4969,4970,4282,3778,3608,3764,4971,4972,3611,4973,3802,3653,4196,3939,4196,3601,3700,3789,4974,3578,3740,3678,3619,3597,4975,4976,4977,4290,3531,3820,4978,4979,4026,4980,4771,4981,4982,3929,4227,4983,4984,3750,3795,4985,3617,4036,4986,3693,4348,4183,4071,3700,4240,4622,4390,3622,4831,4414,4031,3694,4987,4064,3652,4418,3823,4178,3628,4988,4298,3673,4989,3858,3851,4990,4196,4094,4991,4992,3862,3678,4614,3726,4993,4994,4995,4996,3905,4938,3862,3540,3694,3861,4997,3935,3547,3858,4036,4071,3540,4026,3653,3794,4239,4908,4986,3777,3707,3719,4998,3693,3753,3780,4999,5000,4129,5001,3563,3656,4196,3547,3628,3872,3632,4639,4109,5002,3720,3650,3717,4301,5003,4103,4379,3700,4517,4183,3799,4301,4075,3704,3658,3700,3862,4008,5004,3994,4970,3965,4443,3647,4055,3688,5005,4376,5006,3712,5007,4353,4274,5008,3619,3868,3975,3784,3700,5009,4049,4731,4869,5010,3702,5011,3726,4153,5013,3632,3767,3847,5014,3749,4418,3687,3682,3958,4005,5015,4358,5016,3547,4163,3905,3752,3974,3862,5017,4049,5018,3681,3608,4748,4850,5019,3628,3593,4640,4129,4849,4558,4856,4031,5020,4202,3793,5021,3905,4094,4579,4001,4889,3816,3823,4794,4163,3869,4047,3843,3955,5022,3814,3929,3714,4679,5023,4872,3676,4470,3916,5024,5025,3658,3553,5026,4666,5027,3540,3540,4214,4751,3632,3540,5020,3843,3794,3717,5028,3867,3862,3531,4493,3561,3915,3797,3958,5029,3726,3561,3794,3549,5030,5031,4047,3943,4324,4313,3759,4064,4103,5032,3721,5033,3901,5034,4035,5035,3686,3845,3815,4031,4183,5036,4315,3703,4931,4113,4001,4103,3597,5037,4984,5038,5039,4766,3750,3994,4094,3605,3653,4211,3531,3749,5040,5041,3994,4351,3750,4262,4094,4174,5042,3664,3896,3703,4615,3961,4064,5043,4170,3686,3563,5045,3760,3578,5046,3664,4662,3608,4049,3783,4902,5047,3956,3608,3690,4225,3874,3686,3785,3717,3700,5048,5049,3814,3633,4183,5050,4666,4183,5051,3686,3854,3750,4162,4057,5052,3628,4381,3650,5053,3679,3686,4129,4103,4385,4806,3531,4879,4683,4825,3593,5054,4317,3846,5055,3593,5056,5057,4722,5058,3905,5059,4125,4035,3701,4560,5060,3579,5061,5062,5063,5064,5065,5066,4008,3579,3969,3632,5067,3783,3617,4457,3901,3777,3726,3622,5068,3794,4112,3584,3549,3737,4578,3763,3561,3960,4324,4302,3939,4545,5069,4071,5070,3792,3958,5071,3800,5072,4396,3750,3632,3707,5073,4766,3529,5074,4748,5075,5076,3982,4081,3561,3777,5077,3843,3540,3826,3599,4660,3783,3686,3627,3579,3893,3637,5078,3857,4008,3664,3686,4125,3628,3540,5079,4149,3637,3700,4714,3686,3701,3880,4094,5080,5081,3799,5082,5027,5083,5084,4662,3605,5085,3845,5009,4019,4129,3900,3687,3581,4317,3545,5042,5086,4334,4766,3845,5087,3686,5088,3578,3823,3653,3561,3726,3750,3701,4207,3813,3921,3717,3530,4643,5089,3901,5090,3792,3531,5091,3961,3916,3724,5092,4002,5093,4196,3573,3916,5094,3547,5095,3614,3752,3608,5096,3721,3702,4086,3792,5097,4232,5098,3813,4081,3760,3964,5099,5100,4163,3670,4071,4470,3733,3960,4064,3680,3900,3955,5032,4170,4976,4094,3749,4298,3788,5101,3916,3728,3763,3770,3664,4039,3653,3627,3975,3709,5102,4002,3750,3874,5103,5104,3722,5105,3727,3982,3720,3726,3868,5106,4163,3578,3603,5107,3820,5108,4079,3880,3686,3700,5081,4117,3875,5109,5110,3597,5111,4781,4232,3545,3686,5112,4002,3778,4785,4420,3704,3961,3759,4406,4094,4047,3800,4361,4898,3563,4552,5113,3845,3850,4047,3762,4082,3577,3975,4049,5114,4427,3890,3578,4817,3687,4887,5116,4228,3958,5117,4707,4520,3862,4023,3606,3728,3529,4026,3749,3576,4315,4025,5118,4514,5119,3633,4603,4103,3922,5120,3894,5121,3662,5122,3982,4260,5123,4856,3943,4144,3759,3703,3727,3876,4783,3833,5124,3823,4614,4435,4370,5125,5126,3762,3728,3787,3785,5127,3721,4232,3939,4427,3874,3653,3978,5128,4925,5129,5130,3874,5131,3833,3862,5132,4563,3688,5133,3691,3930,5134,3994,5135,3686,4001,5136,3894,4068,4071,5137,3795,3795,3601,3967,5138,3778,5139,3709,4049,4507,5140,5141,4126,3704,3686,4129,3547,3540,4036,5142,3749,3843,5143,3877,3792,4298,5144,3783,5145,3813,3608,3606,3693,3980,3833,4309,5146,3961,4669,3540,3734,4202,3686,5147,5148,3561,5149,3691,3980,3647,5150,5151,5152,4615,5153,4001,4690,3658,4105,3694,3662,4345,4317,5154,4049,4324,5155,5156,3686,5157,3961,3771,3823,3768,3622,3726,3802,3767,5158,4581,3921,3579,3579,4384,4447,3686,3958,3545,3914,4170,3993,5159,4301,5160,3599,3617,4117,3693,3563,4392,3875,3820,5161,3653,3714,5162,5163,4205,5080,5164,3628,4254,4035,3581,4008,5165,4262,5166,3823,3586,3686,4056,3686,4205,4263,3795,3763,3579,3653,3563,5167,3750,3547,3771,4494,3686,4647,5162,3816,3702,3611,5160,4779,3715,3816,4080,3549,5168,5169,5033,3680,4913,5170,4187,5171,5172,5173,3767,4778,3752,3799,3529,4026,3530,5174,3701,3929,3763,3791,4644,3868,4981,3792,3700,3802,5032,4068,5175,4115,3989,4035,3702,4578,5176,3753,5177,3956,3921,3719,3759,4785,4351,4117,3643,5178,4078,4350,3752,3917,3845,3701,3709,5179,4035,4458,3964,5180,3904,3628,3929,3712,3682,5181,5182,5183,4993,5184,4245,5185,3652,3778,5186,3727,3597,5187,5188,3851,3701,3686,4927,4635,3549,3593,5189,5190,3632,5191,4579,3610,5193,5194,4304,4163,4035,3969,5195,3694,3734,4407,5196,4209,3540,3872,3880,3622,4580,3628,4510,3783,3700,4170,4317,4986,3783,3761,3794,5197,3956,3960,3719,3726,4923,4016,4035,3833,4653,4346,5199,4255,4606,5200,4152,3823,4256,3792,3703,4537,4575,4094,3712,3982,3720,3882,3880,3927,3658,4919,3777,4185,5201,3975,4719,4914,3686,3750,3894,4867,5202,4716,3611,3886,3728,5203,5071,4309,4525,5204,3752,4023,3599,5205,3632,4944,3813,3760,5206,5207,5208,3763,5209,5120,4149,5210,3994,5063,5211,4919,3686,5212,3794,4811,3712,5213,5214,3783,3972,4818,3809,4049,4371,4372,3792,3791,5215,5216,3894,4580,4310,4747,3610,3797,4500,3709,3796,5217,5218,4019,3619,4376,5219,5017,4331,5220,3597,4603,3762,4643,3894,3843,4042,4433,5221,3793,4049,3792,5222,4994,5223,4544,3781,3843,4796,3887,4173,4449,4049,3843,3978,4036,3694,4298,5224,4903,4047,4123,3578,4152,3874,3975,3679,4105,3792,3724,5225,5226,5227,5024,5228,4015,4152,4317,3616,4150,5229,3740,3866,4107,4805,3623,4954,5230,3750,3770,5231,3615,4991,3578,3779,3672,3597,3577,3750,5232,4331,4088,5233,5234,3727,4064,3561,4579,3880,3676,5235,3764,3771,3653,4525,3749,5024,4788,5236,5237,5238,3986,5239,4218,4125,4557,3780,5240,4225,3982,3561,3967,4552,3632,4872,5241,3762,5242,5243,4919,3956,5244,3686,4599,3894,3777,4270,3822,5245,3719,4933,5246,5045,4739,3691,4103,5247,5248,5249,4418,5250,3905,3676,4010,4681,5154,5032,3653,3688,4196,3777,3610,3994,5251,5252,3701,5229,3975,3611,4476,4027,3773,5253,3785,3632,5089,3975,5254,4472,3721,3693,3549,4150,3907,3702,5255,3579,3572,3914,3619,3872,4478,3734,3896,3761,5256,3648,3771,5257,4887,3802,4183,5258,4232,3717,3529,3605,3869,5259,3579,3760,4001,4427,3647,4080,3737,4620,5260,3719,3719,3628,5261,5262,5263,5264,4819,5265,3734,3939,5266,3740,5267,5268,3771,4196,5269,3962,3686,3726,3785,5270,3693,3840,3843,5256,4943,5271,3608,3531,5272,5273,4626,3707,5274,3617,3763,4278,5276,5277,3887,5278,5279,4227,4853,3778,3658,5280,3783,4659,5281,3795,3622,3994,5282,5221,3694,5283,3686,3653,5284,4042,3893,5269,3531,3581,5065,4000,3561,3753,5101,3653,4918,3771,3686,3796,4187,3680,5285,3707,5286,3849,5287,5288,3619,3845,3763,4129,5289,5290,3540,5291,3874,5293,3816,4471,4001,4351,5294,3894,3688,3529,3659,5295,3967,5296,5297,3529,4049,4036,4672,4629,3561,4194,4078,3813,5298,5299,4816,4255,3764,5300,3880,3664,3960,4440,3597,3894,3686,3846,3578,3762,5110,4839,3540,3619,3530,3833,5301,3824,5302,5303,4219,4532,5304,4127,5305,5306,4379,5307,3599,3714,3549,5308,3686,5309,3929,3633,3540,3822,3688,3670,5310,4993,4183,4036,4522,3603,4178,5311,3719,5301,5065,5010,5312,3943,4467,4301,4086,3752,5313,4064,5314,5315,3712,3721,4103,3906,5316,3603,3778,3767,3926,5317,4819,5235,5318,4081,5319,4505,5189,4656,3632,4386,5320,3700,4881,5321,5322,3686,4984,4262,3779,3700,3691,3579,3701,3686,3762,3680,5323,3774,5324,3901,3980,4908,3603,5325,4064,4206,5326,3712,3759,4108,3778,3617,5070,4309,4976,5327,5280,3549,5328,4304,4704,3789,4019,5291,3628,5329,5330,5331,4447,4992,4784,5332,5333,3866,3813,3894,4113,3982,3615,3916,5334,4331,4379,3733,5335,5336,3958,5180,4531,3759,3797,3686,3645,4127,5337,3653,5338,3899,4173,5339,3603,4023,3719,5340,4266,3958,4717,4026,3709,4197,4941,5341,4719,3771,4517,3720,5342,4149,4492,3628,3653,3680,3761,5343,3820,3771,3873,3728,3628,3626,4183,3686,3824,5344,3770,3648,3943,5345,5346,3851,4047,5347,3799,4906,4626,5348,3726,3710,4081,3686,5349,5071,4818,3686,3785,5270,3686,4852,4055,5350,3693,3610,5351,3659,3561,3893,3785,4153,3929,3682,4196,3961,3795,4149,5352,4049,5353,5354,3682,4409,4345,5355,3676,3961,3740,4338,4393,5356,3686,5357,3761,3686,5358,4173,5359,3771,5360,3664,4850,5361,3802,4970,3610,3961,3714,5362,4047,3785,5363,3851,3893,5364,3948,3845,4831,4558,3905,3886,5365,4659,3815,5366,5367,5368,4149,5369,3820,3593,4298,3802,5370,3990,4790,3935,3980,4252,3764,5371,3726,5372,5322,3989,5373,3576,4933,3724,4141,3831,5374,3726,4071,4382,3714,5375,4514,3777,3843,4379,4750,4273,3712,3750,3980,3875,5376,3581,5377,3686,3874,3701,3652,3894,4071,3823,5378,4206,4002,3703,5379,5380,3611,5381,3686,3577,4240,4301,3664,3608,5382,3728,3726,3749,3785,3750,3662,4331,3764,3973,4008,4558,4313,4212,5383,5384,3653,3700,5385,3682,3658,3820,4754,5065,5386,3961,3680,3994,5387,5388,3714,3916,5389,4049,5390,3989,3686,5391,3792,5392,4669,3701,3802,3854,5393,3905,3893,3717,5394,5395,5396,3799,4081,4290,4105,5397,3610,3845,3846,3662,3960,3896,3576,5398,5399,5400,3702,4721,3968,3693,3759,4856,4816,4479,3882,3762,4925,3859,5401,3901,4183,3875,4196,5402,4922,3777,3917,4149,5064,4071,3872,3916,5308,3603,3720,4042,3670,4105,4237,5403,4674,5059,3633,3531,3771,4008,4427,4681,4026,3725,3691,3792,4740,3686,3619,4023,3700,3547,3608,3929,3845,4600,3896,3866,5404,3659,3632,3907,4862,5241,5405,3561,3845,3783,3726,3929,3686,5406,4905,3531,3905,4578,3837,5407,5408,3760,3714,3682,4977,5409,4933,4933,3712,5410,5411,4462,5413,3686,3738,5414,4129,4866,5090,4031,3929,4103,3822,5415,5416,4094,4935,3670,4499,5417,5063,3702,4376,4379,4047,5418,3851,5419,4133,3990,3770,4798,3802,3628,4326,4150,4410,4081,3816,3886,4578,4170,4034,3717,3968,4196,3894,4919,3709,3990,5420,5421,3778,3870,5422,4184,5423,3676,5240,5424,3712,5425,3740,5004,3686,3664,5009,3561,3637,4553,3789,5426,3664,5427,4094,4838,3720,3722,4817,3816,5428,3737,4047,3734,3686,3658,3710,4094,3686,3740,3686,4855,5063,5429,3862,3848,5430,3610,3728,5431,5206,3676,5432,4544,3767,3718,3632,3792,4370,3916,3958,5433,5434,4049,5328,3648,3702,3822,4933,5435,4838,4282,3563,3530,4163,5436,3563,3659,3709,4365,4653,4770,4396,4105,3872,5437,5438,5439,3668,3758,5440,5441,5442,3648,3750,3777,4908,4722,4204,4049,3530,3905,3868,4719,3833,4364,3561,4544,3632,4954,5443,3992,3686,4001,4063,4196,4919,4202,3724,3632,3622,3703,5444,4678,5445,4667,3673,3978,3905,5446,4031,4304,5088,3632,3762,4381,3719,4488,4899,5447,3780,3740,3789,4378,5448,5426,5259,5449,5344,3679,5450,3603,3989,4856,3872,3767,3771,3611,3658,4183,5451,3637,3823,3637,3529,4600,4406,4023,3680,4103,5240,4154,3678,3791,3759,4123,5281,4481,5452,5453,5454,4183,3854,5455,4167,4830,5457,3915,5458,3788,4869,5459,4862,3728,4035,5426,5460,3712,4049,4071,4933,3720,4553,3831,4036,5461,5462,5062,4273,3763,5463,4023,5464,5112,3561,3678,3958,5465,3936,4232,5220,5466,3784,4666,4663,4049,3686,4653,5467,4567,3982,4603,5454,4129,3599,5468,3939,5431,3676,5469,5470,3648,3609,4799,3637,3686,3632,3761,3686,3726,3795,4460,4348,5471,4507,4919,3904,3752,5472,4196,4878,4196,5473,5034,4100,3803,4233,4181,4914,3759,5474,3648,4572,3549,3540,3763,5475,3915,3763,4649,5476,4796,5132,4075,4478,3698,5477,5338,4062,4004,3834,4298,3750,3682,3749,3577,4312,3686,4402,3759,3891,5180,3653,5407,4207,3656,5478,3679,5479,5480,3762,4866,5481,3749,3577,3611,3622,3792,3686,3763,5482,3579,3994,4575,3547,3653,3770,3709,3992,5338,4966,5483,4659,3760,5117,3653,3652,3529,4615,3726,3616,3933,3994,3691,5484,4026,5485,5486,3633,3610,3975,3686,4507,3540,3676,3619,3679,3700,4878,4304,3545,3653,5149,3653,3533,4919,3576,4331,3750,3686,3637,5045,3703,5334,4172,4696,5257,4170,3753,3872,5487,3610,3720,5167,3664,3956,5488,3960,3968,5489,3958,3872,3593,5490,3611,3905,5491,3789,3581,5492,4309,5493,3915,3778,3958,5494,5041,5495,3611,3700,3795,3686,5496,4494,3581,3980,3762,3958,4836,5313,5497,3779,4047,3619,4031,4730,3749,4335,3740,4057,5498,4753,3662,4284,5499,4507,5500,3724,3771,5308,3905,3601,3749,3795,4023,3703,3611,5501,5216,5308,5502,5503,5504,4310,3851,3750,5327,3813,3576,4809,5269,4430,3693,4031,4226,4896,4706,4031,4255,3610,5362,5505,3686,4908,3687,5188,4232,3893,3794,5485,4031,3792,5506,4357,5507,3939,3886,4517,3808,5508,3686,3712,3579,3777,4008,3719,4034,3901,3610,3686,5509,3905,3943,3752,3794,5510,3726,4635,4004,5511,3701,3686,3845,5194,4001,4868,4161,3833,3712,5512,4707,5272,3521,3616,3597,4545,4317,3763,3764,5513,3696,3606,4315,3686,3701,4125,3727,3523,4576,3653,4902,3694,4129,4057,3767,3967,3759,4069,3702,3610,3794,5514,5515,5516,3597,5517,3894,3764,4544,3785,5518,3701,5081,3653,3791,3610,5467,4224,3687,4802,3968,3578,5519,3676,5259,4240,5348,3728,3611,3762,4126,5009,3648,3939,5520,3693,3750,4388,5521,5522,3795,3845,4068,5523,4302,4809,3770,5524,3714,3687,3720,4196,5525,3593,3933,5395,3645,3701,3740,3868,4232,3547,3894,3686,3930,3686,3721,5526,3759,3530,3686,3628,3609,3691,3982,3714,3686,5527,4507,3605,3686,3581,4232,4266,3759,3939,5528,3750,4889,5529,4113,4751,3561,3679,5530,4530,3794,3633,4266,4353,3720,5531,3653,3727,5532,4081,3980,3648,4819,5533,5509,4416,5090,4531,3750,3990,4717,3647,3752,3686,4200,4080,5327,3874,3879,3771,3875,3680,3956,3936,4226,5534,3693,3531,4812,3688,4270,3905,4032,3843,3886,3547,4395,5535,3964,3749,4809,4691,3656,3578,5536,3648,3628,4716,5537,3753,5116,4149,3819,5000,5538,5539,3700,3727,3927,5029,5540,5541,5542,5543,4004,5029,3712,3553,4113,4211,4563,4023,5242,4165,3833,3967,3680,3719,3766,5174,3688,3611,4586,3894,5544,4002,3753,4426,5545,5546,3753,5547,3994,3687,3954,3726,3872,3679,4125,3771,3680,3872,4042,4572,3808,4036,3778,4429,4664,3628,4922,3717,4257,4331,3877,5548,5549,3709,3632,5550,3750,5551,5123,5552,4892,3779,4056,3724,4692,4293,3593,4232,4111,5266,4001,3632,3916,5553,5554,3555,4586,4989,3734,3718,3715,5158,3915,3709,4055,3687,4843,4232,3693,5555,5511,3686,3994,3982,3795,3867,5401,5268,5556,3915,3682,3761,5299,4056,3734,3545,4002,3576,3760,3826,4447,5042,4211,5071,4624,4618,3938,4227,5557,3579,4317,4980,3617,4618,4036,3794,4037,3593,5558,3656,5243,4309,3975,4126,5487,3581,5559,3789,3686,4331,3916,3771,4831,3989,3676,3686,4234,5560,5561,3888,3605,4282,4232,3813,3851,3647,4298,5042,3785,3712,4353,4310,3637,4015,4376,3659,3955,5562,5563,3905,5015,4214,4001,3679,5529,4266,3761,4396,3980,4843,5564,4499,5565,3740,5566,4306,4022,3659,3993,5567,3975,3798,3647,3727,4548,4704,4098,3720,4964,3777,5568,4233,3750,3686,3982,3930,4493,5569,3617,3771,5570,3905,4204,4035,3875,5571,3686,3611,5572,4018,3822,3698,3632,5172,5429,4240,3799,5405,5059,3576,4919,3664,3593,3943,5573,5574,4334,3709,5575,5576,5577,3974,3700,4667,5578,3694,3913,3833,3610,4183,3961,5524,4092,3573,3704,3779,4263,3605,3901,3849,5579,5580,5563,4986,3851,4310,3637,5211,3789,4331,3958,3658,3802,5581,3700,4769,3686,3795,3763,3686,5582,4449,5583,3877,3653,3664,3816,3593,4696,5584,4291,5585,3764,3686,3749,5586,3851,4309,5587,5588,4304,3994,4669,5112,3728,3862,4962,3664,4298,5224,3578,4064,3726,3680,5589,5375,4406,4065,4352,5590,3744,5591,5235,5592,4733,5593,3686,3980,3578,3783,4071,4103,3585,4798,5301,3720,4273,5594,3643,4942,5441,3771,4659,3616,4721,4081,4586,3893,4049,3632,3894,4331,4250,5045,4937,4296,3789,5595,4428,5596,3702,5597,3894,3813,5437,4357,5598,3712,4286,4119,3826,3750,3610,5599,3874,5600,5601,3540,3633,3608,5015,3598,3597,3691,5602,5603,4317,3990,3686,4129,5605,3701,4023,3704,3720,4015,3851,3710,3709,5406,4306,4566,5530,3611,3673,5561,5606,3617,3859,3550,3686,5607,4974,5116,4481,4392,3795,3599,3712,3761,5609,3547,3599,3599,5610,3875,5611,4149,3750,3852,4769,3799,3893,5546,3816,3797,3760,3659,5612,3893,3687,3686,3982,5613,3673,5197,3780,4812,4392,3960,5614,3605,3802,5615,4721,3529,3610,3652,4160,5616,3686,4000,3727,4470,5348,4301,5570,4811,3875,3531,5617,5226,3578,3867,5203,3709,5618,3540,3686,5619,3868,4685,4094,4999,3901,4202,5620,3760,3833,3599,3994,5621,5435,5622,3823,5623,4631,3578,5188,4015,3886,3960,3927,3905,4219,4094,3761,5624,4566,3709,4199,4239,5625,3752,5626,5461,3929,3577,4433,4227,3581,4056,3968,3705,3549,3599,3994,3906,5372,5164,4397,5627,5628,3789,3982,5629,5630,3958,3599,4149,4039,4719,4297,3927,5631,5632,3921,5419,3682,3760,5633,4117,4830,3682,4036,5034,5626,3910,5634,3783,5617,3547,4129,5256,3854,5009,3833,4042,3777,3993,4103,3553,3935,3628,3721,5635,4129,3726,3648,3960,3688,4496,5636,4068,3867,4022,3686,3569,3800,3658,4001,3779,4371,3872,3875,3862,5101,3686,4153,5638,4140,3597,5639,4753,3905,3893,5640,5518,5641,4069,5448,5642,3599,4230,5467,4469,5419,3898,4614,4010,3715,3553,5643,5644,4105,4470,3579,3648,3762,5227,4910,3929,3712,3843,4843,4057,4655,4537,5426,4960,4039,5645,4304,3701,5243,5646,4614,5647,3680,4149,4047,3966,3777,3875,3762,3828,3780,3628,4228,5076,4049,3961,3956,4004,3930,3686,3793,4071,3921,5042,5648,4324,3737,3930,5550,3670,4056,4566,3664,5014,3670,5208,5430,5649,3680,5650,3686,3696,5651,4288,5652,3656,3617,3802,5653,4049,4081,5654,4238,5655,4481,5300,3549,3628,4068,5029,3678,3994,3610,3849,3802,4986,4877,5227,4350,5656,3783,4196,3763,3874,3733,3724,3693,3707,3872,5657,5658,5659,3593,5492,3576,3691,5645,4199,3659,3846,4644,4008,5660,3932,4258,3886,5401,3915,3777,3846,3561,5661,5375,3759,5662,4831,5663,3593,4558,3658,3759,4144,3777,4218,5664,3752,3964,5230,4610,5665,4905,3577,3843,4086,5666,3939,4825,4035,5338,3686,4079,4158,3906,3872,4501,5667,3993,5668,3579,4202,5669,3905,3750,3749,4023,4049,4068,5064,3791,5544,4831,5670,4149,3767,3717,3868,5671,3664,3525,4418,4398,3870,5672,5673,4919,3750,4785,3926,3693,4694,4724,3795,5674,5030,5307,5131,5561,3799,5675,3824,3749,5284,3943,4773,3843,5676,3622,4419,3958,5533,4704,5677,4447,5678,5679,3717,3664,4284,5680,4108,3826,4242,3578,3709,5681,5682,3943,4548,4232,4122,5302,3637,3877,4228,3740,5518,3691,3851,3815,3770,4170,3593,4026,3794,3648,3540,3894,3966,3703,4317,4049,3610,4153,3914,5683,4225,4129,3929,4228,3833,5042,3793,5020,4103,4240,3700,4278,4681,4419,4170,3700,5684,4531,5685,3915,3659,3982,3794,3658,4125,3576,3726,4298,3896,5686,3637,3529,5033,4717,3581,4112,3682,5519,4748,3714,3561,3545,5687,4225,4938,5688,3797,4049,3653,3761,5689,3605,5448,5690,3960,3686,5691,3813,3545,4136,4409,4064,4458,5692,3707,3779,3664,5147,3693,3647,3599,5693,5694,3658,3961,4136,5235,4070,3714,4209,3763,3961,3676,5695,4869,3622,3845,4963,3930,3980,4538,5682,4010,3540,3686,3581,5696,3894,4457,5618,4039,3851,5697,3753,3561,5424,4597,3820,3774,4115,3905,4614,3822,3802,5698,5019,5699,3703,3753,5700,5300,4706,3686,5199,5701,4809,4240,3872,3728,5527,3750,3652,5702,4036,3895,3555,4055,3845,3632,5703,3700,3843,5704,5009,3619,4064,3752,5705,3563,3622,5706,4001,3576,3822,4064,4298,4825,3531,3628,4317,3822,4780,4739,3703,3686,3610,5422,5224,5707,4002,3643,5396,5708,4780,3628,3686,3673,3794,4419,5709,4031,3862,3872,3610,3750,4008,4196,3581,5710,4094,5487,3540,3704,3843,3738,3563,4542,5334,4614,3943,4724,4125,3701,5711,3563,3581,5712,3789,3968,3628,3726,3664,3668,3980,3872,5590,3967,3740,3936,3916,3608,5713,3628,3529,3691,4398,5636,3753,3676,3753,5714,5715,5716,4331,4441,5717,4979,5718,4781,5719,3633,3701,5720,5364,5721,5515,3611,3794,3740,3762,4817,3749,3826,3622,5449,3823,3975,5722,3637,3728,3550,5235,4543,3664,3719,4108,3652,4370,3686,5723,5724,3622,5725,3664,3628,3714,3771,3577,5726,4069,3702,3712,5576,4658,4177,5727,3709,3794,4238,4125,4211,4266,3822,3799,5728,4405,3764,3955,3686,4443,5729,5338,4125,3659,3880,3846,4979,3681,4094,3780,3659,3700,4298,4000,3731,5730,5538,4039,4204,3720,3593,3653,3658,3662,5129,4811,3994,4185,5086,4662,4035,3647,4124,4149,5597,4491,4902,4889,3581,5731,3693,5015,3990,4435,5732,4170,4724,3783,3579,4409,3982,5308,3938,3693,5733,3700,3531,3750,3617,3802,3778,3659,3656,4418,3862,3929,3619,3597,5734,4035,4026,3760,3555,5735,3872,3720,4938,3593,4031,4225,3763,4153,3894,4158,3686,5597,4211,5579,3960,5736,3726,3686,3749,5737,3792,4049,3707,3530,3749,4976,3982,3792,3856,3846,5569,4739,5160,4184,3868,4324,3777,4331,3759,3730,5647,5327,3750,5270,3726,3787,3956,5738,3763,4525,4806,4908,5739,3893,3989,3782,5740,5741,4447,3531,3687,4794,3761,4125,3653,3982,3547,4608,4063,4818,3530,5742,3851,4802,3540,5667,3869,3753,3785,3767,3750,4036,3547,3833,3686,3691,5743,4152,5027,3816,3843,5744,3958,3960,3797,4413,5745,3896,3707,3915,4836,3707,4304,5746,3547,4185,3597,4304,5747,3652,3611,4012,4232,3619,3891,5022,5748,4103,4026,5749,4548,4026,5331,3905,3682,5750,3628,4301,5751,3750,5752,4811,3680,3843,4240,4049,3879,4891,3547,4538,4309,5208,3653,4207,4012,4565,5753,4103,3576,5040,3724,4208,3648,5754,3622,4192,4460,4371,3794,5308,3686,4698,4889,5051,4904,4925,3686,5755,4869,3749,4212,4238,4208,4728,5668,5033,5132,3770,3851,3529,5717,3686,3549,5756,3779,3794,5757,5758,5759,4571,4149,3659,3870,5760,5761,3750,4962,3688,3764,5762,3799,4301,3728,3632,4639,3686,4938,3785,3915,3822,3777,4681,3752,5675,5763,3531,4068,5015,5764,3799,3579,3547,3709,4263,4659,3561,4240,3721,3576,5183,4507,4558,4426,3611,4117,3916,4622,4379,3622,4254,3994,3795,4239,3577,4610,3709,4015,3529,3599,5765,3632,5766,3814,3770,3749,5728,3901,3611,3972,4112,5767,5701,4032,4252,3764,5280,4031,4183,3727,4817,5522,3632,4283,5257,3892,4770,4919,3982,5768,4008,3577,4458,3632,5064,4230,4525,5769,3807,3990,4698,4010,4674,3579,4049,4572,3652,5770,4185,4240,4094,5732,3780,5042,3608,3797,3693,3701,3579,5771,5015,3593,3670,5772,5773,4686,3593,3843,3858,5313,5774,4716,5652,5775,5776,3905,3929,3846,3763,3632,4068,5777,5301,3702,4938,5778,3822,3843,4290,4008,5537,3989,3823,5779,3686,4502,3778,5780,4036,4047,5698,3874,3709,4163,4599,5401,3831,4068,4739,5781,3593,3820,3785,4077,4992,3666,4433,3886,4263,4993,4461,4068,4193,3680,3735,5782,3703,4288,4414,4153,4993,3740,3779,3530,4623,4266,4805,5783,5784,3686,5083,3794,3719,4357,4783,4256,4831,4823,4108,3874,4798,3738,5785,4536,4908,4086,3982,4965,3686,4016,3643,3942,5701,5786,4315,4160,4447,4617,3703,4266,5787,5606,3610,4320,3724,3550,5547,3691,3693,4001,3779,3682,5311,5466,4615,4919,4223,4068,4902,4478,3670,4008,4196,3593,3726,3714,3851,3561,3866,3619,4426,3686,3814,4094,3752,4205,3777,5533,5167,5182,3947,3577,3700,3874,4028,3686,4407,4895,5668,3686,3939,3663,3846,4666,3719,3530,4329,3682,4520,4310,4346,3707,3540,5677,5426,4063,3664,5749,3728,3824,3734,3777,3975,3845,4344,3579,3611,4910,5462,3529,3750,3845,4049,4039,3577,3529,3658,3898,4376,3956,4056,3771,3955,4177,4026,5788,5789,3627,3701,5790,4913,3881,3680,3670,3659,5791,3633,5288,3707,5792,5793,4196,5794,5795,4317,3579,3714,5567,4448,3764,5796,4036,3686,3749,4047,3686,3545,3813,3872,3693,3823,3540,4444,4567,4026,3773,4225,3686,4036,4430,4063,5438,3686,5716,5230,3707,3628,4136,5797,4960,5798,3627,5799,3791,5800,3643,4811,3712,3894,3670,5106,3728,5160,3588,3779,5801,5802,3771,3648,4047,3728,3843,3975,4669,5803,3795,5804,3982,5805,5806,5722,5807,3705,5808,4217,4329,5809,3967,3752,4108,5810,3686,4770,4131,5811,3955,3637,4217,4028,3874,3653,3750,3760,4481,4549,4141,5812,4019,3687,3676,4019,5813,3989,5232,3664,5814,5229,3715,3626,3632,3611,5815,4049,5675,3894,4430,3701,5366,4483,5280,5600,5610,4640,3643,5816,3686,4688,4652,4286,5817,4134,5818,3958,3648,3770,4032,3686,3780,5225,3901,4266,3686,3686,3851,5819,5566,4910,4018,4860,3728,4232,3581,5752,3727,3868,3670,4810,3693,5804,3599,4230,3851,3686,5820,4125,5821,3632,5822,3795,5823,5030,4266,4433,3831,5824,3670,3752,5825,3750,5826,5827,4010,3535,3876,5634,4348,4094,5828,3670,5829,4588,4513,5768,3664,5122,3926,3676,3670,5830,3647,3728,4161,4079,3680,3886,3588,3808,5331,3626,3653,4026,3958,3960,5831,5832,4938,4153,5833,4055,3727,3603,3872,3779,5074,4673,4913,3547,3794,4363,4288,3579,3777,3691,5780,3882,4068,4283,3599,3888,4447,3726,4831,5530,4094,5834,3622,4204,4219,5835,3712,4196,3579,5836,3795,5837,3547,5683,4187,4566,3820,5065,5838,3905,4981,3529,3705,3561,3678,4069,3545,4306,3893,4103,3709,4614,4037,3599,3961,5839,3905,3686,5634,4811,5656,3822,5840,3939,3967,3664,4270,3727,4577,4905,4126,3879,5156,5841,3914,3844,5842,4240,5133,5843,5844,3833,3917,3673,3680,3761,4173,3763,5845,3720,5846,3809,5800,5296,3584,5847,3712,3994,5848,3770,5849,5850,5851,5852,4520,5238,3791,4451,3676,5853,4772,4146,3703,3875,5600,3822,3622,3875,3530,5854,5855,5856,3719,5857,5858,3726,4103,3877,4614,5859,5485,3655,3833,3882,4225,3659,5860,3869,5752,3733,5454,4392,5861,5862,5610,3915,3916,5863,3961,4240,3760,4388,4576,5864,4716,3893,5020,4023,4794,4094,3561,4219,3577,3901,5865,5610,3960,4960,5419,3994,4644,3936,4298,5866,5867,4094,4049,4049,3759,3976,4742,4125,3874,3563,3762,4286,5264,5053,4069,3632,5467,3980,3782,3845,4094,3616,4507,5091,3905,4549,3770,4830,4750,3676,3994,3540,3653,4871,3632,3862,3760,4363,5868,3682,3753,3791,4704,5391,4844,4213,3780,5869,4938,5870,5871,5872,4094,3597,5873,5874,4855,3577,3610,3700,3783,5519,3686,3691,3581,3772,3771,4049,3707,3862,3686,3686,5186,3749,5103,3845,3588,4986,5875,5876,5668,4023,5877,3990,3545,5878,3726,3766,3846,3929,3778,3921,3682,3793,3921,4240,3816,5474,4477,4001,5879,3581,3750,5675,3693,3686,3531,3982,3576,3802,5865,5379,3993,4286,5880,4639,5509,4308,3652,3993,5688,4944,5086,5754,3760,5511,4902,4078,5079,4329,4895,3822,4002,3724,3547,5881,3694,3960,5882,3619,4103,3686,3686,3760,4105,3894,3896,5240,3761,4861,5085,3752,5203,4365,3693,3693,3693,3693,3693,5079,3760,4315,4105,4426,5883,3814,5773,4071,4240,4377,5884,4263,4270,4496,5885,3770,5886,3670,5744,3599,3707,5780,5887,4458,3894,5232,3961,3753,3709,5888,3599,4335,5889,3593,3691,4023,3714,3722,4049,5890,4108,4029,3599,4008,3797,3750,3795,3540,3916,3658,4127,3719,5814,5038,3915,5891,3676,3823,5892,3875,3702,5893,4263,4124,5894,3763,3617,5895,3721,3750,3795,5005,4833,5896,4984,3806,5077,4345,4039,4071,5580,3686,3749,3719,3956,4929,4567,3702,4633,3843,5897,5898,5070,3778,5058,5899,4046,4376,4378,4026,3759,3901,4068,4949,5900,5901,3605,3577,3628,4049,5902,5281,4525,5903,4149,5904,5905,3664,3734,3833,5906,5907,3759,5908,4039,4617,5909,5910,3622,5911,3535,3960,4015,3797,3808,3764,5003,3531,3763,3770,4266,4750,3720,3611,5087,3719,3611,4731,4317,3994,4533,3770,4514,3989,4183,4705,3824,4258,3792,3714,5257,4071,4108,5912,4668,5913,3632,4772,3724,3767,3873,3545,3700,4129,4833,3888,4189,4615,3975,3824,5651,4558,3752,5914,4331,4938,3785,5309,4389,3709,5770,3727,3686,4094,3799,3820,5915,3750,5916,5849,3561,5917,3628,4225,3802,5518,3812,5918,4204,3712,3721,3778,3576,3709,3896,5919,3896,4735,4183,4938,3555,4001,3770,3845,3893,3763,3680,5920,3982,3549,5230,4779,5921,3585,3767,3709,4220,3693,4194,3549,3960,3933,5922,4001,4850,3540,5189,5517,4149,3777,4125,5514,3961,3981,5817,5923,4108,3724,3845,3915,3563,5924,5925,5926,3608,4211,5306,5152,4123,3632,4698,3759,5927,4023,3943,3700,3608,5928,3939,4055,4064,5620,5577,3764,3960,4859,4464,3894,3750,3719,5752,3777,3591,4423,4105,5042,4374,4392,5865,3777,4614,3608,5242,3622,3652,5071,3777,4529,3622,4031,3547,3540,5280,3816,5410,5929,3603,4146,3652,3727,4514,3975,4129,3578,3795,5576,3867,5930,5510,4169,5158,3715,3880,3880,3763,3975,3771,3702,4770,3813,3637,3780,3794,4015,3939,3877,5931,3707,4183,5932,4108,5933,4973,4055,5365,3627,3740,3824,3784,3868,4742,3686,5460,4129,3593,3845,3702,4378,4825,5934,4225,5518,4049,3561,4334,4213,3990,3691,4094,3686,4257,4693,5439,3632,3648,4392,3802,3686,5935,5936,4047,3813,3632,3821,4812,5937,5938,4301,5703,5939,5940,3886,3805,3619,3767,4351,4254,5303,5255,4230,3752,5880,5375,3714,4402,3779,4853,5897,3597,5941,4919,5942,5617,5010,3975,3906,3845,3593,4035,3797,5943,3703,5400,5487,5794,5944,4933,4548,3579,4623,5945,4517,3686,3720,3791,3960,3776,3738,4928,3794,3794,3916,5946,5947,5423,3637,3794,3698,5130,4851,5216,3597,5948,3813,5325,3875,4960,3653,5949,4080,4501,4880,4514,3540,5613,3686,3686,5950,4919,3679,3686,4203,4298,3980,3777,5610,5791,3735,3709,3576,5951,5029,5406,4207,4163,4637,3851,5032,4075,3795,5952,5953,5954,4204,3686,3686,4910,4205,4064,4982,3929,5955,5158,4328,3727,3686,3795,3929,5956,3845,4241,4653,3680,3608,5957,3686,3794,3962,3781,3932,5958,3576,3619,5959,5379,4617,3791,4896,4640,3876,3877,4628,4324,4869,3831,3593,3530,3802,3897,4956,4343,4674,3822,3750,3727,3780,4609,3780,5713,3605,3605,3597,5960,4610,5961,5271,3703,5363,3686,4545,4938,4705,3961,3686,4049,3581,3608,3780,3826,4203,4952,3632,4478,5962,5963,4545,3578,5964,5965,3797,5564,4991,4429,4381,5966,5577,4481,5279,4317,4854,3579,4049,3813,4108,4354,3709,3597,5648,3664,5564,5051,4141,3599,5480,4016,3579,5967,5668,5968,5968,5968,5968,5968,5969,3717,4995,5970,3926,3972,5074,3712,3816,5971,4233,5345,4743,4966,3868,5972,5973,4545,3762,4136,4379,4241,5034,3549,5974,4057,3691,3921,3619,3820,5742,4481,5975,5976,4788,5977,5625,5086,3691,4064,5675,5978,4788,3688,4576,3593,5004,3845,3862,4146,3597,4163,5223,3750,5979,3617,4239,3652,3658,3700,3599,3610,3724,3797,4426,3795,4817,3599,5980,4331,3610,3763,3608,4078,3887,5033,4741,3734,4963,3762,3662,3686,4039,4274,3553,5236,3694,3545,3869,4158,3845,3691,3547,5981,4925,5982,5983,4031,4517,5426,3686,3623,3702,4766,3705,4914,5522,3761,5266,3579,3726,3862,5984,3960,3939,4063,3929,4105,3680,4593,3611,5985,4036,4094,5986,5987,5376,3778,4381,3927,3845,3994,4783,5029,3709,3975,3686,5988,3915,3750,3929,3875,4198,5989,4023,5990,5924,4479,3603,4078,4039,4953,5991,4371,5992,4953,3840,3764,4589,4647,3792,3737,3777,3670,3820,3628,5993,4023,5862,5994,5185,4117,4163,3593,4405,4516,3994,5995,4615,3809,3659,5362,5996,4627,3707,3679,3822,3816,5961,3643,3647,3549,3862,3686,3686,3599,5426,3792,5791,3760,5590,3728,5990,4018,3579,4035,4637,3785,4588,3822,4566,5997,5998,5999,6000,3761,3579,3547,4476,3989,3930,3726,3766,4196,3787,3659,3593,3750,3982,6001,3686,3867,4511,3680,4309,4071,3893,4113,3750,5419,3887,4008,4902,4129,5184,4471,5074,4406,3916,3637,5698,3793,4447,3709,4595,5400,3633,3872,3531,6002,5697,5929,6003,3561,3648,3797,3597,3627,4214,3593,3780,3943,5601,3531,3764,6004,4194,3597,5330,4440,4030,3658,3770,3703,5017,4643,3933,3652,4049,3712,3881,4309,4723,3709,4351,3593,3872,4316,4381,5520,4035,3833,5186,3958,3682,4447,4654,3709,3724,3880,3960,4674,3605,3915,3686,3540,3588,3794,4585,3686,4312,5792,4031,3868,4149,4147,4137,3990,6005,4094,3894,3563,4376,4211,4392,3780,5419,3703,6006,5004,3712,5778,3872,3753,4227,3822,3710,3833,6007,6008,3867,6009,3958,6010,4105,3700,4331,6011,3868,5307,4830,5136,4256,4669,4381,3943,4055,3578,3547,3960,3691,3929,3610,5036,4902,3868,5989,3901,5957,3608,3990,3916,5914,3659,6012,4129,4310,3955,4094,6013,3753,4719,6014,4008,3728,4047,4002,3680,3975,4081,4023,3611,3652,4320,3896,3597,3728,4659,3654,6022,6026,6032,6034,6038,6042,6043,6046,6047,6048,6048,6048,6048,6048,6049,6050,6050,6053,6054,6055,6058,6059,6058,6062,6079,6085,6088,6091,6094,6096,6097,6098],"time":[116605414.537855,116605418.734415,116605420.332761,116605423.189167,116605425.099977,116605426.779418,116605428.26199,116605429.533228,116605430.577629,116605431.496979,116605432.339625,116605433.121032,116605433.885871,116605434.610152,116605435.321692,116605436.036762,116605436.785633,116605437.519184,116605438.305754,116605439.153588,116605440.020961,116605440.921613,116605441.842995,116605442.783036,116605443.729955,116605444.690625,116605445.683014,116605446.658931,116605447.653787,116605448.688511,116605449.711743,116605450.727888,116605451.749892,116605452.779724,116605453.804172,116605454.841544,116605455.852704,116605456.860348,116605457.885813,116605458.908838,116605459.990302,116605461.022074,116605462.01309,116605463.004822,116605463.998721,116605465.015698,116605466.031928,116605467.043875,116605468.096949,116605469.111017,116605470.117491,116605471.109866,116605472.101039,116605473.099647,116605474.125957,116605475.151405,116605476.163431,116605477.178347,116605478.179389,116605479.178834,116605480.169474,116605481.148499,116605482.130088,116605483.216285,116605484.217792,116605485.209641,116605486.201848,116605487.196307,116605488.19176,116605489.187694,116605490.197931,116605491.21799,116605492.235047,116605493.247388,116605494.296187,116605495.30195,116605496.322499,116605497.340009,116605498.35903,116605499.36804,116605500.373101,116605501.352949,116605502.334181,116605503.320025,116605504.309808,116605505.302498,116605506.319157,116605507.312914,116605509.505787,116605511.213835,116605512.711614,116605514.085894,116605515.325593,116605516.501456,116605517.369806,116605517.865121,116605518.364441,116605518.963817,116605519.645283,116605520.409534,116605521.249935,116605522.156247,116605523.088471,116605524.016145,116605524.995023,116605526.033018,116605527.067962,116605528.117019,116605529.15621,116605530.185604,116605531.207084,116605532.254956,116605533.296264,116605534.328601,116605535.378856,116605536.414085,116605537.440646,116605538.457023,116605539.469358,116605540.466218,116605541.443507,116605542.410595,116605543.374214,116605544.345796,116605545.327489,116605546.317792,116605547.337794,116605548.343166,116605549.332677,116605550.317384,116605551.306631,116605552.319973,116605553.352603,116605554.374934,116605555.379034,116605556.377896,116605557.376282,116605558.38632,116605559.456841,116605560.468629,116605561.471799,116605562.487206,116605563.530901,116605564.539932,116605565.536128,116605566.541794,116605567.530827,116605568.526109,116605569.524174,116605570.570577,116605571.56329,116605572.552294,116605573.5448,116605574.537728,116605575.532482,116605576.519565,116605577.508481,116605578.50009,116605579.480813,116605580.465843,116605581.455339,116605582.435594,116605583.420488,116605584.422408,116605585.411904,116605586.40228,116605587.401497,116605588.485774,116605589.505866,116605590.509531,116605591.49823,116605592.469774,116605593.457918,116605594.494357,116605595.482808,116605596.459998,116605597.46594,116605598.466628,116605599.483729,116605600.473588,116605601.474792,116605602.486131,116605603.499613,116605604.497492,116605605.517399,116605606.519809,116605607.520118,116605608.511819,116605609.507886,116605610.520803,116605611.520889,116605612.570658,116605613.593476,116605614.595963,116605615.578469,116605616.554965,116605617.546005,116605618.530796,116605619.52745,116605620.546496,116605621.551649,116605622.565809,116605623.571051,116605624.559071,116605625.559489,116605626.542667,116605627.527084,116605628.526477,116605629.518964,116605630.510432,116605631.491784,116605632.466741,116605633.444896,116605634.441735,116605635.439966,116605636.426455,116605637.427808,116605638.429986,116605639.43253,116605640.434892,116605641.426619,116605642.41562,116605643.409484,116605644.4266,116605645.442948,116605646.458908,116605647.470702,116605648.476128,116605649.504469,116605650.515506,116605651.535409,116605652.552041,116605653.572226,116605654.585616,116605655.590035,116605656.591854,116605657.605457,116605658.633982,116605659.628671,116605660.62933,116605661.650599,116605662.703944,116605663.739111,116605664.762764,116605665.825679,116605666.86534,116605667.872806,116605668.863971,116605669.834848,116605670.803712,116605671.756746,116605672.716713,116605673.670075,116605674.620227,116605675.551096,116605676.486257,116605677.417402,116605678.331327,116605679.250749,116605680.262227,116605681.20926,116605682.160652,116605683.152122,116605684.188186,116605685.248993,116605686.318797,116605687.383747,116605688.457617,116605689.488821,116605690.519381,116605691.532872,116605692.563432,116605693.583823,116605694.604274,116605695.605676,116605696.588182,116605697.592942,116605698.602885,116605699.620737,116605700.626593,116605701.628307,116605702.640402,116605703.651741,116605704.648741,116605705.644998,116605706.6366,116605707.618261,116605708.594886,116605709.576964,116605710.563049,116605711.552764,116605712.545479,116605713.553299,116605714.524153,116605715.497681,116605716.488756,116605717.476505,116605718.478016,116605719.489905,116605720.506153,116605721.501058,116605722.490107,116605723.473388,116605724.459434,116605725.448963,116605726.455262,116605727.456797,116605728.460651,116605729.455417,116605730.447584,116605731.441525,116605732.436457,116605733.433048,116605734.439061,116605735.444958,116605736.451708,116605737.470292,116605738.488858,116605739.502586,116605740.512602,116605741.516861,116605742.528335,116605743.536139,116605744.534771,116605745.534205,116605746.537834,116605747.577525,116605748.59629,116605749.607616,116605750.62347,116605751.632609,116605752.642675,116605753.642325,116605754.640806,116605755.639922,116605756.619787,116605757.596626,116605758.578525,116605759.582806,116605760.578506,116605761.576619,116605762.573368,116605763.563126,116605764.554206,116605765.54775,116605766.527523,116605767.500714,116605768.539159,116605769.530541,116605770.518764,116605771.496342,116605772.489733,116605773.49819,116605774.506794,116605775.524032,116605776.535002,116605777.542612,116605778.54969,116605779.546026,116605780.544211,116605781.54056,116605782.547293,116605783.554803,116605784.560599,116605785.561503,116605786.603276,116605787.595459,116605788.582866,116605789.584112,116605790.597713,116605791.608701,116605792.617115,116605793.622988,116605794.636645,116605795.639651,116605796.64007,116605797.640216,116605798.640761,116605799.62305,116605800.600246,116605801.582406,116605802.57253,116605803.562644,116605804.554773,116605805.532839,116605806.506504,116605807.496902,116605808.480292,116605809.485601,116605810.486185,116605811.485846,116605812.472387,116605813.48108,116605814.469764,116605815.459257,116605816.465266,116605817.481862,116605818.4955,116605819.505966,116605820.521063,116605821.528571,116605822.530648,116605823.545817,116605824.545743,116605825.536136,116605826.511327,116605827.497915,116605828.480416,116605829.474951,116605830.49473,116605831.519842,116605832.530014,116605833.532362,116605834.533347,116605835.534151,116605836.534209,116605837.534462,116605838.534804,116605839.551019,116605840.574728,116605841.601422,116605842.624139,116605843.641577,116605844.646388,116605845.640726,116605846.668627,116605847.640445,116605848.613145,116605849.578056,116605850.540573,116605851.518271,116605852.516473,116605853.498823,116605854.493748,116605855.48934,116605856.475628,116605857.473794,116605858.464637,116605859.457718,116605860.460915,116605861.478832,116605862.501631,116605863.566292,116605864.57506,116605865.58142,116605866.575124,116605867.575212,116605868.566919,116605869.55974,116605870.555087,116605871.550631,116605872.524484,116605873.501213,116605874.492401,116605875.489592,116605876.476661,116605877.478171,116605878.468844,116605879.508066,116605880.53204,116605881.522619,116605882.52163,116605883.526835,116605884.53117,116605885.534156,116605886.536956,116605887.542949,116605888.556601,116605889.571528,116605890.592442,116605891.608723,116605892.627305,116605893.642089,116605894.653268,116605895.661466,116605896.699593,116605897.69203,116605898.681928,116605899.650179,116605900.623718,116605901.603394,116605902.631174,116605903.616095,116605904.598954,116605905.592382,116605906.568404,116605907.57958,116605908.537329,116605909.501707,116605910.473092,116605911.463708,116605912.464788,116605913.985404,116605914.957773,116605915.93162,116605916.890398,116605917.83506,116605918.78596,116605919.767787,116605920.766478,116605921.790656,116605922.807855,116605923.853959,116605924.956206,116605926.075887,116605927.158558,116605928.218523,116605929.262284,116605930.325896,116605931.351815,116605932.361381,116605933.367043,116605934.370823,116605935.377837,116605936.350394,116605937.306021,116605938.261837,116605939.237178,116605940.201333,116605941.16468,116605942.132882,116605943.11072,116605944.077886,116605945.06676,116605946.10141,116605947.33446,116605948.556706,116605949.579634,116605950.475273,116605951.361853,116605952.285603,116605953.221305,116605954.170702,116605955.133479,116605956.106911,116605957.108936,116605958.115011,116605959.119431,116605960.123744,116605961.127501,116605962.130663,116605963.143444,116605964.162719,116605965.18746,116605966.200988,116605967.210089,116605968.216468,116605969.221301,116605970.225106,116605971.243798,116605972.253491,116605973.260599,116605974.258719,116605975.267091,116605976.284692,116605977.298728,116605978.309196,116605979.325942,116605980.348477,116605981.361535,116605982.367083,116605983.360844,116605984.355097,116605985.350155,116605986.346429,116605987.344102,116605988.319197,116605989.289019,116605990.250235,116605991.218887,116605992.201867,116605993.194055,116605994.186545,116605995.177927,116605996.167306,116605997.158988,116605998.16463,116605999.181822,116606000.196261,116606001.206816,116606002.214734,116606003.227298,116606004.260825,116606005.279395,116606006.300097,116606007.302734,116606008.295151,116606009.292166,116606010.35367,116606011.364286,116606012.349422,116606013.322142,116606014.299622,116606015.283639,116606016.273988,116606017.273583,116606018.290224,116606019.301173,116606020.309769,116606021.294515,116606022.288837,116606023.277726,116606024.272521,116606025.264855,116606026.258148,116606027.278167,116606028.296487,116606029.311886,116606030.345748,116606031.374528,116606032.397107,116606033.413341,116606034.424416,116606035.437039,116606036.442627,116606037.449061,116606038.451064,116606039.451945,116606040.44265,116606041.419196,116606042.400415,116606043.373531,116606044.382926,116606045.330906,116606046.282275,116606047.258048,116606048.222016,116606049.190661,116606050.157841,116606051.130849,116606052.121762,116606053.127365,116606054.163935,116606055.226822,116606056.30607,116606057.379176,116606058.434995,116606059.480541,116606060.508722,116606061.529858,116606062.544668,116606063.572946,116606064.588791,116606065.589339,116606066.587264,116606067.586643,116606068.580292,116606069.555253,116606070.532685,116606071.502298,116606072.466527,116606073.436073,116606074.393106,116606075.358309,116606076.3326,116606077.316213,116606078.291078,116606079.26939,116606080.269197,116606081.267792,116606082.273736,116606083.278075,116606084.27944,116606085.275997,116606086.280539,116606087.277066,116606088.273256,116606089.278939,116606090.284547,116606091.279476,116606092.283923,116606093.32456,116606094.315693,116606095.307195,116606096.320417,116606097.333639,116606098.352502,116606099.364382,116606100.375818,116606101.374958,116606102.373231,116606103.360884,116606104.337632,116606105.324781,116606106.316949,116606107.344684,116606108.338141,116606109.311509,116606110.290943,116606111.271033,116606112.265311,116606113.261101,116606114.261967,116606115.265258,116606116.266143,116606117.268708,116606118.268082,116606119.267532,116606120.289509,116606121.31018,116606122.327255,116606123.343069,116606124.351245,116606125.364691,116606126.372302,116606127.389668,116606128.395068,116606129.38967,116606130.38488,116606131.383727,116606132.386815,116606133.382803,116606134.379344,116606135.367262,116606136.343029,116606137.323391,116606138.299115,116606139.27882,116606140.25078,116606141.237647,116606142.243838,116606143.258608,116606144.27538,116606145.275876,116606146.281713,116606147.280609,116606148.278124,116606149.297735,116606150.300485,116606151.301533,116606152.312855,116606153.353664,116606154.33836,116606155.327586,116606156.318818,116606157.307294,116606158.30039,116606159.338516,116606160.335445,116606161.322045,116606162.309335,116606163.308098,116606164.329743,116606165.344307,116606166.353314,116606167.359758,116606168.406408,116606169.406272,116606170.424023,116606171.44389,116606172.459737,116606173.489902,116606174.46754,116606175.445169,116606176.428185,116606177.415171,116606178.405355,116606179.386172,116606180.37314,116606181.706345,116606182.850434,116606183.748033,116606184.656382,116606185.526825,116606186.42202,116606187.34637,116606188.32006,116606189.276775,116606190.270483,116606191.290274,116606192.258741,116606193.228795,116606194.238632,116606195.3007,116606196.369991,116606197.431396,116606198.463872,116606199.465766,116606200.463027,116606201.460635,116606202.459576,116606203.471222,116606204.469381,116606205.471488,116606206.459537,116606207.452483,116606208.490425,116606209.466331,116606210.44703,116606211.422937,116606212.411628,116606213.396331,116606214.38427,116606215.388468,116606216.391667,116606217.383092,116606218.37497,116606219.368742,116606220.364056,116606221.417279,116606222.439872,116606223.453995,116606224.502854,116606225.499703,116606226.488998,116606227.457487,116606228.43606,116606229.421179,116606230.404823,116606231.392527,116606232.382363,116606233.375164,116606234.369531,116606235.354514,116606236.336292,116606237.330519,116606238.374494,116606239.367489,116606240.340347,116606241.332865,116606242.323849,116606243.307006,116606244.306957,116606245.360427,116606246.3426,116606247.332146,116606248.325062,116606249.308249,116606250.323263,116606251.357498,116606252.373671,116606253.381854,116606254.377796,116606255.37348,116606256.369347,116606257.388575,116606258.387693,116606259.4054,116606260.421465,116606261.433271,116606262.448316,116606263.453745,116606264.473412,116606265.467313,116606266.442161,116606267.420153,116606268.404069,116606269.391555,116606270.383078,116606271.376904,116606272.372296,116606273.415301,116606274.415748,116606275.392551,116606276.372761,116606277.350555,116606278.335837,116606279.325511,116606280.309537,116606281.3107,116606282.32287,116606283.333705,116606284.341581,116606285.347027,116606286.369939,116606287.394911,116606288.40711,116606289.413601,116606290.418832,116606291.407524,116606292.3955,116606293.392195,116606294.397446,116606295.414155,116606296.41188,116606297.405231,116606298.397868,116606299.401725,116606300.414525,116606301.405151,116606302.394402,116606303.397722,116606304.414474,116606305.428997,116606306.439921,116606307.448098,116606308.453679,116606309.472376,116606310.504419,116606311.519927,116606312.510831,116606313.500265,116606314.468935,116606315.419138,116606316.377465,116606317.346261,116606318.323482,116606319.306882,116606320.295536,116606321.287864,116606322.312953,116606323.316062,116606324.316146,116606325.304451,116606326.30287,116606327.303803,116606328.29631,116606329.288498,116606330.281945,116606331.277345,116606332.297007,116606333.322943,116606334.343527,116606335.351122,116606336.364968,116606337.366956,116606338.393533,116606339.375309,116606340.350775,116606341.351231,116606342.355272,116606343.362872,116606344.365305,116606345.366598,116606346.382607,116606347.396518,116606348.391583,116606349.385696,116606350.416483,116606351.447854,116606352.465826,116606353.470596,116606354.472616,116606355.473231,116606356.473912,116606357.474689,116606358.488027,116606359.488329,116606360.487808,116606361.486239,116606362.474971,116606363.451788,116606364.440456,116606365.429392,116606366.41648,116606367.409214,116606368.406553,116606369.410411,116606370.421443,116606371.431429,116606372.420046,116606373.407833,116606374.454157,116606375.440296,116606376.433642,116606377.418965,116606378.428265,116606379.436321,116606380.442391,116606381.437157,116606382.422149,116606383.409284,116606384.422551,116606385.422597,116606386.427156,116606387.426388,116606388.41359,116606389.403609,116606390.415356,116606391.421856,116606392.446732,116606393.45637,116606394.439548,116606395.46594,116606396.456114,116606397.444159,116606398.427229,116606399.458197,116606400.448982,116606401.442376,116606402.425902,116606403.412474,116606404.414201,116606405.438884,116606406.476436,116606407.457781,116606408.436968,116606409.420903,116606410.409407,116606411.40133,116606412.391029,116606413.364114,116606414.340255,116606415.313813,116606416.279155,116606417.315413,116606418.287151,116606419.266806,116606420.269794,116606421.27362,116606422.274755,116606423.275769,116606424.277146,116606425.285904,116606426.309631,116606427.328814,116606428.346381,116606429.356485,116606430.373398,116606431.388289,116606432.397874,116606433.394993,116606434.390698,116606435.387895,116606436.460781,116606437.456952,116606438.439346,116606439.424498,116606440.412897,116606441.404149,116606442.404309,116606443.424841,116606444.441837,116606445.461756,116606446.473308,116606447.484057,116606448.486142,116606449.486577,116606450.48694,116606451.485659,116606452.462852,116606453.455786,116606454.437861,116606455.422669,116606456.411201,116606457.392388,116606458.363998,116606459.341527,116606460.324763,116606461.312826,116606462.304114,116606463.309981,116606464.306397,116606465.312871,116606466.306816,116606467.312659,116606468.31848,116606469.336443,116606470.325032,116606471.329684,116606472.318739,116606473.321165,116606474.312397,116606475.304335,116606476.299151,116606477.321829,116606478.337676,116606479.389005,116606480.41997,116606481.446561,116606482.516686,116606483.530046,116606484.52819,116606485.499715,116606486.474215,116606487.455212,116606488.441493,116606489.441231,116606490.454651,116606491.516589,116606492.519046,116606493.523171,116606494.526165,116606495.564009,116606496.554315,116606497.540352,116606498.529095,116606499.52117,116606500.524867,116606501.496082,116606502.470323,116606503.450528,116606504.435663,116606505.428779,116606506.421168,116606507.403613,116606508.420551,116606509.392784,116606510.37587,116606511.364824,116606512.347573,116606513.332984,116606514.328666,116606515.32049,116606516.313578,116606517.307854,116606518.333737,116606519.338209,116606520.352446,116606521.364614,116606522.381312,116606523.388308,116606524.396296,116606525.401729,116606526.427762,116606527.42538,116606528.40643,116606529.392283,116606530.37337,116606531.376166,116606532.381529,116606533.385364,116606534.416387,116606535.415856,116606536.415046,116606537.435058,116606538.461847,116606539.482653,116606540.489692,116606541.499409,116606542.510454,116606543.514721,116606544.512532,116606545.510272,116606546.494327,116606547.469747,116606548.452244,116606549.438054,116606550.42741,116606551.469701,116606552.444755,116606553.430324,116606554.431742,116606555.43921,116606556.43192,116606557.424996,116606558.446644,116606559.470918,116606560.476653,116606561.472922,116606562.462681,116606563.480787,116606564.481536,116606565.462864,116606566.446692,116606567.440893,116606568.497855,116606569.501668,116606570.490175,116606571.487185,116606572.478197,116606573.46502,116606574.457433,116606575.445259,116606576.477108,116606577.471083,116606578.454734,116606579.443998,116606580.43343,116606581.439445,116606582.49267,116606583.508261,116606584.518704,116606585.518767,116606586.543259,116606587.538784,116606588.579142,116606589.576216,116606590.560886,116606591.547569,116606592.539714,116606593.532954,116606594.513853,116606595.495121,116606596.472483,116606597.454747,116606598.441749,116606599.43812,116606600.48499,116606601.471698,116606602.441601,116606603.40658,116606604.386898,116606605.365759,116606606.360829,116606607.371795,116606608.381334,116606609.388905,116606610.394474,116606611.398431,116606612.408256,116606613.441663,116606614.455398,116606615.446502,116606616.437031,116606617.458616,116606618.449585,116606619.439315,116606620.441367,116606621.439936,116606622.444287,116606623.43761,116606624.430521,116606625.424969,116606626.420389,116606627.417369,116606628.428398,116606629.450743,116606630.468649,116606631.48178,116606632.527211,116606633.541355,116606634.550373,116606635.543698,116606636.536617,116606637.524276,116606638.49702,116606639.473968,116606640.456605,116606641.436123,116606642.40498,116606643.379798,116606644.360762,116606645.357935,116606646.35429,116606647.35132,116606648.341789,116606649.363506,116606650.353918,116606651.344015,116606652.335885,116606653.329362,116606654.341862,116606655.362362,116606656.379815,116606657.398754,116606658.501973,116606659.503609,116606660.484449,116606661.480394,116606662.465789,116606663.45376,116606664.427954,116606665.41974,116606666.395167,116606667.383797,116606668.368237,116606669.354812,116606670.349763,116606671.393059,116606672.469967,116606673.546176,116606674.620645,116606675.665034,116606676.692769,116606677.702283,116606678.69115,116606679.697975,116606680.686941,116606681.676287,116606682.668276,116606683.643876,116606684.607251,116606685.562432,116606686.527096,116606687.501208,116606688.482177,116606689.466767,116606690.434406,116606691.406642,116606692.396235,116606693.379434,116606694.385556,116606695.406782,116606696.417212,116606697.428648,116606698.440079,116606699.415885,116606700.405159,116606701.398537,116606702.391769,116606703.383925,116606704.380057,116606705.375996,116606706.375883,116606707.367146,116606708.358639,116606709.36311,116606710.386253,116606711.405891,116606712.423214,116606713.436605,116606714.487985,116606715.498795,116606716.499004,116606717.484247,116606718.471158,116606719.463683,116606720.456986,116606721.4547,116606722.474414,116606723.537933,116606724.546312,116606725.546817,116606726.553357,116606727.552298,116606728.550524,116606729.548592,116606730.576248,116606731.561789,116606732.531671,116606733.506444,116606734.487467,116606735.474333,116606736.464577,116606737.457699,116606738.441128,116606739.414609,116606740.401311,116606741.395047,116606742.380539,116606743.378215,116606744.375571,116606745.37326,116606746.37156,116606747.40105,116606748.400977,116606749.385899,116606750.372485,116606751.362917,116606752.355515,116606753.350161,116606754.360553,116606755.388451,116606756.438192,116606757.483921,116606758.504486,116606759.501111,116606760.517906,116606761.515123,116606762.511164,116606763.503534,116606764.604436,116606765.614107,116606766.576931,116606767.56036,116606768.557915,116606769.557176,116606770.556792,116606771.564554,116606772.573909,116606773.573047,116606774.584943,116606775.610174,116606776.635054,116606777.62474,116606778.607975,116606779.594687,116606780.584526,116606781.57695,116606782.571791,116606783.572268,116606784.570188,116606785.570894,116606786.582156,116606787.553013,116606788.526281,116606789.505978,116606790.487473,116606791.454024,116606792.425665,116606793.405437,116606794.402176,116606795.426413,116606795.566197,116606795.575127,116606795.579103,116606795.582961,116606795.587377,116606795.595535,116606795.735776,116606797.885216,116606800.890935,116606803.221397,116606805.072479,116606806.72753,116606808.263106,116606809.62371,116606810.912123,116606811.806735,116606812.738556,116606813.678186,116606814.633871,116606815.602286,116606816.616995,116606817.616079,116606818.640636,116606819.695789,116606820.767562,116606821.852133,116606822.992371,116606824.066735,116606825.109147,116606826.139075,116606827.17994,116606828.203632,116606829.308422,116606830.301866,116606831.325767,116606832.336618,116606833.324624,116606834.312622,116606835.303293,116606836.296705,116606837.292037,116606838.28011,116606839.255227,116606840.234117,116606841.229218,116606842.229561,116606843.217807,116606844.224397,116606845.227259,116606846.232742,116606847.221255,116606848.226477,116606849.215528,116606850.206154,116606851.19997,116606852.194782,116606853.191016,116606854.188498,116606855.207089,116606856.251953,116606857.296207,116606858.322373,116606859.340998,116606860.35549,116606861.400088,116606862.402514,116606863.399956,116606864.408633,116606865.416649,116606866.422711,116606867.416438,116606868.432171,116606869.404129,116606870.397589,116606871.412197,116606872.384438,116606873.358193,116606874.346348,116606875.335589,116606876.340097,116606877.37123,116606878.366034,116606879.353008,116606880.343015,116606881.339192,116606882.336337,116606883.378798,116606884.358309,116606885.32752,116606886.300061,116606887.271022,116606888.259323,116606889.264801,116606890.278048,116606891.281695,116606892.27224,116606893.260293,116606894.243118,116606895.246521,116606896.257142,116606897.271114,116606898.28208,116606899.323982,116606900.326551,116606901.329522,116606902.321662,116606903.31298,116606904.308755,116606905.32804,116606906.34552,116606907.358829,116606908.372032,116606909.388194,116606910.39981,116606911.399747,116606912.398489,116606913.412105,116606914.406295,116606915.379315,116606916.355543,116606917.332731,116606918.297388,116606919.268354,116606920.257858,116606921.252266,116606922.248611,116606923.247801,116606924.236233,116606925.235478,116606926.23436,116606927.232754,116606928.222532,116606929.213572,116606930.260212,116606931.272305,116606932.278169,116606933.282409,116606934.292746,116606935.29423,116606936.294251,116606937.293712,116606938.293961,116606939.283054,116606940.260625,116606941.251193,116606942.235941,116606943.224381,116606944.24169,116606945.246672,116606946.265192,116606947.263386,116606948.259294,116606949.26676,116606950.273674,116606951.278901,116606952.282454,116606953.285142,116606954.324052,116606955.331336,116606956.347927,116606957.361343,116606958.37151,116606959.388292,116606960.397757,116606961.426132,116606962.443061,116606963.435406,116606964.426339,116606965.419707,116606966.414474,116606967.41074,116606968.398166,116606969.372268,116606970.351575,116606971.336302,116606972.31673,116606973.285715,116606974.261204,116606975.252209,116606976.238086,116606977.22628,116606978.228729,116606979.245014,116606980.259284,116606981.270133,116606982.277713,116606983.282917,116606984.290584,116606985.323208,116606986.336949,116606987.329002,116606988.327616,116606989.328981,116606990.321768,116606991.315373,116606992.310898,116606993.308107,116606994.313947,116606995.311293,116606996.307666,116606997.315056,116606998.32079,116606999.315629,116607000.310621,116607001.318012,116607002.342108,116607003.358107,116607004.347116,116607005.334585,116607006.324968,116607007.317278,116607008.312026,116607009.308185,116607010.295314,116607011.271039,116607012.25792,116607013.242507,116607014.239359,116607015.246437,116607016.237633,116607017.234152,116607018.249186,116607019.269651,116607020.278504,116607021.290209,116607022.300712,116607023.309321,116607024.348789,116607025.335326,116607026.312772,116607027.299204,116607028.292756,116607029.292802,116607030.294426,116607031.296161,116607032.304239,116607033.310053,116607034.308145,116607035.305944,116607036.30466,116607037.304263,116607038.333432,116607039.354358,116607040.403748,116607041.388265,116607042.383769,116607043.39684,116607044.400275,116607045.390444,116607046.368563,116607047.350394,116607048.344115,116607049.333247,116607050.333854,116607051.333604,116607052.326265,116607053.322442,116607054.345501,116607055.355378,116607056.344174,116607057.333342,116607058.325096,116607059.326098,116607060.326567,116607061.32064,116607062.322261,116607063.317593,116607064.320484,116607065.363313,116607066.353542,116607067.346109,116607068.350851,116607069.348023,116607070.2201,116607071.22871,116607072.234431,116607073.232196,116607074.232986,116607075.224296,116607076.207479,116607077.186273,116607078.187256,116607079.227887,116607080.210874,116607081.212001,116607082.215327,116607083.217972,116607084.22705,116607085.347239,116607086.347572,116607087.338843,116607088.329742,116607089.322555,116607090.31706,116607091.322926,116607092.343662,116607093.363392,116607094.38275,116607095.391667,116607096.409423,116607097.412283,116607098.414506,116607099.41373,116607100.415202,116607101.419478,116607102.422224,116607103.425374,116607104.41748,116607105.40504,116607106.379795,116607107.359304,116607108.344281,116607109.333721,116607110.332853,116607111.3316,116607112.324907,116607113.319749,116607114.30099,116607115.2759,116607116.256188,116607117.249723,116607118.238084,116607119.237923,116607120.236526,116607121.238077,116607122.238683,116607123.239811,116607124.240501,116607125.232362,116607126.224824,116607127.22793,116607128.231489,116607129.224973,116607130.219108,116607131.222324,116607132.241791,116607133.259069,116607134.272307,116607135.281321,116607136.287966,116607137.293581,116607138.320719,116607139.344806,116607140.362613,116607141.375989,116607142.385483,116607143.392428,116607144.415807,116607145.435659,116607146.44123,116607147.434818,116607148.42856,116607149.412244,116607150.385755,116607151.36436,116607152.356763,116607153.351866,116607154.344034,116607155.334713,116607156.328064,116607157.33379,116607158.313818,116607159.295542,116607160.272752,116607161.254909,116607162.255244,116607163.244576,116607164.235213,116607165.228482,116607166.224333,116607167.242004,116607168.260154,116607169.273915,116607170.284091,116607171.29746,116607172.301701,116607173.340141,116607174.337442,116607175.330603,116607176.332269,116607177.327388,116607178.323127,116607179.32973,116607180.352574,116607181.404297,116607182.403676,116607183.387126,116607184.371872,116607185.358212,116607186.370197,116607187.383078,116607188.392943,116607189.413168,116607190.430011,116607191.441286,116607192.437103,116607193.432206,116607194.428445,116607195.413851,116607196.388833,116607197.368266,116607198.353738,116607199.342789,116607200.334613,116607201.322337,116607202.296346,116607203.273984,116607204.264364,116607205.251576,116607206.247967,116607207.239051,116607208.23852,116607209.231941,116607210.235648,116607211.239717,116607212.233291,116607213.234875,116607214.25354,116607215.26968,116607216.287686,116607217.295544,116607218.30968,116607219.321646,116607220.335823,116607221.334569,116607222.33023,116607223.326297,116607224.332344,116607225.329876,116607226.342152,116607227.337452,116607228.337981,116607229.357244,116607230.398099,116607231.407955,116607232.422772,116607233.415266,116607234.420395,116607235.421147,116607236.425982,116607237.431527,116607238.429904,116607239.423106,116607240.398257,116607241.376732,116607242.360401,116607243.346239,116607244.315186,116607245.288576,116607246.268881,116607247.263003,116607248.251361,116607249.241769,116607250.278736,116607251.268175,116607252.266877,116607253.264235,116607254.252621,116607255.242705,116607256.235457,116607257.25271,116607258.269908,116607259.282946,116607260.302578,116607261.309928,116607262.324689,116607263.354311,116607264.370739,116607265.360926,116607266.349722,116607267.341332,116607268.335244,116607269.330606,116607270.318105,116607271.307772,116607272.288308,116607273.273401,116607274.282089,116607275.291904,116607276.299963,116607277.305385,116607278.309179,116607279.311879,116607280.32512,116607281.352656,116607282.371628,116607283.362634,116607284.357075,116607285.35529,116607286.346739,116607287.344032,116607288.338115,116607289.339292,116607290.335116,116607291.336045,116607292.33273,116607293.335158,116607294.332254,116607295.329154,116607296.32677,116607297.324666,116607298.323378,116607299.310383,116607300.288432,116607301.286786,116607302.271961,116607303.263957,116607304.253236,116607305.244183,116607306.237356,116607307.241305,116607308.260629,116607309.277177,116607310.289183,116607311.304182,116607312.315746,116607313.323606,116607314.324334,116607315.330232,116607316.385824,116607317.36823,116607318.363335,116607319.357607,116607320.375176,116607321.365686,116607322.355084,116607323.35936,116607324.376304,116607325.390527,116607326.401424,116607327.409849,116607328.415319,116607329.433762,116607330.436061,116607331.461541,116607332.45698,116607333.43913,116607334.410929,116607335.376584,116607336.337305,116607337.30674,116607338.2841,116607339.267523,116607340.255737,116607341.246147,116607342.217949,116607343.20674,116607344.187321,116607345.171047,116607346.179854,116607347.191522,116607348.200912,116607349.207663,116607350.212544,116607351.223764,116607352.249199,116607353.270538,116607354.286254,116607355.297705,116607356.313419,116607357.318389,116607358.321526,116607359.329362,116607360.330408,116607361.337193,116607362.347335,116607363.344155,116607364.340695,116607366.476272,116607367.690691,116607368.305609,116607369.205482,116607370.068438,116607370.98361,116607371.907534,116607372.85389,116607373.867909,116607374.9447,116607376.06345,116607377.136566,116607378.193671,116607379.245963,116607380.26486,116607381.281586,116607382.309883,116607383.360352,116607384.388252,116607385.405863,116607386.423611,116607387.430892,116607388.434774,116607389.4142,116607390.405891,116607391.389626,116607392.376149,116607393.366325,116607394.359266,116607395.355065,116607396.350787,116607397.356117,116607398.353081,116607399.382339,116607400.37223,116607401.373269,116607402.344764,116607403.325138,116607404.312582,116607405.322555,116607406.32994,116607407.339212,116607408.333668,116607409.317152,116607410.30523,116607411.317821,116607412.343753,116607413.359304,116607414.35662,116607415.35338,116607416.35236,116607417.350462,116607418.347949,116607419.357252,116607420.379406,116607421.401362,116607422.418744,116607423.434382,116607424.439838,116607425.469215,116607426.443837,116607427.429098,116607428.407615,116607429.390909,116607430.378218,116607431.373976,116607432.372671,116607433.371603,116607434.377236,116607435.370311,116607436.369277,116607437.363243,116607438.357662,116607439.353935,116607440.354613,116607441.376204,116607442.419549,116607443.43019,116607444.412576,116607445.395094,116607446.381411,116607447.371629,116607448.364038,116607449.35887,116607450.346174,116607451.320544,116607452.299559,116607453.284139,116607454.280572,116607455.277165,116607456.275751,116607457.268453,116607458.262571,116607459.257926,116607460.26975,116607461.302489,116607462.327434,116607463.334749,116607464.348053,116607465.349386,116607466.348617,116607467.356327,116607468.379562,116607469.40424,116607470.418032,116607471.417001,116607472.400438,116607473.385795,116607474.375163,116607475.367092,116607476.362288,116607477.384986,116607478.363475,116607479.361861,116607480.3572,116607481.355395,116607482.354253,116607483.353504,116607484.361898,116607485.3669,116607486.373982,116607487.375146,116607488.405863,116607489.42559,116607490.423376,116607491.405781,116607492.396876,116607493.384865,116607494.391214,116607495.382734,116607496.374398,116607497.375981,116607498.377599,116607499.378545,116607500.371834,116607501.365868,116607502.351179,116607503.328501,116607504.308391,116607505.333939,116607506.328824,116607507.309782,116607508.339397,116607509.370279,116607510.445875,116607511.466057,116607512.477953,116607513.483702,116607514.492859,116607515.486377,116607516.479877,116607517.472282,116607518.445148,116607519.420942,116607520.4172,116607521.402362,116607522.389661,116607523.372665,116607524.357,116607525.334874,116607526.362789,116607527.374284,116607528.381187,116607529.382135,116607530.382345,116607531.386685,116607532.378995,116607533.34962,116607534.32408,116607535.322251,116607536.306221,116607537.292383,116607538.304473,116607539.317734,116607540.328092,116607541.345569,116607542.349616,116607543.351248,116607544.352457,116607545.343966,116607546.322126,116607547.304279,116607548.296326,116607549.295566,116607550.295899,116607551.295752,116607552.288447,116607553.280293,116607554.321134,116607555.35964,116607556.420787,116607557.437742,116607558.445983,116607559.4515,116607560.460145,116607561.467252,116607562.470712,116607563.501928,116607564.518899,116607565.525337,116607566.512783,116607567.501081,116607568.491636,116607569.48467,116607570.479614,116607571.465473,116607572.439791,116607573.418452,116607574.402735,116607575.391306,116607576.383136,116607577.365041,116607578.338362,116607579.31803,116607580.32405,116607581.32346,116607582.334166,116607583.304269,116607584.276617,116607585.255566,116607586.250069,116607587.305907,116607588.310508,116607589.308877,116607590.307071,116607591.313221,116607592.319258,116607593.325414,116607594.327235,116607595.328208,116607596.350609,116607597.360554,116607598.377181,116607599.409178,116607600.40504,116607601.408182,116607602.42598,116607603.444422,116607604.454317,116607605.438474,116607606.422271,116607607.419688,116607608.419837,116607609.410078,116607610.407225,116607611.399838,116607612.393549,116607613.397574,116607614.393466,116607615.389159,116607616.386308,116607617.388711,116607618.3867,116607619.392257,116607620.394651,116607621.391214,116607622.396377,116607623.400825,116607624.400887,116607625.3953,116607626.398043,116607627.393943,116607628.397344,116607629.39306,116607630.388818,116607631.39167,116607632.389546,116607633.386402,116607634.389488,116607635.392986,116607636.395915,116607637.429206,116607638.428809,116607639.425425,116607640.421368,116607641.410634,116607642.434126,116607643.423576,116607644.417772,116607645.408036,116607646.408865,116607647.40161,116607648.402926,116607649.405157,116607650.404084,116607651.398313,116607652.393023,116607653.389304,116607654.38617,116607655.386909,116607656.426509,116607657.444106,116607658.455587,116607659.471905,116607660.514348,116607661.512059,116607662.500997,116607663.47244,116607664.456515,116607665.482596,116607666.461364,116607667.439821,116607668.433277,116607669.425939,116607670.420719,116607671.416529,116607672.407853,116607673.400392,116607674.40387,116607675.401522,116607676.396623,116607677.398289,116607678.39411,116607679.390722,116607680.387798,116607681.385386,116607682.371187,116607683.348119,116607684.329459,116607685.322593,116607686.311866,116607687.303066,116607688.342682,116607689.363923,116607690.370973,116607691.375211,116607692.377428,116607693.378824,116607694.379943,116607695.380591,116607696.393547,116607697.446385,116607698.466569,116607699.482249,116607700.486004,116607701.487124,116607702.487756,116607703.494865,116607704.494175,116607705.47836,116607706.454934,116607707.480079,116607708.454297,116607709.413802,116607710.401459,116607711.396297,116607712.392849,116607713.390701,116607714.394261,116607715.400689,116607716.398183,116607717.399776,116607718.397216,116607719.393767,116607720.39158,116607721.389978,116607722.393063,116607723.413305,116607724.413638,116607725.40723,116607726.401291,116607727.397344,116607728.378357,116607729.353692,116607730.34076,116607731.326661,116607732.315553,116607733.317106,116607734.333783,116607735.37233,116607736.380322,116607737.383204,116607738.3845,116607739.385223,116607740.388538,116607741.412791,116607742.437109,116607743.452714,116607744.45124,116607745.440165,116607746.430294,116607747.439984,116607748.437909,116607749.43868,116607750.451177,116607751.466986,116607752.475041,116607753.480143,116607754.476363,116607755.455397,116607756.437141,116607757.417015,116607758.384765,116607759.367713,116607760.346485,116607761.332284,116607762.348024,116607763.352447,116607764.337476,116607765.323924,116607766.313952,116607767.306311,116607768.30658,116607769.301729,116607770.297547,116607771.294504,116607772.292749,116607773.303275,116607774.335532,116607775.33811,116607776.330318,116607777.32319,116607778.322438,116607779.318243,116607780.322694,116607781.320345,116607782.328961,116607783.328765,116607784.333801,116607785.332848,116607786.333776,116607787.364832,116607788.35393,116607789.333095,116607790.354959,116607791.398017,116607792.419961,116607793.419327,116607794.424313,116607795.420723,116607796.432878,116607797.453424,116607798.474883,116607799.492638,116607800.499519,116607801.548106,116607802.552975,116607803.545444,116607804.537839,116607805.517533,116607806.490216,116607807.468613,116607808.456352,116607809.469736,116607810.457004,116607811.450659,116607812.449832,116607813.439985,116607814.432532,116607815.433598,116607816.423368,116607817.418074,116607818.465944,116607819.452628,116607820.427088,116607821.397422,116607822.389178,116607823.384319,116607824.373061,116607825.380131,116607826.392591,116607827.406157,116607828.4171,116607829.41104,116607830.412517,116607831.412299,116607832.411557,116607833.411398,116607834.426265,116607835.427226,116607836.442365,116607837.461903,116607838.483211,116607839.500843,116607840.510494,116607841.513023,116607842.514142,116607843.509008,116607844.485903,116607845.465854,116607846.450949,116607847.439713,116607848.431762,116607849.429811,116607850.40113,116607851.38581,116607852.367103,116607853.372719,116607854.364898,116607855.359959,116607856.371629,116607857.381993,116607858.390411,116607859.396218,116607860.400939,116607861.40972,116607862.411398,116607863.420078,116607864.424008,116607865.430063,116607866.429895,116607867.4308,116607868.434255,116607869.434289,116607870.429374,116607871.432848,116607872.429069,116607873.432789,116607874.474599,116607875.464858,116607876.471396,116607877.462322,116607878.450218,116607879.44298,116607880.455297,116607881.45825,116607882.45951,116607883.473799,116607884.499042,116607885.506489,116607886.511053,116607887.514156,116607888.518643,116607889.519846,116607890.523727,116607891.527072,116607892.512415,116607893.48786,116607894.468213,116607895.45324,116607896.442733,116607897.416753,116607898.395705,116607899.379562,116607900.368076,116607901.353861,116607902.348365,116607903.345619,116607904.337596,116607905.336842,116607906.362643,116607907.367286,116607908.355109,116607909.349686,116607910.340655,116607911.333094,116607912.337603,116607913.356421,116607914.372098,116607915.38954,116607916.405134,116607917.409631,116607918.41189,116607919.417915,116607920.423162,116607921.423073,116607922.430459,116607923.434179,116607924.440886,116607925.45084,116607926.468805,116607927.483447,116607928.494455,116607929.502569,116607930.508223,116607931.515018,116607932.521837,116607933.526836,116607934.526504,116607935.525753,116607936.525281,116607937.524689,116607938.523984,116607939.518342,116607940.49483,116607941.473911,116607942.445013,116607943.411449,116607944.385714,116607945.366363,116607946.357448,116607947.352092,116607948.350457,116607949.342504,116607950.340862,116607951.342487,116607952.336411,116607953.330547,116607954.326047,116607955.328836,116607956.349553,116607957.372675,116607958.386092,116607959.383846,116607960.376794,116607961.370812,116607962.381278,116607963.391102,116607964.398376,116607965.404007,116607966.407878,116607967.41331,116607968.439418,116607969.463082,116607970.480609,116607971.49937,116607972.514476,116607973.528556,116607974.529563,116607975.530885,116607976.529686,116607977.528439,116607978.531426,116607979.530125,116607980.528894,116607981.527765,116607982.514645,116607983.53172,116607984.509034,116607985.492551,116607986.474662,116607987.46742,116607988.48423,116607989.485604,116607990.514148,116607991.496516,116607992.478065,116607993.469326,116607994.462184,116607995.48812,116607996.475999,116607997.473149,116607998.461011,116607999.451366,116608000.454063,116608001.447901,116608002.475536,116608003.466284,116608004.461548,116608005.476865,116608006.497658,116608007.500781,116608008.483004,116608009.476934,116608010.471077,116608011.459704,116608012.450078,116608013.443818,116608014.483706,116608015.482341,116608016.770228,116608018.077033,116608018.9356,116608019.78088,116608020.66846,116608021.589861,116608022.534068,116608023.493983,116608024.509423,116608025.496428,116608026.470183,116608027.459576,116608028.465778,116608029.472523,116608030.477696,116608031.481641,116608032.484317,116608033.502181,116608034.531707,116608035.550692,116608036.574747,116608037.557952,116608038.546363,116608039.532816,116608040.528522,116608041.548543,116608042.553721,116608043.540425,116608044.561103,116608045.547528,116608046.533383,116608047.522307,116608048.509194,116608049.480351,116608050.463931,116608051.451047,116608052.435108,116608053.430539,116608054.42077,116608055.422997,116608056.425592,116608057.417293,116608058.422526,116608059.439712,116608060.454233,116608061.46539,116608062.473861,116608063.479364,116608064.48345,116608065.491496,116608066.517498,116608067.540769,116608068.557617,116608069.569639,116608070.57899,116608071.585034,116608072.607617,116608073.634669,116608074.659662,116608075.674937,116608076.686067,116608077.675444,116608078.658487,116608079.685439,116608080.670014,116608081.653884,116608082.640875,116608083.631763,116608084.65308,116608085.627358,116608086.599306,116608087.588012,116608088.565802,116608089.563618,116608090.573818,116608091.628441,116608092.372979,116608093.386822,116608094.395705,116608095.39561,116608096.621337,116608097.592471,116608098.567154,116608099.548222,116608100.534162,116608101.542401,116608102.538884,116608103.536244,116608104.515673,116608105.485115,116608106.468295,116608107.451063,116608108.442206,116608109.434,116608110.445273,116608111.460703,116608112.490211,116608113.499887,116608114.50081,116608115.503939,116608116.504353,116608117.590087,116608118.606315,116608119.645391,116608120.645697,116608121.669799,116608122.661266,116608123.661335,116608124.677747,116608125.697261,116608126.735212,116608127.743357,116608128.740462,116608129.71478,116608130.688137,116608131.667302,116608132.65254,116608133.65748,116608134.647829,116608135.622599,116608136.593371,116608137.569831,116608138.552166,116608139.568721,116608140.555781,116608141.52678,116608142.494556,116608143.469676,116608144.463426,116608145.458868,116608146.455692,116608147.442811,116608148.432411,116608149.424327,116608150.432324,116608151.45087,116608152.500259,116608153.50733,116608154.51027,116608155.512697,116608156.512192,116608157.511459,116608158.527748,116608159.55015,116608160.567952,116608161.589411,116608162.603866,116608163.608705,116608164.616212,116608165.618543,116608166.618595,116608167.613312,116608168.590141,116608169.578059,116608170.570919,116608171.565526,116608172.552035,116608173.558407,116608174.573092,116608175.584992,116608176.599809,116608177.605617,116608178.634889,116608179.634415,116608180.613547,116608181.587134,116608182.567606,116608183.554285,116608184.610032,116608185.594129,116608186.573427,116608187.567254,116608188.562519,116608189.549952,116608190.545594,116608191.53724,116608192.530459,116608193.52543,116608194.521602,116608195.52813,116608196.540287,116608197.544815,116608198.538274,116608199.540178,116608200.535254,116608201.538509,116608202.532777,116608203.527309,116608204.523129,116608205.519845,116608206.517515,116608207.531888,116608208.553946,116608209.572156,116608210.588211,116608211.597428,116608212.608777,116608213.617944,116608214.6134,116608215.59069,116608216.578669,116608217.562161,116608218.567836,116608219.585713,116608220.583092,116608221.566851,116608222.569812,116608223.55907,116608224.619361,116608225.601081,116608226.586247,116608227.577396,116608228.562032,116608229.564398,116608230.582837,116608231.59857,116608232.610562,116608233.600082,116608234.579573,116608235.56248,116608236.549633,116608237.546551,116608238.5397,116608239.539684,116608240.540219,116608241.534248,116608242.529139,116608243.541212,116608244.568842,116608245.57228,116608246.567691,116608247.556408,116608248.558622,116608249.557267,116608250.547688,116608251.559116,116608252.575387,116608253.588306,116608254.597779,116608255.607124,116608256.612553,116608257.610081,116608258.589104,116608259.575715,116608260.582846,116608261.60015,116608262.607604,116608263.596112,116608264.575971,116608265.559611,116608266.535502,116608267.504779,116608268.49231,116608269.500718,116608270.511016,116608271.519748,116608272.508744,116608273.492826,116608274.484995,116608275.492064,116608276.505697,116608277.510243,116608278.51025,116608279.515996,116608280.516386,116608281.516194,116608282.516534,116608283.521852,116608284.521768,116608285.52146,116608286.525534,116608287.529319,116608288.514326,116608289.489486,116608290.477057,116608291.469173,116608292.465229,116608293.454868,116608294.449825,116608295.442322,116608296.453553,116608297.470296,116608298.483986,116608299.493896,116608300.502234,116608301.521412,116608302.575307,116608303.623032,116608304.657874,116608305.683147,116608306.705809,116608307.738941,116608308.748724,116608309.757863,116608310.756847,116608311.757444,116608312.757441,116608313.75773,116608314.754806,116608315.752787,116608316.751085,116608317.749485,116608318.748265,116608319.734741,116608320.751668,116608321.72601,116608322.685518,116608323.644736,116608324.61352,116608325.583695,116608326.592497,116608327.582614,116608328.545346,116608329.513264,116608330.488762,116608331.50307,116608332.503177,116608333.48752,116608334.471644,116608335.459172,116608336.450297,116608337.458618,116608338.475879,116608339.490701,116608340.504328,116608341.556651,116608342.556417,116608343.550856,116608344.557821,116608345.577349,116608346.593956,116608347.606427,116608348.615534,116608349.633052,116608350.656043,116608351.681481,116608352.707402,116608353.72181,116608354.715369,116608355.697615,116608356.723173,116608357.705572,116608358.66628,116608359.632528,116608360.606194,116608361.586739,116608362.572861,116608363.586074,116608364.575108,116608365.564948,116608366.556802,116608367.550968,116608368.54626,116608369.554662,116608370.551173,116608371.59628,116608372.586613,116608373.583306,116608374.581616,116608375.583658,116608376.624797,116608377.617079,116608378.597853,116608379.581752,116608380.645035,116608381.627619,116608382.60555,116608383.602184,116608384.615501,116608385.643672,116608386.636063,116608387.62396,116608388.619347,116608389.616824,116608390.633957,116608391.650711,116608392.660692,116608393.6583,116608394.655559,116608395.653654,116608396.81057,116608398.023374,116608398.96728,116608399.876192,116608400.793117,116608401.72944,116608402.690928,116608403.638101,116608404.590423,116608405.567066,116608406.549834,116608407.538006,116608408.517691,116608409.516074,116608410.526781,116608411.545499,116608412.5516,116608413.564111,116608414.552797,116608415.539073,116608416.542513,116608417.547381,116608418.564902,116608419.566547,116608420.558267,116608421.546905,116608422.537819,116608423.542373,116608424.554653,116608425.561214,116608426.576861,116608427.58935,116608428.58469,116608429.585735,116608430.587846,116608431.570238,116608432.554929,116608433.53274,116608434.53009,116608435.531208,116608436.541647,116608437.601065,116608438.598929,116608439.590182,116608440.583201,116608441.596832,116608442.616619,116608443.631823,116608444.643155,116608445.651037,116608446.664586,116608447.66848,116608448.670047,116608449.670533,116608450.670623,116608451.660499,116608452.638025,116608453.618445,116608454.603347,116608455.592803,116608456.585109,116608457.579307,116608458.55461,116608459.529886,116608460.511047,116608461.51401,116608462.503011,116608463.491983,116608464.483541,116608465.481408,116608466.500294,116608467.526477,116608468.552152,116608469.567098,116608470.5656,116608471.542268,116608472.537533,116608473.520856,116608474.521753,116608475.532891,116608476.569878,116608477.575524,116608478.619389,116608479.619304,116608480.610469,116608481.600754,116608482.601904,116608483.619875,116608484.635481,116608485.647387,116608486.655696,116608487.662061,116608488.666812,116608489.679213,116608490.706039,116608491.765395,116608492.778027,116608493.763451,116608494.74254,116608495.726328,116608496.713897,116608497.685554,116608498.655965,116608499.633317,116608500.616726,116608501.669819,116608502.678218,116608503.654653,116608504.633527,116608505.617809,116608506.605456,116608507.597343,116608508.614521,116608509.666144,116608510.665718,116608511.645848,116608512.628479,116608513.615785,116608514.605685,116608515.597735,116608516.613769,116608517.6077,116608518.603203,116608519.596518,116608520.591154,116608521.613868,116608522.618753,116608523.610214,116608524.617897,116608525.616735,116608526.617319,116608527.620281,116608528.614883,116608529.648014,116608530.669013,116608531.684793,116608532.69418,116608533.693441,116608534.69605,116608535.699429,116608536.688978,116608537.663184,116608538.640629,116608539.648666,116608540.632783,116608541.618235,116608542.593193,116608543.574009,116608544.552366,116608545.545998,116608546.528555,116608547.53553,116608548.572162,116608549.553515,116608550.549451,116608551.556817,116608552.563569,116608553.568039,116608554.571771,116608555.574467,116608556.575985,116608557.595424,116608558.646359,116608559.672377,116608560.679215,116608561.66588,116608562.644481,116608563.627458,116608564.62599,116608565.615393,116608566.613789,116608567.606159,116608568.599188,116608569.594937,116608570.603047,116608571.691584,116608572.677241,116608573.670416,116608574.649454,116608575.632247,116608576.61939,116608577.610249,116608578.603478,116608579.598449,116608580.594645,116608581.607389,116608582.629012,116608583.6524,116608584.67128,116608585.684698,116608586.712807,116608587.711695,116608588.707753,116608589.704256,116608590.690391,116608591.665719,116608592.64483,116608593.679011,116608595.323463,116608596.562086,116608597.586099,116608598.411837,116608599.185074,116608600.001377,116608600.851339,116608601.718921,116608602.622668,116608603.554472,116608604.524177,116608605.514664,116608606.540092,116608607.596833,116608608.672576,116608609.741536,116608610.785909,116608611.82731,116608612.867235,116608613.888836,116608614.894989,116608615.904144,116608616.918406,116608618.570857,116608619.909704,116608620.742966,116608621.52067,116608622.33637,116608623.199991,116608624.149021,116608625.070489,116608626.007322,116608626.961204,116608627.923953,116608628.918196,116608629.943066,116608630.985668,116608632.003181,116608633.015051,116608634.043272,116608635.066933,116608636.115251,116608637.129985,116608638.132255,116608639.132356,116608640.131969,116608641.132048,116608642.137476,116608643.113254,116608644.091733,116608645.075164,116608646.064081,116608647.05568,116608648.057039,116608649.062906,116608650.056014,116608651.08232,116608652.070994,116608653.060431,116608654.052425,116608655.058113,116608656.064182,116608657.057025,116608658.049901,116608659.055612,116608660.061016,116608661.064351,116608662.067121,116608663.06745,116608664.06195,116608665.063033,116608666.079591,116608667.071197,116608668.062772,116608669.05436,116608670.065989,116608671.082428,116608672.095947,116608673.106161,116608674.118819,116608675.130283,116608676.138031,116608677.137669,116608678.136507,116608679.135374,116608680.140199,116608681.144439,116608682.142186,116608683.117647,116608684.094612,116608685.077245,116608686.0644,116608687.055244,116608688.048624,116608689.042349,116608690.01609,116608690.99756,116608691.987827,116608692.972894,116608693.976604,116608694.989875,116608696.002084,116608697.009734,116608698.024654,116608699.037915,116608700.037181,116608701.035618,116608702.034625,116608703.052315,116608704.082475,116608705.097719,116608706.102075,116608707.086306,116608708.072523,116608709.061589,116608710.053595,116608711.048185,116608712.044192,116608713.055771,116608714.053243,116608715.05039,116608716.05582,116608717.057424,116608718.051952,116608719.04932,116608720.068582,116608721.085711,116608722.098854,116608723.108474,116608724.115751,116608725.126526,116608726.158088,116608727.180923,116608728.177001,116608729.160667,116608730.12927,116608731.103992,116608732.090101,116608733.072294,116608734.062507,116608735.057248,116608736.052987,116608737.101875,116608738.099437,116608739.084747,116608740.076919,116608741.091014,116608742.103704,116608743.113638,116608744.120866,116608745.12617,116608746.138017,116608747.147617,116608748.146969,116608749.152295,116608750.183728,116608751.208193,116608752.229344,116608753.236186,116608754.250991,116608755.278068,116608756.253032,116608757.29618,116608758.321803,116608759.357509,116608760.373458,116608761.37762,116608762.365781,116608763.352106,116608764.372924,116608765.384378,116608766.3831,116608767.392356,116608768.387188,116608769.380683,116608770.402624,116608771.399414,116608772.357592,116608773.285029,116608774.243903,116608775.197492,116608776.169279,116608777.175466,116608778.170492,116608779.189613,116608780.220046,116608781.232225,116608782.241502,116608783.245678,116608784.248108,116608785.24985,116608786.25897,116608787.238001,116608788.203035,116608789.163769,116608790.132968,116608791.10989,116608792.093453,116608793.081479,116608794.072648,116608795.056138,116608796.05647,116608797.44008,116608798.510228,116608799.399278,116608800.27666,116608801.194781,116608802.12311,116608803.153643,116608804.129898,116608805.104827,116608806.086813,116608807.089069,116608808.096874,116608809.102986,116608810.124937,116608811.192231,116608812.232813,116608813.300575,116608814.32149,116608815.326613,116608816.335251,116608817.336159,116608818.335934,116608819.335679,116608820.334977,116608821.334748,116608822.325207,116608823.330201,116608824.306471,116608825.285174,116608826.289479,116608827.272576,116608828.236903,116608829.206906,116608830.184355,116608831.168184,116608832.187612,116608833.175023,116608834.156885,116608835.124432,116608836.115321,116608837.094617,116608838.078633,116608839.088483,116608840.099398,116608841.107022,116608842.112985,116608843.117052,116608844.128016,116608845.16101,116608846.181292,116608847.175663,116608848.178144,116608849.180234,116608850.206511,116608851.206282,116608852.211126,116608853.216215,116608854.220248,116608855.223406,116608856.22624,116608857.235623,116608858.235779,116608859.23781,116608860.405363,116608861.403024,116608862.365585,116608863.339298,116608864.373343,116608865.396534,116608866.374913,116608867.328755,116608868.281848,116608869.261876,116608870.304089,116608871.304304,116608872.291908,116608873.313889,116608874.30364,116608875.296034,116608876.28402,116608877.290111,116608878.30571,116608879.320985,116608880.334265,116608881.340834,116608882.348076,116608883.353695,116608884.391132,116608885.386566,116608886.378843,116608887.377831,116608888.373042,116608889.375947,116608890.371293,116608891.347219,116608892.321927,116608893.305769,116608894.31412,116608895.300537,116608896.332366,116608897.346673,116608898.357476,116608899.344973,116608900.327353,116608901.307712,116608902.329376,116608903.3395,116608904.344945,116608905.353457,116608906.360004,116608907.364814,116608908.41319,116608909.394939,116608910.360161,116608911.331193,116608912.318536,116608913.301385,116608914.34055,116608915.352421,116608916.345749,116608917.323152,116608918.304333,116608919.290508,116608920.280275,116608921.273297,116608922.268694,116608923.244625,116608924.249618,116608925.228681,116608926.208486,116608927.193511,116608928.15967,116608929.147222,116608930.12368,116608931.121075,116608932.119147,116608933.10706,116608934.116863,116608935.126662,116608936.133675,116608937.139036,116608938.142973,116608939.145301,116608940.159831,116608941.188973,116608942.216594,116608943.228583,116608944.236676,116608945.241917,116608946.282134,116608947.291731,116608948.285852,116608949.289238,116608950.329283,116608951.316974,116608952.313534,116608953.310847,116608954.329309,116608955.324559,116608956.308754,116608957.301355,116608958.290019,116608959.304097,116608960.294615,116608961.285815,116608962.255344,116608963.228531,116608964.208351,116608965.193355,116608966.190215,116608967.189451,116608968.1925,116608969.183745,116608970.187223,116608971.17977,116608972.173093,116608973.168038,116608974.164666,116608975.153995,116608976.130705,116608977.133572,116608978.146915,116608979.150621,116608980.16384,116608981.163412,116608982.169044,116608983.166647,116608984.159315,116608985.146168,116608986.139731,116608987.134036,116608988.122243,116608989.112141,116608990.12551,116608991.135155,116608992.141182,116608993.145212,116608994.150966,116608995.153181,116608996.154024,116608997.176611,116608998.19855,116608999.215512,116609000.229344,116609001.274759,116609002.290327,116609003.297888,116609004.298184,116609005.29339,116609006.285515,116609007.285071,116609008.28602,116609009.280786,116609010.275916,116609011.272069,116609012.268977,116609013.245645,116609014.232726,116609015.245961,116609016.227484,116609017.234207,116609018.241445,116609019.247312,116609020.251089,116609021.253884,116609022.262509,116609023.263189,116609024.262992,116609025.2626,116609026.262847,116609027.253216,116609028.230015,116609029.211361,116609030.196794,116609031.196941,116609032.195715,116609033.196955,116609034.188858,116609035.190949,116609036.194267,116609037.1924,116609038.203696,116609039.195518,116609040.18863,116609041.18616,116609042.193135,116609043.209979,116609044.224383,116609045.234772,116609046.242593,116609047.256142,116609048.290101,116609049.310389,116609050.302647,116609051.293708,116609052.296065,116609053.290131,116609054.293374,116609055.276296,116609056.247396,116609057.235149,116609058.225104,116609059.218457,116609060.212875,116609061.208311,116609062.196359,116609063.193169,116609064.209551,116609065.228724,116609066.218343,116609067.210063,116609068.197828,116609069.194148,116609070.186003,116609071.179638,116609072.187127,116609073.181876,116609074.17656,116609075.178434,116609076.182399,116609077.177542,116609078.179098,116609079.175783,116609080.172307,116609081.169722,116609082.167757,116609083.178944,116609084.181946,116609085.178428,116609086.186022,116609087.181647,116609088.17705,116609089.172908,116609090.190595,116609091.209871,116609092.22453,116609093.24527,116609094.252146,116609095.256299,116609096.288148,116609097.303021,116609098.296085,116609099.288205,116609100.282227,116609101.277915,116609102.274399,116609103.264644,116609104.239672,116609105.21909,116609106.203801,116609107.192891,116609108.18489,116609109.179646,116609110.152704,116609111.141095,116609112.121713,116609113.111044,116609114.121968,116609115.132873,116609116.17907,116609117.190939,116609118.186936,116609119.181366,116609120.176764,116609121.183108,116609122.179599,116609123.175493,116609124.17271,116609125.170746,116609126.169303,116609127.147051,116609128.125765,116609129.110035,116609130.09814,116609131.102643,116609132.096787,116609133.089403,116609134.086437,116609135.105333,116609136.121794,116609137.136461,116609138.14562,116609139.151835,116609140.15631,116609141.159099,116609142.186908,116609143.21157,116609144.226493,116609145.224572,116609146.21615,116609147.227514,116609148.238329,116609149.258693,116609150.263757,116609151.265488,116609152.266922,116609153.259314,116609154.23674,116609155.218064,116609156.209175,116609157.206476,116609158.207052,116609159.19758,116609160.189774,116609161.165296,116609162.140107,116609163.136941,116609164.122412,116609165.108061,116609166.103363,116609167.118404,116609168.132057,116609169.14205,116609170.155694,116609171.160132,116609172.171463,116609173.172955,116609174.180072,116609175.179745,116609176.183352,116609177.198563,116609178.202192,116609179.194651,116609180.190048,116609181.185107,116609182.194531,116609183.213624,116609184.234491,116609185.246938,116609186.254771,116609187.265689,116609188.268472,116609189.269862,116609190.270948,116609191.271624,116609192.25807,116609193.236003,116609194.243884,116609195.227965,116609196.22528,116609197.234313,116609198.226619,116609199.237094,116609200.248351,116609201.262324,116609202.268481,116609203.276135,116609204.304218,116609205.301264,116609206.2946,116609207.289754,116609208.27825,116609209.2526,116609210.257313,116609211.238133,116609212.229265,116609213.239656,116609214.255517,116609215.312983,116609216.30402,116609217.293778,116609218.267737,116609219.257885,116609220.249325,116609221.265227,116609222.254157,116609223.299852,116609224.347748,116609225.320208,116609226.308697,116609227.301958,116609228.297565,116609229.299731,116609230.321965,116609231.317968,116609232.321806,116609233.313127,116609234.305206,116609235.309696,116609236.303871,116609237.661059,116609239.034759,116609239.905456,116609240.726652,116609241.577778,116609242.468236,116609243.399884,116609244.366046,116609245.321641,116609246.283706,116609247.256336,116609248.236555,116609249.264277,116609250.25219,116609251.285062,116609252.290982,116609253.303145,116609254.344322,116609255.359677,116609256.434792,116609257.458021,116609258.470866,116609259.486082,116609260.541974,116609261.538163,116609262.513607,116609263.482668,116609264.482814,116609265.463226,116609266.445068,116609267.422312,116609268.399207,116609269.374988,116609270.366353,116609271.372383,116609272.378385,116609273.390983,116609274.400501,116609275.407597,116609276.406066,116609277.408939,116609278.411401,116609279.412439,116609280.445203,116609281.436963,116609282.426407,116609283.400351,116609284.380406,116609285.365324,116609286.355398,116609287.346655,116609288.356659,116609289.343684,116609290.330492,116609291.330194,116609292.397098,116609293.403892,116609294.403631,116609295.401889,116609296.407224,116609297.405828,116609298.40323,116609299.401371,116609300.400968,116609301.378325,116609302.363702,116609303.345968,116609304.348313,116609305.35058,116609306.362975,116609307.382629,116609308.401354,116609309.418175,116609310.427646,116609311.422185,116609312.405498,116609313.378126,116609314.363329,116609315.371947,116609316.35983,116609317.358543,116609318.3678,116609319.376683,116609320.382969,116609321.400559,116609322.415243,116609323.402394,116609324.400474,116609325.400066,116609326.453762,116609327.448147,116609328.437592,116609329.428664,116609330.421536,116609331.416031,116609332.412305,116609333.394802,116609334.369979,116609335.350485,116609336.363825,116609337.349608,116609338.335746,116609339.331664,116609340.323395,116609341.348715,116609342.340043,116609343.330049,116609344.32756,116609345.325808,116609346.325614,116609347.318958,116609348.318968,116609349.314156,116609350.310112,116609351.324758,116609352.320117,116609353.314246,116609354.315862,116609355.311973,116609356.312662,116609357.30879,116609358.31322,116609359.318675,116609360.314577,116609361.315069,116609362.315588,116609363.311796,116609364.308097,116609365.305419,116609366.303171,116609367.302484,116609368.325338,116609369.345786,116609370.36108,116609371.372447,116609372.380563,116609373.395093,116609374.398674,116609375.399686,116609376.400368,116609377.400668,116609378.400992,116609379.391501,116609380.369567,116609381.35888,116609382.357958,116609383.343841,116609384.343393,116609385.362233,116609386.349265,116609387.335962,116609388.341799,116609389.356994,116609390.375532,116609391.384401,116609392.389731,116609393.383696,116609394.363795,116609395.353772,116609396.348055,116609397.343272,116609398.33985,116609399.337365,116609400.335624,116609401.334073,116609402.337439,116609403.340734,116609404.331087,116609405.340086,116609406.345581,116609407.359493,116609408.376092,116609409.385636,116609410.391252,116609411.405952,116609412.393919,116609413.39508,116609414.428236,116609415.426305,116609416.420971,116609417.416205,116609418.396541,116609419.372245,116609420.360103,116609421.34756,116609422.33676,116609423.335058,116609424.334763,116609425.32716,116609426.366049,116609427.380458,116609428.410191,116609429.393839,116609430.394973,116609431.401938,116609432.420067,116609433.418936,116609434.416351,116609435.414086,116609436.41234,116609437.411417,116609438.410693,116609439.409722,116609440.398895,116609441.375351,116609442.355378,116609443.389486,116609444.372726,116609445.355053,116609446.326833,116609447.304434,116609448.27897,116609449.281048,116609450.315701,116609451.317081,116609452.319536,116609453.3181,116609454.30508,116609455.304431,116609456.304438,116609457.313426,116609458.319275,116609459.316669,116609460.313597,116609461.31108,116609462.309266,116609463.307791,116609464.313026,116609465.336176,116609466.380682,116609467.392988,116609468.405612,116609469.408204,116609470.409438,116609471.409909,116609472.407555,116609473.384406,116609474.363844,116609475.348381,116609476.337088,116609477.339817,116609478.339999,116609479.340963,116609480.333338,116609481.326366,116609482.321234,116609483.319016,116609484.345413,116609485.359073,116609486.348965,116609487.338251,116609488.330014,116609489.32428,116609490.320151,116609491.3267,116609492.329973,116609493.32734,116609494.299446,116609495.274875,116609496.265883,116609497.251087,116609498.239525,116609499.230648,116609500.246543,116609501.262565,116609502.331806,116609503.333983,116609504.329027,116609505.331725,116609506.334313,116609507.359913,116609508.350843,116609509.340937,116609510.34545,116609511.367762,116609512.386706,116609513.401461,116609514.408916,116609515.400391,116609516.386726,116609517.368495,116609518.358441,116609519.370512,116609520.387619,116609521.401765,116609522.41249,116609523.414567,116609524.432519,116609525.406565,116609526.392427,116609527.372615,116609528.359312,116609529.37069,116609530.389606,116609531.399442,116609532.382034,116609533.364185,116609534.364697,116609535.366486,116609536.354456,116609537.351085,116609538.341696,116609539.334199,116609540.340805,116609541.33585,116609542.330206,116609543.337165,116609544.333109,116609545.340519,116609546.344278,116609547.338154,116609548.332689,116609549.328156,116609550.387549,116609551.385002,116609552.369691,116609553.355677,116609554.345191,116609555.337363,116609556.331438,116609557.344532,116609558.364154,116609559.379395,116609560.39718,116609561.404644,116609562.413988,116609563.422975,116609564.423636,116609565.415118,116609566.391425,116609567.371071,116609568.356071,116609569.345429,116609570.337634,116609571.33192,116609572.317037,116609573.291807,116609574.2834,116609575.279245,116609576.26506,116609577.265839,116609578.265626,116609579.263974,116609580.252255,116609581.242016,116609582.257455,116609583.273462,116609584.28529,116609585.294368,116609586.346735,116609587.355164,116609588.347626,116609589.349591,116609590.343478,116609591.336883,116609592.336181,116609593.360453,116609594.378807,116609595.398661,116609596.406856,116609597.411908,116609598.422032,116609599.423922,116609600.423994,116609601.423792,116609602.413795,116609603.390681,116609604.371153,116609605.370163,116609606.358371,116609607.349877,116609608.373599,116609609.381996,116609610.368635,116609611.355776,116609612.345709,116609613.338673,116609614.333106,116609615.329083,116609616.326032,116609617.317979,116609618.307234,116609619.31943,116609620.328875,116609621.329526,116609622.329068,116609623.328156,116609624.367618,116609625.36068,116609626.351072,116609627.355486,116609628.381985,116609629.406034,116609630.442535,116609631.436735,116609632.41016,116609633.397515,116609634.393196,116609635.401073,116609636.435875,116609637.438315,116609638.436076,116609639.424506,116609640.408346,116609641.400974,116609642.405912,116609643.390023,116609644.390921,116609645.382417,116609646.380346,116609647.391589,116609648.409901,116609649.427866,116609650.437577,116609651.437438,116609652.435955,116609653.474527,116609654.475762,116609655.472807,116609656.470997,116609657.465914,116609658.465759,116609659.464117,116609660.456278,116609661.454464,116609662.442461,116609663.414421,116609664.401093,116609665.382441,116609666.378211,116609667.369855,116609668.366795,116609669.358979,116609670.374296,116609671.394334,116609672.413056,116609673.428269,116609674.435425,116609675.44137,116609676.436659,116609677.418741,116609678.409156,116609679.419473,116609680.421192,116609681.400275,116609682.380579,116609683.366468,116609684.35653,116609685.349204,116609686.346358,116609687.381049,116609688.374957,116609689.363708,116609690.353984,116609691.347008,116609692.342295,116609693.338226,116609694.336105,116609695.334226,116609696.356165,116609697.376354,116609698.392106,116609699.404231,116609700.419102,116609701.424605,116609702.436511,116609703.445676,116609704.444512,116609705.439502,116609706.414246,116609707.391756,116609708.382515,116609709.369025,116609710.358174,116609711.350271,116609712.354929,116609713.356516,116609714.351322,116609715.356679,116609716.381021,116609717.402469,116609718.418042,116609719.423786,116609720.433728,116609721.410727,116609722.389283,116609723.373339,116609724.361693,116609725.352815,116609726.334562,116609727.316464,116609728.303913,116609729.295686,116609730.280005,116609731.30125,116609732.312384,116609733.335278,116609734.350181,116609735.429929,116609736.417052,116609737.420743,116609738.432804,116609739.457941,116609740.440054,116609741.429659,116609742.460038,116609743.472273,116609744.466817,116609745.460981,116609746.456225,116609747.452535,116609748.449621,116609749.447553,116609750.449654,116609751.47345,116609752.494601,116609753.514816,116609754.526884,116609755.574121,116609756.584652,116609757.564987,116609758.558438,116609759.547055,116609760.540458,116609761.517349,116609762.497897,116609763.48363,116609764.481101,116609765.479753,116609766.478908,116609767.476318,116609768.468375,116609769.462323,116609770.458741,116609771.430571,116609772.404061,116609773.386142,116609774.38496,116609775.364332,116609776.332268,116609777.35653,116609778.33178,116609779.319606,116609780.305539,116609781.291524,116609782.278115,116609783.267525,116609784.25943,116609785.275912,116609786.324899,116609787.334339,116609788.3374,116609789.338922,116609790.339686,116609791.342418,116609792.366643,116609793.388289,116609794.405164,116609795.417185,116609796.431448,116609797.436891,116609798.440509,116609799.444834,116609800.483146,116609801.480516,116609802.473365,116609803.452711,116609804.425614,116609805.403891,116609806.388068,116609807.376009,116609808.367385,116609809.349536,116609810.322862,116609811.301664,116609812.299412,116609813.286683,116609814.275437,116609815.285906,116609816.288581,116609817.303736,116609818.294597,116609819.291229,116609820.317388,116609821.341235,116609822.347165,116609823.365239,116609824.362967,116609825.358955,116609826.356164,116609827.353886,116609828.352532,116609829.351611,116609830.351728,116609831.375033,116609832.380884,116609833.383589,116609834.430171,116609835.450645,116609836.462847,116609837.486045,116609838.482969,116609839.476159,116609840.527499,116609841.515391,116609842.500179,116609843.487587,116609844.465365,116609845.435762,116609846.412773,116609847.393241,116609848.357788,116609849.344602,116609850.320936,116609851.302774,116609852.334107,116609853.342296,116609854.345702,116609855.348077,116609856.385826,116609857.381999,116609858.378377,116609859.396164,116609860.412762,116609861.425253,116609862.441308,116609863.462704,116609864.464117,116609865.469139,116609866.473461,116609867.457824,116609868.431682,116609869.410831,116609870.39132,116609871.367237,116609872.338413,116609873.329931,116609874.319806,116609875.330069,116609876.340012,116609877.345413,116609878.394229,116609879.390456,116609880.382686,116609881.379996,116609882.376304,116609883.412317,116609884.439152,116609885.449643,116609886.454456,116609887.491055,116609888.488857,116609889.493811,116609890.503273,116609891.505075,116609892.504649,116609893.495408,116609894.506964,116609895.49984,116609896.490945,116609897.503266,116609898.495812,116609899.495806,116609900.488867,116609901.532331,116609902.52109,116609903.506782,116609904.483688,116609905.452509,116609906.439637,116609907.432279,116609908.415479,116609909.412709,116609910.401558,116609911.391183,116609912.402278,116609913.419046,116609914.438703,116609915.457526,116609916.461786,116609917.46502,116609918.464866,116609919.45831,116609920.472688,116609921.518948,116609922.519752,116609923.519803,116609924.508663,116609925.501243,116609926.493777,116609927.487566,116609928.534793,116609929.527502,116609930.529625,116609931.552287,116609932.557397,116609933.538581,116609934.520489,116609935.506601,116609936.534134,116609937.499444,116609938.46592,116609939.440172,116609940.431201,116609941.424973,116609942.422017,116609943.416835,116609944.401783,116609945.393924,116609946.386868,116609947.381807,116609948.377399,116609949.374113,116609950.372259,116609951.376851,116609952.382003,116609953.426989,116609954.441748,116609955.450742,116609956.457042,116609957.469132,116609958.471124,116609959.479863,116609960.485591,116609961.488057,116609962.489458,116609963.485896,116609964.517146,116609965.528096,116609966.525178,116609967.52363,116609968.53743,116609969.550032,116609970.61402,116609971.619626,116609972.617996,116609973.610285,116609974.604437,116609975.580945,116609976.554108,116609977.533806,116609978.518091,116609979.506633,116609980.521862,116609981.499927,116609982.467856,116609983.442029,116609984.42996,116609985.421227,116609986.409494,116609987.411136,116609988.402561,116609989.394871,116609990.40097,116609991.402582,116609992.395546,116609993.392357,116609994.411095,116609995.429221,116609996.506439,116609997.516414,116609998.509802,116609999.514832,116610000.511884,116610001.509814,116610002.502724,116610003.506476,116610004.535261,116610005.525705,116610006.514832,116610007.528687,116610008.52506,116610009.514457,116610010.505585,116610011.499276,116610012.494502,116610013.509268,116610014.508933,116610015.503357,116610016.498012,116610017.493771,116610018.517532,116610019.529981,116610020.532542,116610021.531833,116610022.545746,116610023.610084,116610024.617887,116610025.613525,116610026.60867,116610027.590472,116610028.598629,116610029.579628,116610030.566315,116610031.546169,116610032.529823,116610033.517673,116610034.513379,116610035.506997,116610036.501294,116610037.50626,116610038.518284,116610039.51217,116610040.505378,116610041.499934,116610042.495651,116610043.492531,116610044.49077,116610045.493794,116610046.51415,116610047.509451,116610048.503612,116610049.515615,116610050.535396,116610051.586573,116610052.594063,116610053.600623,116610054.602388,116610055.601233,116610056.599471,116610057.61505,116610058.615944,116610059.614192,116610060.610057,116610061.606544,116610062.611142,116610063.633765,116610064.654359,116610065.669913,116610066.681533,116610067.68933,116610068.695026,116610069.699461,116610070.72657,116610071.706878,116610072.679952,116610073.657758,116610074.641596,116610075.629751,116610076.629833,116610077.623552,116610078.667255,116610079.6558,116610080.641485,116610081.629973,116610082.621652,116610083.615229,116610084.610864,116610085.607726,116610086.594981,116610087.568812,116610088.547669,116610089.564006,116610090.53461,116610091.49675,116610092.467312,116610093.450924,116610094.433823,116610095.426506,116610096.422588,116610097.413899,116610098.449414,116610099.469007,116610100.476463,116610101.463389,116610102.449845,116610103.437404,116610104.448228,116610105.459743,116610106.507812,116610107.509368,116610108.505539,116610109.502342,116610110.499712,116610111.520068,116610112.541725,116610113.563488,116610114.575168,116610115.583245,116610116.574456,116610117.586698,116610118.56648,116610119.547321,116610120.533312,116610121.522597,116610122.514872,116610123.489185,116610124.467496,116610125.446645,116610126.444314,116610127.445198,116610128.456344,116610129.470136,116610130.477332,116610131.467624,116610132.448242,116610133.436927,116610134.43204,116610135.429114,116610136.419271,116610137.411143,116610138.416589,116610139.435532,116610140.474485,116610141.485142,116610142.492643,116610143.494264,116610144.498526,116610145.502388,116610146.505296,116610147.503416,116610148.501294,116610149.486516,116610150.464417,116610151.452701,116610152.439102,116610153.426467,116610154.41688,116610155.419584,116610156.437721,116610157.453362,116610158.465427,116610159.473942,116610160.488786,116610161.499372,116610162.500233,116610163.505519,116610164.533022,116610165.545649,116610166.536455,116610167.526246,116610168.518505,116610169.512611,116610170.508969,116610171.50741,116610172.489091,116610173.466069,116610174.447351,116610175.44199,116610176.438888,116610177.475612,116610178.46188,116610179.445319,116610180.445857,116610181.459664,116610182.470917,116610183.479507,116610184.485779,116610185.490606,116610186.50245,116610187.529944,116610188.594095,116610189.615763,116610190.617884,116610191.617358,116610192.610053,116610193.586133,116610194.570852,116610195.608987,116610196.588743,116610197.5671,116610198.561537,116610199.548844,116610200.537265,116610201.52871,116610202.536251,116610203.55588,116610204.628024,116610205.634337,116610206.631307,116610207.636284,116610208.636786,116610209.633465,116610210.632361,116610211.629549,116610212.626862,116610213.624088,116610214.622389,116610215.634392,116610216.62178,116610217.5944,116610218.584877,116610219.577661,116610220.572294,116610221.557702,116610222.550862,116610223.541155,116610224.533729,116610225.540314,116610226.578529,116610227.566647,116610228.56505,116610229.561439,116610230.549053,116610231.538316,116610232.536444,116610233.542075,116610234.582036,116610235.55617,116610236.529429,116610237.505957,116610238.540954,116610239.54421,116610240.521247,116610241.507282,116610242.493056,116610243.495586,116610244.499972,116610245.503731,116610246.506212,116610247.508076,116610248.509238,116610249.509754,116610250.524223,116610251.553066,116610252.567647,116610253.58123,116610254.592064,116610255.600569,116610256.610375,116610257.614449,116610258.616768,116610259.610983,116610260.615249,116610261.572948,116610262.5295,116610263.496168,116610264.485702,116610265.537468,116610266.520736,116610267.493657,116610268.484161,116610269.491529,116610270.473153,116610271.456306,116610272.443299,116610273.438483,116610274.474842,116610275.499893,116610276.514288,116610277.516735,116610278.52252,116610279.527813,116610280.531642,116610281.528948,116610282.531756,116610283.550088,116610284.529265,116610285.500235,116610286.476791,116610287.46588,116610288.476204,116610289.487077,116610290.495906,116610291.502673,116610292.507357,116610293.510624,116610294.564985,116610295.585837,116610296.605179,116610297.613272,116610298.603226,116610299.582577,116610300.565728,116610301.540817,116610302.508793,116610303.52596,116610304.510959,116610305.487245,116610306.467873,116610307.467469,116610308.479687,116610309.49683,116610310.504664,116610311.524454,116610312.53566,116610313.539256,116610314.543037,116610315.538289,116610316.517241,116610317.501363,116610318.491711,116610319.473275,116610320.464013,116610321.462101,116610322.472978,116610323.460293,116610324.448689,116610325.446651,116610326.463897,116610327.479772,116610328.5039,116610329.521758,116610330.534663,116610331.53334,116610332.400841,116610333.407697,116610334.411607,116610335.414127,116610336.41647,116610337.423973,116610338.424511,116610339.42448,116610340.423473,116610341.422865,116610342.426249,116610343.425872,116610344.424725,116610345.474126,116610346.466768,116610347.44979,116610348.42602,116610349.407569,116610350.407223,116610351.404661,116610352.408158,116610353.411698,116610354.419649,116610355.421329,116610356.427195,116610357.432508,116610358.431057,116610359.419986,116610360.406883,116610361.392309,116610362.383742,116610363.385277,116610364.380231,116610365.369494,116610366.379989,116610367.390726,116610368.404184,116610369.409904,116610370.541086,116610371.523354,116610372.506375,116610373.491474,116610374.497555,116610375.505305,116610376.517937,116610377.521316,116610378.523042,116610379.510191,116610380.489182,116610381.476607,116610382.463526,116610383.459177,116610384.451227,116610385.447823,116610386.495001,116610387.508472,116610388.5151,116610389.519935,116610390.522636,116610391.524837,116610392.588138,116610393.606855,116610394.617273,116610395.624326,116610396.632138,116610397.636325,116610398.614131,116610399.592355,116610400.575848,116610401.555613,116610402.536022,116610403.510753,116610404.525716,116610405.51079,116610406.490421,116610407.495084,116610408.504553,116610409.517282,116610410.522942,116610411.542315,116610412.523966,116610413.500114,116610414.498818,116610415.507241,116610416.514577,116610417.520247,116610418.524259,116610419.57426,116610420.578122,116610421.568266,116610422.564176,116610423.571506,116610424.566799,116610425.563434,116610426.556927,116610427.589716,116610428.573307,116610429.553171,116610430.537299,116610431.530517,116610432.531337,116610433.532818,116610434.534115,116610435.586964,116610436.581078,116610437.5791,116610438.582561,116610439.587131,116610440.650413,116610441.642161,116610442.617188,116610443.5962,116610444.587009,116610445.599741,116610446.587684,116610447.576031,116610448.567606,116610449.564806,116610450.562489,116610451.557373,116610452.553638,116610453.599912,116610454.596299,116610455.576067,116610456.542356,116610457.520016,116610458.532292,116610459.517608,116610460.513073,116610461.496852,116610462.487717,116610463.474527,116610464.473533,116610465.470984,116610466.476145,116610467.496598,116610468.509728,116610469.511356,116610470.5017,116610471.485318,116610472.48857,116610473.501426,116610474.519019,116610475.531842,116610476.537164,116610477.550041,116610478.578121,116610479.606713,116610480.637115,116610481.638268,116610482.628138,116610483.620463,116610484.617224,116610485.638048,116610486.623135,116610487.607919,116610488.607852,116610489.619621,116610490.629344,116610491.646425,116610492.657964,116610493.665003,116610494.663817,116610495.697079,116610496.673078,116610497.650333,116610498.642051,116610499.640642,116610500.671253,116610501.647951,116610502.622023,116610503.60178,116610504.586778,116610505.570872,116610506.539773,116610507.553959,116610508.515387,116610509.481684,116610510.451732,116610511.445596,116610512.505053,116610513.503737,116610514.48981,116610515.477404,116610516.469921,116610517.463757,116610518.458347,116610519.470156,116610520.504829,116610521.525744,116610522.535599,116610523.551349,116610524.578072,116610525.574854,116610526.561896,116610527.556097,116610528.555075,116610529.56504,116610530.562932,116610531.560915,116610532.565738,116610533.576223,116610534.595201,116610535.62061,116610536.622124,116610537.606553,116610538.592485,116610539.58158,116610540.573658,116610541.568209,116610542.56394,116610543.540138,116610544.515646,116610545.485247,116610546.448837,116610547.42947,116610548.407488,116610549.390274,116610550.391072,116610551.41151,116610552.422484,116610553.428668,116610554.4337,116610555.43759,116610556.44019,116610557.451523,116610558.458891,116610559.456874,116610560.454888,116610561.466918,116610562.496771,116610563.513695,116610564.527212,116610565.51749,116610566.500254,116610567.510281,116610568.518838,116610569.521161,116610570.509378,116610571.517408,116610572.528514,116610573.542064,116610574.547281,116610575.551672,116610576.553332,116610577.557269,116610578.563367,116610579.562215,116610580.576955,116610581.609653,116610582.626504,116610583.622134,116610584.60608,116610585.59247,116610586.582439,116610587.575541,116610588.557725,116610589.530447,116610590.508557,116610591.49235,116610592.481259,116610593.473403,116610594.474187,116610595.468749,116610596.47336,116610597.475398,116610598.469458,116610599.464349,116610600.460389,116610601.464681,116610602.461527,116610603.467704,116610604.472099,116610605.474512,116610606.489978,116610607.487969,116610608.503705,116610609.524889,116610610.534531,116610611.519644,116610612.502081,116610613.488656,116610614.489594,116610615.480923,116610616.473095,116610617.467018,116610618.46254,116610619.472117,116610620.493392,116610621.510989,116610622.523595,116610623.533119,116610624.540897,116610625.546615,116610626.570609,116610627.61922,116610628.622797,116610629.608699,116610630.5962,116610631.568114,116610632.538501,116610633.515731,116610634.499008,116610635.496771,116610636.490501,116610638.337373,116610639.232464,116610640.048852,116610640.882783,116610641.740127,116610642.647255,116610643.568788,116610644.509557,116610645.489993,116610646.503133,116610647.516681,116610648.526461,116610649.533622,116610650.552118,116610651.592103,116610652.623232,116610653.636286,116610654.660496,116610655.688612,116610656.721437,116610657.743667,116610658.752303,116610659.757482,116610660.740196,116610661.730657,116610662.726679,116610663.724196,116610664.710445,116610665.708973,116610666.723067,116610667.7358,116610668.74568,116610669.752571,116610670.757329,116610671.761286,116610672.766342,116610673.796608,116610674.804471,116610675.798126,116610676.79102,116610677.78888,116610678.784408,116610679.768004,116610680.742284,116610681.720837,116610682.7154,116610683.714677,116610684.714406,116610685.712981,116610686.706771,116610687.701866,116610688.701812,116610689.702164,116610690.699022,116610691.690087,116610692.682657,116610693.702699,116610694.719419,116610695.722144,116610696.730115,116610697.733441,116610698.740837,116610699.735889,116610700.724146,116610701.731258,116610702.741325,116610703.749613,116610704.764441,116610705.767781,116610706.769803,116610707.774269,116610708.777719,116610709.768395,116610710.744265,116610711.722813,116610712.719923,116610713.706667,116610714.705737,116610715.705619,116610716.698508,116610717.711317,116610718.734658,116610719.798731,116610720.7839,116610721.756328,116610722.742055,116610723.751821,116610724.745756,116610725.752583,116610726.766196,116610727.767857,116610728.74697,116610729.753627,116610730.748357,116610731.758393,116610732.744898,116610733.730724,116610734.72013,116610735.707285,116610736.697583,116610737.716504,116610738.753771,116610739.763561,116610740.776118,116610741.783093,116610742.788699,116610743.78757,116610744.790435,116610745.801487,116610746.802137,116610747.810159,116610748.811758,116610749.812859,116610750.806479,116610751.7997,116610752.801726,116610753.797423,116610754.792951,116610755.808879,116610756.806275,116610757.800699,116610758.816328,116610759.836773,116610760.891315,116610761.898408,116610762.898677,116610763.875286,116610764.90125,116610765.868106,116610766.820361,116610767.781034,116610768.752164,116610769.742971,116610770.758483,116610771.746031,116610772.728968,116610773.714945,116610774.704012,116610775.739635,116610776.758928,116610777.778791,116610778.783918,116610779.785285,116610780.785914,116610781.789978,116610782.789778,116610783.788704,116610784.790239,116610785.784653,116610786.758888,116610787.743152,116610788.726043,116610789.712643,116610790.713186,116610791.729994,116610792.752849,116610793.821206,116610794.826118,116610795.814033,116610796.782969,116610797.754915,116610798.736015,116610799.723813,116610800.720295,116610801.711112,116610802.710437,116610803.703926,116610804.697461,116610805.692463,116610806.688806,116610807.688326,116610808.710426,116610809.731053,116610810.746655,116610811.758401,116610812.770684,116610813.7759,116610814.783404,116610815.78973,116610816.789944,116610817.771505,116610818.748347,116610819.730077,116610820.721467,116610821.711207,116610822.702747,116610823.696584,116610824.703398,116610825.723835,116610826.747681,116610827.790368,116610828.783975,116610829.773081,116610830.775288,116610831.784486,116610832.787159,116610833.780521,116610834.780743,116610835.784549,116610836.76511,116610837.985682,116610839.163319,116610840.083625,116610840.979293,116610841.937867,116610842.917776,116610843.875039,116610844.997365,116610845.9688,116610846.911244,116610847.873179,116610848.840015,116610849.811784,116610850.792456,116610851.776549,116610852.786834,116610853.822265,116610854.866086,116610855.890716,116610856.921871,116610857.935384,116610858.940354,116610859.944183,116610860.950043,116610861.95229,116610862.96214,116610863.961757,116610864.99715,116610865.999317,116610866.968821,116610867.936394,116610868.913194,116610869.971942,116610871.014679,116610871.982393,116610872.946402,116610873.917486,116610874.895698,116610875.880782,116610876.89354,116610877.932465,116610878.996641,116610880.051329,116610881.088583,116610882.175746,116610883.190456,116610884.216767,116610885.300367,116610886.309757,116610887.30941,116610888.291079,116610889.264914,116610890.244056,116610891.228401,116610892.216721,116610893.208739,116610894.231134,116610895.198586,116610896.167067,116610897.143246,116610898.125335,116610899.142998,116610900.12962,116610901.113027,116610902.078728,116610903.05095,116610904.063729,116610905.044182,116610906.026383,116610907.010465,116610907.976511,116610908.944524,116610909.928677,116610910.923954,116610911.909799,116610912.916425,116610913.903668,116610914.875572,116610915.853833,116610916.829816,116610917.808084,116610918.815148,116610919.82697,116610920.835532,116610921.897198,116610922.89723,116610923.892285,116610924.887662,116610925.903952,116610926.895849,116610927.886771,116610928.880632,116610929.929149,116610930.92965,116610931.942942,116610932.93319,116610933.932754,116610934.916405,116610935.902352,116610936.86839,116610937.83736,116610938.823926,116610939.818673,116610940.814477,116610941.80453,116610942.791682,116610943.819307,116610944.831182,116610945.839693,116610946.845661,116610947.8504,116610948.85313,116610949.862618,116610950.878504,116610951.899268,116610952.912997,116610953.929213,116610954.942115,116610955.993142,116610956.998618,116610957.993994,116610958.990018,116610959.970627,116610960.944215,116610961.922908,116610962.906208,116610963.894066,116610964.88538,116610965.895258,116610966.905368,116610967.882129,116610968.850614,116610969.82487,116610970.814941,116610971.80074,116610972.788355,116610973.778698,116610974.819987,116610975.427213,116610976.430691,116610977.443344,116610978.442613,116610979.466811,116610980.469562,116610981.461443,116610982.435621,116610983.454166,116610984.42657,116610985.400556,116610986.384298,116610987.372208,116610988.370192,116610989.360087,116610990.351985,116610991.345877,116610992.356977,116610993.40118,116610994.468811,116610995.493795,116610996.513156,116610997.528638,116610998.537738,116610999.523413,116611000.501456,116611001.484019,116611002.498143,116611003.49682,116611004.482421,116611005.471104,116611006.463893,116611007.472004,116611008.465445,116611009.845499,116611010.864946,116611011.877231,116611012.88491,116611013.877837,116611014.885354,116611015.885333,116611016.870537,116611017.84639,116611018.877693,116611019.857878,116611020.890122,116611021.899584,116611022.885939,116611023.876101,116611024.85225,116611025.842442,116611026.825287,116611027.840772,116611028.83995,116611029.825888,116611030.835403,116611031.847037,116611032.856984,116611033.870258,116611034.882197,116611035.884901,116611036.892462,116611038.49107,116611039.430372,116611040.30227,116611041.202478,116611042.151895,116611043.131775,116611044.086571,116611045.039036,116611046.018659,116611047.019127,116611048.021616,116611049.017526,116611050.013959,116611051.017617,116611052.020775,116611053.022822,116611054.030251,116611055.025104,116611056.022901,116611057.024991,116611058.001064,116611058.980324,116611059.960234,116611060.964508,116611061.973359,116611062.986058,116611063.991415,116611064.998565,116611066.000739,116611067.007244,116611068.007097,116611069.011856,116611070.015668,116611071.018965,116611072.036656,116611073.030452,116611074.016331,116611074.987866,116611075.968934,116611076.953555,116611077.945169,116611078.932032,116611079.920559,116611080.964969,116611081.959524,116611082.966085,116611083.975282,116611084.982393,116611085.987347,116611086.990904,116611087.998714,116611089.010477,116611090.009472,116611091.012965,116611092.038673,116611093.056868,116611094.063256,116611095.049579,116611096.037278,116611097.027198,116611098.062979,116611099.049247,116611100.013977,116611100.984302,116611101.967587,116611102.955877,116611103.939928,116611104.926132,116611105.915812,116611106.908778,116611107.915735,116611108.919275,116611109.925025,116611110.919198,116611111.923852,116611112.917736,116611113.917919,116611114.912435,116611115.906582,116611116.901905,116611117.89846,116611118.933063,116611119.952657,116611120.969765,116611121.998719,116611123.014027,116611124.013169,116611125.0109,116611126.007516,116611126.989623,116611127.987434,116611128.997698,116611130.007989,116611131.014223,116611132.011844,116611133.006921,116611133.992555,116611134.991766,116611135.994168,116611137.002284,116611138.003451,116611139.001601,116611139.978469,116611140.955599,116611141.971891,116611142.968139,116611143.950324,116611144.943617,116611145.939577,116611146.933295,116611147.928717,116611148.929556,116611149.920978,116611150.913632,116611151.930832,116611152.949607,116611153.948348,116611154.935752,116611155.925871,116611156.940489,116611157.962051,116611158.974612,116611159.983011,116611160.996403,116611161.976852,116611162.954824,116611163.953309,116611164.970368,116611165.969321,116611166.952588,116611167.492833,116611168.468496,116611169.447855,116611170.429523,116611171.424169,116611172.446583,116611173.581604,116611174.625017,116611175.609248,116611176.569163,116611177.532724,116611178.507813,116611179.510258,116611180.487384,116611181.463738,116611182.45279,116611183.469904,116611184.545902,116611185.591838,116611186.603055,116611187.65941,116611188.676046,116611189.852302,116611191.277487,116611192.269358,116611193.462585,116611194.642809,116611195.512847,116611196.386369,116611197.293269,116611198.218829,116611199.125508,116611200.119141,116611201.094572,116611202.140463,116611203.495555,116611204.438269,116611205.328722,116611206.215431,116611207.111605,116611207.995464,116611208.905425,116611209.812219,116611210.661175,116611211.536188,116611212.440488,116611213.374335,116611214.375337,116611215.423739,116611216.500557,116611217.569572,116611218.608134,116611219.67629,116611220.782669,116611221.830049,116611222.857679,116611223.876227,116611224.890212,116611225.901792,116611226.91074,116611227.915311,116611228.954401,116611229.929693,116611230.898114,116611231.873322,116611232.854933,116611233.830553,116611234.797659,116611235.770614,116611236.749812,116611237.776312,116611238.762922,116611239.74619,116611240.733794,116611241.728927,116611242.755878,116611243.745249,116611244.714698,116611245.681735,116611246.656193,116611247.666775,116611248.649934,116611249.647492,116611250.646688,116611251.633297,116611252.628983,116611253.619509,116611254.610845,116611255.60459,116611256.601013,116611257.616802,116611258.637484,116611259.666835,116611260.676811,116611261.704012,116611262.681188,116611263.657931,116611264.653284,116611265.641353,116611266.642717,116611267.690938,116611268.675391,116611269.690367,116611270.703985,116611271.751277,116611272.744789,116611273.733925,116611274.732158,116611275.735123,116611276.818354,116611277.819907,116611278.799527,116611279.792486,116611280.772565,116611281.763913,116611282.749444,116611283.737486,116611284.731813,116611285.714315,116611286.686073,116611287.673183,116611288.653702,116611289.638306,116611290.627527,116611291.629603,116611292.63498,116611293.948282,116611294.960057,116611295.991642,116611297.000461,116611298.003039,116611298.987871,116611299.965025,116611300.945753,116611301.931185,116611302.920501,116611303.912892,116611304.890889,116611305.86407,116611306.867346,116611307.854009,116611308.879239,116611309.860293,116611310.84083,116611311.834691,116611312.824521,116611313.854469,116611314.842249,116611315.827302,116611316.861252,116611317.899332,116611318.974935,116611319.994656,116611321.004604,116611322.031385,116611323.060562,116611324.111337,116611325.093184,116611326.072665,116611327.056667,116611328.044307,116611329.035306,116611330.068533,116611331.056254,116611332.021365,116611332.991785,116611333.967109,116611334.94814,116611335.934206,116611336.924158,116611337.935521,116611338.912135,116611339.916139,116611340.913869,116611341.911706,116611342.908117,116611343.905838,116611344.914214,116611345.921393,116611346.919927,116611347.960128,116611348.952164,116611349.945411,116611350.934762,116611351.925942,116611352.970264,116611353.964099,116611354.948884,116611355.946092,116611356.941718,116611357.934699,116611358.927136,116611359.943785,116611361.019148,116611362.025603,116611363.023624,116611364.021251,116611365.019412,116611366.024161,116611367.024443,116611368.025299,116611369.026531,116611370.023764,116611371.024309,116611372.026922,116611373.029002,116611374.029835,116611375.025241,116611376.021412,116611377.112236,116611378.208389,116611379.287091,116611380.345115,116611381.387585,116611382.420192,116611383.439007,116611384.452944,116611385.460625,116611386.453765,116611387.45575,116611388.460148,116611389.487376,116611390.486451,116611391.481834,116611392.457757,116611393.404615,116611394.374095,116611395.344679,116611396.342575,116611397.344907,116611398.346398,116611399.349329,116611400.362418,116611401.416731,116611402.434989,116611403.44488,116611404.432296,116611405.413066,116611406.40715,116611407.38412,116611408.348167,116611409.319261,116611410.297365,116611411.282123,116611412.271204,116611413.262633,116611414.249981,116611415.221661,116611416.198195,116611417.180734,116611418.156893,116611419.124723,116611420.09933,116611421.08081,116611422.103601,116611423.066769,116611424.032323,116611425.006,116611425.994821,116611426.990815,116611427.976598,116611428.96282,116611429.960647,116611430.952996,116611431.945112,116611432.938943,116611433.948613,116611434.945825,116611435.940273,116611436.935808,116611437.932305,116611438.945759,116611439.976427,116611440.994545,116611442.003582,116611442.988904,116611443.982578,116611444.969587,116611446.007922,116611447.001195,116611447.993476,116611448.976909,116611449.978362,116611450.998588,116611452.010829,116611453.011158,116611454.01552,116611455.038661,116611456.05101,116611457.047604,116611458.130736,116611459.129035,116611460.115907,116611461.101371,116611462.089523,116611463.08378,116611464.070761,116611465.060114,116611466.059032,116611467.052659,116611468.041745,116611469.038236,116611470.060684,116611471.066034,116611472.069916,116611473.072943,116611474.063723,116611475.055542,116611476.057634,116611477.043735,116611478.063766,116611479.070226,116611480.105527,116611481.104242,116611482.088277,116611483.081591,116611484.075646,116611485.094998,116611486.06116,116611487.041491,116611488.015437,116611488.994642,116611490.00123,116611491.027632,116611492.032095,116611493.084914,116611494.089108,116611495.08464,116611496.080765,116611497.08935,116611498.079038,116611499.069157,116611500.067989,116611501.066137,116611502.064596,116611503.063946,116611504.057706,116611505.092002,116611506.071775,116611507.069123,116611508.068847,116611509.061634,116611510.101177,116611511.101461,116611512.098087,116611513.095035,116611514.081216,116611515.104566,116611516.099283,116611517.093608,116611518.087226,116611519.079888,116611520.069195,116611521.060623,116611522.065134,116611523.073653,116611524.066542,116611525.05902,116611526.049663,116611527.022209,116611527.998986,116611528.989158,116611529.975074,116611530.969993,116611531.972329,116611533.000516,116611533.990595,116611534.97518,116611535.98083,116611537.000944,116611538.013198,116611539.020241,116611540.022482,116611541.032444,116611542.033915,116611543.011535,116611543.992025,116611544.9775,116611545.982576,116611546.980032,116611547.968196,116611548.957197,116611549.952267,116611550.969849,116611552.017859,116611553.027227,116611554.030116,116611555.031736,116611556.051488,116611557.074611,116611558.095488,116611559.163281,116611560.165409,116611561.141028,116611562.113771,116611563.092843,116611564.077722,116611565.051072,116611566.030075,116611567.006816,116611567.995559,116611568.991112,116611569.977983,116611570.977041,116611571.966722,116611572.956634,116611573.97435,116611574.980111,116611575.987003,116611576.984721,116611577.97263,116611578.975359,116611579.966439,116611580.977257,116611581.995663,116611582.987082,116611583.984367,116611584.998544,116611585.997742,116611586.99776,116611587.983871,116611588.986594,116611590.007284,116611591.015931,116611592.022478,116611593.025782,116611594.019737,116611595.003162,116611596.009098,116611597.016305,116611598.021929,116611599.026001,116611600.029297,116611601.049264,116611602.075745,116611603.094153,116611604.089119,116611605.076625,116611606.066493,116611607.058686,116611608.053426,116611609.050313,116611610.047714,116611611.036971,116611612.012699,116611612.993357,116611613.97679,116611614.963913,116611615.954228,116611616.932116,116611617.903969,116611618.881968,116611619.874686,116611620.88165,116611621.874126,116611622.894986,116611623.881459,116611624.872916,116611625.884066,116611626.896392,116611627.905677,116611628.91256,116611629.917675,116611630.92425,116611631.950312,116611632.975176,116611634.000075,116611635.014289,116611636.062583,116611637.062674,116611638.070241,116611639.082614,116611640.10848,116611641.072902,116611642.038881,116611643.051206,116611644.030901,116611645.027733,116611646.020236,116611647.002271,116611647.994724,116611649.042038,116611650.024819,116611651.005025,116611651.989041,116611652.990995,116611654.004578,116611655.015426,116611656.022942,116611657.036448,116611658.055002,116611659.054845,116611660.052411,116611661.050431,116611662.048953,116611663.028416,116611664.006638,116611665.014337,116611666.013651,116611666.997587,116611667.981505,116611668.979912,116611669.980597,116611670.973619,116611671.964109,116611672.954482,116611673.926002,116611674.899261,116611675.890906,116611676.876097,116611677.624642,116611678.595333,116611679.583784,116611680.584401,116611681.586677,116611682.589116,116611683.590648,116611684.600718,116611685.603531,116611686.626374,116611687.621057,116611688.633379,116611689.650856,116611690.704183,116611691.709273,116611692.708397,116611693.7078,116611694.93604,116611696.055994,116611697.101101,116611698.123653,116611699.116746,116611700.105102,116611701.095885,116611702.089262,116611703.084385,116611704.080003,116611705.054162,116611706.03207,116611707.016628,116611708.005658,116611708.996814,116611709.989337,116611710.965544,116611711.944192,116611712.922363,116611713.904845,116611714.915435,116611715.930413,116611716.950136,116611717.957609,116611718.960697,116611719.962699,116611720.963931,116611721.965073,116611722.983766,116611724.008037,116611725.029338,116611726.046664,116611727.058053,116611728.063098,116611729.065446,116611730.070982,116611731.078336,116611732.08623,116611733.084127,116611734.081029,116611735.078325,116611736.076032,116611737.077965,116611738.076619,116611739.075281,116611740.07977,116611741.082865,116611742.084767,116611743.090366,116611744.091614,116611745.088507,116611746.089384,116611747.086418,116611748.127004,116611749.121219,116611750.110678,116611751.101348,116611752.094811,116611753.091879,116611754.114985,116611755.132249,116611756.125148,116611757.156649,116611758.14033,116611759.123471,116611760.111445,116611761.128334,116611762.110841,116611763.077396,116611764.04981,116611765.037578,116611766.02648,116611767.062634,116611768.046458,116611769.037689,116611770.022487,116611771.009966,116611772.000946,116611772.998571,116611774.001818,116611774.995503,116611775.999894,116611776.999604,116611778.060342,116611779.075903,116611780.055712,116611781.041113,116611782.047864,116611783.055961,116611784.06221,116611785.096733,116611786.096416,116611787.093336,116611788.091864,116611789.137097,116611790.152821,116611791.162343,116611792.168851,116611793.17611,116611794.193643,116611795.193166,116611796.191453,116611797.182719,116611798.197939,116611799.172747,116611800.149036,116611801.130726,116611802.117564,116611803.107127,116611804.07975,116611805.054025,116611806.03428,116611807.019434,116611808.076295,116611809.061117,116611810.041439,116611811.025532,116611812.043812,116611813.032089,116611814.019754,116611815.031928,116611816.044442,116611817.031727,116611818.02885,116611819.025595,116611820.015758,116611821.014034,116611822.020605,116611823.031751,116611824.047766,116611825.057818,116611826.09947,116611827.100487,116611828.096974,116611829.089266,116611830.087303,116611831.091254,116611832.094697,116611833.092959,116611834.090919,116611835.088972,116611836.087502,116611837.089907,116611838.089033,116611839.088037,116611840.086879,116611841.086098,116611842.085324,116611843.075524,116611844.053896,116611845.041959,116611846.03446,116611847.03104,116611848.019482,116611849.006796,116611849.988657,116611850.960574,116611851.937997,116611852.947197,116611853.966002,116611854.972143,116611855.980611,116611856.982293,116611857.994948,116611858.991409,116611859.988635,116611860.992545,116611861.991113,116611862.999455,116611863.997538,116611864.994011,116611865.990928,116611866.988489,116611867.998803,116611869.008525,116611870.020955,116611871.025892,116611872.041376,116611873.05311,116611874.061888,116611875.068682,116611876.073742,116611877.07657,116611878.084438,116611879.114238,116611880.134719,116611881.136105,116611882.127144,116611883.142233,116611884.138079,116611885.149265,116611886.136389,116611887.123202,116611888.113486,116611889.106034,116611890.100765,116611891.117762,116611892.109352,116611893.093914,116611894.099834,116611895.121428,116611896.092851,116611897.065851,116611898.044974,116611899.029339,116611900.064511,116611901.049833,116611902.03137,116611903.017653,116611904.007059,116611905.008298,116611906.012486,116611907.009644,116611908.012729,116611909.015778,116611910.017182,116611911.02121,116611912.034883,116611913.018234,116611913.986713,116611914.977278,116611915.981032,116611917.000421,116611918.023688,116611919.017726,116611920.009842,116611921.00453,116611922.016296,116611923.03455,116611924.049382,116611925.060206,116611926.068356,116611927.079342,116611928.107544,116611929.136852,116611930.154023,116611931.169344,116611932.206512,116611933.190152,116611934.165459,116611935.145581,116611936.13076,116611937.119993,116611938.0931,116611939.075859,116611940.063263,116611941.054528,116611942.038584,116611943.039681,116611944.034967,116611945.030925,116611946.021075,116611947.012481,116611948.013299,116611949.008002,116611950.01218,116611951.014852,116611952.009518,116611953.019475,116611954.031167,116611955.044155,116611956.06295,116611957.071744,116611958.07461,116611959.055647,116611960.038461,116611961.033895,116611962.027404,116611963.018383,116611964.010952,116611965.005348,116611966.006211,116611967.034578,116611968.056622,116611969.068873,116611970.063133,116611971.057675,116611972.065736,116611973.069733,116611974.075913,116611975.080117,116611976.083403,116611977.085584,116611978.095458,116611979.125853,116611980.146131,116611981.152775,116611982.139842,116611983.127586,116611984.118149,116611985.111445,116611986.10663,116611987.102771,116611988.08116,116611989.05865,116611990.040741,116611991.02808,116611992.018923,116611993.011795,116611993.990402,116611994.972666,116611995.950676,116611996.934901,116611997.943754,116611998.962875,116611999.982197,116612000.987486,116612001.988795,116612002.989247,116612003.989521,116612004.995049,116612006.025688,116612007.045193,116612008.082841,116612009.079488,116612010.096473,116612011.107403,116612012.109615,116612013.11352,116612014.116434,116612015.115638,116612016.115729,116612017.118752,116612018.113918,116612019.113287,116612020.114302,116612021.110492,116612022.110445,116612023.124993,116612024.120345,116612025.120979,116612026.144937,116612027.138395,116612028.179338,116612029.166703,116612030.160015,116612031.146638,116612032.135076,116612033.153306,116612034.172013,116612035.181672,116612036.194498,116612037.22986,116612038.217851,116612039.206024,116612040.182595,116612041.191154,116612042.179548,116612043.162019,116612044.146413,116612045.156545,116612046.174189,116612047.18385,116612048.185622,116612049.165887,116612050.19678,116612051.178169,116612052.158113,116612053.142469,116612054.131226,116612055.164778,116612056.153048,116612057.142218,116612058.132036,116612059.12393,116612060.156608,116612061.151346,116612062.41708,116612063.501885,116612064.420651,116612065.323013,116612066.246221,116612067.233243,116612068.187747,116612069.149226,116612070.13123,116612071.118135,116612072.106515,116612073.090357,116612074.076948,116612075.062849,116612076.051143,116612077.024948,116612078.021673,116612079.026429,116612080.042161,116612081.051725,116612082.05043,116612083.048383,116612084.046784,116612085.082468,116612086.089462,116612087.091138,116612088.094303,116612089.128604,116612090.135899,116612091.147851,116612092.158279,116612093.156657,116612094.165263,116612095.172984,116612096.174152,116612097.167345,116612098.16106,116612099.157837,116612100.149771,116612101.147986,116612102.13795,116612103.132202,116612104.134924,116612105.137108,116612106.147197,116612107.155453,116612108.16243,116612109.158968,116612110.154913,116612111.150347,116612112.124941,116612113.102938,116612114.08628,116612115.074447,116612116.0656,116612117.059375,116612118.032389,116612119.024129,116612120.019837,116612121.016229,116612121.999425,116612122.98545,116612123.997239,116612125.040985,116612126.074773,116612127.094875,116612128.117281,116612129.151276,116612130.178271,116612131.202018,116612132.217094,116612133.227112,116612134.234804,116612135.215556,116612136.197068,116612137.164924,116612138.134404,116612139.111362,116612140.099104,116612141.087007,116612142.069405,116612143.071392,116612144.057115,116612145.030677,116612146.030268,116612147.034522,116612148.046678,116612149.057748,116612150.06661,116612151.072158,116612152.066406,116612153.062923,116612154.077837,116612155.096266,116612156.110947,116612157.13298,116612158.150387,116612159.152677,116612160.152204,116612161.162916,116612162.172434,116612163.181579,116612164.175936,116612165.170217,116612166.164841,116612167.161275,116612168.158507,116612169.13561,116612170.1127,116612171.095404,116612172.082806,116612173.087228,116612174.079851,116612175.072837,116612176.066609,116612177.075973,116612178.083941,116612179.082423,116612180.077308,116612181.082251,116612182.076263,116612183.069625,116612184.064505,116612185.083498,116612186.077917,116612187.081586,116612188.124988,116612189.127657,116612190.12114,116612191.113858,116612192.126327,116612193.123559,116612194.110783,116612195.096691,116612196.098299,116612197.0876,116612198.077842,116612199.074561,116612200.103316,116612201.113991,116612202.109522,116612203.10471,116612204.105515,116612205.097765,116612206.117153,116612207.132628,116612208.13912,116612209.178686,116612210.154522,116612211.150802,116612212.159922,116612213.159442,116612214.164865,116612215.171907,116612216.163112,116612217.189245,116612218.168819,116612219.14948,116612220.135575,116612221.115588,116612222.119098,116612223.37876,116612224.499769,116612225.418207,116612226.319947,116612227.283063,116612228.212882,116612229.16731,116612230.123383,116612231.099665,116612232.082766,116612233.061658,116612234.052094,116612235.061609,116612236.070876,116612237.108787,116612238.11031,116612239.108326,116612240.108763,116612241.178932,116612242.208764,116612243.211671,116612244.219012,116612245.229566,116612246.233625,116612247.235031,116612248.227514,116612249.230036,116612250.261072,116612251.258767,116612252.25175,116612253.239497,116612254.238831,116612255.231382,116612256.230306,116612257.230135,116612258.223902,116612259.199804,116612260.195002,116612261.192927,116612262.205644,116612263.211306,116612264.209255,116612265.185151,116612266.172471,116612267.164782,116612268.159103,116612269.15813,116612270.150013,116612271.138266,116612272.128296,116612273.128918,116612274.132369,116612275.134722,116612276.127575,116612277.120938,116612278.122439,116612279.141969,116612280.182824,116612281.201102,116612282.204801,116612283.205753,116612284.206014,116612285.206913,116612286.184192,116612287.178041,116612288.164184,116612289.153497,116612290.164497,116612291.17804,116612292.186938,116612293.193114,116612294.197366,116612295.20973,116612296.219217,116612297.22443,116612298.245369,116612299.270861,116612300.258512,116612301.245426,116612302.23656,116612303.231306,116612304.234678,116612305.230587,116612306.232983,116612307.230862,116612308.231193,116612309.240786,116612310.239924,116612311.235758,116612312.233813,116612313.227984,116612314.225549,116612315.237666,116612316.721926,116612317.722077,116612318.720311,116612319.73457,116612320.750035,116612321.748324,116612322.739787,116612323.732036,116612324.725801,116612325.713453,116612326.687566,116612327.664799,116612328.647475,116612329.640857,116612330.238561,116612331.209324,116612332.18251,116612333.16255,116612334.148446,116612335.15069,116612336.168583,116612337.156622,116612338.144603,116612339.134676,116612340.127444,116612341.126969,116612342.146364,116612343.163493,116612344.181542,116612345.219141,116612346.226588,116612347.220091,116612348.214056,116612349.213615,116612350.218198,116612351.21744,116612352.217628,116612353.25353,116612354.234147,116612355.211421,116612356.209405,116612357.210116,116612358.210615,116612359.211295,116612360.268976,116612361.261928,116612362.249793,116612363.239586,116612364.230298,116612365.202135,116612366.177749,116612367.170157,116612368.157656,116612369.155368,116612370.152222,116612371.152168,116612372.15009,116612373.190435,116612374.183404,116612375.173672,116612376.158448,116612377.169156,116612378.166044,116612379.185589,116612380.1986,116612381.210038,116612382.218418,116612383.223866,116612384.230344,116612385.227773,116612386.224878,116612387.23016,116612388.235582,116612389.23193,116612390.227476,116612391.237128,116612392.262135,116612393.271166,116612394.263883,116612395.297284,116612396.281463,116612397.264571,116612398.255648,116612399.251584,116612400.242698,116612401.237394,116612402.209276,116612403.184134,116612404.165331,116612405.188141,116612406.173591,116612407.158659,116612408.14911,116612409.13588,116612410.139247,116612411.169416,116612412.153282,116612413.142738,116612414.144936,116612415.138792,116612416.135462,116612417.127589,116612418.123966,116612419.172259,116612420.174012,116612421.161306,116612422.156539,116612423.160078,116612424.157881,116612425.149343,116612426.141791,116612427.138448,116612428.163907,116612429.156199,116612430.159408,116612431.174078,116612432.22524,116612433.230081,116612434.228956,116612435.227036,116612436.23278,116612437.230777,116612438.228005,116612439.219793,116612440.195128,116612441.17454,116612442.159203,116612443.155323,116612444.153473,116612445.146496,116612446.13905,116612447.133501,116612448.1582,116612449.175533,116612450.184854,116612451.174723,116612452.172674,116612453.159951,116612454.155743,116612455.178771,116612456.191536,116612457.179291,116612458.164089,116612459.159258,116612460.158958,116612461.149315,116612462.151183,116612463.144951,116612464.14833,116612465.189671,116612466.177946,116612467.163463,116612468.151645,116612469.164402,116612470.187756,116612471.198701,116612472.199441,116612473.193759,116612474.209802,116612475.218946,116612476.222021,116612477.228102,116612478.234354,116612479.476481,116612480.519485,116612481.4586,116612482.394288,116612483.345442,116612484.305505,116612485.275619,116612486.272377,116612487.259089,116612488.253335,116612489.238447,116612490.24015,116612491.252889,116612492.262907,116612493.261256,116612494.259306,116612495.261046,116612496.279219,116612497.281467,116612498.283294,116612499.276577,116612500.310621,116612501.301175,116612502.279384,116612503.24694,116612504.221054,116612505.202311,116612506.177155,116612507.173309,116612508.145018,116612509.121068,116612510.659875,116612511.649312,116612512.639627,116612513.632284,116612514.627105,116612515.622281,116612516.639048,116612517.660373,116612518.681854,116612519.723364,116612520.728292,116612521.727655,116612522.725976,116612523.724649,116612524.723866,116612525.752237,116612526.756975,116612527.750136,116612528.752135,116612529.745311,116612530.744829,116612531.74038,116612532.736878,116612533.747394,116612534.750127,116612535.740823,116612536.751765,116612537.776168,116612538.777289,116612539.765208,116612540.744797,116612541.712083,116612542.685845,116612543.673901,116612544.658939,116612545.116205,116612546.13267,116612547.138955,116612548.155326,116612549.160298,116612550.167604,116612551.165247,116612552.161786,116612553.188693,116612554.200262,116612555.247856,116612556.231098,116612557.235054,116612558.215977,116612559.205206,116612560.191876,116612561.195666,116612562.209901,116612563.222306,116612564.232055,116612565.24175,116612566.263315,116612567.276484,116612568.279321,116612569.284294,116612570.317898,116612571.307002,116612572.288262,116612573.268834,116612574.241167,116612575.225706,116612576.231862,116612577.238917,116612578.243778,116612579.253403,116612580.255781,116612581.256532,116612582.256726,116612583.247224,116612584.275821,116612585.25046,116612586.225458,116612587.213356,116612588.198951,116612589.187755,116612590.179166,116612591.173249,116612592.168622,116612593.18677,116612594.186868,116612595.188102,116612596.22052,116612597.228554,116612598.219265,116612599.219421,116612600.214126,116612601.208512,116612602.195996,116612603.185192,116612604.183218,116612605.176459,116612606.210312,116612607.201713,116612608.190323,116612609.188278,116612610.180666,116612611.174188,116612612.177867,116612613.173581,116612614.17456,116612615.170518,116612616.174126,116612617.195519,116612618.213265,116612619.226442,116612620.23543,116612621.242107,116612622.246817,116612623.276107,116612624.30364,116612625.323112,116612626.326411,116612627.313657,116612628.304702,116612629.293268,116612630.298586,116612631.290277,116612632.282519,116612633.276695,116612634.273453,116612635.247628,116612636.224218,116612637.206554,116612638.660984,116612639.657744,116612640.653649,116612641.650419,116612642.647986,116612643.63294,116612644.60388,116612645.588997,116612646.569067,116612647.570507,116612648.581641,116612649.592997,116612650.59964,116612651.604255,116612652.615881,116612653.62328,116612654.637502,116612655.659512,116612656.682525,116612657.708867,116612658.70931,116612659.715948,116612660.719307,116612661.722072,116612662.726991,116612663.728541,116612664.739954,116612665.738657,116612666.203906,116612667.235241,116612668.254478,116612669.258779,116612670.259924,116612671.261045,116612672.266915,116612673.291437,116612674.314695,116612675.330212,116612676.341546,116612677.338612,116612678.321041,116612679.305714,116612680.287817,116612681.256244,116612682.230555,116612683.211153,116612684.1976,116612685.187863,116612686.160814,116612687.141961,116612688.121712,116612689.125497,116612690.134422,116612691.14147,116612692.14713,116612693.151366,116612694.153938,116612695.157477,116612696.182853,116612697.209441,116612698.230332,116612699.24127,116612700.268585,116612701.275808,116612702.274358,116612703.270487,116612704.746859,116612705.724491,116612706.7098,116612707.702942,116612708.296503,116612709.293115,116612710.290102,116612711.288375,116612712.721871,116612713.728515,116612714.745417,116612715.822148,116612716.838114,116612717.849425,116612718.85299,116612719.854372,116612720.294876,116612721.294012,116612722.291143,116612723.29736,116612724.281782,116612725.265921,116612726.244627,116612727.23288,116612728.233912,116612729.236502,116612730.255717,116612731.264585,116612732.258315,116612733.239055,116612734.22295,116612735.210842,116612736.202225,116612737.19584,116612738.185622,116612739.159895,116612740.148105,116612741.131273,116612742.124504,116612743.137539,116612744.149265,116612745.164023,116612746.175084,116612747.177542,116612748.207802,116612749.212388,116612750.204951,116612751.208797,116612752.227838,116612753.243979,116612754.263485,116612755.277351,116612756.298557,116612757.306524,116612758.302685,116612759.298069,116612760.331792,116612761.300705,116612762.270001,116612763.237242,116612764.197956,116612765.176201,116612766.152532,116612767.133694,116612768.126373,116612769.139181,116612770.151095,116612771.160094,116612772.175701,116612773.191218,116612774.191155,116612775.189844,116612776.211327,116612777.23156,116612778.253775,116612779.264044,116612780.271388,116612781.276624,116612782.268548,116612783.248091,116612784.235642,116612785.22241,116612786.218295,116612787.210205,116612788.211501,116612789.211422,116612790.212927,116612791.206193,116612792.200719,116612793.241995,116612794.256845,116612795.274601,116612796.286903,116612797.29582,116612798.295874,116612799.294168,116612800.28379,116612801.288061,116612802.284977,116612803.285003,116612804.289978,116612805.290172,116612806.28054,116612807.257405,116612808.246596,116612809.23134,116612810.218759,116612811.230278,116612812.232093,116612813.22458,116612814.238477,116612815.256554,116612816.267207,116612817.274247,116612818.269139,116612819.255055,116612820.25016,116612821.261228,116612822.274463,116612823.280253,116612824.282295,116612825.260929,116612826.241729,116612827.234459,116612828.23116,116612829.22736,116612830.824431,116612831.808619,116612832.79046,116612833.75561,116612834.723829,116612835.70825,116612836.710783,116612837.724912,116612838.729356,116612839.731839,116612840.735296,116612841.745168,116612842.76152,116612843.764389,116612844.230243,116612845.255477,116612846.258298,116612847.300731,116612848.283833,116612849.284179,116612850.286994,116612851.289342,116612852.291077,116612853.292096,116612854.292861,116612855.293295,116612856.303778,116612857.329076,116612858.349238,116612859.367766,116612860.37846,116612861.403338,116612862.392643,116612863.372754,116612864.343151,116612865.355145,116612866.325404,116612867.312323,116612868.290433,116612869.271935,116612870.275727,116612871.285188,116612872.293205,116612873.298986,116612874.3038,116612875.30694,116612876.349457,116612877.347073,116612878.337637,116612879.304436,116612880.327006,116612881.431392,116612882.400234,116612883.357133,116612884.329986,116612885.334809,116612886.346737,116612887.368898,116612888.35681,116612889.344235,116612890.343648,116612891.35987,116612892.370925,116612893.369643,116612894.383999,116612895.39315,116612896.39881,116612897.446843,116612898.449949,116612899.446787,116612900.439767,116612901.433043,116612902.427863,116612903.424695,116612904.434224,116612905.412977,116612906.391983,116612907.370818,116612908.35444,116612909.332345,116612910.300127,116612911.274778,116612912.255915,116612913.242273,116612914.232302,116612915.220354,116612916.192933,116612917.195703,116612918.184625,116612919.165084,116612920.149199,116612921.15953,116612922.17157,116612923.181582,116612924.194693,116612925.20353,116612926.205215,116612927.20571,116612928.210424,116612929.21009,116612930.2093,116612931.213298,116612932.217039,116612933.253945,116612934.246685,116612935.23655,116612936.228726,116612937.222737,116612938.240727,116612939.259261,116612940.278042,116612941.292721,116612942.297913,116612943.302894,116612944.309499,116612945.315686,116612946.320288,116612947.318916,116612948.321536,116612949.325219,116612950.322241,116612951.318835,116612952.316668,116612953.299537,116612954.276169,116612955.263606,116612956.303801,116612957.298384,116612958.286728,116612959.272922,116612960.262379,116612961.260127,116612962.254056,116612963.249336,116612964.263076,116612965.276065,116612966.285538,116612967.299123,116612968.303322,116612969.305653,116612970.307332,116612971.292909,116612972.260897,116612973.222104,116612974.200964,116612975.186843,116612976.17693,116612977.159899,116612978.169515,116612979.167755,116612980.159985,116612981.170595,116612982.180964,116612983.190863,116612984.207433,116612985.226873,116612986.228755,116612987.224483,116612988.232461,116612989.252264,116612990.268548,116612991.280823,116612992.289935,116612993.296762,116612994.30772,116612995.315387,116612996.320467,116612997.349051,116612998.361244,116612999.351904,116613000.342255,116613001.334487,116613002.32032,116613003.293731,116613004.271786,116613005.256286,116613006.245165,116613007.223063,116613008.199639,116613009.200343,116613010.211402,116613011.213042,116613012.204348,116613013.182493,116613014.17282,116613015.157547,116613016.156964,116613017.170095,116613018.181471,116613019.190488,116613020.197085,116613021.201265,116613022.768376,116613023.806023,116613024.793799,116613025.779599,116613026.750191,116613027.719449,116613028.707462,116613029.716435,116613030.716255,116613031.703907,116613032.746113,116613033.724806,116613034.720352,116613035.727719,116613036.219985,116613037.245999,116613038.268008,116613039.284366,116613040.296738,116613041.319056,116613042.324391,116613043.329576,116613044.334144,116613045.332899,116613046.331708,116613047.334308,116613048.336637,116613049.33486,116613050.333146,116613051.331632,116613052.3315,116613053.307252,116613054.285305,116613055.273272,116613056.260556,116613057.250576,116613058.243295,116613059.242701,116613060.23839,116613061.240539,116613062.236753,116613063.241862,116613064.263567,116613065.28275,116613066.296862,116613067.306388,116613068.321449,116613069.360686,116613070.366624,116613071.367662,116613072.367773,116613073.367189,116613074.34749,116613075.316991,116613076.341027,116613077.323621,116613078.323304,116613079.587398,116613080.557793,116613081.488811,116613082.427114,116613083.386435,116613084.439533,116613085.428602,116613086.412402,116613087.399046,116613088.389755,116613089.382997,116613090.446627,116613091.463494,116613092.462579,116613093.440569,116613094.420747,116613095.405858,116613096.389133,116613097.357751,116613098.349253,116613099.319971,116613100.281178,116613101.260949,116613102.259407,116613103.260193,116613104.2609,116613105.261573,116613106.270888,116613107.270303,116613108.295975,116613109.31578,116613110.330331,116613111.344299,116613112.351102,116613113.355253,116613114.357518,116613115.336802,116613116.322148,116613117.307604,116613118.295931,116613119.348673,116613120.335066,116613121.316993,116613122.303269,116613123.301278,116613124.29317,116613125.285724,116613126.328382,116613127.33192,116613128.341228,116613129.34875,116613130.354359,116613131.358208,116613132.361504,116613133.365633,116613134.38464,116613135.382996,116613136.37975,116613137.377157,116613138.379252,116613139.382033,116613140.37975,116613141.375417,116613142.350318,116613143.327932,116613144.310929,116613145.298819,116613146.289813,116613147.261954,116613148.242998,116613149.229449,116613150.21358,116613151.20063,116613152.198928,116613153.21535,116613154.229161,116613155.239872,116613156.247763,116613157.268019,116613158.273369,116613159.296227,116613160.316756,116613161.337047,116613162.347676,116613163.357838,116613164.363785,116613165.370719,116613166.378944,116613167.383313,116613168.38125,116613169.3797,116613170.378536,116613171.3752,116613172.371507,116613173.371953,116613174.372298,116613175.376103,116613176.375329,116613177.368755,116613178.344662,116613179.324221,116613180.318408,116613181.311876,116613182.301113,116613183.291792,116613184.294821,116613185.296159,116613186.296014,116613187.289523,116613188.283738,116613189.279447,116613190.276861,116613191.287158,116613192.317149,116613193.340376,116613194.355582,116613195.361592,116613196.35231,116613197.332057,116613198.315117,116613199.302493,116613200.298949,116613201.291619,116613202.285985,116613203.290783,116613204.295677,116613205.290077,116613206.293737,116613207.294627,116613208.30043,116613209.3231,116613210.342171,116613211.356617,116613212.374391,116613213.369043,116613214.345435,116613215.722577,116613216.752861,116613217.736062,116613218.719579,116613219.706321,116613220.686981,116613221.670034,116613222.700224,116613223.706543,116613224.713542,116613225.72384,116613226.743979,116613227.744446,116613228.741968,116613229.337055,116613230.350345,116613231.361675,116613232.371118,116613233.37283,116613234.368981,116613235.345756,116613236.33251,116613237.316011,116613238.302637,116613239.29872,116613240.315149,116613241.334776,116613242.346319,116613243.353884,116613244.336112,116613245.31804,116613246.304199,116613247.298877,116613248.295712,116613249.293386,116613250.287109,116613251.282482,116613252.279528,116613253.304158,116613254.313341,116613255.303694,116613256.294058,116613257.29503,116613258.288997,116613259.2877,116613260.282815,116613261.286895,116613262.283517,116613263.290746,116613264.305699,116613265.300237,116613266.347062,116613267.371702,116613268.382421,116613269.381291,116613270.385384,116613271.383508,116613272.3808,116613273.379112,116613274.3781,116613275.392047,116613276.390902,116613277.387443,116613278.384016,116613279.381969,116613280.38031,116613281.379104,116613282.411109,116613283.391269,116613284.370428,116613285.35724,116613286.346246,116613287.335357,116613288.359576,116613289.34179,116613290.323911,116613291.324366,116613292.336468,116613293.35233,116613294.359014,116613295.360971,116613296.370404,116613297.36403,116613298.342195,116613299.329588,116613300.321286,116613301.334075,116613302.351178,116613303.359698,116613304.349121,116613305.336209,116613306.329915,116613307.326186,116613308.420494,116613309.492271,116613310.523076,116613311.524696,116613312.505912,116613313.527891,116613314.530839,116613315.529505,116613316.528307,116613317.519799,116613318.488786,116613319.500514,116613320.470376,116613321.424037,116613322.400391,116613323.395559,116613324.393447,116613325.392349,116613326.391226,116613327.393994,116613328.400104,116613329.403788,116613330.429318,116613331.438653,116613332.427981,116613333.417655,116613334.409705,116613335.393402,116613336.36691,116613337.335254,116613338.296617,116613339.275647,116613340.252387,116613341.236986,116613342.246856,116613343.256819,116613344.264612,116613345.270515,116613346.274688,116613347.290719,116613348.321713,116613349.340905,116613350.331411,116613351.320077,116613352.318796,116613353.311154,116613354.323473,116613355.329782,116613356.331079,116613357.332098,116613358.346011,116613359.357729,116613360.367026,116613361.378094,116613362.390559,116613363.400659,116613364.407759,116613365.411615,116613366.424031,116613367.415275,116613368.41074,116613369.405387,116613370.385556,116613371.364628,116613372.36408,116613373.353128,116613374.343797,116613375.353541,116613376.381099,116613377.376848,116613378.378185,116613379.38003,116613380.359031,116613381.34805,116613382.342281,116613383.336961,116613384.332663,116613385.329638,116613386.319307,116613387.327238,116613388.343448,116613389.361134,116613390.370628,116613391.372919,116613392.353824,116613393.336373,116613394.323326,116613395.313872,116613396.314229,116613397.308249,116613398.302728,116613399.299036,116613400.298551,116613401.320572,116613402.342514,116613403.356921,116613404.377619,116613405.385422,116613406.395223,116613407.402151,116613408.400913,116613409.399012,116613410.397782,116613411.3966,116613412.405955,116613413.404552,116613414.402202,116613415.4004,116613416.397586,116613417.377406,116613418.379569,116613419.350839,116613420.340894,116613421.327904,116613422.342811,116613423.413529,116613424.417365,116613425.42165,116613426.407517,116613427.41583,116613428.42428,116613429.412929,116613430.406501,116613431.40383,116613432.454744,116613433.444838,116613434.410118,116613435.379248,116613436.367859,116613437.350261,116613438.335975,116613439.33602,116613440.349623,116613441.346406,116613442.343919,116613443.356678,116613444.408244,116613445.412093,116613446.399834,116613447.374919,116613448.361495,116613449.345964,116613450.349435,116613451.362113,116613452.373063,116613453.424315,116613454.425308,116613455.420518,116613456.419719,116613457.49197,116613458.505048,116613459.508746,116613460.510517,116613461.511738,116613462.517518,116613463.518215,116613464.51732,116613465.516694,116613466.851537,116613467.857482,116613468.842465,116613469.806761,116613470.494593,116613471.476255,116613472.431861,116613473.392411,116613474.342613,116613475.314169,116613476.283193,116613477.264564,116613478.271535,116613479.278823,116613480.349647,116613481.345399,116613482.348913,116613483.337938,116613484.34584,116613485.335831,116613486.326442,116613487.319239,116613488.324914,116613489.344097,116613490.360182,116613491.372121,116613492.380557,116613493.387032,116613494.399833,116613495.404105,116613496.419507,116613497.41808,116613498.4181,116613499.432264,116613500.432607,116613501.492589,116613502.489532,116613503.477098,116613504.475414,116613505.464723,116613506.463328,116613507.477732,116613508.47464,116613509.50558,116613510.485645,116613511.464671,116613512.448379,116613513.436524,116613514.428053,116613515.403141,116613516.3768,116613517.362339,116613518.387008,116613519.369317,116613520.351976,116613521.351715,116613522.370104,116613523.386365,116613524.392752,116613525.402056,116613526.403611,116613527.404416,116613528.392551,116613529.370128,116613530.382331,116613531.388204,116613532.383575,116613533.364923,116613534.348631,116613535.348609,116613536.368314,116613537.383933,116613538.391037,116613539.401143,116613540.403471,116613541.413516,116613542.4194,116613543.427502,116613544.424982,116613545.420347,116613546.417316,116613547.414904,116613548.412866,116613549.415898,116613550.419849,116613551.433114,116613552.480639,116613553.468669,116613554.452881,116613555.440866,116613556.431822,116613557.425505,116613558.417092,116613559.390255,116613560.367085,116613561.34974,116613562.344528,116613563.334501,116613564.326236,116613565.320316,116613566.340681,116613567.335985,116613568.32859,116613569.322614,116613570.318156,116613571.314991,116613572.320567,116613573.329704,116613574.333129,116613575.327241,116613576.321426,116613577.31719,116613578.321409,116613579.32527,116613580.320912,116613581.317259,116613582.338043,116613583.35714,116613584.372286,116613585.424582,116613586.427374,116613587.425289,116613588.42257,116613589.475557,116613590.467142,116613591.453666,116613592.442834,116613593.434977,116613594.448094,116613595.460508,116613596.487807,116613597.489785,116613598.472959,116613599.457156,116613600.445672,116613601.437185,116613602.428355,116613603.400794,116613604.376566,116613605.358347,116613606.352576,116613607.349089,116613608.339436,116613609.34325,116613610.342959,116613611.3348,116613612.328025,116613613.311431,116613614.294158,116613615.300288,116613616.279409,116613617.264354,116613618.256461,116613619.244341,116613620.250576,116613621.265157,116613622.277442,116613623.286507,116613624.293271,116613625.31154,116613626.343961,116613627.364449,116613628.36863,116613629.355876,116613630.343714,116613631.334577,116613632.327856,116613633.324057,116613634.320939,116613635.310895,116613636.299669,116613637.301418,116613638.303667,116613639.305547,116613640.307081,116613641.308245,116613642.308806,116613643.319521,116613644.343722,116613645.363473,116613646.378252,116613647.394536,116613648.401785,116613649.406303,116613650.409156,116613651.399554,116613652.385757,116613653.379794,116613654.354006,116613655.341761,116613656.353082,116613657.369385,116613658.387775,116613659.3882,116613660.378659,116613661.381968,116613662.374088,116613663.358864,116613664.781209,116613665.779792,116613666.753188,116613667.742253,116613668.743937,116613669.732946,116613670.729756,116613671.745832,116613672.710331,116613673.683568,116613674.666542,116613675.684278,116613676.673504,116613677.674215,116613678.352849,116613679.36176,116613680.352613,116613681.369205,116613682.372891,116613683.362628,116613684.349487,116613685.339327,116613686.331888,116613687.326412,116613688.334921,116613689.392705,116613690.4725,116613691.540479,116613692.572608,116613693.59321,116613694.60774,116613695.618686,116613696.626501,116613697.656554,116613698.63306,116613699.591074,116613700.548019,116613701.514877,116613702.490595,116613703.464492,116613704.429237,116613705.388855,116613706.345842,116613707.32411,116613708.299175,116613709.293088,116613710.286042,116613711.270958,116613712.258316,116613713.24873,116613714.264639,116613715.280632,116613716.30021,116613717.316045,116613718.320785,116613719.322308,116613720.323199,116613721.338273,116613722.361581,116613723.389075,116613724.419501,116613725.402508,116613726.383667,116613727.378778,116613728.374989,116613729.368172,116613730.382033,116613731.395419,116613732.405319,116613733.413223,116613734.418981,116613735.437304,116613736.463464,116613737.488272,116613738.503816,116613739.499619,116613740.483565,116613741.455544,116613742.42241,116613743.397205,116613744.379812,116613745.35666,116613746.351315,116613747.398505,116613748.36761,116613749.33645,116613750.325782,116613751.35091,116613752.373977,116613753.391512,116613754.412114,116613755.425604,116613756.435409,116613757.43679,116613758.437267,116613759.475073,116613760.470441,116613761.46317,116613762.456893,116613763.433151,116613764.429205,116613765.413896,116613766.394016,116613767.392559,116613768.37894,116613769.366698,116613770.357604,116613771.346675,116613772.32643,116613773.301796,116613774.305847,116613775.313106,116613776.318834,116613777.323545,116613778.327559,116613779.413459,116613780.455433,116613781.483211,116613782.502942,116613783.517203,116613784.545354,116613785.587524,116613786.567657,116613787.537086,116613788.512813,116613789.494947,116613790.748562,116613791.748618,116613792.73743,116613793.727325,116613794.719773,116613795.724808,116613796.720036,116613797.714934,116613798.710815,116613799.743988,116613800.759827,116613801.786443,116613802.797138,116613803.80184,116613804.804365,116613805.474646,116613806.442156,116613807.413819,116613808.391881,116613809.375948,116613810.364053,116613811.359119,116613812.362598,116613813.348275,116613814.319515,116613815.308285,116613816.30183,116613817.299769,116613818.285756,116613819.271892,116613820.274992,116613821.291987,116613822.307455,116613823.389958,116613824.41074,116613825.420867,116613826.427016,116613827.431316,116613828.434051,116613829.436421,116613830.452454,116613831.477823,116613832.505064,116613833.518962,116613834.528095,116613835.514988,116613836.496894,116613837.482075,116613838.471524,116613839.463861,116613840.446435,116613841.419301,116613842.397374,116613843.381121,116613844.379629,116613845.369653,116613846.361095,116613847.354417,116613848.360316,116613849.366114,116613850.360208,116613851.354248,116613852.371484,116613853.400172,116613854.418884,116613855.426457,116613856.431805,116613857.435314,116613858.437889,116613859.439822,116613860.445888,116613861.471142,116613862.496971,116613863.512965,116613864.517608,116613865.502007,116613866.487134,116613867.475998,116613868.477808,116613869.482557,116613870.47452,116613871.477125,116613872.478901,116613873.480043,116613874.471876,116613875.464997,116613876.459314,116613877.455636,116613878.467291,116613879.489218,116613880.510626,116613881.524044,116613882.51957,116613883.550145,116613884.529404,116613885.508586,116613886.480857,116613887.453766,116613888.43284,116613889.435488,116613890.427963,116613891.432792,116613892.446416,116613893.445131,116613894.42236,116613895.412128,116613896.395567,116613897.391459,116613898.391245,116613899.3802,116613900.370563,116613901.373208,116613902.393244,116613903.384471,116613904.373774,116613905.376302,116613906.441523,116613907.457524,116613908.458334,116613909.45669,116613910.463808,116613911.461533,116613912.458926,116613913.491933,116613914.496971,116613915.487064,116613916.477549,116613917.470429,116613918.465488,116613919.461852,116613920.459126,116613921.472311,116613922.494758,116613923.515211,116613924.528705,116613925.522514,116613926.50563,116613927.491252,116613928.498679,116613929.488694,116613930.479304,116613931.467946,116613932.455765,116613933.450369,116613934.444664,116613935.431133,116613936.412266,116613937.41975,116613938.436372,116613939.441867,116613940.453535,116613941.454704,116613942.454394,116613943.440986,116613944.428253,116613945.408127,116613946.405225,116613947.424729,116613948.439363,116613949.452278,116613950.452716,116613951.443974,116613952.453134,116613953.462602,116613954.470075,116613955.462345,116613956.435711,116613957.420957,116613958.404225,116613959.413138,116613960.424184,116613961.43274,116613962.438762,116613963.443167,116613964.446447,116613965.44852,116613966.4674,116613967.497121,116613968.515575,116613969.507342,116613970.494268,116613971.48343,116613972.475817,116613973.470258,116613974.465959,116613975.449455,116613976.424685,116613977.411692,116613978.402711,116613979.389512,116613980.386202,116613981.377882,116613982.374068,116613983.857881,116613984.864514,116613985.858821,116613986.840858,116613987.813011,116613988.795696,116613989.777636,116613990.773495,116613991.768383,116613992.771153,116613993.791711,116613994.807663,116613995.803347,116613996.786829,116613997.781401,116613998.791551,116613999.786282,116614000.779936,116614001.767351,116614002.768718,116614003.784298,116614004.798269,116614005.810009,116614006.818124,116614007.823859,116614008.827852,116614009.851733,116614010.872815,116614011.898001,116614012.914098,116614013.925005,116614014.910357,116614015.925234,116614016.907486,116614017.909947,116614018.401788,116614019.419957,116614020.434162,116614021.457973,116614022.518264,116614023.535682,116614024.524127,116614025.511027,116614026.500907,116614027.493526,116614028.499421,116614029.500877,116614030.5016,116614031.499012,116614032.494365,116614033.489101,116614034.485146,116614035.486511,116614036.556057,116614037.5563,116614038.537733,116614039.521777,116614040.509704,116614041.500556,116614042.494114,116614043.473703,116614044.45486,116614045.886699,116614046.877252,116614047.865734,116614048.854445,116614049.823722,116614050.796084,116614051.787951,116614052.779995,116614053.776611,116614054.781473,116614055.79215,116614056.802308,116614057.809645,116614058.815317,116614059.448889,116614060.482365,116614061.501618,116614062.523255,116614063.544547,116614064.562197,116614065.575339,116614066.614534,116614067.595236,116614068.565026,116614069.552026,116614070.537643,116614071.526988,116614072.519684,116614073.508661,116614074.49963,116614075.492932,116614076.488677,116614077.485206,116614078.518533,116614079.495929,116614080.464248,116614081.439316,116614082.421488,116614083.41954,116614084.424625,116614085.45658,116614086.440199,116614087.43498,116614088.431716,116614089.417931,116614090.411207,116614091.404314,116614092.372588,116614093.357473,116614094.348648,116614095.366322,116614096.381146,116614097.390632,116614098.389517,116614099.439208,116614100.441412,116614101.426651,116614102.412802,116614103.414751,116614104.459966,116614105.469678,116614106.473439,116614107.475437,116614108.477326,116614109.523569,116614110.523497,116614111.513586,116614112.511243,116614113.509724,116614114.502913,116614115.497296,116614116.480327,116614117.454208,116614118.433257,116614119.423583,116614120.411441,116614121.401786,116614122.394822,116614123.408178,116614124.40582,116614125.422725,116614126.444162,116614127.450556,116614128.472437,116614129.451933,116614130.432063,116614131.41705,116614132.412993,116614133.404055,116614134.396616,116614135.390818,116614136.389521,116614137.408309,116614138.414424,116614139.409662,116614140.415737,116614141.438505,116614142.451847,116614143.447443,116614144.441449,116614145.435173,116614146.434529,116614147.474398,116614148.481218,116614149.47348,116614150.458947,116614151.448012,116614152.430383,116614153.435859,116614154.448041,116614155.457882,116614156.469622,116614157.480355,116614158.482157,116614159.488982,116614160.488445,116614161.487732,116614162.486844,116614163.485486,116614164.472855,116614165.450215,116614166.431441,116614167.417558,116614168.407437,116614169.400071,116614170.39425,116614171.389243,116614172.394415,116614173.794988,116614174.75486,116614175.727886,116614176.720322,116614177.717581,116614178.715914,116614179.714768,116614180.714312,116614181.716466,116614182.739949,116614183.766998,116614184.791247,116614185.806237,116614186.862264,116614187.866188,116614188.858974,116614189.828728,116614190.798831,116614191.78451,116614192.775275,116614193.781731,116614194.801376,116614195.808822,116614196.813101,116614197.821025,116614198.827997,116614199.830097,116614200.835489,116614201.833916,116614202.853881,116614203.854036,116614204.847963,116614205.84195,116614206.823165,116614207.798757,116614208.776713,116614209.76012,116614210.747835,116614211.738348,116614212.731713,116614213.715359,116614214.689269,116614215.667375,116614216.651155,116614217.645859,116614218.636681,116614219.629428,116614220.62475,116614221.620949,116614222.618106,116614223.689025,116614224.702959,116614225.708314,116614226.711883,116614227.713774,116614228.730673,116614229.755347,116614230.781164,116614231.7954,116614232.784272,116614233.767968,116614234.754417,116614235.744891,116614236.767395,116614237.775525,116614238.775825,116614239.777845,116614240.76485,116614241.752516,116614242.742752,116614243.735501,116614244.731065,116614245.750915,116614246.771148,116614247.794827,116614248.805389,116614249.812563,116614250.8157,116614251.812872,116614252.80283,116614253.789375,116614254.772148,116614255.770768,116614256.783554,116614257.800293,116614258.804038,116614259.785368,116614260.767739,116614261.754668,116614262.744529,116614263.737909,116614264.738354,116614265.734138,116614266.730404,116614267.728869,116614268.727623,116614269.725981,116614270.736452,116614271.764793,116614272.787658,116614273.799881,116614274.813015,116614275.819317,116614276.822542,116614277.819745,116614278.797748,116614279.777279,116614280.7617,116614281.759848,116614282.753639,116614283.754165,116614284.749411,116614285.758909,116614286.753227,116614287.753588,116614288.808489,116614289.832629,116614290.843942,116614291.849089,116614292.851275,116614293.858194,116614294.880166,116614295.901851,116614296.916003,116614297.925816,116614298.986243,116614299.99124,116614300.983154,116614301.994079,116614303.013156,116614304.026986,116614305.03706,116614306.081737,116614307.061881,116614308.036384,116614309.016255,116614310.000614,116614310.987805,116614311.978677,116614312.950894,116614313.921653,116614314.902269,116614315.923421,116614316.908619,116614317.890466,116614318.876893,116614319.866649,116614320.870601,116614321.873255,116614322.866582,116614323.900087,116614324.88653,116614325.849969,116614326.817695,116614327.808202,116614328.835932,116614329.826095,116614330.80699,116614331.788087,116614332.775296,116614333.784603,116614334.798805,116614335.809688,116614336.821959,116614337.83436,116614338.821506,116614339.798976,116614340.788173,116614341.774588,116614342.762697,116614343.75389,116614344.755211,116614345.761133,116614346.814593,116614347.801987,116614348.798791,116614349.786991,116614350.835339,116614351.82872,116614352.816884,116614353.79724,116614354.803341,116614355.819149,116614356.837011,116614357.847799,116614358.827604,116614359.803337,116614360.784094,116614361.777766,116614362.777595,116614363.77322,116614364.77313,116614365.816206,116614366.803953,116614367.809069,116614368.818898,116614369.827386,116614370.83762,116614371.840949,116614372.829216,116614373.80678,116614374.798496,116614375.787081,116614376.810594,116614377.806039,116614378.795342,116614379.781072,116614380.820553,116614381.826548,116614382.832165,116614383.836715,116614384.839594,116614385.85584,116614386.857632,116614387.856538,116614388.868811,116614389.890982,116614390.913505,116614391.928003,116614392.93785,116614393.944112,116614394.925115,116614395.919635,116614396.902583,116614397.892753,116614398.88886,116614399.883491,116614400.861945,116614401.831321,116614402.80631,116614403.787418,116614404.773845,116614405.764515,116614406.770496,116614407.745616,116614408.724373,116614409.701,116614410.704061,116614411.712882,116614412.753721,116614413.766632,116614414.78432,116614415.777828,116614416.768193,116614417.766492,116614418.758513,116614419.761205,116614420.759303,116614421.756434,116614422.767249,116614423.77554,116614424.785967,116614425.801849,116614426.821151,116614427.808686,116614428.794861,116614429.794707,116614430.807668,116614431.819851,116614432.879194,116614433.880609,116614434.874697,116614435.869939,116614436.889817,116614437.940205,116614438.9571,116614439.962057,116614440.940456,116614441.941905,116614442.927433,116614443.909458,116614444.895583,116614445.884627,116614446.861659,116614447.833007,116614448.80978,116614449.79248,116614450.779285,116614451.769949,116614452.763267,116614453.761201,116614454.756675,116614455.772638,116614456.77202,116614457.774865,116614458.768889,116614459.762372,116614460.768083,116614461.773744,116614462.768063,116614463.778312,116614464.787515,116614465.772557,116614466.784618,116614467.819199,116614468.807106,116614469.792544,116614470.806711,116614471.822145,116614472.832203,116614473.839416,116614474.844452,116614475.854895,116614476.864652,116614477.909294,116614478.92678,116614479.914892,116614480.915433,116614481.980035,116614482.990592,116614483.967578,116614484.955446,116614485.934604,116614486.92596,116614487.911698,116614488.897974,116614489.897709,116614490.924076,116614491.933034,116614492.952269,116614493.967495,116614494.975176,116614495.978533,116614497.010936,116614497.983662,116614498.963822,116614499.946283,116614500.929036,116614501.915281,116614502.901259,116614503.898581,116614504.889567,116614505.881449,116614506.878805,116614507.873904,116614508.847027,116614509.821284,116614510.827265,116614511.809853,116614512.794477,116614513.78302,116614514.776479,116614515.747452,116614516.7791,116614517.7833,116614518.795025,116614519.763728,116614520.754654,116614521.755997,116614522.768464,116614523.851177,116614524.890438,116614525.915706,116614526.943806,116614527.959555,116614528.995513,116614529.999497,116614530.977319,116614531.949994,116614532.927521,116614533.890069,116614534.856774,116614535.829748,116614536.810586,116614537.792142,116614538.759254,116614539.741983,116614540.720567,116614541.701959,116614542.701378,116614543.715044,116614544.726946,116614545.73652,116614546.742979,116614547.754726,116614548.776536,116614549.776227,116614550.779995,116614551.786763,116614552.792467,116614553.821821,116614554.810617,116614555.797611,116614556.80873,116614557.808438,116614558.802138,116614559.810703,116614560.825356,116614561.837614,116614562.847951,116614563.856907,116614564.9095,116614565.914592,116614566.928695,116614567.910422,116614568.901701,116614569.921008,116614570.951067,116614571.968414,116614572.974805,116614573.97538,116614574.953696,116614575.932671,116614576.916454,116614577.904383,116614578.898499,116614579.892382,116614580.891887,116614581.887585,116614582.883328,116614583.857553,116614584.833317,116614585.814179,116614586.806287,116614587.805921,116614588.804406,116614589.795961,116614590.799803,116614591.860236,116614592.850539,116614593.838706,116614594.821747,116614595.80667,116614596.81482,116614597.809143,116614598.79816,116614599.796114,116614600.788565,116614601.802758,116614602.806782,116614603.79885,116614604.813376,116614605.829564,116614606.842519,116614607.860565,116614608.867766,116614609.87179,116614610.885696,116614611.885672,116614612.882569,116614613.874165,116614614.85913,116614615.837222,116614616.827102,116614617.811544,116614618.817536,116614619.831819,116614620.844625,116614621.869021,116614622.890619,116614623.903948,116614624.90039,116614625.898754,116614626.900611,116614627.896803,116614628.883498,116614629.883329,116614630.871258,116614631.859497,116614632.859148,116614633.86334,116614634.876746,116614635.882157,116614636.931099,116614637.931191,116614638.918346,116614639.885088,116614640.860811,116614641.837866,116614642.820997,116614643.837274,116614644.859044,116614645.845106,116614646.827917,116614647.82797,116614648.823916,116614649.811423,116614650.800717,116614651.799523,116614652.793242,116614653.806615,116614654.801457,116614655.794509,116614656.799793,116614657.795193,116614658.789391,116614659.829251,116614660.845666,116614661.855985,116614662.863439,116614663.868324,116614664.916591,116614665.940693,116614666.962935,116614667.990332,116614669.002391,116614670.004142,116614671.008007,116614672.017063,116614673.009035,116614673.982232,116614674.956321,116614675.936776,116614676.922376,116614677.914961,116614678.91288,116614679.906546,116614680.90698,116614681.901549,116614682.895777,116614683.869137,116614684.848633,116614685.839305,116614686.825569,116614687.839962,116614688.839555,116614689.834643,116614690.832267,116614691.81915,116614692.80676,116614693.804039,116614694.797712,116614695.797347,116614696.792483,116614697.795392,116614698.798234,116614699.81157,116614700.805141,116614701.800728,116614702.822804,116614703.819314,116614704.809274,116614705.802169,116614706.817844,116614707.887366,116614708.896849,116614709.895888,116614710.893822,116614711.900933,116614712.899701,116614713.921465,116614714.947202,116614715.964011,116614716.97894,116614718.005993,116614718.996388,116614719.998083,116614721.003403,116614722.004167,116614723.001039,116614723.981507,116614724.966522,116614725.946855,116614726.930244,116614727.937267,116614728.913072,116614729.880821,116614730.875842,116614731.877756,116614732.883606,116614733.907022,116614734.903249,116614735.884869,116614736.868106,116614737.85284,116614738.833933,116614739.839394,116614740.85031,116614741.838708,116614742.8296,116614743.818274,116614744.831306,116614745.849248,116614746.867951,116614747.879482,116614748.887207,116614749.894369,116614750.892172,116614751.900994,116614752.900795,116614753.893744,116614754.891098,116614755.94075,116614756.9407,116614757.938356,116614758.927381,116614759.917705,116614760.909807,116614761.903808,116614762.904723,116614763.928358,116614764.979669,116614765.993731,116614766.983665,116614767.966599,116614768.992418,116614770.014509,116614770.990944,116614771.964791,116614772.944551,116614773.929072,116614774.917864,116614775.894458,116614776.865724,116614777.842245,116614778.82466,116614779.811943,116614780.802519,116614781.781113,116614782.757127,116614783.754082,116614784.749384,116614785.747965,116614786.730977,116614787.715501,116614788.716954,116614789.731644,116614790.744695,116614791.75415,116614792.761042,116614793.766039,116614794.772298,116614795.778408,116614796.800368,116614797.824103,116614798.842029,116614799.855604,116614800.898974,116614801.90305,116614802.925215,116614803.946827,116614804.967031,116614805.986015,116614806.994017,116614807.998327,116614809.001166,116614810.000437,116614810.978539,116614811.956772,116614812.939574,116614813.927093,116614814.918141,116614815.914903,116614816.901218,116614817.897214,116614818.906894,116614819.90236,116614820.876346,116614821.86116,116614822.850065,116614823.841682,116614824.827656,116614825.815618,116614826.821314,116614827.860817,116614828.873556,116614829.880068,116614830.888238,116614831.893079,116614832.893769,116614833.893811,116614834.893631,116614835.87916,116614836.855952,116614837.836885,116614838.82222,116614839.811721,116614840.804061,116614841.814265,116614842.817894,116614843.811842,116614844.804647,116614845.799223,116614846.795232,116614847.810567,116614848.832595,116614849.850307,116614850.862989,116614851.871919,116614852.878611,116614853.883673,116614854.887023,116614855.913057,116614856.91472,116614857.910342,116614858.90612,116614859.903294,116614860.901232,116614861.899824,116614862.891308,116614863.866798,116614864.845184,116614865.829062,116614866.817102,116614867.808449,116614868.801544,116614869.799598,116614870.795638,116614871.792665,116614872.799676,116614873.798253,116614874.802235,116614875.809019,116614877.29369,116614878.434622,116614879.486614,116614880.490455,116614881.468989,116614882.461967,116614883.446382,116614884.435791,116614885.433896,116614886.434208,116614887.491768,116614888.575506,116614889.960766,116614891.039492,116614892.008168,116614892.892838,116614893.779792,116614894.697726,116614895.633896,116614896.609609,116614897.628148,116614898.631206,116614899.593364,116614900.564777,116614901.556821,116614902.56864,116614903.585822,116614904.613332,116614905.641652,116614906.700749,116614907.71629,116614908.720032,116614909.721341,116614910.721936,116614911.730469,116614912.729623,116614913.728114,116614914.726855,116614915.725805,116614916.72511,116614917.777461,116614918.770645,116614919.759218,116614920.749549,116614921.754875,116614922.77116,116614923.792282,116614924.813552,116614925.797274,116614926.778566,116614927.763676,116614928.753232,116614929.748316,116614930.773805,116614931.788897,116614932.848142,116614933.86143,116614934.856063,116614935.850564,116614936.85827,116614937.907502,116614938.924569,116614939.928359,116614940.929423,116614941.94059,116614942.940806,116614943.938886,116614944.936631,116614945.933619,116614946.925756,116614947.904048,116614948.883871,116614949.868677,116614950.857323,116614951.849223,116614952.867745,116614953.861803,116614954.853035,116614955.846146,116614956.872444,116614957.864908,116614958.86564,116614959.872401,116614960.88619,116614961.874092,116614962.862152,116614963.852766,116614964.845732,116614965.867024,116614966.864486,116614967.855945,116614968.848593,116614969.856707,116614970.856386,116614971.858264,116614972.851305,116614973.845436,116614974.840891,116614975.837968,116614976.836099,116614977.834017,116614978.832388,116614979.847395,116614980.869044,116614981.887261,116614982.901947,116614983.91144,116614984.920239,116614985.926173,116614986.928851,116614987.944921,116614988.947869,116614989.947057,116614990.94429,116614991.943634,116614992.942083,116614993.941869,116614994.940362,116614995.950335,116614996.960639,116614997.937277,116614998.912419,116614999.89119,116615000.87501,116615001.862895,116615002.870888,116615003.895604,116615004.908523,116615005.916577,116615006.982187,116615007.986313,116615008.97574,116615009.965613,116615010.957529,116615011.952023,116615012.948213,116615013.945137,116615014.955826,116615015.97251,116615016.968589,116615017.964887,116615018.974814,116615019.968869,116615020.960518,116615021.964991,116615022.973013,116615023.979607,116615024.973205,116615025.951913,116615026.929535,116615027.911455,116615028.9412,116615029.964079,116615030.967811,116615031.988713,116615033.022574,116615034.031196,116615035.034601,116615036.046721,116615037.047247,116615038.046202,116615039.026431,116615040.017004,116615040.999328,116615041.982691,116615042.970554,116615043.961394,116615044.954271,116615045.949275,116615046.946049,116615047.943503,116615048.941887,116615049.940631,116615050.939207,116615051.938914,116615052.938548,116615053.937959,116615054.937287,116615055.937167,116615056.937038,116615057.936897,116615058.937018,116615059.936824,116615060.937074,116615061.936803,116615062.936871,116615063.937114,116615064.936855,116615065.936598,116615066.936511,116615067.952099,116615068.966924,116615069.967928,116615070.962205,116615071.955867,116615072.9509,116615073.947784,116615074.947091,116615075.948359,116615076.971582,116615078.007146,116615079.021528,116615080.030192,116615081.033042,116615082.035107,116615083.036343,116615084.037074,116615085.037761,116615086.038252,116615087.06786,116615088.076621,116615089.069603,116615090.061876,116615091.056165,116615092.058233,116615093.063917,116615094.058826,116615095.05359,116615096.049725,116615097.047983,116615098.045773,116615099.043945,116615100.043088,116615101.042076,116615102.042007,116615103.042852,116615104.042485,116615105.042134,116615106.041775,116615107.041346,116615108.041024,116615109.040737,116615110.040721,116615111.040671,116615112.073163,116615113.080824,116615114.072506,116615115.073522,116615116.065888,116615117.05932,116615118.054125,116615119.050441,116615120.049505,116615121.063282,116615122.060679,116615123.058966,116615124.054661,116615125.050967,116615126.048059,116615127.072066,116615128.091204,116615129.091497,116615130.079906,116615131.069567,116615132.062127,116615133.062194,116615134.057116,116615135.053048,116615136.038152,116615137.015018,116615137.99619,116615138.980415,116615139.968446,116615140.959622,116615141.974114,116615142.969098,116615143.961164,116615144.954787,116615145.967146,116615146.986231,116615148.002003,116615149.012431,116615150.019813,116615151.025308,116615152.029096,116615153.031761,116615154.033751,116615155.035921,116615156.038593,116615157.040329,116615158.040235,116615159.040253,116615160.0402,116615161.040083,116615162.04056,116615163.04039,116615164.047401,116615165.056448,116615166.053792,116615167.051091,116615168.051321,116615169.05394,116615170.051336,116615171.048354,116615172.04605,116615173.044808,116615174.043598,116615175.043302,116615176.052367,116615177.091036,116615178.083341,116615179.07254,116615180.063972,116615181.057483,116615182.052748,116615183.061129,116615184.067313,116615185.075137,116615186.078471,116615187.070128,116615188.06247,116615189.056359,116615190.052065,116615191.054174,116615192.051234,116615193.054875,116615194.051939,116615195.049138,116615196.04682,116615197.044908,116615198.043557,116615199.052485,116615200.04214,116615201.018333,116615201.998959,116615202.982042,116615203.96933,116615204.960257,116615205.953399,116615206.955252,116615207.962535,116615208.958338,116615209.952479,116615210.947672,116615211.944102,116615212.945413,116615213.966662,116615214.98976,116615216.005564,116615217.017619,116615218.027349,116615219.039687,116615220.066718,116615221.086425,116615222.109655,116615223.120913,116615224.134374,116615225.150083,116615226.151245,116615227.149419,116615228.147712,116615229.154644,116615230.151987,116615231.149033,116615232.127064,116615233.110631,116615234.092532,116615235.096689,116615236.084713,116615237.084923,116615238.085618,116615239.075849,116615240.078281,116615241.069698,116615242.044607,116615243.018959,116615244.017563,116615245.001493,116615245.985815,116615246.973184,116615247.963275,116615248.956094,116615249.951065,116615250.947124,116615251.944087,116615252.94225,116615253.940743,116615254.93984,116615255.939037,116615256.939368,116615257.9388,116615258.93838,116615259.981896,116615261.035712,116615262.032094,116615263.041692,116615264.072955,116615265.096015,116615266.109055,116615267.124629,116615268.12997,116615269.133238,116615270.129226,116615271.118051,116615272.11013,116615273.093921,116615274.079998,116615275.0799,116615276.079386,116615277.071147,116615278.084047,116615279.076103,116615280.067779,116615281.060948,116615282.056186,116615283.053724,116615284.061795,116615285.068537,116615286.063623,116615287.058595,116615288.064813,116615289.071262,116615290.065942,116615291.070635,116615292.075088,116615293.079879,116615294.078024,116615295.047346,116615296.021169,116615297.001631,116615297.98599,116615298.973357,116615299.964006,116615300.957143,116615301.952352,116615302.974531,116615304.271304,116615305.33174,116615306.263202,116615307.19254,116615308.156882,116615309.114984,116615310.128215,116615311.101584,116615312.097628,116615313.071745,116615314.07062,116615315.072577,116615316.07452,116615317.076146,116615318.26899,116615319.733516,116615320.69834,116615321.553445,116615322.411743,116615323.312853,116615324.227881,116615325.164656,116615326.139911,116615327.125402,116615328.152923,116615329.141993,116615330.151569,116615331.161484,116615332.169579,116615333.181801,116615334.188862,116615335.189845,116615336.189666,116615337.189172,116615338.188874,116615339.188434,116615340.188202,116615341.18822,116615342.188249,116615343.195941,116615344.20977,116615345.206268,116615346.201361,116615347.197405,116615348.205421,116615349.20973,116615350.204872,116615351.200717,116615352.197712,116615353.216458,116615354.249593,116615355.243712,116615356.238042,116615357.23771,116615358.238595,116615359.236863,116615360.226539,116615361.216585,116615362.209084,116615363.203239,116615364.199696,116615365.197255,116615366.195121,116615367.19379,116615368.192537,116615369.191623,116615370.19062,116615371.190271,116615372.196431,116615373.201356,116615374.19929,116615375.196972,116615376.195424,116615377.193624,116615378.192715,116615379.191972,116615380.191427,116615381.200304,116615382.209625,116615383.207157,116615384.203302,116615385.209779,116615386.215856,116615387.220607,116615388.205629,116615389.17802,116615390.155169,116615391.138543,116615392.127783,116615393.118231,116615394.11158,116615395.106166,116615396.102893,116615397.125338,116615398.121084,116615399.118075,116615400.115211,116615401.115526,116615402.107669,116615403.106088,116615404.103869,116615405.127896,116615406.166248,116615407.176464,116615408.181236,116615409.184304,116615410.186781,116615411.18877,116615412.190146,116615413.211373,116615414.209138,116615415.205235,116615416.201594,116615417.199287,116615418.197201,116615419.19594,116615420.207789,116615421.205948,116615422.202346,116615423.208613,116615424.211049,116615425.20701,116615426.208713,116615427.210778,116615428.207154,116615429.204015,116615430.200892,116615431.198437,116615432.196828,116615433.195497,116615434.194577,116615435.199737,116615436.198497,116615437.196699,116615438.201416,116615439.200015,116615440.208129,116615441.210785,116615442.211452,116615443.195809,116615444.171136,116615445.154781,116615446.141951,116615447.137718,116615448.151014,116615449.168335,116615450.201818,116615451.227301,116615452.246008,116615453.259603,116615454.277243,116615455.285377,116615456.271975,116615457.258262,116615458.241914,116615459.228765,116615460.21928,116615461.212364,116615462.207173,116615463.203439,116615464.200682,116615465.198577,116615466.197077,116615467.195954,116615468.195071,116615469.194438,116615470.194036,116615471.203884,116615472.212448,116615473.208856,116615474.205255,116615475.202404,116615476.200204,116615477.198521,116615478.231981,116615479.263511,116615480.302577,116615481.295781,116615482.273503,116615483.253743,116615484.238671,116615485.227502,116615486.219311,116615487.213773,116615488.209414,116615489.21256,116615490.219943,116615491.216249,116615492.271459,116615493.267007,116615494.251431,116615495.2377,116615496.227539,116615497.220065,116615498.214729,116615499.210544,116615500.207674,116615501.20558,116615502.204539,116615503.234391,116615504.234467,116615505.238636,116615506.231366,116615507.223656,116615508.229102,116615509.222673,116615510.217091,116615511.212319,116615512.24237,116615513.236025,116615514.227304,116615515.220557,116615516.215327,116615517.211828,116615518.238824,116615519.249726,116615520.229704,116615521.199415,116615522.173705,116615523.155012,116615524.14144,116615525.131447,116615526.12392,116615527.137226,116615528.131229,116615529.124282,116615530.135166,116615531.163416,116615532.175627,116615533.186764,116615534.21593,116615535.241195,116615536.259633,116615537.271208,116615538.2602,116615539.256126,116615540.247577,116615541.248998,116615542.276846,116615543.286782,116615544.298028,116615545.308525,116615546.314393,116615547.301017,116615548.276683,116615549.256841,116615550.251989,116615551.250028,116615552.238915,116615553.229632,116615554.223351,116615555.228756,116615556.233114,116615557.227237,116615558.222055,116615559.218385,116615560.215175,116615561.212459,116615562.210566,116615563.208813,116615564.20736,116615565.206452,116615566.216183,116615567.222865,116615568.218959,116615569.22265,116615570.218922,116615571.222916,116615572.218856,116615573.215324,116615574.212968,116615575.210885,116615576.208781,116615577.208563,116615578.197161,116615579.175128,116615580.156599,116615581.143304,116615582.133049,116615583.186472,116615584.202657,116615585.208704,116615586.233285,116615587.254117,116615588.268732,116615589.279265,116615590.287537,116615591.299427,116615592.302658,116615593.30944,116615594.318326,116615595.303133,116615596.28951,116615597.268661,116615598.259049,116615599.253347,116615600.241673,116615601.232135,116615602.224818,116615603.219686,116615604.216142,116615605.213549,116615606.211961,116615607.210393,116615608.209469,116615609.209027,116615610.208468,116615611.208111,116615612.207852,116615613.207642,116615614.207315,116615615.215088,116615616.219855,116615617.217383,116615618.214843,116615619.212844,116615620.212819,116615621.200934,116615622.192052,116615623.206112,116615624.231348,116615625.253041,116615626.245171,116615627.24295,116615628.234369,116615629.227118,116615630.221786,116615631.223314,116615632.222915,116615633.219723,116615634.216565,116615635.213886,116615636.212188,116615637.210984,116615638.210325,116615639.211998,116615640.228649,116615641.225866,116615642.221068,116615643.21717,116615644.219972,116615645.218368,116615646.215497,116615647.213463,116615648.211651,116615649.21051,116615650.20956,116615651.208957,116615652.208809,116615653.230473,116615654.251285,116615655.274612,116615656.293017,116615657.298681,116615658.278137,116615659.270003,116615660.266968,116615661.263283,116615662.250079,116615663.23872,116615664.230563,116615665.22452,116615666.220084,116615667.21709,116615668.235721,116615669.247779,116615670.252894,116615671.25504,116615672.244586,116615673.235273,116615674.22795,116615675.223022,116615676.21919,116615677.216882,116615678.215074,116615679.213663,116615680.212578,116615681.211502,116615682.211073,116615683.210472,116615684.210126,116615685.210095,116615686.209597,116615687.209504,116615688.209443,116615689.209261,116615690.209006,116615691.209417,116615692.209286,116615693.209002,116615694.208933,116615695.20896,116615696.209112,116615697.20888,116615698.209027,116615699.209481,116615700.209153,116615701.209236,116615702.208938,116615703.208812,116615704.209277,116615705.210515,116615706.211453,116615707.21182,116615708.212131,116615709.219282,116615710.211422,116615711.187972,116615712.168017,116615713.152818,116615714.141972,116615715.133726,116615716.128041,116615717.123974,116615718.121716,116615719.144355,116615720.162125,116615721.182361,116615722.208784,116615723.213243,116615724.214586,116615725.217726,116615726.224045,116615727.249328,116615728.291868,116615729.326456,116615730.355634,116615731.372297,116615732.361762,116615733.34972,116615734.330149,116615735.31063,116615736.286181,116615737.266772,116615738.262023,116615739.250596,116615740.251465,116615741.242707,116615742.235111,116615743.229734,116615744.228815,116615745.22631,116615746.223142,116615747.22086,116615748.2193,116615749.217993,116615750.217313,116615751.216727,116615752.226527,116615753.225029,116615754.229947,116615755.226833,116615756.223992,116615757.221302,116615758.229295,116615759.236623,116615760.233729,116615761.22906,116615762.225342,116615763.222166,116615764.220117,116615765.218529,116615766.21793,116615767.217017,116615768.216495,116615769.215928,116615770.216182,116615771.216137,116615772.222195,116615773.222205,116615774.230792,116615775.251951,116615776.269487,116615777.282336,116615778.299559,116615779.314316,116615780.316194,116615781.325525,116615782.329295,116615783.335231,116615784.33187,116615785.334654,116615786.330574,116615787.324473,116615788.311834,116615789.287952,116615790.268151,116615791.253417,116615792.243259,116615793.258483,116615794.288043,116615795.322603,116615796.353097,116615797.348747,116615798.341052,116615799.341544,116615800.335889,116615801.338085,116615802.336417,116615803.308769,116615804.284255,116615805.265855,116615806.261451,116615807.250903,116615808.25124,116615809.24368,116615810.236594,116615811.231686,116615812.227987,116615813.235713,116615814.242784,116615815.237473,116615816.232503,116615817.242118,116615818.251646,116615819.268932,116615820.282478,116615821.292743,116615822.300104,116615823.305449,116615824.317268,116615825.342246,116615826.33928,116615827.36764,116615828.436942,116615829.428136,116615830.40411,116615831.383132,116615832.367419,116615833.355658,116615834.347347,116615835.341242,116615836.346174,116615837.342745,116615838.339157,116615839.335853,116615840.356651,116615841.35191,116615842.34573,116615843.340657,116615844.381107,116615845.493075,116615846.493987,116615847.433139,116615848.393911,116615849.369591,116615850.335454,116615851.307656,116615852.286785,116615853.271806,116615854.261041,116615855.253119,116615856.247751,116615857.243673,116615858.24202,116615859.240599,116615860.238592,116615861.242844,116615862.291843,116615863.284143,116615864.276278,116615865.288717,116615866.301566,116615867.310997,116615868.35259,116615869.355856,116615870.355011,116615871.351155,116615872.347406,116615873.351999,116615874.35654,116615875.352165,116615876.347809,116615877.344448,116615878.341885,116615879.340462,116615880.339623,116615881.33916,116615882.339485,116615883.339975,116615884.339625,116615885.339212,116615886.349397,116615887.362893,116615888.358175,116615889.362788,116615890.36726,116615891.360451,116615892.354477,116615893.337889,116615894.326354,116615895.316252,116615896.296121,116615897.279885,116615898.267681,116615899.258606,116615900.258968,116615901.254063,116615902.248881,116615903.245452,116615904.242682,116615905.240421,116615906.239357,116615907.295302,116615908.293306,116615909.324005,116615910.310287,116615911.30554,116615912.313493,116615913.320467,116615914.325547,116615915.32897,116615916.331353,116615917.333225,116615918.33674,116615919.337942,116615920.34856,116615921.347625,116615922.346139,116615923.360084,116615924.366507,116615925.360511,116615926.369563,116615927.370784,116615928.364706,116615929.348746,116615930.321145,116615931.312512,116615932.306846,116615933.290364,116615934.288974,116615935.289405,116615936.277376,116615937.266652,116615938.258765,116615939.25274,116615940.260845,116615941.272653,116615942.266579,116615943.275507,116615944.280245,116615945.271892,116615946.263474,116615947.256874,116615948.251387,116615949.247674,116615950.245038,116615951.242921,116615952.241787,116615953.240511,116615954.239581,116615955.24189,116615956.243784,116615957.252489,116615958.264077,116615959.26131,116615960.278876,116615961.297129,116615962.330197,116615963.363473,116615964.389331,116615965.406299,116615966.42244,116615967.438247,116615968.450272,116615969.436829,116615970.413562,116615971.389541,116615972.369658,116615973.337449,116615974.311389,116615975.292033,116615976.277717,116615977.26756,116615978.27228,116615979.281907,116615980.273326,116615981.26498,116615982.258347,116615983.253682,116615984.250456,116615985.24787,116615986.246272,116615987.244566,116615988.243645,116615989.243122,116615990.242513,116615991.242234,116615992.241784,116615993.241866,116615994.242096,116615995.24203,116615996.241863,116615997.241713,116615998.241791,116615999.241618,116616000.241667,116616001.241961,116616002.245157,116616003.250167,116616004.253302,116616005.258857,116616006.260515,116616007.263518,116616008.288354,116616009.328948,116616010.361653,116616011.384106,116616012.393035,116616013.393595,116616014.393007,116616015.396121,116616016.384703,116616017.385233,116616018.384337,116616019.364456,116616020.346357,116616021.331855,116616022.309884,116616023.292187,116616024.279069,116616025.280552,116616026.296408,116616027.309765,116616028.382868,116616029.398389,116616030.395248,116616031.385208,116616032.352077,116616033.324174,116616034.303778,116616035.288917,116616036.277856,116616037.269928,116616038.263922,116616039.271423,116616040.26695,116616041.273869,116616042.277657,116616043.279674,116616044.272759,116616045.266362,116616046.261006,116616047.257254,116616048.261361,116616049.261773,116616050.266239,116616051.288195,116616052.305383,116616053.318148,116616054.341126,116616055.370263,116616056.378591,116616057.372931,116616058.367397,116616059.370068,116616060.373469,116616061.36835,116616062.371068,116616063.36678,116616064.362475,116616065.35557,116616066.330422,116616067.308654,116616068.292156,116616069.28505,116616070.253299,116616071.226304,116616072.2059,116616073.19095,116616074.181788,116616075.196683,116616076.210756,116616077.221715,116616078.229569,116616079.235452,116616080.239346,116616081.242506,116616082.244533,116616083.246101,116616084.247385,116616085.248353,116616086.248971,116616087.249807,116616088.250186,116616089.250261,116616090.264237,116616091.271891,116616092.275659,116616093.271664,116616094.266627,116616095.263141,116616096.26051,116616097.266408,116616098.287897,116616099.305681,116616100.318622,116616101.327766,116616102.336508,116616103.341397,116616104.344591,116616105.346577,116616106.348444,116616107.349743,116616108.361397,116616109.376949,116616110.383568,116616111.370998,116616112.354229,116616113.328414,116616114.308019,116616115.293184,116616116.29132,116616117.294745,116616118.286753,116616119.293757,116616120.308885,116616121.330648,116616122.339527,116616123.320397,116616124.302392,116616125.288898,116616126.279002,116616127.27242,116616128.267698,116616129.264449,116616130.261429,116616131.258982,116616132.257375,116616133.256198,116616134.25538,116616135.255193,116616136.25499,116616137.255693,116616138.255491,116616139.266225,116616140.264327,116616141.267252,116616142.265313,116616143.275394,116616144.272889,116616145.279102,116616146.32217,116616147.359771,116616148.38788,116616149.409862,116616150.410163,116616151.397726,116616152.387166,116616153.379133,116616154.372961,116616155.378774,116616156.391073,116616157.395899,116616158.387614,116616159.377605,116616160.349589,116616161.333959,116616162.31427,116616163.298651,116616164.287681,116616165.280146,116616166.274006,116616167.2699,116616168.266656,116616169.263647,116616170.261971,116616171.260656,116616172.259785,116616173.259295,116616174.258421,116616175.258001,116616176.257677,116616177.257613,116616178.25726,116616179.256896,116616180.257572,116616181.28531,116616182.282855,116616183.277853,116616184.273834,116616185.281637,116616186.286556,116616187.287632,116616188.291582,116616189.298573,116616190.320145,116616191.334682,116616192.345814,116616193.364785,116616194.393293,116616195.396727,116616196.405477,116616197.396722,116616198.387769,116616199.38071,116616200.375544,116616201.372191,116616202.369545,116616203.367234,116616204.365866,116616205.405352,116616206.411056,116616207.413531,116616208.402235,116616209.392133,116616210.39976,116616211.399335,116616212.438383,116616213.415462,116616214.377269,116616215.345934,116616216.32279,116616217.306028,116616218.293889,116616219.285124,116616220.285587,116616221.281202,116616222.276566,116616223.272875,116616224.270551,116616225.269175,116616226.26913,116616227.268455,116616228.267204,116616229.274759,116616230.297342,116616231.315937,116616232.329634,116616233.339351,116616234.355662,116616235.37215,116616236.377901,116616237.375835,116616238.375468,116616239.375665,116616240.376251,116616241.376463,116616242.383685,116616243.377297,116616244.350846,116616245.334841,116616246.316548,116616247.301942,116616248.291126,116616249.283657,116616250.324863,116616251.326188,116616252.33584,116616253.343964,116616254.354132,116616255.334988,116616256.327142,116616257.311468,116616258.299015,116616259.289691,116616260.28234,116616261.277163,116616262.273722,116616263.272752,116616264.355603,116616265.693026,116616266.64399,116616267.577396,116616268.508762,116616269.492321,116616270.448981,116616271.412627,116616272.385765,116616273.369652,116616274.3782,116616275.387693,116616276.395647,116616277.40123,116616278.405531,116616279.408883,116616280.41508,116616281.421083,116616282.47597,116616283.516966,116616284.623908,116616285.599107,116616286.560263,116616287.530368,116616288.500822,116616289.470376,116616290.441206,116616291.450795,116616292.450499,116616293.448258,116616294.456848,116616295.475511,116616296.49106,116616297.502214,116616298.563388,116616299.5382,116616300.509906,116616301.493594,116616302.477033,116616303.465502,116616304.456513,116616305.449729,116616306.444622,116616307.468922,116616308.46345,116616309.455721,116616310.449374,116616311.444319,116616312.450216,116616313.483712,116616314.475156,116616315.464022,116616316.455254,116616317.448691,116616318.44439,116616319.440555,116616320.437982,116616321.444753,116616322.442616,116616323.479009,116616324.448737,116616325.429634,116616326.418442,116616327.40419,116616328.409069,116616329.417635,116616330.417326,116616331.416664,116616332.433672,116616333.471998,116616334.494803,116616335.510768,116616336.524357,116616337.529153,116616338.532586,116616339.519412,116616340.49795,116616341.480499,116616342.46726,116616343.449349,116616344.420416,116616345.403645,116616346.385087,116616347.370561,116616348.372316,116616349.374582,116616350.364602,116616351.355945,116616352.384251,116616353.386056,116616354.398029,116616355.407567,116616356.409886,116616357.402781,116616358.385198,116616359.370822,116616360.360243,116616361.358555,116616362.362567,116616363.35529,116616364.34865,116616365.343589,116616366.340003,116616367.3376,116616368.335562,116616369.334277,116616370.345827,116616371.368306,116616372.386633,116616373.400207,116616374.409946,116616375.418593,116616376.430616,116616377.433819,116616378.43692,116616379.437321,116616380.436918,116616381.436863,116616382.436848,116616383.437638,116616384.437908,116616385.437185,116616386.436627,116616387.440878,116616388.448099,116616389.446066,116616390.443087,116616391.444795,116616392.429606,116616393.405421,116616394.386035,116616395.371564,116616396.360998,116616397.353119,116616398.3477,116616399.343924,116616400.342198,116616401.3739,116616402.417434,116616403.452325,116616404.477815,116616405.496207,116616406.510274,116616407.496104,116616408.48085,116616409.469047,116616410.45785,116616411.436135,116616412.410418,116616413.39017,116616414.375199,116616415.364596,116616416.357549,116616417.351712,116616418.347353,116616419.344654,116616420.346084,116616421.353219,116616422.356223,116616423.351875,116616424.350554,116616425.347412,116616426.358161,116616427.378439,116616428.397021,116616429.419798,116616430.437853,116616431.441434,116616432.441909,116616433.441955,116616434.441318,116616435.441366,116616436.441491,116616437.441106,116616438.453964,116616439.451999,116616440.448888,116616441.44653,116616442.453141,116616443.801613,116616444.763968,116616445.671666,116616446.613689,116616447.554285,116616448.508342,116616449.513361,116616450.49943,116616451.472309,116616452.464433,116616453.486244,116616454.5146,116616455.536977,116616456.591315,116616457.598865,116616458.59998,116616459.597197,116616460.573106,116616461.557963,116616462.540523,116616463.527137,116616464.517075,116616465.510182,116616466.542798,116616467.545283,116616468.544927,116616469.54661,116616470.537013,116616471.527461,116616472.518571,116616473.511466,116616474.506482,116616475.5027,116616476.517205,116616477.524255,116616478.52091,116616479.569156,116616480.573092,116616481.555446,116616482.538887,116616483.526828,116616484.525797,116616485.562447,116616486.575702,116616487.589408,116616488.599868,116616489.64057,116616490.623374,116616491.592058,116616492.566263,116616493.549042,116616494.541523,116616495.570027,116616496.587958,116616497.594105,116616498.600381,116616499.609474,116616500.6161,116616501.614032,116616502.618389,116616503.608228,116616504.581076,116616505.558552,116616506.54173,116616507.537614,116616508.530193,116616509.506978,116616510.47851,116616511.455723,116616512.439396,116616513.427597,116616514.488093,116616515.523912,116616516.527781,116616517.524298,116616518.518566,116616519.513679,116616520.525108,116616521.546136,116616522.563678,116616523.576795,116616524.586277,116616525.647449,116616526.634641,116616527.602563,116616528.576399,116616529.582379,116616530.564682,116616531.548626,116616532.536377,116616533.527748,116616534.522474,116616535.517735,116616536.570125,116616537.57073,116616538.735704,116616540.09337,116616541.014157,116616541.88567,116616542.768636,116616543.662416,116616544.592586,116616545.575997,116616546.547657,116616547.543217,116616548.54838,116616549.564688,116616550.568673,116616551.569372,116616552.608886,116616553.604055,116616554.595744,116616555.588615,116616556.583325,116616557.579325,116616558.576548,116616559.576859,116616560.577647,116616561.57985,116616562.577274,116616563.575477,116616564.573523,116616565.571861,116616566.570893,116616567.570417,116616568.570164,116616569.56965,116616570.56935,116616571.569137,116616572.569477,116616573.569389,116616574.569123,116616575.56925,116616576.569107,116616577.568855,116616578.568477,116616579.568124,116616580.568098,116616581.568361,116616582.568302,116616583.568094,116616584.567738,116616585.567255,116616586.567006,116616587.567139,116616588.567108,116616589.566917,116616590.567047,116616591.567047,116616592.574673,116616593.584268,116616594.588142,116616595.583952,116616596.572799,116616597.559632,116616598.54424,116616599.524005,116616600.507453,116616601.495125,116616602.486313,116616603.480082,116616604.475717,116616605.473589,116616606.485615,116616607.511848,116616608.536257,116616609.546372,116616610.56453,116616611.57581,116616612.583329,116616613.591877,116616614.587446,116616615.582706,116616616.589036,116616617.583207,116616618.556238,116616619.532144,116616620.519297,116616621.539449,116616622.556182,116616623.570883,116616624.572343,116616625.571997,116616626.571524,116616627.571347,116616628.571424,116616629.580407,116616630.579249,116616631.55867,116616632.547289,116616633.527062,116616634.510852,116616635.498865,116616636.489869,116616637.483232,116616638.478735,116616639.475089,116616640.472419,116616641.470269,116616642.469193,116616643.468588,116616644.467923,116616645.46726,116616646.467067,116616647.467312,116616648.475238,116616649.503093,116616650.545709,116616651.56329,116616652.624632,116616653.677248,116616654.740806,116616655.77305,116616656.809652,116616657.805473,116616658.791918,116616659.75253,116616660.71986,116616661.69505,116616662.649406,116616663.604659,116616664.587217,116616665.607346,116616666.629521,116616667.656407,116616668.678548,116616669.693469,116616670.733903,116616671.747362,116616672.738255,116616673.70413,116616674.681397,116616675.656726,116616676.637668,116616677.623968,116616678.613671,116616679.60608,116616680.600298,116616681.60678,116616682.627868,116616683.64863,116616684.693904,116616685.680926,116616686.657971,116616687.663471,116616688.64114,116616689.665642,116616690.657207,116616691.639724,116616692.635794,116616693.673058,116616694.646161,116616695.605804,116616696.573365,116616697.554666,116616698.567299,116616699.582773,116616700.612072,116616701.64922,116616702.652172,116616703.638699,116616704.629321,116616705.657104,116616706.663343,116616707.673015,116616708.681682,116616709.687486,116616710.69148,116616711.691995,116616712.670209,116616713.649997,116616714.646502,116616715.634628,116616716.623577,116616717.615337,116616718.609816,116616719.605908,116616720.602553,116616721.599902,116616722.598111,116616723.619347,116616724.620916,116616725.639824,116616726.630905,116616727.6216,116616728.613931,116616729.608158,116616730.605134,116616731.602826,116616732.630011,116616733.625056,116616734.617896,116616735.629121,116616736.648119,116616737.710666,116616738.725182,116616739.87452,116616740.881519,116616741.820423,116616742.75181,116616743.687418,116616744.653802,116616745.625385,116616746.652565,116616747.630386,116616748.587407,116616749.570943,116616750.579992,116616751.588641,116616752.595331,116616753.600368,116616754.603863,116616755.61389,116616756.639418,116616757.66729,116616758.714756,116616759.726982,116616760.734903,116616761.744141,116616762.729515,116616763.70185,116616764.67839,116616765.695939,116616766.654974,116616767.641055,116616768.613917,116616769.603809,116616770.589181,116616771.569299,116616772.562614,116616773.573614,116616774.605284,116616775.679388,116616776.698446,116616777.706578,116616778.712649,116616779.717636,116616780.716657,116616781.694915,116616782.674703,116616783.671279,116616784.665761,116616785.646158,116616786.613479,116616787.58726,116616788.600873,116616789.582369,116616790.564973,116616791.558146,116616792.551904,116616793.575812,116616794.609551,116616795.651296,116616796.648953,116616797.643994,116616798.648622,116616799.650099,116616800.643788,116616801.637953,116616802.633642,116616803.630356,116616804.627731,116616805.625996,116616806.624897,116616807.623897,116616808.623187,116616809.622587,116616810.622921,116616811.622742,116616812.623157,116616813.62293,116616814.622604,116616815.622245,116616816.622303,116616817.621844,116616818.621993,116616819.653419,116616820.649515,116616821.642706,116616822.636963,116616823.632622,116616824.629872,116616825.627595,116616826.626056,116616827.624513,116616828.62368,116616829.623472,116616830.646853,116616831.670712,116616832.70362,116616833.701758,116616834.683379,116616835.667933,116616836.647598,116616837.61624,116616838.606833,116616839.585948,116616840.572274,116616841.573697,116616842.587885,116616843.598338,116616844.605573,116616845.610876,116616846.614923,116616847.617563,116616848.634293,116616849.650332,116616850.646312,116616851.640775,116616852.643688,116616853.646805,116616854.638995,116616855.610865,116616856.598744,116616857.579182,116616858.563397,116616859.560682,116616860.065192,116616861.11612,116616861.23134,116616861.346233,116616861.568206,116616862.002215,116616862.670666,116616863.448147,116616864.294832,116616865.187364,116616866.11073,116616867.057168,116616868.018107,116616868.989691,116616869.96619,116616870.966106,116616871.975992,116616872.985253,116616873.992698,116616874.997437,116616876.001623,116616877.004394,116616878.013102,116616879.013538,116616880.023869,116616881.029438,116616882.030203,116616883.007337,116616883.986826,116616884.990122,116616886.041826,116616887.023651,116616888.004144,116616889.004053,116616890.021382,116616891.025399,116616892.087784,116616893.10023,116616894.104787,116616895.107192,116616896.114489,116616897.119798,116616898.123973,116616899.126758,116616900.128274,116616901.105597,116616902.117578,116616903.104034,116616904.081372,116616905.062975,116616906.054728,116616907.052668,116616908.052609,116616909.038247,116616910.007863,116616910.982579,116616911.961401,116616912.945612,116616913.934484,116616914.925469,116616915.919161,116616916.914944,116616917.912076,116616918.937042,116616919.976519,116616920.992733,116616921.999792,116616923.003982,116616924.007093,116616924.590573,116616925.633066,116616926.656622,116616927.660795,116616928.656868,116616929.653154,116616930.650322,116616931.65862,116616932.67021,116616933.668015,116616934.662093,116616935.656771,116616936.652905,116616937.650113,116616938.648256,116616939.695078,116616940.703597,116616941.684764,116616942.648555,116616943.619082,116616944.597344,116616945.581523,116616946.569937,116616947.561534,116616948.555453,116616949.550735,116616950.547788,116616951.570812,116616952.59073,116616953.605932,116616954.616965,116616955.625038,116616956.639998,116616957.631948,116616958.618904,116616959.599495,116616960.583224,116616961.571311,116616962.562363,116616963.555915,116616964.551341,116616965.547933,116616966.545167,116616967.543342,116616968.542187,116616969.549743,116616970.582671,116616971.601534,116616972.623517,116616973.638546,116616974.641973,116616975.643173,116616976.643505,116616977.64407,116616978.645346,116616979.659407,116616980.666062,116616981.674257,116616982.669239,116616983.663055,116616984.659419,116616985.656959,116616986.654151,116616987.672818,116616988.699544,116616989.72284,116616990.765123,116616991.767631,116616992.771632,116616993.751367,116616994.7248,116616995.703519,116616996.678605,116616997.652513,116616998.624106,116616999.601908,116617000.585651,116617001.573851,116617002.565476,116617003.559505,116617004.554956,116617005.551785,116617006.584762,116617007.579316,116617008.570687,116617009.563695,116617010.566693,116617011.596297,116617012.612986,116617013.623744,116617014.638335,116617015.650052,116617016.662146,116617017.660596,116617018.668452,116617019.665075,116617020.661254,116617021.658302,116617022.656245,116617023.662665,116617024.663449,116617025.666289,116617026.644814,116617027.620002,116617028.59979,116617029.584797,116617030.574123,116617031.582496,116617032.617737,116617033.655783,116617034.684992,116617035.706703,116617036.722364,116617037.756953,116617038.738725,116617039.717077,116617040.70482,116617041.691502,116617042.681567,116617043.674473,116617044.659982,116617045.638847,116617046.616383,116617047.598361,116617048.585577,116617049.576288,116617050.570092,116617051.584759,116617052.660607,116617053.675071,116617054.672915,116617055.669557,116617056.673933,116617057.655953,116617058.649945,116617059.627211,116617060.607357,116617061.59242,116617062.581721,116617063.574107,116617064.579146,116617065.600761,116617066.617398,116617067.629249,116617068.65759,116617069.695321,116617070.762169,116617071.774758,116617072.788473,116617073.775538,116617074.763657,116617075.741045,116617076.733212,116617077.749863,116617078.749472,116617079.73213,116617080.71396,116617081.700093,116617082.690301,116617083.693259,116617084.680337,116617085.67091,116617086.653166,116617087.628827,116617088.609821,116617089.595907,116617090.58539,116617091.594234,116617092.620901,116617093.659348,116617094.6911,116617095.737171,116617096.752214,116617097.764111,116617098.750294,116617099.729762,116617100.712684,116617101.699809,116617102.671005,116617103.642204,116617104.631339,116617105.615304,116617106.601218,116617107.590333,116617108.582318,116617109.576392,116617110.571917,116617111.56905,116617112.566972,116617113.565699,116617114.565055,116617115.564652,116617116.564125,116617118.003788,116617118.98979,116617119.992201,116617120.997757,116617122.009499,116617123.035167,116617124.05677,116617125.072908,116617126.085367,116617127.094104,116617128.100059,116617129.108063,116617130.115245,116617131.122439,116617132.172595,116617133.149023,116617134.123572,116617135.095836,116617136.073945,116617137.102463,116617138.760802,116617139.89743,116617140.970852,116617141.808135,116617142.685027,116617143.550265,116617144.43771,116617145.354069,116617146.300206,116617147.25588,116617148.222685,116617149.198752,116617150.184377,116617151.195024,116617152.182114,116617153.173798,116617154.164556,116617155.181745,116617156.222862,116617157.271015,116617158.312688,116617159.363478,116617160.403527,116617161.432579,116617162.455226,116617163.477137,116617164.487615,116617165.528646,116617166.561948,116617167.579854,116617168.616678,116617169.644798,116617170.665469,116617171.68014,116617172.690729,116617173.702511,116617174.391993,116617175.377802,116617176.353641,116617177.394027,116617178.386667,116617179.360983,116617180.339578,116617181.323219,116617182.311297,116617183.304056,116617184.297938,116617185.283195,116617186.29648,116617187.271813,116617188.264953,116617189.244842,116617190.227836,116617191.237403,116617192.24853,116617193.257106,116617194.26375,116617195.318605,116617196.316323,116617197.308266,116617198.312996,116617199.315721,116617200.316332,116617201.331064,116617202.321026,116617203.311048,116617204.316139,116617205.308794,116617206.301834,116617207.296909,116617208.292944,116617209.293886,116617210.300501,116617211.308119,116617212.303128,116617213.297986,116617214.293609,116617215.290263,116617216.287413,116617217.286185,116617218.308297,116617219.337581,116617220.361441,116617221.37904,116617222.392116,116617223.401689,116617224.408447,116617225.410519,116617226.391461,116617227.372599,116617228.357445,116617229.362683,116617230.36838,116617231.381033,116617232.383115,116617233.383942,116617234.378896,116617235.356362,116617236.336866,116617237.349965,116617238.319952,116617239.308066,116617240.31188,116617241.338795,116617242.352665,116617243.349307,116617244.340843,116617245.336532,116617246.323411,116617247.32133,116617248.312,116617249.30429,116617250.309602,116617251.304409,116617252.299281,116617253.29891,116617254.319089,116617255.348072,116617256.360894,116617257.358042,116617258.359629,116617259.375012,116617260.388908,116617261.390011,116617262.389403,116617263.398619,116617264.406534,116617265.402463,116617266.398134,116617267.404819,116617268.401852,116617269.397844,116617270.403905,116617271.410542,116617272.405491,116617273.400586,116617274.407213,116617275.438507,116617276.427668,116617277.413627,116617278.418184,116617279.419149,116617280.411671,116617281.404913,116617282.399635,116617283.396207,116617284.393712,116617285.420843,116617286.448253,116617287.462068,116617288.446851,116617289.431695,116617290.42004,116617291.39782,116617292.369289,116617293.347044,116617294.321265,116617295.302367,116617296.283544,116617297.293812,116617298.302695,116617299.300207,116617300.297158,116617301.294783,116617302.30532,116617303.311856,116617304.321778,116617305.328665,116617306.344557,116617307.357847,116617308.382675,116617309.38913,116617310.753067,116617311.852435,116617312.889451,116617313.911963,116617314.927594,116617315.947082,116617316.954569,116617317.958252,116617318.961995,116617319.964097,116617321.016696,116617321.992154,116617322.958318,116617323.929403,116617324.39652,116617325.39697,116617326.397562,116617327.401006,116617328.401129,116617329.386726,116617330.363402,116617331.344817,116617332.330661,116617333.320803,116617334.329935,116617335.340024,116617336.330924,116617337.333423,116617338.32462,116617339.37606,116617340.362601,116617341.363601,116617342.347556,116617343.349486,116617344.324245,116617345.314799,116617346.309252,116617347.317978,116617348.340977,116617349.359212,116617350.442579,116617351.511034,116617352.498239,116617353.477848,116617354.461011,116617355.460361,116617356.471773,116617357.482523,116617358.490113,116617359.495599,116617360.499633,116617361.521165,116617362.53809,116617363.559486,116617364.57606,116617365.593322,116617366.594748,116617367.620575,116617368.581985,116617369.536494,116617370.501192,116617371.475966,116617372.457773,116617373.44387,116617374.419661,116617375.390544,116617376.367622,116617377.36519,116617378.351292,116617379.339235,116617380.33371,116617381.350573,116617382.366184,116617383.379251,116617384.394263,116617385.407554,116617386.409406,116617387.410083,116617388.41028,116617389.42536,116617390.448397,116617391.467026,116617392.480524,116617393.496591,116617394.516876,116617395.518814,116617396.519508,116617397.528946,116617398.528054,116617399.524625,116617400.527485,116617401.525139,116617402.522473,116617403.515554,116617404.491154,116617405.478138,116617406.470311,116617407.455347,116617408.452207,116617409.442093,116617410.440817,116617411.433388,116617412.426993,116617413.422551,116617414.424655,116617415.427575,116617416.418053,116617417.410229,116617418.402769,116617419.39613,116617420.398452,116617421.408557,116617422.415681,116617423.425771,116617424.422995,116617425.419313,116617426.398904,116617427.384276,116617428.36503,116617429.360745,116617430.372041,116617431.382867,116617432.390691,116617433.395714,116617434.40024,116617435.419763,116617436.449347,116617437.473147,116617438.490601,116617439.498707,116617440.489732,116617441.470933,116617442.45588,116617443.496286,116617444.485222,116617445.467987,116617446.46887,116617447.483325,116617448.478821,116617449.472565,116617450.466755,116617451.463562,116617452.456083,116617453.475099,116617454.474922,116617455.467203,116617456.494641,116617457.507747,116617458.506206,116617459.485137,116617460.465925,116617461.452033,116617462.442003,116617463.434583,116617464.438752,116617465.432978,116617466.427361,116617467.42908,116617468.425212,116617469.427498,116617470.43141,116617471.433173,116617472.434537,116617473.436098,116617474.430967,116617475.426405,116617476.430919,116617477.458079,116617478.464014,116617479.455553,116617480.445918,116617481.44495,116617482.443515,116617483.446213,116617484.439224,116617485.432413,116617486.440851,116617487.469807,116617488.486164,116617489.486447,116617490.494556,116617491.487985,116617492.48235,116617493.490935,116617494.499746,116617495.505576,116617496.515727,116617497.518617,116617498.526165,116617499.531172,116617500.52949,116617501.522803,116617502.498263,116617503.476256,116617504.468868,116617505.464848,116617506.453389,116617507.444214,116617508.436593,116617509.440833,116617510.446425,116617511.450992,116617512.450762,116617513.449771,116617514.448681,116617515.440982,116617516.442067,116617517.436433,116617518.432052,116617519.42824,116617520.432552,116617521.429153,116617522.432651,116617523.428949,116617524.442512,116617525.467464,116617526.483639,116617527.499635,116617528.511672,116617529.545856,116617530.520412,116617531.493965,116617532.481562,116617533.465436,116617534.49372,116617535.485597,116617536.495845,116617537.50299,116617538.50927,116617539.514342,116617540.517666,116617541.522983,116617542.528561,116617543.533131,116617544.532044,116617545.539423,116617546.538109,116617547.511181,116617548.492435,116617549.483088,116617550.468022,116617551.455049,116617552.460746,116617553.536135,116617554.547679,116617555.544465,116617556.546345,116617557.566899,116617558.566435,116617559.551569,116617560.520741,116617561.494393,116617562.475248,116617563.494309,116617564.479823,116617565.464846,116617566.453545,116617567.458834,116617568.474764,116617569.465083,116617570.454345,116617571.446176,116617572.449754,116617573.447205,116617574.431281,116617575.415701,116617576.420701,116617577.428423,116617578.439833,116617579.495593,116617580.484457,116617581.470152,116617582.460475,116617583.453574,116617584.446131,116617585.440434,116617586.436274,116617587.447774,116617588.468778,116617589.485929,116617590.498683,116617591.507708,116617592.514384,116617593.519878,116617594.552307,116617595.561594,116617596.563311,116617597.565346,116617598.557928,116617599.551153,116617600.546444,116617601.544052,116617602.541656,116617603.525309,116617604.500635,116617605.491723,116617606.494442,116617607.47951,116617608.465625,116617609.466158,116617610.467774,116617611.472794,116617612.462349,116617613.462061,116617614.453905,116617615.457999,116617616.451341,116617617.455943,116617618.477105,116617619.483449,116617620.471076,116617621.459437,116617622.460471,116617623.452824,116617624.446484,116617625.452157,116617626.457854,116617627.451163,116617628.450582,116617629.446428,116617630.441654,116617631.438563,116617632.451274,116617633.493946,116617634.517633,116617635.534418,116617636.536519,116617637.546572,116617638.554164,116617639.550711,116617640.546535,116617641.543679,116617642.566305,116617643.59524,116617644.615879,116617645.602689,116617646.594991,116617647.588616,116617648.576214,116617649.565426,116617650.558021,116617651.552809,116617652.548539,116617653.529821,116617654.54809,116617655.523,116617656.498449,116617657.480241,116617658.478285,116617659.467491,116617660.458247,116617661.461979,116617662.46591,116617663.458015,116617664.450999,116617665.451817,116617666.471228,116617667.49767,116617668.521929,116617669.5286,116617670.540008,116617671.54064,116617672.535069,116617673.511631,116617674.491451,116617675.476012,116617676.47183,116617677.473106,116617678.463679,116617679.455575,116617680.463606,116617681.481981,116617682.49717,116617683.508518,116617684.525468,116617685.532434,116617686.544,116617687.55384,116617688.551858,116617689.585599,116617690.55593,116617691.524533,116617692.482043,116617693.454314,116617694.423057,116617695.413798,116617696.418082,116617697.422912,116617698.42716,116617699.429394,116617700.469908,116617701.482074,116617702.498453,116617703.511025,116617704.531819,116617705.548912,116617706.55845,116617707.556186,116617708.544742,116617709.518985,116617710.506834,116617711.489238,116617712.475084,116617713.464748,116617714.470594,116617715.463638,116617716.471167,116617717.516906,116617718.50385,116617719.487441,116617720.489391,116617721.503496,116617722.517981,116617723.526964,116617724.532285,116617725.536344,116617726.539164,116617727.548935,116617728.550724,116617729.556497,116617730.556252,116617731.554366,116617732.552457,116617733.550977,116617734.532179,116617735.509089,116617736.490423,116617737.476774,116617738.467355,116617739.454344,116617740.440996,116617741.432731,116617742.414514,116617743.418167,116617744.434852,116617745.457439,116617746.47209,116617747.479979,116617748.481749,116617749.458918,116617750.443767,116617751.42434,116617752.426229,116617753.430228,116617754.433611,116617755.43587,116617756.437532,116617757.44487,116617758.940666,116617759.948691,116617760.965104,116617761.979569,116617762.988242,116617763.985748,116617764.981713,116617765.978097,116617766.984444,116617767.983226,116617768.979863,116617769.977366,116617770.975188,116617771.476402,116617772.506339,116617773.523116,116617774.534436,116617775.54294,116617776.533346,116617777.514935,116617778.50972,116617779.507848,116617780.506413,116617781.503864,116617782.503007,116617783.501943,116617784.501418,116617785.501103,116617786.499402,116617787.489814,116617788.488284,116617789.487853,116617790.480628,116617791.492335,116617792.535028,116617793.556337,116617794.561269,116617795.556334,116617796.533636,116617797.532695,116617798.515334,116617799.517386,116617800.542343,116617801.543038,116617802.524399,116617803.507273,116617804.494816,116617805.495573,116617806.487518,116617807.479761,116617808.494702,116617809.502481,116617810.513642,116617811.503703,116617812.502277,116617813.502437,116617814.506535,116617815.518526,116617816.528341,116617817.54187,116617818.549115,116617819.553788,116617820.569073,116617821.571678,116617822.570885,116617823.589722,116617824.612381,116617825.630567,116617826.647633,116617827.656101,116617828.661865,116617829.666505,116617830.670379,116617831.648691,116617832.627103,116617833.610974,116617834.599561,116617835.575595,116617836.546098,116617837.522707,116617838.505716,116617839.488337,116617840.467751,116617841.454971,116617842.4655,116617843.45912,116617844.448016,116617845.436123,116617846.440944,116617847.457211,116617848.470876,116617849.48098,116617850.478017,116617851.489859,116617852.485123,116617853.479741,116617854.475007,116617855.471646,116617856.469198,116617857.485119,116617858.515716,116617859.51898,116617860.516785,116617861.507635,116617862.515725,116617863.529365,116617864.540182,116617865.553257,116617866.563182,116617867.565928,116617868.56708,116617869.567687,116617870.591397,116617871.592317,116617872.586865,116617873.582265,116617874.578715,116617875.576403,116617876.567779,116617877.543282,116617878.521571,116617879.513504,116617880.501053,116617881.500811,116617882.517322,116617883.541652,116617884.553646,116617885.569001,116617886.572515,116617887.581373,116617888.580469,116617889.562952,116617890.538788,116617891.519015,116617892.504774,116617893.504761,116617894.506333,116617895.496854,116617896.502856,116617897.495408,116617898.487873,116617899.482228,116617900.488423,116617901.483661,116617902.489843,116617903.498949,116617904.500889,116617905.493618,116617906.506311,116617907.49911,116617908.526607,116617909.541376,116617910.55073,116617911.55786,116617912.5624,116617913.565406,116617914.567287,116617915.586948,116617916.618977,116617917.631003,116617918.619991,116617919.608154,116617920.599231,116617921.593184,116617922.595241,116617923.599021,116617924.593685,116617925.588691,116617926.568639,116617927.543162,116617928.523032,116617929.516968,116617930.519651,116617931.507756,116617932.497479,116617933.498161,116617934.503814,116617935.510605,116617936.50105,116617937.492043,116617938.485036,116617939.480121,116617940.483166,116617941.96074,116617942.944126,116617943.946118,116617944.951923,116617945.543288,116617946.559783,116617947.57851,116617948.588364,116617949.594306,116617950.635532,116617951.637007,116617952.666074,116617953.669799,116617954.686126,116617955.672683,116617956.798886,116617957.786945,116617958.745611,116617959.726578,116617960.705367,116617961.692354,116617962.698541,116617963.742526,116617964.749855,116617965.752884,116617966.748211,116617967.742988,116617968.739024,116617969.744089,116617970.782674,116617971.762977,116617972.727682,116617973.698003,116617974.67625,116617975.740727,116617976.707981,116617977.671015,116617978.647943,116617979.647941,116617980.657648,116617981.625096,116617982.595473,116617983.583495,116617984.566309,116617985.590648,116617986.58434,116617987.568754,116617988.565017,116617989.562856,116617990.560849,116617991.586173,116617992.580498,116617993.58889,116617994.596798,116617995.615084,116617996.626259,116617997.632928,116617998.65985,116617999.660249,116618000.669537,116618001.670774,116618002.6597,116618003.649314,116618004.641445,116618005.636357,116618006.650386,116618007.668239,116618008.690523,116618009.694143,116618010.678941,116618011.664189,116618012.664622,116618013.655977,116618014.646932,116618015.640035,116618016.617085,116618017.598187,116618018.58472,116618019.57358,116618020.5659,116618021.617496,116618022.606252,116618023.584384,116618024.574252,116618025.584274,116618026.594779,116618027.609358,116618028.619878,116618029.622002,116618030.688262,116618031.680637,116618032.666915,116618033.65556,116618034.655879,116618035.657484,116618036.651114,116618037.626009,116618038.598113,116618039.57685,116618040.560979,116618041.549586,116618042.535269,116618043.506599,116618044.508495,116618045.53911,116618046.540662,116618047.544209,116618048.539559,116618049.53461,116618050.530942,116618051.528666,116618052.526467,116618053.542679,116618054.56427,116618055.581433,116618056.594388,116618057.603768,116618058.610828,116618059.623686,116618060.64001,116618061.639413,116618062.63696,116618063.634933,116618064.633374,116618065.631989,116618066.631178,116618067.633872,116618068.695895,116618069.679006,116618070.646516,116618071.624184,116618072.607994,116618073.61086,116618074.624758,116618075.632182,116618076.641623,116618077.626161,116618078.981869,116618079.961561,116618080.937384,116618081.90429,116618082.867333,116618083.83772,116618084.816295,116618085.828042,116618086.813503,116618087.799295,116618088.787932,116618089.803251,116618090.820262,116618091.833006,116618092.849462,116618093.862294,116618094.865739,116618095.866788,116618096.898147,116618097.921547,116618098.97106,116618099.985891,116618101.011515,116618102.032575,116618103.047608,116618104.058511,116618105.066145,116618106.116412,116618107.092541,116618108.064577,116618109.039683,116618110.001583,116618111.010278,116618111.981097,116618112.950844,116618113.605548,116618114.600497,116618115.590534,116618116.557666,116618117.5325,116618118.503427,116618119.500411,116618120.504092,116618121.507009,116618122.509066,116618123.510534,116618124.530512,116618125.567983,116618126.572568,116618127.560117,116618128.562686,116618129.553374,116618130.594643,116618131.590876,116618132.573395,116618133.574139,116618134.561433,116618135.54953,116618136.560725,116618137.577433,116618138.594373,116618139.580881,116618140.594213,116618141.93644,116618142.943099,116618143.95021,116618144.964377,116618145.97704,116618146.977941,116618147.976064,116618148.980776,116618149.980106,116618150.977996,116618151.984357,116618152.990953,116618153.987239,116618154.982721,116618155.979361,116618156.980585,116618157.981033,116618158.975257,116618159.982016,116618160.988116,116618161.981952,116618162.961844,116618163.936294,116618164.914988,116618165.913745,116618166.911854,116618167.900788,116618168.890321,116618169.890391,116618170.894222,116618171.898389,116618172.892178,116618173.898385,116618174.915652,116618175.931143,116618176.942525,116618177.951578,116618178.957565,116618179.631671,116618180.685119,116618181.712038,116618182.729681,116618183.73825,116618184.771292,116618185.749847,116618186.74041,116618187.719612,116618188.690019,116618189.680656,116618190.662601,116618191.660999,116618192.638845,116618193.613717,116618194.604451,116618195.588366,116618196.592763,116618197.640794,116618198.648743,116618199.655395,116618200.660796,116618201.719407,116618202.727434,116618203.713105,116618204.700143,116618205.7102,116618206.752075,116618207.76219,116618208.765059,116618209.766251,116618210.813272,116618211.807288,116618212.813364,116618213.836656,116618214.836176,116618215.821237,116618216.83542,116618217.82161,116618218.806848,116618219.795497,116618220.787349,116618221.808971,116618222.778288,116618223.746808,116618224.722281,116618225.70412,116618226.690708,116618227.681076,116618228.665959,116618229.638097,116618230.61442,116618231.601705,116618232.658594,116618233.681683,116618234.658387,116618235.633378,116618236.611739,116618237.662979,116618238.66733,116618239.666365,116618240.666624,116618241.665529,116618242.682607,116618243.67974,116618244.689015,116618245.70921,116618246.767683,116618247.760417,116618248.737622,116618249.71711,116618250.696255,116618251.68506,116618252.663213,116618253.635843,116618254.632468,116618255.640374,116618256.650646,116618257.659248,116618258.66152,116618259.669019,116618260.668123,116618261.680359,116618262.655924,116618263.629959,116618264.610057,116618265.60465,116618266.592291,116618267.588187,116618268.61422,116618269.603246,116618270.958579,116618271.943992,116618272.956418,116618273.945873,116618274.925659,116618275.915592,116618276.90333,116618277.89413,116618278.891753,116618279.889993,116618280.883982,116618281.893732,116618282.916396,116618283.960265,116618284.970038,116618285.973013,116618286.974204,116618287.974715,116618288.981343,116618290.006082,116618291.032265,116618292.04666,116618293.054216,116618294.036741,116618295.021111,116618296.009083,116618297.000302,116618297.993691,116618298.981931,116618299.954731,116618300.930366,116618301.912161,116618302.899086,116618303.900004,116618304.891699,116618305.883975,116618306.877698,116618307.614096,116618308.627917,116618309.651695,116618310.663218,116618311.665791,116618312.673795,116618313.673827,116618314.723982,116618315.730356,116618316.717142,116618317.700067,116618318.694236,116618319.668647,116618320.665402,116618321.661692,116618322.638788,116618323.66379,116618324.643524,116618325.637539,116618326.627342,116618327.634913,116618328.644457,116618329.652471,116618330.658207,116618331.662042,116618333.01332,116618334.099282,116618335.116436,116618336.116478,116618337.096418,116618338.078816,116618339.065746,116618340.056421,116618341.049399,116618342.073108,116618343.042678,116618344.013425,116618344.991238,116618345.972792,116618346.960538,116618347.9335,116618348.935421,116618349.909358,116618350.885896,116618351.882767,116618352.891053,116618353.899047,116618354.904748,116618355.909015,116618356.912283,116618357.921306,116618358.987374,116618360.008779,116618361.026292,116618362.030776,116618363.008946,116618363.990273,116618365.000128,116618365.998324,116618366.98185,116618367.983148,116618368.628108,116618369.60705,116618370.59222,116618371.586522,116618372.581838,116618373.574279,116618374.577462,116618375.587568,116618376.6148,116618377.637454,116618378.654191,116618379.657105,116618380.677602,116618381.675331,116618382.67106,116618383.685198,116618384.690203,116618385.743,116618386.739839,116618387.727985,116618388.71103,116618389.706129,116618390.754496,116618391.73887,116618392.719663,116618393.704434,116618394.693075,116618395.695434,116618396.663704,116618397.639666,116618398.616925,116618399.599962,116618400.59562,116618401.651787,116618402.628044,116618403.620043,116618404.604129,116618405.591053,116618406.633099,116618407.632683,116618408.62803,116618409.616196,116618410.626449,116618411.613163,116618412.609278,116618413.621938,116618414.677793,116618415.681301,116618416.681332,116618417.696072,116618418.745374,116618419.769163,116618420.779683,116618421.789488,116618422.789095,116618423.787059,116618424.764395,116618425.739533,116618426.720255,116618427.706319,116618428.696448,116618429.689962,116618430.663525,116618431.637357,116618432.61757,116618433.610566,116618434.598655,116618435.589322,116618436.581962,116618437.576589,116618438.620915,116618439.647835,116618440.634876,116618441.621046,116618442.626464,116618443.638174,116618444.64757,116618445.660408,116618446.694746,116618447.693193,116618448.688021,116618449.662956,116618450.637144,116618451.62857,116618452.623445,116618453.608967,116618454.603848,116618455.594219,116618456.586231,116618457.594756,116618458.589501,116618459.584422,116618460.58827,116618461.586085,116618463.32384,116618464.443275,116618465.525533,116618466.55078,116618467.515907,116618468.47859,116618469.449886,116618470.42864,116618471.41304,116618472.40157,116618473.393807,116618474.387811,116618475.383581,116618476.372584,116618477.346152,116618478.324429,116618479.307981,116618480.294496,116618481.283403,116618482.275041,116618483.902065,116618484.754683,116618485.617915,116618486.535442,116618487.453864,116618488.392167,116618489.346579,116618490.342871,116618491.320972,116618492.341442,116618493.394856,116618494.472668,116618495.579883,116618496.701315,116618497.796331,116618498.872591,116618499.923821,116618501.007598,116618502.003821,116618502.989618,116618503.976406,116618504.965702,116618505.957159,116618506.951063,116618507.982022,116618508.977361,116618509.962646,116618511.015071,116618512.057575,116618513.036284,116618514.011999,116618514.993121,116618515.976895,116618516.964864,116618517.980766,116618518.984158,116618519.97786,116618521.167717,116618522.186597,116618523.267034,116618524.325377,116618525.020891,116618526.030888,116618527.022229,116618528.006554,116618528.994016,116618529.983336,116618530.974652,116618531.968322,116618532.960658,116618533.935003,116618534.920003,116618535.901853,116618536.887087,116618537.898202,116618538.913046,116618539.923767,116618540.36632,116618541.38625,116618542.389952,116618543.391118,116618544.403045,116618545.427011,116618546.454398,116618547.468272,116618548.47036,116618549.453557,116618550.437558,116618551.445321,116618552.44207,116618553.430268,116618554.431093,116618555.433528,116618556.424531,116618557.417473,116618558.413087,116618559.422592,116618560.441367,116618561.456758,116618562.467922,116618563.476094,116618564.482844,116618565.495308,116618566.523434,116618567.552236,116618568.569173,116618569.565075,116618570.549779,116618571.561922,116618572.548662,116618573.536405,116618574.527014,116618575.506898,116618576.504076,116618577.478071,116618578.455453,116618579.454552,116618580.44336,116618581.430763,116618582.420942,116618583.421872,116618584.44,116618585.462541,116618586.480154,116618587.486956,116618588.516588,116618589.51636,116618590.522218,116618591.528614,116618592.510172,116618593.561367,116618594.559894,116618595.528573,116618596.494888,116618597.478644,116618598.465129,116618599.517991,116618600.495574,116618601.479057,116618602.467475,116618603.45396,116618604.448498,116618605.461195,116618606.477067,116618607.49963,116618608.503789,116618609.51279,116618610.521444,116618611.519242,116618612.516009,116618613.513264,116618614.527732,116618615.54269,116618616.551414,116618617.541423,116618618.531679,116618619.524265,116618620.519027,116618621.515067,116618622.512307,116618623.489724,116618624.466301,116618625.459118,116618626.445031,116618627.433104,116618628.431493,116618629.454545,116618630.453148,116618631.440587,116618632.436846,116618633.428048,116618634.420605,116618635.435279,116618636.462395,116618637.482529,116618638.496141,116618639.49967,116618640.488732,116618641.475245,116618642.462181,116618643.455122,116618644.447247,116618645.444014,116618646.441351,116618647.455829,116618648.473961,116618649.484004,116618650.494172,116618651.497713,116618652.48338,116618653.483989,116618654.489722,116618655.494043,116618656.502176,116618657.504324,116618658.505305,116618659.498828,116618660.485698,116618661.476116,116618662.488874,116618663.480132,116618664.47024,116618665.471201,116618666.477827,116618667.491458,116618668.484516,116618669.46408,116618670.446918,116618671.441561,116618672.441904,116618673.432487,116618674.433404,116618675.435342,116618676.427858,116618677.435743,116618678.428851,116618679.421701,116618680.416052,116618681.411714,116618682.411891,116618683.429293,116618684.448455,116618685.463798,116618686.475544,116618687.484169,116618688.490954,116618689.495383,116618690.49877,116618691.516925,116618692.549257,116618693.557598,116618694.547243,116618695.537011,116618696.529609,116618697.532915,116618698.537266,116618699.540037,116618700.533032,116618701.526607,116618702.539434,116618703.559542,116618704.582517,116618705.576861,116618706.560371,116618707.546777,116618708.532164,116618709.522321,116618710.500193,116618711.476605,116618712.457358,116618713.451811,116618714.450588,116618715.450418,116618716.450089,116618717.450205,116618718.440075,116618719.431451,116618720.424394,116618721.436622,116618722.464461,116618723.485412,116618724.502571,116618725.51384,116618726.577436,116618727.569394,116618728.549428,116618729.515119,116618730.486204,116618731.475279,116618732.458592,116618733.469996,116618734.481826,116618735.50435,116618736.50918,116618737.495804,116618738.485663,116618739.477721,116618740.460896,116618741.466258,116618742.465431,116618743.460576,116618744.448501,116618745.485574,116618746.48088,116618747.465286,116618748.45587,116618749.468242,116618750.481109,116618751.491505,116618752.498621,116618753.503528,116618754.507255,116618755.51832,116618756.519759,116618757.51957,116618758.519216,116618759.518712,116618760.518321,116618761.502115,116618762.479386,116618763.461498,116618764.433386,116618765.40204,116618766.454971,116618767.580991,116618768.537271,116618769.49314,116618770.448339,116618771.414085,116618772.401415,116618773.404959,116618774.424403,116618775.440654,116618776.438698,116618777.480475,116618778.482512,116618779.483109,116618780.46952,116618781.468309,116618782.466913,116618783.47469,116618784.532416,116618785.54687,116618786.548981,116618787.547131,116618788.553623,116618789.573867,116618790.567527,116618791.559423,116618792.552815,116618793.594503,116618794.585177,116618795.582654,116618796.570855,116618797.561668,116618798.554591,116618799.590399,116618800.581237,116618801.553046,116618802.521243,116618803.502388,116618804.48329,116618805.473885,116618806.486641,116618807.49989,116618808.514311,116618809.521344,116618810.520858,116618811.524277,116618812.527668,116618813.534465,116618814.535093,116618815.526422,116618816.502914,116618817.490284,116618818.476056,116618819.463525,116618820.46936,116618821.49037,116618822.507963,116618823.52128,116618824.511078,116618825.500733,116618826.49261,116618827.485977,116618828.477272,116618829.489771,116618830.501691,116618831.519218,116618832.52524,116618833.513109,116618834.492649,116618835.486287,116618836.477504,116618837.465758,116618838.471324,116618839.487134,116618840.500484,116618841.510654,116618842.518273,116618843.52422,116618844.528785,116618845.550295,116618846.989775,116618848.022556,116618849.041329,116618850.054819,116618851.063764,116618852.106073,116618853.106731,116618854.102973,116618855.079536,116618856.055538,116618857.05541,116618858.046371,116618859.031948,116618860.558789,116618861.531686,116618862.518523,116618863.498128,116618864.49558,116618865.492026,116618866.47887,116618867.46771,116618868.523161,116618869.534027,116618870.543251,116618871.550252,116618872.554729,116618873.55286,116618874.551833,116618875.54939,116618876.552302,116618877.550826,116618878.53883,116618879.514624,116618880.504437,116618881.499757,116618882.504178,116618883.505504,116618884.491712,116618885.477932,116618886.488287,116618887.54227,116618888.549171,116618889.549074,116618890.548701,116618891.548833,116618892.572735,116618893.595604,116618894.612614,116618895.647502,116618896.652534,116618897.654464,116618898.655456,116618899.647671,116618900.624602,116618901.603918,116618902.583448,116618903.548427,116618904.520135,116618905.498948,116618906.483216,116618907.478011,116618908.477068,116618909.4696,116618910.468146,116618911.472579,116618912.466378,116618913.460078,116618914.455596,116618915.451654,116618916.469145,116618917.489719,116618918.510464,116618919.521806,116618920.531012,116618921.512345,116618922.494142,116618923.480666,116618924.47097,116618925.475674,116618926.468822,116618927.449026,116618928.426851,116618929.421042,116618930.404192,116618931.402954,116618932.414721,116618933.423229,116618934.429311,116618935.433264,116618936.435977,116618937.451949,116618938.477015,116618939.497023,116618940.511507,116618941.527768,116618942.540776,116618943.544298,116618944.554255,116618945.554093,116618946.55282,116618947.552063,116618948.551928,116618949.535959,116618950.52463,116618951.507693,116618952.542778,116618953.525727,116618954.517332,116618955.515715,116618956.544382,116618957.540523,116618958.533694,116618959.530807,116618960.510377,116618961.504012,116618962.500177,116618963.486903,116618964.499503,116618965.489142,116618966.478694,116618967.493833,116618968.602294,116618969.578091,116618970.546569,116618971.535714,116618972.529341,116618973.510334,116618974.505405,116618975.51002,116618976.509667,116618977.497566,116618978.485856,116618979.4798,116618980.473829,116618981.472836,116618982.492528,116618983.510426,116618984.524167,116618985.534176,116618986.54172,116618987.591807,116618988.606747,116618989.59952,116618990.617216,116618991.616686,116618992.603482,116618993.592049,116618994.610436,116618995.60798,116618996.580025,116618997.547782,116618998.522785,116618999.514837,116619000.513737,116619001.510728,116619002.497755,116619003.496793,116619004.497131,116619005.486949,116619006.478529,116619007.48964,116619008.508671,116619009.523804,116619010.534522,116619011.555148,116619012.569009,116619013.576896,116619014.57469,116619015.571907,116619016.601312,116619017.572653,116619018.542882,116619019.520237,116619020.512267,116619021.501315,116619022.502055,116619023.493075,116619024.492863,116619025.48501,116619026.47864,116619027.491246,116619028.510576,116619029.526664,116619030.586815,116619031.59961,116619032.593702,116619033.587019,116619034.581667,116619035.584954,116619036.589949,116619037.029529,116619038.050091,116619039.086396,116619040.134703,116619041.153962,116619042.143095,116619043.129403,116619044.118921,116619045.1107,116619046.105421,116619047.1011,116619048.092516,116619049.067754,116619050.472159,116619051.541532,116619052.539641,116619053.492003,116619054.447731,116619055.234723,116619056.082342,116619057.029558,116619058.032362,116619059.009602,116619059.989562,116619061.058476,116619062.189007,116619063.306463,116619064.433087,116619065.5439,116619066.627911,116619067.695997,116619068.74737,116619069.781016,116619070.802184,116619071.82363,116619072.833748,116619073.839738,116619074.843952,116619075.609966,116619076.631188,116619077.629925,116619078.618214,116619079.608371,116619080.600436,116619081.594351,116619082.590211,116619083.586815,116619084.577402,116619085.552495,116619086.561666,116619087.534743,116619088.494284,116619089.460979,116619090.453334,116619091.433059,116619092.420205,116619093.429986,116619094.441702,116619095.450398,116619096.456611,116619097.470578,116619098.486019,116619099.484683,116619100.551527,116619101.55537,116619102.551791,116619103.57597,116619104.589944,116619105.589483,116619106.597605,116619107.595068,116619108.584272,116619109.559352,116619110.5476,116619111.543917,116619112.537039,116619113.524522,116619114.531961,116619115.526106,116619116.514955,116619117.504641,116619118.496949,116619119.490863,116619120.501789,116619121.55577,116619122.568237,116619123.573433,116619124.576348,116619125.621674,116619126.633314,116619127.649715,116619128.662206,116619129.674933,116619130.691937,116619131.694689,116619132.68241,116619133.658997,116619134.639105,116619135.606641,116619136.573157,116619137.547538,116619138.529196,116619139.530299,116619140.518254,116619141.508376,116619142.510977,116619143.512336,116619144.505064,116619145.514549,116619146.532314,116619147.555745,116619148.558306,116619149.541194,116619150.52309,116619151.512363,116619152.532022,116619153.522009,116619154.511339,116619155.519219,116619156.522372,116619157.523575,116619158.514223,116619159.516213,116619160.510018,116619161.503374,116619162.498033,116619163.493548,116619164.508168,116619165.529048,116619166.545651,116619167.832205,116619168.811895,116619169.847176,116619170.827074,116619171.574375,116619172.619366,116619173.636508,116619174.63118,116619175.669994,116619176.658603,116619177.644124,116619178.633457,116619179.625977,116619180.597884,116619181.57168,116619182.551482,116619183.551856,116619184.539846,116619185.569772,116619186.556107,116619187.54127,116619188.546442,116619189.560993,116619190.580505,116619191.598798,116619192.61109,116619193.639952,116619194.634805,116619195.609945,116619196.581104,116619197.558702,116619198.573425,116619199.558006,116619200.543231,116619201.545277,116619202.535226,116619203.537962,116619204.540653,116619205.531382,116619206.524247,116619207.52071,116619208.526405,116619209.546421,116619210.54839,116619211.561909,116619212.57423,116619213.583664,116619214.590389,116619215.595434,116619216.599121,116619217.628939,116619218.655308,116619219.675035,116619220.688579,116619221.697893,116619222.755261,116619223.754533,116619224.755091,116619225.747144,116619226.761206,116619227.76737,116619228.784899,116619229.80471,116619230.860951,116619231.86131,116619232.837458,116619233.818475,116619234.805003,116619235.819862,116619236.799528,116619237.780538,116619238.765867,116619239.755013,116619240.726998,116619241.697558,116619242.675151,116619243.658745,116619244.809151,116619245.791163,116619246.759735,116619247.724605,116619248.696161,116619249.675403,116619250.660695,116619251.649859,116619252.680264,116619253.686545,116619254.686309,116619255.687983,116619256.700409,116619257.688125,116619258.67149,116619259.660619,116619260.650775,116619261.661947,116619262.679536,116619263.711366,116619264.719472,116619265.72581,116619266.728627,116619267.729821,116619268.745266,116619269.744426,116619270.747082,116619271.744749,116619272.746468,116619273.743909,116619274.740524,116619275.78014,116619276.773051,116619277.762513,116619278.753569,116619279.743788,116619280.715789,116619281.701663,116619282.682728,116619283.677225,116619284.676931,116619285.675726,116619286.686933,116619287.675677,116619288.672858,116619289.661105,116619290.68675,116619291.70111,116619292.701379,116619293.707641,116619294.689287,116619295.684816,116619296.685733,116619297.68747,116619298.688199,116619299.675957,116619300.681359,116619301.716822,116619302.705124,116619303.703787,116619304.710403,116619305.716586,116619306.723438,116619307.726646,116619308.729596,116619309.743972,116619310.746823,116619311.74427,116619312.766845,116619313.763394,116619314.756016,116619315.750033,116619316.75118,116619317.752701,116619318.760043,116619319.755745,116619320.751554,116619321.747519,116619322.743927,116619323.727639,116619324.709129,116619325.691817,116619326.674593,116619327.671906,116619328.693727,116619329.692117,116619330.67744,116619331.684074,116619332.708042,116619333.742163,116619334.718709,116619335.69428,116619336.675828,116619337.672931,116619338.671662,116619339.660609,116619340.662035,116619341.653427,116619342.665757,116619343.657809,116619344.649602,116619345.653887,116619346.652102,116619347.669463,116619348.664367,116619349.702497,116619350.714371,116619351.720989,116619352.731433,116619353.734822,116619354.735902,116619355.736415,116619356.766275,116619357.842612,116619358.858862,116619359.859733,116619360.854193,116619361.828539,116619362.804479,116619363.828335,116619364.810217,116619365.791868,116619366.777814,116619367.765622,116619368.735778,116619369.714924,116619370.694775,116619371.720425,116619372.716099,116619373.696125,116619374.679083,116619375.668958,116619376.683513,116619377.706917,116619378.720484,116619379.733067,116619380.746027,116619381.746412,116619382.726211,116619383.708129,116619384.701967,116619385.700068,116619386.704988,116619387.697943,116619388.701718,116619389.686894,116619390.684851,116619391.698112,116619392.72234,116619393.745207,116619394.751881,116619395.751133,116619396.749135,116619397.747577,116619398.74687,116619399.74631,116619400.760997,116619401.764695,116619402.759992,116619403.755766,116619404.763936,116619405.760992,116619406.762167,116619407.764405,116619408.760225,116619409.755941,116619410.801972,116619411.770295,116619412.737461,116619413.719449,116619414.737793,116619415.73538,116619416.713042,116619417.702468,116619418.695009,116619419.681602,116619420.677543,116619421.667075,116619422.680182,116619423.696773,116619424.7101,116619425.725292,116619426.731311,116619427.735317,116619428.7271,116619429.707403,116619430.715288,116619431.700751,116619432.685206,116619433.684043,116619434.676922,116619435.667667,116619436.686291,116619437.679315,116619438.675915,116619439.674295,116619440.674574,116619441.667269,116619442.68051,116619443.697753,116619444.711536,116619445.721223,116619446.729167,116619447.740895,116619448.794948,116619449.791948,116619450.804709,116619451.819685,116619452.832224,116619453.885221,116619454.887048,116619455.881798,116619456.8552,116619457.828621,116619458.808134,116619459.792355,116619460.78168,116619461.784333,116619462.75933,116619463.730037,116619464.706859,116619465.676748,116619466.670579,116619467.66711,116619468.666944,116619469.671267,116619470.664833,116619471.658674,116619472.654418,116619473.651363,116619474.648982,116619475.652588,116619476.656017,116619477.655831,116619478.684436,116619479.703714,116619480.717848,116619481.727233,116619482.734404,116619483.743281,116619484.780642,116619485.785383,116619486.778324,116619487.772166,116619488.786547,116619489.813918,116619490.829815,116619491.816377,116619492.800538,116619493.787855,116619494.778908,116619495.772219,116619496.763447,116619497.738877,116619498.717427,116619499.698635,116619500.69402,116619501.687907,116619502.677771,116619503.675152,116619504.677804,116619505.670534,116619506.66977,116619507.665013,116619508.67752,116619509.685096,116619510.702202,116619511.716521,116619512.726836,116619513.735217,116619514.740912,116619515.758552,116619516.799124,116619517.833812,116619518.84737,116619519.857401,116619520.837915,116619521.816982,116619522.80083,116619523.78904,116619524.780246,116619525.761787,116619526.734764,116619527.712196,116619528.695359,116619529.662251,116619530.631258,116619531.616234,116619532.601663,116619533.587525,116619534.576104,116619535.581928,116619536.608432,116619537.657934,116619538.689076,116619539.730115,116619540.769386,116619541.803169,116619542.82472,116619543.846541,116619544.857444,116619545.86373,116619546.867378,116619547.868506,116619548.846874,116619549.825527,116619550.808755,116619551.783792,116619552.751924,116619553.747983,116619554.752178,116619555.755309,116619556.763581,116619557.764627,116619558.765379,116619559.761364,116619560.737767,116619561.724015,116619562.708804,116619563.694882,116619564.684392,116619565.69698,116619566.714382,116619567.737699,116619568.747658,116619569.737757,116619570.71848,116619571.716662,116619572.727947,116619573.738497,116619574.751197,116619575.755808,116619576.758634,116619577.747315,116619578.726176,116619579.711185,116619580.759273,116619581.741946,116619582.744198,116619583.773613,116619584.77789,116619585.776039,116619586.774446,116619587.772734,116619588.777746,116619589.801457,116619590.823054,116619591.842953,116619592.854851,116619593.862598,116619594.868347,116619595.856962,116619596.835728,116619597.818872,116619598.783763,116619599.752171,116619600.727879,116619601.717546,116619602.703006,116619603.69748,116619604.693121,116619605.701934,116619606.697663,116619607.711674,116619608.701906,116619609.711874,116619610.727106,116619611.748946,116619612.757251,116619613.758915,116619614.738539,116619615.726407,116619616.721383,116619617.751344,116619618.746387,116619619.727847,116619620.710739,116619621.698083,116619622.771394,116619623.785365,116619624.769646,116619625.781017,116619626.772423,116619627.771943,116619628.773978,116619629.760292,116619630.738203,116619631.74247,116619632.751039,116619633.762231,116619634.76728,116619635.775396,116619636.776618,116619637.782218,116619638.789507,116619639.794274,116619640.80671,116619641.802325,116619642.81443,116619643.806711,116619644.798841,116619645.802399,116619646.800083,116619647.799644,116619648.794694,116619649.791706,116619650.764052,116619651.746693,116619652.750479,116619653.758162,116619654.782564,116619655.765946,116619656.772415,116619657.772433,116619658.754423,116619659.737025,116619660.718663,116619661.716372,116619662.704837,116619663.694914,116619664.707943,116619665.726202,116619666.741722,116619667.758077,116619668.812074,116619669.810921,116619670.807032,116619671.809294,116619672.811257,116619673.822128,116619674.815139,116619675.806519,116619676.803938,116619677.815623,116619678.835825,116619679.854727,116619680.866715,116619681.872607,116619682.854159,116619683.834804,116619684.824452,116619685.81727,116619686.80877,116619687.848673,116619688.842981,116619689.830772,116619690.82207,116619691.811656,116619692.846227,116619693.835366,116619694.817815,116619695.784806,116619696.755576,116619697.733165,116619698.717177,116619699.705304,116619700.680912,116619701.659538,116619702.652757,116619703.6567,116619704.661345,116619705.66727,116619706.673409,116619707.707531,116619708.703709,116619709.696903,116619710.703622,116619711.731814,116619712.760111,116619713.775351,116619714.783944,116619715.792177,116619716.77633,116619717.758909,116619718.752321,116619719.771262,116619720.754162,116619721.73675,116619722.723602,116619723.724261,116619724.738645,116619725.751338,116619726.760605,116619727.767713,116619728.772546,116619729.776731,116619730.80179,116619731.82983,116619732.849689,116619733.852465,116619734.838578,116619735.824778,116619736.814506,116619737.807148,116619738.801321,116619739.785116,116619740.759055,116619741.73744,116619742.720017,116619743.685882,116619744.659575,116619745.65236,116619746.649855,116619747.648327,116619748.673783,116619749.679332,116619750.680569,116619751.681294,116619752.681351,116619753.681008,116619754.705779,116619755.728951,116619756.746654,116619757.7589,116619758.772316,116619759.800891,116619760.812425,116619761.820198,116619762.81552,116619763.809588,116619764.813724,116619765.815809,116619766.817235,116619767.814233,116619768.808564,116619769.809952,116619770.830411,116619771.849703,116619772.907735,116619773.914929,116619774.913788,116619775.911571,116619776.888263,116619777.873537,116619778.853925,116619779.83788,116619780.802505,116619781.770615,116619782.724489,116619783.686661,116619784.733229,116619785.772846,116619786.740097,116619787.727598,116619788.719322,116619789.711724,116619790.705582,116619791.700853,116619792.706767,116619793.72728,116619794.745697,116619795.760365,116619796.775031,116619797.791636,116619798.796131,116619799.796935,116619800.80651,116619801.864703,116619802.857597,116619803.851622,116619804.846681,116619805.836127,116619806.811498,116619807.792339,116619808.786273,116619809.796746,116619810.806781,116619811.807186,116619812.807051,116619813.805229,116619814.812689,116619815.817229,116619816.817925,116619817.81439,116619818.81304,116619819.845829,116619820.839802,116619821.835117,116619822.832769,116619823.827836,116619824.823326,116619825.822813,116619826.818347,116619827.819423,116619828.821875,116619829.81927,116619830.832071,116619831.853108,116619832.862537,116619833.848881,116619834.836558,116619835.826792,116619836.819605,116619837.814568,116619838.799646,116619839.773798,116619840.751514,116619841.746114,116619842.733106,116619843.72365,116619844.715547,116619845.709194,116619846.704215,116619847.722561,116619848.749983,116619849.765984,116619850.775782,116619851.770157,116619852.751709,116619853.742238,116619854.735932,116619855.724983,116619856.720771,116619857.730501,116619858.739537,116619859.73013,116619860.720134,116619861.714681,116619862.720309,116619863.739675,116619864.756522,116619865.768932,116619866.778067,116619867.784998,116619868.67436,116619869.691051,116619870.70656,116619871.715692,116619872.70776,116619873.688558,116619874.671477,116619875.659206,116619876.626537,116619877.597219,116619878.575563,116619879.567202,116619880.568631,116619881.557536,116619882.547453,116619883.580014,116619884.585571,116619885.584033,116619886.593756,116619887.602517,116619888.609283,116619889.622402,116619890.630275,116619891.636063,116619892.633908,116619893.631762,116619894.620982,116619895.608102,116619896.585718,116619897.575623,116619898.570659,116619899.557803,116619900.54725,116619901.571788,116619902.56174,116619903.551252,116619904.543231,116619905.539677,116619906.534775,116619907.530121,116619908.53366,116619909.555287,116619910.574234,116619911.588247,116619912.644812,116619913.647317,116619914.644185,116619915.665356,116619916.699222,116619917.693565,116619918.677917,116619919.675913,116619920.664193,116619921.654555,116619922.666916,116619923.660282,116619924.652225,116619925.687855,116619926.679245,116619927.666825,116619928.656286,116619929.628363,116619930.600592,116619931.580333,116619932.571573,116619933.559122,116619934.54889,116619935.558361,116619936.562681,116619937.571177,116619938.590772,116619939.597872,116619940.605575,116619941.61794,116619942.631201,116619943.638079,116619944.666594,116619945.661107,116619946.634429,116619947.606483,116619948.584259,116619949.567937,116619950.575826,116619951.579542,116619952.567743,116619953.556116,116619954.547267,116619955.547917,116619956.566775,116619957.584076,116619958.608941,116619959.630183,116619960.691909,116619961.685,116619962.671908,116619963.655939,116619964.633398,116619965.622386,116619966.619624,116619967.625863,116619968.62834,116619969.63698,116619970.628802,116619971.614035,116619972.609354,116619973.60072,116619974.599064,116619975.607424,116619976.62199,116619977.626453,116619978.619922,116619979.612443,116619980.610304,116619981.623246,116619982.627467,116619983.606046,116619984.585345,116619985.58056,116619986.581323,116619987.581256,116619988.579378,116619989.585966,116619990.573217,116619991.57494,116619992.574795,116619993.588877,116619994.60906,116619995.617933,116619996.626805,116619997.607558,116619998.596212,116619999.580861,116620000.589517,116620001.610185,116620002.624691,116620003.629043,116620004.664008,116620005.670001,116620006.663264,116620007.657692,116620008.653099,116620009.655463,116620010.651522,116620011.700112,116620012.691352,116620013.67817,116620014.645499,116620015.615225,116620016.592324,116620017.60151,116620018.589968,116620019.58532,116620020.579787,116620021.568203,116620022.566455,116620023.582618,116620024.598184,116620025.609859,116620026.6263,116620027.638389,116620028.640573,116620029.673693,116620030.676585,116620031.67633,116620032.675608,116620033.685756,116620034.66591,116620035.664253,116620036.658786,116620037.654371,116620038.65097,116620039.640075,116620040.614933,116620041.593348,116620042.585857,116620043.57922,116620044.579471,116620045.579487,116620046.571577,116620047.563419,116620048.576897,116620049.594665,116620050.638496,116620051.644587,116620052.644724,116620053.644244,116620054.656633,116620055.68781,116620056.711574,116620057.708439,116620058.702268,116620059.688552,116620060.677312,116620061.668423,116620062.661588,116620063.708416,116620064.698776,116620065.676341,116620066.642312,116620067.648935,116620068.634612,116620069.610252,116620070.601336,116620071.585933,116620072.573288,116620073.569434,116620074.5618,116620075.555614,116620076.559188,116620077.602131,116620078.591898,116620079.589021,116620080.586733,116620081.599729,116620082.619132,116620083.628013,116620084.6155,116620085.596944,116620086.592685,116620087.586969,116620088.58391,116620089.576497,116620090.574588,116620091.587862,116620092.603141,116620093.615547,116620094.624538,116620095.659941,116620096.664026,116620097.665702,116620098.667194,116620099.708471,116620100.727415,116620101.736525,116620102.731578,116620103.712747,116620104.695769,116620105.66225,116620106.630562,116620107.606663,116620108.638033,116620109.619271,116620110.59912,116620111.584187,116620112.592881,116620113.607507,116620114.619491,116620115.634173,116620116.640022,116620117.646379,116620118.656529,116620119.656294,116620120.635875,116620121.611998,116620122.593199,116620123.579513,116620124.569479,116620125.555275,116620126.527473,116620127.562872,116620128.557459,116620129.529554,116620130.506228,116620131.505345,116620132.514933,116620133.523337,116620134.529744,116620135.536307,116620136.539673,116620137.548242,116620138.568655,116620139.591346,116620140.608728,116620141.621735,116620142.630904,116620143.645586,116620144.64879,116620145.650581,116620146.680087,116620147.685922,116620148.687662,116620149.680028,116620150.672821,116620151.659139,116620152.631973,116620153.61776,116620154.609837,116620155.626355,116620156.61734,116620157.613513,116620158.597618,116620159.6027,116620160.615512,116620161.637491,116620162.644267,116620163.62858,116620164.623033,116620165.616386,116620166.636624,116620167.625115,116620168.606852,116620169.602771,116620170.590285,116620171.589138,116620172.589333,116620173.597702,116620174.612149,116620175.624264,116620176.643959,116620177.648954,116620178.628599,116620179.625653,116620180.617866,116620181.60134,116620182.596337,116620183.587141,116620184.589798,116620185.587366,116620186.581964,116620187.816821,116620188.611034,116620189.648411,116620190.62973,116620191.559301,116620192.489027,116620193.381209,116620194.300143,116620195.234974,116620196.187235,116620197.154379,116620198.129,116620199.13186,116620200.11071,116620201.091252,116620202.105935,116620203.100005,116620204.089606,116620205.086191,116620206.100854,116620207.117382,116620208.161866,116620209.210065,116620210.256696,116620211.276646,116620212.289818,116620213.300788,116620214.321613,116620215.336305,116620216.39533,116620217.449293,116620218.427736,116620219.399573,116620220.385347,116620221.367548,116620222.355863,116620223.34967,116620224.406818,116620225.41398,116620226.413886,116620227.413242,116620228.42099,116620229.42899,116620230.436356,116620231.452959,116620232.467924,116620233.482932,116620234.493703,116620235.501914,116620236.510666,116620237.512274,116620238.512304,116620239.502462,116620240.536266,116620241.538331,116620242.509454,116620243.483709,116620244.464411,116620245.479867,116620246.466208,116620247.45182,116620248.44138,116620249.433656,116620250.428178,116620251.424667,116620252.432397,116620253.430222,116620254.471134,116620255.461873,116620256.449821,116620257.440939,116620258.433701,116620259.457249,116620260.449541,116620261.440349,116620262.432942,116620263.427744,116620264.423797,116620265.420871,116620266.418666,116620267.452546,116620268.447196,116620269.438931,116620270.432325,116620271.427339,116620272.428285,116620273.4479,116620274.465666,116620275.485705,116620275.873446,116620275.880144,116620275.884062,116620275.887493,116620275.891094,116620276.549664,116620277.565558,116620278.579629,116620279.593032,116620280.601122,116620281.606134,116620282.609579,116620283.612055,116620284.614068,116620285.615177,116620286.626159,116620287.639874,116620288.642251,116620289.637694,116620290.633599,116620291.629778,116620292.626955,116620293.625163,116620294.623804,116620295.62268,116620296.621826,116620297.621369,116620298.62117,116620299.620981,116620300.618125,116620301.602022,116620302.587664,116620303.581195,116620304.566276,116620305.552934,116620306.550443,116620307.542294,116620308.547133,116620309.541027,116620310.534447,116620311.529398,116620312.525701,116620313.523355,116620314.521664,116620315.520657,116620316.530697,116620317.530349,116620318.527681,116620319.524934,116620320.52301,116620321.522075,116620322.52308,116620323.528962,116620324.527663,116620325.527456,116620326.525204,116620327.522957,116620328.521357,116620329.524178,116620330.525583,116620331.524404,116620332.522558,116620333.537098,116620334.557939,116620335.574802,116620336.587211,116620337.633873,116620338.632042,116620339.605309,116620340.582284,116620341.564614,116620342.551962,116620343.542585,116620344.53587,116620345.531101,116620346.52782,116620347.525165,116620348.522979,116620349.521385,116620350.520379,116620351.520022,116620352.519713,116620353.519319,116620354.518699,116620355.518784,116620356.51862,116620357.518067,116620358.518038,116620359.518204,116620360.527742,116620361.550709,116620362.571169,116620363.585642,116620364.595774,116620365.603277,116620366.608598,116620367.612547,116620368.615363,116620369.617261,116620370.640405,116620371.684125,116620372.737035,116620373.767932,116620374.795008,116620375.816391,116620376.8252,116620377.829937,116620378.833797,116620379.826221,116620380.047639,116620380.304261,116620380.555906,116620380.897218,116620381.350434,116620381.957719,116620382.655767,116620383.400351,116620384.20639,116620385.067147,116620385.964715,116620386.880877,116620387.926205,116620389.00822,116620389.927655,116620390.827288,116620391.746557,116620392.686896,116620393.644162,116620394.612874,116620395.590682,116620396.574272,116620397.562082,116620398.553771,116620399.838135,116620400.736054,116620401.634688,116620402.55612,116620403.526682,116620404.48177,116620405.445833,116620406.41906,116620407.410285,116620408.395038,116620409.352315,116620410.322332,116620411.302618,116620412.327424,116620413.315479,116620414.35806,116620415.439606,116620416.493286,116620417.547777,116620418.522872,116620419.507952,116620420.541475,116620421.62669,116620422.722759,116620423.80188,116620424.877574,116620425.909547,116620426.909636,116620427.90286,116620428.873549,116620429.825041,116620430.800513,116620431.768288,116620432.739881,116620433.699041,116620434.664129,116620435.637994,116620436.618851,116620437.60496,116620438.6047,116620439.619981,116620440.633707,116620441.681606,116620442.684791,116620443.682793,116620444.687663,116620445.73032,116620446.722169,116620447.710059,116620448.70048,116620449.693616,116620450.688411,116620451.685243,116620452.682548,116620453.680272,116620454.678425,116620455.706603,116620456.712382,116620457.742354,116620458.731948,116620459.734498,116620460.720981,116620461.722458,116620462.717241,116620463.707171,116620464.698549,116620465.694682,116620466.703619,116620467.737547,116620468.790308,116620469.893427,116620470.932619,116620471.931886,116620472.924206,116620473.894524,116620474.866578,116620475.845162,116620476.837152,116620477.832954,116620478.811133,116620479.779438,116620480.761771,116620481.74814,116620482.735263,116620483.737193,116620484.724882,116620485.713975,116620486.706099,116620487.699726,116620488.695208,116620489.69159,116620490.689299,116620491.687366,116620492.686797,116620493.686135,116620494.685566,116620495.684943,116620496.684605,116620497.684042,116620498.68369,116620499.683957,116620500.683883,116620501.683359,116620502.683166,116620503.68316,116620504.683417,116620505.683482,116620506.685807,116620507.691334,116620508.694991,116620509.693311,116620510.701136,116620511.710158,116620512.706021,116620513.71057,116620514.729087,116620515.745736,116620516.758332,116620517.792034,116620518.867338,116620519.878537,116620520.862329,116620521.8448,116620522.830981,116620523.828412,116620524.824537,116620525.81733,116620526.810516,116620527.800781,116620528.80297,116620529.778414,116620530.754763,116620531.736823,116620532.723177,116620533.713638,116620534.707316,116620535.702335,116620536.698197,116620537.695627,116620538.693631,116620539.709432,116620540.74037,116620541.731794,116620542.720505,116620543.711545,116620544.705282,116620545.700497,116620546.697649,116620547.695048,116620548.70539,116620549.717794,116620550.712507,116620551.706639,116620552.701906,116620553.701707,116620554.707363,116620555.704815,116620556.713259,116620557.732953,116620558.74991,116620559.762497,116620560.771729,116620561.778586,116620562.783302,116620563.786899,116620564.789563,116620565.791271,116620566.792598,116620567.80446,116620568.787958,116620569.777517,116620570.780266,116620571.770632,116620572.763775,116620573.745681,116620574.730434,116620575.718932,116620576.710864,116620577.704873,116620578.700609,116620579.697244,116620580.695027,116620581.693323,116620582.692139,116620583.691158,116620584.69062,116620585.690294,116620586.689985,116620587.701889,116620588.72587,116620589.746411,116620590.776569,116620591.784629,116620592.789332,116620593.79218,116620594.800208,116620595.800758,116620596.799365,116620597.776154,116620598.785024,116620599.778503,116620600.779446,116620601.78053,116620602.762206,116620603.744413,116620604.730711,116620605.720358,116620606.712218,116620607.70684,116620608.702737,116620609.710523,116620610.731525,116620611.749701,116620612.766404,116620613.776458,116620614.782998,116620615.787266,116620616.790709,116620617.79316,116620618.795091,116620619.806619,116620620.816851,116620621.821742,116620622.820541,116620623.792359,116620624.777938,116620625.756009,116620626.739041,116620627.726068,116620628.716816,116620629.709836,116620630.704924,116620631.7018,116620632.699589,116620633.697342,116620634.695722,116620635.69519,116620636.694258,116620637.693357,116620638.692664,116620639.692361,116620640.704804,116620641.703099,116620642.712995,116620643.70931,116620644.705435,116620645.702581,116620646.700736,116620647.705217,116620648.704076,116620649.701417,116620650.703582,116620651.704177,116620652.702351,116620653.700285,116620654.698306,116620655.716559,116620656.738696,116620657.755783,116620658.781975,116620659.793232,116620660.79604,116620661.797519,116620662.799107,116620663.801726,116620664.802264,116620665.802511,116620666.802067,116620667.802232,116620668.818834,116620669.821647,116620670.825684,116620671.840394,116620672.840867,116620673.820626,116620674.792633,116620675.798544,116620676.804668,116620677.781951,116620678.768499,116620679.289425,116620680.255246,116620681.33066,116620682.39487,116620683.431018,116620684.456272,116620685.474433,116620686.487461,116620687.543562,116620688.544295,116620689.53926,116620690.534613,116620691.53108,116620692.529637,116620693.531119,116620694.538739,116620695.551146,116620696.57427,116620697.591733,116620698.656631,116620699.657286,116620700.675646,116620701.69336,116620702.70608,116620703.715584,116620704.738834,116620705.732839,116620706.712552,116620707.702707,116620708.685909,116620709.680677,116620710.66885,116620711.658673,116620712.651409,116620713.645731,116620714.651809,116620715.662042,116620716.65453,116620717.637143,116620718.609237,116620719.587942,116620720.609945,116620721.631496,116620722.646894,116620723.672989,116620724.719469,116620725.745306,116620726.743301,116620727.72858,116620728.713639,116620729.70648,116620730.696915,116620731.684244,116620732.673585,116620733.682424,116620734.689456,116620735.694832,116620736.709589,116620737.708744,116620738.761093,116620739.819328,116620740.901621,116620741.960492,116620742.976621,116620744.020156,116620745.016164,116620746.020078,116620746.999091,116620747.948469,116620748.864282,116620749.827704,116620750.776274,116620751.719652,116620752.672395,116620753.621821,116620754.574129,116620755.559672,116620756.580164,116620757.598321,116620758.627964,116620759.674851,116620760.740689,116620761.783583,116620762.813404,116620763.831533,116620764.829944,116620765.814723,116620766.800974,116620767.773007,116620768.787899,116620769.75858,116620770.717726,116620771.674229,116620772.653419,116620773.648346,116620774.625592,116620775.61718,116620776.625269,116620777.633305,116620778.639446,116620779.694752,116620780.706035,116620781.695724,116620782.685355,116620783.677875,116620784.671842,116620785.66956,116620786.690678,116620787.720954,116620788.728134,116620789.752946,116620790.972319,116620792.088149,116620793.009831,116620793.913129,116620794.826707,116620795.761198,116620796.713536,116620797.693861,116620798.691688,116620799.692106,116620800.692733,116620801.69298,116620802.711079,116620803.735445,116620804.754008,116620805.767877,116620806.797815,116620807.799261,116620808.782752,116620809.768743,116620810.750092,116620811.735343,116620812.724041,116620813.716033,116620814.710164,116620815.706049,116620816.703179,116620817.701196,116620818.699551,116620819.698396,116620820.697137,116620821.720546,116620822.711785,116620823.706487,116620824.703438,116620825.713218,116620826.721948,116620827.717681,116620828.712064,116620831.827829,116620832.755698,116620833.649175,116620834.521363,116620835.401161,116620836.342922,116620837.300074,116620838.250776,116620839.207082,116620840.17002,116620841.186031,116620842.234767,116620843.351729,116620844.376825,116620845.316329,116620846.280496,116620847.284858,116620848.382957,116620849.409859,116620850.422323,116620851.443385,116620852.508796,116620853.532767,116620854.581477,116620855.629653,116620856.665664,116620857.703033,116620858.721407,116620859.714685,116620860.70384,116620861.69603,116620862.68671,116620863.689933,116620864.683247,116620865.723313,116620866.724739,116620867.709367,116620868.695488,116620869.685021,116620870.810444,116620871.712023,116620872.622641,116620873.568727,116620874.517286,116620875.478528,116620876.475919,116620877.475865,116620878.468886,116620879.495965,116620880.489664,116620881.477119,116620882.486949,116620883.492922,116620884.515276,116620885.546174,116620886.5449,116620887.539686,116620888.529152,116620889.52999,116620890.542313,116620891.564084,116620892.185357,116620892.194022,116620892.198595,116620892.202821,116620892.207122,116620892.214465,116620892.334142,116620894.393185,116620897.4182,116620899.693036,116620901.657061,116620902.669575,116620903.545589,116620904.42847,116620905.338258,116620906.272584,116620907.266753,116620908.264852,116620909.447331,116620910.32362,116620911.250892,116620912.227356,116620913.244952,116620914.304379,116620915.382048,116620916.453598,116620917.507889,116620918.553707,116620919.581933,116620920.637413,116620921.625888,116620922.605919,116620923.590445,116620924.578593,116620925.572866,116620926.566611,116620927.562616,116620928.556555,116620929.557185,116620930.55555,116620931.553551,116620932.552098,116620933.550808,116620934.566332,116620935.588968,116620936.611851,116620937.624244,116620938.626325,116620939.625472,116620940.62863,116620941.609834,116620942.593445,116620943.581197,116620944.577875,116620945.570609,116620946.563959,116620947.558871,116620948.555431,116620949.552874,116620950.568015,116620951.610924,116620952.61112,116620953.596162,116620954.583051,116620955.573643,116620956.56653,116620957.561356,116620958.548973,116620959.523973,116620960.513514,116620961.496321,116620962.509983,116620963.508479,116620964.507419,116620965.517911,116620966.526519,116620967.532809,116620968.537208,116620969.540327,116620970.560075,116620971.566554,116620972.567435,116620973.582752,116620974.602318,116620975.617078,116620976.630604,116620977.638591,116620978.643725,116620979.663736,116620980.671481,116620981.66901,116620982.666105,116620983.66365,116620984.661837,116620985.66037,116620986.659357,116620987.645393,116620988.621506,116620989.60206,116620990.587594,116620991.586018,116620992.586609,116620993.584099,116620994.575846,116620995.568913,116620996.563642,116620997.582837,116620998.607294,116620999.603086,116621000.589988,116621001.58515,116621002.584892,116621003.591393,116621004.611565,116621005.616862,116621006.602142,116621007.589068,116621008.579389,116621009.577949,116621010.571939,116621011.575673,116621012.576196,116621013.571204,116621014.579934,116621015.604397,116621016.602187,116621017.62175,116621018.611322,116621019.650215,116621020.942735,116621021.965464,116621022.878799,116621023.797814,116621024.742447,116621025.706137,116621026.679109,116621027.656238,116621028.638439,116621029.625376,116621030.623985,116621031.641101,116621032.656413,116621033.672864,116621034.680783,116621035.668668,116621036.649601,116621037.634334,116621038.622837,116621039.614787,116621040.619895,116621041.621975,116621042.615281,116621043.61156,116621044.641162,116621045.620135,116621046.606965,116621047.601949,116621048.59917,116621049.59683,116621050.596002,116621051.637817,116621052.645401,116621053.664138,116621054.667942,116621055.678909,116621056.68608,116621057.690529,116621058.671695,116621059.651326,116621060.68916,116621061.682112,116621062.660904,116621063.643429,116621064.638195,116621065.631993,116621066.623169,116621067.615472,116621068.609944,116621069.615426,116621070.635468,116621071.65374,116621072.667543,116621073.677361,116621074.684057,116621075.689,116621076.716033,116621077.74923,116621078.755137,116621079.744161,116621080.710686,116621081.680408,116621082.657698,116621083.624971,116621084.602219,116621085.273592,116621086.397663,116621087.504824,116621088.585571,116621089.645489,116621090.687877,116621091.739953,116621092.786384,116621093.830265,116621094.855949,116621095.894091,116621096.886336,116621097.866641,116621098.850199,116621099.599272,116621100.599961,116621101.599394,116621102.606539,116621103.604596,116621104.602603,116621105.611614,116621106.611886,116621107.619888,116621108.615056,116621109.609935,116621110.616221,116621111.613709,116621112.624858,116621113.618924,116621114.612745,116621115.625649,116621116.645709,116621117.670429,116621118.689465,116621119.695415,116621120.699109,116621121.700625,116621122.705914,116621123.778744,116621124.803476,116621125.805334,116621126.784584,116621127.764524,116621128.734593,116621129.70013,116621130.673035,116621131.653075,116621132.638472,116621133.60986,116621134.597634,116621135.590878,116621136.592378,116621137.608865,116621138.60918,116621139.607432,116621140.607512,116621141.605076,116621142.603497,116621143.609762,116621144.61563,116621145.613372,116621146.610423,116621147.607835,116621148.623188,116621149.888706,116621150.880111,116621151.867235,116621152.899657,116621153.91174,116621154.918306,116621155.929448,116621156.932537,116621157.933123,116621158.93939,116621159.939317,116621160.938443,116621161.937991,116621162.941257,116621163.968554,116621164.98939,116621166.011817,116621166.998484,116621167.980596,116621168.944662,116621169.912176,116621170.887547,116621171.869611,116621172.856664,116621173.847535,116621174.878099,116621175.86856,116621176.856728,116621177.851973,116621178.84607,116621179.840152,116621180.851553,116621181.869494,116621182.889308,116621183.634015,116621184.654657,116621185.669434,116621186.658435,116621187.645587,116621188.635614,116621189.638163,116621190.632582,116621191.626349,116621192.62893,116621193.651926,116621194.662319,116621195.663457,116621196.676025,116621197.694341,116621198.70872,116621199.763781,116621200.767537,116621201.754332,116621202.721414,116621203.692697,116621204.675247,116621205.682134,116621206.669036,116621207.654401,116621208.645748,116621209.658461,116621210.718174,116621211.725512,116621212.734921,116621213.734272,116621214.731216,116621215.734658,116621216.741748,116621217.743726,116621218.740111,116621219.736057,116621220.782607,116621221.786624,116621222.769966,116621223.743436,116621224.711603,116621225.694914,116621226.685531,116621227.687038,116621228.69616,116621229.704174,116621230.779027,116621231.7818,116621232.769707,116621233.764684,116621234.804053,116621235.799969,116621236.79309,116621237.788189,116621238.783086,116621239.770468,116621240.774456,116621241.815843,116621242.799448,116621243.781078,116621244.766697,116621245.755351,116621246.724575,116621247.749849,116621248.722641,116621249.706664,116621250.689764,116621251.673144,116621252.66126,116621253.654325,116621254.671326,116621255.717601,116621256.725815,116621257.728014,116621258.738504,116621259.73886,116621260.737099,116621261.735481,116621262.73419,116621263.73606,116621264.72441,116621265.718236,116621266.727921,116621267.711911,116621268.698599,116621269.691251,116621270.689723,116621271.69953,116621272.708483,116621273.714928,116621274.728553,116621275.730681,116621276.922191,116621277.945837,116621278.943493,116621279.921251,116621280.920825,116621281.904077,116621282.887903,116621283.875231,116621284.889214,116621285.914199,116621286.927306,116621287.934823,116621288.933582,116621289.916295,116621290.73779,116621291.742499,116621292.720096,116621293.705631,116621294.68834,116621295.709546,116621296.719523,116621297.736811,116621298.749271,116621299.751268,116621300.750979,116621301.751414,116621302.770244,116621303.792438,116621304.812866,116621360.253257,116621363.79128,116621419.25991,116621571.322095,116621646.666708,116621647.597745,116621648.513247,116621722.004499,116621723.198647,116621796.423673,116621796.430715,116621796.434787,116621796.43892,116621796.442639,116621796.452672,116621796.686289,116621874.01386,116621878.090375,116621878.177083,116621878.264516,116621967.06374,116622045.676309,116622046.48675,116622115.848648,116622118.4918,116622119.842225,116622121.054104,116622122.138077,116622123.158949,116622124.168463,116622125.174651,116622126.17883],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[4861,4156,1598,2835,1910,1679,1482,1271,1044,919,842,781,764,724,711,715,748,733,786,847,867,900,921,940,946,960,992,975,994,1034,1023,1016,1022,1029,1024,1037,1011,1007,1025,1023,1081,1031,991,991,993,1016,1016,1011,1053,1014,1006,992,991,998,1026,1025,1012,1014,1001,999,990,979,981,1086,1001,991,992,994,995,995,1010,1020,1017,1012,1048,1005,1020,1017,1019,1009,1005,979,981,985,989,992,1016,993,2066,1708,1497,1374,1239,1175,855,495,499,599,681,764,840,906,932,927,972,1037,1034,1049,1039,1029,1021,1047,1041,1032,1043,1035,1026,1016,1012,996,977,967,963,971,981,985,1020,1005,984,984,989,1013,1032,1022,1004,998,998,1010,1070,1011,1003,1015,1043,1009,996,1005,985,995,998,1046,992,989,992,992,994,987,988,991,980,985,989,980,984,1001,989,990,993,1017,1020,1003,988,971,988,1036,988,977,1005,1000,1017,989,1001,1011,1013,997,1019,1002,1000,991,992,1012,1000,1049,1022,1002,982,976,991,984,996,1019,1005,1014,1005,988,1000,983,984,988,992,991,981,972,978,996,998,986,1001,1002,1002,1002,991,989,993,1017,1016,1015,1011,1005,1028,1011,1019,1016,1020,1013,1004,1001,1013,1022,994,991,1021,1053,1035,1023,1062,1039,1007,991,970,968,953,959,953,944,930,935,931,913,919,1011,947,951,991,1036,1060,1069,1064,1073,1031,1030,1013,1030,1020,1020,995,982,1004,1009,1017,1005,1001,1012,1011,997,996,991,981,976,982,986,989,992,1007,970,973,991,983,1001,1011,1016,994,989,983,986,989,1006,1001,1003,994,992,993,994,996,1006,1005,1006,1018,1015,1013,1010,1004,1011,1007,998,999,1003,1033,1018,1011,1015,1009,1010,999,998,999,979,976,981,1000,995,998,996,989,991,993,979,973,1038,991,988,977,993,1008,1008,1017,1010,1007,1007,996,995,996,1006,1007,1005,1000,1041,992,987,1001,1013,1010,1008,1005,1013,1003,1000,1000,1000,982,977,982,986,990,992,978,973,990,983,1005,1000,999,986,1008,988,989,1006,1016,1013,1010,1015,1007,1002,1011,999,990,975,986,982,994,1019,1025,1010,1002,1000,1000,1000,1000,1000,1016,1023,1026,1022,1017,1001,994,1027,971,972,964,962,977,988,982,994,995,986,998,990,993,1003,1017,1022,1064,1008,1003,993,1000,991,992,995,995,973,976,991,997,987,1001,990,1039,1023,990,999,1005,1004,1002,1002,1002,1013,1014,1020,1016,1018,1014,1011,1008,1038,992,989,968,973,979,1027,984,982,993,976,1011,957,964,971,990,993,1496,972,973,958,944,950,981,998,1024,1017,1046,1102,1119,1082,1059,1043,1063,1025,1009,1005,1003,1000,972,955,955,975,964,963,968,977,967,988,1034,1223,1222,1017,895,886,923,932,949,962,973,1002,1006,1004,1004,1003,1003,1012,1019,1018,1013,1009,1006,1004,1003,1018,1009,1007,993,1008,1017,1014,1010,1016,1022,1013,1005,993,994,995,996,997,975,969,961,968,982,992,992,986,989,991,1005,1017,1014,1010,1007,1012,1033,1018,1020,1002,992,997,1061,1010,985,972,977,984,987,999,1016,1010,1008,984,994,988,994,992,993,1020,1018,1015,1033,1028,1022,1016,1011,1012,1005,1002,1002,1000,990,976,981,973,998,947,951,962,963,968,967,973,990,1005,1036,1062,1079,1073,1054,1045,1028,1021,1014,1028,1015,1000,997,999,993,974,977,969,964,969,957,965,974,983,974,978,995,998,1005,1004,1001,996,1004,996,996,1005,1005,994,1004,1040,991,991,1013,1013,1018,1011,1011,999,998,987,976,980,992,1027,984,973,979,980,994,995,1000,1003,1000,1002,999,999,1021,1020,1017,1011,1008,1013,1007,1017,1005,994,995,998,1003,995,996,987,975,980,975,979,971,986,1006,1014,1012,1000,1005,998,997,1019,1002,1001,1011,1040,984,989,991,988,993,1038,996,986,987,998,1014,1012,1009,1006,1046,999,1017,1019,1000,1030,977,977,983,986,990,980,986,1328,1138,897,908,870,895,924,973,956,964,1019,968,970,1009,1062,1069,1061,1032,1001,997,997,998,1011,998,1002,988,984,1037,971,980,975,988,984,987,1004,1003,991,991,993,995,1007,1014,1014,1048,996,989,968,976,985,983,987,989,992,994,984,975,994,1043,992,972,992,990,983,999,1053,982,989,992,983,1015,1030,1016,1008,995,995,995,1019,999,1017,1016,1011,1015,1005,1019,993,974,977,983,987,991,993,995,1039,1000,976,980,977,985,989,984,1001,1012,1010,1007,1005,1022,1024,1012,1006,1005,988,987,996,1002,1016,997,993,992,1003,1012,990,989,1003,1016,1014,1010,1008,1005,1018,1032,1015,990,989,966,950,958,968,977,983,988,992,1025,1003,1000,988,998,1000,992,992,993,995,1019,1025,1020,1007,1011,1001,1026,981,975,1000,1004,1007,1002,1001,1016,1013,995,994,1030,1031,1017,1004,1002,1000,1000,1000,1013,1000,996,998,988,976,980,984,987,992,997,1003,1011,1009,988,987,1046,986,993,985,1009,1004,1006,994,984,987,1013,1000,1004,999,987,990,1011,1006,1024,1009,983,1026,990,988,983,1027,990,993,983,986,1001,1024,1037,981,979,983,988,991,989,973,976,973,965,1036,971,979,1000,1002,1001,1001,1001,1008,1023,1019,1013,1010,1016,1014,1009,997,995,997,1072,996,982,985,988,991,1000,1017,1016,1019,1011,1010,1002,1000,1000,998,977,992,982,984,988,981,971,977,983,988,991,1005,993,1006,993,1005,1005,1017,988,1004,989,1002,991,991,994,1022,1015,1051,1030,1026,1070,1013,992,971,974,980,986,999,1013,1061,1002,1004,1002,1037,990,986,988,992,1003,971,974,980,985,988,992,982,1016,972,983,988,982,985,995,991,993,994,1025,1004,1014,1012,1016,1006,1007,1005,1026,997,977,985,981,1002,1005,1003,1031,999,999,1020,1026,1020,1007,1009,1011,1004,997,997,984,975,979,985,989,1042,975,985,1001,1007,992,993,1021,1024,1005,982,983,998,1000,981,983,994,1056,1000,988,997,991,986,992,987,1031,993,983,989,989,1006,1053,1015,1010,1000,998,995,1040,997,984,986,990,993,980,981,977,982,987,996,1046,986,969,964,980,978,995,1010,1009,1007,1005,1003,1009,1030,1013,991,990,1021,990,989,1002,998,1004,993,992,994,995,996,1011,1022,1017,1013,1045,1014,1006,993,992,987,972,976,982,979,968,974,980,997,996,997,990,1021,990,990,991,993,1012,1020,1014,1018,1058,1001,980,981,985,987,974,991,975,988,984,986,994,1043,1076,1076,1074,1044,1027,1006,988,1006,988,989,991,975,957,955,964,974,980,984,967,972,989,983,1006,1021,1010,1011,1009,975,989,993,993,992,996,995,999,991,991,1004,1023,1019,1017,1013,1051,1010,1000,985,986,989,993,997,1019,1063,1008,1000,1006,998,998,998,1027,985,969,974,981,986,990,993,983,973,986,991,985,997,997,997,998,1029,999,984,986,990,992,994,1010,1027,1023,1014,1004,996,996,997,987,992,1095,1009,962,983,997,999,999,1007,1009,999,1011,1025,1024,989,983,986,989,992,994,995,997,997,1011,970,973,979,981,966,971,979,996,1024,52,8,3,3,4,8,140,2149,3005,2330,1851,1655,1535,1360,1275,894,926,939,955,968,1014,999,1024,1055,1071,1084,1140,1074,1042,1029,1040,1023,1097,993,1023,1010,988,987,990,993,995,988,975,978,995,1000,988,1006,1002,1005,988,1005,989,990,993,994,996,997,1018,1044,1044,1026,1018,1014,1044,1002,997,1008,1008,1006,993,1015,971,993,1014,972,973,988,989,989,1031,994,986,990,996,997,1042,979,969,972,970,988,1005,1013,1003,990,988,982,1003,1010,1013,1010,1041,1002,1002,992,991,995,1019,1017,1013,1013,1016,1011,999,998,1013,994,973,976,977,964,970,989,994,996,999,988,999,998,998,989,991,1046,1012,1005,1004,1010,1001,1000,999,1000,989,977,990,984,988,1017,1004,1018,998,995,1007,1006,1005,1003,1002,1038,1007,1016,1013,1010,1016,1009,1028,1016,992,990,993,994,996,987,974,979,984,980,968,975,991,985,988,1002,1016,1014,1010,1007,1005,1007,1032,1013,992,998,1001,992,993,995,997,1005,997,996,1007,1005,994,994,1007,1024,1015,989,987,990,992,994,996,987,975,986,984,996,1007,991,996,1015,1020,1008,1011,1010,1008,1039,986,977,986,993,1000,1001,1001,1008,1005,998,997,998,999,1029,1020,1049,984,995,1013,1003,990,978,981,993,989,1000,999,992,996,1023,1009,988,989,991,1001,1000,994,1001,995,1002,1042,990,992,1004,997,861,1008,1005,997,1000,991,983,978,1000,1040,982,1001,1003,1002,1009,1115,1000,991,990,992,994,1005,1020,1019,1019,1008,1017,1002,1002,999,1001,1004,1002,1003,992,987,974,979,984,989,999,998,993,994,981,974,980,993,988,999,998,1001,1000,1001,1000,991,992,1003,1003,993,994,1003,1019,1017,1013,1009,1006,1005,1027,1024,1017,1013,1009,1006,1023,1019,1005,993,993,983,973,978,992,995,992,990,993,1005,980,981,977,982,1000,989,990,993,995,1017,1018,1013,1010,1013,1004,1038,997,993,1001,995,995,1006,1022,1051,999,983,984,986,1011,1012,1009,1020,1016,1011,995,995,996,985,974,979,985,989,991,987,974,977,990,987,996,991,999,993,1003,1004,993,1001,1018,1016,1018,1007,1014,1011,1014,998,995,996,1006,997,1012,995,1000,1019,1040,1009,1014,992,1005,1000,1004,1005,998,993,975,978,983,985,968,973,980,994,988,990,1036,989,998,997,988,990,992,1017,1017,1013,1009,1007,1014,1029,1016,990,988,991,993,995,987,989,980,985,1008,1009,1008,1005,1003,1002,1013,1027,1018,991,994,998,991,997,994,1001,995,1000,996,1002,997,996,997,997,998,987,978,998,985,991,989,990,993,1003,1019,1016,1012,1014,1011,1007,1000,1005,1055,982,995,994,1017,990,989,1004,1016,1014,1010,1008,1005,1018,1002,1025,995,982,971,965,960,969,977,983,988,990,971,988,980,983,1008,1011,1009,1006,1004,1011,1025,1021,1015,1011,1015,1004,1003,1007,1001,1006,1010,996,996,2054,1214,599,899,862,915,923,946,1014,1076,1118,1073,1057,1052,1018,1016,1028,1039,1027,1017,1017,1007,1003,979,991,983,986,990,992,995,995,1005,996,1029,989,1001,971,980,987,1009,1007,1009,994,983,988,1012,1025,1015,997,996,998,998,997,1009,1022,1021,1017,1015,1005,1029,974,985,978,983,987,995,998,998,1005,993,998,993,994,996,1000,1021,1043,1010,982,982,986,990,992,994,987,974,979,984,996,996,998,992,994,995,1011,1032,1024,1007,1013,1001,999,1007,1023,1024,1013,998,983,985,989,991,995,1022,978,998,995,998,998,999,1008,1005,1007,1001,1030,1019,997,982,991,987,1006,991,991,1001,1001,1000,993,994,985,977,979,1025,994,980,1029,1030,1075,1020,1011,1005,1009,993,993,992,972,975,996,985,987,983,984,977,1027,1011,1006,1000,1000,1004,992,970,974,998,983,986,1012,1013,1010,1017,1004,1001,1001,991,978,982,992,999,1000,999,992,991,1040,1038,1061,1016,1008,1005,1008,1007,1003,1031,1016,1006,987,988,990,993,994,985,974,978,984,988,991,981,973,979,1006,999,1000,970,972,978,994,1055,1004,998,998,1006,1006,1006,1001,1000,1014,1009,1016,1031,995,1003,1017,1018,1009,984,983,997,1000,990,997,992,993,1004,995,995,997,1002,997,1005,1002,996,1005,1004,1000,994,1002,995,1003,995,995,1002,997,996,1003,1003,1002,1033,999,996,995,989,1023,989,994,990,1000,992,1001,1002,998,994,994,996,996,1000,1039,1017,1011,1016,1042,997,988,971,984,1026,978,978,993,992,994,995,991,992,1003,997,995,1001,995,996,997,997,985,976,981,993,989,991,1039,1021,1007,1004,1002,1001,1001,1000,1012,1052,1020,1015,1003,1001,1000,1007,999,984,976,1025,974,959,987,994,996,997,1003,1006,997,1001,997,996,997,998,1003,1020,1000,993,994,996,981,975,987,985,988,1001,1016,1038,1007,1002,1001,1000,1003,1024,1024,1015,998,988,990,1009,997,1000,1012,1015,1008,1005,996,979,981,979,967,982,978,985,1015,1004,985,986,990,992,1000,995,995,996,998,1010,1022,1002,992,992,999,995,1004,997,1002,999,1005,999,1000,1031,989,973,1021,1043,1021,999,1004,996,1012,1020,1021,1017,1006,1048,1004,992,992,979,972,978,987,1013,987,993,999,990,992,1001,989,994,1047,986,974,970,991,995,988,1007,1012,1013,1010,993,1001,999,999,999,1014,1000,1015,1019,1021,1017,1009,1002,1001,994,976,979,985,988,992,998,971,984,981,1005,992,995,1011,1010,1008,1005,1004,1008,1001,1008,1003,1006,999,1000,1003,1000,995,1003,996,1003,1041,990,1006,990,987,992,1012,1002,1001,1014,1025,1007,1004,1003,1004,1001,1003,1003,985,975,980,985,989,974,978,983,988,985,994,997,991,999,1025,1004,987,994,990,992,1004,1018,1015,1017,1015,1004,1002,1006,1005,999,1007,1003,1006,1009,1017,1014,1011,1008,1005,1006,1006,1004,999,999,999,999,999,994,976,979,971,966,974,980,991,994,998,992,998,1001,993,994,995,1002,1020,1023,1013,997,992,994,1010,1009,1007,1005,1003,1005,1026,1023,1017,1018,1015,1014,1001,1001,998,998,1002,998,998,998,986,1017,977,983,982,992,1016,1001,1028,982,981,991,992,1025,987,997,987,990,1002,993,1027,990,995,1015,1020,1003,982,993,994,988,990,993,1039,998,1287,1306,858,845,887,921,944,959,1015,987,973,989,1006,1006,1005,1003,1002,1017,1029,1018,1024,983,988,986,995,1020,1005,986,1020,986,985,988,986,971,983,987,984,995,990,1002,1002,991,1005,1017,1014,1011,1008,1005,1004,1008,1026,1023,1016,1012,1009,1006,1022,1027,1024,1015,1011,989,983,1026,984,983,986,990,1021,974,971,988,977,997,1010,1054,733,1013,1008,999,1221,971,974,981,985,1008,996,997,979,969,983,982,991,991,1011,1015,1029,1009,1000,1003,1000,1085,1016,1039,1000,1024,991,1000,1016,1019,1037,1008,997,974,973,979,985,1004,990,974,970,976,982,1016,987,970,967,975,993,995,996,987,989,991,1007,1018,1049,1007,1002,1002,999,999,1016,1022,1017,1021,1014,1004,1007,1002,1000,994,976,987,992,994,986,1006,1014,1011,1014,1005,1029,999,979,973,980,986,1055,984,979,993,995,987,995,991,993,994,996,1006,1012,1004,993,1001,995,1003,994,994,995,996,997,1014,1022,1018,1016,1009,1011,1009,995,977,987,983,1005,1017,997,983,984,989,1060,981,985,991,984,1002,1018,1015,1011,989,979,982,987,996,993,999,1000,994,994,1012,1027,1003,995,988,1002,998,990,1011,1016,1012,1009,1009,1005,997,979,986,1007,1017,1007,988,979,983,975,969,987,1008,1010,1008,988,984,992,1007,1013,1004,1000,1005,1000,999,1000,1005,999,999,1004,1003,985,975,987,992,996,989,994,992,1011,1016,1013,1009,1008,1019,1053,1047,1034,1025,1022,1033,1009,1009,998,1000,999,1000,997,997,998,998,998,986,1016,974,959,959,968,970,1008,990,962,967,975,1014,1000,984,984,987,991,1008,1017,1014,1013,1052,999,994,1006,1019,1016,1012,1009,1017,1022,1025,1025,1014,993,982,1025,982,960,966,973,980,986,1013,989,989,991,994,995,1008,996,1045,990,996,998,1002,1041,992,980,983,1063,982,977,996,1013,1028,992,987,995,997,1017,1016,1009,997,997,998,1156,1212,943,908,916,936,961,947,952,976,982,988,979,998,1010,1018,1006,1012,988,986,1003,1004,1017,1001,991,988,990,1004,1012,1006,1015,1012,995,1001,1002,982,984,977,997,1001,1010,1059,997,991,993,1013,1019,1015,1011,1007,1013,1003,1001,1000,1000,989,977,980,984,989,992,994,975,975,981,1002,989,988,991,997,1018,1026,1025,1014,987,976,995,983,1000,1011,1033,1005,1043,999,991,990,1001,1017,1015,1011,1008,1006,1004,1012,1026,1059,1012,985,979,983,987,971,970,977,983,1053,1008,976,978,984,987,991,1017,1051,999,980,982,987,989,992,1016,993,995,993,994,1022,1004,991,1007,998,1000,1002,994,1033,1020,1015,1009,999,1002,1003,989,974,977,1008,984,985,974,980,978,993,982,1006,1036,981,995,1007,1006,1004,1003,1002,1001,1019,1050,1026,1006,986,978,982,998,989,998,992,993,995,1008,1088,985,993,979,982,987,990,993,994,996,1012,1021,1023,1018,1013,1028,998,996,996,986,975,979,1034,1644,1238,1024,825,773,816,849,867,903,931,955,990,1025,1056,1075,1068,1044,1041,1039,1021,1006,1009,1014,1652,1338,833,777,815,863,949,921,936,953,962,994,1024,1042,1017,1011,1028,1023,1048,1014,1002,1000,999,1000,1005,975,978,983,988,991,1001,1005,993,1026,988,989,991,1005,1006,992,992,1005,1005,1003,1002,1000,994,1001,1016,991,991,991,1011,1016,1013,1010,1012,1011,1007,999,998,998,1004,1004,997,975,976,982,987,990,993,993,973,981,990,985,1003,1013,1012,1007,1014,1013,999,998,999,1017,1030,1015,1004,984,986,989,992,994,996,1011,997,997,1005,1001,994,997,1019,1017,1013,1009,1007,1010,1031,1022,996,983,968,974,986,982,990,994,995,1048,997,985,992,1014,1012,1009,1007,1005,1011,1009,999,1005,1031,1024,1021,1006,1014,1027,974,1043,1025,1035,1015,1004,988,986,1020,1011,998,1009,994,993,1021,996,958,927,958,953,971,1006,995,1019,1030,1012,1009,1004,1002,1001,1009,979,965,960,969,976,983,988,991,983,1000,1383,1070,889,877,918,928,1030,976,974,981,1002,1007,1006,1021,1067,1040,1067,1020,1005,1008,1000,999,999,999,999,990,1004,976,978,1004,983,964,970,977,983,1019,987,981,967,990,979,984,1009,1010,1007,1005,1004,1010,1032,1020,994,1002,1002,1026,999,1004,1005,1004,1003,1002,1009,1000,1002,1004,997,962,973,1025,1023,978,953,953,980,1042,1000,987,1021,989,992,987,1006,1015,1015,1013,1006,1007,1005,1037,995,992,998,995,1002,995,975,974,983,1008,986,1031,1014,1010,987,982,980,1021,1010,1005,1008,1006,1004,1048,981,965,971,987,982,1039,1011,993,977,981,986,989,993,995,975,994,979,979,985,966,987,976,997,998,987,1009,1009,1007,1005,1003,1002,1014,1029,1027,1011,1008,1005,1040,1009,994,1003,1040,987,996,997,1018,995,984,992,988,1014,990,991,969,973,979,985,996,999,1003,991,1003,992,993,994,996,989,976,1002,1013,1003,1013,999,1005,997,992,986,993,994,981,989,1013,1009,1006,1004,1005,1002,1000,1022,1021,1016,1013,1045,1015,1007,1000,995,992,999,1000,994,995,996,996,976,987,1013,981,1006,1007,1005,1003,1002,1008,1000,999,999,1000,990,976,981,985,1000,998,1001,991,1002,1003,998,1011,991,993,997,1006,1016,1014,1010,1007,1013,1033,1020,992,991,991,994,1003,982,971,987,989,993,994,995,988,996,1016,1019,989,991,987,996,991,993,1007,994,994,1001,1003,995,1001,996,996,997,998,1011,1003,996,1007,995,995,995,1017,1019,1014,1020,1006,1004,1031,1014,993,992,994,995,996,990,975,979,984,989,991,994,973,988,980,989,1010,1010,1038,1011,995,994,995,1006,996,995,997,998,998,977,978,984,988,1004,994,992,997,1018,1016,1014,1009,1006,1004,1002,1027,1024,1014,998,991,1011,1010,1020,1005,1001,1001,992,977,981,985,997,1000,990,992,975,974,996,985,985,995,1015,1013,1009,1013,1004,1011,1001,1007,999,1003,1015,1003,992,995,995,1009,1019,1020,1012,1007,1010,1002,1001,1001,1000,986,977,1007,984,997,1009,992,1010,1011,1013,1006,1007,1028,997,993,995,988,974,1004,980,991,1010,1015,1057,991,989,973,990,991,1015,988,1045,1047,972,988,993,995,1002,1022,996,1003,991,992,1004,994,1357,1373,870,821,851,890,931,952,955,962,972,980,1027,987,1032,1005,1012,1041,1015,1075,1023,1012,1015,1055,996,975,969,1000,980,981,977,976,975,991,1006,1006,1012,1009,1007,998,1002,1002,1001,1032,991,989,973,980,984,990,991,1010,987,986,999,1066,1006,999,998,1005,998,997,998,999,977,985,982,1002,1002,1012,1019,1018,1016,1009,994,983,972,985,1008,987,998,1009,1008,1006,1017,1014,987,998,999,1053,994,989,991,992,994,996,982,975,980,1013,985,986,995,991,1025,991,990,997,998,999,993,1000,995,995,1014,995,994,1001,996,1000,996,1004,1005,995,1000,1000,996,996,997,997,999,1022,1020,1015,1011,1008,1014,1003,1001,1000,1000,1000,990,978,989,999,985,999,1018,987,986,1005,1015,1018,1008,1005,993,980,989,994,995,996,997,998,998,1003,1003,990,1008,1005,1013,1016,1009,1005,1014,987,1001,1033,998,994,995,980,975,987,987,989,998,999,992,1038,1014,1029,983,1001,1006,1018,998,997,997,998,999,999,999,989,976,980,1034,983,982,971,977,974,1002,1034,1001,1002,998,986,999,1000,1008,1005,997,996,997,998,998,1005,1023,1044,1012,1012,1002,1001,1000,997,976,979,984,988,1002,1000,1000,992,993,994,997,1026,1013,989,989,991,994,995,1006,1003,997,972,975,991,985,988,991,1015,1016,1069,1002,995,1002,1002,1025,990,990,1004,1022,1018,1014,1007,991,986,981,989,1012,1017,1014,1010,1002,1017,974,985,980,986,1011,1018,1009,982,982,1000,1001,987,996,990,992,1006,995,994,1006,995,1007,1003,993,994,995,1059,997,984,985,989,992,994,1013,1019,1015,1017,1007,1009,1008,1000,991,976,979,985,989,992,994,985,974,991,995,985,1000,999,998,988,989,1015,1016,1011,1009,1052,1008,992,1001,993,993,999,1024,1018,1019,1008,1005,1010,1001,1000,999,990,976,980,999,988,991,1023,1008,986,987,989,992,994,995,996,991,989,1012,1009,1000,999,999,1039,993,990,1004,1016,1024,1036,994,973,987,995,1007,1034,1002,997,988,983,992,1004,984,1000,991,997,1011,1018,1017,1009,999,998,1038,1001,997,998,994,999,998,992,998,987,971,986,981,995,991,996,992,1015,1020,1018,1015,1007,1005,995,982,990,1010,1001,979,980,985,990,992,997,1034,993,988,990,993,995,995,997,998,1021,1020,1015,1012,1014,1005,1011,1009,998,994,974,977,990,986,989,992,1004,1001,994,1005,1024,1021,1015,1005,1009,976,978,984,988,991,981,981,987,991,984,1021,1011,1022,1014,1079,987,1003,1012,1025,982,989,1030,1012,994,994,995,996,997,997,1002,1023,1021,1020,1012,1047,999,980,993,988,993,976,980,985,997,998,999,997,992,993,996,971,973,982,998,979,967,1024,975,987,985,985,986,989,991,1016,1048,1009,1003,1001,1000,1002,1024,1021,1016,1012,1014,1005,1003,1004,1038,997,992,979,972,978,984,987,991,982,973,978,997,987,988,1010,1002,1015,990,996,1011,1023,1005,1018,997,995,997,997,998,999,1000,1023,1005,1002,1046,1020,1012,1023,996,993,1051,987,984,987,977,970,977,980,964,986,976,981,1031,1008,1003,1002,1037,996,996,1017,1016,1012,1016,1021,1001,1005,1004,984,973,979,980,975,971,991,989,1010,1009,1005,1048,996,992,997,996,1036,1018,1010,1004,1036,997,1004,1009,1001,999,990,1011,992,991,1012,992,999,993,1043,988,985,976,968,987,992,983,997,988,989,1011,1016,1019,1018,1004,1003,999,993,1014,1046,1000,1000,988,992,992,993,1047,992,1002,1022,1005,981,981,986,1027,965,966,974,991,993,997,994,984,992,992,994,995,996,998,1004,1005,1044,1014,1008,1006,1012,1001,1008,1005,1002,1001,996,1031,1010,997,998,1013,1012,1063,1005,998,992,994,976,973,979,984,988,1015,978,967,974,987,991,988,1001,991,992,1006,1001,992,996,1018,1018,1077,1009,993,1005,997,997,992,1003,1028,990,989,1013,996,989,991,993,995,1014,999,994,994,995,1023,1012,1002,999,1013,1064,1007,995,995,981,1008,980,986,979,983,987,995,993,994,1004,1012,993,993,994,995,996,998,1003,1020,995,994,1012,1019,1051,1007,1006,1001,998,998,1015,1000,998,995,996,1004,1022,1020,1015,1011,1007,1005,1004,1027,980,973,977,983,988,989,993,1043,988,985,988,991,993,995,996,987,973,978,1016,970,962,970,983,982,992,996,991,1035,1019,1007,986,986,987,1010,1011,1048,1001,996,996,997,1020,1021,1021,1011,1008,991,1012,979,980,985,989,992,974,978,979,997,1000,1011,1013,1007,990,980,988,995,997,990,991,1005,1018,1031,1010,1007,1001,1004,1003,1002,998,997,985,977,988,986,987,990,1002,1018,1015,1012,1008,1014,1010,1000,1005,1027,1012,990,989,992,994,996,998,981,976,981,994,996,1036,986,983,1000,1013,1011,1008,1006,1004,1011,1027,1064,1021,1002,999,992,976,984,1038,979,978,994,987,988,991,1007,1019,1063,1006,996,1004,1000,996,998,997,997,997,998,1012,987,972,990,992,994,985,993,990,992,1006,1038,988,998,996,987,989,998,1005,1039,974,973,976,1034,1003,977,986,985,1002,1004,1003,1002,1001,1001,1000,1014,1028,1014,1013,1010,1008,1009,1004,1002,994,1004,957,956,966,989,1051,983,972,976,1007,981,983,986,995,1036,1025,1014,1002,1005,1005,1003,997,1002,1018,979,970,976,989,1010,1010,1008,1006,1004,1003,1054,1020,1019,1008,989,979,983,975,967,1017,984,976,980,999,1012,1017,1007,1019,1011,1003,1003,995,978,984,990,981,990,998,1010,987,988,997,1017,1015,1024,1017,1012,998,855,1006,1003,1002,1002,1007,1000,999,998,999,1003,999,998,1049,992,983,976,978,999,997,1003,1003,1007,1001,1005,1005,998,988,986,985,991,1001,994,989,1010,1010,1013,1005,1123,982,983,985,1006,1007,1012,1003,1001,987,978,987,986,995,992,996,1047,1013,1006,1004,1002,1002,1063,1018,1010,1007,1007,1004,977,978,983,979,980,974,1014,985,979,1004,1009,1012,1005,1019,981,976,998,1008,1007,1005,1004,1050,1003,990,995,1007,995,996,993,1032,983,979,984,993,1000,1001,1001,1052,994,998,1003,1004,1063,991,975,979,990,1012,987,988,991,997,997,994,996,1046,996,979,966,977,1012,985,985,983,990,986,999,997,1005,1020,1013,1001,990,983,1003,1012,1017,1012,1005,1012,1028,1028,1030,1001,989,992,996,1020,985,984,999,1011,1009,1017,1011,1007,998,1033,975,977,991,998,1030,976,974,979,984,984,968,1014,961,966,970,993,1059,998,986,987,992,993,994,1011,1034,1020,1009,1015,1026,996,987,994,998,1009,997,997,1004,1010,1018,1025,1001,984,985,989,992,994,995,976,975,969,963,980,978,982,1000,1020,1010,1006,1005,1003,1002,1011,1007,997,998,1012,1029,1016,1013,990,982,1010,1008,1002,988,1008,1011,1013,1005,1004,1001,1003,1006,998,1014,1032,1016,995,983,986,989,993,982,972,978,983,988,992,1000,994,1004,1002,994,994,996,1004,996,1006,1004,1002,1015,997,1015,1021,1009,985,982,986,1000,991,992,993,995,1009,1021,1017,1012,1009,1007,1005,1023,1048,1003,985,987,971,970,977,983,997,993,1846,895,816,833,857,907,921,940,980,1013,1013,1009,1007,1018,1039,1019,1013,1024,1028,1021,1022,1008,1005,982,990,996,997,986,998,1014,1012,1009,1006,1004,1003,1005,1030,1007,993,992,993,995,983,974,978,994,999,999,998,993,995,999,1000,996,991,992,1020,1016,1002,1007,1003,1007,995,988,1007,1010,1008,1014,1003,1002,1004,1003,990,975,978,997,986,999,999,992,1012,1023,1064,985,972,985,1009,993,1006,1013,1001,979,1006,994,1010,986,985,989,987,990,1018,1037,1009,1012,1006,1005,998,1002,1011,1000,1008,1001,1001,993,993,1002,995,995,1015,997,994,1015,1020,1054,1007,1000,976,1025,966,952,960,971,990,1015,987,982,985,989,1035,1019,1019,1005,1001,1000,1004,999,998,1001,994,974,984,982,986,1000,1016,1022,1068,1004,987,968,971,981,987,996,990,999,993,993,995,996,999,1022,1020,1015,1011,1012,1005,1007,1006,1000,981,976,981,991,989,991,993,1006,1020,1023,1042,993,989,1002,1009,1002,993,1000,1003,980,1220,1177,920,895,958,979,957,960,971,942,961,966,971,980,984,1010,1035,1043,1024,1031,1013,1004,1003,1005,1002,1009,999,1035,1002,969,967,976,1058,1042,967,964,971,978,985,1012,1038,1064,1054,1037,1087,1014,1026,1083,1009,999,981,973,979,984,988,992,1022,967,968,976,982,1017,986,983,965,972,1012,980,982,984,966,968,984,995,985,1006,987,971,978,975,978,1007,1011,1008,1061,1000,995,995,1016,991,990,993,1048,1000,1013,990,999,983,985,966,968,986,994,995,990,987,1027,1011,1008,1005,1004,1002,1009,1015,1020,1013,1016,1012,1051,1005,995,996,980,973,978,983,987,991,1009,1010,976,968,974,990,985,987,990,1041,594,1003,1012,999,1024,1002,991,974,1018,972,973,980,987,997,989,991,993,1011,1044,1067,1024,1019,1015,1009,985,978,982,1014,998,985,988,992,1008,993,1370,1019,1012,1007,992,1007,999,985,975,1031,980,1032,1009,986,990,976,990,982,1015,999,985,1009,1011,1009,1013,1011,1002,999,1598,939,871,900,949,979,954,952,979,1000,1002,995,996,1003,1003,1002,1007,994,997,1002,976,979,979,1004,1008,1012,1005,1007,1002,1006,999,1004,1003,1003,1017,993,985,971,981,984,991,986,988,1044,994,1006,1009,1007,1004,1003,1007,1011,998,1003,1025,1018,1006,986,987,989,1035,986,964,970,983,988,984,986,989,992,1006,1003,1005,994,1004,993,1000,994,994,995,996,1034,1019,1017,1028,1015,999,997,996,982,997,1010,1010,1006,997,995,985,999,1002,1008,1001,998,976,977,1016,996,982,993,995,993,995,1000,991,992,1017,1018,998,987,990,1014,1021,1012,1008,1013,980,977,998,1017,998,983,530,975,979,981,994,1022,1135,1043,984,959,963,968,1002,977,976,989,1017,1075,1045,1011,1056,1016,1176,1411,991,1187,1180,870,873,906,925,906,984,975,1045,1345,942,890,886,896,883,909,906,848,875,904,933,1001,1048,1076,1069,1038,1068,1106,1043,1027,1018,1013,1011,1008,1004,1039,975,968,975,981,975,967,972,979,1026,986,983,987,989,1025,989,969,967,974,1010,983,997,999,986,995,990,991,993,996,1015,1020,1029,1009,1027,977,976,995,988,1001,1044,984,1014,1013,1047,993,989,998,1002,1083,1001,979,992,980,991,985,988,990,982,971,987,980,984,989,1002,1005,1305,1011,1031,1008,1002,984,977,980,985,989,992,977,973,1003,986,1025,981,980,993,989,1029,987,985,1033,1038,1075,1019,1009,1026,1029,1050,981,979,984,987,990,1033,987,965,970,975,981,986,989,1011,976,1004,997,997,996,997,1008,1007,998,1040,992,993,989,991,1044,993,984,997,995,992,992,1016,1075,1006,998,997,998,1004,1000,1000,1001,997,1000,1002,1002,1000,995,996,1090,1096,1078,1058,1042,1032,1018,1013,1007,993,1001,1004,1027,999,995,975,946,969,970,997,1002,1001,1002,1013,1054,1018,1009,987,980,994,976,964,971,978,984,989,991,987,971,976,982,976,967,974,981,1022,963,965,973,988,995,985,986,997,992,992,993,1009,997,994,995,996,1013,1030,1018,1009,985,993,987,1038,993,992,983,1001,1020,1012,1000,1004,1023,1012,996,1083,998,986,985,988,994,986,989,998,993,989,996,1022,1005,1003,1003,990,991,1002,986,1020,1006,1035,998,984,993,994,1019,966,980,973,979,1006,1026,1004,1052,1004,995,996,1008,989,990,998,998,998,999,993,1034,979,997,999,992,1039,1000,996,996,986,1023,994,994,993,992,989,991,1004,1008,992,992,990,972,976,990,985,994,1002,1028,990,984,1005,1020,1012,1007,1002,1009,1001,977,980,985,1005,997,988,989,995,1017,1048,1009,1002,1001,1019,1023,1020,1067,1002,975,972,979,984,973,979,976,988,995,986,999,989,989,1002,1005,1006,997,987,1002,991,1010,1018,991,997,1014,999,1000,986,1002,1020,1008,1006,1003,993,983,1005,1007,1005,1004,1003,1019,1026,1018,994,987,989,992,994,996,997,989,975,980,983,987,990,977,971,977,992,1006,992,1020,986,991,1011,1012,1009,1006,1005,1006,1026,1024,1024,1014,1048,1000,1007,1012,1025,964,965,1012,979,996,992,982,992,1047,982,980,984,1001,1013,1010,1007,1013,1018,999,997,998,998,979,978,1007,999,983,983,998,1000,993,990,990,971,973,991,985,737,970,988,1000,1002,1002,1001,1010,1002,1022,994,1012,1017,1053,1005,999,999,1220,1119,1045,1022,993,988,990,993,995,995,974,977,984,989,991,992,976,978,978,982,1010,1014,1019,1007,1003,1002,1001,1001,1018,1024,1021,1017,1011,1005,1002,1005,1007,1007,997,996,997,997,1001,998,998,998,1003,1001,1005,1001,996,1000,997,1040,994,989,990,993,997,1023,1017,992,1031,983,983,987,1016,982,966,972,987,988,1036,983,991,984,987,990,997,1003,993,1004,999,1060,1015,979,985,1006,1008,1006,1034,999,996,998,1045,1015,1009,1006,1007,1017,999,998,991,1015,974,976,981,986,989,972,974,980,985,1048,984,980,984,1018,988,987,1012,1012,987,997,996,990,998,1006,1011,1016,1010,1041,1001,996,992,998,1003,1003,998,997,998,998,1002,999,999,998,999,999,990,978,988,992,996,988,987,981,971,977,1009,1018,1006,1008,1001,1012,996,997,1003,998,1008,998,996,996,997,1010,1009,1012,1004,1015,1011,1008,1006,1005,1002,1007,1029,1020,1001,991,1015,995,1011,987,986,990,992,994,1016,991,984,1005,1021,971,973,979,984,1035,985,981,986,989,1001,1004,997,1003,1003,1001,1004,1013,983,968,990,1003,1019,1023,994,992,994,1011,1018,1014,1010,1008,1010,1028,1029,1017,1015,982,983,975,980,985,989,973,982,987,991,984,1001,995,995,990,991,1000,994,1004,1002,994,1009,1011,1012,1018,1008,1002,981,982,995,993,990,992,994,1000,1028,1022,1012,994,994,1008,1003,1006,1004,1003,1002,1009,1030,1020,1006,987,987,990,993,995,996,978,977,982,987,990,992,978,982,978,984,1008,1019,1019,1005,1001,1000,1000,1005,1030,1019,1037,996,1016,1010,1002,1003,1002,999,1000,1003,995,999,1001,996,999,1014,995,1000,1023,993,1040,987,993,986,988,1018,1018,1009,1012,1035,987,988,976,1008,988,982,984,1010,1017,1009,1001,980,1030,981,979,984,988,1033,988,989,989,991,1032,994,1265,1084,918,902,923,987,954,961,982,986,988,983,986,985,988,973,996,1004,1015,1009,998,997,998,1035,1006,1001,1003,1034,1007,1011,1010,998,1008,1007,1001,993,993,996,991,998,989,994,1002,1002,1010,1008,1006,996,995,995,974,977,983,988,991,993,973,991,995,996,983,986,1011,1043,1033,1020,1022,1033,1026,1023,1015,1010,1007,980,981,967,969,976,981,987,982,1001,985,973,999,1004,1012,1011,1008,1005,994,996,1014,1018,1014,1022,1017,1002,999,1010,1009,1009,994,994,994,996,997,977,977,982,987,1004,992,992,993,1009,1007,998,994,1004,994,993,994,1018,994,1003,1031,1002,993,992,1012,997,987,985,1001,989,990,996,1028,1010,995,995,1000,992,1019,1015,1006,1039,975,996,1009,999,1005,1007,991,1026,979,980,986,980,1003,1259,1121,918,901,963,929,954,956,976,983,978,990,1009,1009,1037,1001,998,1000,1070,1029,1002,1007,1010,1004,1001,992,1002,1031,997,992,987,999,992,998,999,993,975,995,997,1012,1005,997,975,987,992,994,999,991,988,990,1000,1003,1002,992,993,1001,1019,1040,1018,1003,1000,1000,1000,977,993,986,989,1011,1013,1008,1006,1004,1012,1009,1005,1020,1025,987,986,991,994,1003,995,1002,997,1000,1009,999,995,998,994,997,1012,1473,1000,998,1014,1015,998,991,992,993,987,974,977,982,993,590,970,973,980,985,1002,1017,988,987,990,992,999,1019,1017,1018,1037,1007,993,993,999,1004,999,1000,1035,980,977,997,1000,1000,1000,1057,992,987,989,990,971,975,992,987,997,996,999,997,1040,992,990,984,1010,996,1019,1013,1011,1008,1005,1006,997,997,1005,1005,996,995,1009,1025,1009,992,1033,984,983,991,995,991,994,971,974,981,1022,985,985,990,986,1003,1030,983,989,1002,993,996,992,996,1048,1001,987,995,1003,997,991,992,996,1025,992,1003,1014,1051,1004,998,998,1005,997,997,991,975,979,984,996,990,993,992,994,1024,1017,1009,989,997,987,995,1023,1012,987,984,995,999,990,1001,993,1003,1041,988,985,988,1012,1023,1010,1000,994,1016,1009,1003,1006,1006,1242,1043,939,935,951,960,970,996,986,994,985,1001,1012,1010,998,998,1001,1018,1002,1001,993,1034,990,978,967,974,981,974,996,971,976,1529,989,990,992,994,995,1016,1021,1021,1041,1004,999,998,998,999,1028,1001,993,1001,993,999,995,996,1010,1002,990,1010,1024,1001,987,979,967,973,988,985,450,1016,1006,1016,1004,1007,997,996,1026,1011,1047,983,1003,980,989,986,1003,1014,1012,1009,1009,1021,1013,1002,1004,1033,989,981,980,972,984,1006,1007,1004,1009,1002,1000,1000,990,1028,974,974,987,985,988,991,994,995,1018,1000,1001,1032,1008,990,1000,994,994,987,989,998,993,1033,991,988,997,992,993,1003,995,1000,995,1003,1021,1017,1013,1008,1006,1004,1029,1027,1019,1003,987,991,988,1005,991,992,994,996,974,976,982,1447,996,995,996,997,984,970,985,980,1001,1011,1009,1006,1004,1011,1007,1014,1022,1023,1026,1000,1006,1003,1002,1004,1001,1011,998,459,1031,1019,1004,1001,1001,1005,1024,1023,1015,1011,997,982,984,982,968,974,980,986,990,972,981,979,1003,1008,1007,1005,1004,1002,1003,1025,1026,1020,1010,1027,1007,998,996,1466,977,985,993,589,996,996,998,1428,1006,1016,1076,1015,1011,1003,1001,435,999,997,1006,984,984,978,988,1001,1002,1019,1008,993,980,983,987,991,993,989,974,988,983,993,1013,1011,1014,1011,1002,1030,1004,992,1003,1019,1016,1019,1013,1021,1007,996,995,1033,968,969,967,960,978,976,981,992,1012,1011,1008,1015,1015,999,998,1021,1020,1022,1010,1007,1005,991,979,987,986,995,991,1001,999,1001,993,994,1041,1014,1017,1012,1008,1000,998,989,1004,996,1000,1004,1000,990,976,989,984,987,1011,1001,992,1013,1018,1010,1007,994,985,995,1011,1013,1005,1002,978,980,992,996,996,1586,984,981,965,968,984,1002,1014,1004,1002,1003,1009,1016,1002,459,1025,1002,1042,983,1000,1002,1002,1001,1001,1000,1000,1010,1025,1020,1018,1010,1024,989,980,970,1011,970,986,978,981,1003,1009,1008,1005,1004,1003,1042,997,990,966,1022,1104,968,956,972,1004,1011,1022,987,987,999,1016,1011,998,1014,1009,1005,1048,1003,996,992,993,994,996,1009,978,979,978,983,977,967,974,981,986,990,988,972,1002,988,980,984,1010,1012,1010,1013,1008,1001,1000,1004,999,999,1003,1003,1036,992,989,992,994,1017,1018,1018,1014,1005,1004,1006,1006,1004,998,1002,1003,997,996,997,982,976,987,985,994,988,986,989,997,993,995,1013,1012,1009,1013,1004,1002,1001,985,967,961,978,985,990,982,1009,998,992,1010,1010,1009,1016,1019,1001,995,1007,1019,1016,1012,1009,1006,1010,1007,1005,1028,1012,990,990,992,985,973,978,984,988,977,976,1000,1011,1001,991,978,990,984,999,1013,1011,1009,1006,1004,1559,1037,987,985,970,969,988,1008,999,987,1042,978,995,1007,486,1026,1022,1016,1012,1022,1005,1005,1004,998,998,1002,1002,998,998,998,999,975,978,987,987,990,992,999,995,1002,996,1005,1021,1019,1014,1009,1015,1039,1005,1001,1000,999,980,969,1024,982,999,1264,970,931,938,959,1053,989,983,986,990,993,1063,1016,999,977,980,985,983,968,991,970,961,979,998,1000,1000,1000,1009,999,1025,1019,1014,1013,1006,1004,1002,979,985,985,988,1052,986,981,986,998,991,992,1042,1003,1009,1007,1005,1003,1003,1004,1019,998,996,997,1002,1002,997,995,974,977,982,987,990,972,973,986,984,987,998,1016,1013,1010,1007,1020,1005,1022,1020,1020,1010,1010,1005,1006,1008,1004,997,998,998,996,996,1000,1000,1003,999,993,975,979,994,993,989,990,1003,1001,999,993,994,995,997,1010,1029,1023,1015,1006,990,979,983,987,996,992,994,1004,1004,994,1003,1000,1005,1022,1019,1014,1017,994,976,1369,1030,983,983,986,980,983,1030,1006,1006,1010,1020,1000,997,590,1013,1011,1009,1001,996,976,986,983,986,996,1016,1019,1011,1007,982,981,986,994,996,997,993,995,997,1024,1009,990,990,1000,993,998,995,1004,996,1007,1014,994,1046,1024,1010,998,1004,998,997,998,998,1013,998,996,996,997,998,998,1032,980,979,986,989,989,1024,982,982,1000,1012,1015,1006,1001,1009,993,978,987,991,1012,1017,1008,989,987,993,996,1094,1071,1030,1001,981,1021,1002,998,998,991,968,1011,969,953,976,995,997,998,998,1002,1006,1003,1025,1009,989,989,992,983,973,968,961,979,976,984,1009,1009,1007,1005,1004,1016,1030,1019,990,988,998,992,1012,1006,1001,1001,1013,1011,1009,1011,1012,1010,1007,1003,1012,991,995,994,980,979,999,989,990,1009,1027,995,1001,1001,979,989,994,994,995,996,989,1007,1016,1017,1009,1002,980,982,986,990,1000,994,994,996,999,1022,1021,1014,1020,1007,1009,1006,998,998,998,998,1009,998,997,998,997,979,1002,971,990,987,1014,1070,1003,1004,985,1008,1008,988,993,997,1050,990,965,969,988,982,985,1000,1013,996,997,1012,1051,1003,987,975,986,984,1003,1012,1010,1051,1000,995,999,1072,1013,1003,1001,1001,1005,1000,999,999,1323,1005,984,964,682,981,955,960,950,971,969,981,1006,1007,1070,995,1003,989,1007,989,990,992,1005,1019,1016,1011,1008,1006,1012,1004,1015,998,1000,1014,1000,1059,996,987,998,989,998,1014,996,1030,980,979,983,988,991,975,973,985,1024,982,982,999,1018,1016,1006,1009,1001,1000,988,977,1012,1005,995,981,983,999,1019,1015,1007,1010,1002,1010,1005,1008,997,995,996,997,997,1003,1003,1013,1047,988,984,987,990,993,991,973,976,982,994,989,991,994,1020,995,992,994,995,996,1005,1009,1003,994,994,995,1004,1003,995,996,1020,1019,1015,1052,1002,997,997,1052,991,986,989,992,1013,1012,1018,1001,983,984,988,991,991,972,975,981,994,996,990,1003,999,991,993,983,982,1006,979,984,992,987,1006,1014,1012,1009,1006,1018,1032,1020,1004,987,987,990,993,996,996,989,988,1001,1002,1001,1001,1001,1000,1010,1024,1019,1014,1016,1007,1004,1002,990,986,994,974,987,1011,1016,1018,1000,990,1003,992,984,1414,998,973,989,996,989,996,1016,964,973,982,1017,989,1000,672,1008,990,1016,1003,989,986,989,992,994,1008,1057,1079,1067,1032,1020,1014,1010,1007,1030,976,958,956,966,975,973,964,959,956,978,975,993,992,984,987,990,1015,1015,1019,1015,1004,1001,1000,1015,1023,1027,1024,983,981,995,996,993,1013,1013,1009,1007,1005,1018,1026,1024,1015,995,983,971,966,974,982,976,994,1047,969,968,989,1025,1023,1017,1020,1013,1009,1001,1000,1037,995,992,993,976,996,984,980,998,986,987,990,989,979,975,1004,1007,1005,1004,1004,1085,1041,1027,1019,1014,1028,1042,980,969,975,982,1242,1000,988,989,992,1005,995,994,995,1033,1015,1026,1010,1004,1002,664,967,971,978,984,988,995,1003,985,971,988,993,997,985,986,1003,1016,1015,1082,1020,1010,1006,1004,1002,1002,1016,1025,1027,1013,1009,986,981,985,989,992,982,972,978,983,998,990,991,993,1005,1005,994,994,1009,1028,1018,1007,1005,1003,1002,1001,1006,1025,1025,1015,1004,984,985,988,1001,1004,991,1002,1001,1001,991,993,994,996,1011,1021,1021,1013,995,1030,979,979,972,972,979,1002,992,1004,1013,998,977,989,983,995,999,988,990,1002,1020,991,989,1002,1065,1016,1000,998,1007,997,997,1033,1005,990,990,992,995,996,997,1013,1022,1020,1013,993,983,985,1007,990,990,988,987,994,994,986,981,1007,1016,1005,1011,1001,999,986,987,979,997,1019,1014,1012,1000,991,1009,1009,1007,992,973,985,983,1008,1011,1008,1006,1004,1003,1002,1018,1029,1018,991,986,989,992,994,995,983,975,987,991,986,996,991,996,1434,1006,994,982,972,982,981,995,994,1002,1020,1013,995,983,994,1010,994,993,987,1001,1015,1013,1011,1008,1005,1003,1023,1021,1025,1016,1010,985,1014,982,1002,483,1018,1014,1023,1060,1017,988,986,989,992,1005,1001,1000,997,995,994,996,1001,1069,1000,981,984,987,990,993,979,981,1423,990,988,988,969,972,991,992,996,1004,1010,1010,1007,1005,627,1033,1019,1021,1021,1017,1013,1039,980,969,987,985,989,992,988,990,993,995,996,1033,977,968,975,982,998,1005,1031,983,994,996,986,993,993,968,984,991,1017,1014,1009,998,1049,1002,985,986,1001,1045,1009,1003,1001,1001,1046,999,990,997,998,993,994,983,973,979,990,987,990,993,1013,997,1016,1021,1006,1021,979,980,984,995,991,992,994,998,1018,1006,995,1006,1022,1013,995,994,993,999,1039,1006,992,985,989,982,1005,1012,1009,1011,1010,1001,1006,999,999,999,998,987,977,981,986,989,992,994,994,1005,1392,959,973,992,997,998,998,999,1002,1023,1027,1024,1014,1056,1003,989,969,970,985,990,1006,1019,1007,1004,1007,1006,1002,1005,998,1019,1000,993,993,981,973,977,983,987,990,993,983,973,978,983,994,990,992,995,996,997,1070,1013,1005,1003,1001,1014,1024,1025,1014,988,983,986,990,1017,1008,1000,1002,987,987,990,992,995,1019,1020,1023,1010,1004,1003,997,989,986,982,998,1012,1016,1003,981,982,986,989,993,1000,995,996,998,998,998,1010,1028,1019,1012,1013,1006,1003,997,978,979,984,998,993,1000,995,1004,994,1000,1054,1024,1011,1005,1002,1002,1021,1021,1014,1009,1060,1004,991,1010,1019,1013,1010,1044,980,974,979,984,987,990,972,970,976,1021,985,981,986,989,1003,1002,993,1033,986,963,967,990,1027,990,980,981,987,1009,1014,1010,1008,1012,987,977,989,986,988,991,1001,1005,1053,987,996,988,1048,993,988,980,1006,1015,1017,1004,979,975,980,993,999,995,991,1043,987,1005,1009,1008,1010,1003,988,977,991,988,1023,995,984,985,1039,1005,1005,1004,1002,1016,1001,998,1012,1022,1022,1014,1009,1006,981,994,982,990,996,990,978,969,974,981,986,990,1005,975,978,976,1003,1008,1040,1012,1017,993,990,998,992,1002,995,995,1010,1008,1010,1015,1019,987,986,999,1012,1012,1059,1001,994,995,1019,1050,1016,1004,978,1001,981,982,986,989,977,971,976,982,986,990,993,997,995,1015,999,1002,994,993,1005,1005,994,1007,1009,985,1012,1034,987,985,1014,1015,1010,1007,1005,1010,1009,1044,1017,988,1000,1064,1010,976,983,979,987,985,986,999,1026,1008,1019,1015,1007,1003,1032,972,980,982,982,986,985,997,990,991,993,995,973,974,1005,982,984,988,993,970,1031,1004,1011,968,990,1001,1012,1082,1039,1025,1028,1012,1035,1003,977,972,977,962,966,972,980,981,967,982,978,981,999,1013,1011,1009,1006,1011,1018,999,1003,1006,1005,1029,988,986,1011,999,993,1008,1014,1012,1010,1008,1052,1005,1014,981,991,1016,1030,1017,1006,1000,978,978,983,987,994,993,999,995,995,974,975,980,992,999,998,991,1003,1060,987,988,983,984,1008,994,989,997,992,1014,1004,992,1014,1016,1012,1018,1007,1004,1013,999,996,988,984,978,989,984,1005,1014,1012,1024,1015,1013,996,998,1001,996,986,999,987,988,999,1004,1010,1005,1048,1000,987,966,975,977,983,1016,1021,986,982,1000,995,987,989,998,993,1013,994,993,1002,995,994,1039,1016,1010,1007,1004,1048,1024,1022,1027,1012,1001,1003,1009,991,973,974,980,985,989,997,993,1000,994,994,973,974,990,986,1010,999,995,997,986,987,997,993,999,995,1002,999,1013,993,995,1022,996,989,992,1015,1069,1009,999,997,1007,998,1021,1025,1016,1014,1027,990,998,1005,1000,996,980,985,980,983,1007,975,967,995,1001,1005,1023,996,981,983,984,981,1005,1010,985,990,988,1013,1017,1018,1011,1007,1007,997,1008,999,992,997,1023,999,997,989,990,992,994,998,1023,1051,1014,989,982,1000,1022,976,973,979,984,988,976,971,976,982,987,990,978,976,993,995,998,983,984,1001,1014,1013,1009,1006,1004,1006,1006,1021,1023,1017,1013,1043,1004,1022,1021,1017,1018,1008,1004,1002,999,978,978,982,987,991,996,986,995,1009,995,973,984,988,991,985,987,1002,1039,1012,1006,1008,1004,1000,1000,999,985,976,980,985,989,992,1010,1003,993,992,994,996,1012,1022,1017,1012,1008,1006,1005,1003,1026,1001,995,995,997,997,998,991,975,978,983,988,991,993,998,996,997,1004,998,1003,1006,1456,1140,1051,1003,978,992,984,989,998,1000,1057,1083,1385,1078,968,884,886,917,936,975,1018,1003,962,971,992,1011,1017,1027,1028,1059,1015,1003,1001,1000,1008,999,998,998,998,999,1052,993,988,990,1005,1016,1021,1021,983,981,985,989,995,1025,1015,1059,1013,994,994,1007,1049,1017,1003,1001,1011,1000,998,997,996,992,978,979,984,988,991,1018,994,991,993,1026,992,1000,1006,1013,987,988,990,992,1021,997,991,992,1008,999,1001,993,994,995,997,998,997,998,1015,1021,1018,1014,1009,1008,1005,1002,1016,1002,999,997,999,998,999,998,1009,1010,976,975,978,983,987,1007,1024,1012,1008,1004,1004,989,989,991,994,996,996,1010,1016,996,996,1009,994,991,1004,1008,1006,993,978,977,981,1029,1022,1003,1020,1033,1008,1003,1012,1000,998,980,990,982,983,987,990,992,995,996,997,998,998,998,999,999,999,999,999,999,999,1000,999,1000,999,1000,1000,999,999,999,1015,1010,1001,994,993,995,996,999,1001,1023,1035,1014,1008,1002,1002,1001,1000,1000,1000,1029,1008,992,992,994,1002,1005,994,994,996,998,997,998,999,998,999,1000,999,999,999,999,999,999,999,999,1032,1007,991,1001,992,993,994,996,999,1013,997,998,995,996,997,1024,1019,1000,988,989,992,1000,994,995,985,976,981,984,988,991,1014,994,992,993,1012,1019,1015,1010,1007,1005,1003,1002,1001,1002,1002,1001,999,1000,999,999,1000,999,1007,1009,997,997,1000,1002,997,997,997,998,998,999,1009,1038,992,989,991,993,995,1008,1006,1007,1003,991,992,993,995,1002,997,1003,997,997,997,998,998,1008,989,976,980,983,987,990,993,1001,1007,995,994,995,996,1001,1021,1023,1015,1012,1009,1012,1027,1019,1023,1011,1013,1015,1001,998,998,1006,997,997,978,983,981,1004,988,1000,1000,990,1002,991,974,974,992,983,984,987,990,992,994,996,996,998,998,999,999,1000,999,999,1043,1022,996,1009,1031,1023,1013,1015,1005,1003,995,988,992,983,986,999,999,991,1012,992,991,993,995,997,1008,1006,995,994,1006,1006,994,1004,1004,1004,998,969,973,980,984,987,990,993,995,1022,1296,1060,931,929,964,958,1013,973,996,974,998,1001,1001,1001,1192,1464,964,855,858,901,915,936,975,985,1027,989,1009,1009,1008,1012,1007,1000,999,999,999,999,999,1000,1000,1007,1013,996,995,996,1008,1004,995,995,996,1018,1033,994,994,999,1000,998,989,990,992,994,996,997,997,998,998,999,998,999,1006,1004,997,997,998,998,999,999,999,1008,1009,997,996,1006,1006,1004,985,972,977,983,989,990,993,994,996,1022,995,996,997,1000,992,998,997,1024,1038,1010,1004,1003,1002,1001,1001,1021,997,996,996,997,997,998,1011,998,996,1006,1002,995,1001,1002,996,996,996,997,998,998,999,1005,998,998,1004,998,1008,1002,1000,984,975,983,987,995,1013,1017,1033,1025,1018,1013,1017,1008,986,986,983,986,990,993,994,996,997,997,998,998,999,999,999,1009,1008,996,996,997,997,998,1033,1031,1039,993,977,980,984,988,991,994,995,1003,1007,996,1055,995,984,986,989,992,994,995,997,997,998,1029,1000,1004,992,992,1005,993,994,995,1030,993,991,993,994,996,1026,1010,979,969,974,981,986,990,992,1013,994,993,1010,1028,1012,1011,1029,1025,1018,1011,988,995,991,1001,1027,1009,1011,1010,1005,986,975,980,995,998,988,990,993,1005,1004,994,994,996,996,997,998,998,998,999,1009,1006,996,1003,996,1003,995,996,997,997,997,999,988,977,981,986,989,1053,1016,1006,1024,1020,1014,1010,1008,1011,1003,1006,1008,984,986,979,990,994,988,990,992,994,996,997,998,998,999,999,999,999,999,999,999,1007,1004,997,997,998,999,988,991,1014,1025,1021,992,997,991,992,994,1001,999,996,996,997,998,998,999,1001,1016,997,995,996,996,998,997,997,998,998,999,999,999,1021,1020,1023,1018,1005,979,991,996,996,986,988,991,993,995,997,1018,1012,1005,1002,989,990,992,995,996,997,998,998,998,998,999,999,999,999,999,999,999,999,999,1000,999,999,999,1000,1000,999,1000,1000,999,1000,999,999,1000,1001,1000,1000,1000,1007,992,976,980,984,989,991,994,995,997,1022,1017,1020,1026,1004,1001,1003,1006,1025,1042,1034,1029,1016,989,987,980,980,975,980,995,988,1000,991,992,994,999,997,996,997,998,998,999,999,1009,998,1004,996,997,997,1007,1007,997,995,996,996,997,998,999,999,999,999,1000,999,999,1000,1008,1021,1017,1012,1017,1014,1001,1009,1003,1005,996,1002,995,993,987,976,980,985,989,1015,1029,1034,1030,995,992,1000,994,1002,998,972,975,981,995,989,1000,992,992,995,996,1007,1007,994,995,1009,1009,1017,1013,1010,1007,1005,1011,1024,997,1028,1069,991,975,979,984,988,991,993,995,996,996,996,1020,995,993,994,1040,1111,1000,939,960,975,965,972,979,985,989,992,994,995,998,998,997,1004,1048,992,992,1012,1012,1009,1041,1003,999,996,996,1004,1004,995,995,996,997,998,999,999,1000,1000,999,999,1010,1013,995,1004,1004,993,994,983,988,989,979,983,987,990,993,995,994,996,997,997,998,1055,998,1030,986,995,1007,1006,1005,1003,1002,1001,1003,1001,1010,999,998,1013,1006,994,1009,1001,993,984,972,991,994,983,998,1000,987,989,992,993,1008,1011,993,1008,1004,991,991,993,994,996,997,997,998,998,999,1002,1001,1008,1011,997,1017,1018,1033,1033,1025,1016,1016,1015,1012,986,976,975,980,967,973,980,985,989,1004,1009,991,991,993,995,996,997,998,998,999,999,999,999,999,1000,1000,999,999,999,1000,999,1000,1000,1003,1005,1003,1005,1001,1003,1024,1040,1032,1022,1008,1000,999,1003,988,1000,999,980,981,985,978,982,986,1001,1015,1013,1020,1015,996,989,966,972,979,985,988,992,993,1007,995,1006,1003,1002,993,993,994,996,1004,1000,1004,1021,1017,1012,1022,1029,1008,994,994,1002,1003,994,1002,995,995,993,974,978,983,992,968,973,979,985,990,1014,1014,1010,1007,1005,1003,1003,1002,1001,1001,1000,1000,1000,1000,1000,1013,1007,995,996,994,996,997,1005,1021,1017,1012,1009,1008,1004,1003,1001,1001,1001,1011,1015,1006,987,983,974,979,985,998,1003,992,1007,1015,1021,1008,980,981,986,990,993,995,996,996,997,998,998,999,999,999,1000,999,1010,998,1002,998,1010,997,1006,1043,1037,1028,1021,1000,987,989,991,993,1005,1006,1004,991,989,971,984,980,984,989,992,993,995,996,996,998,998,999,999,999,999,999,999,999,999,1000,1027,997,994,995,1007,1004,1001,1003,1006,1021,1014,1011,1018,1028,1003,1003,991,991,992,994,996,997,997,998,1039,1005,1002,988,989,1007,999,1039,977,961,968,976,983,987,991,993,995,995,996,997,998,999,999,998,1007,1022,1018,1013,1009,1016,1016,1005,997,999,1000,1000,1000,1007,993,973,983,981,985,989,992,1041,1001,1009,1008,1010,980,992,984,987,990,992,994,996,999,1082,1337,950,933,931,983,956,963,973,983,1008,1009,1007,1005,1004,1003,1006,1006,1054,1040,1100,975,961,970,970,969,970,1009,999,997,1008,1018,1015,1011,1061,974,971,983,983,988,991,993,994,1024,994,992,993,994,1005,1033,991,988,991,993,995,996,997,1006,997,1036,969,980,988,985,1004,1008,999,999,1017,1038,1022,1015,1013,1004,1003,986,978,982,986,982,971,983,981,985,1001,1002,990,991,1028,1001,1011,1009,1002,992,982,985,989,998,1004,992,993,994,996,997,997,998,1011,1022,1018,1013,1009,1008,1012,1003,1003,1000,999,999,999,1000,1000,999,999,1004,1007,997,997,1001,984,975,980,985,989,992,994,996,998,1031,1043,1034,1025,1018,1014,985,984,988,988,978,974,979,985,989,992,994,995,997,1001,1007,1003,995,998,996,1010,1020,1018,1022,1018,1003,1000,1000,999,1000,1000,999,1012,998,996,997,1006,1348,962,907,942,940,954,1005,986,972,992,1021,1028,1022,1054,1007,1001,997,975,984,982,986,989,993,1032,1002,999,1001,990,990,991,992,995,996,1006,1007,996,1048,1003,982,983,987,998,1036,1013,1013,1010,1040,982,968,974,982,992,1028,1017,1006,1006,1009,1006,997,1004,989,972,977,983,995,992,976,971,977,983,988,1060,1035,1003,996,994,995,1011,1021,1017,1013,1009,1061,987,967,973,1005,982,983,987,991,994,995,1052,1000,1164,1357,920,871,882,893,930,983,971,995,1005,1016,1003,1000,1039,995,991,992,994,996,997,1000,1000,1002,997,998,998,998,999,999,999,999,999,999,1000,999,999,1000,999,999,999,999,999,1000,999,999,999,999,999,1000,999,999,1000,1000,1007,1009,1003,995,988,986,984,979,983,987,991,993,995,997,1012,1026,1024,1010,1018,1011,1007,1008,995,995,1006,994,973,975,987,1020,1016,1014,1001,999,999,999,1000,1008,998,979,988,979,983,988,991,993,995,996,997,997,998,999,999,999,999,1000,1007,1027,1042,1017,1061,1052,1063,1032,1036,995,986,960,967,975,954,955,982,1020,1022,1026,1022,1014,1040,1013,990,965,977,975,980,986,989,992,994,1006,1021,1020,1045,987,977,1005,977,1024,991,982,996,1037,973,959,967,981,1012,1015,1029,1037,1002,986,990,1027,1006,1009,1008,1005,1003,1000,978,979,996,988,988,991,994,996,996,997,998,1021,1001,1018,991,990,992,994,996,997,1027,995,992,1011,1018,1062,1014,1149,1006,938,931,935,966,971,1027,977,957,983,1009,1008,1006,1005,1003,1010,1025,1027,1047,1012,1007,1009,985,972,976,1017,959,986,972,989,985,980,993,1011,1031,1074,1019,1008,1006,1004,999,978,979,996,994,980,967,973,1013,981,982,993,993,1023,1033,1041,997,995,1004,1001,993,994,995,996,997,998,998,999,999,999,1000,999,1000,999,999,999,1000,999,1000,1031,996,993,994,995,997,997,998,998,999,999,1023,1023,1032,998,981,984,979,968,990,979,986,1001,1014,1010,1007,1005,1004,1002,1016,1016,995,994,1002,1003,992,971,987,980,984,997,443,1050,115,114,221,434,668,777,846,892,923,946,960,971,976,999,1009,1009,1007,1004,1004,1002,1008,1000,1010,1005,1000,977,979,1003,1051,981,980,999,1017,1004,1062,1012,1004,1002,1007,1005,1004,1002,1001,977,1011,986,977,981,991,997,999,985,969,974,978,984,988,990,993,995,997,1024,1039,1016,1007,1004,1001,583,1042,1023,1004,996,996,997,1008,1011,997,994,994,996,997,998,1046,1008,981,963,970,978,984,988,991,993,995,997,1023,1019,1015,1011,1008,1014,991,986,980,983,988,991,993,995,996,997,998,998,1007,1032,1018,1021,1015,1003,1001,1000,1000,1001,1014,1006,1008,994,993,996,997,997,1018,1026,1023,1042,1002,1004,979,973,978,975,973,971,977,983,988,991,994,995,996,1032,994,991,993,1002,1029,1016,1010,1014,1011,1012,998,1007,996,996,997,997,1006,1000,1002,978,975,979,985,989,1008,1035,1038,1029,1021,1015,1034,981,978,987,986,990,992,985,978,977,981,987,990,993,1014,1017,1014,997,996,1004,982,993,977,980,985,989,992,1005,1021,1016,1011,1028,1037,1066,1012,1013,987,988,977,992,1016,999,982,981,986,990,1002,987,990,982,975,980,986,989,1008,1026,1038,1031,1046,1015,1011,986,979,982,987,971,971,989,983,985,989,991,994,995,997,997,998,999,999,999,1427,986,1002,1005,1011,1025,1021,1016,1012,1008,1005,1008,1007,1007,1050,976,974,972,978,1028,1624,1136,1073,755,876,865,887,916,946,955,966,976,985,1010,987,987,990,1017,1041,1048,1041,1050,1040,1029,1022,1021,1010,1041,1033,1017,1036,1028,1020,1014,1010,1011,679,985,975,1040,992,974,978,983,988,992,993,985,1013,975,993,979,982,1009,1011,1008,1006,1054,997,991,1004,1002,1000,1014,989,990,1005,992,993,995,996,1000,1006,1007,995,994,995,996,997,998,1022,1029,1023,1017,1013,1009,1006,1002,980,981,984,1005,1005,1012,1002,1000,994,977,980,1013,969,988,1003,1026,1013,996,983,995,986,997,990,992,1005,994,994,999,1020,1028,1012,997,1001,1015,1013,1001,999,1009,1007,995,995,1006,997,995,1006,1006,994,995,1006,1031,989,985,1004,1000,992,993,994,996,997,1027,1027,1013,984,984,988,977,971,977,974,981,981,1010,1008,997,996,997,1010,1006,1009,1006,1015,1013,1024,1006,1355,1099,1037,1022,1015,1019,1007,1003,1003,1002,1052,975,966,971,459,1000,1000,1003,1000,985,976,981,985,990,1009,1010,990,1002,991,1051,986,1001,983,1001,974,990,994,1008,1022,1018,1083,1068,987,979,983,999,1011,1010,1007,1005,1004,1021,1016,1021,1016,1017,1001,1025,961,954,964,974,981,986,975,970,977,997,986,987,994,1016,1015,1013,1015,1013,1001,1000,1000,1015,1023,1018,1013,1016,1020,1001,1000,1009,999,996,1002,997,997,993,975,986,992,985,996,989,998,992,993,995,1002,1002,990,992,992,993,1002,1010,1007,1010,997,996,979,985,980,995,1011,1010,1007,1005,1004,1019,1029,1023,1017,1008,991,981,984,1040,988,982,1000,1014,995,993,994,996,992,1019,999,992,1027,1013,998,978,980,986,989,992,1004,994,994,1001,996,1002,1003,1001,1001,1001,994,995,1004,1027,1005,991,990,999,998,1002,993,993,1008,1028,1016,1000,1008,993,994,1008,1008,1005,1010,1002,1007,1005,998,993,975,977,992,995,988,990,992,1004,1005,1004,999,999,998,992,1001,994,995,996,1004,996,1003,996,1013,1024,1016,1015,1012,1034,974,973,987,983,1028,991,1010,1007,1006,1005,1003,1005,1005,1004,998,1007,998,973,981,990,984,987,1005,1075,1011,996,1001,1020,999,985,969,973,980,1019,985,985,988,1005,1015,990,989,991,1003,997,984,984,1005,1007,1011,1055,988,985,990,993,992,994,995,1011,1021,1017,1012,1009,1006,1005,1032,1009,1001,1002,992,993,995,997,997,983,975,991,1002,985,986,1000,1001,1005,989,999,991,1004,993,1004,1021,1006,987,988,1001,992,993,1005,1005,993,999,995,995,996,1012,1042,1023,1016,1002,1010,1007,996,995,997,1022,1028,1020,986,992,993,987,989,992,994,995,981,1018,974,975,981,998,989,990,1003,1003,992,992,1000,1019,1026,1024,1006,1011,1000,994,976,979,984,995,1001,990,991,1008,1018,1015,1011,1016,1006,1011,1009,998,1033,970,968,957,972,968,990,1004,1004,1004,1002,1040,1012,1016,1012,1020,1017,1009,997,988,974,987,982,985,989,1005,993,1007,1045,986,983,1001,1014,1014,1008,1005,1004,1002,1009,1001,1005,999,998,998,998,981,976,981,986,990,986,986,991,981,1003,1016,1022,1014,1007,1001,977,984,980,1001,1003,1003,1002,1001,1007,1484,1008,1016,1014,1008,997,995,996,1006,998,996,997,997,493,1029,1016,1011,1008,990,981,994,998,998,997,999,998,999,999,998,990,998,999,992,1011,1042,1021,1004,995,977,999,982,1002,1024,1000,981,982,987,1000,991,992,1014,1007,1011,990,998,1000,1004,1011,1009,1013,1007,1004,1002,1002,999,1018,1022,1018,1017,1008,1005,1004,1003,978,978,983,988,976,970,976,983,982,979,987,1010,993,988,988,1004,1016,1013,1010,997,1011,995,994,995,996,997,1015,1030,1003,997,990,1008,1013,1010,1013,1009,1002,1001,1000,1023,1000,994,995,996,997,991,975,978,991,987,999,1016,1024,1011,1015,1003,1008,999,982,975,980,985,999,1001,990,1006,992,992,994,1006,995,1006,1009,1001,992,1012,992,1027,1014,1009,1007,1004,1003,1001,1019,1032,1012,988,988,991,993,1002,1003,994,995,979,974,979,993,1002,988,989,1000,1005,1006,990,990,992,995,1003,1468,983,1001,1005,583,1016,1018,1009,1005,1041,1001,1029,1003,1016,986,1126,988,958,980,978,986,1006,1043,1007,1003,995,994,996,1005,1038,980,964,970,978,1064,967,963,976,999,1009,967,970,988,982,1024,993,984,996,997,997,1025,994,1008,1007,1018,1011,1006,1026,1000,1009,1001,988,989,992,994,1014,1017,1022,1003,984,985,988,991,990,993,977,981,986,988,992,1051,988,978,989,1010,1010,1014,1010,1002,1066,992,986,988,1000,1001,993,974,972,978,984,988,985,971,1001,1030,1001,1003,995,995,996,997,997,1016,1021,1017,1012,1009,1007,1012,1016,999,997,997,998,998,999,1002,1062,983,967,977,983,1002,1013,1007,1009,984,1307,979,975,966,963,970,978,1011,985,985,988,1011,1017,1012,1016,1012,1003,1001,1031,1023,1049,1014,1025,1021,1015,1010,1007,1050,976,972,975,961,1008,970,969,648,994,990,967,974,970,996,1003,1002,1002,1001,1019,1037,1004,987,1002,990,1041,996,982,1000,987,988,1011,1016,1016,986,1013,1336,1006,1007,1014,1012,1000,998,1004,999,997,1006,1006,996,995,996,1001,1000,990,1006,1006,993,979,974,978,998,998,988,989,1000,1003,1004,993,1006,1017,1015,1011,1009,1005,664,1053,1026,1017,1008,1033,978,990,979,970,990,981,998,977,974,990,983,1004,1048,1007,1006,1005,1058,1008,985,987,1000,1041,1010,1002,1001,1047,994,1006,1023,999,985,1014,986,985,988,991,1021,969,968,975,981,986,990,984,972,976,987,1056,1023,976,974,978,1051,1004,999,1000,998,1017,997,1009,1020,1058,992,977,979,979,988,978,972,996,1007,1010,1008,1002,1007,999,1012,975,974,980,994,987,995,1026,989,1346,985,1012,989,979,989,987,990,997,998,993,1009,1018,1043,1009,1002,1001,1000,1006,1024,1026,1014,1007,982,984,987,991,993,988,972,975,981,986,1000,991,992,993,728,1013,1023,1011,1002,1008,1000,1050,1006,986,982,994,974,996,996,977,1025,979,994,989,1007,1009,1008,1005,1003,1337,1085,1017,1000,979,982,986,990,992,1023,969,970,977,981,985,972,1001,973,976,996,1008,1007,1005,1004,1003,1009,1066,1021,1017,1004,978,981,1009,998,983,1001,638,978,985,994,995,992,1003,1010,1027,1022,1016,1002,1020,997,995,1014,1005,1052,996,988,983,995,1048,984,980,984,988,1002,968,975,977,983,995,1056,976,991,984,986,1042,999,995,988,1010,986,996,1012,1055,1003,1000,1014,1049,1023,1010,1009,999,997,977,975,980,986,990,993,973,973,980,992,988,990,992,994,1044,1026,987,986,1005,1011,1009,1012,1034,998,994,974,974,991,994,985,994,990,992,1008,994,994,1003,997,1674,1119,1082,1025,965,962,971,978,984,988,992,994,995,989,973,978,983,986,988,991,1610,852,863,917,918,938,954,996,978,1020,1053,1077,1107,1114,1095,1076,1051,1083,996,985,986,989,991,993,1030,995,985,1052,1042,978,975,981,983,987,1015,1003,993,1178,1018,1080,1058,690,1009,991,984,987,989,991,993,992,974,985,981,985,1011,1014,1010,435,1019,1003,1001,1011,1023,1027,1013,1002,983,984,1007,996,988,1000,1002,991,992,995,1009,1018,1015,1011,1008,1006,1012,1028,1028,1016,995,984,1012,986,987,990,979,997,973,977,999,988,987,990,1000,1018,1022,1017,1006,1029,999,1005,1006,981,1051,998,968,966,983,986,1052,977,983,988,986,994,1012,1015,1022,1004,1009,1008,997,996,997,1014,1014,1008,990,990,992,994,996,997,977,976,992,985,988,998,1023,998,987,996,991,992,1014,1027,1020,1013,1003,989,986,986,992,992,996,997,1014,1018,1010,1010,1003,978,1000,1005,1004,1008,1002,1000,993,986,990,1012,991,990,1000,1006,1013,993,979,982,994,1000,990,1000,1001,992,1002,993,992,994,995,1000,1017,1019,1015,1011,1008,1006,1004,1003,1018,1032,1008,989,989,992,1003,1004,1002,992,993,1012,1020,1022,994,983,986,985,990,977,976,980,994,998,999,999,1000,989,991,992,1012,1027,1020,1017,1011,1063,991,980,965,971,989,983,1011,1011,1022,1004,986,989,992,983,1005,999,995,987,1037,995,984,990,1012,1012,1010,1007,1004,1003,1011,1001,999,999,999,999,983,977,982,971,968,1052,1126,956,955,955,965,987,1003,1019,1016,998,1041,1002,1000,986,998,998,1007,1057,1014,1002,998,1006,1020,993,991,993,1041,990,997,988,990,992,1035,990,971,968,981,980,990,1012,1013,1014,1007,999,1003,1003,1006,1000,991,976,987,985,987,1005,1021,1017,1013,989,989,991,993,991,1012,1011,1017,1006,987,979,993,991,988,1005,1015,1013,1010,1007,1005,1004,1021,1427,1032,1018,1013,1008,1042,1000,996,976,976,999,990,985,1518,972,986,979,997,996,986,988,1055,1010,1009,1007,1004,998,998,997,1002,998,988,975,989,995,1004,1001,986,986,1010,1053,1006,999,999,1000,1023,1022,1017,1034,1005,1001,1000,992,976,979,979,964,971,978,984,994,992,992,998,1004,993,993,995,996,1017,1020,1020,1011,1009,981,981,986,990,1004,993,980,977,994,983,998,1011,1008,1006,1003,1002,1015,1025,1020,1014,1016,1013,1003,1009,999,998,999,999,984,988,983,1035,982,991,998,1028,996,993,997,979,993,996,986,1012,989,989,1015,1108,975,968,989,993,980,995,1004,999,987,988,993,994,999,1019,1017,1013,1010,1007,1050,1014,992,1017,999,986,988,1018,997,972,967,975,992,998,996,987,999,1000,989,991,1011,1019,1015,1010,1020,1013,1007,997,997,1029,971,970,977,992,989,1000,991,999,992,993,1012,1019,1016,1060,1012,994,993,994,1003,1004,430,1020,1036,1048,1019,989,986,989,991,994,995,991,975,1390,1069,998,952,955,772,847,947,1002,977,979,1068,1130,1117,1126,1110,1084,1068,1051,1033,1021,1021,1010,1005,1004,755,1021,998,988,990,992,993,995,996,990,975,1009,973,959,966,992,979,987,1009,1011,1008,1006,1013,1015,998,1012,1003,996,1024,1013,999,1008,997,989,975,988,996,993,987,1007,994,988,989,992,993,1010,1053,1012,1005,1002,1045,1011,1016,1012,1012,1017,1002,987,976,980,967,966,974,981,1001,987,990,1002,1001,992,1009,1017,1023,1002,982,981,989,1019,989,989,1007,1003,1001,990,1001,993,993,994,995,1014,1020,1016,1279,979,1035,979,740,1044,1017,994,1038,988,985,989,992,971,973,979,1000,987,1029,986,985,1005,1014,1019,1018,1012,1028,994,975,971,977,1014,984,985,1002,989,1002,1002,990,992,996,1005,1020,1001,1013,1012,1009,1006,1005,1003,1029,1026,1019,1013,1009,1057,999,1000,992,1014,1006,1017,1019,1043,1000,976,981,986,1014,979,981,985,989,971,970,977,983,1145,982,968,964,971,979,985,989,1030,1006,999,1001,1012,987,983,989,990,1011,1017,1031,1008,1003,1002,1001,1015,999,1002,997,1001,997,996,1039,992,989,991,990,972,985,981,994,996,998,1011,988,997,988,1025,1014,1000,1006,981,995,1000,1001,1000,987,1005,1035,988,998,1006,1006,1004,1003,1002,1014,1002,997,1022,996,992,994,1001,1001,1007,995,995,995,996,983,981,982,982,997,1021,998,985,1006,1020,1034,976,975,981,997,998,988,1001,991,1012,992,991,1004,998,1017,992,1038,1011,1006,1010,1003,1001,1000,1024,1076,1016,1000,994,974,975,1023,981,981,985,987,970,973,979,1025,995,980,982,989,1014,1023,1013,1012,1012,1000,979,981,993,998,1004,992,1003,985,997,1013,1021,1022,1006,999,998,998,999,999,1014,1003,995,995,1008,997,1001,1002,995,995,1046,968,967,979,1018,997,977,989,992,986,995,989,1013,1016,1013,1015,1006,1004,991,980,1007,985,984,998,990,990,1018,993,996,998,1000,992,1013,1017,1013,1009,1007,1006,1054,997,1012,1014,1012,1052,1001,994,971,973,979,984,989,1002,974,970,976,969,993,996,999,1004,993,993,995,996,997,1003,1003,997,1028,1019,1014,1009,1007,1008,1037,1004,992,993,1014,1027,1015,986,984,987,991,993,991,975,975,981,995,993,989,997,1002,992,999,995,1012,1007,1017,1014,1010,1008,1005,1017,1040,1034,1013,1006,980,979,983,988,991,981,972,977,983,966,969,984,985,985,988,1005,1026,1049,1031,1041,1039,1029,1021,1021,1010,1006,1003,1001,978,978,983,975,968,996,1004,1003,1008,1001,1000,995,976,986,982,986,989,1012,1017,1023,1009,990,980,998,1011,1010,1012,1004,1002,988,978,985,1048,982,1002,1022,1004,998,998,998,1005,1023,1021,1019,1011,1007,1005,988,978,983,964,968,975,989,985,994,992,1008,995,1014,990,1009,1015,1021,1008,1001,979,987,994,985,995,981,982,987,1073,1013,984,1011,988,999,1002,986,977,1004,1008,1011,1005,1008,1001,1005,1007,1004,1012,995,1012,992,992,1003,997,995,995,997,972,982,1003,1007,1024,983,1006,990,981,982,981,997,988,990,1013,1018,1015,1016,1050,998,996,1002,1001,1010,993,991,992,1011,1020,1018,1011,1005,981,980,989,992,991,1039,994,984,991,989,1034,989,982,966,970,977,984,988,975,978,993,1003,1004,1005,1006,1034,996,993,1006,1028,1024,1015,1008,1008,984,982,993,1018,982,982,986,1000,1014,1012,1009,1007,1004,1004,1025,1028,1019,999,986,986,989,992,994,983,973,978,982,965,973,992,997,998,1025,1005,1001,1000,1000,999,1020,1023,1017,1012,1013,1028,1011,1007,995,994,1004,1002,1001,996,994,1001,1020,1019,1058,1007,998,997,974,985,980,983,964,968,953,962,1041,1039,967,987,991,992,993,995,1005,1020,1018,1014,1014,1013,1004,1000,1009,1058,992,994,995,989,975,980,993,1010,1010,1000,999,998,1007,1004,1000,996,995,1032,993,995,997,995,995,999,995,1001,1002,997,1012,1021,1009,986,987,990,992,994,985,974,977,994,986,988,991,993,995,1018,1027,1016,1009,994,981,990,993,989,995,1009,1009,990,990,992,1005,1019,1016,1012,1009,1006,875,1016,1015,1009,992,980,982,987,967,970,978,991,1001,988,989,1032,1005,998,1009,1008,1006,1013,1007,1005,997,997,989,987,977,989,995,987,989,1024,989,989,991,996,995,995,1003,1021,1018,1014,1056,1002,996,1021,1033,994,984,997,988,990,1012,993,991,1035,991,987,989,972,972,979,991,987,989,1009,1004,1008,1019,1007,1007,1012,1013,1006,1028,994,973,972,977,983,1007,1003,988,988,991,1000,1018,1017,1024,1021,1061,993,986,984,977,988,997,1006,1002,1008,991,985,995,991,998,1008,1014,1004,993,992,997,1012,1004,978,979,995,1000,999,998,1006,987,1001,999,1014,1020,1008,999,980,988,984,1008,1020,1014,1004,1034,1005,993,994,995,1002,996,1048,991,986,967,969,977,1009,988,995,994,988,998,1016,1015,1011,1016,1012,1002,1033,1002,999,999,1010,980,998,994,995,996,989,974,978,992,993,1000,1000,992,991,1013,1017,1043,1006,1000,999,1012,1031,1023,996,993,986,988,991,993,1046,990,977,965,1006,985,975,991,984,987,996,992,993,1003,1042,989,997,997,1012,1019,1008,987,981,995,994,996,992,998,1013,1015,1012,1008,1035,1004,1001,1001,1041,1018,1009,995,981,983,966,968,976,1031,981,979,985,1008,1014,1011,1014,1005,1006,1010,999,979,976,981,986,989,985,972,980,994,972,976,999,1009,1008,1006,1006,1003,1008,1020,1022,1017,1013,1009,1014,1003,1001,1029,1005,1001,992,992,986,972,985,992,1016,990,996,984,1005,1012,1021,1006,984,994,993,1020,988,981,995,987,998,1000,1008,1014,1012,1019,1004,979,997,992,983,994,990,1002,997,994,1234,782,1037,981,929,929,892,918,934,952,967,974,1002,978,980,1014,994,989,996,1014,1016,1044,1048,1046,1019,1013,1010,1020,1014,1059,1053,978,971,985,982,988,993,1057,1007,999,999,1007,1008,1007,1016,1014,1015,1010,1008,1008,1001,1000,990,1033,1002,971,974,980,1015,986,985,989,992,994,996,996,997,1040,990,987,991,992,1023,992,990,992,994,996,997,997,1033,994,991,993,995,1000,1019,1017,1020,373,6,3,3,3,648,1015,1014,1013,1008,1005,1003,1002,1002,1001,1010,1013,1002,995,995,996,997,998,998,998,999,999,999,999,997,983,985,993,985,986,997,991,1004,993,993,994,996,997,998,998,998,999,997,997,998,999,1001,1005,998,999,997,997,998,1002,1001,998,998,1014,1020,1016,1012,1046,998,973,976,982,987,990,993,995,996,997,997,998,998,999,999,999,999,1000,999,999,999,1000,1009,1022,1020,1014,1010,1007,1005,1003,1002,1001,1023,1043,1052,1030,1027,1021,1008,1004,1003,992,208,256,251,341,453,607,698,744,806,860,897,916,1045,1082,919,899,919,940,957,968,977,983,987,991,1178,897,898,921,970,955,964,973,991,984,957,970,980,1024,988,1042,1081,1053,1054,975,985,1033,1085,1096,1079,1075,1031,1000,993,970,951,975,967,971,959,965,973,980,986,999,1015,1013,1047,1003,998,997,1042,991,987,990,993,994,996,997,997,998,1028,1005,1029,989,1002,986,1001,994,989,991,996,1008,1033,1052,1103,1039,999,992,970,972,978,991,995,978,968,982,986,987,1001,987,989,992,993,995,996,997,998,999,999,999,999,999,999,999,1000,999,999,999,999,1000,1000,1002,1005,1003,998,1007,1002,995,1004,1018,1016,1012,1033,1075,1011,983,982,986,997,996,992,993,990,1002,975,976,982,986,990,993,995,995,997,998,1015,1030,991,988,991,993,995,997,997,1010,1012,994,994,995,999,1005,997,1008,1019,1016,1012,1009,1006,1004,1003,1002,1001,1001,1011,983,989,1002,990,993,981,984,988,991,994,995,996,997,998,998,999,999,999,999,1011,1023,1020,1030,1008,1004,1002,1008,1000,998,976,1008,993,1000,1001,981,982,986,989,991,994,995,1007,1021,1018,1016,1010,1006,1004,1003,1002,1001,1011,1010,1004,998,971,985,978,983,987,990,993,995,996,997,997,998,999,999,999,999,999,1012,998,1009,996,996,997,998,1004,998,997,1002,1000,998,997,998,1018,1022,1017,1026,1011,1002,1001,1001,1002,1000,1000,999,1000,1016,1002,1004,1014,1000,979,972,1005,1006,977,986,477,965,1075,1064,1036,1025,1018,1013,1056,1000,994,995,996,998,1001,1007,1012,1023,1017,1064,1000,1012,1017,1012,1009,1023,994,979,990,983,994,988,989,992,994,1006,1010,992,982,972,978,1022,1021,1015,1026,1046,1025,997,985,985,992,990,987,989,1008,1007,1005,1014,999,1052,1058,1082,1058,1016,1043,996,1003,979,949,915,963,948,943,952,949,952,985,1020,1018,1029,1046,1065,1042,1029,1018,998,984,986,972,1014,970,959,956,979,994,977,991,1008,1008,1006,1055,1011,989,989,992,993,997,1021,1030,1007,1024,1219,1115,921,903,913,934,952,980,997,1000,1000,1000,1018,1024,1018,1013,1029,1001,983,985,981,985,988,991,994,995,997,998,998,998,998,1023,991,994,996,1009,1008,995,994,2995,927,893,872,879,941,957,950,956,962,1016,1048,1111,1025,939,964,1004,1098,1026,1012,1021,1065,1023,1048,1048,1036,1037,1018,993,989,992,990,1003,993,1040,1001,984,986,989,1115,901,910,946,948,961,997,999,993,1027,993,987,1009,1005,1022,1030,998,994,989,1000,1012,1021,504,8,4,4,4,7,119,2059,3025,2274,1964,999,876,882,909,934,994,998,1173,876,927,976,1017,1059,1077,1071,1054,1045,1028,1055,988,980,984,988,994,993,996,993,1000,998,998,998,998,1015,1022,1022,1012,1002,999,1003,981,983,987,996,992,993,994,996,997,1015,1042,1000,985,986,990,992,994,987,975,989,982,1013,998,998,1010,1008,1006,1004,1003,1019,1006,1000,1015,1019,1014,1013,1007,1005,1020,1007,997,997,997,998,998,998,986,976,980,985,998,1000,997,991,993,994,1019,1024,995,986,995,999,1006,1020,1005,985,986,990,998,993,1003,1000,995,1008,1024,997,1019,989,1038,1280,1022,913,919,944,963,972,977,982,986,998,1017,1015,1016,1007,987,980,984,988,991,1005,1002,993,996,1029,978,986,994,997,997,999,1041,1007,1018,1003,1010,1007,1004,981,979,1037,992,978,982,994,993,991,992,994,1005,1020,1018,1013,1009,1006,1004,1027,1033,1005,989,966,969,977,967,977,661,1124,1107,1080,1059,1042,1052,1046,1043,1025,1038,992,980,983,743,1000,999,1007,998,998,1009,1000,1008,995,994,1006,997,1011,994,993,1012,1020,1024,1019,1005,1003,1001,1005,1072,1024,1001,979,979,970,965,972,980,985,971,987,993,1001,1016,1000,998,1000,997,998,1006,1005,997,997,997,1015,1220,991,987,1032,1012,1006,1011,1003,1000,1006,999,999,999,1000,1027,1020,1022,986,982,964,967,975,982,987,990,1030,990,988,991,994,994,995,1017,1019,740,1020,1014,989,987,990,1002,994,993,1002,1022,1010,1001,1012,1018,1014,1055,1003,986,967,971,982,1006,986,985,991,1012,1059,1007,1009,999,996,1003,1007,1001,996,995,1046,1004,983,973,968,983,990,1001,1009,1008,1074,1002,987,994,1039,995,993,995,994,987,1003,1041,983,981,985,988,969,1025,972,984,983,983,988,993,1017,1046,1008,1002,1010,1000,998,998,998,1001,988,993,1009,983,986,992,998,1009,1008,1006,1013,1002,1180,1023,997,977,999,983,983,987,1013,1024,1013,1007,998,982,815,1004,977,985,982,1021,1009,1017,1012,1001,999,1000,1018,1022,1020,1063,1548,2081,4909,1461,931,915,623,1194,278,7,4,4,3,10,233,2931,2809,86,87,927,904,810,859,2030,1350,1211,1083,1020,1009,1006,1004]},"stackTable":{"length":6099,"prefix":[null,0,1,2,3,4,5,6,5,8,9,10,11,12,13,14,15,16,17,18,19,20,null,22,23,9,25,26,27,28,29,30,31,10,33,34,35,36,10,38,39,35,41,42,43,44,45,46,47,48,17,50,51,52,30,54,55,56,35,58,10,60,61,62,63,64,65,null,67,54,69,11,12,72,73,74,75,76,77,78,12,80,81,82,83,84,55,86,30,88,89,90,16,92,88,94,95,28,43,60,99,100,90,102,103,13,105,106,29,108,17,110,55,112,113,114,35,116,113,55,119,46,121,122,69,124,28,126,77,128,108,113,131,132,133,132,135,102,30,138,105,119,38,142,143,144,145,146,147,148,149,150,113,42,153,154,50,156,26,158,44,160,10,162,163,75,165,null,167,135,169,35,171,172,173,86,60,42,177,178,47,180,42,86,132,184,184,186,131,188,189,135,76,192,55,34,135,41,197,198,11,200,201,153,203,76,205,135,116,30,209,119,211,30,213,42,215,216,217,10,55,220,221,50,94,41,39,162,31,102,119,230,135,77,233,42,31,8,237,238,239,240,241,35,243,244,135,246,10,112,177,171,251,252,253,54,255,256,257,258,221,30,65,54,50,41,265,160,198,268,269,88,106,272,273,274,43,99,277,278,10,153,69,173,256,284,113,286,31,165,243,138,213,213,126,50,46,296,297,189,299,28,301,302,253,47,305,30,153,217,198,133,132,28,313,11,113,244,44,42,30,46,47,322,50,30,325,184,89,null,329,302,45,332,333,334,131,94,135,338,252,51,341,131,343,47,77,163,325,42,349,51,351,258,160,42,209,50,357,358,135,35,361,46,363,364,215,366,29,72,369,370,106,189,373,374,47,42,377,378,272,361,19,16,100,384,47,189,10,27,389,52,46,392,77,105,198,396,119,398,119,400,35,325,10,34,46,55,132,370,409,26,411,246,119,414,18,119,417,110,5,420,421,422,423,420,425,426,426,425,429,430,431,432,433,434,435,425,437,438,439,440,425,425,425,444,445,446,447,430,449,440,426,452,453,425,455,456,457,458,421,460,461,462,5,464,465,5,467,468,468,468,467,472,473,474,474,474,477,474,479,479,5,482,483,484,485,486,487,488,489,490,491,492,483,494,495,496,497,498,499,500,501,484,503,504,505,506,507,508,509,499,511,512,513,514,497,516,517,499,519,520,512,522,523,524,495,484,527,528,529,506,531,532,512,534,535,536,537,538,539,505,541,505,543,544,545,546,543,548,549,550,551,552,553,554,535,556,511,558,559,560,561,488,549,537,565,566,554,538,569,490,571,516,573,505,551,576,577,578,492,580,491,582,583,580,585,486,587,588,543,590,577,492,593,499,595,596,576,535,599,577,601,492,603,580,605,550,607,548,609,610,536,612,550,614,536,616,617,587,619,620,621,622,623,499,625,548,627,628,497,630,531,609,484,634,635,636,637,638,639,577,505,642,643,548,645,646,535,512,538,650,486,511,554,576,655,492,657,497,659,660,505,662,527,664,665,666,667,668,541,505,556,538,673,513,675,487,677,612,650,583,512,612,595,590,617,500,687,688,523,627,488,577,576,694,695,642,494,609,699,500,537,499,703,487,614,590,537,708,532,498,561,688,713,484,566,511,717,577,549,577,721,627,703,655,548,726,727,728,729,512,588,512,733,535,506,580,737,578,576,740,580,742,554,487,537,746,541,551,749,489,645,486,523,677,755,503,617,758,759,622,607,762,485,764,505,505,767,513,491,770,534,772,660,774,595,642,645,778,541,645,513,505,583,512,785,527,772,576,688,559,791,792,610,512,583,576,759,548,799,675,538,802,590,645,805,497,807,548,541,810,601,580,713,580,815,548,499,516,819,497,548,822,823,634,825,553,601,488,534,590,539,492,522,642,662,485,805,577,807,840,513,842,512,844,845,550,499,505,849,577,851,677,767,549,855,524,688,858,546,499,861,726,863,864,595,495,535,639,490,870,5,872,873,873,872,876,877,878,872,880,872,882,883,5,885,886,885,888,5,890,891,892,890,894,895,896,890,898,5,900,901,902,902,904,902,902,5,908,909,910,911,912,913,908,915,916,917,918,919,920,921,920,923,924,925,910,927,928,929,928,931,932,933,934,935,936,5,938,939,940,941,942,943,944,945,946,947,945,949,950,951,952,953,946,955,921,957,958,933,960,961,938,911,924,929,944,967,968,951,970,971,972,943,974,975,976,961,978,943,978,919,968,983,984,920,986,910,988,935,912,910,908,993,994,916,996,997,998,999,1000,910,971,1003,927,1005,946,952,928,976,910,1011,946,908,1014,1015,1016,1017,929,1019,1005,910,1022,910,921,1025,935,945,1028,943,1030,988,943,1033,1034,932,1036,944,1038,945,1040,1041,952,1043,929,1045,946,1047,934,946,1050,938,941,1053,953,950,1056,952,1058,941,1060,1011,943,1063,920,927,1066,1067,1068,1067,976,975,929,1073,1067,921,915,1077,1078,1079,915,929,1082,921,968,996,1086,1066,1014,1089,1090,928,1092,1063,919,1095,957,1005,945,1099,1100,932,1102,1103,1102,983,970,935,924,1109,933,935,1112,1038,957,1115,928,1117,1118,935,1120,1038,1122,1063,1003,1125,928,1127,1128,1129,1033,984,998,910,913,1058,919,1137,942,1139,934,911,1142,1143,940,1145,913,935,1014,1149,1150,943,976,943,957,1155,952,1157,1157,1159,1011,921,1162,1102,1137,1165,1127,970,1041,1036,1058,1171,1022,1067,968,1175,921,1177,1178,939,1180,940,1182,1183,1184,1185,946,941,1188,1189,910,1191,934,988,1058,1195,943,1197,974,916,1200,1201,1202,986,1204,945,1143,945,917,1209,1210,1211,1212,1213,961,1215,1216,945,1218,1219,1030,986,1092,1223,1011,1067,1226,1227,947,1165,1068,975,952,945,968,950,1236,908,1238,1030,910,1241,946,928,976,931,1246,1041,1248,994,924,928,1252,950,943,1255,1209,957,1258,5,1260,1261,1262,1263,1264,945,950,1058,974,1269,1270,1271,928,939,921,946,999,1277,1115,908,1236,1011,913,928,1269,1053,1286,1112,929,1197,911,1139,1038,945,1015,1014,1068,1297,1038,983,928,1301,1036,999,1304,908,1306,1307,1308,1309,1310,1311,1033,5,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1325,1329,1330,1325,1332,1333,1334,1335,1336,1337,1325,1323,1325,1325,1323,1343,1344,1345,1323,1347,1326,1349,1323,1351,1323,1353,1335,1343,1356,1357,1358,1326,1324,1361,1362,1323,1335,1356,1333,1333,1368,1361,1353,1343,1335,1373,1333,1336,1376,1344,1329,1325,1380,1358,1321,1383,1326,1337,1336,1321,1388,1325,1390,1391,1325,1345,1323,1395,1391,1326,1398,1395,1335,1391,1402,1336,1404,1323,1406,1333,1362,1409,1319,1345,1325,1413,1326,1415,1358,1417,1335,1362,1420,1390,1334,1423,1424,1425,1426,1333,1325,1332,1430,1324,1432,1395,1320,1335,1436,1437,1329,1333,1440,1357,1442,1344,1358,1335,1446,1447,1448,1333,1323,1325,1391,1325,1398,1321,1456,1351,1325,1459,1460,1326,1460,1463,1424,1465,1323,1319,1468,1362,1362,1471,1472,1473,1316,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1483,1487,1488,1489,1488,1483,1492,1482,1494,1495,1481,1497,1498,1479,1500,1501,1481,1492,1498,1500,1488,1507,1508,1509,1510,1481,1512,1481,1514,1495,1516,1488,1492,1519,1508,1521,1492,1482,1524,1483,1492,1527,1492,1529,1498,1531,1495,1527,1481,1500,1536,1484,1480,1539,1524,1492,1524,1481,1544,1492,1546,1510,1507,1549,1550,1492,1508,1477,1554,1497,1556,1557,1558,1483,1508,1480,1514,1508,1564,1565,1481,1479,1568,1569,1570,1509,1483,1558,1550,1575,1509,1577,1498,1487,1580,1492,1550,1583,1483,1585,1586,1481,1588,1557,1590,1580,1492,1593,1500,1595,1495,1575,1492,1483,1544,1544,1577,1495,1604,1507,1606,1479,1558,1498,1488,1611,1509,1514,1508,1615,1616,1617,1604,1619,1519,1583,1495,1606,1606,1564,1483,1627,1480,1485,1480,1631,1481,1633,1558,1516,1485,1637,1510,1588,1529,1606,1611,1544,1516,1483,1633,1531,1544,1492,1650,1521,1509,1512,1583,1588,1509,1657,1514,1606,1481,1564,1588,1531,1516,1565,1633,1492,1477,1492,1509,1671,1478,1673,1508,1514,1524,1492,1531,1679,1478,1681,1682,1683,1509,1558,1686,1619,1481,1481,1544,1509,1692,1550,1588,1544,1531,1686,1489,1583,1700,1554,1509,1550,1606,1483,1706,1707,1708,1483,1495,1508,1627,1483,1558,1627,1487,1717,1483,1682,1483,1721,1706,1723,1724,1512,1512,1727,1521,1729,1509,1569,1732,1477,1734,1707,1544,1509,1738,1508,1483,1741,1650,1497,1717,1477,1746,1483,1488,1524,1524,1495,1732,1673,1531,1507,1482,1593,1606,1489,1760,1550,1700,1509,1484,1492,1492,1509,1479,1769,1489,1509,1633,1577,1488,1492,1489,1570,1588,1724,1495,1494,1492,1558,1585,1492,1508,1554,1483,1509,1512,1700,1482,1633,1484,1488,1606,1479,1798,1492,1479,1575,1802,1492,1590,1482,1483,1492,1487,1558,1729,1492,1606,1480,1556,1483,1816,1529,1633,1508,1500,1494,1556,1823,1556,1508,1481,1497,1615,1489,1508,1831,1593,1492,1483,1575,1488,1492,1838,1611,1588,1841,1521,1717,1575,1575,1512,1673,1521,1495,1524,1497,1708,1558,1516,1485,1498,1588,1509,1516,1760,1590,1483,1509,1633,1509,1686,1564,1481,1575,1483,1509,1585,1556,1476,1509,1557,1650,1585,1619,1880,1802,1682,1883,1884,1671,1583,1617,1509,1590,1516,1891,1550,1588,1497,1549,1686,1580,1544,1479,1580,1593,1481,1556,1544,1905,1521,1492,1481,1492,1575,1549,1477,1488,1905,1683,1717,1508,1498,1512,1492,1509,1706,1546,1487,1717,1529,1492,1524,1524,1631,1514,1932,1637,1509,1508,1936,1479,1938,1679,1760,1564,1479,1707,1488,1588,1483,1947,1509,1500,1611,1509,1952,1558,1590,1650,1729,1524,1492,1507,1619,1588,1549,1557,1539,1679,1509,1509,1769,1969,1524,1627,1972,1973,1588,1619,1884,1509,1531,1544,1509,1500,1633,1972,1514,1483,1986,1481,1637,1734,1514,1936,1544,1484,1994,1681,1483,1512,1973,1482,1577,1479,1633,1508,2004,1798,2006,1514,1585,1483,1683,2011,1492,1488,1706,1492,1529,1508,1500,2019,1657,1544,1588,1692,1492,1673,2026,1539,1611,1509,1557,1488,1679,1615,1570,1583,1585,1631,1481,1488,1681,1936,1986,1544,1479,1514,1485,1657,1481,1509,2050,1700,1477,2053,1673,1483,1633,1577,1480,1479,1492,1514,1483,1514,1492,1489,1512,1617,1495,2069,1514,1484,1524,2069,1509,1507,1932,1586,1512,1507,1544,1544,1508,1549,1611,1529,1633,1706,1497,1488,1531,1536,1633,1650,1483,1679,1679,1692,1521,1492,1477,1905,1816,1482,1727,1524,2106,1484,1588,1650,1492,1706,2053,1479,2114,2069,1760,1501,1524,1633,1514,1802,1738,1611,2124,1611,1721,1932,1497,1616,1492,1512,1952,1492,2134,1527,1481,1972,1952,1682,1588,1616,1531,1508,1575,1508,1500,2147,1657,1673,1481,1616,1521,1483,1485,1585,1539,1500,1631,1539,1489,1583,1488,1531,1497,1514,1972,1492,1500,1509,1841,1501,1611,1546,1477,2011,1484,1633,1816,1611,1723,1673,1477,1969,1557,1483,1495,1508,1512,1479,2190,1516,1565,1947,1500,1519,1492,2011,1531,1509,1481,2004,1483,1546,1706,1884,1619,1489,1611,1512,2114,1516,1487,1729,1483,2215,1509,1760,2069,1831,1498,1479,1531,1476,1509,1558,1679,1683,1544,1489,1512,2006,1527,1509,1514,1905,1681,1483,1524,1952,1544,1531,1516,1554,1512,1606,1479,1477,1700,1884,1683,1973,1682,1531,1734,1508,1489,2147,1947,1727,1673,1488,1611,1524,1738,1492,1521,1611,2053,1707,2270,1500,1707,1524,1479,1494,1485,1823,1585,2069,1488,1706,1717,2283,1483,2285,1760,1708,1633,1497,1509,1550,1633,2293,1497,1479,2296,1972,1580,2299,1481,1727,1482,1708,1516,1734,2306,1527,1986,1544,1508,2270,1514,1516,1500,1617,1724,1554,1633,1727,1508,1617,1604,1564,1972,1802,1531,1514,1727,1760,2124,1583,1580,1509,1558,1478,1481,1481,1485,1509,2124,1619,1580,1554,2344,1627,1558,1580,2069,1952,1497,1483,1508,1492,2106,1509,1483,1508,1480,1492,1986,1569,1529,2293,1500,1479,2366,1531,1524,1673,1479,1485,1477,1509,1738,1577,1484,1816,1492,1509,1483,1492,1489,1633,1481,1841,1514,1604,1619,1700,1479,2391,1657,1509,1508,1556,1492,1556,1510,2283,1527,1816,1575,2270,1604,1539,2344,1508,1606,1482,1593,1489,1507,1570,2270,1692,1485,1508,1570,2419,1760,1637,1550,1606,1568,1568,1633,1617,2053,1521,1514,1494,1484,1738,1501,2134,1480,1673,2069,1509,1564,1483,2442,1606,1483,1509,1481,1724,1494,1508,1481,1512,1514,1738,1531,1611,1531,1611,1570,1932,1483,1489,1700,1489,1564,1760,1488,1611,1483,1682,1509,1492,1479,1521,1905,1637,1700,1509,1841,1544,1631,2481,1606,1619,1692,1481,1507,1485,1484,1692,1617,1480,1492,1550,1802,1479,2496,1539,1883,1831,1492,1831,1539,1611,1492,1708,1617,1611,1558,1492,1611,1633,1723,1481,1512,1679,1512,1509,1509,1484,1492,1583,1544,1577,1483,1524,1905,1488,1477,1932,2053,1583,2344,1512,1509,1492,1723,1575,1580,1633,1556,1936,1475,1516,1485,1619,1905,1557,2215,1488,1986,1823,2299,1514,2124,2296,1570,1519,1521,2190,1686,1514,1497,1615,1556,1952,1604,1544,2053,2006,1700,1683,1586,1479,2574,1717,2296,2577,1972,1729,1492,1558,1483,1577,1590,1633,1481,1516,1500,1802,1565,1619,1500,2296,1481,1631,1724,1727,1673,1880,1650,1569,1723,1588,1606,1936,2344,1492,1509,1514,2006,1509,1544,1521,1583,1512,1593,2293,1489,1769,1516,1488,2053,1883,1481,1633,1588,2577,1509,1633,1509,1604,1841,1508,1500,1816,1531,1514,1492,1519,1509,1617,1480,1516,1557,1585,1509,2004,1497,1479,1485,1492,1482,1508,1564,1588,2270,1494,2053,1619,1734,1514,1509,1524,1802,1492,1475,2106,1509,1708,1495,1489,1521,1512,1512,1481,1604,1484,1564,1479,1727,1519,1500,2683,1488,1986,1514,1481,1585,1549,1558,1627,1738,1884,1682,1544,1495,1619,1509,1564,1838,1492,1604,1500,1588,1477,2481,1593,1483,1546,1483,2270,1619,1483,1734,2574,1483,1495,1500,1558,1619,1512,1769,1969,2293,1802,1488,1476,1476,1500,2730,1577,1489,1549,1492,2574,1611,1724,1557,2069,1564,1492,1657,1492,1615,1604,1717,1724,2296,1550,1531,1478,1510,2006,1650,1480,1724,1512,1619,1544,1509,1588,1631,1544,1932,1492,1492,1708,1482,1483,1529,1564,1494,1554,1492,1524,1972,1507,1483,1932,1700,1482,1932,1481,1508,1483,2786,1972,1595,1802,1708,1557,1593,1481,2069,1487,1487,1489,1489,1508,1475,1529,1588,1488,1932,1831,1500,1479,1489,1531,2069,1932,1481,1483,1708,1479,2816,1657,1484,1544,1556,1482,1514,1738,1492,1484,1650,2293,1509,1507,1487,1521,1492,1487,1483,1905,1717,1509,2069,1557,1884,2004,1586,1746,2124,1841,1631,1495,1492,1683,1510,1936,1568,1557,1637,1489,1936,1494,2285,1544,1488,1492,1724,1489,1531,1972,1498,1489,1510,1588,2215,1514,1509,1575,1585,1633,2019,1631,1500,2106,1880,1489,1487,1479,1492,1717,1627,1539,1489,1500,1544,1508,1700,1524,1479,1615,1558,1512,1512,1484,1802,1679,1531,1508,1492,1509,1480,1707,1700,1477,1509,1972,1483,1500,1494,1529,1512,1724,1492,1531,1488,1588,2296,1972,1539,1588,1508,1550,1606,1604,1500,1509,1729,1585,1500,1481,1489,1481,1508,1700,1509,2124,1508,1500,1508,1679,1633,1479,1481,1558,1627,2069,1580,1514,1508,1558,1500,1521,1606,1544,1891,1524,2299,1509,1606,1481,1485,1606,1769,1524,1483,1508,1492,1706,1550,1932,1508,1512,1544,1588,1492,1489,2344,1550,1497,1593,1588,1544,1617,1531,1483,2053,2992,1485,1544,1497,2053,1477,1619,1507,1932,1492,1717,1492,1484,1932,1611,1673,2992,2683,1487,1558,1727,1802,1508,1479,1570,1905,1936,1637,1495,1544,1606,1619,2053,1485,1692,1509,1480,1524,1509,1509,1500,1492,1509,1501,1671,1497,1732,1633,1481,1481,1485,1619,1746,1823,2306,1488,1936,1831,1489,1519,1524,1972,1492,1498,1509,1616,1679,1500,1508,1483,1531,1479,3064,1604,1544,1497,1492,1831,1531,1484,2577,1986,1509,1588,1986,1616,1539,1488,1564,2050,1637,1554,1738,1565,2283,1637,1484,1514,1841,1891,2069,1816,1521,1564,1823,1564,2391,1498,1529,1482,1679,1514,1708,1509,2992,1880,1539,1580,1488,1514,1514,2683,1686,1512,1734,1611,1539,1606,2306,1508,2124,1512,1619,2147,1657,1508,3128,1481,1724,1544,1481,2816,1495,2114,1769,1483,1489,1588,1606,3141,1802,1510,1679,1972,1507,1508,1481,1891,2496,1708,3152,1557,1679,1569,1986,1531,1500,1972,1637,1708,1564,1485,1586,1905,1477,1611,2296,1516,1816,1700,1746,1841,1483,2496,1512,1686,1479,1615,1619,1495,1508,1673,1539,1531,1544,1734,1679,1492,2053,1570,2019,1724,1524,1831,1521,2124,1617,1516,1479,1564,1546,1972,1483,3205,1516,1738,1492,1539,3210,2050,1497,1683,1531,1492,1564,2344,1479,1509,1483,1550,2006,1512,1557,1604,1557,1483,1550,1531,2006,1531,2344,1488,1514,2026,1606,1724,1841,2006,2293,2019,1905,1717,1489,1891,1509,1637,1500,1512,1509,1482,1497,1583,1798,1700,2683,1531,1558,1816,1724,1514,1495,1588,1492,1508,1479,1686,1485,1838,1524,1483,1483,1884,1483,1485,1816,1569,1706,3064,1485,1585,1477,1483,1673,1509,1671,1483,2106,1604,1509,1708,1524,1619,2270,1531,1564,1509,2011,1841,1556,1488,1483,1485,1724,1484,1936,1508,1509,1692,1615,1482,1477,1546,1700,1657,1549,1544,3141,1546,1831,1615,1554,1986,1484,1477,1972,1492,1734,1483,1686,1650,1802,1724,1509,1708,1565,1631,1738,2683,1484,1482,1514,1519,1500,1531,1508,1500,1583,1516,1479,1488,1682,1509,1554,1479,3356,1565,1498,1568,3360,1586,1692,1498,1483,2069,1500,1708,1938,1509,1510,1479,3372,1637,1492,1489,1500,1760,1554,1721,1514,1679,1492,1880,1509,1516,1585,1604,1544,1481,1475,1746,1508,1509,1816,1484,1508,1619,1483,1512,1514,1480,1500,1508,1588,2481,1509,1480,1481,1479,2124,2992,1619,1495,1483,1972,1516,1588,1633,2992,1905,1570,1531,1483,1482,1932,1969,1516,null,3429,1707,1769,1973,1485,1514,1484,1485,1686,1492,2299,1544,1476,1508,1514,1708,1488,1494,1479,1905,1619,1593,1580,1508,1539,1738,1516,2019,1611,1485,1509,1544,2069,3462,1516,1708,1521,1492,1509,1521,1510,1606,1557,1727,1489,1481,3141,1554,1514,1521,1681,1510,1492,1550,1483,1495,1492,1633,1569,1568,1637,1483,1492,1481,1476,1883,2069,1479,1556,1479,1524,1483,1484,1938,1565,1479,2344,1492,1568,1315,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3518,3522,3518,3524,3518,3526,3527,3528,3527,3518,3514,3532,3516,3524,3527,3536,3537,3538,3539,3517,3541,3542,3543,3528,3524,3546,3536,3548,3514,3542,3551,3552,3524,3554,3518,3556,3536,3558,3559,3560,3512,3517,3516,3564,3565,3566,3567,3568,3551,3516,3571,3548,3564,3574,3575,3548,3541,3574,3543,3580,3556,3582,3583,3537,3532,3538,3587,3516,3589,3590,3524,3571,3520,3594,3516,3596,3542,3566,3528,3600,3527,3602,3516,3604,3551,3517,3607,3565,3587,3571,3604,3524,3613,3538,3514,3567,3516,3618,3575,3620,3538,3560,3537,3624,3625,3514,3567,3559,3629,3630,3596,3537,3518,3634,3604,3537,3514,3638,3639,3640,3527,3551,3538,3644,3618,3546,3548,3596,3649,3518,3566,3604,3511,3537,3613,3518,3657,3537,3556,3660,3661,3602,3596,3524,3665,3546,3514,3524,3558,3515,3671,3604,3514,3674,3575,3660,3677,3542,3551,3537,3537,3514,3683,3684,3575,3660,3537,3524,3689,3541,3613,3618,3575,3512,3695,3526,3697,3524,3699,3516,3613,3607,3602,3537,3543,3602,3538,3708,3583,3677,3548,3537,3516,3630,3596,3537,3564,3589,3589,3538,3526,3524,3723,3618,3604,3596,3620,3566,3729,3536,3538,3551,3520,3526,3551,3620,3697,3624,3618,3532,3513,3742,3743,3684,3551,3519,3747,3574,3520,3524,3751,3560,3537,3754,3755,3756,3743,3560,3515,3618,3542,3618,3604,3532,3765,3630,3604,3618,3543,3580,3596,3574,3537,3657,3775,3516,3518,3527,3689,3512,3548,3518,3644,3602,3618,3786,3689,3556,3538,3790,3542,3607,3516,3551,3517,3564,3538,3524,3538,3536,3516,3556,3514,3804,3528,3524,3538,3604,3518,3810,3811,3559,3532,3786,3657,3560,3657,3583,3518,3804,3575,3567,3514,3532,3825,3510,3560,3567,3518,3830,3571,3558,3775,3567,3565,3589,3537,3838,3602,3518,3841,3528,3620,3567,3524,3625,3607,3546,3604,3630,3554,3512,3853,3697,3575,3520,3602,3518,3604,3860,3607,3532,3863,3639,3865,3775,3560,3677,3537,3528,3589,3677,3518,3516,3516,3527,3513,3878,3699,3661,3689,3514,3604,3649,3811,3564,3786,3571,3514,3754,3567,3565,3551,3575,3589,3537,3527,3560,3565,3528,3515,3695,3541,3729,3677,3514,3520,3589,3589,3532,3537,3912,3565,3524,3624,3514,3518,3514,3919,3920,3542,3524,3538,3524,3689,3538,3538,3928,3538,3537,3931,3542,3528,3594,3580,3671,3697,3551,3514,3514,3941,3516,3538,3944,3560,3946,3765,3878,3697,3537,3951,3571,3953,3541,3526,3583,3528,3590,3607,3571,3571,3514,3963,3560,3775,3574,3583,3644,3514,3970,3742,3554,3528,3518,3514,3532,3977,3524,3587,3516,3571,3542,3520,3624,3511,3607,3528,3559,3583,3580,3524,3590,3589,3532,3754,3565,3519,3860,3596,3537,3580,3524,3742,3552,3575,3537,3644,3649,3516,3560,3853,3751,3548,3811,3853,3516,3538,3518,3695,4020,3624,3790,3528,3519,3729,3548,3524,3618,3518,3527,3671,3853,3618,3618,3575,3751,3514,3660,3811,3517,3512,3524,3618,3524,3524,3625,3951,4048,3624,3596,3524,3518,3532,4054,3607,3618,3542,4058,3538,3512,4061,3527,3751,3618,3538,3625,3538,3564,3699,3518,3811,3532,3649,3590,3532,4076,3756,3575,3528,3838,3538,3532,3743,4084,4085,3607,4087,3618,3512,4090,3511,3548,3554,3514,4095,3684,3519,3604,3518,3970,3551,3567,3538,3708,3546,3524,3629,3538,3548,4110,3860,3620,3912,3517,3543,3589,3946,3564,3520,3786,3512,4085,3532,3524,3583,3551,3538,4128,3708,3566,3567,3953,3514,3743,4135,3538,3526,4138,3620,3524,3514,3689,3567,3754,3542,3671,3594,3607,4087,3512,3607,3878,3538,3520,3548,3811,3583,3538,3566,3865,3526,3518,3853,4164,3677,3519,3811,4138,3538,3518,3567,3590,3589,3596,3697,3518,3841,3524,3517,4110,4048,3564,3517,3567,3541,3571,3941,3538,3527,3537,3537,3516,3528,3520,3537,3729,3754,3607,3625,3532,4201,3528,3644,3559,4090,3524,3524,3602,3519,3810,3684,3524,3520,3517,3515,4216,3697,3511,4090,3751,3537,3537,3604,3931,3571,3546,3618,3543,3743,3518,3565,4110,3708,3539,4048,3953,3514,3671,3527,3639,3542,3600,3629,3838,3620,3514,3524,3526,4128,3624,3629,4020,3538,3756,3970,3629,3575,3520,4138,3751,3756,3552,4087,3558,3689,3618,4138,3775,3580,3526,3560,3524,3538,3699,3518,3607,3853,3607,3841,3568,3671,3532,4138,3756,3583,3629,3620,3543,3865,3519,3589,3624,3580,4294,3542,3620,3538,3517,3660,3754,3537,3575,3624,3596,3548,3526,4216,3677,3539,4087,3708,3518,3518,4314,3590,3559,3538,3514,3527,3596,3565,4322,3556,3554,3543,4135,3538,4048,3596,3928,3537,3528,3524,3589,3519,3689,3575,4058,3671,3604,3580,3607,3677,3790,3786,3607,3532,3649,3515,3524,3518,3537,4322,3575,3560,4058,3538,3970,3853,3527,3537,3528,3524,3630,3543,3618,4216,4368,3538,3527,3677,4138,4373,3951,3524,3537,3514,3524,3514,3575,3574,3587,3596,3630,3596,3527,3515,3524,3558,4020,3524,3543,3524,3564,3528,3697,3786,3629,4294,3970,3528,3657,3538,3677,3518,3602,3755,3538,3537,3825,3551,3559,3538,4110,3575,3518,3977,3539,3548,3554,3571,3604,4090,3838,3515,4135,3594,3532,3639,3524,3624,3514,4314,3551,3825,3537,4437,3528,3519,3517,4373,3620,3604,3602,4445,3522,3931,3524,4322,3634,3620,3526,3556,3580,3528,3786,3604,4138,3970,3538,3589,3571,3640,3524,3510,3604,3514,4468,3566,3542,3743,3524,4084,3524,3946,3518,3518,3594,4110,3649,4095,3524,3756,4445,3620,3729,3524,3538,3564,4061,3524,3575,4437,3575,3953,4085,3941,3564,4076,3590,3538,3524,3674,3559,3512,3634,3941,3751,3541,3589,3512,3699,3518,3511,3568,3548,4437,3567,3516,3532,3699,3853,3951,3699,3756,3589,3607,3657,3524,3860,3853,3574,3951,4020,3515,3510,3560,3527,3571,3522,3838,3811,3729,3602,3920,3567,3624,3571,4090,3538,4058,3751,3571,3657,4058,3580,3515,3860,3630,3677,3618,3514,3657,4076,3811,4216,3602,3518,4058,3518,3594,3575,3524,3514,3554,3524,4090,3514,3528,3600,3518,4582,3526,4061,3542,3604,3526,3514,3515,3790,3551,3594,3838,3607,3607,3536,4138,3596,3559,3518,3514,3865,3537,3538,3618,3602,3841,3556,3537,3538,4058,3604,3527,3543,3629,3810,3537,3677,3538,3539,3790,3560,3607,3618,3516,3600,3860,4216,3524,3594,3516,3630,3583,3695,3543,3524,3684,3618,3518,4058,3634,3538,3526,3630,3560,3575,3618,3538,4216,3524,3537,3613,3524,3551,3580,4437,3520,3511,3548,3520,3580,3538,3538,3620,3543,3516,3568,3567,3538,3677,4671,3538,3928,3538,3587,4061,3528,3618,4373,3638,3754,3564,3695,3600,3589,3811,3607,3541,3931,3589,3519,3543,3564,3756,3589,3518,3516,3583,3551,3518,4701,3677,3528,3571,3527,3527,4084,3640,3536,3538,3754,3657,3518,3810,3518,4201,3524,3564,3552,3600,3564,3538,3607,3532,3520,3532,3602,3786,3583,3528,3537,3575,3519,3590,3514,4736,3575,3539,3613,3756,3512,3551,3565,4138,3607,3514,3928,3629,3587,3528,3838,3537,3689,3537,4445,3618,3519,3522,3520,3520,3756,3708,3551,3649,3590,3810,4087,3538,3567,3951,3634,3620,3524,3865,4775,3517,3602,3514,3589,3589,3970,4782,3538,4164,3541,3532,3516,4775,3602,3589,3946,3657,3607,3518,3517,3538,3559,3624,4076,3546,3552,3527,3510,4135,3537,3538,3568,3587,4582,3539,3524,3514,3567,3538,3567,4138,3520,3514,3565,4090,4821,3548,3566,3526,4084,3528,3865,3754,3516,3878,3537,3518,3944,3600,4437,3551,3931,3613,3600,3516,3524,3538,3607,3649,3582,3604,4138,3596,3590,3620,4294,3565,3596,3538,3516,3920,4821,3613,3618,3560,3775,3526,4061,3644,4058,3512,3538,3518,3524,3524,3841,3671,4873,3811,3697,3786,3568,3596,3575,3528,3604,3649,3536,3514,3604,3556,3528,3575,3514,4890,3565,3548,3528,3567,3657,3538,3765,3661,3575,3580,3566,3548,3541,3538,3567,3532,4907,3625,3600,4671,3596,3524,3618,3671,3953,3516,3512,3548,3519,3811,4921,3517,4085,3512,3538,3518,3524,3604,4201,3953,3538,3613,3567,3560,3607,3524,3538,3574,3514,3575,3951,4087,3537,3841,3941,3556,3878,4948,3537,3524,3607,3538,3625,3580,3596,3514,4957,3825,3618,3524,3552,3575,3538,3524,3538,3543,3551,3582,3524,3551,3564,3878,4445,4138,3618,3560,3671,3571,3602,3548,3522,3786,4128,4110,3542,3607,3515,3536,3596,3755,3522,3853,4138,3765,3657,3538,3613,3524,3532,3560,4216,3723,3528,3638,3755,3565,3575,3537,3527,4164,3518,5012,3527,4701,3524,3548,3538,3604,3946,3751,3729,3596,3537,3596,3554,3575,3941,3596,3596,3620,3516,3786,3519,3810,4445,3514,3546,3970,4110,3538,3970,3515,3514,5044,3538,3590,3538,3624,3532,3560,3543,3602,3811,3618,3532,3518,3524,3526,4138,3518,3583,3556,4294,4090,3532,3620,3518,3520,3538,4048,4873,3963,3607,3522,3587,3522,3514,3538,3522,3946,3518,3624,3754,3518,3559,3526,3620,4135,3618,3558,3519,3695,4216,3565,4437,3524,3571,3520,3532,3510,3519,3518,3519,3532,3589,3624,4048,3542,3589,3568,3590,4873,3552,3518,5115,4445,3571,3543,3543,3518,3524,3527,3538,3519,3919,3878,3602,3618,3825,3571,3567,4087,4084,3513,3518,4020,4090,3536,3537,3511,3564,3841,3512,4445,3527,3951,3543,3811,3751,3743,3589,3596,4921,3865,3607,3587,3587,3602,3565,3671,4087,5044,3537,3538,3841,3551,3928,4821,4294,3618,3512,3514,3775,4294,3524,3941,3755,3919,3571,3590,3618,3786,3519,3618,3596,3532,3519,3723,3538,4437,4135,5192,3640,3590,4135,3775,3514,5198,3580,4135,3624,3524,3919,3524,3517,3518,3542,3941,3587,4322,3536,3537,3514,3537,3524,4775,3644,3689,4437,3580,3519,3853,3607,3600,3564,3538,3602,4054,3878,3518,3860,3518,3532,3661,3516,3810,3517,3522,3575,4314,3538,3951,3708,3754,3589,3524,4445,3567,3514,3811,3566,4054,3589,3629,3548,3571,3519,3568,4058,3538,3754,3537,3946,3522,3931,3527,3695,3607,3560,3775,3697,3743,3951,3518,5275,3602,3596,3524,3560,3538,3630,3537,3524,3515,3629,3526,3522,3671,3575,3514,3638,5292,3537,3625,4445,3841,3519,3756,3596,3600,3838,3629,3524,4890,3618,3574,3571,3582,3582,4216,5044,3519,3951,3542,3602,3528,3538,3853,3526,3853,3564,3522,3542,3838,3542,3524,3786,3513,3602,3566,3539,3516,3708,3519,3516,3532,3516,3825,3524,3524,3532,4135,3517,3580,4135,3951,4084,3565,3677,3536,3524,3699,3919,3516,3743,3538,3613,3548,3583,3587,3624,3541,3644,3689,3604,3514,3524,3607,3532,3518,3620,3551,4110,3630,4921,3528,4782,4058,3519,3556,3551,3564,3587,4085,3574,3743,3518,3551,3538,3538,3751,3841,3951,3594,5115,3519,3775,3538,3583,3582,4054,3775,3515,3811,3538,3537,3810,3649,3575,3567,3514,5412,3510,4110,3538,3589,3567,3790,3517,3754,4054,3618,3538,3657,3708,3514,4138,3580,3552,3527,3589,3515,3604,3574,3624,3708,3634,3524,4058,3575,3527,3532,3604,3657,3624,5115,3860,3516,3526,3520,3514,4020,3538,3518,3518,5456,3677,3518,3536,3604,3536,3510,3528,3542,3600,3790,4095,3571,3790,3747,3511,3755,3624,4164,3546,3695,3537,3567,3657,3564,3536,3558,3520,3589,3838,3589,3580,3559,3532,3518,4076,3514,3970,3657,3542,3683,3604,3629,3512,3602,3566,3574,3538,3697,3751,3574,3516,4138,3539,3515,3683,3596,3571,4775,3532,3538,3538,3568,3928,3589,3624,3865,3542,3566,3542,3524,3524,3517,3640,3865,3518,3524,4314,4921,3518,3571,3756,4054,4957,3519,3516,4020,4061,3514,3583,3548,3532,3604,3543,3811,3518,3589,3589,3527,3517,3518,3515,3566,3554,3542,4095,3810,3518,3567,3524,3538,3596,3524,4437,3520,4701,3674,3587,4095,5198,3568,3697,3564,3524,3514,3624,3602,3538,3548,3524,3518,3580,3538,3786,3538,3524,3528,4921,4437,3920,3558,4061,3527,3629,3604,3517,4437,3697,5604,3751,3811,3518,5608,3596,3514,4921,3559,3697,3524,3560,3671,4736,4058,3515,3538,4084,3538,3537,3589,3574,3527,3538,3548,3583,3538,3514,3519,3838,3538,3527,4058,5637,3520,3660,4048,3524,3551,3518,3537,3548,4048,3928,3524,3657,3514,3558,3634,3520,3878,3564,3630,3600,3811,3528,4437,3516,3567,3518,3517,3624,3580,3683,3515,3536,3811,3590,3596,3524,3589,3649,3524,3596,3538,3514,3928,3790,3524,3629,3537,3548,3520,3811,3526,4058,3607,3554,3571,3560,3512,4216,3589,3571,5192,3624,3518,3538,3665,3684,4671,3510,3537,3518,3618,4373,3516,3565,3519,3551,3953,5275,3517,5604,3512,3618,3620,3574,3517,3512,3551,3551,4135,3551,4582,3543,3946,3575,4090,3524,3695,4437,3524,3546,3538,3567,3865,4138,3528,3580,3514,3977,3524,3517,3786,3596,3532,3548,3723,3660,3526,3516,3532,3541,3920,4671,3524,3551,3596,3729,3699,3520,5604,3838,3536,3589,3524,4128,3538,3556,3559,3695,3589,3618,3515,3527,3865,3567,3538,4821,3810,3951,3790,3520,3697,3519,5637,4058,3742,3589,3755,3649,4076,3515,3519,3518,3532,3520,3551,3953,3511,3649,3518,3638,3538,3518,3580,4873,3580,3604,3841,3513,3524,3528,4135,3568,3699,3575,3754,3528,3671,4087,3575,3559,3551,3607,4095,3604,3559,3524,3747,4216,3697,4090,3524,3532,3538,3548,3580,3810,3951,4921,3565,3518,3589,3618,3538,3620,3532,3524,3953,3919,5192,3695,3524,4048,3841,3514,3756,3566,3516,3518,3620,3532,3518,3661,5044,3512,3551,3537,3657,3620,3811,5412,3538,3600,3951,4873,4216,3528,3518,3811,3532,3878,3618,3537,3538,3524,3677,4048,3519,3537,3515,3618,3695,3543,3538,3518,3756,3538,3860,3644,3590,3575,3551,3582,3580,3516,3518,3756,3630,3556,3518,3695,3604,3537,3565,3951,3532,3747,3677,3811,3548,3620,3528,3639,3516,3596,4468,3567,3552,3625,3582,3790,3538,3538,3567,3556,3537,3522,3559,3514,3524,3583,3649,3602,3528,3515,3699,4085,3625,3560,4135,3527,4135,3630,4048,4445,3630,3594,3594,3566,3977,3524,3524,3625,4873,3512,3755,3536,3516,3624,3560,3528,3931,3524,3520,3865,3811,3532,3765,3742,4921,3536,3695,3518,3517,3538,3536,3556,3580,4085,3527,3524,3546,3811,3516,3629,4782,3537,3941,3536,4322,3677,3522,4201,3963,3519,3524,3589,1314,6015,6016,6017,6018,6019,6020,6021,1314,6023,6024,6025,1314,6027,6028,6029,6030,6031,6027,6033,6033,6035,6036,6037,6033,6039,6040,6041,6035,6035,6044,6045,6035,6045,6035,6035,6027,6051,6052,6052,6052,6027,6056,6057,6057,6057,6060,6061,4,6063,6064,6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,4,6080,6081,6082,6083,6084,6082,6086,6087,6083,6089,6090,6080,6092,6093,6093,6095,6093,6093],"frame":[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,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,28,42,43,17,28,44,45,46,28,44,45,47,41,28,48,49,50,51,52,53,54,55,56,57,24,58,59,60,37,61,62,14,15,16,17,28,48,49,63,64,55,56,57,24,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,60,89,42,43,71,51,31,90,91,44,92,65,93,94,82,95,48,49,44,96,97,17,28,48,98,44,99,51,100,51,101,102,103,54,55,56,57,104,105,106,107,108,109,44,110,111,112,113,114,51,71,115,116,117,118,119,37,120,24,110,47,67,73,74,121,122,123,65,93,124,125,47,126,127,65,128,93,94,18,19,129,130,60,90,131,132,133,18,19,134,85,135,136,137,47,18,138,139,140,50,51,45,47,36,90,112,69,81,141,142,143,74,144,145,146,147,148,149,150,37,151,152,153,65,154,131,90,155,64,55,56,156,7,100,82,157,137,152,158,159,160,68,69,81,161,18,19,162,74,163,121,164,165,166,167,60,37,90,162,74,121,168,135,169,170,171,172,173,174,24,175,99,140,176,20,177,119,51,37,90,178,90,37,179,180,181,48,182,183,20,37,143,74,121,37,184,185,186,187,161,188,189,131,112,190,191,192,193,194,145,195,196,110,47,197,198,97,199,190,200,24,201,18,19,20,202,203,204,45,47,205,137,47,60,90,206,126,207,208,209,210,151,47,211,97,212,90,65,93,94,213,198,51,112,214,215,214,216,217,84,85,218,219,162,74,176,220,143,74,121,221,97,134,192,222,223,224,134,225,60,90,226,227,228,229,230,20,51,125,226,137,185,231,232,233,234,131,235,229,135,221,236,51,185,184,47,237,110,47,238,239,240,241,242,243,244,245,246,247,248,249,250,64,55,56,156,7,251,252,253,249,254,255,247,256,257,258,249,259,260,261,259,248,249,259,262,253,249,263,264,265,253,249,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,9,10,11,12,13,14,15,16,17,28,286,25,26,27,28,29,30,67,73,204,33,34,35,67,68,69,81,90,41,28,44,151,47,44,110,287,36,82,95,65,93,288,289,290,52,291,292,293,73,294,295,42,43,17,28,44,137,287,100,296,41,18,19,20,51,28,42,43,17,18,19,20,37,71,90,18,19,162,74,297,298,299,65,93,183,150,184,47,119,97,45,47,300,28,44,151,47,44,102,18,19,301,151,226,62,84,61,60,97,133,65,302,100,82,303,212,119,208,137,304,48,189,184,47,71,97,65,93,94,60,305,119,306,18,19,307,14,15,16,17,28,308,198,97,48,182,94,309,310,311,312,38,103,54,55,56,57,313,314,31,82,303,44,125,111,315,316,45,47,317,318,90,227,319,112,113,112,69,320,198,97,53,54,55,56,57,321,88,164,37,151,226,184,47,84,61,37,226,322,145,323,324,37,325,68,69,326,124,189,327,328,65,93,94,140,329,330,331,168,286,50,90,332,37,161,227,228,333,334,121,81,89,335,336,60,72,220,77,110,47,49,37,228,112,69,81,82,303,337,233,338,228,109,339,137,152,152,48,180,125,47,340,341,209,342,343,60,37,344,345,346,347,85,348,349,162,74,350,351,82,157,85,352,353,36,354,92,60,161,355,232,81,340,51,356,184,226,340,357,358,359,360,209,361,362,37,363,364,20,82,95,365,212,307,366,163,367,228,152,110,47,90,110,47,143,204,126,82,368,47,133,369,45,47,370,371,151,226,229,143,74,350,372,373,134,226,374,77,375,47,376,377,378,37,233,379,102,74,380,110,47,112,214,381,382,383,50,384,385,386,387,97,355,37,388,389,390,208,31,238,214,391,392,97,393,192,24,71,37,394,395,396,397,398,399,400,401,402,403,404,405,264,406,407,408,409,410,411,412,276,413,271,414,415,416,276,417,418,276,277,419,280,281,420,421,422,423,424,67,73,74,144,425,426,427,428,429,17,28,212,18,19,20,37,41,28,44,430,42,43,17,28,44,431,228,432,433,27,28,29,30,41,28,44,137,47,42,43,17,28,48,434,184,226,44,45,47,18,19,435,436,437,134,438,18,19,439,18,19,20,37,67,73,74,440,20,37,371,441,442,162,74,380,60,369,100,90,133,443,164,444,445,446,447,428,429,17,28,131,448,162,449,60,51,133,376,450,451,31,97,139,452,78,453,276,454,137,47,90,198,51,455,456,457,458,209,459,50,51,460,36,82,461,71,97,60,51,65,93,94,112,113,45,462,125,47,126,431,463,464,65,128,189,119,90,44,187,44,220,88,198,296,465,18,19,20,37,307,466,204,184,467,134,376,468,469,470,471,472,431,463,473,307,474,475,476,477,276,478,143,443,97,119,90,479,97,112,69,480,119,82,157,97,481,476,482,162,204,483,110,379,37,125,226,65,93,94,151,379,82,461,90,74,121,112,214,391,392,90,350,484,485,486,102,71,37,87,90,131,68,214,487,60,296,121,488,489,174,490,353,144,491,151,226,65,492,93,183,356,112,113,37,82,493,113,494,183,88,45,111,97,322,20,37,48,182,495,496,72,18,19,162,74,350,497,112,69,205,50,37,363,88,110,47,31,498,339,499,64,55,500,82,157,501,502,503,474,468,469,470,170,504,162,74,380,48,182,94,37,37,74,350,505,162,74,350,379,461,506,507,229,131,129,71,37,508,509,238,36,97,510,376,121,355,356,288,289,511,188,227,228,512,100,97,513,431,514,515,64,55,56,156,7,516,91,517,68,69,81,296,518,519,126,520,18,476,47,521,522,51,523,235,190,93,94,226,96,37,168,51,340,524,525,526,82,157,527,449,48,189,37,60,161,528,103,54,55,56,156,529,37,530,531,532,533,534,433,27,28,29,30,41,28,44,45,47,48,182,94,42,43,17,28,44,125,47,535,164,536,370,67,73,74,144,31,90,110,47,100,296,36,537,196,68,69,81,90,139,18,19,307,195,538,539,315,71,37,494,37,540,209,541,109,151,152,443,49,209,542,51,543,228,544,545,546,44,139,65,93,94,196,121,50,90,547,184,47,72,131,288,548,110,46,198,37,549,20,51,550,551,112,190,385,386,82,95,552,553,90,554,18,19,162,74,121,555,131,355,90,60,51,97,556,65,93,94,98,119,51,389,557,204,37,112,214,391,558,559,560,561,365,286,226,112,539,537,143,74,144,133,562,563,20,90,564,114,90,439,162,74,562,565,566,534,433,27,28,29,30,41,28,65,93,94,42,43,71,97,567,44,510,18,19,568,67,73,204,44,184,47,371,569,570,571,17,28,44,45,111,36,51,31,97,20,37,109,45,47,48,572,133,60,51,573,137,226,151,226,74,144,574,152,353,137,226,377,87,97,97,575,150,100,576,125,111,47,18,19,577,578,518,114,90,68,69,81,579,580,286,581,238,65,93,94,564,112,69,81,51,133,376,51,20,97,110,226,582,355,97,583,162,481,48,182,94,50,97,389,390,356,110,226,125,226,134,51,584,181,324,354,47,162,204,60,161,585,37,586,119,37,220,356,112,214,391,587,74,350,226,204,588,72,90,492,143,507,589,590,591,37,198,306,375,150,288,289,226,90,47,37,296,90,97,126,97,592,88,184,379,593,510,296,594,537,137,47,37,595,596,597,51,598,90,599,37,430,519,600,431,228,60,51,145,601,161,602,562,565,18,19,20,90,99,82,603,75,604,383,378,125,379,307,605,606,607,608,90,74,297,37,224,134,32,112,69,81,37,145,609,229,610,538,97,204,611,612,363,307,367,228,214,391,613,89,82,83,182,614,328,389,615,236,616,617,37,184,47,212,309,618,47,339,97,619,620,621,192,306,90,622,390,232,451,465,166,47,51,82,95,588,121,623,624,625,187,139,65,626,88,627,90,628,629,630,32,37,37,295,307,494,631,632,189,224,131,633,212,634,97,350,635,378,636,512,632,143,204,637,638,82,639,640,641,318,642,213,643,90,183,102,97,644,539,456,645,185,601,646,647,476,214,502,648,376,455,649,113,37,209,650,304,651,308,306,91,431,228,375,82,608,652,37,612,37,90,37,653,188,654,655,232,208,32,656,657,658,659,595,83,660,661,662,140,663,95,664,164,232,229,637,665,666,667,668,70,46,49,562,669,368,162,74,670,671,672,673,674,615,82,461,188,384,168,494,83,51,208,196,675,467,676,190,82,461,189,482,300,677,90,678,679,680,157,37,681,126,507,305,139,682,113,47,77,51,111,220,37,378,90,82,461,683,684,456,457,685,228,686,687,688,212,70,689,232,227,228,544,99,323,151,226,161,557,226,690,691,692,693,121,498,138,694,32,695,696,697,93,94,384,74,562,565,698,699,700,701,486,51,187,133,51,702,177,209,459,448,703,97,704,705,140,330,706,707,708,37,709,351,46,710,232,227,711,74,350,88,712,235,82,687,358,442,713,714,379,715,151,47,111,716,441,47,717,82,157,90,378,102,320,718,719,720,721,722,723,724,725,726,476,727,728,97,729,681,730,226,731,385,732,163,496,140,605,286,150,462,733,734,735,32,736,737,738,739,740,741,553,90,90,742,141,37,743,203,95,744,232,745,232,32,363,476,97,152,340,539,746,559,747,47,375,152,748,749,750,226,49,751,752,639,753,754,368,82,608,755,601,545,756,757,232,227,514,51,157,185,633,305,758,95,111,82,83,340,514,303,759,760,761,356,47,385,386,47,762,763,46,134,177,487,350,764,32,708,45,47,46,632,359,765,180,766,183,593,88,697,32,37,208,767,484,121,768,384,144,769,139,770,461,226,179,152,771,303,199,595,772,51,773,90,774,775,205,776,301,370,32,309,618,51,777,463,778,379,779,780,781,602,231,463,782,226,666,121,297,51,208,88,228,306,783,94,685,514,651,780,675,459,443,784,785,786,206,306,787,369,375,788,739,121,111,789,72,790,494,791,32,792,537,793,724,97,72,238,573,794,380,795,97,563,588,796,788,524,140,226,514,797,354,798,141,296,46,799,434,616,88,389,615,224,800,89,376,801,802,803,804,805,806,190,82,608,543,228,608,306,498,807,808,622,82,493,809,48,49,466,82,368,810,95,203,208,811,82,461,379,812,498,813,814,51,340,102,815,816,724,177,157,817,818,819,820,121,780,466,378,639,368,780,821,340,822,612,203,823,195,824,825,95,451,826,82,827,443,296,37,150,379,828,829,830,831,95,832,833,834,835,836,837,70,838,639,220,42,839,840,72,208,370,841,842,843,545,111,844,845,846,847,848,849,378,724,850,780,537,722,851,852,853,854,185,855,638,856,438,857,792,95,838,858,595,390,449,51,493,859,605,483,152,498,483,90,660,838,365,734,82,493,303,548,574,208,190,666,89,295,90,665,296,860,312,226,628,732,861,97,356,862,554,338,228,140,863,430,864,865,866,366,867,601,868,304,163,869,870,90,871,83,872,616,75,72,873,874,875,691,370,876,877,682,145,878,608,879,796,438,639,704,82,493,378,702,185,880,881,882,883,545,884,885,99,876,461,886,887,305,888,342,825,812,716,306,889,97,613,232,32,890,595,606,891,892,150,893,606,546,894,895,896,897,758,838,898,616,95,899,900,780,51,449,157,632,901,674,487,375,21,32,902,903,904,378,905,607,780,906,228,549,541,907,157,232,608,180,97,152,908,909,157,178,910,911,912,111,570,913,633,914,201,51,336,338,514,88,182,915,163,744,916,89,917,152,918,238,919,89,510,157,124,163,920,189,921,232,818,461,161,922,111,800,923,375,323,924,925,546,926,89,451,927,724,928,570,460,185,157,323,312,72,929,37,204,930,178,354,94,931,384,932,933,303,934,578,705,380,306,862,462,935,865,936,369,800,937,647,228,938,450,939,940,941,942,755,305,641,943,305,944,51,945,946,632,303,647,947,303,625,375,948,306,949,375,537,950,951,952,953,363,608,185,110,47,954,342,576,955,956,957,305,582,462,350,622,356,439,958,959,960,514,497,821,961,150,962,368,46,963,379,964,965,966,967,595,228,131,129,968,150,144,969,492,744,95,608,970,971,464,431,463,379,654,972,973,974,788,975,976,369,977,978,304,488,757,594,202,673,979,980,523,635,185,981,792,982,392,724,796,983,984,340,51,601,985,986,130,51,987,988,545,989,138,356,990,375,991,147,992,368,993,465,687,994,995,996,997,981,46,998,633,480,999,560,97,1000,1001,1002,238,1003,1004,46,378,1005,493,1006,187,235,356,297,506,608,1007,934,90,456,727,628,688,595,1008,1009,498,379,1010,1011,185,83,1012,1013,1014,1015,843,1016,1017,303,90,1010,32,1018,163,514,183,1019,687,157,97,1020,517,32,1021,1022,539,1023,1024,758,845,972,463,296,1025,1026,1027,115,1028,350,821,868,304,296,1029,140,1030,150,572,576,838,654,1031,639,686,369,299,518,1032,324,1033,1034,305,847,1035,863,944,369,286,1036,654,378,605,1037,1038,1039,1040,1041,1042,520,1043,205,1044,1045,1042,201,1046,751,237,792,384,1047,1048,763,1049,324,1050,486,356,89,1051,129,375,1052,984,973,1053,1054,1055,1056,21,1057,1058,914,1059,461,1060,682,748,669,354,229,1061,506,722,681,90,354,1062,724,663,1063,232,632,1064,208,608,1065,324,1066,1067,606,1068,232,1069,1070,935,720,301,157,1071,441,1072,724,662,232,998,1073,437,111,323,323,558,1074,1075,82,1076,1077,1078,1079,1080,1081,380,1082,1083,1084,1085,701,1086,790,150,576,368,304,1087,691,303,1088,538,1089,161,1090,1091,1092,360,178,150,670,97,744,304,631,1093,441,799,692,1094,1095,1048,379,514,1096,965,323,1097,1098,1099,551,1100,487,493,1101,1102,1103,340,111,340,592,1104,897,1105,215,922,520,197,536,958,543,228,443,384,1106,623,542,551,1107,183,1006,583,969,1108,1109,1035,1110,895,386,1111,51,838,744,461,1112,1113,1114,95,303,739,1102,1050,127,1115,160,1116,481,287,1082,1117,969,161,1118,687,565,378,324,194,716,305,226,303,323,305,632,89,384,157,967,368,576,914,46,152,1119,997,1120,1121,1122,491,1123,1124,887,1125,1126,691,1127,82,303,493,545,563,1128,1129,791,1130,368,228,82,1131,1132,1133,205,542,851,1104,1134,1135,579,1136,1137,1138,83,1139,369,908,232,1091,670,1140,493,76,514,177,461,1141,1142,1143,322,1144,601,675,1145,681,1146,1147,1148,32,140,226,558,305,210,1149,493,392,616,1150,952,838,795,853,1151,654,152,1152,82,985,1153,1154,632,1155,544,1156,1157,131,968,1062,1158,702,306,617,1159,364,337,1160,1161,795,1162,303,1163,375,368,969,587,827,380,303,152,874,232,632,639,1164,1165,668,354,1166,1167,1168,1169,586,1170,46,1171,141,457,815,632,1172,238,1173,1174,1175,493,1176,671,498,473,1177,966,1150,1178,1123,976,1008,1179,1180,98,1181,1182,140,890,463,1183,687,481,896,506,324,486,1184,211,1185,717,95,368,1186,1187,518,1188,741,977,753,450,1189,152,912,1190,1191,185,1192,545,943,305,608,545,1193,1194,1195,650,1196,1197,1162,1198,375,1070,368,838,83,1199,831,141,1200,356,792,152,302,1201,1035,792,1202,1203,661,1204,933,296,552,1205,325,96,32,1206,228,1207,1208,214,803,1099,111,1209,1210,384,634,691,887,569,462,367,228,1211,1212,161,575,461,306,463,1213,1214,1215,1216,482,579,1217,1218,150,1219,1220,1221,1210,213,727,953,536,1222,764,324,1223,1224,1225,1226,632,303,584,1227,1228,1229,157,157,201,1230,715,840,739,606,72,461,368,498,1231,1232,1233,874,1053,324,1234,97,906,1235,1236,1138,1237,492,336,1238,1239,827,1195,1240,1241,724,140,1242,957,1243,1083,176,379,305,642,506,185,375,379,238,547,1239,1244,82,639,140,658,1245,1246,1148,1247,46,305,1248,493,1035,1249,687,1250,983,1251,1252,152,770,1253,1254,325,1255,296,1132,648,1256,784,1257,1258,436,819,72,791,1259,964,595,1260,1261,463,1262,1226,368,479,1186,1263,1264,534,433,27,28,29,30,41,28,65,93,1265,209,361,44,862,42,43,71,97,109,145,44,862,1266,1267,17,28,44,110,47,18,19,162,1268,51,45,47,60,37,363,20,82,157,184,226,112,857,18,19,20,37,1269,318,67,68,69,81,82,83,72,198,32,579,73,74,350,51,476,443,74,121,214,391,392,638,224,151,46,100,82,493,1270,37,288,1271,50,90,325,70,82,608,119,97,36,51,32,60,90,1272,47,97,72,137,152,761,126,161,31,356,562,1273,133,606,48,182,183,212,97,162,74,914,37,286,227,671,1274,376,112,69,389,557,1275,306,137,152,378,226,97,82,157,501,205,37,1276,1277,226,48,189,212,69,389,390,369,97,385,386,462,1278,1279,494,87,51,232,456,858,121,81,37,588,90,736,131,143,74,914,144,205,126,125,545,494,185,97,747,114,37,355,356,110,47,353,47,51,51,661,1280,90,45,47,613,32,161,1281,371,163,202,363,1282,88,37,139,299,431,228,522,97,51,565,389,1283,1082,1198,232,365,1000,633,563,51,1251,37,927,18,19,588,350,238,330,1284,204,94,151,47,90,112,214,391,884,574,97,733,88,134,90,90,151,47,350,324,724,204,350,232,449,1174,182,124,164,363,689,47,1285,632,126,226,37,82,157,152,113,125,226,307,232,455,37,147,339,877,102,668,1286,383,1287,1206,228,21,1032,510,579,143,74,991,134,510,303,49,238,434,816,131,514,466,37,729,110,47,1288,441,340,309,618,323,476,1289,296,1008,616,209,542,612,456,1290,37,709,90,510,336,202,152,724,121,152,496,97,306,451,1291,306,76,82,303,161,385,732,81,37,94,51,90,863,32,97,306,286,448,1292,512,60,97,226,1283,111,813,460,461,144,655,95,324,638,1287,632,539,97,1293,51,538,629,89,666,88,1294,378,866,615,51,229,1295,595,324,1164,1119,997,912,220,49,376,316,65,93,94,301,920,1296,1104,379,1297,184,47,187,227,1029,188,522,703,607,232,97,51,1069,209,361,195,385,386,82,83,111,37,969,65,895,82,83,972,77,558,90,780,37,51,739,685,228,498,183,507,865,462,48,1054,707,462,716,376,235,184,226,600,226,564,90,1298,124,1054,436,369,238,588,587,380,578,95,90,1299,1300,1259,1301,780,150,145,144,677,494,687,1074,1150,47,1302,604,177,90,462,378,350,88,880,328,524,82,1303,1050,47,1034,492,390,522,92,716,518,567,37,306,498,51,592,379,1304,70,763,1082,771,1305,89,640,1084,94,93,94,180,632,822,1306,45,47,306,232,553,1080,1104,619,1307,726,226,616,696,824,102,1308,838,212,1309,328,608,303,137,545,295,440,140,459,213,583,162,74,121,82,780,1035,236,632,1240,140,47,853,1310,993,977,140,516,180,788,51,602,226,111,986,204,1084,82,368,368,719,1311,351,821,232,780,437,1312,985,1313,350,102,133,741,375,431,228,1314,1315,89,639,308,20,37,497,611,868,1316,187,1317,792,724,1036,439,88,1256,97,157,1139,208,90,894,590,616,702,1047,789,1318,97,1319,229,82,157,232,312,981,356,220,708,498,368,202,305,89,642,727,1246,1320,95,590,168,987,306,237,724,1103,640,1187,1321,197,1322,945,1323,229,660,1142,305,124,125,47,324,379,435,90,520,1059,498,1324,204,121,1118,841,1325,591,97,37,464,97,287,967,1326,89,228,306,379,681,722,134,1327,190,780,838,46,183,780,145,356,91,70,876,985,586,1328,695,196,651,1329,887,712,481,493,623,587,665,672,781,1330,90,152,865,95,83,1252,226,983,375,1099,163,1016,537,832,822,46,1331,724,37,150,845,303,90,99,97,1027,673,582,1332,1333,90,895,811,1334,562,1332,1073,1335,99,1013,1336,113,501,1028,189,522,232,1337,1223,97,111,95,379,898,367,228,1083,307,1048,1338,718,1127,214,487,539,185,582,306,96,744,296,226,830,868,458,375,820,462,380,141,681,32,1339,340,632,46,461,612,139,493,1340,1297,1260,370,502,1341,969,97,836,1342,324,929,1343,296,935,380,1052,1344,82,83,697,899,208,82,608,1235,99,1345,337,139,1346,486,586,838,324,607,369,559,581,1347,138,83,224,767,894,1348,232,90,874,449,1349,652,323,1350,1351,161,934,296,487,1055,1352,185,1085,1160,430,493,1155,1353,47,379,324,1354,72,740,21,361,1043,90,1355,220,205,1356,434,784,671,208,226,456,727,1357,883,1009,157,1358,675,82,368,459,463,497,1359,463,1360,1361,1362,914,1363,368,654,324,49,631,704,378,615,682,1364,296,543,228,1365,622,307,761,1218,1366,493,1210,337,1135,608,95,1367,978,1368,639,1214,1184,438,684,540,1369,1164,1143,1370,1371,368,981,1372,1106,47,157,575,479,1373,188,1374,228,728,628,1252,208,519,1375,764,1376,780,306,772,179,491,1030,467,202,1377,379,1047,724,238,1251,571,83,232,481,1113,95,1378,904,605,970,150,342,1103,451,965,232,1099,595,665,305,306,1030,90,111,208,652,306,486,936,639,795,296,324,286,1379,379,121,90,632,638,238,197,289,795,1380,585,111,1042,37,76,369,639,338,887,1381,1382,129,739,1014,552,1383,379,654,548,837,522,378,465,384,506,574,736,518,51,813,1026,632,1085,772,1194,934,890,72,88,192,443,897,443,1226,140,1204,792,792,354,140,305,1384,368,461,51,1239,1211,1385,796,1386,97,586,647,670,140,1387,681,319,520,1001,981,576,163,868,637,969,345,1388,111,927,724,966,1389,730,1390,305,1391,796,1042,932,1392,449,864,1393,32,1394,82,493,1031,545,1267,545,1395,202,208,368,539,911,938,179,790,356,840,89,801,1396,739,1397,819,649,816,369,1398,1399,1121,1274,685,1400,238,306,498,875,1401,1402,1283,483,1403,912,937,366,582,784,226,877,768,303,95,1404,1405,32,1297,1406,984,1407,83,1408,1407,1409,551,160,83,886,514,981,152,462,815,900,691,1410,32,296,934,379,951,379,150,1108,473,287,1210,83,506,626,1411,1412,495,558,304,498,303,608,570,493,735,375,1324,514,1413,1414,82,493,483,378,366,579,306,182,94,968,303,943,832,1097,95,595,498,461,712,324,1415,1233,92,1253,1416,628,46,639,1417,1418,51,964,1414,157,152,228,226,697,1419,140,799,369,37,183,131,1420,82,687,654,1023,783,951,1421,616,1362,359,51,992,370,1153,1131,1022,369,514,46,687,1422,314,314,595,1423,1424,522,576,340,461,1349,695,713,238,1189,930,824,780,545,202,232,336,1425,1140,46,51,842,984,308,623,1026,1123,82,790,795,375,608,639,498,840,527,1195,780,754,1426,375,666,498,607,309,618,648,506,595,72,593,846,226,1184,1427,1231,320,32,1428,647,527,431,228,1291,780,157,208,984,306,633,157,1429,1430,90,1011,562,565,881,451,962,1431,450,932,616,185,687,1432,379,522,140,323,1433,224,570,646,75,977,608,1241,858,1434,912,82,303,524,631,498,1380,1435,852,658,338,514,1436,811,973,368,851,1065,831,488,610,378,907,1030,324,1437,232,461,232,739,595,691,89,340,72,1434,1438,514,687,948,1439,835,1167,1122,1440,728,51,306,379,1247,896,628,825,1246,178,32,887,375,190,215,1186,785,308,1441,95,1442,997,1443,228,1152,89,1444,340,95,304,918,378,646,654,379,1222,1006,724,616,1445,950,687,688,767,157,1446,838,956,461,600,189,982,227,228,1059,639,1447,572,1032,384,570,238,1161,32,847,1051,544,1448,601,661,1449,190,565,51,1450,1451,1071,1452,578,336,780,1029,179,541,792,1103,1453,662,210,368,1454,1247,757,1326,622,1455,1456,375,675,957,1457,658,356,856,1102,889,579,547,458,1458,1459,1460,302,345,32,1461,1462,1160,868,95,687,157,1302,1119,1311,303,616,951,897,1174,799,1463,862,1464,1465,323,32,579,111,369,1407,687,819,1325,235,1157,579,1466,503,1467,1468,1469,1470,95,1471,688,1472,607,792,188,150,1034,719,323,1407,1473,111,202,1474,983,368,1475,366,756,1091,296,185,83,1214,340,752,1476,744,1335,1095,459,803,895,140,790,375,780,953,323,579,684,1477,514,544,457,82,493,918,874,969,590,367,1478,1192,140,878,1447,160,630,465,1479,1480,1481,185,773,166,942,942,1482,96,1303,545,46,705,670,624,305,72,83,807,1246,343,46,161,992,95,830,1380,615,1483,481,754,1484,1162,974,959,1107,792,1485,716,692,780,232,1486,914,364,1314,340,1159,724,811,1377,608,654,920,1487,1387,639,1488,1478,549,90,375,150,1462,232,1253,820,543,1475,21,595,756,32,751,1192,1486,751,1489,1490,172,542,32,297,1491,214,487,235,547,687,903,1492,741,306,303,812,933,847,1493,72,582,232,1494,1495,37,1029,1235,1496,360,208,208,1497,150,1498,632,910,812,568,728,574,836,493,635,140,800,838,1499,152,127,1500,920,1501,152,1502,662,1010,340,1129,201,97,1464,204,1503,595,1504,1505,545,199,300,1298,847,287,369,1506,1436,593,678,838,838,306,1141,849,632,916,1507,893,140,83,1143,1335,1085,1508,356,1509,1008,1510,1511,462,163,897,435,1512,605,940,832,1513,924,160,1111,1514,554,656,1366,295,487,111,495,1515,486,438,450,1280,1157,796,675,1516,1517,1518,157,1010,522,21,152,1466,720,226,704,1032,180,111,1519,88,466,83,1520,1521,217,811,1159,956,46,887,637,633,763,484,940,323,1522,937,997,157,1258,1523,690,450,925,935,967,996,1524,1085,963,635,369,1325,1004,72,1525,1083,111,1526,654,462,1527,786,1528,1063,608,467,369,995,305,1529,1530,881,972,744,89,1488,161,763,980,697,748,226,661,593,1531,577,1490,356,1532,1533,89,1336,610,546,178,838,1534,596,51,304,1535,897,89,632,687,575,358,458,461,304,945,652,378,435,1536,1537,940,959,941,390,506,181,717,463,1538,1539,296,1540,628,887,755,1541,368,1019,1542,1027,296,625,595,1402,1543,1150,675,323,1544,693,1545,1546,1547,545,322,1548,449,863,202,1031,808,140,213,903,824,463,753,628,1549,228,687,1550,1551,684,988,98,724,682,150,1094,646,1552,1148,639,1553,770,632,563,1091,1508,943,1554,1555,821,378,203,845,82,95,46,592,853,1556,32,1557,1451,325,208,738,340,97,228,32,1558,1173,933,1347,181,871,821,194,1559,375,1560,1561,1562,952,541,717,555,82,83,1099,1547,547,1394,506,167,1563,811,124,111,1148,928,1564,801,974,1262,739,1096,1044,461,1155,704,753,921,826,1565,1286,1566,747,204,644,203,1567,985,375,1568,378,687,1012,811,769,197,462,545,1212,1280,1569,238,1570,466,1571,323,675,46,522,306,1572,378,296,375,83,804,552,926,732,380,639,1573,552,1574,737,83,1575,1576,1577,1578,998,514,635,608,1579,369,1039,1580,1581,1045,89,141,1122,579,1478,1582,925,1192,1213,430,871,924,1583,304,692,323,654,72,179,1584,1585,46,1048,1167,790,384,677,208,463,800,1586,1061,637,138,656,780,926,323,675,557,111,1587,368,1588,1589,305,1590,671,743,1591,577,498,238,758,1224,442,724,1085,1215,1592,586,873,838,1289,32,873,303,37,1593,632,1594,368,111,1595,1136,1596,1084,1597,739,95,1598,639,1599,857,1600,1585,451,368,551,632,1102,1286,674,1521,32,193,462,1601,713,89,739,639,1171,301,340,527,854,506,1602,583,1603,306,296,32,1105,438,1604,498,795,1159,1605,695,857,1338,654,654,1239,1606,1607,789,461,312,303,323,946,1099,705,1545,1408,976,1608,1609,922,1212,1069,660,514,1610,1611,196,723,1612,1143,1613,130,493,1614,1083,208,340,196,1192,1267,32,238,1615,916,1616,522,824,1617,1618,885,296,1407,1619,1620,1621,1622,1623,193,1021,1238,1203,522,1528,297,1624,1126,613,702,856,964,1363,1080,1232,757,1577,647,706,324,1339,595,750,356,906,1625,737,1029,324,493,1508,765,628,1568,946,208,1474,1626,1627,1628,1629,546,818,193,375,1078,1630,185,297,590,375,378,1025,324,852,1291,1238,1584,1631,1092,480,111,1166,1632,1633,608,1181,1109,1634,1635,1636,208,758,1475,846,939,579,1074,1637,628,476,1360,351,232,536,1638,627,1639,1142,1341,944,1640,916,287,1641,919,819,547,1557,542,1642,803,21,1588,545,974,1643,1644,72,1645,1646,1647,64,55,1648,156,7,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1663,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1670,1663,1671,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1516,1698,1697,376,1699,1700,271,414,276,1701,1702,276,1703,415,276,1704,276,277,279,282,1705,278,419],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["read_many_structs-8374511ab21ccefd","0x2b094","libc.so.6","0x29e3f","0x29d8f","0x1b4166","0x413d2","0x1b2930","0x19e646","0x1a0aca","0x19e663","0x151d54","0x2fa7c","0x81f00","0x81b1c","0x14e258","0x2d1d3","0x144361","0x2dffc4","0x2e0759","0x2e79f7","0x2e7fcd","0x302a00","0x2bb53b","0x1f","0xa4bda","0xa48b0","0x2e93c","0x319eb2","0x31b77b","0x2e7b06","0x2e9e68","0x2f84f1","0x2f963d","0x2bac16","0x81caf","0x105455","0x2be5a3","0x2f95c6","0x2bac0d","0x81fee","0x1521ba","0x1a08ca","0x2f965c","0x2e9aaf","0x2f69de","0x2e90db","0x2f165b","0x2ff66c","0x2ff637","0x2e8be6","0x2ecd94","0x2f96f7","0x2bb463","0x8231d","0x33a898","0x33ad75","0x354cb3","0xa5908","0xa4b89","0x0","0xa324b","0x2e7ae2","0x82522","0x14df22","0x14e39c","0x26c8f","0x2e8968","0x2eb889","0x2f954e","0x2faae9","0x2f3ce6","0x2ff1ce","0x2e05bc","0x2bad0d","0x2fabf6","0x2f41eb","0x2fe057","0x2e964f","0x2f6a39","0x33a661","0x254c9","0x33acb7","0x2fef33","0x2ba9c5","0x2bbf02","0x2d2a3","0x816c8","0x2ac88c","0x2f8916","0x2ba950","0x2bac41","0x2bb08c","0x2e06af","0x2efc0f","0x2ebe12","0x301ff9","0x2bbcfd","0x2f07ba","0x2bac71","0x2ed1b5","0x2ef127","0x2f935c","0x8252a","0x2ef4ee","0x1521a0","0xa48dc","0xa35f8","0xa25c5","0x11a8f3","0x11a82b","0x2e0d75","0x2eff04","0x2ff67e","0x2e92ec","0x2f3d46","0x31b0e6","0x2bb0c5","0x81e0c","0x2b9815","0x1e1612","0x2e0831","0x100ffff","0x2fe108","0x2ebce1","0x33a370","0x301f74","0x2eefbb","0x2e83e6","0x2ebbf1","0x2ec678","0x302bc4","0x2f085d","0x2e8d37","0x2be9da","0x2ef1f4","0x302b6b","0x2ac7fc","0x306848","0x2ef358","0x2e8086","0x2eedcb","0x2ba965","0x2bb429","0x81e1e","0x2e954f","0x2fe229","0x2e887c","0x2f4706","0x2e7f13","0x1a07d1","0x2b9325","0x2bb024","0x2ef625","0x2ff668","0x2efb8d","0x2eb88d","0x151d84","0xa4bca","0x2bbcf5","0x81cda","0x2f6e03","0x2ebd0a","0x2ba931","0x302a3e","0x2fe137","0x2fa0bb","0xa3f9b","0x2e7a6e","0x2e8de5","0x2fab1d","0x3069c8","0x2b9b68","0x1e1646","0x2f6eb1","0x25364","0xa5261","0x81f72","0x2fe4f0","0x2bb41c","0x2bb4b4","0x2bb4fd","0x2ecdfa","0x2e9051","0x2ece3a","0x302001","0x2eed53","0x2ff434","0x2fa01b","0x2ef2bc","0x302a25","0x2ed54d","0x2f3da7","0x81677","0x2e070e","0x2bbcf9","0x2e05e2","0x2f9a3b","0x2e8d6d","0x2e83c0","0x2f952f","0x2ebc26","0x7fffa45db3ff","0x2fe3e6","0x2bb41f","0x2e7e87","0x2f41b7","0x2ff07e","0x2f25b0","0x1e1687","0x2ba939","0x2e8426","0x2ea175","0x2fe1c5","0x2e8fdb","0x2f1666","0x2f3c86","0x2fd4ba","0x2fd521","0x2f84b7","0x2acb3b","0x2acbd2","0x2ef1b0","0x3062ba","0x33abe6","0x337c80","0x2eef80","0x81ce1","0x2ff67a","0x2e92ba","0x2f3bb8","0x2e9227","0x82569","0x2f9df8","0x2bac79","0x819a5","0x2be591","0x2e83d4","0x31b203","0x2e8041","0x2ba904","0x19eaf2","0x162a40","0x409b3","0x8df80","0x1dd15f","0x162c17","0x162f5f","0x3ef64","0x161f8b","0x3f202","0x1dd1c2","0x15d574","0x164965","0x8e517","0x4128c","0x1588b0","0x3ef6c","0x164a35","0x3f50a","0x8dc68","0x1b57a0","0x15d531","0x1a0861","0x3f374","0x1588dc","0x1a0806","0x40a1b","0x1b57a6","0x19eb43","0x8fb9a","0x1a0b71","0x19ecb6","0x52845","0x152403","0x1523b2","0x1523fc","0x52855","0xa5452","0xa2e9f","0xa1892","0xa1846","0xa1968","0xa1749","0xa191a","0xa174f","0xa1765","0x19ede1","0x2e8618","0x2ff60f","0x3023d9","0x2feb55","0x31b333","0x33a3f8","0x33abcf","0x337d97","0x2f4323","0x2bba86","0x2bad3d","0x2fdd30","0x144f2d","0x2f6c23","0x2f94c0","0x302ba2","0x2ec648","0x2bbd00","0x2ff630","0x2bb07d","0x2bb47b","0x302a20","0x2e8478","0x2e98e4","0x2f53cf","0x2f435c","0x2ebc60","0xa3ef8","0x2f14bc","0x2e0e54","0x2e94c3","0x14e31c","0x2e79da","0x2f3c19","0x2ff086","0xa4662","0x302bde","0x2baa2d","0x2baa49","0x3029f4","0x2fef10","0x144b7a","0x2f276d","0x31af97","0x2eb5cc","0x2eb414","0x2d1f3","0x2bba00","0x2f858b","0x81dd1","0x301fec","0x2e99e5","0x2e9a7d","0x2faaa6","0x2ba9f8","0x2d2e1","0x2ea62e","0x2ba9de","0x2e004a","0x2ef1fc","0x14de04","0x30266b","0x2ac90f","0x105240","0x2fe06e","0x2e7b6e","0x2acab8","0x2f94d0","0x2bb3df","0x2f6bf9","0x2ba925","0x2f1dc6","0x2f15b8","0x2f9690","0x302a01","0x2ea48f","0x33a76b","0x2e844b","0x2ff210","0x3020e0","0x2e8af0","0x2e951d","0x2bbc90","0x2bb0ac","0x2e8894","0x2f9671","0x152129","0x1a0845","0x1442c4","0x2bb0a4","0x2e8ab2","0x2ec6b1","0x2ba8f0","0x2ff655","0x2fe076","0x2fd4c9","0x2e05c2","0x2f9dd5","0x2bb483","0x2f2765","0x2f92f9","0x8261e","0x2feb89","0x2fef52","0x2bb6c6","0x2fd4b4","0x2bbbc6","0x31b143","0x19f410","0x16087f","0x5bfe4","0x5c03e","0x16147e","0x33d15d","0x33d5dd","0x1a0977","0x1609cf","0x15f148","0x160979","0x33d7e7","0x19f461","0x90695","0x1a0dc7","0x90721","0x1a0ba8","0x19f726","0x5146e","0xa26b1","0x15237f","0x5274e","0xa53f7","0xa285b","0x19f815","0xa18f2","0xa18a2","0xa18f6","0x1a0527","0x8029f","0x10924d","0x80597","0x8012e","0x14cf78","0x2cd7e","0x14670a","0x2f154f","0x2f2756","0x1a04fd","0xde0c1","0x2ed5cc","0x302b80","0xde5c2","0x2faadd","0x2efa9c","0x302d3b","0x2fe31f","0x2bb501","0x2e07e7","0x2f446d","0x8045e","0x2b9616","0x1e1694","0x14cc2b","0x2f946f","0x2f4164","0x2e893f","0x2fdd44","0x80959","0x255ab","0xa280a","0x2f95b7","0x2e8e67","0x2edfe7","0x2f074f","0x2ea4b1","0x2ba982","0x2bbca5","0x2ff410","0x2f3bb0","0xde4ef","0x2e79a0","0x2fe232","0x2ff632","0x7fcdc","0x8cb1d","0x366ce","0x2b9b6e","0x7ffe0","0x2e8ff1","0x2ce6b","0x80b92","0x2e8339","0x33a8aa","0xa28ca","0x2f1efa","0x2ff0e7","0x2f3fd4","0x2efb4d","0x2e7ba2","0x2e0785","0x2f9da5","0x2fe238","0x2fd480","0x2ef53b","0x33a379","0xa41af","0x2fa0e3","0x2eb899","0x2bbfe5","0x2e8049","0x3027dc","0x31ba91","0x2ef54b","0x2ba99c","0x14d0bf","0xa5838","0x2e8d44","0x2fd66e","0x2e95fb","0x1e1682","0x2ba976","0x2bb48b","0x2f4494","0x80501","0x2b93e0","0x2eeeaf","0x1e1666","0x2e0813","0x80c26","0x2f3bbc","0x1a05fa","0x2e8b5d","0x2f1541","0x2e8fe0","0x31b13b","0x2ef4f6","0x802a8","0x2bb0cf","0x2fe2fc","0x2e8470","0x2531d","0x33a301","0x2bb473","0x80669","0x1a0937","0x1a071a","0x18e509","0x184190","0x33691","0x17f58a","0x2e955b","0x2e9265","0x2bb09c","0x2e92f2","0x2f3cb5","0x2facf0","0x2ea4ab","0x2ea6d0","0x2e96e7","0x2eff16","0x2ff454","0x2f0747","0x30289f","0x2feb74","0x2e081e","0x31b72d","0x2fe1a2","0x2e8b45","0x302ac2","0x2ebbb3","0x2e08fd","0x2e7f2e","0x2bb6a1","0x2bbbd7","0x2e07fb","0x2f9683","0x2e8dbd","0x2fe36a","0x2fe8ac","0x2f977b","0x2fe730","0x33733","0x2e07f3","0x302d95","0x2ef23b","0x2f3f90","0x2efdc1","0x2ecd75","0x2e9665","0x302bae","0x2f25e0","0x2bb524","0x302b56","0x2eee24","0x2bb504","0x2e87dc","0x2f8583","0x2f3fa4","0x2f254f","0x2ef159","0x2e9bbb","0x2f41e7","0x2bba75","0x302bbb","0x2f8957","0x30200e","0x2f875c","0x2fe210","0x2ed550","0x2f42e4","0x2babf7","0x2f9ffe","0x2ebef7","0x2fdf1f","0x30207c","0x2f1e7c","0x2bb0cc","0x2efade","0x2bbccf","0x2f9676","0x2bb4e0","0x2bb46b","0x2fe12c","0x2bbcef","0x302aa7","0x2f41f7","0x2f6dea","0x2bb4b0","0x2bba69","0x302057","0x2bb6aa","0x2bb4bd","0x2ff19d","0x2f53ae","0x31b299","0x31deab","0x2e98ab","0x302b73","0x2eef66","0x2ebe62","0x2f087c","0x2ec653","0x2efbe6","0x2ff60c","0x2e0d7d","0x2efdde","0x2eef06","0x2baca9","0x2bb0d8","0x2ef5a4","0x2e79b4","0x2ebe26","0x2f1d89","0x2e9245","0x2bbed7","0x2efd8f","0x2bb6e5","0x2e8844","0x2f6ae2","0x2f89e3","0x2edfdd","0x2e85c5","0x2ef12f","0x2f3eca","0x2faaae","0x2eb3ac","0x2efe8e","0x2ecc55","0x2ed140","0x2bb4e6","0x2faa94","0x3028a0","0x2f44ac","0x2baa14","0x2f2702","0x2bb6b4","0x2e8fe8","0x2f1df4","0x2f1628","0x2eb8d4","0x2ecd9c","0x2f3daf","0xde537","0x2efabe","0x2fe784","0x2fe3fd","0x2f3c1d","0x2f4440","0x2bba6c","0x2eef88","0x2bb3e7","0x2f972b","0x2f26d5","0x2e7fc9","0x31bac5","0x2e06d8","0x2ba92d","0x2f1d81","0x2fed48","0x2eed4f","0x2e98b2","0x2fea04","0x2bbf8d","0x2eb480","0x2e0764","0x30203f","0x2bb0b4","0x2f1dce","0x2e7b1f","0x2ff05f","0x2fe75a","0x2ef351","0x2ef2c1","0x2bb3b1","0x2fdd59","0x2fdd50","0x2ef63e","0x2fdf0c","0x2feb59","0x2ba95d","0x2eea1e","0x2eb3c0","0x2e7fbc","0x2e8d75","0x2fe78c","0x2e98dd","0x2f3bdf","0x2ed5b3","0x2f3c54","0x2f2605","0x2e95ba","0x2bb1b5","0x2f1e5e","0x2e077d","0x2fe738","0x2f3c87","0x2baa10","0x2f45a2","0x2ed10f","0x2bacd8","0x2f937f","0x2e0580","0x2eea78","0x2ea4a6","0x2e9d9e","0x30239c","0x2f95b2","0x2f92bc","0x2f857f","0x2e8dcd","0x2ef639","0x2e8abf","0x2babfa","0x2efba8","0x2bb52b","0x2ba8f9","0x2bba7d","0x2eb890","0x2ef219","0x301f60","0x2e7b1b","0x2fabff","0x2fe25c","0x2e8b35","0x2fe867","0x2fe8b0","0x2eff0f","0x31b7eb","0x2ed614","0x2e7ade","0x2eb7f6","0x2eefb7","0x2f3c82","0x2baace","0x2fadc6","0x2fd462","0x2efb28","0x2fa023","0x2fe0e1","0x2e8625","0x2fd4f3","0x2e85ca","0x2f4068","0x2fab2d","0x2f089b","0x2ef25b","0x31b341","0x2eea58","0x2fd6d1","0x31b947","0x3025e0","0x2e85f2","0x30201b","0x2f1e9e","0x2f2647","0x2bbcd4","0x2fe1cf","0x2e8686","0x2f6a3e","0x2e9485","0x2fe24c","0xde1ed","0x2fe9d6","0x2bb3ff","0x2ef503","0x2bbd17","0x2e8e63","0x2ff6a1","0x2fe325","0x31ba4a","0x2fde47","0x2fe118","0x2bbf1d","0x2e0d95","0x2efa8d","0x2ff1da","0x2e7f90","0x302659","0x2fd460","0x2ecdd0","0x2bad2d","0x2e06f9","0x2faccb","0x2f0740","0x2fab9d","0x2fa05f","0x2bb094","0x2ea492","0x2e8621","0x2bb5d1","0x2bba80","0x2bba72","0x2e8969","0x2bbc18","0x2f455e","0x2ebbd2","0x2f403c","0x2efd2d","0x2f94b8","0x301f8f","0x2f13f9","0x2bb078","0x2bbf07","0x2fab35","0x2e8cbe","0x2e8db8","0x2eedf5","0x2eeec6","0x2e962a","0x2e92a8","0x2f8470","0x2ef188","0x2ea69d","0x2ff478","0x2f68b0","0x2fe36b","0x3024de","0x31b94a","0x2efe26","0x2ebc0c","0x2ee9ff","0x2efe58","0x2f14ee","0x2e92b3","0x2f257f","0x2f965d","0x2fe1ec","0x2fdeed","0x2e9719","0x2f47f9","0x2eeea8","0x2f3e9e","0x2f3e4e","0x2ed6fb","0x2e95c2","0x2e8099","0x2f88f2","0x2efa94","0x2e83ee","0x2f94e8","0x2bba6f","0x2e80db","0x2f9a5f","0x2ba9c6","0x2bad04","0x2fdd5d","0x2ba9b9","0x2e94fe","0x2eb83a","0x2bbfd5","0x2e06be","0x302b8d","0x2f1e9c","0x2ecb64","0x2feecf","0x2f9474","0x2e7ef0","0x30233c","0x2eb50e","0x2bbc7d","0x2f89d8","0x2e9c53","0x2f3bdb","0x2f42cc","0x2ef27b","0x2eefcf","0x2fd4d1","0x2f962e","0x2fe89a","0x2efcce","0x2eb7c3","0x2efb6b","0x2f4198","0x2e88e1","0x2e0773","0x31baa2","0x2efea5","0x2f3dd6","0x2eea3c","0x17f654","0x30265d","0x2ff1fc","0x2fd68f","0x2ed4c0","0x2f53a9","0x2faba8","0x2f3c8f","0x2f3c40","0x2ba97e","0x2fe3c6","0x3028a9","0x2f0802","0x2e8c82","0x2bb5d0","0x2f9662","0x2f151d","0x2f9dc1","0x2fe9c0","0x2fd4de","0x2ed730","0x2bbca8","0x2ef64a","0x2f13a1","0x2ed491","0x2e0946","0x2f947c","0x2f2665","0x2eef33","0x2f4554","0x2e9019","0x2f148f","0x2f8786","0x2ecb50","0x2fac9f","0x30211a","0x2ef1c7","0x2e79e6","0x2e8ac8","0x2e8371","0x2fded4","0x2baaa0","0x2efb8b","0x17f74e","0x302a44","0x2ed12b","0x2f9320","0x2f45c5","0x2ebc9b","0x2eb4be","0x2e0922","0x2f93b5","0x2ed40b","0x2e7fa4","0x2fe257","0x2eed10","0x2ebcf8","0x2f25b7","0x31b0f7","0x2e9555","0x2e8ae8","0x2bb6b9","0x2fdf13","0x2e841d","0x2f251e","0x2bb53c","0x2e0594","0xde28b","0x2e8354","0x2f1d7a","0x2f3bd7","0x2bbbf3","0x2ff079","0x2eb494","0x2ef4e9","0x2ed4b6","0x302d94","0x2fdd60","0x2f84e7","0x2ba955","0x2f1e18","0x2bbd05","0x2f1eb8","0x2e7b0c","0x2e969d","0x2ec6b6","0x2f1615","0x2fe181","0x2e92a0","0x2fe133","0x2f9a51","0x2e9590","0x2e980f","0x2bc0d0","0x2bbcdc","0x2ff47c","0x2f6a72","0x2f6ea6","0x2baa80","0x2e8972","0x17f5a5","0x2e05bd","0x2ea462","0x2f949c","0x2f3ce2","0x2e7a96","0x2efd5d","0x2ebf2d","0x2f0820","0x2e7ee8","0x2f6e4d","0x2ed13e","0x2f6e5a","0x2e981f","0x2fef34","0x31df53","0x302b5b","0x2ff63c","0x2ed75f","0x2fef19","0x2feb35","0x2e07df","0x2efcfc","0x2bbbcb","0x2fe30f","0x2f3bc4","0x2f1dab","0x2f13c9","0x2f1ed7","0x2f4249","0x2bb017","0x2babd0","0x2f3d1a","0x2eb85f","0x2bbce2","0x2fe89f","0x2fe284","0x2e9222","0x2efbc7","0x2f8979","0x2fdf26","0x31b231","0x2e8aad","0x2bba60","0x2ef121","0x2e0720","0x2ed572","0x2e8d3c","0x2f4436","0x3028a4","0x2ed433","0x2efdf4","0x2f966c","0x2f9542","0x2e8675","0x2f142a","0x2e8bda","0x2fa0c7","0x2e88d9","0x2ed58f","0x2bbcb5","0x2f273a","0x2f9d8c","0x302697","0x2eb926","0x2e981a","0x2e8ab7","0x2e92f8","0x2ba9d6","0x3029e0","0x2fdf20","0x2e8c22","0x2bbd42","0x30250b","0x2ba96e","0x2faa80","0x2bac5b","0x31b0c0","0x2e7b26","0x2bbd3a","0x2f166d","0x2bb520","0x2ec6ad","0x2f6919","0x2bbc97","0x2e8808","0x2bbfe3","0x2ed79f","0x2fed28","0x2f86a5","0x2f15c7","0x2f2610","0x2faf96","0x2f9a33","0x2f96b6","0x30204b","0x31dfd9","0x2e0b21","0x2ed7ce","0x2ea439","0x2f0840","0x2f0771","0x2faf70","0x2ec6e6","0x2ea5bb","0x2fd49a","0x2e05de","0x2feb81","0x2fed07","0x2ec691","0x2baaa7","0x2fd6af","0x2f4a01","0x2fe840","0x2ef368","0x2e9644","0x2f9d99","0x2bba78","0x2ba8f7","0x2ee008","0x302ac8","0x2ec6dd","0x2e84ea","0x2bb00d","0x2fe15c","0x2e7b45","0x2f94f8","0x2bbce9","0x2ff1be","0x2fe8b4","0x2fe18a","0x2feb41","0x2ebce4","0x302132","0x3025cd","0x31b78c","0x31df1c","0x2e94a3","0x2f3f76","0x2fe09c","0x2e9623","0x2fe06a","0x2bac6c","0x2fe755","0x2efc41","0x2ed41e","0x2e842c","0x2f4a0d","0x2f0794","0x2f92a0","0x2fab6d","0x2fe35d","0x2ec699","0x2bbecf","0x302bf8","0x2f4128","0x302b4c","0x2fe356","0x2fe27e","0x2e06a6","0x2f2706","0x2feb3e","0x2ef526","0x2e7b14","0x2faf78","0x2f4579","0x2fe3f3","0x2fe21c","0x302a49","0x2ef51f","0x2e9011","0x2e9685","0x302373","0x2e9d65","0x3024c0","0x2f3bc7","0x3025e8","0x31b104","0x2e9550","0x2e8605","0x2bb5e4","0x2ebe6f","0x2f3d82","0x2e07b3","0x302353","0x2f2672","0x2e7ae3","0x31b956","0x2fe0bd","0x2ea597","0x2f3d32","0x2ba9b1","0x2ec668","0x31b7a4","0x2f1e3e","0x2bbbf0","0x3027c0","0x2e79d7","0x2f1eff","0x2fde43","0x2efb01","0x2e0598","0x2e9e36","0x3027e4","0x2f444d","0x2f4204","0x2e8610","0x2feb5f","0x2f15f1","0x2bacf4","0x2fe7e5","0x2f08c5","0x2fe86c","0x2ed139","0x2f44f2","0x2f95ef","0x17f590","0x31dfe9","0x2fe34d","0x2baa31","0x2f84fa","0x2f0846","0x2e8fd6","0x2f8508","0x2fa08f","0x2e9bd9","0x302d04","0x2fe29e","0x2e85d8","0x2e79ee","0x366e7b","0x2eb872","0x2fe887","0x2baa46","0x2bbcf0","0x2ef299","0xde1e1","0x2e85ee","0x2e085b","0x2e9a5e","0x2bac7d","0x2ed114","0x2f145b","0x2ed17c","0x2fef53","0x2f9365","0x2baa3f","0x2ece36","0x2e838d","0x302bd9","0x2e923d","0x2f1512","0x2feb50","0x2efed1","0x2f9334","0x2f3f6d","0x2e88d1","0x2eb5db","0x3028a2","0x184908","0x31dd9","0x30285f","0x2f96e8","0x2f164a","0x2f41f2","0x31b861","0x2f25d8","0x2fed54","0x2f3dbc","0x2fe87f","0x2ba9be","0x2e0854","0xde122","0x2e958b","0x2e94d3","0x2f14cb","0x2f4209","0x2e8e2b","0x2faad5","0x2bb6e1","0x2eb436","0x31babf","0x2e7f31","0x2f3d6d","0x17f726","0x302074","0x2ed78f","0x3027b5","0x2f96f8","0x2fe213","0x2f8530","0x3023da","0x2f26a5","0x2ef553","0x302d97","0x2f263a","0x2f3d3e","0x2ebdf9","0x2bbfdd","0x2bbcbf","0x2e8d55","0x2ef2b4","0x2e84b9","0x31dfc9","0x2fab5d","0x2fe198","0x2f47fd","0x2bc111","0x3023f1","0x31ba7a","0x2ff424","0x2ff1ea","0x2fe7a0","0x2e9e5c","0x2ff1a7","0x2f69fd","0x2e7b85","0x2e8672","0x2f9530","0x302552","0x2ebed4","0x2e7b11","0x2e90b6","0x2e927e","0x2ea58b","0x2f6a31","0x302101","0x2e8601","0x2fe8a5","0x2f4520","0x2ed4c8","0x2fe83d","0x2ff207","0x2f6dc6","0x2e9506","0x2fe31b","0x2f8520","0x2fe318","0x2ed144","0x2e8635","0x2ba969","0x2e9275","0x2e9c2a","0x2efc6d","0x2fad13","0x2fe8b8","0x2ecbf2","0x2ef607","0x2e8812","0x2e9234","0x2ff5f6","0x2feb7d","0x2ef563","0x2ba922","0x2fea08","0x2fd545","0x2fe85c","0x2f69b5","0x2f3d26","0x2baa1c","0x17f615","0x2ff093","0x2eed24","0x2f4a3b","0x2bbc1f","0x31de90","0x2ed9a1","0x2fe2b0","0x2eb3b3","0x2ed7c8","0x31bae6","0x2ff61b","0xde4f7","0x2ec6e4","0x2f8557","0x2ed14c","0x2f07de","0x2f68c4","0x31df63","0x2f854a","0x2f9ddc","0x2f9382","0x2bba13","0x2e8415","0x2e8d4d","0x2eea64","0xde114","0x30254f","0x2fe84f","0x2bbefe","0x2efc9d","0x31e00f","0x2f3bc0","0x2ebe18","0x2e9a33","0x2f9a43","0x2f3c1e","0x2e0713","0x2f45ac","0x2f1599","0x2fab95","0x2ef621","0x30240b","0x2bb4dc","0x2bbbf7","0x2e87f4","0x2f3eb7","0x2ea467","0x3026ce","0x2fe7b1","0x2efedd","0x2e899b","0x2ed4d9","0x2e08f7","0x17f5e5","0x2e9dec","0x2f3d8e","0x2baa38","0x2f93bd","0x2bbce0","0x2fd6b8","0x2f6da2","0x2e9c12","0x2fe346","0x2e8069","0x2f9520","0x31b7bc","0x2ef643","0x2f262b","0x2ef5fe","0x2ea130","0x3027bc","0x2ff469","0x2fab55","0x2bbecb","0x2baa35","0x2fd50d","0x2e0e4e","0x2e9d87","0x2e075f","0x2eed54","0x2fe9b2","0x2ea0bf","0x2f1586","0x2f6c02","0x2bbc00","0x2ef596","0x2fe771","0x302112","0x2e9c1a","0x2e8c7a","0x2f7566","0x2fe99f","0x2ec675","0x17f64d","0x2ebe23","0x2e9492","0x2ecc58","0x3025c9","0x2e093c","0x2ebf2a","0x2ebebf","0x2e7e5d","0xde076","0x2fac09","0x2ed73b","0x31bad8","0x2e0745","0x2f4219","0x2ff444","0x2f3cad","0x2f3c20","0x2e94dc","0x2ebea7","0x2f3be2","0x2e85f5","0x302bfc","0x2eb3b8","0x2e8bbd","0x2f954f","0x2ea57b","0x2f3f65","0x2e9296","0x2f3d62","0x2ea144","0x2f86d4","0x2f429a","0x2e9dfd","0x2ebfe8","0x2f53cb","0x2fd522","0x2fd4db","0x2ebbc5","0x2ef5f2","0x2f6ee3","0x2f9528","0x2fa097","0x2f963e","0x2f1591","0x2f3cf1","0x2e7b2a","0x2f1f27","0x2bbc6d","0x2e9a0b","0x3027e0","0x2ebc43","0x2babdf","0x2fabf7","0x2e897c","0x2ff61f","0x2bc103","0x2f874b","0x2e9c85","0x2f7720","0x17f660","0x2e96c8","0x2e06b9","0x2bac91","0x2ed495","0x2f6c2f","0x2bc116","0x302d5e","0x2f49c2","0x2eb3d5","0x2fd4ef","0x2ed4a2","0x2fafa8","0x2ecd82","0x2f42bf","0x31b768","0x2f41ec","0x2f85ba","0x2fef58","0x302d3f","0x2fe9c3","0x2e8cb0","0x2bba32","0x2f972e","0x2e98ea","0x2fe169","0x2e08c7","0x2e9a44","0x2f8545","0x2ff1c6","0x2f47a4","0x2f4a09","0x2ba993","0x2fab15","0x2fdeea","0x2f2587","0x31df87","0x2e0926","0x2f4790","0x2e92e5","0x2f84a7","0x2f1ec4","0x2bba63","0x2f15d7","0x2e9a54","0x2e8ad0","0x2ea04e","0x2e9840","0x2ed5c6","0x2fe267","0x2efe4a","0x2e95f3","0x3026ec","0x2f6e23","0x31b7cc","0x17f5f1","0x2e953a","0x2f9a0b","0x2f3de1","0x2ebe3c","0x2ba916","0x31baaf","0x2f4455","0x2e79fd","0x2f4542","0x2f26ac","0x2fdef5","0x2e968d","0x2f69e7","0x302534","0x2ea59e","0x2e7e71","0x2f263e","0x2f3d2e","0x2bbcc8","0x2e7fc1","0x2fd4d8","0x2f8937","0x2e8c3c","0x30260a","0xde25d","0x2e85fe","0x2f1d76","0x2fe278","0x302bcc","0x2eb43f","0x2f2505","0x2eb498","0x2fe74c","0x2ef36d","0x2f9582","0x2e8982","0x31b0d4","0x2ba94c","0x2fe9e6","0x2f7735","0x2ebef2","0x2e867c","0x2f1645","0x2ec645","0x2e95aa","0x2f3fe0","0x2f0732","0x2e8943","0x2bbc10","0x2ef1ce","0x2fa063","0x2f95cf","0x2e8e5b","0x2ea49e","0x302be2","0x2e9a9f","0x2f8a44","0x2feb10","0x2f1390","0x301f77","0x2e7b07","0x2fa004","0x2ece40","0x2efdc9","0x2e7eda","0x2e7f0b","0x2e08af","0x2fe04d","0x2e7b36","0x2ec06d","0x2efde1","0x18fefd","0x1f2c90","0x1f3184","0xa5861","0x190905","0x1f0d12","0x1edef0","0x1ee80a","0x192dac","0x20aa98","0x2729c9","0x25cbea","0x25d55","0x1148bf","0x20ab23","0x2735e0","0x273637","0x245ae7","libm.so.6","0x37f02","0x764ac","0x274c1d","0x25cb69","0x3a6ccd","0x1145b4","0x24558f","0x245ad1","0xe380","0x245563","0x76488","0x245afe","0x245b0f","0x20ef07","0x28c9b9","0x24556f","0x245580","0x2455f6","0x20ef34","0x275d4b","0x2454cc","0x245b13","0x1b2dc2","0x1a76db","0x2a07b4","0x335cd9","0x28681","0x2a7bad","0x2a8449","0x2a9544","0x2abce0","0x2adda7","0x2a4c71","0x3113d4","0x2fb51a","0x2f7894","0x1b3c8b","0x540de","0xa274b","0x1523fb","0xa27ce","0xa29ad","0xa1710"],"tid":"700677.1","unregisterTime":116622126.552591},{"frameTable":{"length":216,"address":[1206333,-1,1206351,608962,4045208,3811257,614137,676317,674368,663915,662988,1174139,4045226,3445825,3446491,156499,2047333,2042824,2045333,2041225,2038911,2023152,2024918,2042147,2044528,1706698,2045928,2024572,2039452,2026242,2023387,2023941,2025061,2024595,2023432,2023463,2041214,1539459,2023374,2026214,2023348,2023620,2025279,2023947,2024758,1539473,2024592,2023445,2025413,2039730,676946,665389,2045572,2024620,2025028,2024469,2025533,2025796,2025928,2023095,1706410,2028804,2027129,2026480,2027207,2028248,2025097,2020974,2016405,2013424,2011421,1539647,2016528,2018025,2016768,1539516,1539487,2011809,2011613,1539633,1539499,2011472,2011774,1539652,1540089,1420446,216630,368184,366929,2022359,2025283,366912,2022160,2025272,2022690,217042,2025311,2022103,2025821,2023390,216788,1418669,2021921,1705920,2023460,2024612,2023472,2024952,2024709,2026119,2023456,2024558,1539510,2023450,2023385,2025020,2025251,2023344,2025570,368286,1538951,158863,3493043,677985,674762,2027356,2024336,2388800,2386437,2385510,2384827,2384764,229122,484628,2384739,484580,58240,484664,461340,2384790,484503,2384811,484544,484565,2386835,484596,2384786,484641,2384815,484911,229149,461496,229104,229184,484511,2386551,2388049,484587,229139,229169,484488,484651,484524,229157,155969,1084571,484906,2384711,484515,229194,461255,484637,484919,461248,484539,461480,461284,229159,484632,229112,2384724,2384831,461488,2384834,461332,461504,2384696,484901,229131,484658,2384823,484494,484531,2384799,484478,484482,484571,461262,229118,484614,229123,2384762,2384778,484583,229108,229153,229171,484623,484682,484473,2384774,229167,484656,229208,484497,484670],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":216,"name":[1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,-1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,2,2,1,2,2,2,2,1,2,1,2,2,1,2,1,2,1,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,0,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,2,2,1,2,2,2,1,2,2,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700694>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.202131,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,5,134],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":687,"stack":[0,0,0,0,2,12,31,34,39,39,43,51,54,55,56,57,59,60,63,68,69,70,71,73,74,77,79,80,83,100,109,121,131,138,152,161,172,182,222,239,253,268,277,287,295,310,325,336,350,364,381,430,446,448,451,452,457,458,463,465,466,468,479,481,486,494,503,508,510,520,526,533,536,543,550,567,569,572,580,587,590,593,603,608,611,624,631,641,648,657,670,673,676,677,678,679,680,680,681,682,683,680,684,684,686,689,690,691,692,693,696,697,698,699,686,700,701,702,697,703,686,704,720,722,726,730,738,741,745,748,758,760,761,767,769,775,779,783,786,797,801,805,809,817,820,825,827,837,839,845,849,855,858,861,862,867,869,872,873,670,874,875,682,876,682,682,877,878,682,682,673,879,880,697,686,881,882,883,697,692,884,885,886,692,882,689,887,888,889,890,697,891,698,892,692,686,905,906,908,908,913,915,916,924,926,927,933,935,935,943,946,947,951,953,954,960,963,964,970,971,684,972,680,973,974,704,697,975,976,686,686,977,887,978,890,979,980,981,982,983,699,704,884,697,984,988,991,994,995,996,988,988,997,998,999,1000,1001,1002,988,1003,995,995,991,1004,1005,1013,1014,1015,1018,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,973,680,680,682,1032,680,1033,697,1034,697,1035,1036,692,686,1037,697,689,692,892,698,1038,686,1039,697,1040,1041,1042,1043,995,1001,988,1044,995,1000,995,995,1043,1045,995,1046,1047,1049,1050,1052,1050,1049,1054,1050,1049,1055,1050,1056,1057,1060,1050,1061,1050,1064,1066,1067,1067,1068,1074,1075,1076,1077,682,1031,680,682,1078,697,686,697,697,686,1079,1080,686,1081,686,686,1082,892,1083,686,697,1084,1085,1086,1089,722,1092,722,1093,1094,1096,1097,726,1099,1100,1100,1103,1104,1105,1106,1107,1108,1109,1111,1113,1114,1115,1117,1119,1120,1121,1122,1130,1131,1134,1135,1136,1142,1143,1146,1148,1149,682,1078,680,1150,1031,1151,1152,1153,680,680,1028,1153,682,1154,1077,1152,1153,682,698,983,1040,686,686,1155,704,984,892,975,689,686,689,1155,692,1038,1156,697,1157,1158,697,1159,686,887,1160,1160,1161,1164,1166,1167,1170,1171,1173,1174,1177,1180,1181,1189,1192,1195,1197,1200,1207,1208,1210,1216,1219,1224,1226,1227,1228,1229,682,880,1230,686,686,1231,1232,1233,1035,698,686,697,702,979,1234,983,692,689,1235,1236,722,1237,1238,1241,1242,1243,1106,1244,1114,1245,1246,1246,1247,745,1248,1251,1252,1253,1254,1255,1258,1259,1260,1261,769,1261,1264,1265,1267,1268,1189,1269,1270,1271,1274,1208,1275,1279,1282,1283,1284,1285,1286,1287,1288,1208,1208,1289,1290,682,670,1291,1292,1293,1294,680,1295,680,972,680,680,1296,1293,1297,682,1298,682,1291,682,682,1299,892,697,1082,979,697,686,1300,697,881,1301,686,686,881,1302,1303,1158,686,1304,686,686,1305,697,1306,892,1300,1307,1309,1310,1310,1311,1314,1315,1324,1325,1328,1330,1331,1332,1340,1341,1343,1344,1347,1354,1355,1357,1357,1358,1359,1362,1365,1368,682,1369,1150,1030,1153,680,1029,1149,1370,1153,1371,680,1372,973,1077,1373,1374,697,686,977,692,1232,686,697,697,984,686,1300,697,892,686,1375,697,686,686,686,1005,1376,995,988,988,1377,998,1378,995,1379,996,1380,1001,1381,1001,988,988,1382,1383,1384,1385,1386,1387,1390,1391,1384,1392,1393,1394,1396,1398],"time":[116621305.269716,116621305.274389,116621305.27626,116621305.278119,116621305.28027,116621305.318847,116621308.151745,116621314.869934,116621318.504262,116621321.355554,116621323.7578,116621325.671152,116621327.545195,116621328.981935,116621330.29021,116621331.488657,116621332.631582,116621333.723405,116621334.801955,116621335.861732,116621336.905075,116621337.900407,116621338.885126,116621339.871655,116621340.861967,116621343.376969,116621344.309568,116621345.223399,116621346.152372,116621347.097383,116621348.058231,116621349.025611,116621350.485975,116621351.481584,116621352.662809,116621353.708654,116621354.714028,116621356.254353,116621357.18799,116621363.363195,116621366.172464,116621366.968067,116621367.760692,116621368.604816,116621369.489129,116621370.387644,116621371.346509,116621372.305449,116621373.273703,116621374.250497,116621375.219167,116621376.190773,116621377.587612,116621378.603276,116621379.699553,116621380.818904,116621381.917163,116621383.005644,116621384.091802,116621385.179942,116621386.24784,116621387.316672,116621388.350285,116621389.378445,116621390.394727,116621391.419306,116621392.432038,116621393.465583,116621394.494188,116621395.531749,116621396.546444,116621397.55435,116621398.559508,116621399.5681,116621400.570783,116621401.607796,116621402.579632,116621403.547235,116621404.527253,116621405.505401,116621406.487053,116621407.47319,116621408.45733,116621409.421247,116621410.422062,116621411.394728,116621412.376081,116621413.358133,116621415.463557,116621417.577641,116621420.536866,116621421.333961,116621422.435386,116621423.537918,116621424.722511,116621425.750089,116621426.856638,116621428.136362,116621429.42339,116621430.668068,116621431.852494,116621432.988301,116621434.088151,116621436.876354,116621437.928654,116621439.305269,116621440.476609,116621441.532449,116621442.639714,116621443.619025,116621444.629528,116621445.734711,116621446.707052,116621447.656473,116621448.614349,116621449.727214,116621450.855838,116621451.755584,116621452.656922,116621453.580818,116621454.524979,116621455.7699,116621456.711518,116621457.634994,116621458.574377,116621459.718407,116621460.683561,116621461.603605,116621462.651024,116621463.634307,116621464.778294,116621465.708959,116621466.630367,116621467.728309,116621468.673175,116621469.612357,116621470.565051,116621471.688332,116621472.69288,116621473.641648,116621474.567928,116621475.535027,116621476.624685,116621477.57884,116621478.613589,116621479.624571,116621480.667862,116621482.767361,116621483.987594,116621484.966833,116621485.895832,116621486.948852,116621487.906222,116621488.872634,116621489.79845,116621490.72672,116621491.672045,116621494.732567,116621500.479552,116621502.482092,116621504.301434,116621506.101294,116621507.753591,116621509.96177,116621511.485484,116621512.890055,116621514.163097,116621515.279222,116621516.327116,116621517.329942,116621518.308433,116621519.312195,116621520.275583,116621521.219733,116621522.17491,116621523.141821,116621524.117593,116621525.100149,116621526.087556,116621527.078476,116621528.54866,116621529.485537,116621530.370056,116621531.263202,116621532.188018,116621533.168235,116621534.159872,116621535.175512,116621536.170003,116621537.163006,116621538.138844,116621539.132624,116621540.818953,116621541.822487,116621542.694671,116621543.581805,116621545.422348,116621546.395195,116621547.189223,116621548.010946,116621548.877847,116621549.768502,116621551.194962,116621552.136844,116621553.116238,116621554.104717,116621555.096838,116621556.091147,116621557.098182,116621558.054039,116621559.024195,116621560.033541,116621561.044869,116621562.079813,116621563.068466,116621564.029026,116621564.99536,116621565.967003,116621566.945844,116621567.93055,116621579.763078,116621583.630755,116621586.469051,116621588.701191,116621590.644968,116621592.375405,116621593.916206,116621595.269791,116621596.481768,116621597.63257,116621598.74261,116621599.823033,116621600.881811,116621601.924628,116621602.95568,116621603.97827,116621605.075629,116621607.853527,116621608.880566,116621609.935164,116621610.997161,116621612.029584,116621613.048409,116621614.102111,116621615.146801,116621616.180291,116621617.22724,116621618.244951,116621619.405438,116621620.575008,116621621.943895,116621622.978617,116621624.086784,116621625.344828,116621626.578651,116621627.713573,116621628.75086,116621629.789745,116621630.837615,116621631.875722,116621632.904011,116621634.201042,116621635.184462,116621636.248273,116621637.199751,116621638.169997,116621639.274424,116621640.224808,116621641.17136,116621642.462262,116621643.494421,116621644.384466,116621649.239792,116621650.198701,116621650.957526,116621651.710555,116621652.617062,116621653.598462,116621654.595451,116621655.57156,116621656.582121,116621657.772134,116621659.152569,116621660.432019,116621661.636374,116621662.786807,116621663.896896,116621664.977149,116621666.035995,116621667.247442,116621668.594503,116621669.555524,116621670.476036,116621671.398938,116621672.30027,116621673.187235,116621674.098052,116621675.032697,116621675.985154,116621676.946159,116621677.916895,116621678.896081,116621679.880706,116621680.869236,116621681.860917,116621682.855163,116621683.840861,116621684.795628,116621685.718052,116621686.651347,116621687.600387,116621688.599915,116621689.61307,116621690.622668,116621691.629552,116621692.634654,116621693.643257,116621694.689502,116621695.731937,116621696.763953,116621697.78728,116621698.804229,116621699.816698,116621700.825596,116621701.800957,116621702.763821,116621703.733679,116621704.711333,116621705.658226,116621706.607918,116621707.569819,116621708.54201,116621709.545067,116621710.529378,116621711.544758,116621712.572642,116621713.865122,116621714.95337,116621715.872427,116621716.779986,116621717.707193,116621718.653424,116621719.634887,116621725.906597,116621728.363228,116621730.458038,116621732.355006,116621734.086787,116621735.584073,116621736.936148,116621738.195194,116621739.376454,116621740.54509,116621741.673462,116621742.767866,116621743.837088,116621744.88741,116621745.923981,116621746.950395,116621748.259059,116621749.363671,116621750.425249,116621751.468254,116621752.499104,116621753.521795,116621754.538419,116621755.550294,116621756.559154,116621757.565673,116621758.549955,116621759.511875,116621760.496177,116621761.4713,116621762.44986,116621763.433859,116621764.422257,116621765.413969,116621766.407764,116621767.403117,116621768.39989,116621769.397805,116621770.395992,116621771.394545,116621772.393324,116621773.392592,116621774.392293,116621775.392522,116621776.367346,116621777.328527,116621778.296866,116621779.275837,116621780.259035,116621781.322293,116621782.31244,116621783.413064,116621784.500973,116621785.595608,116621786.640787,116621787.670062,116621788.690901,116621789.705906,116621791.292058,116621792.22903,116621793.135033,116621794.059168,116621795.542206,116621800.118183,116621800.993022,116621801.862206,116621802.746715,116621803.658441,116621804.594108,116621805.547856,116621806.514314,116621807.64194,116621808.938206,116621810.247181,116621811.497639,116621812.684018,116621813.821025,116621814.921219,116621815.994621,116621817.027005,116621818.016851,116621818.966497,116621819.912899,116621820.863012,116621821.79092,116621822.729325,116621823.68355,116621824.650531,116621825.626558,116621826.609219,116621827.596848,116621828.587861,116621829.581374,116621830.576866,116621831.573412,116621832.571034,116621833.604975,116621834.645539,116621835.748371,116621836.76345,116621837.8988,116621838.857789,116621840.007132,116621841.074693,116621842.163376,116621843.321667,116621844.283843,116621845.235723,116621846.35548,116621847.327646,116621848.250145,116621849.329296,116621850.271858,116621851.418736,116621852.496835,116621853.591985,116621854.665507,116621856.238631,116621857.3639,116621858.404192,116621859.386993,116621860.463591,116621861.460482,116621862.567172,116621863.54133,116621864.545649,116621865.684277,116621866.620815,116621867.610038,116621868.524099,116621869.449988,116621870.394981,116621887.242524,116621889.834407,116621892.698815,116621894.993057,116621896.984383,116621898.743982,116621900.275096,116621902.020245,116621903.166552,116621904.240161,116621905.263458,116621906.25545,116621907.245774,116621908.238095,116621909.232749,116621910.228888,116621911.222077,116621912.178483,116621913.140248,116621914.111493,116621915.090648,116621916.088802,116621917.080666,116621918.125829,116621919.110812,116621920.092532,116621921.077764,116621922.067166,116621923.059262,116621924.053595,116621925.049355,116621926.046311,116621927.04454,116621928.04306,116621929.041834,116621930.042049,116621931.056739,116621932.097925,116621933.13206,116621934.157498,116621935.175847,116621936.189866,116621937.199411,116621938.206472,116621939.182222,116621940.146504,116621941.118218,116621942.097378,116621943.082459,116621944.164156,116621945.145262,116621946.252304,116621947.176699,116621948.100156,116621949.041398,116621949.998163,116621950.962564,116621951.935969,116621952.916165,116621953.901898,116621954.891876,116621955.884472,116621956.878816,116621957.879046,116621958.917701,116621959.955847,116621960.984715,116621962.006187,116621963.019965,116621964.029592,116621965.03659,116621967.880395,116621968.767052,116621969.577811,116621970.419572,116621971.269735,116621972.155832,116621973.085521,116621974.060884,116621975.047377,116621976.038384,116621977.112915,116621978.10355,116621979.11918,116621980.136689,116621981.150195,116621982.160106,116621983.167388,116621984.172586,116621985.263605,116621986.370747,116621987.4785,116621988.560987,116621989.62171,116621990.666094,116621991.698581,116621992.881965,116621993.888157,116621994.915513,116621995.942826,116621996.930707,116621997.900129,116621998.873232,116621999.852927,116622000.838293,116622001.796578,116622002.745966,116622003.705262,116622004.682536,116622005.661241,116622006.643842,116622007.63093,116622010.413139,116622011.554671,116622012.572446,116622013.558489,116622014.543754,116622015.532421,116622016.524397,116622017.518418,116622018.513968,116622019.617038,116622020.615921,116622021.590822,116622022.568721,116622023.527712,116622024.506789,116622025.505167,116622026.473414,116622027.457281,116622028.4271,116622029.405551,116622030.395368,116622031.421032,116622032.445431,116622033.463496,116622034.444501,116622035.413456,116622036.388401,116622037.369697,116622038.509672,116622039.507695,116622040.466919,116622041.409737,116622042.344082,116622047.451631,116622048.291211,116622049.146823,116622050.209916,116622051.156337,116622052.11356,116622053.103192,116622054.267074,116622055.426292,116622056.58911,116622057.907517,116622059.116424,116622060.205196,116622061.261967,116622062.302076,116622063.331064,116622064.351951,116622065.367179,116622066.378676,116622067.386806,116622068.39247,116622069.396587,116622070.387243,116622071.345663,116622072.309835,116622073.282974,116622074.263427,116622075.249222,116622076.239198,116622077.231753,116622078.23169,116622079.273084,116622080.283644,116622081.268347,116622082.254193,116622083.243309,116622084.235152,116622085.380391,116622086.378776,116622087.345217,116622088.313146,116622089.288571,116622090.254708,116622091.24341,116622092.214602,116622093.171031,116622094.135697,116622095.10966,116622096.105027,116622097.112398,116622098.246731,116622099.257395,116622100.253204,116622101.248075,116622102.244276,116622103.241403,116622104.23937,116622105.238016,116622106.237075,116622107.236488,116622108.235939,116622109.205846,116622110.166348,116622111.134931,116622112.112214,116622113.095157,116622114.074837],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,4,1,1,2,38,2336,6718,3634,2814,2219,1913,1698,1436,1308,1198,1142,1091,1078,1059,1043,995,984,986,990,993,932,913,928,945,960,967,974,995,1049,1045,1005,999,933,3412,1454,786,792,840,884,898,958,958,968,976,968,967,1007,1015,1096,1119,1098,1088,1086,1088,1067,1068,1033,1022,1016,1024,1012,1033,1028,1031,1014,1007,1005,1003,1002,1031,971,962,970,978,981,986,984,963,993,972,975,982,1109,941,846,797,1101,1102,1078,1027,1106,1279,1287,1244,1184,1135,1099,1074,1052,1079,1125,1055,1003,979,1010,969,972,949,957,963,945,899,901,923,944,958,941,923,939,970,965,920,915,951,919,930,921,944,944,939,952,964,958,948,926,967,943,954,949,1010,960,974,955,952,928,939,933,910,925,928,945,956,2676,1987,1802,1799,1652,1710,1523,1404,1273,1116,1047,1002,978,980,963,944,955,966,975,982,987,990,992,936,884,893,924,980,991,994,994,993,975,993,1001,1003,872,887,915,833,794,821,866,890,917,941,979,988,992,994,984,955,970,1009,1011,1008,988,960,966,971,978,984,8179,3867,2838,2232,1943,1730,1540,1353,1211,1150,1110,1080,1058,1042,1031,1022,1016,1058,1027,1054,1042,1032,1018,1053,1044,1033,1024,1017,1007,1005,1066,1034,1060,1167,1121,1075,1037,1038,1047,1038,1028,1020,983,977,951,970,971,950,946,958,968,890,820,775,758,753,906,981,996,976,1010,1190,1380,1279,1204,1150,1110,1080,1058,1037,1005,961,920,922,901,886,910,934,952,961,970,979,984,988,991,994,985,954,922,933,949,999,1013,1009,1006,1005,1008,1046,1042,1032,1023,1016,1012,1008,975,962,969,977,946,949,961,972,1003,984,1015,1027,1013,976,919,907,927,946,960,3341,2456,2094,1878,1731,1481,1352,1259,1181,1168,1128,1094,1069,1050,1036,1026,1020,1104,1061,1043,1030,1022,1016,1011,1008,1006,984,961,984,975,978,983,988,991,993,995,996,997,998,998,998,999,999,1000,974,961,968,978,983,987,990,1100,1087,1065,1045,1029,1020,1015,1011,936,906,924,944,853,874,856,884,911,935,953,966,1127,1296,1308,1250,1186,1137,1100,1073,1032,989,949,946,950,927,938,954,966,976,982,987,991,993,995,996,997,1033,1040,1031,1015,996,958,1050,1031,1007,990,962,951,961,972,922,944,942,1065,1029,996,1021,1135,1049,984,982,1003,996,988,974,958,977,936,905,914,925,944,7920,2591,2864,2294,1991,1759,1497,1320,1146,1073,1023,991,990,992,994,996,993,956,961,971,979,984,991,988,984,981,985,989,992,994,995,996,998,998,998,1000,1014,1041,1034,1025,1018,1014,1009,1007,975,964,971,979,985,968,981,953,924,923,941,956,964,973,980,985,989,992,994,1000,1038,1038,1028,1021,1013,1009,1006,883,886,810,841,850,886,929,975,986,991,992,990,1015,1017,1013,1009,1007,1005,1091,1107,1107,1082,1060,1044,1032,1023,1006,1027,1027,987,969,973,979,985,958,949,959,969,978,982,987,990,1020,1017,986,985,988,991,994,995,996,998,974,977,958,979,998,968,960,969,971,989,1025,1024,1018,981,968,974,981,986,990,959,942,934,913,839,855,890,921,899,947,1112,1159,1162,1171,1173,1088,1056,1040,1028,1020,1015,1011,1008,1005,1004,990,958,964,973,980,985,989,992,999,1041,1010,984,985,989,991,993,977,966,967,975,966,988,971,956,964,973,995,1007,999,1010,995,994,996,997,997,998,999,999,999,969,960,968,977,982,979]},"stackTable":{"length":1399,"prefix":[null,null,1,null,3,4,5,6,7,8,9,10,11,4,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,27,32,33,26,35,36,37,38,36,40,41,42,24,44,45,46,47,48,49,50,47,52,53,53,50,50,46,58,50,53,61,62,45,64,65,66,67,67,67,67,64,72,67,65,75,76,67,78,76,65,81,82,22,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,91,101,102,103,104,105,106,107,108,89,110,111,112,113,114,115,116,117,118,119,120,111,122,123,124,125,126,127,128,129,130,123,132,133,134,135,136,137,87,139,140,141,142,143,144,145,146,147,148,149,150,151,142,153,154,155,156,157,158,159,160,140,162,163,164,165,166,167,168,169,170,171,163,173,174,175,176,177,178,179,180,181,null,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,16,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,16,240,241,242,243,244,245,246,247,248,249,250,251,252,250,254,255,256,257,258,259,260,261,262,263,264,265,266,267,259,269,270,271,272,273,274,275,276,257,278,279,280,281,282,283,284,285,286,279,288,289,290,291,292,293,294,248,296,297,298,299,300,301,302,303,304,305,306,307,308,309,299,311,312,313,314,315,316,317,318,319,320,321,322,323,324,314,326,327,328,329,330,331,332,333,334,335,314,337,338,339,340,341,342,343,344,345,346,347,348,349,340,351,352,353,354,355,356,357,358,359,360,361,362,363,354,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,370,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,16,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,442,447,443,449,450,443,441,453,454,455,456,454,454,459,460,461,462,460,464,461,456,467,439,469,470,471,472,473,474,475,476,477,478,477,480,476,482,483,484,485,474,487,488,489,490,491,492,493,488,495,496,497,498,499,500,501,502,496,504,505,506,507,507,509,472,511,512,513,514,515,516,517,518,519,514,521,522,523,524,525,512,527,528,529,530,531,532,530,534,535,528,537,538,539,540,541,542,538,544,545,546,547,548,549,437,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,563,568,562,570,571,560,573,574,575,576,577,578,579,574,581,582,583,584,585,586,584,588,589,582,591,592,558,594,595,596,597,598,599,600,601,602,597,604,605,606,607,605,609,610,595,612,613,614,615,616,617,618,619,620,621,622,623,617,625,626,627,628,629,630,615,632,633,634,635,636,637,638,639,640,434,642,643,644,645,646,647,225,649,650,651,652,653,654,655,656,16,658,659,660,661,662,663,664,665,666,667,668,669,669,671,672,669,674,675,675,675,672,669,675,669,675,672,668,685,685,687,688,685,688,685,688,685,694,695,685,695,687,695,687,687,695,688,666,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,716,721,714,723,724,725,724,727,728,729,712,731,732,733,734,735,736,737,734,739,740,732,742,743,744,743,746,747,710,749,750,751,752,753,754,755,756,757,754,759,759,752,762,763,764,765,766,763,768,750,770,771,772,773,774,773,776,777,778,771,780,781,782,781,784,785,708,787,788,789,790,791,792,793,794,795,796,794,798,799,800,792,802,803,804,803,806,807,808,790,810,811,812,813,814,815,816,813,818,819,811,821,822,823,824,822,826,788,828,829,830,831,832,833,834,835,836,835,838,833,840,841,842,843,844,841,846,847,848,831,850,851,852,853,854,854,856,857,853,859,860,859,854,863,864,865,866,864,868,853,870,871,672,669,672,672,675,674,688,688,685,695,695,695,688,695,688,685,695,688,694,687,664,893,894,895,896,897,898,899,900,901,902,903,904,903,902,907,900,909,910,911,912,910,914,914,898,917,918,919,920,921,922,923,920,925,925,918,928,929,930,931,932,929,934,896,936,937,938,939,940,941,942,941,944,945,944,939,948,949,950,949,952,952,937,955,956,957,958,959,959,961,962,959,958,965,966,967,968,969,969,675,675,675,695,685,695,685,688,688,688,695,688,688,666,985,986,987,987,989,990,987,992,993,987,993,990,990,990,987,987,990,990,993,990,986,1006,1007,1008,1009,1010,1011,1012,1012,1012,1010,1016,1017,1009,1019,1020,1021,1019,1021,675,672,669,672,675,671,672,675,687,695,685,685,688,694,695,688,993,990,993,987,989,989,993,986,1048,1048,1048,1051,1051,1053,1048,1053,1053,1048,1058,1059,1053,897,1062,1063,897,1065,895,897,896,1069,1070,1071,1072,1073,1073,672,675,675,694,695,687,695,688,717,717,719,721,1087,1088,721,1090,1091,1087,721,725,1095,725,1095,1098,725,727,1101,1102,1102,728,727,1101,735,735,735,1110,1110,1112,735,1112,740,1116,739,1118,1116,739,739,732,1123,1124,1125,1126,1127,1128,1129,1129,1128,1132,1133,1132,1133,1126,1137,1138,1139,1140,1141,1139,1139,1144,1145,1123,1147,669,674,669,674,671,669,695,695,688,688,685,715,723,723,1162,1163,733,1165,733,733,1168,1169,742,742,1172,753,753,1175,1176,762,1178,1179,762,750,1182,1183,1184,1185,1186,1187,1188,1188,1190,1191,1187,1193,1194,1194,1196,1193,1198,1199,1185,1201,1202,1203,1204,1205,1206,1205,1206,1209,1204,1211,1212,1213,1214,1215,1215,1217,1218,1214,1220,1221,1222,1223,1223,1225,1222,671,674,695,687,695,688,687,719,717,1088,1091,725,1239,1240,1239,729,737,1116,739,744,747,746,1249,1250,755,756,757,759,759,1256,1257,765,766,768,1184,1262,1263,1184,1188,1266,1191,1196,1194,1193,1205,1272,1273,1205,1204,1276,1277,1278,1276,1280,1281,1266,1191,1188,1193,1193,1196,1276,1278,675,675,674,675,672,672,672,675,687,687,694,688,694,694,687,694,707,707,1308,901,909,909,1312,1313,919,1073,1316,1317,1318,1319,1320,1321,1322,1323,1323,1323,1326,1327,1322,1329,1329,1329,1320,1333,1334,1335,1336,1337,1338,1339,1339,1336,1342,1342,1342,1345,1346,1316,1348,1349,1350,1351,1352,1353,1352,1351,1356,1350,1350,1350,1360,1361,1352,1363,1364,1364,1366,1367,671,672,675,672,672,694,688,993,987,993,990,993,993,990,990,1010,1017,1017,1020,1019,1388,1389,1019,1010,1012,895,895,1395,1395,1397],"frame":[0,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,17,18,17,18,17,18,17,18,19,20,21,22,23,24,25,26,19,20,21,27,28,21,29,30,26,17,18,19,28,21,29,31,20,21,32,33,34,35,36,37,38,39,29,40,26,19,28,21,41,42,43,44,36,45,46,20,21,47,29,40,48,49,50,51,52,15,16,17,18,17,18,17,18,17,26,17,18,19,28,21,53,26,17,18,17,26,19,28,21,54,26,17,18,17,18,17,18,19,28,21,39,55,26,17,18,17,18,19,20,21,29,47,26,17,26,19,20,21,56,26,17,18,17,18,17,26,17,18,19,28,21,29,40,26,17,26,17,18,19,20,21,57,26,17,18,17,18,17,26,19,20,21,58,26,17,18,17,18,19,20,21,29,35,17,52,15,16,17,26,17,26,17,26,17,52,15,16,17,52,15,16,17,18,17,26,17,52,15,16,17,18,17,18,17,18,17,18,17,26,19,20,59,60,61,62,63,62,63,62,63,62,63,64,15,65,63,64,15,65,66,67,68,69,68,69,68,69,68,69,68,69,68,70,71,72,15,73,69,68,69,68,69,68,69,74,69,68,70,75,74,69,68,69,74,69,74,70,76,74,69,68,69,74,69,68,69,74,77,74,69,74,69,74,69,74,78,72,15,73,69,68,69,74,69,68,69,68,69,74,70,79,72,15,73,69,68,69,68,69,68,69,68,69,74,70,80,74,69,68,69,74,69,74,69,68,70,71,72,15,73,69,68,69,68,69,68,69,68,69,68,81,72,15,73,69,68,69,68,69,74,69,74,69,74,82,74,69,72,15,73,69,68,69,74,69,74,69,74,69,68,70,83,74,69,74,69,68,69,74,69,72,15,73,69,68,69,72,15,73,69,72,15,73,69,72,15,73,69,68,69,74,69,72,15,73,69,72,15,73,69,68,69,68,69,74,69,68,69,74,70,84,85,86,87,86,87,86,87,86,87,86,87,86,88,89,21,90,91,75,92,21,93,94,95,88,92,21,96,97,89,21,39,39,40,29,98,35,29,99,100,15,101,87,86,87,86,87,86,91,75,88,102,95,88,89,59,103,95,87,86,88,89,21,39,40,95,87,86,88,89,21,29,29,104,95,88,89,21,105,29,35,95,87,86,87,86,88,89,21,29,44,95,88,89,21,29,106,95,87,86,88,92,21,107,89,21,108,95,87,86,88,92,21,109,95,88,92,21,29,29,110,100,15,101,87,86,87,86,87,86,87,86,87,86,88,89,21,111,91,71,95,91,112,95,87,86,88,92,21,29,113,95,88,89,21,29,39,99,39,39,40,92,21,114,95,87,86,87,86,88,92,21,39,47,95,88,92,21,115,89,21,116,100,15,101,87,86,87,86,88,89,21,39,29,117,95,88,89,21,39,39,106,100,15,101,87,86,88,92,21,29,118,119,120,121,122,123,124,25,125,63,64,15,65,63,62,29,126,127,128,129,128,129,128,129,128,129,128,129,128,130,131,132,133,134,132,135,136,137,138,139,140,141,142,143,144,141,131,132,145,146,147,148,149,134,132,143,139,133,150,151,152,153,140,154,155,15,156,129,128,129,128,129,128,129,128,129,128,131,132,157,144,141,144,129,128,141,144,131,132,157,144,129,128,129,128,134,132,142,144,131,158,144,129,128,139,144,134,158,144,129,128,129,128,129,128,134,132,142,144,141,148,144,129,128,131,132,142,144,141,144,129,128,129,128,141,144,131,132,136,144,129,128,141,144,131,152,144,129,128,129,128,129,128,129,128,131,159,144,134,132,160,144,129,128,141,144,131,132,161,144,129,128,129,128,134,132,160,144,131,159,144,129,128,134,159,144,139,155,15,156,129,128,129,128,129,128,139,144,141,144,129,128,131,132,142,144,131,132,160,155,15,156,129,128,139,131,132,160,144,134,152,139,129,128,134,132,162,131,163,155,164,165,166,167,168,154,154,169,170,162,130,171,172,149,173,174,171,167,175,176,150,163,155,15,156,129,128,129,128,129,128,129,128,134,177,139,144,141,144,129,128,134,163,144,141,139,144,129,128,129,128,131,132,135,144,141,139,144,129,128,134,132,178,144,139,144,129,128,129,128,129,128,141,144,134,179,139,144,129,128,141,144,180,139,155,15,156,129,128,139,131,132,161,141,155,15,156,129,128,139,141,168,171,174,154,181,182,183,133,160,184,185,143,135,144,129,128,139,131,132,173,134,132,182,141,143,162,133,178,186,148,145,187,157,143,155,15,156,129,128,134,132,135,170,151,131,132,143,144,131,132,143,141,171,149,151,183,172,161,188,161,189,177,176,186,190,191,158,191,192,162,149,151,193,188,163,194,144,139,141,131,163,132,176,130,136,171,134,132,161,195,131,132,194,134,188,141,139,155,15,156,129,128,139,148,196,151,133,163,197,198,145,199,141,180,182,134,132,154,131,132,161,150,130,134,200,139,132,172,148,134,132,151,160,163,141,150,139,201,131,159,132,145,141,143,132,171,134,153,161,130,141,155,15,156,129,128,129,128,139,141,144,131,152,202,200,155,15,156,134,132,182,186,131,132,182,164,165,148,163,180,200,163,186,189,142,161,151,193,141,141,134,132,161,131,163,130,134,132,196,139,131,200,139,131,132,151,134,132,149,141,155,15,156,129,128,129,128,139,131,132,154,144,131,163,132,162,134,132,133,155,15,156,129,128,134,179,141,132,203,155,15,156,129,128,139,134,132,192,155,15,156,131,163,132,145,139,204,205,135,206,161,137,179,143,183,133,133,131,132,170,153,135,191,143,139,148,163,131,132,199,139,177,171,139,131,132,207,163,157,139,134,132,142,139,134,200,143,170,150,139,131,132,145,139,144,131,132,149,134,132,191,163,135,130,141,186,185,141,187,195,187,179,162,178,208,145,145,188,200,179,136,205,200,204,188,141,131,177,139,139,131,132,209,148,129,128,129,128,129,128,129,128,141,139,131,132,197,144,210,202,141,155,15,156,129,128,134,132,151,161,144,141,139,131,132,149,155,15,156,129,128,131,211,148,144,139,141,139,131,132,212,129,128,148,131,132,189,198,189,173,171,135,213,178,214,130,161,195,133,174,137,171,139,173,172,188,134,132,215,139,141,197,139,131,158,132,143],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12683d","0x7fffa45db85f","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db998","0x3a27b9","0x95ef9","0xa51dd","0xa4a40","0xa216b","0xa1dcc","0x11ea7b","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1c7f","0x1edef0","0x1ee5d6","0x1f2923","0x1f3270","0x1a0aca","0x1f37e8","0x1ee47c","0x1f1e9c","0x1eeb02","0x1edfdb","0x1ee205","0x1ee665","0x1ee493","0x1ee008","0x1ee027","0x1f257e","0x177d83","0x1edfce","0x1eeae6","0x1edfb4","0x1ee0c4","0x1ee73f","0x1ee20b","0x1ee536","0x177d91","0x1ee490","0x1ee015","0x1ee7c5","0x1f1fb2","0xa5452","0xa272d","0x1f3684","0x1ee4ac","0x1ee644","0x1ee415","0x1ee83d","0x1ee944","0x1ee9c8","0x1edeb7","0x1a09aa","0x1ef504","0x1eee79","0x1eebf0","0x1eeec7","0x1ef2d8","0x1ee689","0x1ed66e","0x1ec495","0x1eb8f0","0x1eb11d","0x177e3f","0x1ec510","0x1ecae9","0x1ec600","0x177dbc","0x177d9f","0x1eb2a1","0x1eb1dd","0x177e31","0x177dab","0x1eb150","0x1eb27e","0x177e44","0x177ff9","0x15ac9e","0x34e36","0x59e38","0x59951","0x1edbd7","0x1ee743","0x59940","0x1edb10","0x1ee738","0x1edd22","0x34fd2","0x1ee75f","0x1edad7","0x1ee95d","0x1edfde","0x34ed4","0x15a5ad","0x1eda21","0x1a07c0","0x1ee024","0x1ee4a4","0x1ee030","0x1ee5f8","0x1ee505","0x1eea87","0x1ee020","0x1ee46e","0x177db6","0x1ee01a","0x1edfd9","0x1ee63c","0x1ee723","0x1edfb0","0x1ee862","0x59e9e","0x177b87","0x26c8f","0x354cb3","0xa5861","0xa4bca","0x1eef5c","0x1ee390","0x247340","0x246a05","0x246666","0x2463bb","0x24637c","libm.so.6","0x37f02","0x76514","0x246363","0x764e4","0xe380","0x76538","0x70a1c","0x246396","0x76497","0x2463ab","0x764c0","0x764d5","0x246b93","0x764f4","0x246392","0x76521","0x2463af","0x7662f","0x37f1d","0x70ab8","0x37ef0","0x37f40","0x7649f","0x246a77","0x247051","0x764eb","0x37f13","0x37f31","0x76488","0x7652b","0x764ac","0x37f25","0x26141","0x108c9b","0x7662a","0x246347","0x764a3","0x37f4a","0x709c7","0x7651d","0x76637","0x709c0","0x764bb","0x70aa8","0x709e4","0x37f27","0x76518","0x37ef8","0x246354","0x2463bf","0x70ab0","0x2463c2","0x70a14","0x70ac0","0x246338","0x76625","0x37f0b","0x76532","0x2463b7","0x7648e","0x764b3","0x24639f","0x7647e","0x76482","0x764db","0x709ce","0x37efe","0x76506","0x37f03","0x24637a","0x24638a","0x764e7","0x37ef4","0x37f21","0x37f33","0x7650f","0x7654a","0x76479","0x246386","0x37f2f","0x76530","0x37f58","0x76491","0x7653e"],"tid":"700694","unregisterTime":116622126.552591},{"frameTable":{"length":196,"address":[1206351,608962,4045226,3445825,3446491,156044,157446,1173645,156499,2047333,2042824,2045333,2041225,2039452,2023152,2026214,2023470,2038911,2026242,2023445,2045928,2023348,2023385,2025701,2023351,2045572,2024943,2026015,2024567,2024569,2025459,2025849,2041214,1539468,2025338,2025485,2024918,2024227,2023344,2023460,2038667,2023440,2024620,2024612,1539473,2025479,2025279,2023381,2039407,2025716,2028248,2026480,2027129,2025404,2018025,2013424,2016405,2016768,2011421,1539480,2011991,1539647,2016528,155527,3439896,3440340,1418669,368184,216630,366929,2022359,2024531,2022160,2023895,2023413,217042,366912,1539691,2023450,1539477,2023979,2024704,1539519,2026210,1539490,2024256,2025417,1539652,2024558,2024592,2024937,2026038,216788,2023467,2025712,2026489,2023390,2025561,2388049,2385510,2386551,2386437,2386835,2384739,229112,2384811,2384790,2384764,229131,229153,229122,484658,484531,484565,461498,484494,484605,484898,2384827,484628,461248,461262,461255,229171,2384688,2384696,229104,2384815,229123,461496,229149,229159,58240,484685,484571,229118,484587,484639,484651,2384774,2384715,484596,2384786,484911,484515,484637,484482,484568,461476,2384799,229139,-1,484614,484539,484544,2384724,484478,484623,2384778,461504,484524,229208,484682,484511,484794,484901,484548,2384758,229169,484488,484580,2384702,461488,484632,484919,484672,484664,229167,2384762,2384834,229157,2384711,2384749,2384807,155969,1084571,484641,484888,2384740,229201,155454,2384831,461480,2384819,484670,484556],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":196,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,1,2,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,2,2,2,2,2,2,1,2,-1,2,2,2,1,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,1,2,2,2,2,2,2,1,1,2,1,1,1,1,0,2,2,1,2,1,1,2,1,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700695>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.224361,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,106],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":722,"stack":[7,7,7,7,7,24,28,38,49,56,66,71,79,96,105,117,126,140,150,165,175,182,193,202,216,226,234,246,256,259,266,272,280,284,289,292,297,305,311,326,331,343,350,368,383,7,7,7,7,7,7,392,405,409,412,422,437,440,442,445,446,451,452,456,457,466,468,469,471,472,475,476,482,484,486,487,488,489,490,491,507,514,516,524,531,534,539,546,552,555,556,575,583,583,585,587,592,593,595,596,604,605,607,608,614,617,621,622,630,633,637,640,641,645,648,650,650,658,659,663,664,665,671,672,675,676,679,681,682,683,684,689,690,691,693,693,694,697,698,698,701,702,703,706,707,706,710,711,711,714,715,718,720,721,721,724,727,728,730,731,732,737,738,741,742,742,742,745,746,681,681,683,748,750,751,691,691,754,755,756,757,690,693,693,760,693,761,694,762,763,698,764,697,765,698,768,698,770,771,772,770,773,774,777,778,706,780,781,784,707,785,787,790,791,792,711,711,793,792,794,802,806,807,811,815,816,818,821,822,823,824,830,835,836,840,843,7,845,846,693,847,848,778,778,785,849,714,850,851,854,728,732,858,859,861,866,867,869,870,878,880,881,885,886,888,888,894,896,899,905,908,910,913,915,916,922,923,925,925,930,930,932,938,939,941,941,941,949,950,951,953,956,959,965,966,967,969,972,973,981,982,983,987,988,989,990,996,742,997,998,999,1000,1001,690,691,1003,1004,1005,694,693,1006,1007,1008,697,778,1009,1010,1011,1012,1013,1014,1015,780,706,1016,1017,1018,1019,1022,714,1023,714,721,1026,1027,1028,728,1029,724,1030,1032,1035,1037,1035,1040,1041,1042,859,1043,861,1045,1046,861,867,1049,1050,1051,1057,1060,1061,1066,1077,1079,1087,1090,1092,1093,698,703,785,780,711,792,1094,714,715,720,720,721,728,728,1095,1096,1097,731,859,1043,1043,861,1046,861,1046,1098,1051,1099,1100,870,869,1101,1102,1104,1107,1108,1109,1110,1113,1110,1119,1120,1127,1128,1129,1135,1136,1137,1138,1141,1142,1143,1144,1145,1146,1147,742,1148,1149,742,1151,742,742,681,683,681,1152,681,1155,1156,681,683,683,681,1157,690,1158,691,690,691,691,691,691,1159,691,691,690,691,693,1160,1093,694,693,1161,694,1162,1161,1163,1164,694,1175,1176,1178,1179,1183,1184,1186,1187,1193,1193,1194,1198,1199,1203,1206,1211,1212,1213,1216,1213,1218,1218,1218,1218,1218,1218,742,1220,742,1221,1222,1223,683,999,1224,999,690,691,690,1225,1226,1227,690,691,691,1228,1244,1245,1249,1251,1252,1253,1257,1257,1257,1261,1262,1262,1263,1269,1270,1273,1274,1278,1279,1280,1284,1287,1284,1284,1289,1292,1289,1293,1303,1304,1306,1306,1310,1311,1312,1313,1313,1321,1322,1323,1325,1326,1329,1312,1332,1335,1336,1337,1313,1340,1341,1344,1345,1322,1325,1346,1349,1350,1352,742,1353,1354,691,694,763,698,1355,703,785,1356,792,1358,1365,1366,1368,1368,1371,1375,1376,1379,1381,1381,1381,1384,1390,1393,1394,1398,1399,1400,1404,1405,1405,1405,1407,1408,1409,1416,1417,1417,1419,1420,1421,1423,1427,1428,1431,1439,1440,1442,1448,1448,1459,1460,1462,1466,1468,1470,1473,1477,1482,1485,1488,1498,1499,1501,1504,1505,1509,1509,1511,1512,1514,1515,1516,1519,1521,1522,1523,1524,1525,1526,1527,1530,1534,1535,1537,1542,1542,1544,1548,1549,1551,1556,1557,1559,1565,1566,1568,1569,1574,1575,1579,1580,1581,1585,1588,1589,1592,1593,1594,1599,1600,1601,1605,1606,1607,1610,1611,1613,1614,1617,1622,1623,1624,1628,1629,1630,1638,1640,1640,1644,1648,1650,1651,1657,1658,1659,1218],"time":[116621305.961255,116621305.965993,116621305.968522,116621305.971412,116621305.97408,116621305.996446,116621306.955879,116621312.395722,116621315.410565,116621317.757279,116621319.999923,116621322.003743,116621323.614761,116621325.149801,116621326.504355,116621327.763221,116621328.988443,116621330.14503,116621331.293643,116621332.38622,116621333.422353,116621334.432944,116621335.438432,116621336.442326,116621337.442346,116621338.441693,116621339.477281,116621340.473952,116621341.46614,116621342.460155,116621343.454954,116621344.466999,116621345.428155,116621346.395877,116621347.368182,116621348.373523,116621349.351728,116621350.331598,116621351.326299,116621352.351889,116621353.376227,116621354.393533,116621355.406823,116621356.415957,116621357.423261,116621358.944442,116621358.948804,116621358.951556,116621358.954271,116621358.957052,116621358.982475,116621363.956116,116621369.656847,116621372.403084,116621374.598757,116621376.459187,116621378.501628,116621380.202527,116621381.78954,116621383.222547,116621384.648624,116621385.894696,116621387.055119,116621388.155955,116621389.227228,116621390.27912,116621391.317191,116621392.350104,116621393.410434,116621394.460832,116621395.498711,116621396.526879,116621397.547527,116621398.56148,116621399.571461,116621400.578729,116621401.584134,116621402.555898,116621403.521541,116621404.494259,116621405.47423,116621406.46069,116621407.451251,116621408.4356,116621409.396566,116621410.397646,116621411.369748,116621412.385243,116621413.363374,116621414.336649,116621416.525039,116621418.131756,116621420.691781,116621421.595277,116621422.501808,116621423.431963,116621424.380969,116621425.327297,116621426.290584,116621427.435278,116621428.663064,116621429.887198,116621431.085434,116621432.217514,116621433.31273,116621434.382079,116621435.432795,116621436.470311,116621437.497025,116621438.516065,116621439.530252,116621440.504583,116621441.469304,116621442.441231,116621443.421012,116621444.423861,116621445.411299,116621446.40075,116621447.39189,116621448.406463,116621449.389104,116621450.340299,116621451.299488,116621452.268814,116621453.245741,116621454.228251,116621455.215649,116621456.207664,116621457.202577,116621458.198978,116621459.236596,116621460.228492,116621461.213794,116621462.165,116621463.123998,116621464.106721,116621465.090833,116621466.081057,116621467.132198,116621468.150666,116621469.161502,116621470.174345,116621471.179512,116621472.182073,116621473.183395,116621474.170189,116621475.133579,116621476.10411,116621477.083228,116621478.069281,116621479.111972,116621480.135263,116621481.150591,116621482.161631,116621483.169525,116621484.17495,116621485.1999,116621486.244676,116621487.278328,116621488.262853,116621489.244834,116621490.230416,116621491.219563,116621492.211677,116621498.325758,116621499.14814,116621499.947554,116621500.768374,116621501.633341,116621502.535901,116621503.466001,116621504.483645,116621505.581479,116621506.678624,116621507.873715,116621509.119233,116621510.379656,116621511.609765,116621512.783038,116621513.895744,116621514.929581,116621515.904347,116621516.867816,116621517.801882,116621518.744145,116621519.700771,116621520.634407,116621521.571662,116621522.524343,116621523.489631,116621524.464823,116621525.446581,116621526.434014,116621527.424662,116621528.417915,116621529.413075,116621530.382631,116621531.341214,116621532.319306,116621533.335852,116621534.353072,116621535.366423,116621536.376067,116621537.383076,116621538.365889,116621539.371125,116621540.37915,116621541.385663,116621542.39068,116621543.393826,116621544.39602,116621545.397555,116621546.398904,116621547.399647,116621548.400151,116621549.400433,116621550.400603,116621551.400818,116621552.40106,116621553.401538,116621554.401539,116621555.401441,116621556.401338,116621557.379128,116621558.34014,116621559.33073,116621560.346547,116621561.361471,116621562.372865,116621563.353983,116621564.321257,116621565.294509,116621566.274751,116621567.260465,116621568.250195,116621569.242746,116621570.338483,116621573.066562,116621574.005366,116621574.943166,116621575.870794,116621576.832377,116621577.809948,116621578.793943,116621579.805327,116621580.845615,116621581.943916,116621583.06699,116621584.179738,116621585.264988,116621586.327735,116621587.373497,116621588.406785,116621589.43087,116621590.448331,116621591.482704,116621592.505098,116621593.55255,116621594.574606,116621595.559935,116621596.543734,116621597.530993,116621598.521364,116621599.514716,116621600.509923,116621601.506247,116621602.503716,116621603.501629,116621604.500087,116621605.499438,116621606.462603,116621607.415016,116621608.344696,116621609.287803,116621610.275343,116621611.241714,116621612.212779,116621613.198928,116621614.223761,116621615.247262,116621616.26528,116621617.278602,116621618.288148,116621619.320616,116621620.322981,116621621.31529,116621622.273929,116621623.239885,116621624.212415,116621625.192041,116621626.21845,116621627.20416,116621628.187444,116621629.177147,116621630.208491,116621631.254706,116621632.277358,116621633.289796,116621634.308081,116621635.312955,116621636.339839,116621637.338653,116621638.361983,116621639.362553,116621640.353294,116621641.345712,116621642.339453,116621650.172479,116621651.344411,116621652.498134,116621653.656634,116621654.76767,116621655.848354,116621656.984779,116621658.3578,116621659.759081,116621661.086818,116621662.274065,116621663.404737,116621664.499515,116621665.581717,116621666.630599,116621667.665295,116621668.691116,116621669.72727,116621670.737268,116621671.72242,116621672.672512,116621673.620534,116621674.571402,116621675.532794,116621676.504407,116621677.483756,116621678.447547,116621679.431389,116621680.397741,116621681.366979,116621682.343538,116621683.326389,116621684.292587,116621685.263798,116621686.200172,116621687.147527,116621688.121882,116621689.123791,116621690.128296,116621691.132035,116621692.134754,116621693.174838,116621694.194774,116621695.218551,116621696.236909,116621697.294112,116621698.304313,116621699.301732,116621700.298367,116621701.318382,116621702.28401,116621703.248056,116621704.220272,116621705.187961,116621706.143233,116621707.107704,116621708.081481,116621709.076213,116621710.097354,116621711.089249,116621712.168473,116621713.243497,116621714.218373,116621715.171121,116621716.130988,116621717.101562,116621718.079642,116621719.08359,116621720.069795,116621730.964062,116621734.804024,116621737.503711,116621739.669078,116621741.622918,116621743.476062,116621744.940702,116621746.273789,116621747.488519,116621748.660271,116621749.773544,116621750.852117,116621751.909046,116621752.95062,116621753.980871,116621755.003271,116621756.01755,116621757.02748,116621758.034719,116621758.999884,116621760.134699,116621761.396808,116621762.305613,116621763.204292,116621764.125828,116621765.067953,116621766.026073,116621767.128092,116621768.090415,116621769.04714,116621770.013237,116621770.987968,116621771.967248,116621772.951282,116621773.93984,116621774.931456,116621775.918435,116621776.875371,116621777.834297,116621778.804267,116621779.782938,116621780.765886,116621781.753841,116621782.745545,116621783.739435,116621784.734462,116621785.730713,116621786.728055,116621787.725986,116621788.724485,116621789.723177,116621790.722367,116621791.721837,116621792.721522,116621793.721164,116621800.103324,116621801.019339,116621801.925438,116621802.841812,116621803.970924,116621804.962231,116621805.925596,116621808.934455,116621810.235973,116621811.621267,116621812.916128,116621814.103425,116621815.181744,116621816.231168,116621817.357427,116621818.381484,116621819.36462,116621820.278717,116621821.394779,116621822.406678,116621823.46809,116621824.463695,116621825.518799,116621826.482376,116621827.730233,116621828.65475,116621829.567405,116621830.652154,116621831.602364,116621832.609559,116621833.635074,116621834.779937,116621835.853843,116621836.903677,116621837.933897,116621838.916922,116621839.894747,116621840.877699,116621841.86554,116621842.855952,116621843.926983,116621844.922284,116621845.900769,116621846.88235,116621847.862682,116621848.82577,116621849.816045,116621850.790705,116621851.789746,116621852.924211,116621853.90018,116621854.879922,116621856.426384,116621857.351705,116621858.249402,116621859.172323,116621860.153172,116621861.145701,116621862.141268,116621864.597563,116621865.59617,116621866.623669,116621867.637747,116621868.647132,116621869.653465,116621870.657898,116621873.708889,116621873.713741,116621873.716688,116621873.719668,116621873.722585,116621873.758043,116621878.647395,116621881.444797,116621884.320685,116621886.189531,116621887.687159,116621889.038506,116621890.523332,116621892.058279,116621893.429119,116621894.701643,116621895.902581,116621897.05054,116621898.146067,116621899.214005,116621900.263237,116621901.299291,116621902.325429,116621903.387295,116621904.403054,116621905.493661,116621906.555936,116621907.601115,116621908.642058,116621909.666195,116621910.681859,116621911.669138,116621912.635111,116621913.605793,116621914.583803,116621915.568067,116621916.557519,116621917.550604,116621918.544082,116621919.539144,116621920.535502,116621921.533248,116621922.531249,116621923.52965,116621924.561669,116621925.561103,116621926.567314,116621927.560292,116621928.55169,116621929.552097,116621930.548953,116621931.579815,116621932.616892,116621933.645732,116621934.667139,116621935.682768,116621936.694204,116621937.702602,116621938.700215,116621939.662511,116621940.627367,116621941.600552,116621942.580856,116621943.550226,116621944.531528,116621945.528838,116621946.532344,116621947.489847,116621948.45216,116621949.42373,116621950.402769,116621951.387621,116621952.383351,116621953.375651,116621954.368873,116621955.363307,116621956.359061,116621957.355867,116621958.378299,116621959.417061,116621960.448518,116621961.471875,116621962.489049,116621963.501352,116621964.510273,116621969.599412,116621970.985844,116621972.323372,116621973.548622,116621974.729139,116621975.863312,116621976.961729,116621978.033877,116621979.116575,116621980.18705,116621981.239466,116621982.277579,116621983.305283,116621984.338652,116621985.441533,116621986.564443,116621987.677726,116621988.763561,116621989.826403,116621990.872286,116621991.930641,116621992.955413,116621993.978909,116621995.034826,116621996.079487,116621997.073089,116621998.055233,116621999.040048,116622000.028732,116622001.020487,116622001.975008,116622002.926695,116622003.888388,116622004.860229,116622005.839722,116622006.824927,116622007.814141,116622008.806358,116622009.800995,116622010.797017,116622011.794298,116622012.792067,116622013.790467,116622014.789224,116622015.817551,116622016.817042,116622017.810119,116622018.80401,116622019.799268,116622020.795611,116622021.793008,116622022.791131,116622023.756504,116622024.755942,116622025.761875,116622026.72644,116622027.691421,116622028.664696,116622029.645411,116622030.652516,116622031.684989,116622032.71354,116622033.733694,116622034.706964,116622035.677975,116622036.655608,116622037.639201,116622038.650075,116622039.641779,116622040.630543,116622041.592906,116622042.623762,116622047.85068,116622048.708293,116622049.645254,116622050.606596,116622051.579643,116622052.573788,116622053.626033,116622054.705059,116622055.833816,116622056.979602,116622058.135177,116622059.27142,116622060.37416,116622061.449269,116622062.545513,116622063.580901,116622064.601548,116622065.615705,116622066.626067,116622067.633716,116622068.639092,116622069.64292,116622070.62273,116622071.580773,116622072.545703,116622073.51983,116622074.500786,116622075.487134,116622076.47723,116622077.493964,116622078.505985,116622079.541719,116622080.534057,116622081.514235,116622082.497787,116622083.485694,116622084.476883,116622085.495015,116622086.487533,116622087.478898,116622088.472257,116622089.467136,116622090.447422,116622091.446314,116622092.416136,116622093.377511,116622094.347243,116622095.324747,116622096.331794,116622097.331419,116622098.340826,116622099.368998,116622100.392551,116622101.409983,116622102.42243,116622103.43151,116622104.43797,116622105.443125,116622106.446793,116622107.449345,116622108.478989,116622109.437696,116622110.393785,116622111.359877,116622112.335028,116622113.316942,116622114.287157,116622116.61337],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[151,4,2,2,2,22,959,5439,3014,2346,2242,2003,1611,1535,1354,1258,1225,1156,1123,1092,1036,1010,1005,1003,1000,999,998,996,992,994,994,995,961,967,972,976,978,979,994,1025,1024,1017,1013,1009,1007,919,4,2,2,2,25,1172,5014,2746,2195,1860,1718,1700,1587,1433,1308,1246,1160,1100,1071,1051,1038,1032,1060,1050,1037,1028,1020,1013,1009,1007,1005,971,965,972,979,986,990,984,960,966,972,970,978,973,984,874,607,903,906,930,949,946,963,1144,1227,1224,1198,1132,1095,1069,1050,1037,1026,1019,1014,974,964,971,979,985,987,989,991,993,982,951,959,969,976,982,987,992,994,996,995,991,985,951,958,968,984,990,1023,1018,1010,1006,1005,1002,1001,986,963,970,979,986,1026,1023,1015,1011,1007,1005,1024,1044,1033,984,981,985,989,992,945,822,799,820,864,902,930,1017,1097,1097,1195,1245,1260,1230,1173,1112,1033,974,963,934,942,956,933,937,952,965,975,981,987,990,993,995,969,958,978,1016,1017,1013,1009,1007,982,1005,1008,1006,1005,1003,1002,1001,1001,1000,1000,1000,1000,1000,1000,1000,1000,999,999,977,961,990,1015,1014,1011,981,967,973,980,985,989,992,994,968,938,937,927,961,977,983,1011,1040,1098,1123,1112,1085,1062,1045,1033,1024,1017,1012,1022,1047,1022,985,983,987,990,993,995,996,997,997,998,999,963,935,929,943,957,966,971,986,1024,1023,1018,1013,1009,1006,1002,992,958,965,972,979,984,985,983,989,1031,1029,1022,1012,1008,1004,1026,998,1023,1000,990,992,993,2364,1171,1153,1158,1111,1080,1136,1373,1401,1316,1187,1130,1094,1082,1048,1034,1025,1036,1009,985,950,948,950,961,971,979,963,983,966,969,976,982,966,971,936,947,974,1001,1004,1003,1002,1040,1019,1023,1018,1057,1010,997,996,1007,965,964,972,967,955,964,973,994,1021,991,1012,1012,974,952,959,970,978,1003,986,8137,3839,2699,2165,1953,1730,1464,1333,1214,1153,1113,1078,1056,1041,1030,1022,1014,1009,1007,965,976,956,908,898,921,942,958,969,962,956,966,974,979,984,988,991,986,956,958,969,978,982,987,991,993,995,996,997,997,998,998,999,999,999,999,906,916,906,916,936,954,923,1059,1301,1298,1214,1151,1078,1049,997,957,915,914,1004,989,974,973,956,963,950,924,912,931,950,928,969,1101,1073,1049,1030,983,977,982,987,990,992,995,978,981,980,963,990,974,999,968,975,979,988,925,897,922,980,992,995,996,998,1027,1014,1009,1006,1004,325,4,2,2,2,20,754,2774,2837,1841,1487,1338,1484,1534,1370,1272,1200,1147,1095,1067,1049,1036,1026,1018,1015,1090,1062,1045,1032,1024,1015,987,965,970,978,984,989,993,993,995,996,997,998,998,998,999,991,992,991,993,996,1030,1037,1028,1021,1015,1011,1008,997,962,964,973,980,969,981,997,968,957,962,971,979,984,988,992,993,994,995,996,1022,1038,1031,1023,1017,1012,1008,2706,1386,1305,1225,1180,1134,1098,1072,1082,1070,1052,1038,1027,1033,1102,1122,1113,1085,1062,1045,1033,1024,1023,1055,1044,993,982,984,988,991,954,951,961,971,979,985,989,992,994,996,997,997,998,998,998,999,993,993,995,996,997,998,965,999,1005,964,964,973,980,1007,1032,1028,1020,973,971,977,983,987,991,988,962,953,890,857,936,961,973,994,1052,1079,1128,1145,1155,1136,1102,1075,1054,1035,1020,1014,1010,1007,1005,1003,979,958,964,974,980,986,990,992,1012,1035,992,980,983,987,991,992,992,991,993,994,980,998,969,961,969,977,1007,999,1009,1028,1023,1017,1012,1009,1006,1005,1003,1002,1001,958,956,966,975,981,970,937]},"stackTable":{"length":1660,"prefix":[null,0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,20,25,26,27,14,29,30,31,32,33,34,35,36,37,12,39,40,41,42,43,44,45,46,47,48,42,50,51,52,53,54,55,40,57,58,59,60,61,62,63,64,65,60,67,68,69,70,58,72,73,74,75,76,77,78,10,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,87,97,98,99,100,101,102,103,104,85,106,107,108,109,110,111,112,113,114,115,116,107,118,119,120,121,122,123,124,125,83,127,128,129,130,131,132,133,134,135,136,137,138,139,130,141,142,143,144,145,146,147,148,149,128,151,152,153,154,155,156,157,158,159,160,161,162,163,164,158,166,167,168,169,170,171,172,173,174,167,176,177,178,179,180,181,156,183,184,185,186,187,188,189,190,191,192,184,194,195,196,197,198,199,200,201,154,203,204,205,206,207,208,209,210,211,212,213,214,215,206,217,218,219,220,221,222,223,224,225,218,227,228,229,230,231,232,233,204,235,236,237,238,239,240,241,242,243,244,245,236,247,248,249,250,251,252,253,254,255,91,257,258,89,260,261,262,263,264,265,261,267,268,269,270,271,98,273,274,275,276,277,278,279,102,281,282,283,109,285,286,287,288,113,290,291,111,293,294,295,296,119,298,299,300,301,302,303,304,121,306,307,308,309,310,83,312,313,314,315,316,317,318,319,320,321,322,323,324,325,323,327,328,329,330,317,332,333,334,335,336,337,338,339,340,341,342,319,344,345,346,347,348,349,315,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,354,369,370,371,372,373,374,375,376,377,378,379,380,381,382,8,384,385,386,387,388,389,390,391,8,393,394,395,396,397,398,399,400,401,402,403,404,400,406,407,408,407,410,411,398,413,414,415,416,417,418,419,420,421,8,423,424,425,426,427,428,429,430,431,432,433,434,435,436,434,438,439,439,441,432,443,444,444,443,447,448,449,450,444,447,453,454,455,455,430,458,459,460,461,462,463,464,465,460,467,463,463,470,467,461,473,474,464,459,477,478,479,480,481,480,483,477,485,480,480,483,480,483,428,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,501,508,509,510,511,512,513,508,515,499,517,518,519,520,521,522,523,518,525,526,527,528,529,530,526,532,533,532,535,536,537,538,497,540,541,542,543,544,545,543,547,548,549,550,551,550,553,554,384,8,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,558,576,577,578,579,580,581,582,581,584,584,586,579,588,589,590,591,590,589,594,594,577,597,598,599,600,601,602,603,601,600,606,606,598,609,610,611,612,613,611,615,616,610,618,619,620,618,558,623,624,625,626,627,628,629,629,631,632,628,634,635,636,634,638,639,634,626,642,643,644,644,646,647,643,649,624,651,652,653,654,655,656,657,655,654,660,661,662,660,660,652,666,667,668,669,670,668,667,673,674,673,582,677,678,677,680,680,680,680,584,685,686,687,688,686,686,685,692,692,590,695,696,696,695,699,700,699,699,594,704,705,705,704,708,709,708,601,712,713,713,713,716,717,712,719,719,606,722,723,723,725,726,723,722,729,729,729,598,733,734,735,736,736,735,739,740,678,678,743,744,744,680,747,747,749,749,686,752,753,688,688,686,692,758,759,692,692,759,696,696,696,766,767,700,769,700,699,769,769,699,775,776,699,705,779,705,705,782,783,705,779,786,708,788,789,708,708,708,789,577,795,796,797,798,799,800,801,800,803,804,805,803,798,808,809,810,809,812,813,814,812,801,817,801,819,820,803,803,803,798,825,826,827,828,829,827,831,832,833,834,832,831,837,838,839,839,841,842,582,844,null,759,767,789,717,719,723,852,853,611,855,856,857,856,855,860,618,862,863,864,865,863,862,868,868,562,871,872,873,874,875,876,877,876,879,879,874,882,883,884,884,883,887,872,889,890,891,892,893,892,895,895,897,898,890,900,901,902,903,904,904,906,907,903,909,568,911,912,912,914,569,566,917,918,919,920,921,919,918,924,911,926,927,928,929,929,931,928,933,934,935,936,937,936,934,940,926,942,943,944,945,946,947,948,946,946,945,952,952,954,955,952,957,958,943,960,961,962,963,964,964,964,961,968,968,970,971,968,570,974,975,976,977,978,979,980,980,978,977,984,985,986,986,986,985,975,991,992,993,994,995,744,680,680,747,752,692,1002,759,759,767,767,696,769,699,700,769,782,783,786,789,789,788,708,713,1020,1021,717,719,1024,1025,1024,1024,725,853,729,1031,729,1033,1034,1031,1036,856,1038,1039,857,1039,856,860,1044,860,863,1047,1048,863,1047,862,1052,1053,1054,1055,1056,1054,1058,1059,1056,1054,1062,1063,1064,1065,1062,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1074,1078,1072,1080,1081,1082,1083,1084,1085,1086,1084,1088,1089,1083,1091,1002,713,723,729,1036,863,863,868,871,871,562,1103,1103,1105,1106,875,875,882,882,1111,1112,872,1114,1115,1116,1117,1118,1118,1117,1121,1122,1123,1124,1125,1126,1125,1125,1124,1130,1131,1132,1133,1134,1134,1134,927,927,1139,1140,1139,942,942,942,744,743,678,678,678,1150,749,680,1153,1154,1154,749,752,686,759,692,1002,692,692,579,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1173,1172,1177,1177,1170,1180,1181,1182,1182,1181,1185,1185,1168,1188,1189,1190,1191,1192,1192,1191,1195,1196,1197,1195,1189,1200,1201,1202,1202,1204,1205,1201,1207,1208,1209,1210,1209,1167,1167,1214,1215,4,1217,1150,1219,747,1154,749,1154,688,688,753,688,685,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1241,1240,1246,1247,1248,1246,1250,1246,1246,1238,1254,1255,1256,1255,1258,1259,1260,1258,1258,1236,1264,1265,1266,1267,1268,1268,1268,1271,1272,1268,1267,1275,1276,1277,1275,1275,1265,1281,1282,1283,1283,1285,1286,1282,1288,1288,1290,1291,1288,1234,1294,1295,1296,1297,1298,1299,1300,1301,1302,1301,1299,1305,1297,1307,1308,1309,1309,1298,1298,1297,1314,1315,1316,1317,1318,1319,1320,1318,1318,1317,1324,1324,1324,1327,1328,1298,1330,1331,1307,1333,1334,1307,1334,1298,1338,1339,1331,1318,1342,1343,1319,1327,1324,1347,1348,1296,1296,1351,749,753,766,786,709,1357,801,1359,1360,1361,1362,1363,1364,1364,1363,1367,1367,1369,1370,1361,1372,1373,1374,1374,1374,1377,1378,1373,1380,1380,1382,1383,1359,1385,1386,1387,1388,1389,1389,1391,1392,1389,1388,1395,1396,1397,1395,1396,1386,1401,1402,1403,1403,1402,1406,1406,1406,803,1410,1411,1412,1413,1414,1415,1415,1414,1418,1418,1418,1418,1422,1412,1424,1425,1426,1426,1426,1429,1430,1410,1432,1433,1434,1435,1436,1437,1438,1438,1437,1441,1435,1443,1444,1445,1446,1447,1446,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1457,1456,1461,1454,1463,1464,1465,1465,1467,1464,1469,1469,1471,1472,1452,1474,1475,1476,1476,1478,1479,1480,1481,1481,1483,1484,1481,1486,1487,1480,1489,1490,1491,1492,1493,1494,1495,1496,1497,1497,1496,1500,1500,1502,1503,1500,1494,1506,1507,1508,1492,1510,582,584,1513,584,799,808,1517,1518,1362,1520,1372,1372,1387,1401,1413,1413,1424,1528,1529,1410,1531,1532,1533,1533,1532,1536,810,1538,1539,1540,1541,1540,1543,1538,1545,1546,1547,1547,1546,1550,812,1552,1553,1554,1555,1555,1554,1558,1552,1560,1561,1562,1563,1564,1563,1561,1567,1567,877,1570,1571,1572,1573,1571,1570,1576,1577,1578,1578,1576,879,1582,1583,1584,1583,1586,1587,1583,1582,1590,1591,1590,1590,884,1595,1596,1597,1598,1598,1598,1595,1602,1603,1604,1602,1602,887,1608,1609,1609,1608,1612,1612,1612,1615,1616,893,1618,1619,1620,1621,1619,1619,1618,1625,1626,1627,1627,1625,892,1631,1632,1633,1634,1635,1636,1637,1636,1639,1634,1641,1642,1643,904,1645,1646,1647,1647,1649,1646,1645,1652,1653,1654,1655,1656,1656,1656],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,10,11,10,11,10,11,10,11,12,13,14,15,16,17,14,18,19,20,10,11,10,20,12,17,14,18,21,20,10,11,10,11,10,11,12,13,14,22,20,10,11,12,13,14,23,20,10,11,10,11,12,17,14,15,24,20,12,17,14,21,20,10,20,12,13,14,18,21,25,8,9,10,11,10,11,10,11,10,11,10,20,12,17,14,26,20,10,20,10,11,12,17,14,27,20,10,11,10,20,10,11,12,13,14,18,28,20,10,20,10,11,12,17,14,29,20,10,11,10,11,10,11,10,20,12,13,14,15,30,20,10,11,10,20,12,17,14,15,31,25,8,9,10,11,10,11,10,11,10,11,10,11,32,33,20,10,11,10,11,12,13,14,15,19,20,10,20,12,13,14,34,20,10,11,10,20,10,11,12,17,14,35,20,10,11,10,20,12,13,14,36,20,10,11,10,11,10,11,10,20,12,13,14,15,37,20,10,11,10,11,12,13,14,18,24,20,10,20,12,13,14,15,21,20,10,11,10,20,10,11,12,17,14,18,38,20,10,11,10,20,12,13,14,18,39,11,12,40,20,10,11,12,13,14,21,20,12,17,14,15,41,11,10,20,12,17,14,18,42,13,14,15,43,11,10,11,32,44,17,14,45,20,12,13,14,21,11,10,20,12,13,14,18,46,20,12,17,14,15,21,25,8,9,10,11,10,20,10,20,10,11,10,11,32,44,20,12,17,14,22,11,10,20,10,11,10,11,12,13,14,18,47,11,10,20,10,11,12,48,25,8,9,10,20,10,11,10,11,10,11,10,20,12,13,14,15,49,11,10,20,10,11,10,20,10,11,12,13,14,15,15,24,50,51,52,51,52,15,18,15,53,54,55,56,55,56,55,56,55,56,55,57,58,59,57,55,56,60,57,58,61,62,8,54,55,56,55,62,63,64,65,66,67,68,67,68,67,68,67,68,67,68,69,70,14,71,72,14,73,18,74,75,76,77,44,69,72,14,18,78,79,70,14,18,80,81,75,67,68,69,70,14,15,15,19,76,82,83,18,38,84,72,14,85,24,75,69,70,14,15,21,18,86,76,87,88,89,90,91,21,92,8,66,67,68,67,68,67,68,67,68,69,72,14,18,22,75,69,70,14,18,18,93,76,44,75,67,68,69,70,14,15,21,75,67,68,69,72,14,94,75,76,44,69,70,14,15,21,92,8,66,67,68,76,87,75,69,70,14,15,95,18,18,96,97,98,99,100,8,98,99,100,8,98,99,101,99,102,99,102,99,101,103,104,101,99,101,99,101,99,101,105,102,106,107,108,102,99,101,107,109,105,102,106,105,102,99,101,99,101,103,110,111,105,102,105,106,102,99,101,103,110,112,107,110,113,102,103,110,114,105,102,99,101,99,101,99,101,106,103,110,115,102,103,110,116,107,110,117,106,102,99,101,118,103,110,119,102,106,102,99,101,99,101,103,110,120,106,102,107,110,121,106,105,102,99,101,107,110,122,105,102,107,123,106,99,101,124,102,105,118,106,125,99,101,107,110,120,105,106,102,106,105,99,101,106,105,102,107,126,127,105,99,101,106,127,102,103,128,106,99,101,105,106,103,110,129,102,106,105,99,101,106,107,110,115,105,102,106,127,105,100,8,98,103,130,131,107,110,132,105,103,110,133,134,107,135,110,136,121,103,110,137,121,138,139,103,110,111,139,140,141,142,139,107,110,129,110,143,104,142,144,145,103,110,146,106,103,131,125,107,110,141,105,110,114,107,110,143,118,105,125,147,100,8,98,99,101,99,101,125,102,103,110,120,125,102,99,101,105,102,103,110,148,106,107,128,103,110,121,127,106,105,100,8,98,103,110,115,99,101,103,110,129,149,100,8,98,106,103,110,146,103,150,151,152,153,154,152,155,103,110,156,99,101,107,104,105,102,105,99,101,103,110,157,106,102,106,105,101,99,101,99,101,99,101,105,102,158,106,102,99,101,106,105,102,105,102,99,101,99,101,125,102,106,107,110,119,100,8,98,99,101,105,103,110,152,102,106,101,107,126,110,159,106,102,99,101,103,110,160,105,102,106,99,101,99,101,105,103,104,102,99,101,103,110,143,161,102,106,102,99,101,99,101,107,110,145,118,106,102,106,107,110,162,103,110,113,102,99,101,103,110,141,163,154,102,125,107,110,164,106,101,99,101,99,101,107,110,133,163,106,102,107,110,129,165,113,128,100,8,98,103,110,138,166,167,127,168,150,107,168,132,169,169,145,149,170,171,168,172,126,145,169,136,173,150,171,107,110,119,169,103,110,154,168,126,126,119,107,126,103,110,173,110,136,103,110,174,168,136,106,107,168,106,107,110,169,105,168,100,8,98,103,110,175,107,110,176,170,99,101,107,110,170,100,8,98,99,101,99,101,99,101,107,150,102,106,100,8,98,99,101,103,110,169,107,110,119,102,105,177,178,179,118,169,125,127,127,118,127,102,105,103,110,169,125,106,105,107,110,138,100,8,98,99,101,105,106,100,8,98,99,101,103,180,127,105,100,8,98,107,110,170,113,143,105,107,110,138,104,125,106,139,169,131,125,118,107,126,169,103,110,156,115,115,108,181,134,127,108,118,182,100,8,98,99,101,99,101,99,101,103,131,105,102,127,105,102,99,101,105,183,102,105,106,102,99,101,99,101,105,106,102,107,110,115,106,102,99,101,106,107,110,119,100,8,98,107,177,118,105,107,110,154,184,185,110,186,128,129,120,141,117,187,169,122,100,8,98,99,101,99,101,99,101,99,101,99,101,107,110,170,106,102,103,110,173,107,104,106,105,102,99,101,105,102,103,110,156,106,188,102,99,101,99,101,106,105,107,110,112,127,102,103,110,186,106,118,102,99,101,106,107,110,138,102,105,103,110,173,106,100,8,98,99,101,99,101,103,110,186,104,102,106,102,99,101,105,106,106,105,100,8,98,99,101,107,110,119,106,105,102,105,106,103,110,113,107,110,129,107,110,120,106,163,103,110,120,162,103,110,172,180,128,107,110,129,183,103,189,163,129,180,120,110,146,99,101,99,101,99,101,106,105,102,106,107,110,169,102,99,101,140,105,107,110,138,102,105,107,110,111,102,99,101,99,101,106,107,110,119,105,102,103,110,119,105,180,102,99,101,118,106,102,125,127,105,99,101,99,101,99,101,106,105,102,106,105,125,107,128,102,99,101,155,105,103,110,143,100,8,98,99,101,99,101,106,105,102,106,100,8,98,99,101,105,100,8,98,99,101,99,101,99,101,107,130,105,102,105,102,99,101,106,103,135,102,105,107,110,154,100,8,98,106,99,101,99,101,105,107,110,119,103,110,153,100,8,98,99,101,99,101,99,101,105,106,102,127,103,110,144,106,100,8,98,106,100,190,191,103,130,118,105,107,110,154,107,168,106,125,106,105,105,106,107,110,173,102,99,101,106,105,102,127,99,101,99,101,118,102,106,102,99,101,105,118,102,105,99,101,99,101,106,105,102,105,102,99,101,103,110,152,177,102,106,105,99,101,107,110,192,193,102,103,110,120,144,105,99,101,107,128,103,110,129,105,102,103,135,142,105,99,101,103,110,194,136,121,102,103,110,119,105,106,99,101,106,127,102,155,106,103,110,145,99,101,103,110,143,105,106,102,107,110,160,117,106,100,8,98,99,101,99,101,106,102,105,102,99,101,106,99,101,107,130,110,113,106,100,8,98,107,110,111,141,195],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x2618c","0x26706","0x11e88d","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1e9c","0x1edef0","0x1eeae6","0x1ee02e","0x1f1c7f","0x1eeb02","0x1ee015","0x1f37e8","0x1edfb4","0x1edfd9","0x1ee8e5","0x1edfb7","0x1f3684","0x1ee5ef","0x1eea1f","0x1ee477","0x1ee479","0x1ee7f3","0x1ee979","0x1f257e","0x177d8c","0x1ee77a","0x1ee80d","0x1ee5d6","0x1ee323","0x1edfb0","0x1ee024","0x1f1b8b","0x1ee010","0x1ee4ac","0x1ee4a4","0x177d91","0x1ee807","0x1ee73f","0x1edfd5","0x1f1e6f","0x1ee8f4","0x1ef2d8","0x1eebf0","0x1eee79","0x1ee7bc","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177d98","0x1eb357","0x177e3f","0x1ec510","0x25f87","0x347d18","0x347ed4","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee453","0x1edb10","0x1ee1d7","0x1edff5","0x34fd2","0x59940","0x177e6b","0x1ee01a","0x177d95","0x1ee22b","0x1ee500","0x177dbf","0x1eeae2","0x177da2","0x1ee340","0x1ee7c9","0x177e44","0x1ee46e","0x1ee490","0x1ee5e9","0x1eea36","0x34ed4","0x1ee02b","0x1ee8f0","0x1eebf9","0x1edfde","0x1ee859","0x247051","0x246666","0x246a77","0x246a05","0x246b93","0x246363","libm.so.6","0x37ef8","0x2463ab","0x246396","0x24637c","0x37f0b","0x37f21","0x37f02","0x76532","0x764b3","0x764d5","0x70aba","0x7648e","0x764fd","0x76622","0x2463bb","0x76514","0x709c0","0x709ce","0x709c7","0x37f33","0x246330","0x246338","0x37ef0","0x2463af","0x37f03","0x70ab8","0x37f1d","0x37f27","0xe380","0x7654d","0x764db","0x37efe","0x764eb","0x7651f","0x7652b","0x246386","0x24634b","0x764f4","0x246392","0x7662f","0x764a3","0x7651d","0x76482","0x764d8","0x70aa4","0x24639f","0x37f13","0xffffffffba601199","0x76506","0x764bb","0x764c0","0x246354","0x7647e","0x7650f","0x24638a","0x70ac0","0x764ac","0x37f58","0x7654a","0x7649f","0x765ba","0x76625","0x764c4","0x246376","0x37f31","0x76488","0x764e4","0x24633e","0x70ab0","0x76518","0x76637","0x76540","0x76538","0x37f2f","0x24637a","0x2463c2","0x37f25","0x246347","0x24636d","0x2463a7","0x26141","0x108c9b","0x76521","0x76618","0x246364","0x37f51","0x25f3e","0x2463bf","0x70aa8","0x2463b3","0x7653e","0x764cc"],"tid":"700695","unregisterTime":116622126.552591},{"frameTable":{"length":212,"address":[1206351,608962,4045208,3811533,1174055,4045226,3445825,3446298,3442150,681464,673968,3446491,156499,2047333,2042824,2045333,2041225,2038911,2023152,2026214,2023401,2045928,2026242,2023355,2039452,2023358,2038817,2023456,2038663,2043024,2044292,158863,3493043,677985,674762,1706698,2023974,2026130,2023700,2024548,2023344,2025605,2025094,2025811,2024567,2025502,2041214,1539473,2025044,2023467,2023895,1539480,2023900,2045572,1539656,2024709,1539633,2026091,2023390,2023348,2026038,2024900,-1,2025266,2024909,2018025,2013424,2016405,2016768,2011421,1539516,2016528,1539477,2011477,1418669,368184,216630,366929,2022359,217042,2026488,2023387,366912,2024600,2022160,2023430,2026189,2026489,1539506,2026253,2023413,2023367,216788,2023897,2025259,2025584,2024441,112453,2024767,2024230,2025256,2025103,2023385,1539642,2023448,2024610,155674,3439771,156486,157666,3439601,165813,1173645,2388049,2385510,2386437,2384811,2384790,2386835,2384764,229139,2384823,2384696,2384815,2384739,229112,229122,484583,2384807,229167,229131,2386551,484628,461248,229175,484623,484596,484511,229157,484524,461262,229153,484658,2384834,484664,2384827,461488,484565,484637,484651,2384762,2384778,229169,484587,484605,484911,484544,2384799,58240,229104,2384786,2384728,461255,461496,229159,484580,2384774,484632,484646,484478,461270,484720,484539,2384749,484919,461328,229208,-1,-1,484571,484614,484792,484515,484531,2384688,2384724,2384740,2384702,484497,229149,229171,484482,461504,484488,484898,484714,484672,156044,157446,155454,155969,1084571,229123,229184,484705,461264,484682,461498,229118,2384831,2384715,484610],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":212,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,2,1,1,1,1,2,2,2,1,2,2,1,2,2,2,2,2,2,2,2,2,2,2,1,2,1,2,2,2,2,1,1,2,2,2,2,2,1,2,2,1,1,2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,-1,-1,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,1,1,1,1,0,2,2,2,2,2,2,2,1,1,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700696>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.244855,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,122],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":734,"stack":[4,4,4,4,4,10,28,34,42,43,49,50,57,67,70,71,76,80,81,82,83,91,95,96,98,99,106,109,111,112,113,128,136,139,149,157,170,177,186,187,207,218,227,245,258,267,286,302,316,323,333,339,346,346,351,359,367,371,376,387,394,396,403,412,413,419,428,432,439,452,454,460,469,470,478,481,486,488,495,503,506,508,513,513,513,513,513,525,526,531,533,539,541,541,545,546,547,549,549,549,557,559,560,564,565,566,570,571,573,575,577,575,591,592,595,598,599,605,608,609,611,611,617,619,622,624,627,632,633,636,638,640,650,651,655,656,657,663,664,666,667,670,676,677,685,688,689,695,696,697,698,526,701,702,706,707,708,709,710,711,711,711,713,716,717,717,717,717,719,720,723,720,724,727,730,541,731,732,547,733,547,736,739,740,549,743,744,745,747,748,749,750,751,752,753,754,756,754,757,759,760,762,763,770,772,773,775,775,777,778,781,782,792,793,797,798,798,804,805,809,810,810,811,814,816,817,819,732,547,547,820,821,560,565,754,754,822,823,773,773,777,829,830,832,833,847,850,851,852,853,857,858,859,861,863,866,863,874,875,876,877,881,882,882,888,889,890,894,895,896,895,904,905,908,909,911,914,911,918,919,922,924,924,927,924,933,936,939,940,944,950,951,953,810,954,711,955,717,956,732,547,547,549,557,566,957,958,575,959,960,782,777,961,962,965,966,969,970,973,976,977,977,983,986,989,993,996,998,999,1000,1001,999,1002,1002,1004,1011,1023,1024,1030,1033,1034,1042,1044,1044,1048,1050,1051,1059,1061,1062,1066,1072,1075,1076,1090,1091,1095,1096,1102,1103,1107,1108,1115,1117,1120,1121,810,1123,1124,1127,1128,1129,1130,1131,1132,1132,1133,1134,1137,1145,1146,1150,1151,1155,1156,1158,1159,1165,1166,1168,1169,1173,1177,1180,1181,1182,1183,1184,1185,1186,1189,1190,1193,1184,1184,1196,1199,1200,1201,1202,1205,1206,1207,1208,1211,1214,1208,1215,954,954,1217,1219,1221,1222,1223,1223,1224,1224,1227,1232,1234,1235,1236,1237,1238,1208,1239,1236,1240,1241,1244,1245,1246,811,1247,1248,1249,1250,1251,1252,1253,541,732,1254,547,547,1255,1256,1257,549,743,560,1258,1261,1262,1264,566,571,754,1266,1267,1269,1270,1271,599,1272,1273,1274,1275,633,1276,1288,1291,1295,1296,1300,1301,1304,1306,1314,1316,1319,1325,1326,1328,1331,1343,1347,1353,1356,1357,1363,1367,1373,1375,1381,1384,1387,1387,1387,1387,1387,1388,1390,526,1391,1391,1394,525,526,1395,708,1396,709,706,709,706,1397,811,1247,811,531,1398,1400,711,1401,1249,1402,1403,1404,1405,1249,1406,1407,817,723,1408,1409,720,1410,724,817,1411,1412,732,541,541,1413,1414,1415,547,1416,546,1419,1420,1421,546,547,736,1431,1433,1435,1439,1442,1444,1456,1457,1459,1461,1465,1466,1469,1471,1477,1480,1482,1482,1489,1492,1495,1499,1500,1506,1509,1513,1514,1522,1523,1527,526,708,708,1528,708,1401,711,711,1529,1530,811,1249,717,1249,717,1531,1532,1405,717,817,720,720,720,720,720,720,1533,1534,541,1535,541,1536,541,541,547,1537,546,1538,1539,1540,547,1541,549,744,1542,1543,744,549,1548,1549,1553,1554,1558,1560,1560,1561,1571,1571,1576,1577,1581,1582,1587,1589,1592,1598,1601,1602,708,708,1603,1604,711,1249,1605,1606,1607,817,720,541,732,732,1608,546,547,1609,744,549,1616,1617,1621,1623,1623,1631,1633,1634,1638,1640,1642,1651,1653,1654,1658,1660,1661,1667,1669,1672,1678,1680,1682,1683,1685,1686,1687,1571,1689,1690,1693,1697,1700,1704,1705,1706,1711,1712,1714,1717,1718,1719,1722,1719,1726,1727,1728],"time":[116621305.756975,116621305.761222,116621305.763601,116621305.765888,116621305.768475,116621305.799416,116621307.317317,116621312.946003,116621316.220247,116621318.62465,116621320.88938,116621322.866257,116621324.610755,116621326.097978,116621327.411236,116621328.638304,116621329.80461,116621330.926925,116621332.016497,116621333.06172,116621334.124387,116621335.158145,116621336.188211,116621337.192984,116621338.162874,116621339.135806,116621340.121662,116621341.115601,116621342.105764,116621343.098389,116621344.089689,116621345.071257,116621346.039031,116621347.012529,116621347.990851,116621348.967822,116621349.976293,116621350.968166,116621351.98489,116621353.021246,116621354.039598,116621355.048986,116621356.053672,116621357.057291,116621369.32006,116621371.900262,116621374.139545,116621375.92539,116621378.130814,116621379.739865,116621381.347853,116621382.863707,116621384.157511,116621385.428338,116621386.60988,116621387.709642,116621388.778133,116621389.827264,116621390.863005,116621391.889124,116621392.950929,116621394.005335,116621395.461891,116621396.619392,116621397.665889,116621398.690385,116621399.706959,116621400.71827,116621401.726456,116621402.695059,116621403.662104,116621406.127903,116621407.445847,116621408.326982,116621409.170261,116621410.043894,116621410.950694,116621411.87355,116621412.81577,116621413.790372,116621414.760603,116621416.967864,116621420.284745,116621420.288873,116621420.291922,116621420.294673,116621420.297719,116621420.325951,116621421.212565,116621425.145297,116621428.206491,116621431.002838,116621433.41946,116621435.369867,116621437.097611,116621438.57425,116621439.914637,116621441.129111,116621442.276524,116621443.358871,116621444.415768,116621445.456934,116621446.487206,116621447.509403,116621448.525015,116621449.517132,116621450.483495,116621451.455455,116621452.434065,116621453.417974,116621454.405644,116621455.447638,116621456.440961,116621457.54959,116621458.64625,116621459.717751,116621460.769796,116621461.780062,116621462.766928,116621463.75353,116621464.743198,116621465.744133,116621466.776581,116621467.810628,116621468.836891,116621469.862248,116621470.876501,116621471.885513,116621472.891813,116621473.89315,116621474.857909,116621475.823843,116621476.799175,116621477.782381,116621478.796308,116621479.824137,116621480.851832,116621481.869195,116621482.880774,116621483.88882,116621484.903422,116621485.951241,116621487.005309,116621487.999339,116621488.978788,116621489.960106,116621490.961946,116621491.951748,116621492.940466,116621493.931688,116621498.761064,116621499.496704,116621500.237253,116621501.110031,116621501.968168,116621502.833205,116621503.804875,116621504.843212,116621505.96835,116621507.055314,116621508.228745,116621509.569916,116621510.835721,116621511.98829,116621513.096097,116621514.14484,116621515.157344,116621516.127477,116621517.152709,116621518.418046,116621519.287706,116621520.144129,116621521.012583,116621521.913141,116621522.83073,116621523.769265,116621524.729062,116621525.696951,116621526.715959,116621527.696643,116621528.674018,116621529.65628,116621530.615745,116621531.576344,116621532.562288,116621533.5719,116621534.581963,116621535.58976,116621536.627809,116621537.628473,116621538.608226,116621539.605803,116621540.607208,116621541.608253,116621542.627567,116621543.626068,116621544.622551,116621545.619598,116621546.621948,116621547.620024,116621548.628838,116621549.625513,116621550.794662,116621551.834957,116621552.881341,116621553.871859,116621554.81833,116621555.844321,116621556.806027,116621557.733009,116621558.667543,116621559.645287,116621560.864875,116621561.902434,116621562.849948,116621563.768066,116621564.699023,116621565.671046,116621566.817699,116621567.766899,116621572.132913,116621573.062452,116621574.046645,116621575.032575,116621576.007705,116621577.005766,116621578.006458,116621579.007179,116621580.039427,116621581.094525,116621582.202645,116621583.32647,116621584.438536,116621585.523206,116621586.585886,116621587.631156,116621588.664089,116621589.687868,116621590.705188,116621591.717602,116621592.7506,116621593.803003,116621594.816543,116621595.803797,116621596.790189,116621597.779896,116621598.772376,116621599.766824,116621600.763034,116621601.760304,116621602.758067,116621603.756367,116621604.755304,116621605.749178,116621606.707301,116621607.633504,116621608.566276,116621609.515356,116621610.478361,116621611.451633,116621612.43175,116621613.43459,116621614.465513,116621615.492194,116621616.512179,116621617.526727,116621618.53739,116621619.544995,116621620.550958,116621621.53921,116621622.502846,116621623.472249,116621624.447915,116621625.430751,116621626.418843,116621627.40984,116621628.402326,116621629.408957,116621630.446265,116621631.478852,116621632.503286,116621633.521032,116621634.534253,116621635.543658,116621636.575078,116621637.577546,116621638.609635,116621639.606054,116621640.597827,116621641.591364,116621642.585883,116621643.581438,116621644.553566,116621649.101042,116621649.874907,116621650.643026,116621651.43979,116621652.286075,116621653.196282,116621654.146411,116621655.105433,116621656.049934,116621657.114437,116621658.397075,116621659.740842,116621660.991334,116621662.174764,116621663.292713,116621664.37699,116621665.438341,116621666.482829,116621667.515257,116621668.538664,116621669.555845,116621670.568345,116621671.558431,116621672.50311,116621673.42694,116621674.365481,116621675.320114,116621676.28732,116621677.263658,116621678.246781,116621679.234385,116621680.225263,116621681.218382,116621682.213518,116621683.21024,116621684.182952,116621685.127546,116621686.058438,116621687.003631,116621687.972784,116621688.980447,116621689.992462,116621691.001522,116621692.007799,116621693.012334,116621694.037454,116621695.080717,116621696.11585,116621697.141847,116621698.160905,116621699.174683,116621700.184561,116621701.187421,116621702.150602,116621703.117636,116621704.093121,116621705.063162,116621706.011776,116621706.970167,116621707.935054,116621708.920158,116621709.912578,116621710.901038,116621711.926992,116621712.955212,116621713.959032,116621714.934356,116621715.90932,116621716.891103,116621717.878023,116621718.86779,116621719.860075,116621723.690507,116621724.648057,116621725.620127,116621726.570917,116621727.528058,116621728.509767,116621729.524304,116621730.595749,116621731.643656,116621732.702435,116621733.769645,116621734.822272,116621735.86104,116621736.889225,116621737.909746,116621738.924495,116621739.974694,116621741.026579,116621742.06185,116621743.087219,116621744.10541,116621745.118643,116621746.128811,116621747.135875,116621748.140956,116621749.144528,116621750.14698,116621751.918183,116621752.92136,116621753.8074,116621754.694944,116621755.594318,116621756.516848,116621757.460169,116621758.405491,116621759.335646,116621760.296946,116621761.254962,116621762.221797,116621763.197279,116621764.178887,116621765.165601,116621766.155904,116621767.148989,116621768.144217,116621769.140508,116621770.137696,116621771.13606,116621772.134644,116621773.133463,116621774.132603,116621775.131974,116621776.116354,116621777.078441,116621778.046178,116621779.024185,116621780.007214,116621780.993605,116621781.983093,116621782.975942,116621783.969552,116621784.964469,116621785.960541,116621786.957786,116621787.955663,116621788.954028,116621789.952841,116621790.95204,116621791.951394,116621792.950985,116621793.9504,116621794.950327,116621795.939085,116621799.815329,116621800.725539,116621801.57966,116621802.457067,116621803.366578,116621804.292417,116621805.222101,116621807.293305,116621808.602171,116621809.928348,116621811.269788,116621812.466585,116621813.605996,116621814.707194,116621815.826739,116621816.871024,116621817.996896,116621818.955205,116621819.856808,116621820.763456,116621821.663039,116621822.582412,116621823.522883,116621824.525503,116621825.491406,116621826.458605,116621827.433474,116621828.415408,116621829.438218,116621830.524636,116621831.510082,116621832.475982,116621833.514659,116621834.519845,116621835.520073,116621836.519812,116621837.534388,116621838.510019,116621839.475587,116621840.447998,116621841.42767,116621842.412738,116621843.429439,116621844.418126,116621845.406973,116621846.397961,116621847.391263,116621848.366763,116621849.359554,116621850.448378,116621851.469558,116621852.426802,116621854.499278,116621855.479241,116621856.461638,116621857.448589,116621858.438872,116621859.443798,116621860.517198,116621861.535804,116621862.544056,116621863.53773,116621864.543196,116621865.548779,116621866.528466,116621867.500136,116621868.516195,116621869.494291,116621870.577555,116621873.49073,116621873.496418,116621873.499315,116621873.502166,116621873.505082,116621873.525173,116621877.017245,116621878.56054,116621879.366474,116621880.174348,116621880.998563,116621881.832919,116621882.860514,116621884.428577,116621885.77909,116621886.639676,116621887.518096,116621888.415409,116621889.3962,116621890.593807,116621891.887625,116621893.139256,116621894.300949,116621895.441843,116621896.523382,116621897.580073,116621898.621026,116621899.650679,116621900.672334,116621901.740288,116621902.778596,116621903.773218,116621904.761762,116621905.719279,116621906.679918,116621907.650142,116621908.636076,116621909.605438,116621910.559994,116621911.512102,116621912.486379,116621913.435467,116621914.39316,116621915.361445,116621916.33819,116621917.321308,116621918.309427,116621919.300422,116621920.293891,116621921.309228,116621922.303414,116621923.296431,116621924.291162,116621925.287369,116621926.316633,116621927.311266,116621928.336198,116621929.400782,116621930.379357,116621931.375002,116621932.386771,116621933.397418,116621934.405241,116621935.411352,116621936.415676,116621937.448619,116621938.447216,116621939.41361,116621940.379286,116621941.353114,116621942.33409,116621943.316264,116621944.291758,116621945.28741,116621946.288519,116621947.258629,116621948.229693,116621949.20707,116621950.190347,116621951.200447,116621952.189148,116621953.178024,116621954.169532,116621955.212026,116621956.201496,116621957.187825,116621958.190084,116621959.235212,116621960.252396,116621961.262708,116621962.269956,116621963.300569,116621971.395779,116621973.631679,116621975.625162,116621977.386605,116621978.914192,116621980.334939,116621981.610874,116621982.811136,116621983.957931,116621985.143211,116621986.320434,116621987.484142,116621988.608227,116621989.699501,116621990.766158,116621991.814932,116621992.850475,116621993.883496,116621994.950706,116621996.010527,116621997.013025,116621997.998812,116621998.984186,116621999.973344,116622000.964659,116622001.92183,116622002.874114,116622003.836548,116622004.808885,116622005.788824,116622006.773985,116622007.763281,116622008.755709,116622009.840685,116622010.837252,116622011.814412,116622012.7943,116622013.779,116622014.767948,116622015.759863,116622016.754046,116622017.749747,116622018.746685,116622019.770342,116622020.768967,116622021.761794,116622022.755759,116622023.718727,116622024.714718,116622025.720025,116622026.686825,116622027.649939,116622028.6217,116622029.600928,116622030.604757,116622031.674578,116622032.705864,116622033.840789,116622034.913626,116622035.959995,116622036.992733,116622038.028738,116622039.042992,116622040.051333,116622041.051702,116622042.016229,116622042.984996,116622047.762074,116622048.63786,116622049.539945,116622050.468109,116622051.415972,116622052.42665,116622053.459191,116622054.511016,116622055.61506,116622056.739515,116622057.875891,116622059.033326,116622060.134453,116622061.2066,116622062.258958,116622063.296997,116622064.324645,116622065.345157,116622066.359876,116622067.370467,116622068.378206,116622069.383637,116622070.376088,116622071.335639,116622072.30037,116622073.273887,116622074.289137,116622075.271111,116622076.253328,116622077.239762,116622078.235048,116622079.273092,116622080.287941,116622081.270178,116622082.253361,116622083.240405,116622084.230861,116622085.223786,116622086.218756,116622087.215378,116622088.212725,116622089.210648,116622090.193223,116622091.193522,116622092.175213,116622093.13718,116622094.105809,116622095.115965,116622096.109747,116622097.111211,116622098.124232,116622099.147791,116622100.164414,116622101.17624,116622102.193658,116622103.198824,116622104.201192,116622105.203034,116622106.204435,116622107.205298,116622108.205614,116622109.177624,116622110.138735,116622111.10726,116622112.084256,116622113.067919,116622114.049459,116622114.997838],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[105,4,2,2,2,30,1446,5628,3267,2398,2264,1970,1744,1487,1313,1227,1166,1122,1089,1045,1042,1033,1020,1004,969,972,979,985,990,992,991,973,967,973,978,976,980,985,1016,1022,1011,1009,1004,1003,7820,2580,2239,1785,1726,1609,1607,1402,1293,1212,1155,1099,1068,1049,1035,1026,1047,1054,1032,1028,1046,1024,1016,1011,1008,968,967,975,925,881,843,873,906,922,942,957,970,966,637,4,3,2,3,28,886,3932,3061,2796,2416,1950,1727,1476,1340,1214,1147,1082,1056,1041,1030,1022,1015,992,966,971,978,983,987,990,993,1108,1096,1071,1052,1010,986,986,989,1000,1032,1034,1026,1018,1014,1009,1006,1001,964,965,975,983,1013,1027,1022,1017,1011,1008,1014,1047,1043,994,979,981,984,989,988,991,1668,735,740,785,840,865,907,1038,1080,1086,1173,1201,1229,1152,1107,1048,998,970,964,925,869,856,868,900,917,938,955,967,1019,980,977,982,959,960,985,1009,1010,1007,1038,1000,979,997,1001,1001,1019,998,996,997,997,998,1008,996,995,975,995,952,946,949,961,926,934,977,1025,993,947,918,930,962,960,945,1674,929,984,985,975,998,1000,1000,1032,1055,1108,1123,1112,1084,1062,1045,1032,1023,1017,1012,1032,1052,1013,987,986,989,992,994,996,997,997,998,998,993,958,926,932,949,963,973,980,1002,1030,1026,1019,1014,1010,1007,1005,988,963,969,975,982,988,990,992,1006,1037,1032,1024,1017,1013,1009,1031,1002,1032,996,991,993,994,995,972,934,773,768,796,846,910,950,959,944,1064,1282,1343,1250,1183,1117,1084,1061,1044,1032,1023,1017,1012,990,944,923,938,954,967,976,983,987,990,993,995,996,972,944,930,945,969,1007,1012,1009,1006,1004,1025,1043,1035,1025,1019,1013,1009,1002,963,967,975,970,948,958,964,985,992,988,1025,1028,1003,975,974,981,986,989,992,987,957,972,950,957,981,1014,1071,1047,1058,1067,1052,1038,1028,1020,1014,1050,1051,1035,1025,1018,1013,1010,1007,1005,1003,1002,1001,1003,856,874,899,922,943,945,930,961,958,966,975,981,986,990,993,995,996,997,998,998,998,999,999,984,962,967,978,983,986,989,992,993,994,996,997,997,998,998,999,999,999,999,999,988,562,910,854,877,909,925,929,958,1308,1326,1341,1196,1139,1101,1119,1044,992,958,901,906,899,919,940,1002,965,967,974,981,1022,985,985,965,1038,1005,1000,999,1014,975,965,972,979,985,1016,988,988,990,993,975,992,982,1021,957,974,979,982,986,990,1004,1073,1018,1008,993,1005,1005,979,971,1016,978,979,686,5,2,2,2,20,545,287,805,807,824,834,1027,1545,933,855,873,897,980,1197,1293,1246,1161,1140,1081,1056,1040,1029,1021,1045,1018,994,988,957,960,970,985,969,954,952,974,949,957,968,976,983,988,990,993,1015,994,993,994,996,1029,994,991,993,978,995,1011,1010,1007,1006,1004,1032,998,966,965,973,980,982,975,995,1001,970,971,977,983,1010,988,988,991,1042,989,986,1002,1045,1017,1010,1007,1030,4660,2235,1993,1761,1527,1420,1275,1200,1146,1185,1177,1163,1124,1091,1066,1048,1035,1033,1067,1059,1002,985,985,989,991,957,952,962,972,979,985,989,992,992,996,977,979,984,988,991,994,995,996,997,998,992,993,962,995,1005,966,963,971,979,1003,1031,1031,1134,1072,1046,1032,1023,1014,1008,1000,964,968,909,875,902,928,947,968,1032,1051,1104,1124,1136,1146,1101,1072,1052,1038,1027,1020,1014,1010,1007,1005,992,959,964,973,980,981,982,986,995,1038,1007,982,983,987,990,992,994,996,997,997,982,1000,981,961,968,976,993,1001,994,1023,1016,1011,1008,1005,1002,1001,1001,1000,1000,972,961,968,976,983,981,948]},"stackTable":{"length":1729,"prefix":[null,0,1,2,3,1,5,6,7,8,9,6,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,22,29,30,31,32,33,20,35,36,37,38,39,40,41,38,36,44,45,46,47,48,45,19,51,52,53,54,55,56,18,58,59,60,61,62,63,64,65,66,63,68,69,69,61,72,73,74,75,73,77,78,79,78,75,75,59,84,85,86,87,88,89,90,87,92,93,94,89,86,97,93,85,100,101,102,103,104,105,101,107,108,100,110,103,103,16,114,115,116,117,118,119,120,121,122,123,124,125,126,127,123,129,130,131,132,133,134,135,130,137,138,121,140,141,142,143,144,145,146,147,148,141,150,151,152,153,154,155,156,119,158,159,160,161,162,163,164,165,166,167,168,169,161,171,172,173,174,175,176,159,178,179,180,181,182,183,184,185,null,179,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,195,208,209,210,211,212,213,214,215,216,217,209,219,220,221,222,223,224,225,226,117,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,12,246,247,248,249,250,251,252,253,254,255,256,257,249,259,260,261,262,263,264,265,266,247,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,271,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,12,303,304,305,306,307,308,309,310,311,312,313,314,315,310,317,318,319,320,321,322,308,324,325,326,327,328,329,330,331,332,327,334,335,336,337,338,306,340,341,342,343,344,345,343,347,348,349,350,341,352,353,354,355,356,357,358,353,360,361,362,363,364,365,366,363,368,369,370,361,372,373,374,375,304,377,378,379,380,381,382,383,384,385,386,382,388,389,390,391,392,393,388,395,380,397,398,399,400,401,402,398,404,405,406,407,408,409,410,411,409,405,414,415,416,417,418,378,420,421,422,423,424,425,426,427,425,429,430,431,423,433,434,435,436,437,438,434,440,441,442,443,444,445,446,447,448,449,450,451,449,453,445,455,456,457,458,459,443,461,462,463,464,465,466,467,468,468,464,471,472,473,474,475,476,477,474,479,480,463,482,483,484,485,463,487,465,489,490,491,492,493,494,489,496,497,498,499,500,501,502,499,504,505,11,507,11,509,510,511,512,12,514,515,516,517,518,519,520,521,522,523,524,524,521,527,528,529,530,528,532,519,534,535,536,537,538,537,540,535,542,543,544,544,544,543,548,517,550,551,552,553,554,555,556,556,558,556,555,561,562,563,561,561,553,567,568,569,569,569,572,568,574,574,576,551,578,579,580,581,582,583,584,585,586,587,588,589,590,588,588,593,594,587,596,597,596,585,600,601,602,603,604,602,606,607,607,601,610,583,612,613,614,615,616,616,618,616,620,621,615,623,623,625,626,613,628,629,630,631,630,630,634,635,629,637,637,639,581,641,642,643,644,645,646,647,648,649,647,646,652,653,654,652,652,644,658,659,660,661,662,660,659,665,665,665,668,669,642,671,672,673,674,675,675,674,678,679,680,681,682,683,684,684,686,687,687,683,690,691,692,693,694,694,692,524,524,699,700,699,523,703,704,705,705,703,703,529,529,532,712,532,714,715,532,538,718,538,538,721,722,718,540,725,726,540,728,729,725,540,544,544,734,735,548,737,738,737,548,741,742,548,556,558,746,746,561,563,563,562,562,569,569,755,755,576,758,574,574,761,758,551,764,765,766,767,768,769,768,771,768,769,774,767,776,776,776,779,780,776,765,783,784,785,786,787,788,789,790,791,789,788,794,795,796,794,786,799,800,801,802,803,802,800,806,807,808,522,529,529,812,813,712,815,538,718,818,742,556,761,758,765,824,825,826,827,828,826,825,831,831,515,834,835,836,837,838,839,840,841,842,843,844,845,846,845,848,849,848,848,848,843,854,855,856,856,856,856,860,855,862,862,864,865,841,867,868,869,870,871,872,873,871,873,871,870,878,879,880,878,868,883,884,885,886,887,887,885,884,891,892,893,891,891,839,897,898,899,900,901,902,903,903,903,906,907,907,902,910,910,912,913,900,915,916,917,917,917,920,921,916,923,923,925,926,898,928,929,930,931,932,932,934,935,932,937,938,932,931,941,942,943,943,945,946,947,948,949,948,949,952,522,712,818,561,572,576,768,826,826,831,963,964,842,842,967,968,867,867,971,972,899,974,975,928,837,978,979,980,981,982,982,984,985,981,987,988,979,990,991,992,992,994,995,991,997,840,840,840,897,897,1003,null,1005,1006,1007,1008,1009,1010,837,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1022,1019,1025,1026,1027,1028,1029,1026,1031,1032,1031,1017,1035,1036,1037,1038,1039,1040,1041,1038,1043,1036,1045,1046,1047,1046,1049,1049,1015,1052,1053,1054,1055,1056,1057,1058,1057,1060,1060,1055,1063,1064,1065,1064,1067,1068,1069,1070,1071,1069,1073,1074,1074,1053,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1087,1086,1092,1093,1094,1092,1084,1097,1098,1099,1100,1101,1099,1098,1104,1105,1106,1104,1082,1109,1110,1111,1112,1113,1114,1112,1116,1116,1118,1119,522,527,1122,527,536,1125,1126,536,542,554,554,567,766,766,824,1135,1136,515,1138,1139,1140,1141,1142,1143,1144,1144,1143,1147,1148,1149,1147,1141,1152,1153,1154,1154,1153,1157,1157,1139,1160,1161,1162,1163,1164,1164,1163,1167,1167,1161,1170,1171,1172,1171,1174,1175,1176,1174,1178,1179,518,518,550,550,1140,1140,1160,1187,1188,1160,518,1191,1192,1140,1194,1195,1160,1197,1198,1160,1192,518,550,1203,1204,1204,1204,836,836,1209,1210,836,1212,1213,836,522,1216,527,1218,1122,1220,527,536,542,542,1225,1226,517,1228,1229,1230,1231,1231,1233,1230,1212,1213,1209,1213,700,700,703,1242,1243,1243,1243,813,815,532,815,818,818,818,726,735,738,741,556,556,1259,1260,563,561,1263,755,1265,758,761,1268,758,594,602,610,616,626,637,581,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1287,1289,1290,1286,1292,1293,1294,1294,1284,1297,1298,1299,1299,1298,1302,1303,1302,1305,1282,1307,1308,1309,1310,1311,1312,1313,1310,1315,1315,1317,1318,1308,1320,1321,1322,1323,1324,1322,1321,1327,1327,1329,1330,1280,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1339,1344,1345,1346,1337,1348,1349,1350,1351,1352,1349,1354,1355,1354,1335,1358,1359,1360,1361,1362,1361,1364,1365,1366,1359,1368,1369,1370,1371,1372,1372,1374,1371,1376,1377,1378,1379,1380,1378,1382,1383,11,1385,1386,11,11,1389,524,524,1392,1393,700,704,705,812,530,1399,812,532,714,815,714,815,712,722,818,818,728,729,725,728,729,735,544,1417,1418,735,1418,543,1422,1423,1424,1425,1426,1427,1428,1429,1430,1429,1432,1432,1434,1427,1436,1437,1438,1437,1440,1441,1440,1443,1425,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1455,1454,1458,1458,1460,1452,1462,1463,1464,1464,1463,1467,1468,1468,1470,1450,1472,1473,1474,1475,1476,1476,1478,1479,1475,1481,1476,1483,1484,1485,1486,1487,1488,1488,1490,1491,1488,1493,1494,1487,1496,1497,1498,1496,1485,1501,1502,1503,1504,1505,1503,1507,1508,1502,1510,1511,1512,1512,1483,1515,1516,1517,1518,1519,1520,1521,1521,1520,1524,1525,1526,1243,813,529,532,815,538,729,726,728,734,735,544,735,742,738,548,1230,1544,1545,1546,1547,1547,1546,1550,1551,1552,1550,1544,1555,1556,1557,1556,1559,1545,1544,1562,1563,1564,1565,1566,1567,1568,1569,1570,1569,1572,1573,1574,1575,1574,1567,1578,1579,1580,1580,1580,1583,1584,1585,1586,1586,1588,1586,1590,1591,1585,1593,1594,1595,1596,1597,1595,1599,1600,700,703,812,532,532,722,1417,548,1547,1610,1611,1612,1613,1614,1615,1613,1612,1618,1619,1620,1619,1622,1610,1624,1625,1626,1627,1628,1629,1630,1627,1632,1632,1625,1635,1636,1637,1636,1639,1639,1641,1550,1643,1644,1645,1646,1647,1648,1649,1650,1647,1652,1652,1645,1655,1656,1657,1656,1659,1659,1643,1662,1663,1664,1665,1666,1665,1668,1668,1670,1671,1663,1673,1674,1675,1676,1677,1674,1679,1679,1681,1566,1565,1684,1684,1570,1569,1688,1688,1688,1691,1692,1567,1694,1695,1696,1696,1698,1699,1695,1701,1702,1703,1703,1703,1684,1707,1708,1709,1710,1710,1709,1713,1713,1715,1716,1716,520,520,1720,1721,519,1723,1724,1725,1725,1725],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,15,14,15,14,15,14,15,16,17,18,19,20,21,16,17,18,22,23,21,14,15,16,24,18,19,25,26,21,16,17,18,19,27,28,29,30,31,32,33,34,35,21,14,15,14,15,16,17,18,19,36,24,18,37,38,21,16,17,18,39,24,18,22,40,41,42,43,21,14,15,16,17,18,22,44,24,18,19,40,45,46,47,48,21,16,17,18,22,22,49,24,18,50,46,51,20,52,53,12,13,14,15,14,15,14,15,14,15,14,15,46,54,21,14,15,16,24,18,19,55,21,46,56,21,14,15,14,21,16,17,18,22,57,21,14,21,16,24,18,19,58,21,14,15,14,15,14,15,16,17,18,22,19,59,21,14,15,16,24,18,60,21,14,15,14,15,16,24,18,61,62,21,14,53,12,13,14,15,14,15,14,15,14,21,14,15,16,17,18,19,59,21,14,15,14,15,14,15,16,24,18,63,21,14,21,14,21,16,17,18,61,53,12,13,14,15,14,21,14,15,14,15,14,21,16,24,18,19,64,65,66,67,66,67,66,68,66,68,66,67,69,70,68,66,67,66,67,66,68,69,47,71,12,65,66,71,12,65,66,67,66,68,66,67,66,67,66,68,69,72,68,66,71,12,65,66,67,66,67,66,68,66,67,66,68,73,74,75,76,75,76,75,76,75,76,77,78,18,22,40,79,77,78,18,19,22,40,79,75,79,75,76,77,78,18,19,80,79,77,78,18,19,81,79,75,76,75,76,82,47,79,77,78,18,83,79,75,76,77,78,18,19,59,79,75,76,77,84,18,22,85,78,18,19,40,79,77,78,18,86,79,75,76,75,76,75,76,77,78,18,23,79,77,78,18,22,19,87,82,88,79,75,76,77,78,18,89,79,75,76,77,78,18,22,22,90,81,79,77,78,18,19,91,92,12,74,75,76,77,84,18,93,78,18,19,94,79,75,76,77,84,18,95,92,12,74,75,76,75,76,77,78,18,22,96,97,19,98,79,77,78,18,19,59,92,12,74,75,76,77,78,18,99,100,79,75,76,77,78,18,22,101,84,18,81,77,84,18,19,102,82,103,75,76,77,84,18,22,50,92,12,74,77,84,18,22,104,78,18,105,106,107,108,109,110,111,112,113,114,115,114,115,114,115,114,115,114,115,116,117,118,114,115,119,120,118,121,118,114,115,114,115,122,118,116,118,114,115,123,117,116,118,117,118,114,115,114,115,114,115,116,124,125,117,118,124,126,127,117,116,118,114,115,128,116,119,129,118,116,124,130,131,12,113,114,115,114,115,114,115,114,115,119,126,132,117,124,126,133,118,124,134,117,118,114,115,119,126,135,124,126,136,137,118,117,118,114,115,114,115,116,124,138,119,126,139,118,117,124,126,140,118,114,115,119,138,117,124,126,139,118,116,124,141,118,114,115,114,115,114,115,119,126,142,116,118,119,126,140,143,117,118,114,115,124,126,144,116,118,117,145,124,126,146,131,12,113,114,115,117,116,131,12,113,114,115,114,115,117,119,126,147,142,131,12,113,119,126,148,149,150,151,119,126,149,152,118,119,126,153,154,117,116,145,116,119,152,124,126,155,117,119,152,117,124,126,132,120,119,126,147,124,126,156,138,117,157,119,126,153,124,126,158,159,119,126,158,116,123,126,146,158,157,153,132,120,152,117,124,120,152,126,156,160,119,120,148,118,114,115,114,115,119,152,124,159,117,126,155,118,117,161,119,126,162,116,131,12,113,114,115,114,115,124,126,162,160,118,124,126,146,116,118,114,115,124,126,153,159,118,119,126,163,116,117,124,126,147,126,149,116,126,133,149,145,164,165,118,114,115,124,126,148,116,118,117,116,131,12,113,114,115,114,115,114,115,114,115,114,115,166,118,119,138,117,123,145,118,114,115,116,117,166,119,125,118,116,124,126,132,118,114,115,114,115,124,126,167,117,142,116,118,124,126,168,116,118,114,115,119,126,169,148,116,118,124,126,170,123,116,118,114,115,114,115,114,115,116,117,124,126,149,132,118,116,119,126,171,118,114,115,145,117,119,126,172,118,117,124,126,148,118,114,115,114,115,173,124,126,174,119,126,136,117,131,12,113,116,114,115,114,115,119,138,116,126,175,117,125,127,145,125,152,116,117,123,124,126,135,116,124,126,135,116,124,126,139,119,126,140,117,118,114,115,114,115,116,124,126,165,118,124,164,118,114,115,122,119,126,153,118,117,117,116,123,117,124,176,177,178,114,118,119,126,169,131,12,113,114,115,114,115,114,115,114,118,116,123,118,114,115,119,126,179,118,119,130,145,118,114,115,114,115,124,126,180,118,116,118,114,115,116,118,117,145,118,114,115,114,115,114,115,117,118,117,116,118,114,115,117,131,12,113,124,126,148,119,126,181,182,131,12,113,114,115,114,115,114,115,114,115,124,126,148,116,118,119,126,183,117,118,114,115,119,126,135,117,118,119,126,139,116,118,114,115,114,115,119,138,118,116,119,126,169,145,119,164,117,124,126,144,116,184,116,185,116,123,116,124,126,149,118,114,115,114,115,114,115,117,123,118,124,126,153,117,118,114,115,121,117,118,145,116,118,114,115,114,115,117,116,118,186,117,118,114,115,116,118,124,126,148,119,126,132,123,145,187,116,117,116,119,126,137,117,119,126,188,124,126,132,124,126,172,116,155,116,119,126,133,140,174,116,124,126,149,119,126,174,117,124,125,124,134,126,155,123,117,117,124,126,174,131,12,113,124,164,126,148,117,189,136,190,148,162,191,124,126,153,132,158,156,192,116,180,180,156,132,148,162,193,164,151,119,126,194,162,119,152,126,132,132,126,181,146,195,117,116,117,156,117,131,12,113,114,115,114,115,114,115,114,115,116,124,126,136,118,124,126,180,165,118,114,115,116,161,118,124,129,119,176,118,114,115,114,115,124,126,144,118,117,124,126,196,118,114,115,119,126,133,116,118,116,119,126,196,131,12,113,114,115,114,115,114,115,119,126,132,118,124,126,193,118,114,115,119,126,165,118,124,152,117,118,114,115,114,115,157,118,119,126,180,131,12,113,114,115,117,119,159,131,12,113,124,126,180,119,126,144,197,198,112,199,200,201,187,124,126,158,132,152,193,159,126,193,120,157,120,156,152,153,120,158,153,158,120,132,152,152,193,132,124,126,156,192,148,131,12,113,114,115,114,115,114,115,161,118,157,124,159,118,114,115,116,118,124,202,119,120,131,12,113,114,115,114,115,114,115,114,115,160,151,118,116,124,203,118,114,115,116,117,118,119,159,126,204,131,12,113,114,115,117,124,126,205,118,117,114,115,114,115,114,115,116,124,126,174,119,126,179,118,119,126,204,117,118,114,115,124,126,137,119,126,206,118,124,126,137,165,131,12,113,114,115,114,115,157,117,118,119,126,167,207,149,123,123,193,123,148,149,208,130,139,143,148,142,180,145,114,115,114,115,117,116,118,124,126,149,209,118,114,115,143,118,117,117,131,12,113,114,115,114,115,114,115,116,131,12,113,124,125,117,131,12,113,184,116,114,115,114,115,116,119,152,124,126,174,131,12,113,119,126,165,124,126,140,169,122,125,210,151,172,125,122,114,115,114,115,119,126,156,116,118,114,115,145,118,123,118,114,115,114,115,119,126,135,118,151,116,118,114,115,117,118,145,124,202,114,115,114,115,114,115,119,126,139,118,116,117,118,114,115,116,118,123,116,118,114,115,114,115,116,118,187,119,126,135,118,114,115,124,126,169,118,209,124,164,116,118,116,117,210,118,123,116,119,126,211,118,114,115,116,119,126,136,118,119,126,156,182,165,114,115,114,115,117,145,118,116,124,126,163,132,117,119,126,133,131,12,113,116,123,117],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db998","0x3a28cd","0x11ea27","0x3db9aa","0x349441","0x34961a","0x3485e6","0xa65f8","0xa48b0","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1c7f","0x1edef0","0x1eeae6","0x1edfe9","0x1f37e8","0x1eeb02","0x1edfbb","0x1f1e9c","0x1edfbe","0x1f1c21","0x1ee020","0x1f1b87","0x1f2c90","0x1f3184","0x26c8f","0x354cb3","0xa5861","0xa4bca","0x1a0aca","0x1ee226","0x1eea92","0x1ee114","0x1ee464","0x1edfb0","0x1ee885","0x1ee686","0x1ee953","0x1ee477","0x1ee81e","0x1f257e","0x177d91","0x1ee654","0x1ee02b","0x1ee1d7","0x177d98","0x1ee1dc","0x1f3684","0x177e48","0x1ee505","0x177e31","0x1eea6b","0x1edfde","0x1edfb4","0x1eea36","0x1ee5c4","0xffffffffba601199","0x1ee732","0x1ee5cd","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177dbc","0x1ec510","0x177d95","0x1eb155","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x34fd2","0x1eebf8","0x1edfdb","0x59940","0x1ee498","0x1edb10","0x1ee006","0x1eeacd","0x1eebf9","0x177db2","0x1eeb0d","0x1edff5","0x1edfc7","0x34ed4","0x1ee1d9","0x1ee72b","0x1ee870","0x1ee3f9","0x1b745","0x1ee53f","0x1ee326","0x1ee728","0x1ee68f","0x1edfd9","0x177e3a","0x1ee018","0x1ee4a2","0x2601a","0x347c9b","0x26346","0x267e2","0x347bf1","0x287b5","0x11e88d","0x247051","0x246666","0x246a05","0x2463ab","0x246396","0x246b93","0x24637c","libm.so.6","0x37f13","0x2463b7","0x246338","0x2463af","0x246363","0x37ef8","0x37f02","0x764e7","0x2463a7","0x37f2f","0x37f0b","0x246a77","0x76514","0x709c0","0x37f37","0x7650f","0x764f4","0x7649f","0x37f25","0x764ac","0x709ce","0x37f21","0x76532","0x2463c2","0x76538","0x2463bb","0x70ab0","0x764d5","0x7651d","0x7652b","0x24637a","0x24638a","0x37f31","0x764eb","0x764fd","0x7662f","0x764c0","0x24639f","0xe380","0x37ef0","0x246392","0x246358","0x709c7","0x70ab8","0x37f27","0x764e4","0x246386","0x76518","0x76526","0x7647e","0x709d6","0x76570","0x764bb","0x24636d","0x76637","0x70a10","0x37f58","0x759600000c6f","0x75961e9ff0af","0x764db","0x76506","0x765b8","0x764a3","0x764b3","0x246330","0x246354","0x246364","0x24633e","0x76491","0x37f1d","0x37f33","0x76482","0x70ac0","0x76488","0x76622","0x7656a","0x76540","0x2618c","0x26706","0x25f3e","0x26141","0x108c9b","0x37f03","0x37f40","0x76561","0x709d0","0x7654a","0x70aba","0x37efe","0x2463bf","0x24634b","0x76502"],"tid":"700696","unregisterTime":116622126.55093},{"frameTable":{"length":212,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041225,2039452,2023152,2026242,2026214,2023472,2038911,2023348,2023424,2041214,1539652,2023445,2024572,2023941,2023460,2023374,2026072,2045572,2025256,2039593,2038635,2038777,2023440,2025762,2024227,1539516,2026481,1539484,2025404,2025094,2025279,2038809,1539661,2023385,2023427,2039225,2023413,2023762,2023344,2025378,2023456,2025061,2023390,156044,157446,1173645,156555,157666,3439509,2043024,2044631,676946,666818,594523,155969,1084571,2028248,2025502,2018025,2013424,2016405,2016768,2011421,1539633,2012221,1539490,2011555,1539462,2011620,1539513,2016528,1539642,1539647,2011641,1539837,1418669,368184,216630,366929,2022359,2025307,217042,2022160,2025924,2025537,2023328,216788,2021951,2023734,366912,2023467,2023095,1706373,2025073,1539465,2024767,2025318,2023367,2026488,2024654,2025545,2025776,2025017,2025645,2025498,2025548,368286,1538985,1706698,2388049,2385510,2386437,2384739,229122,58240,2384811,2384764,229169,229139,2384790,2386551,484478,2386835,484488,461496,484587,2384702,484628,484482,484614,484682,484524,484565,484672,461255,484503,484714,484911,484596,484651,484637,2384774,484919,2384778,229104,484792,-1,484544,484664,461504,484531,484548,484580,229175,461248,461498,484511,2384799,484632,484571,155527,3439896,3440388,461262,229153,2384815,2384696,2384728,461328,484539,461340,2384827,461284,461488,229123,461480,484605,229131,229112,484583,2388025,484623,2384711,229167,2384819,484658,229157,156064,484697,484515,484898,229159,484646,229184,2384786,229208,484685,461270,155674,229188,229201,229171],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":212,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,2,2,1,1,2,2,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,2,2,-1,2,2,2,2,2,2,2,2,2,2,1,2,2,1,1,1,2,2,1,1,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,2,1,2,2,1,2,2,2,2,2,2,1,2,2,2,1,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700697>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.260199,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,125],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":742,"stack":[22,32,41,50,56,63,69,79,85,93,99,117,124,131,136,139,157,162,170,176,178,189,195,200,206,208,219,224,229,232,238,248,251,259,262,279,286,295,307,317,335,348,359,377,380,380,380,380,380,384,389,389,389,389,389,391,394,407,411,414,420,425,434,436,441,460,479,497,534,549,551,556,558,566,569,570,577,578,580,595,600,602,611,614,618,621,632,635,642,647,652,653,665,670,674,687,693,702,703,711,718,725,733,736,741,744,758,759,761,759,762,763,777,780,786,792,794,800,802,812,816,817,821,823,829,831,837,841,847,848,862,863,869,871,875,876,884,885,889,890,896,897,899,902,910,913,917,920,924,927,929,932,940,941,945,949,952,955,956,966,968,972,974,980,983,995,998,1002,1003,1008,1011,1014,1020,1020,1023,1024,1029,1030,1031,1035,1036,1039,1040,1046,1047,1049,1052,1053,1059,1062,1063,1067,1068,1069,1070,1076,1077,1080,1083,1085,1087,1089,1101,1102,1104,1110,1111,1115,1116,1124,1125,1127,1133,1134,1136,1139,1143,1147,1151,1156,1158,1164,1166,1180,1184,1186,1189,1195,1197,1200,1204,1206,1214,1217,1221,1227,1229,1232,1240,1242,1244,1248,1250,1258,1259,1263,1264,1266,1269,763,761,1270,1272,1273,759,1040,1274,1275,1276,1277,1278,1036,1279,1282,1047,1283,1047,1047,1283,1047,1047,1284,1049,1285,1285,1286,1287,1049,1284,1290,1293,1296,1297,1298,1299,1300,1301,1302,1305,910,1306,1307,924,1308,941,1309,949,1312,1321,1325,1326,1330,1333,1340,1344,1350,1353,1363,1365,1371,1372,1374,1380,1382,1388,1392,1395,1396,1399,1036,1400,1283,1283,1402,1403,1405,1406,1407,1077,1408,1409,1410,1418,1419,1423,1424,1428,1429,1431,1434,1435,1442,1445,1449,1450,1455,1456,1457,1460,1461,1473,1474,1477,1480,1484,1487,1489,1490,1497,1499,1502,1503,1507,1509,1513,1514,1526,1531,1532,1536,1544,1545,1549,1553,1556,1558,1566,1568,1573,1574,1577,1584,1587,1591,1595,1599,1600,1604,1605,1606,1607,763,1606,759,1608,1609,1610,1277,1611,1040,1036,1612,1283,1613,1613,1614,1283,1615,1283,1616,1402,1049,1052,1617,1049,1618,1053,1053,1053,1620,1621,1622,1623,1624,1059,1625,1637,1640,1644,1648,1649,1651,1654,1660,1662,1666,1672,1673,1683,1684,1686,1689,1691,1697,1700,1708,1711,1715,1716,1722,1723,1732,1733,1737,1739,1743,1744,1745,1746,1747,1748,1750,1751,1754,1755,1763,1764,1766,1770,1771,1773,1774,1777,1778,1779,1782,1785,1786,1789,1790,1746,1793,1794,1795,1747,1798,1800,1801,1804,1806,1807,759,1808,1809,1036,1810,1811,1279,1047,1813,1049,1814,1059,1815,1059,1816,1819,1820,1821,1821,1087,1822,1823,1826,1827,1418,1833,1835,1838,1839,1842,1843,1778,1844,1847,1786,1848,1849,1852,1746,1853,1854,1854,1855,1856,1859,1860,1861,1862,1863,1865,1868,1869,1872,1873,1875,1876,1877,1880,1881,1882,1883,1884,1887,1888,1891,1894,1895,1896,1897,1766,1899,1901,1904,1771,1771,1905,1908,1911,1912,1913,1913,1916,1917,1920,1921,1922,1923,1924,1927,1929,1930,1931,1932,1933,1933,1936,1937,1938,1950,1951,1950,1954,1955,1961,1962,1966,1967,1973,1975,1977,1981,1982,1986,1987,1991,1992,759,762,763,763,759,1993,1994,1995,1996,1277,1608,1036,1997,1998,1047,1614,1283,1998,1283,1047,1613,1053,1999,1049,2000,1049,1053,1284,2001,2002,2003,2004,2005,2006,2008,2011,2013,2015,2017,2018,2020,2021,2031,2034,2038,2041,2047,2051,2059,2062,2076,2079,2081,2085,2088,2098,2100,2104,2106,2111,2112,2116,2119,2122,2123,2124,2134,2135,2141,2144,758,763,1605,2145,761,763,1036,2146,1036,1611,1277,1400,1400,2147,1998,1283,2148,2149,2150,1047,1047,2151,1049,1053,1402,1053,1049,2152,1617,1618,1049,1297,2153,2154,2155,2156,2157,2160,2161,2162,2164,2165,2168,2169,2170,2171,2174,2175,2176,2177,2180,2182,2183,2185,2187,2190,968,972,2193,974,2196,2202,2205,2206,2208],"time":[116621309.14857,116621311.470051,116621313.429487,116621315.214543,116621316.699873,116621318.115047,116621319.473391,116621320.77775,116621322.006623,116621323.113007,116621324.183148,116621325.233462,116621326.270525,116621327.297867,116621328.378704,116621329.434278,116621330.458353,116621331.481153,116621332.497953,116621333.480364,116621334.45632,116621335.437705,116621336.424985,116621337.412249,116621338.402443,116621339.395696,116621340.391244,116621341.387808,116621342.385409,116621343.383604,116621344.434431,116621345.394107,116621346.356251,116621347.323706,116621348.325792,116621349.301181,116621350.278949,116621351.270087,116621352.294187,116621353.31786,116621354.334978,116621355.34816,116621356.35727,116621357.364347,116621358.052388,116621358.059499,116621358.064607,116621358.068909,116621358.073107,116621358.082057,116621358.557409,116621358.56154,116621358.564317,116621358.567195,116621358.570358,116621358.595948,116621363.078541,116621365.68458,116621366.593713,116621367.530667,116621368.487445,116621369.457124,116621370.415372,116621371.420232,116621372.410784,116621373.401996,116621374.399993,116621375.377063,116621376.356432,116621377.822645,116621378.847748,116621379.946994,116621381.061382,116621382.141807,116621383.219195,116621384.308564,116621385.393432,116621386.457962,116621387.52424,116621388.556386,116621389.577667,116621390.593179,116621391.618299,116621392.637712,116621393.671712,116621394.699928,116621395.731784,116621396.745906,116621397.754808,116621398.761097,116621399.765576,116621400.800315,116621401.802067,116621402.766475,116621403.732549,116621404.706585,116621405.687837,116621406.674292,116621407.664576,116621408.64573,116621409.612303,116621410.609021,116621411.583958,116621412.563157,116621413.546761,116621415.503228,116621420.905705,116621421.811274,116621422.767162,116621423.73865,116621424.718529,116621425.676103,116621426.726861,116621428.015871,116621429.267912,116621430.498637,116621431.674225,116621432.804038,116621433.898999,116621434.968501,116621436.060593,116621437.088372,116621438.103041,116621439.112925,116621440.107215,116621441.120381,116621442.078738,116621443.020398,116621443.973762,116621444.934796,116621445.941009,116621446.919371,116621447.895303,116621448.876477,116621449.838249,116621450.796655,116621451.804714,116621452.77595,116621453.749309,116621454.728777,116621455.722398,116621456.711492,116621457.703441,116621458.697073,116621459.691851,116621460.723291,116621461.698207,116621462.657127,116621463.62323,116621464.597957,116621465.631729,116621466.654183,116621467.664394,116621468.668601,116621469.676568,116621470.678433,116621471.678561,116621472.694143,116621473.692045,116621474.662341,116621475.628863,116621476.602839,116621477.583678,116621478.586211,116621479.60832,116621480.66739,116621481.676886,116621482.678872,116621483.679752,116621484.724686,116621485.752911,116621486.775587,116621487.774922,116621488.754583,116621489.756442,116621490.739404,116621491.724633,116621494.903167,116621498.787248,116621499.585365,116621500.378104,116621501.200434,116621502.072069,116621502.99231,116621503.961928,116621505.05253,116621506.168405,116621507.297556,116621508.522371,116621509.785975,116621511.040121,116621512.209971,116621513.332847,116621514.393177,116621515.398737,116621516.38388,116621517.354063,116621518.300829,116621519.231526,116621520.166128,116621521.094643,116621522.039259,116621522.998461,116621523.964921,116621524.939871,116621525.921559,116621526.951552,116621527.94033,116621528.923284,116621529.905351,116621530.864543,116621531.827567,116621532.823784,116621533.8352,116621534.845775,116621535.853837,116621536.891953,116621537.887501,116621538.872818,116621539.870994,116621540.872117,116621541.873372,116621542.892777,116621543.891405,116621544.887799,116621545.88487,116621546.882732,116621547.881565,116621548.891521,116621549.889576,116621550.88656,116621551.884389,116621552.915231,116621553.91119,116621554.903129,116621555.896161,116621556.890699,116621557.856072,116621558.824026,116621559.830283,116621560.88388,116621561.890363,116621562.884322,116621563.85076,116621564.833484,116621565.809702,116621566.788891,116621567.773263,116621568.761993,116621572.870367,116621573.789011,116621574.799667,116621575.801687,116621576.855801,116621577.870504,116621578.872925,116621579.914121,116621580.986745,116621582.10726,116621583.233547,116621584.368473,116621585.472721,116621586.602091,116621587.657876,116621588.686915,116621589.70655,116621590.748755,116621591.770183,116621592.789709,116621593.822458,116621594.82734,116621595.812832,116621596.798605,116621597.787687,116621598.776511,116621599.754855,116621600.719028,116621601.687595,116621602.66463,116621603.647784,116621604.653764,116621605.642976,116621606.600696,116621607.539822,116621608.481244,116621609.43714,116621610.405324,116621611.381488,116621612.418811,116621613.417513,116621614.427397,116621615.436566,116621616.453897,116621617.45894,116621618.459938,116621619.4604,116621620.495841,116621621.48691,116621622.447689,116621623.41373,116621624.388339,116621625.369871,116621626.356729,116621627.346842,116621628.339721,116621629.341839,116621630.370217,116621631.395241,116621632.441681,116621633.455379,116621634.459156,116621635.461085,116621636.51969,116621637.518862,116621638.534191,116621639.522217,116621640.508081,116621641.496792,116621642.488367,116621649.855939,116621650.87423,116621651.890037,116621652.895083,116621653.91708,116621654.937384,116621655.952535,116621657.050055,116621658.373514,116621659.740908,116621661.031707,116621662.203191,116621663.324365,116621664.412534,116621665.508523,116621666.551469,116621667.59841,116621668.615678,116621669.625864,116621671.670839,116621672.624626,116621673.556882,116621674.501317,116621675.460185,116621676.430332,116621677.430197,116621678.415144,116621679.364427,116621680.321516,116621681.289709,116621682.266462,116621683.249656,116621684.263461,116621685.205695,116621686.135708,116621687.080591,116621688.051261,116621689.052117,116621690.605095,116621691.609518,116621692.63058,116621693.652118,116621694.722739,116621695.760262,116621696.785392,116621697.803451,116621698.816786,116621699.826221,116621700.83325,116621701.815341,116621702.786673,116621703.807296,116621704.785215,116621705.732313,116621706.685206,116621707.649816,116621708.637692,116621709.636432,116621710.618565,116621711.641525,116621712.695187,116621714.183869,116621715.095469,116621715.985048,116621716.885182,116621717.809937,116621718.755084,116621719.715626,116621720.729635,116621724.22643,116621725.202345,116621726.178556,116621727.160147,116621728.147066,116621729.167407,116621730.22095,116621731.264568,116621732.343388,116621733.382737,116621734.421024,116621735.477173,116621736.992026,116621738.002041,116621738.911213,116621739.857478,116621740.827969,116621741.808302,116621742.794508,116621743.820264,116621744.817011,116621745.837493,116621746.858653,116621747.904397,116621748.916574,116621749.918512,116621750.918986,116621751.965413,116621752.965827,116621753.972453,116621754.938305,116621755.919066,116621756.883622,116621757.851345,116621758.80414,116621760.293819,116621761.255649,116621762.245457,116621763.240608,116621764.268179,116621765.262074,116621766.253867,116621767.247324,116621768.242739,116621769.239199,116621770.237157,116621771.235413,116621772.233928,116621773.232961,116621774.232525,116621775.246107,116621776.229989,116621777.19633,116621778.168774,116621779.148001,116621780.132944,116621781.122178,116621782.114585,116621783.575269,116621784.570993,116621785.599,116621786.624226,116621787.643136,116621788.656919,116621789.667057,116621790.686709,116621791.692057,116621792.692899,116621793.703025,116621802.07052,116621804.600693,116621806.788426,116621809.222953,116621811.404021,116621813.33142,116621815.041844,116621816.507407,116621817.832707,116621818.991315,116621820.077654,116621821.111034,116621822.105749,116621823.097348,116621824.090305,116621825.08465,116621826.080886,116621827.078315,116621828.263937,116621829.262804,116621830.221264,116621831.184938,116621832.157489,116621833.154693,116621834.18168,116621835.205652,116621836.223579,116621837.236654,116621838.227827,116621839.193917,116621840.165338,116621841.144866,116621842.160673,116621843.160267,116621844.143443,116621845.136161,116621846.125053,116621847.122483,116621848.10894,116621849.085627,116621850.068411,116621851.053605,116621852.043895,116621853.012749,116621853.995422,116621855.014274,116621856.040239,116621857.055262,116621858.06432,116621859.071979,116621860.12049,116621861.162019,116621862.19312,116621863.213114,116621864.214669,116621865.234414,116621866.226221,116621867.204546,116621868.175768,116621869.152706,116621870.135744,116621872.573796,116621877.215946,116621879.298659,116621880.109938,116621880.922108,116621881.751304,116621882.802556,116621884.302605,116621885.478322,116621886.317979,116621887.217899,116621888.134803,116621889.079152,116621890.238546,116621891.509945,116621892.824909,116621894.002297,116621895.212348,116621896.27703,116621897.432585,116621898.498553,116621899.545951,116621900.526991,116621901.510752,116621902.618751,116621903.599338,116621904.654102,116621905.577476,116621906.488183,116621907.418138,116621908.516479,116621909.537946,116621910.547992,116621911.499987,116621912.393102,116621913.382287,116621914.39128,116621915.325745,116621916.344909,116621917.294382,116621918.234396,116621919.292235,116621920.244881,116621921.27228,116621922.226867,116621923.184168,116621924.278742,116621925.239345,116621926.328183,116621927.281351,116621928.299252,116621929.249274,116621930.205203,116621931.263411,116621932.278609,116621933.276853,116621934.273219,116621935.290339,116621936.286146,116621937.280549,116621938.275644,116621939.240088,116621940.198357,116621941.165595,116621942.24613,116621943.216734,116621944.237598,116621945.204053,116621946.242993,116621947.239204,116621948.241477,116621949.175385,116621950.107746,116621951.179957,116621952.126858,116621953.072845,116621954.174681,116621955.126898,116621956.075219,116621957.187033,116621958.154713,116621959.140135,116621960.290326,116621961.356901,116621962.317559,116621963.267087,116621964.372585,116621965.059788,116621968.2277,116621969.211061,116621970.21209,116621971.167431,116621972.128126,116621973.109025,116621974.116123,116621975.176553,116621976.176677,116621977.170409,116621978.165032,116621979.203259,116621980.227256,116621981.243618,116621982.25535,116621983.402952,116621984.4243,116621985.473825,116621986.58448,116621987.674428,116621988.741645,116621989.79089,116621990.971068,116621992.267829,116621993.255426,116621994.332469,116621995.462076,116621997.618071,116621998.622896,116621999.6999,116622000.690612,116622001.645965,116622002.589911,116622003.54486,116622004.551431,116622005.504589,116622006.446361,116622007.898782,116622008.87822,116622009.763955,116622010.685714,116622011.632556,116622012.59458,116622013.567258,116622014.554207,116622015.539493,116622016.52804,116622017.66764,116622018.637685,116622019.568898,116622020.511901,116622021.469008,116622022.438217,116622023.45133,116622024.419177,116622025.401429,116622026.368778,116622027.385131,116622028.349128,116622029.422769,116622030.404109,116622031.591759,116622032.581648,116622033.806677,116622034.862478,116622035.848083,116622036.826826,116622037.80957,116622040.064474,116622041.021518,116622043.646739,116622047.844227,116622048.689365,116622049.649234,116622050.753154,116622051.727202,116622052.756227,116622053.816846,116622054.891199,116622055.997199,116622057.12604,116622058.286706,116622059.41973,116622060.518799,116622061.591431,116622062.652885,116622063.691562,116622064.717593,116622065.736171,116622066.795537,116622067.805625,116622068.802388,116622069.798376,116622070.781527,116622071.954396,116622072.922592,116622073.853061,116622074.831745,116622075.788974,116622076.749147,116622077.718871,116622078.717352,116622079.736244,116622080.719144,116622081.666407,116622082.619001,116622083.600118,116622084.573912,116622085.550912,116622087.645363,116622088.633825,116622089.608852,116622090.577159,116622091.582701,116622092.544382,116622093.503365,116622094.471799,116622095.448425,116622096.453681,116622097.475618,116622098.48335,116622099.496332,116622100.506726,116622101.578594,116622102.62795,116622103.617411,116622104.597975,116622105.582047,116622106.583192,116622107.574449,116622108.564864,116622109.52609,116622110.490803,116622111.562601,116622112.543129,116622116.584643],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[3372,2311,1959,1785,1485,1415,1358,1304,1228,1106,1070,1050,1037,1027,1038,1024,1024,1022,1016,982,975,981,987,987,990,993,995,996,997,998,996,959,962,967,973,975,977,991,1024,1023,1017,1013,1009,1007,616,7,5,4,4,8,292,4,2,2,3,25,1064,1518,909,936,956,969,958,1004,990,991,993,977,979,1017,1025,1099,1114,1080,1077,1089,1084,1064,1066,1032,1021,1015,1025,1019,1034,1028,1031,1014,1008,1006,1004,1034,1001,964,966,974,981,986,990,981,966,996,974,979,983,816,1734,905,955,971,979,957,1050,1289,1252,1230,1175,1129,1094,1069,1092,1027,1014,1009,994,1013,958,941,953,961,1006,978,975,981,961,958,1008,971,973,979,993,989,991,993,994,1031,974,958,966,974,1033,1022,1010,1004,1002,1001,1000,1015,997,970,966,973,980,1002,1022,1059,1009,1001,1000,1044,1028,1022,999,979,1001,982,985,985,855,798,792,822,871,920,969,1090,1115,1129,1224,1263,1254,1169,1122,1060,1005,985,970,946,930,934,928,944,959,966,974,981,1029,988,982,982,959,963,996,1011,1010,1008,1038,995,985,998,1001,1001,1019,998,996,997,997,998,1009,998,996,997,1030,995,991,993,994,965,967,1006,1053,1006,993,966,982,976,979,984,988,954,918,1010,1002,1054,1014,1002,1041,1072,1120,1126,1134,1104,1129,1055,1029,1019,1042,1021,1019,1032,1004,985,985,989,988,978,964,968,977,983,1005,989,957,939,941,955,968,976,1037,998,1009,1009,1017,1005,1000,1000,1035,991,960,966,974,981,986,990,992,1002,1028,1025,1046,1013,1003,1001,1058,999,1015,988,985,988,991,1748,1018,1015,1005,1021,1020,1015,1097,1323,1367,1290,1171,1121,1088,1095,1042,1026,1017,1010,987,953,932,944,958,970,999,984,949,957,968,976,983,1013,942,930,944,970,1000,1036,1004,1021,1021,1070,1037,1025,1018,1013,1009,1007,982,971,1020,977,947,952,964,987,998,982,1009,1053,990,911,889,900,924,945,960,1014,954,975,976,981,986,1020,1053,1043,1055,1039,1038,1056,1020,1010,909,946,970,980,986,1025,996,1020,1021,1045,1012,1001,1000,1046,1000,988,965,980,964,967,952,951,961,989,995,1027,993,991,993,995,996,997,998,998,999,999,998,983,966,972,979,984,989,992,993,995,1028,1025,1018,1013,1010,1007,1005,1000,1010,3327,2530,2187,2423,2181,1927,1710,1465,1282,1158,1086,1033,994,991,992,994,996,997,997,998,958,963,972,997,1026,1023,1017,1013,991,966,971,979,984,988,983,984,988,989,976,976,982,985,990,968,982,1018,1018,1015,1009,1007,1048,1041,1031,1019,994,1019,991,967,971,976,983,987,610,882,811,812,829,983,1500,1002,839,899,916,944,1159,1271,1239,1177,1119,1064,1035,1012,992,981,970,977,980,955,923,910,929,947,962,931,915,893,910,922,934,930,949,940,952,952,952,954,957,967,960,954,953,946,950,955,985,1015,998,996,996,995,994,995,964,958,967,974,970,945,966,946,927,923,933,932,947,946,945,958,952,948,959,967,985,990,993,960,949,959,672,502,983,1001,955,960,980,1007,1060,1000,993,994,1038,1023,1016,1011,1007,1021,1049,1110,1089,1067,1049,1035,1065,987,1077,1129,1048,1004,989,990,955,943,954,1006,953,941,953,979,885,921,946,962,972,986,985,988,986,970,931,943,957,969,1013,967,982,967,1001,963,964,981,1003,989,1071,1055,985,978,982,987,957,931,846,845,959,981,974,1029,1060,1074,1106,1128,1160,1133,1099,1072,1061,1038,1026,1018,1059,1010,996,995,983,962,968,930,978,957,960,969,998,1018,982,947,952,963,973,977,987,988,975,968,1005,961,958,968,976,1005,1021,1007,1012,1010,1007,1049,989,980,984,1001,991,990,961,964,971,980,942]},"stackTable":{"length":2209,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,11,23,24,25,26,27,28,29,30,31,24,33,34,35,36,37,38,39,40,9,42,43,44,45,46,47,48,49,47,51,52,53,54,55,45,57,58,59,60,61,62,58,64,65,66,67,68,43,70,71,72,73,74,75,76,77,78,73,80,81,82,83,84,71,86,87,88,89,90,91,92,87,94,95,96,97,98,7,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,109,118,119,120,121,122,123,107,125,126,127,128,129,130,126,132,133,134,135,133,137,138,105,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,151,158,159,160,161,149,163,164,165,166,167,168,169,164,171,172,173,174,175,171,177,147,179,180,181,182,183,184,185,186,187,188,182,190,191,192,193,194,180,196,197,198,199,197,201,202,203,204,205,204,207,145,209,210,211,212,213,214,215,216,217,218,214,220,221,222,223,212,225,226,227,228,226,230,231,230,233,234,235,236,237,210,239,240,241,242,243,244,245,246,247,242,249,250,240,252,253,254,255,256,257,258,253,260,261,143,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,272,280,281,282,283,284,285,270,287,288,289,290,291,292,293,294,268,296,297,298,299,300,301,302,303,304,305,306,297,308,309,310,311,312,313,314,315,316,266,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,321,336,337,338,339,340,341,342,343,344,345,346,347,337,349,350,351,352,353,354,355,356,357,358,323,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,318,378,379,318,381,382,383,6,385,386,387,388,4,390,5,392,393,5,395,396,397,398,399,400,401,402,403,404,405,406,402,408,409,410,409,412,413,400,415,416,417,418,419,416,421,422,423,424,398,426,427,428,429,430,431,432,433,431,435,429,437,438,439,440,427,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,453,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,468,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,487,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,5,535,536,537,538,539,540,541,542,543,544,545,546,547,548,548,550,544,552,553,554,555,555,557,542,559,560,561,562,563,564,565,562,567,568,564,560,571,572,573,574,575,576,576,574,579,540,581,582,583,584,585,586,587,588,589,590,591,592,593,594,592,596,597,598,599,596,601,590,603,604,605,606,607,608,609,610,604,612,613,612,615,616,617,615,619,620,588,622,623,624,625,626,627,628,629,630,631,625,633,634,623,636,637,638,639,640,641,637,643,644,645,646,644,648,649,650,651,649,586,654,655,656,657,658,659,660,661,662,663,664,659,666,667,668,669,667,671,672,673,657,675,676,677,678,679,680,681,682,683,684,685,686,682,688,689,690,691,692,680,694,695,696,697,698,699,700,701,699,695,704,705,706,707,708,709,710,705,712,713,714,715,716,717,678,719,720,721,722,723,724,721,726,727,728,729,730,731,732,728,734,735,726,737,738,739,740,535,742,743,5,745,746,747,748,749,750,751,752,753,754,755,756,757,755,755,760,756,755,754,764,765,766,767,768,769,770,771,772,773,774,775,776,773,778,779,771,781,782,783,784,785,769,787,788,789,790,791,790,793,788,795,796,797,798,799,796,801,767,803,804,805,806,807,808,809,810,811,808,813,814,815,813,806,818,819,820,819,822,804,824,825,826,827,828,827,830,825,832,833,834,835,836,833,838,839,840,752,842,843,844,845,846,844,750,849,850,851,852,853,854,855,856,857,858,859,860,861,861,858,864,865,866,867,868,866,870,865,872,873,874,874,856,877,878,879,880,881,882,883,881,880,886,887,888,886,878,891,892,893,894,895,895,892,898,898,900,901,854,903,904,905,906,907,908,909,909,911,912,908,914,915,916,914,918,919,906,921,922,923,923,925,926,922,928,928,930,931,904,933,934,935,936,937,938,939,937,936,942,943,944,934,946,947,948,948,950,951,947,953,954,953,852,957,958,959,960,961,962,963,964,965,964,967,962,969,970,971,970,973,960,975,976,977,978,979,978,981,982,976,984,985,986,987,988,989,990,991,992,993,994,992,996,997,991,999,1000,1001,1001,989,1004,1005,1006,1007,1005,1009,1010,1009,1012,1013,987,1015,1016,1017,1018,1019,1018,1021,1022,1021,1016,1025,1026,1027,1028,null,757,754,1032,1033,1034,1032,1032,1037,1038,1032,752,1041,1042,1043,1044,1045,1043,1042,1048,1048,1050,1051,1048,750,1054,1055,1056,1057,1058,1058,1060,1061,1061,1057,1064,1065,1066,1066,1066,1066,1055,1071,1072,1073,1074,1075,1073,1073,1078,1079,1072,1081,1082,1081,1084,1082,1086,1084,1088,748,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1098,1097,1103,1095,1105,1106,1107,1108,1109,1109,1106,1112,1113,1114,1113,1093,1117,1118,1119,1120,1121,1122,1123,1123,1120,1126,1118,1128,1129,1130,1131,1132,1130,1129,1135,1135,1137,1138,1098,1140,1141,1142,1140,1144,1145,1146,1145,1148,1149,1150,1103,1152,1153,1154,1155,1154,1157,1152,1159,1160,1161,1162,1163,1160,1165,1095,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1176,1181,1182,1183,1183,1185,1182,1187,1188,1174,1190,1191,1192,1193,1194,1193,1196,1196,1198,1199,1191,1201,1202,1203,1202,1205,1172,1207,1208,1209,1210,1211,1212,1213,1213,1215,1216,1212,1218,1219,1220,1210,1222,1223,1224,1225,1226,1223,1228,1228,1230,1231,1208,1233,1234,1235,1236,1237,1238,1239,1236,1241,1241,1243,1234,1245,1246,1247,1246,1249,1170,1251,1252,1253,1254,1255,1256,1257,1257,1254,1260,1261,1262,1262,1253,1265,1251,1267,1268,757,760,1271,757,1037,1038,1037,1037,1038,1045,1043,1280,1281,1043,1050,1051,1048,1048,853,1288,1289,852,1291,1292,859,1294,1295,859,867,873,881,886,893,898,1303,1304,914,914,930,944,953,1310,1311,1291,1313,1314,1315,1316,1317,1318,1319,1320,1319,1322,1323,1324,1322,1317,1327,1328,1329,1328,1331,1332,1315,1334,1335,1336,1337,1338,1339,1337,1341,1342,1343,1335,1345,1346,1347,1348,1349,1346,1351,1352,1313,1354,1355,1356,1357,1358,1359,1360,1361,1362,1359,1364,1357,1366,1367,1368,1369,1370,1368,1367,1373,1355,1375,1376,1377,1378,1379,1378,1381,1376,1383,1384,1385,1386,1387,1384,1389,1390,1391,853,1393,1394,1394,961,1397,1398,1033,1048,1401,1058,1058,1404,1064,1064,1074,1086,1081,748,1411,1412,1413,1414,1415,1416,1417,1417,1416,1420,1421,1422,1420,1414,1425,1426,1427,1427,1426,1430,1430,1432,1433,1432,1412,1436,1437,1438,1439,1440,1441,1440,1443,1444,1439,1446,1447,1448,1446,1437,1451,1452,1453,1454,1453,1454,1452,1458,1459,1458,746,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1470,1469,1475,1476,1475,1478,1479,1467,1481,1482,1483,1483,1485,1486,1482,1488,1488,1465,1491,1492,1493,1494,1495,1496,1496,1498,1494,1500,1501,1500,1492,1504,1505,1506,1506,1508,1505,1510,1511,1512,1511,1463,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1524,1527,1528,1529,1530,1529,1528,1533,1534,1535,1522,1537,1538,1539,1540,1541,1542,1543,1541,1540,1546,1547,1548,1538,1550,1551,1552,1551,1554,1555,1555,1557,1520,1559,1560,1561,1562,1563,1564,1565,1564,1567,1562,1569,1570,1571,1572,1571,1570,1575,1576,1560,1578,1579,1580,1581,1582,1583,1582,1585,1586,1581,1588,1589,1590,1579,1592,1593,1594,1593,1596,1597,1598,1598,1518,1601,1602,1603,1271,755,1271,1033,1034,1038,1032,1038,1280,1045,1045,1044,1050,1401,1404,1619,1061,1060,1619,1060,1061,1057,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1636,1638,1639,1635,1641,1642,1643,1633,1645,1646,1647,1647,1646,1650,1650,1652,1653,1631,1655,1656,1657,1658,1659,1659,1661,1658,1663,1664,1665,1656,1667,1668,1669,1670,1671,1671,1668,1674,1675,1676,1677,1678,1679,1680,1681,1682,1680,1679,1685,1685,1687,1688,1685,1690,1677,1692,1693,1694,1695,1696,1694,1698,1699,1693,1701,1702,1703,1704,1705,1706,1707,1707,1709,1710,1706,1712,1713,1714,1713,1704,1717,1718,1719,1720,1721,1719,1719,1724,1725,1726,1727,1728,1729,1730,1731,1731,1728,1734,1735,1736,1734,1738,1726,1740,1741,1742,1742,1041,1071,1425,1451,1468,1749,1481,1493,1752,1753,1504,1463,1756,1757,1758,1759,1760,1761,1762,1760,1759,1765,1757,1767,1768,1769,1769,1768,1772,5,753,1775,1776,753,1041,1041,1780,1781,1056,1783,1784,1056,1056,1787,1788,1071,1415,1791,1792,1792,1415,1425,1796,1797,1438,1799,1799,1438,1802,1803,1451,1805,1451,757,1271,1038,1034,1401,1812,1812,1619,1065,1064,1817,1818,1074,1073,1081,1081,1417,1824,1825,1417,1416,1828,1829,1830,1831,1832,1832,1834,1414,1836,1837,1119,753,1840,1841,753,1041,1041,1845,1846,1784,1788,1071,1850,1851,1851,1415,1792,1425,1425,1857,1858,1796,1803,1803,1438,1805,1864,1451,1866,1867,1451,1468,1870,1871,1871,1749,1874,1870,1481,1481,1878,1879,1879,1493,1753,1753,1493,1885,1886,1504,1504,1889,1890,1504,1892,1893,1760,1762,1760,1765,1898,1898,1900,1769,1902,1903,1769,1772,1906,1907,1772,1909,1910,1910,751,1054,1914,1915,1413,1413,1918,1919,1436,1436,1466,1466,1491,1925,1926,1517,1928,1517,1517,1517,1523,1523,1934,1935,1537,1537,1520,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1949,1948,1952,1953,1952,1946,1956,1957,1958,1959,1960,1960,1957,1963,1964,1965,1963,1944,1968,1969,1970,1971,1972,1972,1974,1974,1976,1971,1978,1979,1980,1978,1969,1983,1984,1985,1985,1984,1988,1989,1990,760,756,1034,1032,1034,1033,1280,1050,1051,1048,857,857,877,877,905,905,2007,905,2009,2010,933,2012,933,2014,1316,2016,1316,1334,2019,1334,1313,2022,2023,2024,2025,2026,2027,2028,2029,2030,2029,2032,2033,2027,2035,2036,2037,2037,2039,2040,2036,2042,2043,2044,2045,2046,2045,2048,2049,2050,2025,2052,2053,2054,2055,2056,2057,2058,2057,2060,2061,2055,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2073,2077,2078,2072,2080,2070,2082,2083,2084,2083,2086,2087,2068,2089,2090,2091,2092,2093,2094,2095,2096,2097,2095,2099,2094,2101,2102,2103,2101,2105,2092,2107,2108,2109,2110,2109,2108,2113,2114,2115,2091,2117,2118,2091,2120,2121,2097,2095,2094,2125,2126,2127,2128,2129,2130,2131,2132,2133,2131,2130,2136,2137,2138,2139,2140,746,2142,2143,1271,1038,1043,1045,1043,1043,1281,1051,866,874,881,883,886,893,2158,2159,900,901,909,2163,916,923,2166,2167,2167,928,939,942,2172,2173,2172,948,1311,959,2178,2179,959,2181,959,965,2184,2184,2186,967,2188,2189,971,2191,2192,973,2194,2195,960,2197,2198,2199,2200,2201,2199,2203,2204,2204,1420,2207],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,13,14,15,9,7,8,7,8,10,16,12,14,17,9,7,8,10,11,12,14,14,18,9,7,8,7,8,7,8,19,20,9,10,16,12,13,21,9,7,8,10,11,12,22,9,10,16,12,14,23,9,7,8,7,8,10,16,12,14,17,9,10,11,12,13,24,9,7,8,10,16,12,13,25,9,10,11,12,13,26,27,5,6,7,8,7,8,7,8,7,8,7,9,10,16,12,13,21,9,7,8,10,16,12,28,9,7,8,7,8,10,29,9,7,8,10,30,9,10,31,27,5,6,7,8,7,8,7,8,7,8,7,8,10,11,12,14,32,9,10,16,12,33,9,7,8,10,16,12,13,21,9,10,16,12,14,34,19,35,9,7,8,7,8,10,11,12,13,14,21,9,10,11,12,14,36,9,7,8,19,37,9,10,16,12,14,38,13,17,9,7,8,7,8,7,8,10,16,12,39,9,10,16,12,40,9,7,8,10,41,9,19,42,10,16,12,13,14,43,9,7,8,7,8,10,11,12,14,44,9,10,45,9,7,8,10,16,12,14,17,9,19,20,27,5,6,7,8,7,8,7,8,7,8,7,8,10,11,12,46,9,7,9,10,16,12,47,9,7,9,7,8,10,11,12,17,9,7,8,7,9,7,8,10,16,12,14,48,9,7,8,7,9,10,11,12,13,49,27,5,6,7,8,7,8,7,8,7,9,7,9,10,16,12,14,50,9,7,8,7,8,7,8,7,8,10,16,12,17,9,7,9,7,8,7,9,10,11,12,51,27,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,14,52,53,54,55,56,57,58,55,59,60,61,62,63,64,65,66,14,67,68,69,70,69,70,69,70,69,70,69,71,72,73,71,69,70,74,71,72,75,71,69,70,69,71,76,71,69,70,72,35,71,69,70,69,70,69,70,72,77,71,78,71,69,70,72,79,80,5,68,69,80,5,68,69,70,69,70,69,70,69,70,69,71,72,81,71,69,71,69,80,5,68,69,70,69,71,69,70,69,71,69,71,72,82,80,5,68,69,80,5,68,69,70,69,70,69,70,69,70,69,70,83,71,69,80,5,68,69,70,69,71,69,70,69,71,69,80,5,68,69,80,5,68,69,80,5,68,69,70,69,71,69,70,69,71,69,71,72,84,85,86,87,86,87,86,87,86,87,86,87,88,89,12,17,13,90,91,88,89,12,15,13,43,91,86,87,88,89,12,14,17,92,12,93,94,91,88,89,12,14,14,95,17,13,48,96,5,85,86,87,86,87,86,87,86,87,86,87,88,97,91,88,89,12,98,99,81,91,86,87,88,89,12,14,13,100,91,99,35,88,92,101,102,89,12,103,91,86,87,86,87,88,89,12,14,14,18,91,99,104,91,86,87,88,92,12,105,91,88,92,12,106,89,12,13,13,107,108,91,86,87,86,87,86,87,88,89,12,13,17,91,88,89,12,17,92,12,14,109,96,5,85,86,87,86,87,86,87,88,89,12,110,91,88,92,12,14,111,91,86,87,88,92,12,13,13,95,112,91,86,87,88,89,12,14,32,91,88,92,12,13,14,100,96,5,85,88,92,12,113,86,87,88,92,12,14,13,107,89,12,114,91,88,92,12,115,116,117,118,119,120,121,120,121,120,121,120,121,120,121,122,123,124,125,126,127,128,129,130,5,119,120,121,120,121,120,121,120,121,122,123,131,132,122,128,132,120,132,126,123,133,132,120,121,120,121,129,132,125,132,120,121,126,123,134,132,129,132,120,121,120,121,120,121,126,123,135,132,122,123,124,125,132,120,121,125,132,136,132,120,121,120,121,129,132,129,132,120,121,126,123,137,132,122,123,124,130,5,119,126,123,135,129,130,5,119,120,121,120,121,120,121,120,121,126,123,138,133,132,120,121,126,123,139,122,128,132,126,123,140,141,132,120,121,120,121,126,123,135,125,132,126,123,142,129,132,120,121,122,123,143,144,132,125,126,123,145,132,120,121,120,121,120,121,129,122,123,146,132,122,123,133,126,123,147,132,120,121,125,122,123,148,132,125,126,123,149,132,120,121,120,121,126,123,150,125,132,122,123,142,132,120,121,151,122,123,152,132,122,127,153,130,5,119,120,121,120,121,120,121,129,132,125,132,120,121,125,132,129,132,120,121,120,121,129,132,122,154,130,5,119,120,121,120,121,120,121,122,123,133,126,123,145,132,126,123,144,155,132,120,121,126,154,132,122,128,126,123,124,132,120,121,120,121,129,132,126,154,129,132,120,121,126,154,156,157,132,122,123,152,125,126,123,158,129,132,120,121,126,123,140,125,132,125,126,123,137,129,132,120,121,120,121,125,122,123,157,159,132,126,123,160,157,161,144,132,120,121,126,123,149,129,122,123,162,132,122,128,126,163,123,150,123,135,130,5,119,120,121,120,121,120,121,122,123,164,129,132,125,132,120,121,122,123,143,165,132,122,123,147,154,132,120,121,120,121,126,123,158,164,132,129,132,120,121,126,123,162,129,132,125,122,123,139,120,121,126,128,132,120,121,129,132,122,123,133,120,121,120,121,125,132,125,132,120,121,122,123,137,132,125,130,5,119,120,121,120,121,120,121,120,121,122,123,166,132,120,121,125,126,154,132,122,127,132,120,121,120,121,167,132,125,122,123,140,132,120,121,129,132,125,132,120,121,120,121,120,121,129,122,123,159,132,126,123,133,132,120,121,122,123,168,132,125,126,123,150,132,120,121,120,121,122,123,124,132,125,126,154,132,120,121,129,132,129,130,5,119,120,121,126,123,169,155,132,122,123,143,161,122,128,170,171,172,149,123,137,173,174,137,128,127,135,162,122,123,137,129,154,124,175,176,122,123,150,132,126,128,122,123,124,125,154,127,129,177,125,122,123,178,175,167,127,179,126,123,139,120,121,120,121,120,121,120,121,125,132,126,123,152,129,132,120,121,125,132,122,154,132,120,121,120,121,126,127,132,122,123,133,132,120,121,126,123,135,132,122,128,132,120,121,120,121,120,121,126,123,137,132,125,132,120,121,126,123,180,181,132,129,132,120,121,120,121,136,132,125,132,120,121,122,123,182,132,126,123,137,126,123,183,133,126,123,124,128,122,128,175,126,127,125,129,128,135,125,132,120,121,120,121,120,121,129,125,132,126,123,139,125,132,120,121,125,129,132,125,122,123,133,127,132,120,121,120,121,122,127,126,123,157,132,126,123,147,125,132,120,121,126,127,125,154,132,126,128,129,132,120,121,120,121,120,121,120,121,122,123,124,125,132,126,127,122,123,137,132,120,121,129,126,123,135,132,125,167,132,120,121,120,121,126,127,123,137,132,126,127,125,132,120,121,125,126,127,132,122,123,133,128,130,5,119,120,121,120,121,120,121,120,121,129,132,120,121,122,128,125,132,126,123,157,132,120,121,120,121,126,123,124,125,132,126,123,168,132,120,121,129,132,126,127,123,133,132,120,121,120,121,120,121,175,132,129,132,120,121,126,184,125,132,126,127,132,120,121,120,121,122,154,126,123,124,132,126,123,135,132,120,121,129,132,122,123,142,148,130,5,119,125,133,167,124,127,157,166,153,149,127,124,133,127,127,127,123,135,173,154,157,127,135,130,5,119,120,121,120,121,120,121,120,121,129,126,123,142,132,122,123,185,132,120,121,129,125,132,129,126,123,133,132,120,121,120,121,125,126,174,132,126,123,139,132,120,121,122,123,173,145,130,5,119,120,121,120,121,122,123,148,175,132,125,126,123,166,122,174,132,120,121,126,123,186,122,123,147,130,5,119,120,121,120,121,129,126,123,147,132,126,123,147,187,130,5,119,126,123,133,129,120,121,120,121,120,121,126,123,138,147,132,122,123,144,126,174,132,120,121,125,129,129,125,125,175,126,188,129,122,123,134,176,132,120,121,120,121,122,123,189,125,132,125,132,120,121,125,129,132,129,190,122,123,152,129,125,126,123,148,126,123,150,129,122,123,134,129,126,123,137,191,192,126,123,149,126,193,128,122,123,164,126,127,194,195,141,157,137,123,189,147,137,196,122,123,148,188,125,181,129,126,123,135,175,130,5,119,120,121,181,122,196,130,197,65,129,126,123,198,125,175,122,123,137,199,200,126,123,137,158,129,173,129,122,123,168,201,150,202,181,123,138,122,123,173,129,122,123,202,134,123,137,174,125,126,123,162,149,125,173,147,126,123,140,129,126,123,140,122,123,137,153,140,129,126,203,123,150,122,123,168,204,122,123,133,126,123,182,141,129,122,123,137,129,122,123,134,129,181,181,129,126,123,145,126,187,129,125,181,129,126,123,195,125,129,130,5,119,120,121,120,121,120,121,120,121,125,129,132,122,205,175,132,120,121,122,123,206,142,132,126,123,207,125,132,120,121,120,121,125,126,184,123,162,132,126,123,141,181,132,120,121,204,129,130,208,171,172,128,127,135,175,162,154,128,174,133,136,125,129,129,181,175,126,184,122,123,140,126,209,122,174,122,184,153,126,210,129,130,5,119,120,121,120,121,120,121,125,132,126,127,132,120,121,129,122,123,137,130,5,119,120,121,125,132,122,123,124,130,5,119,120,121,120,121,129,132,122,128,130,5,119,120,121,120,121,120,121,120,121,122,123,137,126,123,150,132,129,132,120,121,129,132,122,127,130,5,119,120,121,120,121,122,123,135,126,184,132,126,123,166,122,128,132,120,121,126,174,129,132,122,123,164,122,123,147,126,123,144,158,129,130,5,119,120,121,120,121,122,123,133,129,130,5,119,126,123,138,130,64,65,135,133,175,137,136,192,124,135,125,150,167,137,125,126,123,137,154,147,126,211,152,126,123,135,137,129,155,126,123,133,201,125,155,122,123,133,126,201,129,122,127,123,137,126,123,142,126,123,162,126,123,147,130,5,119,122,123,135,126,123,147,183,122,154],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f2589","0x1f1e9c","0x1edef0","0x1eeb02","0x1eeae6","0x1ee030","0x1f1c7f","0x1edfb4","0x1ee000","0x1f257e","0x177e44","0x1ee015","0x1ee47c","0x1ee205","0x1ee024","0x1edfce","0x1eea58","0x1f3684","0x1ee728","0x1f1f29","0x1f1b6b","0x1f1bf9","0x1ee010","0x1ee922","0x1ee323","0x177dbc","0x1eebf1","0x177d9c","0x1ee7bc","0x1ee686","0x1ee73f","0x1f1c19","0x177e4d","0x1edfd9","0x1ee003","0x1f1db9","0x1edff5","0x1ee152","0x1edfb0","0x1ee7a2","0x1ee020","0x1ee665","0x1edfde","0x2618c","0x26706","0x11e88d","0x2638b","0x267e2","0x347b95","0x1f2c90","0x1f32d7","0xa5452","0xa2cc2","0x9125b","0x26141","0x108c9b","0x1ef2d8","0x1ee81e","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177e31","0x1eb43d","0x177da2","0x1eb1a3","0x177d86","0x1eb1e4","0x177db9","0x1ec510","0x177e3a","0x177e3f","0x1eb1f9","0x177efd","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee75b","0x34fd2","0x1edb10","0x1ee9c4","0x1ee841","0x1edfa0","0x34ed4","0x1eda3f","0x1ee136","0x59940","0x1ee02b","0x1edeb7","0x1a0985","0x1ee671","0x177d89","0x1ee53f","0x1ee766","0x1edfc7","0x1eebf8","0x1ee4ce","0x1ee849","0x1ee930","0x1ee639","0x1ee8ad","0x1ee81a","0x1ee84c","0x59e9e","0x177ba9","0x1a0aca","0x247051","0x246666","0x246a05","0x246363","libm.so.6","0x37f02","0xe380","0x2463ab","0x24637c","0x37f31","0x37f13","0x246396","0x246a77","0x7647e","0x246b93","0x76488","0x70ab8","0x764eb","0x24633e","0x76514","0x76482","0x76506","0x7654a","0x764ac","0x764d5","0x76540","0x709c7","0x76497","0x7656a","0x7662f","0x764f4","0x7652b","0x7651d","0x246386","0x76637","0x24638a","0x37ef0","0x765b8","0xffffffffba6000c2","0x764c0","0x76538","0x70ac0","0x764b3","0x764c4","0x764e4","0x37f37","0x709c0","0x70aba","0x7649f","0x24639f","0x76518","0x764db","0x25f87","0x347d18","0x347f04","0x709ce","0x37f21","0x2463af","0x246338","0x246358","0x70a10","0x764bb","0x70a1c","0x2463bb","0x709e4","0x70ab0","0x37f03","0x70aa8","0x764fd","0x37f0b","0x37ef8","0x764e7","0x247039","0x7650f","0x246347","0x37f2f","0x2463b3","0x76532","0x37f25","0x261a0","0x76559","0x764a3","0x76622","0x37f27","0x76526","0x37f40","0x246392","0x37f58","0x7654d","0x709d6","0x2601a","0x37f44","0x37f51","0x37f33"],"tid":"700697","unregisterTime":116622126.516938},{"frameTable":{"length":210,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2041225,2039452,2023152,2026242,2023398,2045928,2025094,2026214,2023450,2041214,1539652,2038911,2025279,2024572,2043024,2044292,158863,3493043,677985,674762,1706698,2023286,2024211,2023344,2025251,2023348,2023385,2023374,2044396,2045572,2024567,2023351,1539473,2025088,2025548,2025490,2024612,2025853,1539513,2023472,2023979,2024531,2023800,2041330,2039397,2025616,2025479,2026072,2023381,2023897,2025498,2038656,2024758,2023972,2025366,155969,1084571,156044,157446,1173645,2044222,1705937,2018025,2013424,2016528,2016405,2016768,2011421,1539661,2012474,365295,674518,1418669,368184,216630,366929,1539633,217042,2022359,2024934,2023445,2022160,2025013,2025502,2023642,2025017,2026488,2023463,216788,366912,1539459,2023432,2021915,1539516,2024575,1539647,2025526,2025561,2023440,2023271,2026149,2026022,2388049,2385510,2386437,2386835,2384764,229122,461498,2384819,484651,2384790,2384739,229157,461248,484464,2384815,2386551,229149,229123,484632,2384811,229194,484587,484539,229175,484656,484568,2384827,2384774,2384688,484637,484605,58240,229112,484610,2384807,2384702,484478,484646,484524,484511,484628,484544,484639,484580,484911,484658,461504,461496,484488,229159,484596,461488,484565,2384749,229192,484556,229108,2384696,484919,2384831,484599,229167,484614,484531,484503,229139,2384786,2384823,461262,484494,229169,484497,2384762,229153,484682,229131,2384834,229188,2384711,484571,229104,2384799,461255,461284,156486,157666,3439601,165650,484623,484482,484720,2384778,484898,461472,2384740,461328,484664,484794,484583],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":210,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,1,1,2,2,2,1,1,2,2,2,1,2,2,2,2,2,2,1,1,1,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,2,1,1,2,2,2,2,1,2,2,2,1,2,1,2,2,1,2,2,1,1,1,1,2,2,2,1,2,2,1,2,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700698>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.275914,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,118],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":734,"stack":[21,26,28,33,37,43,50,60,66,69,76,77,83,84,91,109,118,127,136,149,159,170,179,189,194,196,205,207,210,211,220,239,246,255,263,274,278,289,294,300,314,322,332,339,350,355,364,372,380,402,404,404,404,404,404,407,407,407,407,407,407,410,413,430,442,461,478,489,494,505,511,514,523,528,535,543,544,549,560,566,568,573,578,582,588,598,599,602,612,615,623,629,631,637,644,648,649,661,666,667,677,691,695,699,705,708,714,718,719,734,737,739,740,741,740,746,747,748,751,753,756,758,759,760,766,767,768,769,771,774,775,771,776,780,783,780,780,786,789,790,791,791,799,799,803,804,808,811,812,813,815,804,816,819,825,827,830,833,836,837,838,841,838,843,844,845,846,847,848,851,853,854,714,857,858,859,860,860,868,871,874,878,879,880,886,889,890,894,895,896,904,905,907,910,911,915,916,917,920,921,924,934,936,939,942,944,947,950,950,952,955,969,971,972,976,978,978,986,990,993,997,1001,1002,1010,1012,1012,1018,1026,1027,1031,1032,1035,1039,1040,1043,1044,844,1047,1048,1049,1050,1051,1051,1052,1051,847,848,705,848,1053,1056,705,848,1057,1058,1059,1060,1060,1060,1063,1064,1064,1065,1066,1064,1065,860,1068,1069,1071,1072,860,1075,1076,1076,1077,1078,1081,1082,1085,1093,1094,1096,1097,1101,1102,1105,1107,1117,1119,1123,1124,1128,1129,1130,838,1131,1133,1134,1135,1138,1139,1140,1143,1144,942,942,1146,1149,1151,1152,1155,950,1158,952,1161,1162,1170,1171,1172,1174,1174,1177,1181,1184,1185,1199,1202,1204,1207,1208,1208,1212,1213,1212,1214,1218,1219,1221,1222,1228,1228,1228,1231,1235,1238,1239,1243,1243,1246,1247,1249,1250,1249,1251,1259,1259,1260,1260,1263,1266,1267,1271,1274,1275,1278,1278,1278,1278,1278,1280,1281,1282,1285,1286,1140,1287,1288,1296,1297,1300,1304,1304,1306,1309,1315,1318,1320,1322,1328,1329,1331,1334,1335,1335,1336,1338,1339,1340,1343,1346,1347,1348,1349,1350,1350,1352,1353,1356,1357,1358,1360,1336,1363,1364,1365,1335,1366,1367,1336,1370,1371,1372,1373,1373,1374,1376,1378,1379,1382,1385,1391,1394,1395,1398,1339,1399,1400,1401,1348,1404,1405,1408,1409,1410,1353,1411,1371,1373,1373,1413,1414,1415,1357,1416,1366,1336,1339,1417,1420,1340,1421,1423,1424,1425,1347,1347,1348,1428,1429,1431,1434,1435,1409,1436,1437,1447,1448,1450,1454,1454,1456,1457,1464,1466,1467,1471,1473,1474,1475,1476,1477,1480,1401,1482,1401,1484,1347,1378,1485,1486,1489,1490,1493,1494,1495,1496,1497,1501,1512,413,1514,1515,1516,1517,1044,1518,1040,1520,1048,1048,1521,1522,847,1523,1524,846,1527,1528,705,848,705,848,1529,1530,1531,1532,1058,1533,1534,1535,1536,1064,1537,1538,1064,1539,1064,1540,1541,1542,860,1543,1544,1072,1545,1545,1545,1546,1547,740,740,740,740,1548,1549,1550,747,1551,1553,1554,753,1555,1557,1558,1559,1569,1572,1575,1578,1579,1590,1591,1592,1594,1597,1598,1602,1603,1604,1606,1609,1610,1616,1617,1620,1621,1622,1339,1623,1624,1625,1401,1348,1348,1626,1627,1628,1629,1630,1409,1632,1633,1634,1635,1372,1411,1636,1637,1638,1640,1643,1414,1646,1281,1281,1131,1648,1649,1651,1135,1652,1653,1139,1656,1657,1288,1494,1485,1658,1486,1661,1665,1666,1669,1670,1674,1675,1681,1682,1686,1687,1694,1697,1698,1702,1703,1707,1708,1707,1711,1712,1713,1719,1720,1721,1722,1723,1281,1281,1724,846,1725,705,1726,1064,1066,1542,1727,1728,1729,1730,895,1731,1733,1734,907,917,917,1735,1738,1739,1741,1744,1747,1748,1750,1750,1753,1756,1760,1763,1764,1766,1769,1774,1775,1777,1780,1784,1786,1787,1794,1795,1797,1799,1803,1807,1808,1814,1816,1818,1823,1825,1827,1828,1834,1835,1837,1845,1847,1855,1856,1856],"time":[116621307.133966,116621308.38041,116621309.56239,116621310.695989,116621311.763422,116621312.821068,116621313.872164,116621314.919987,116621315.956718,116621316.992149,116621318.131088,116621319.230126,116621320.31826,116621321.896349,116621322.945186,116621323.881405,116621324.821833,116621325.776471,116621326.743759,116621327.742393,116621328.74937,116621329.730474,116621330.727455,116621331.738881,116621332.805991,116621333.781119,116621334.750445,116621335.726343,116621336.74814,116621337.732633,116621338.709112,116621339.666511,116621340.650327,116621341.624308,116621342.621398,116621343.600159,116621344.58218,116621346.025945,116621346.93722,116621347.81234,116621348.728928,116621349.686224,116621350.633357,116621351.598031,116621352.585421,116621353.615666,116621354.619696,116621355.609342,116621356.597777,116621357.617105,116621358.029592,116621358.034231,116621358.037519,116621358.040676,116621358.043776,116621358.062051,116621358.771832,116621358.777648,116621358.780805,116621358.784045,116621358.787259,116621358.802885,116621363.111518,116621368.993554,116621371.813933,116621374.039463,116621375.81733,116621378.002045,116621379.598592,116621381.214741,116621382.613493,116621383.905781,116621385.160711,116621386.331613,116621387.455007,116621388.545089,116621389.61082,116621390.658741,116621391.693837,116621392.739842,116621393.7988,116621394.84637,116621395.882203,116621396.908086,116621397.926764,116621398.940501,116621399.950225,116621400.957083,116621401.954584,116621402.920053,116621403.886201,116621404.860604,116621405.858169,116621406.844864,116621407.831681,116621408.800366,116621409.756619,116621410.71976,116621411.712128,116621412.693021,116621413.674646,116621422.959081,116621425.212592,116621427.15535,116621429.204093,116621433.071183,116621436.088325,116621437.605915,116621439.150142,116621440.481646,116621441.696936,116621442.851321,116621443.965126,116621445.049146,116621446.10229,116621447.14039,116621449.784469,116621450.764645,116621451.668717,116621452.585598,116621453.67884,116621454.613733,116621455.593789,116621456.536875,116621457.60806,116621459.295557,116621460.396132,116621461.421743,116621462.441355,116621463.423087,116621464.441274,116621465.427109,116621466.428158,116621467.447977,116621468.465746,116621469.478688,116621470.488101,116621471.494847,116621472.500024,116621473.510961,116621474.487057,116621475.450317,116621476.451051,116621477.430613,116621478.422621,116621479.513373,116621480.528691,116621482.075398,116621483.13054,116621484.137197,116621485.174757,116621486.213895,116621487.242483,116621488.221796,116621489.199643,116621490.182272,116621491.16932,116621492.160029,116621493.153404,116621494.140287,116621498.188588,116621499.062529,116621499.901664,116621500.754467,116621501.642802,116621502.561726,116621503.503565,116621504.534636,116621505.641286,116621506.743057,116621507.957484,116621509.209178,116621510.473457,116621511.702553,116621512.87511,116621513.982948,116621515.012456,116621515.986046,116621516.946261,116621517.88059,116621518.82335,116621519.780731,116621520.711279,116621521.800442,116621522.735202,116621523.669282,116621524.740262,116621525.762698,116621526.77911,116621527.869076,116621529.196463,116621530.065791,116621530.904917,116621531.759806,116621532.842026,116621533.801031,116621534.736594,116621535.784858,116621536.809934,116621537.888215,116621538.921173,116621540.05617,116621541.068444,116621542.33184,116621543.360426,116621544.298268,116621545.2412,116621546.240931,116621547.229703,116621548.196576,116621549.165761,116621550.142762,116621551.17261,116621552.155506,116621553.136712,116621554.122412,116621555.111535,116621556.10344,116621557.112284,116621558.066634,116621559.048278,116621560.054812,116621561.062304,116621562.067955,116621563.057658,116621564.022218,116621564.99191,116621565.966425,116621566.947569,116621567.933671,116621568.923558,116621569.916166,116621575.306892,116621578.09978,116621580.337757,116621582.444745,116621584.411998,116621586.158981,116621587.648818,116621589.00806,116621590.240588,116621591.408524,116621592.546241,116621593.685942,116621594.766649,116621595.799645,116621596.819155,116621597.832599,116621598.842051,116621599.848922,116621600.85374,116621601.857398,116621602.859961,116621603.862489,116621604.864237,116621605.855264,116621606.814338,116621607.746686,116621608.678934,116621609.637646,116621610.600045,116621611.570049,116621612.547751,116621613.553242,116621614.582566,116621615.607502,116621616.626427,116621617.639959,116621618.649966,116621619.657119,116621620.858445,116621621.834644,116621622.758424,116621623.693356,116621624.643611,116621625.606835,116621626.580825,116621627.56202,116621628.547996,116621629.555505,116621630.589708,116621631.61884,116621632.640851,116621633.657004,116621634.668809,116621635.683159,116621636.716407,116621637.718896,116621638.747995,116621639.742522,116621640.732917,116621641.725188,116621642.719071,116621643.714012,116621649.169521,116621650.17841,116621650.98111,116621651.772126,116621652.609431,116621653.519877,116621654.463686,116621655.406682,116621656.369107,116621657.777747,116621659.209354,116621660.499194,116621661.87044,116621663.149738,116621664.298748,116621665.419287,116621666.461551,116621667.61831,116621668.692558,116621669.676067,116621670.646641,116621671.601575,116621672.688411,116621673.581018,116621674.548544,116621675.454322,116621676.569965,116621677.694496,116621678.740767,116621679.770364,116621680.82501,116621681.803868,116621682.839766,116621683.805011,116621684.82392,116621685.775992,116621686.671496,116621687.575535,116621688.659493,116621689.703973,116621690.668891,116621691.624872,116621692.713475,116621693.732081,116621694.811974,116621695.848691,116621696.85807,116621697.826085,116621698.877433,116621699.93374,116621700.895262,116621701.916062,116621702.836717,116621703.752209,116621704.686525,116621705.778851,116621706.691813,116621707.600412,116621708.64545,116621709.65158,116621710.676306,116621711.703243,116621712.808402,116621713.761673,116621714.664704,116621715.602838,116621716.541316,116621717.491793,116621718.454446,116621719.426867,116621720.406752,116621720.841357,116621720.845852,116621720.849301,116621720.852623,116621720.856244,116621720.874987,116621724.010027,116621727.582071,116621730.39688,116621732.70772,116621734.774754,116621736.592296,116621738.218444,116621739.653996,116621741.009951,116621742.243425,116621743.412511,116621744.53651,116621745.627191,116621746.693353,116621747.786603,116621748.822493,116621749.838315,116621750.847891,116621751.854659,116621752.859645,116621753.863382,116621755.089724,116621756.065198,116621757.022517,116621757.987408,116621758.921483,116621759.860542,116621760.827132,116621761.790559,116621762.76136,116621763.739508,116621764.724054,116621765.712693,116621766.704205,116621767.698155,116621768.69371,116621769.690409,116621770.688125,116621771.686595,116621772.685115,116621773.684038,116621774.683436,116621775.682816,116621776.646348,116621777.607196,116621778.577729,116621779.557379,116621780.541002,116621781.529607,116621782.521443,116621783.515834,116621784.510719,116621785.506736,116621786.504094,116621787.502062,116621788.500679,116621789.49976,116621790.499472,116621791.532778,116621792.532506,116621793.524717,116621794.517948,116621795.512713,116621799.749527,116621800.600019,116621801.423361,116621802.270237,116621803.155868,116621804.073057,116621805.013508,116621805.970664,116621806.969884,116621808.201102,116621809.472164,116621810.754751,116621812.041711,116621813.187598,116621814.28716,116621815.358777,116621816.410642,116621817.409434,116621818.381455,116621819.352816,116621820.305031,116621821.238858,116621822.168155,116621823.113453,116621824.073519,116621825.044617,116621826.023911,116621827.008963,116621827.997932,116621828.988741,116621829.981776,116621830.976612,116621831.972783,116621832.980269,116621834.022088,116621835.056942,116621836.083016,116621837.10209,116621838.102643,116621839.071486,116621840.044275,116621841.024506,116621842.010572,116621842.999597,116621843.990709,116621844.98373,116621845.978202,116621846.97427,116621847.961279,116621848.936565,116621849.928737,116621850.912433,116621851.909763,116621852.880756,116621853.855947,116621854.875196,116621855.898362,116621856.923413,116621857.936999,116621858.945169,116621859.989494,116621861.037254,116621862.069955,116621863.093353,116621864.084793,116621865.144237,116621866.13742,116621867.098801,116621868.065722,116621869.040991,116621870.022894,116621871.010071,116621872.000816,116621872.993674,116621877.141278,116621877.266534,116621877.348358,116621879.630639,116621880.775948,116621881.900013,116621883.3006,116621884.859768,116621885.943393,116621886.840244,116621887.701973,116621888.588843,116621889.598021,116621890.81253,116621892.073355,116621893.255282,116621894.387618,116621895.485016,116621896.55591,116621897.607494,116621898.644992,116621899.672109,116621900.691753,116621901.877963,116621902.868105,116621903.841493,116621904.813668,116621905.754492,116621906.701682,116621907.662088,116621908.633174,116621909.612394,116621910.597291,116621911.567312,116621912.518222,116621913.477754,116621914.447606,116621915.425495,116621916.409961,116621917.401251,116621918.392548,116621919.385912,116621920.380939,116621921.377413,116621922.37484,116621923.372906,116621924.371864,116621925.37098,116621926.370473,116621927.369889,116621928.369884,116621929.36978,116621930.371445,116621931.400295,116621932.441537,116621933.474252,116621934.49849,116621935.516039,116621936.52895,116621937.538189,116621938.543274,116621939.5062,116621940.470638,116621941.443732,116621942.424022,116621943.399832,116621944.375118,116621945.372177,116621946.346857,116621947.30873,116621948.277942,116621949.254915,116621950.238355,116621951.226341,116621952.217917,116621953.211633,116621954.207092,116621955.204065,116621956.201757,116621957.200218,116621958.216907,116621959.256393,116621960.289244,116621961.313551,116621962.33127,116621963.344177,116621964.353301,116621965.35993,116621968.24567,116621969.186651,116621970.141666,116621971.062677,116621971.997677,116621972.950114,116621973.946048,116621974.951452,116621975.956527,116621976.960145,116621977.962915,116621979.054959,116621980.283725,116621981.461847,116621982.538037,116621983.681629,116621984.750479,116621985.936976,116621987.061793,116621988.134563,116621989.31775,116621990.338146,116621991.338367,116621992.336232,116621993.495393,116621994.582745,116621995.625345,116621996.667865,116621997.602572,116621998.637565,116621999.645488,116622000.632478,116622001.55171,116622002.535579,116622003.457228,116622004.379785,116622005.320538,116622006.432734,116622007.382603,116622008.32809,116622009.445034,116622010.414389,116622011.356092,116622012.308335,116622013.440416,116622014.459705,116622015.435421,116622016.460397,116622017.454797,116622018.455127,116622019.400375,116622020.345315,116622021.302835,116622022.434378,116622023.374173,116622024.308954,116622025.435035,116622026.385444,116622027.394938,116622028.363316,116622029.482227,116622030.626371,116622031.669367,116622032.781604,116622033.854698,116622034.812435,116622035.971745,116622037.029755,116622038.287053,116622039.376353,116622040.429957,116622041.623622,116622047.133482,116622048.004473,116622048.859711,116622049.747685,116622050.706444,116622051.647078,116622052.608922,116622053.634476,116622054.810733,116622055.927903,116622057.037525,116622058.148353,116622059.259331,116622060.344236,116622061.406749,116622062.604114,116622063.619128,116622064.745603,116622065.777801,116622066.928701,116622067.891009,116622068.930733,116622069.87339,116622070.872847,116622071.778954,116622072.721567,116622073.648734,116622074.585931,116622075.538902,116622076.504592,116622077.479737,116622078.477441,116622079.697262,116622080.723663,116622081.73217,116622082.725986,116622083.664702,116622084.712552,116622085.685008,116622086.701331,116622087.744107,116622088.690776,116622089.68935,116622090.707192,116622091.658315,116622092.636082,116622093.554608,116622094.476394,116622095.524573,116622096.573043,116622097.578925,116622098.623176,116622099.597136,116622100.658706,116622101.629315,116622102.595602,116622103.558727,116622104.529784,116622105.712943,116622106.74843,116622107.772253,116622108.763981,116622109.661785,116622110.563017,116622111.57978,116622112.514411],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[1338,1246,1181,1133,1067,1057,1051,1047,1036,1035,1119,1099,1088,1065,1048,936,940,954,967,975,1006,981,996,1011,1067,975,969,975,1021,984,976,957,983,973,975,978,982,1002,911,875,897,957,936,964,987,1030,995,989,988,1019,324,4,3,3,3,18,35,5,3,3,3,15,841,4641,2788,2225,1777,1711,1596,1599,1398,1292,1254,1170,1123,1090,1065,1047,1035,1046,1058,1047,1035,1025,1018,1013,1009,1006,997,965,966,974,980,986,986,968,956,963,972,980,981,4556,2253,1942,2048,1805,1608,1517,1544,1331,1215,1154,1113,1084,1053,1038,1021,980,904,916,936,934,933,943,1071,1068,1100,1025,981,981,976,985,1001,1019,1017,1012,1009,1006,1005,1003,976,963,971,979,992,1019,1015,998,1055,1006,1019,1039,1028,979,977,982,987,990,993,986,781,873,839,852,888,918,941,1031,1106,1101,1214,1251,1264,1229,1172,1107,1029,973,960,934,942,957,930,937,934,934,949,962,944,937,939,869,839,854,915,959,935,947,955,1060,1032,1033,1012,995,965,937,942,955,968,966,969,977,982,982,981,985,989,991,982,954,968,1006,1007,1005,989,964,969,974,981,986,989,992,3402,2776,2237,2106,1967,1746,1489,1359,1232,1167,1137,1139,1080,1032,1019,1013,1009,1006,1004,1003,1002,1002,1001,991,959,923,932,947,962,970,977,1005,1029,1024,1018,1013,1010,1007,1005,976,923,934,950,963,973,981,985,1007,1034,1029,1022,1016,1011,1014,1024,1002,1029,994,990,992,993,994,752,822,802,791,837,910,943,942,962,1143,1359,1246,1282,1216,1117,1071,1042,1023,1016,983,970,954,914,892,891,905,1035,1032,1016,987,979,978,966,965,921,889,895,904,965,971,964,955,964,982,993,991,973,968,966,973,961,918,920,915,934,912,912,908,929,968,929,971,968,953,903,916,938,950,962,972,979,61,4,3,3,3,18,547,3572,2814,2310,2067,1817,1626,1435,1355,1233,1169,1123,1090,1066,1047,1035,1015,1009,1006,1004,1003,1002,975,957,964,934,939,966,963,970,978,984,988,991,993,995,996,997,998,998,998,999,999,963,960,970,979,983,988,991,994,994,996,997,997,998,999,999,999,999,992,993,994,947,850,823,846,885,917,940,957,999,1231,1271,1282,1232,1145,1099,1071,1051,998,972,942,952,933,929,945,960,971,979,985,988,990,993,994,996,1007,1041,1034,1026,1019,1000,968,972,980,986,989,991,993,994,996,987,975,992,983,997,970,975,1019,1023,1017,1013,1008,1044,1047,1032,1023,991,1015,993,961,966,975,981,987,990,992,1042,75,36,1223,1145,1102,1400,1559,965,896,861,886,988,1214,1260,1181,1132,1097,1070,1051,1037,1027,1019,1014,990,973,972,940,947,960,971,979,984,970,950,959,969,977,984,991,991,993,995,996,997,998,998,999,999,999,999,999,1001,1028,1041,1032,1024,1017,1012,1009,1005,962,964,973,980,975,975,997,974,961,969,976,983,987,991,993,995,996,997,998,1016,1039,1032,1024,1017,1012,1009,1006,983,940,955,921,935,952,995,1005,1005,1003,1002,1036,1159,1121,1076,1047,1068,1100,1124,1072,1050,1020,1000,997,997,1014,1010,966,934,933,939,940,919,900,921,922,940,956,949,945,957,969,941,952,964,973,938,939,949,942,945,944,957,968,939,934,966,950,911,917,1032,1039,1042,1018,1004,957,1051,1058,1127,1089,1053,1014,227,870,855,887,916,940,961,1025,1062,1117,1109,1110,1110,1084,1062,1045,1015,993,980,966,962,929,942,898,906,904,927,937,952,965,975,997,1034,961,935,940,938,939,954,941,940,946,935,926,951,905,918,921,940,975,942,967,973,962,970,955,963,971,978,984,937,933,897,901,924,934]},"stackTable":{"length":1857,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,15,22,23,24,25,25,27,13,29,30,31,32,31,34,35,36,30,38,39,40,41,42,29,44,45,46,47,48,49,11,51,52,53,54,55,56,57,58,59,54,61,62,63,64,65,64,67,68,52,70,71,72,73,74,75,75,71,78,79,80,81,82,82,10,85,86,87,88,89,90,9,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,99,110,111,112,113,114,115,116,117,97,119,120,121,122,123,124,125,126,120,128,129,130,131,132,133,134,135,95,137,138,139,140,141,142,143,144,145,146,147,148,140,150,151,152,153,154,155,156,157,158,138,160,161,162,163,164,165,166,167,168,169,163,171,172,173,174,175,176,177,178,161,180,181,182,183,184,185,186,187,188,103,190,191,192,193,114,195,122,197,198,199,200,201,202,203,204,135,206,146,208,209,157,151,212,213,214,215,216,217,218,219,138,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,230,240,241,242,243,244,245,228,247,248,249,250,251,252,253,254,248,256,257,258,259,260,261,262,226,264,265,266,267,268,269,270,271,272,273,267,275,276,277,265,279,280,281,282,283,284,285,286,287,288,280,290,291,292,293,291,295,296,297,298,299,224,301,302,303,304,305,306,307,308,309,310,311,312,313,306,315,316,317,318,319,320,321,304,323,324,325,326,327,328,329,330,331,324,333,334,335,336,337,338,302,340,341,342,343,344,345,346,347,348,349,343,351,352,353,354,341,356,357,358,359,360,361,362,363,357,365,366,367,368,369,370,371,101,373,374,375,376,377,378,379,111,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,92,403,92,405,406,8,408,409,4,411,412,5,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,421,431,432,433,434,435,436,437,438,439,440,441,432,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,454,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,5,479,480,481,482,483,484,485,486,487,488,486,490,491,492,493,484,495,496,497,498,499,500,501,502,503,504,498,506,507,508,509,510,507,512,513,482,515,516,517,518,519,520,521,522,518,524,525,526,527,516,529,530,531,532,533,534,530,536,537,538,539,540,541,542,542,537,545,546,547,548,480,550,551,552,553,554,555,556,557,558,559,557,561,562,563,564,565,565,567,555,569,570,571,572,570,574,575,576,577,576,579,580,581,575,583,584,585,586,587,553,589,590,591,592,593,594,595,596,597,597,592,600,601,590,603,604,605,606,607,608,609,610,611,608,613,614,606,616,617,618,619,620,621,622,617,624,625,626,627,628,627,630,607,632,633,634,635,636,632,638,639,640,641,642,643,619,645,646,647,646,617,650,651,652,653,654,655,656,657,658,659,660,655,662,663,664,665,665,653,668,669,670,671,672,673,674,675,676,5,678,679,680,681,682,683,684,685,686,687,688,689,690,685,692,693,694,693,696,697,698,683,700,701,702,703,704,703,706,707,701,709,710,711,712,713,710,715,716,717,715,681,720,721,722,723,724,725,726,727,728,729,730,731,732,733,731,735,736,736,738,735,735,729,742,743,744,745,744,744,744,749,750,743,752,752,754,755,752,757,755,755,727,761,762,763,764,765,765,765,765,764,770,770,772,773,773,773,762,777,778,779,779,781,782,778,784,785,784,787,788,784,784,725,792,793,794,795,796,797,798,797,800,801,802,800,795,805,806,807,806,809,810,809,798,798,814,800,800,817,818,795,820,821,822,823,824,823,826,826,828,829,796,831,832,796,834,835,832,686,686,839,840,694,842,694,698,696,696,704,704,849,850,707,852,852,711,855,856,856,717,715,681,861,862,863,864,865,866,867,867,869,870,867,872,873,866,875,876,877,875,876,864,881,882,883,884,885,883,887,888,888,882,891,892,893,891,891,862,897,898,899,900,901,902,903,901,900,906,906,908,909,909,898,912,913,914,914,914,913,918,919,918,918,922,923,679,925,926,927,928,929,930,931,932,933,930,935,935,937,938,931,940,941,941,943,940,945,946,935,948,949,948,951,951,953,954,928,956,957,958,959,960,961,962,963,964,965,966,967,968,965,970,970,963,973,974,975,974,977,961,979,980,981,982,983,984,985,982,987,988,989,987,991,992,980,994,995,996,995,998,999,1000,998,959,1003,1004,1005,1006,1007,1008,1009,1008,1011,1006,1013,1014,1015,1016,1017,1016,1019,1020,1021,1022,1023,1024,1025,1025,1024,1028,1029,1030,1030,1030,1033,1034,687,1036,1037,1038,688,688,1041,1042,688,694,1045,1046,694,1046,696,696,698,704,704,1054,1055,706,706,706,706,706,1061,1062,711,711,711,715,1067,1067,1067,1070,715,730,1073,1074,730,742,763,763,1079,1080,777,777,1083,1084,725,1086,1087,1088,1089,1090,1091,1092,1090,1089,1095,1095,1087,1098,1099,1100,1100,1099,1103,1104,1104,1106,723,1108,1109,1110,1111,1112,1113,1114,1115,1116,1114,1118,1113,1120,1121,1122,1120,1111,1125,1126,1127,1127,839,692,702,1132,702,709,865,1136,1137,881,881,899,1141,1142,912,943,1145,945,1147,1148,946,1150,945,949,1153,1154,949,1156,1157,951,1159,1160,951,928,1163,1164,1165,1166,1167,1168,1169,1168,1167,1166,1173,1173,1175,1176,1164,1178,1179,1180,1180,1182,1183,1183,1179,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1198,1200,1201,1197,1203,1203,1205,1206,1203,1195,1209,1210,1211,1211,1211,1210,1215,1216,1217,1217,1215,1220,1215,1193,1223,1224,1225,1226,1227,1227,1229,1230,1226,1232,1233,1234,1232,1236,1237,1232,1224,1240,1241,1242,1242,1244,1245,1245,1241,1248,1248,1248,1191,1252,1253,1254,1255,1256,1257,1258,1258,1257,1261,1262,1261,1264,1265,1264,1255,1268,1269,1270,1270,1272,1273,1270,1268,1276,1277,1268,1279,686,702,709,1283,1284,865,899,912,679,1289,1290,1291,1292,1293,1294,1295,1295,1294,1298,1299,1292,1301,1302,1303,1302,1305,1305,1307,1308,1290,1310,1311,1312,1313,1314,1314,1316,1317,1313,1319,1319,1321,1311,1323,1324,1325,1326,1327,1325,1324,1330,1330,1332,1333,680,1289,1289,1337,684,700,700,1341,1342,863,1344,1345,897,897,1293,1301,1312,1351,1323,1323,1354,1355,680,680,680,1359,1289,1361,1362,680,1359,1289,1362,682,1368,1369,682,682,861,929,929,1375,1375,1377,960,960,1380,1381,960,1383,1384,959,1386,1387,1388,1389,1390,1390,1392,1393,1393,684,1396,1397,700,700,863,897,1402,1403,1293,1301,1406,1407,1312,1312,682,1291,1412,1310,1310,680,1397,684,1418,1419,1342,863,1422,863,863,1293,1426,1427,1293,1293,1430,1301,1432,1433,1406,1351,1312,1311,1438,1439,1440,1441,1442,1443,1444,1445,1446,1446,1445,1449,1443,1451,1452,1453,1452,1455,1455,1441,1458,1459,1460,1461,1462,1463,1461,1465,1465,1459,1468,1469,1470,1469,1472,1472,684,1397,700,700,1478,1479,1422,1481,897,1483,929,1163,1163,1487,1488,1377,929,1491,1492,929,958,958,958,4,1498,1499,1500,1292,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1036,1513,1038,1042,690,690,842,1519,1046,1046,696,698,696,1525,1526,696,1055,1055,850,1062,1062,1062,852,1062,855,711,856,715,717,715,717,717,732,738,735,750,750,750,744,745,1552,752,755,757,1556,755,755,727,1560,1561,1562,1563,1564,1565,1566,1567,1568,1566,1570,1571,1565,1573,1574,1573,1576,1577,1573,1563,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1588,1589,1587,1593,1593,1595,1596,1593,1585,1599,1600,1601,1601,1601,1600,1605,1605,1607,1608,1608,1583,1611,1612,1613,1614,1615,1615,1613,1618,1619,1397,1397,700,1479,863,1403,1293,1427,1301,1433,1351,1631,1355,1323,1354,861,861,1412,1412,1639,1310,1641,1642,1310,1644,1645,1132,1647,702,709,1650,865,881,899,1654,1655,1141,1487,941,1659,1660,1659,1662,1663,1664,1664,945,1667,1668,1668,1667,1671,1672,1673,1671,930,1676,1677,1678,1679,1680,1680,1679,1683,1684,1685,1683,1680,1688,1689,1690,1691,1692,1693,1693,1695,1696,1693,1692,1699,1700,1701,1699,1690,1704,1705,1706,1706,1705,1709,1710,1709,1709,1688,1714,1715,1716,1717,1718,1716,1716,1717,1716,1045,1525,852,867,877,875,883,891,901,1732,906,918,1660,1736,1737,1737,1736,1740,1740,1742,1743,1662,1745,1746,1746,1745,1749,1668,1751,1752,1752,1754,1755,1751,1757,1758,1759,1671,1761,1762,1762,1761,1765,1765,1767,1768,949,1770,1771,1772,1773,1773,1772,1776,1776,1778,1779,1770,1781,1782,1783,1782,1785,1785,951,1788,1789,1790,1791,1792,1793,1791,1790,1796,1796,1798,1788,1800,1801,1802,1801,1804,1805,1806,1804,1167,1809,1810,1811,1812,1813,1812,1815,1811,1817,1809,1819,1820,1821,1822,1822,1824,1820,1826,1826,1166,1829,1830,1831,1832,1833,1833,1833,1836,1832,1838,1839,1840,1841,1842,1843,1844,1844,1846,1843,1848,1849,1850,1851,1852,1853,1854,1852],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,8,7,8,9,10,11,12,13,14,9,10,11,15,16,17,14,7,8,18,19,9,20,11,21,14,9,20,11,16,22,23,24,25,26,27,28,29,14,7,8,7,8,9,10,11,12,30,14,9,10,11,12,31,16,12,32,14,7,8,9,20,11,33,34,14,9,20,11,12,35,36,23,37,25,26,27,28,29,38,5,6,7,8,7,8,7,8,7,14,7,14,9,20,11,16,39,14,7,14,7,8,9,20,11,40,14,7,8,7,14,7,8,18,41,14,7,8,7,14,9,10,11,42,14,7,8,7,8,7,8,7,8,9,10,11,43,14,7,8,7,8,9,10,11,16,34,14,7,8,7,8,7,8,9,20,11,21,14,7,14,9,10,11,12,12,44,14,7,14,7,14,9,20,11,16,45,8,9,10,11,46,18,47,8,7,14,9,20,11,12,16,48,12,36,20,11,22,49,14,7,14,9,20,11,12,16,34,38,5,6,7,8,7,8,7,8,7,8,7,14,9,10,11,16,12,48,14,7,14,9,20,11,50,14,7,8,7,14,9,20,11,51,14,7,8,9,10,11,16,32,14,7,8,7,8,7,8,9,10,11,15,14,7,8,52,14,7,8,7,8,9,10,11,16,16,34,14,7,8,9,53,14,9,10,11,16,54,14,7,8,7,8,7,8,7,14,9,20,11,12,55,14,7,14,9,10,11,12,56,14,7,8,7,14,9,10,11,12,57,14,7,8,9,10,11,58,14,7,8,7,8,7,8,9,10,11,59,14,7,8,9,60,14,7,8,7,8,9,20,11,61,14,7,8,9,10,11,12,62,8,7,8,9,20,11,16,32,38,5,6,7,38,5,6,7,8,7,8,7,14,7,14,7,14,9,10,11,12,63,64,65,66,67,68,23,69,70,66,67,68,71,72,73,5,71,72,74,72,74,72,74,72,75,72,75,76,77,75,72,74,72,75,72,75,78,79,26,27,80,75,72,75,72,73,5,71,72,74,72,74,72,74,72,75,72,74,76,41,75,72,73,5,71,72,74,72,74,72,74,72,75,72,74,76,41,81,82,83,82,83,82,83,82,83,84,85,86,84,87,11,88,86,82,86,82,83,84,87,11,12,12,89,86,84,90,11,12,48,87,11,91,86,82,83,82,83,84,87,11,92,86,84,87,11,93,86,82,83,84,87,11,94,86,82,83,84,87,11,12,95,96,86,84,90,11,13,97,5,81,82,83,82,83,82,83,98,99,86,84,87,11,16,100,16,57,86,82,83,84,101,86,82,83,98,102,84,87,11,15,86,84,87,11,12,103,86,82,83,82,83,84,87,11,12,35,32,86,98,104,97,5,81,82,83,84,87,11,12,105,90,11,106,86,82,83,84,90,11,16,107,86,84,87,11,16,40,12,108,82,83,84,87,11,109,86,84,87,11,12,12,34,87,11,16,89,89,97,5,81,82,83,82,83,84,87,11,16,32,86,84,87,11,89,35,97,5,81,82,83,84,87,11,16,110,111,112,113,112,113,112,113,112,113,112,114,115,116,117,114,112,113,118,114,115,116,119,114,112,113,112,113,120,114,121,122,114,112,113,121,116,123,114,115,116,124,125,126,5,111,112,113,112,113,112,113,112,113,112,113,115,127,114,115,128,116,129,120,130,114,112,113,115,131,120,130,121,116,132,114,130,115,116,133,121,134,135,136,114,112,113,112,113,137,138,139,130,114,137,121,116,140,141,142,114,112,113,120,115,116,119,114,115,143,121,116,144,145,120,126,5,111,112,113,112,113,130,114,121,116,119,120,114,112,113,120,114,115,122,130,120,115,127,146,115,116,147,126,5,111,112,113,120,114,145,121,116,148,115,116,149,121,116,150,140,130,121,116,151,121,128,130,152,120,130,130,115,116,123,116,153,154,115,116,155,156,157,120,114,112,113,112,113,112,113,137,115,116,158,121,116,159,114,115,116,154,130,160,114,112,113,121,116,161,115,116,162,155,114,115,116,140,120,146,114,112,113,112,113,115,116,161,130,114,120,121,116,163,158,114,112,113,137,164,120,114,121,165,120,115,116,166,126,5,111,112,113,112,113,121,116,147,114,130,115,116,140,112,113,120,115,122,114,115,167,112,113,130,114,120,121,116,152,126,5,111,112,113,112,113,112,113,112,113,115,116,161,114,130,120,114,112,113,120,114,125,114,112,113,112,113,115,116,152,114,121,116,147,115,116,140,114,112,113,168,114,121,116,142,120,114,112,113,112,113,112,113,130,114,130,126,5,111,112,113,125,126,5,111,112,113,112,113,120,130,126,5,111,120,130,115,116,151,113,115,116,117,130,121,116,119,120,115,116,169,120,119,137,168,155,125,121,116,149,125,130,170,120,115,116,171,120,130,125,121,128,172,116,161,137,121,116,173,130,168,130,121,116,149,130,121,116,174,114,112,113,112,113,121,116,169,120,114,130,120,114,112,113,130,120,114,121,128,116,140,114,112,113,112,113,112,113,121,116,175,115,176,114,115,116,156,130,114,112,113,177,130,122,120,115,160,178,120,115,116,133,130,120,121,116,159,137,116,162,121,116,149,116,155,130,115,116,140,121,116,161,115,116,150,130,114,112,113,112,113,115,116,179,128,130,114,120,121,116,169,114,112,113,120,115,116,149,152,126,5,111,112,113,112,113,112,113,112,113,112,113,125,115,116,161,114,130,115,116,163,120,114,112,113,120,125,130,114,121,116,180,154,115,181,137,114,112,113,112,113,130,121,116,119,114,115,116,119,121,116,119,120,114,112,113,120,115,116,182,147,114,130,137,183,114,112,113,112,113,112,113,130,120,114,121,128,115,116,132,127,126,5,111,130,115,116,119,120,66,67,68,64,65,120,168,115,116,123,125,120,120,114,112,113,112,113,112,113,130,168,114,115,184,114,112,113,130,114,130,121,116,149,114,112,113,112,113,130,115,116,185,114,120,121,122,114,112,113,115,116,158,130,114,120,115,116,140,130,120,121,186,120,125,115,116,169,121,116,149,130,120,139,120,115,143,120,121,116,151,120,137,121,122,115,116,180,125,127,130,154,115,116,119,120,130,120,187,115,188,116,140,130,115,116,151,121,116,173,126,5,111,112,113,125,121,116,179,155,115,116,140,168,146,130,121,116,158,189,115,116,185,130,125,137,115,143,120,130,139,123,121,116,190,163,115,122,125,120,115,116,140,130,121,122,121,116,152,191,172,138,126,5,111,112,113,112,113,112,113,130,120,114,120,114,112,113,130,114,130,120,114,112,113,112,113,121,186,114,189,130,114,112,113,130,114,120,130,130,161,192,121,116,158,116,161,115,122,130,130,121,116,179,193,121,116,194,120,130,192,120,195,196,197,198,126,5,111,112,114,112,113,112,126,64,65,121,128,150,140,155,154,116,155,199,200,138,201,121,116,140,202,179,203,155,158,150,119,158,155,165,192,158,168,204,130,158,163,130,179,205,206,171,154,170,116,163,120,123,116,161,207,152,126,5,111,112,113,112,113,121,116,149,115,116,208,114,121,128,115,116,156,130,126,5,111,112,113,112,113,112,113,115,186,120,128,114,187,121,116,157,120,114,112,113,130,125,120,114,130,115,116,140,161,126,5,111,115,116,185,151,121,116,158,157,135,120,209,138,119,120,163,164,179,116,119,149,130,143,137,130,128,116,155,121,116,199,115,116,156,116,159,146,121,172,130,137,115,116,132,122,143,112,113,168,114,115,116,190,174,112,113,120,130,114,115,116,174,130,126,5,111,112,113,139,168,114,121,116,159,187,112,113,112,113,112,113,120,121,116,190,130,114,115,116,150,120,114,112,113,130,137,114,121,128,120,125,126,5,111,121,116,151,145,120,184,130,191,186,200,120,142,120,130,130,121,143,130,130,112,113,130,120,114,164,121,116,154,112,113,130,120,114,130,112,113,130,121,116,199,114,115,116,152,112,113,125,130,114,125,115,116,155,112,113,112,113,125,130,114,120,121,116,154,114,112,113,130,114,130,125,112,113,112,113,115,116,142,137,114,146,115,181,114,112,113,120,114,115,116,148,130,112,113,112,113,115,176,121,176,114,120,114,112,113,115,172,116,174,114,120,130,126,5,111,112,113,130,120,121,184,126,5,111,112,113,112,113,205,121,176,126,5,111,112,113,115,116,150,130],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1e9c","0x1edef0","0x1eeb02","0x1edfe6","0x1f37e8","0x1ee686","0x1eeae6","0x1ee01a","0x1f257e","0x177e44","0x1f1c7f","0x1ee73f","0x1ee47c","0x1f2c90","0x1f3184","0x26c8f","0x354cb3","0xa5861","0xa4bca","0x1a0aca","0x1edf76","0x1ee313","0x1edfb0","0x1ee723","0x1edfb4","0x1edfd9","0x1edfce","0x1f31ec","0x1f3684","0x1ee477","0x1edfb7","0x177d91","0x1ee680","0x1ee84c","0x1ee812","0x1ee4a4","0x1ee97d","0x177db9","0x1ee030","0x1ee22b","0x1ee453","0x1ee178","0x1f25f2","0x1f1e65","0x1ee890","0x1ee807","0x1eea58","0x1edfd5","0x1ee1d9","0x1ee81a","0x1f1b80","0x1ee536","0x1ee224","0x1ee796","0x26141","0x108c9b","0x2618c","0x26706","0x11e88d","0x1f313e","0x1a07d1","0x1ecae9","0x1eb8f0","0x1ec510","0x1ec495","0x1ec600","0x1eb11d","0x177e4d","0x1eb53a","0x592ef","0xa4ad6","0x15a5ad","0x59e38","0x34e36","0x59951","0x177e31","0x34fd2","0x1edbd7","0x1ee5e6","0x1ee015","0x1edb10","0x1ee635","0x1ee81e","0x1ee0da","0x1ee639","0x1eebf8","0x1ee027","0x34ed4","0x59940","0x177d83","0x1ee008","0x1eda1b","0x177dbc","0x1ee47f","0x177e3f","0x1ee836","0x1ee859","0x1ee010","0x1edf67","0x1eeaa5","0x1eea26","0x247051","0x246666","0x246a05","0x246b93","0x24637c","libm.so.6","0x37f02","0x70aba","0x2463b3","0x7652b","0x246396","0x246363","0x37f25","0x709c0","0x76470","0x2463af","0x246a77","0x37f1d","0x37f03","0x76518","0x2463ab","0x37f4a","0x764eb","0x764bb","0x37f37","0x76530","0x764d8","0x2463bb","0x246386","0x246330","0x7651d","0x764fd","0xe380","0x37ef8","0x76502","0x2463a7","0x24633e","0x7647e","0x76526","0x764ac","0x7649f","0x76514","0x764c0","0x7651f","0x764e4","0x7662f","0x76532","0x70ac0","0x70ab8","0x76488","0x37f27","0x764f4","0x70ab0","0x764d5","0x24636d","0x37f48","0x764cc","0x37ef4","0x246338","0x76637","0x2463bf","0x764f7","0x37f2f","0x76506","0x764b3","0x76497","0x37f13","0x246392","0x2463b7","0x709ce","0x7648e","0x37f31","0x76491","0x24637a","0x37f21","0x7654a","0x37f0b","0x2463c2","0x37f44","0x246347","0x764db","0x37ef0","0x24639f","0x709c7","0x709e4","0x26346","0x267e2","0x347bf1","0x28712","0x7650f","0x76482","0x76570","0x24638a","0x76622","0x70aa0","0x246364","0x70a10","0x76538","0x765ba","0x764e7"],"tid":"700698","unregisterTime":116622126.552591},{"frameTable":{"length":213,"address":[1206333,1206351,608962,4045208,3811556,1174187,4045226,3445825,3446491,156499,2047333,2042824,2045333,2041225,2038911,2023152,2025366,2026214,2023328,2045928,2038797,2039452,2023445,2023467,2025256,2038829,2025327,2023456,2026242,2023413,2025840,2023472,2039411,2041214,1539633,2023355,2023440,1539503,2024664,2025849,2026481,2024991,2041111,2023540,2045572,1539516,2025125,2023667,2024600,2025720,2025553,2025474,2026038,2025512,2024592,2025263,2026011,2023385,2023348,2023351,2025573,2023344,2024752,2039791,2025299,2038656,155969,1084571,155333,3439261,2028248,2026480,2027129,2027207,156044,157446,1173645,2018025,2013424,2016405,2016768,2012209,2011421,1539473,2011802,2012011,1539652,2016528,1539456,2011541,1418669,368184,216630,366912,217042,366929,2022359,2023463,2022160,2023387,2025404,2023432,2024572,216788,2025622,2023496,2021909,2023341,1539661,2023427,2026064,2025248,2024567,1539513,2025479,2026027,2023448,2025645,2027356,2024610,2024304,2388049,2385510,2386437,2386835,2384790,2384739,229192,2384764,229171,229122,461262,2384811,484614,461496,484911,2384827,229157,484596,484494,2384711,484531,229153,229169,229159,484524,2386551,2384815,484637,484482,484919,2384786,484656,461488,461248,484628,484651,2384696,229149,484544,2384834,484565,484497,229123,484571,484580,484488,229104,58240,2384762,484664,461498,2384778,484605,484587,484623,2384724,229167,229131,229175,484548,461472,484511,484468,229112,229118,2384831,2384774,484478,484898,229108,156064,2384749,484794,484658,484906,461270,229194,461332,484685,484682,229139,484583,484515,484568,461284,2384737,2384823,2384688,484539,484503,2384807,461255],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":213,"name":[1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,2,1,2,2,2,1,2,2,2,1,2,2,2,2,2,1,1,2,2,2,1,2,2,2,2,2,1,2,2,1,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,2,2,2,2,2,2,2,2,2,1,1,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,1,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700699>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.296732,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,4,129],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":723,"stack":[0,0,0,0,0,5,24,26,29,32,35,42,43,48,52,62,64,67,71,80,81,84,90,101,103,109,113,120,122,127,128,132,147,155,164,171,183,190,196,205,212,225,232,241,249,255,267,275,285,294,311,322,334,343,351,362,371,390,392,392,392,392,392,394,406,418,425,434,440,450,457,472,479,493,506,512,516,525,528,533,542,546,551,559,562,565,570,584,585,591,596,600,605,612,614,627,632,634,641,649,650,655,659,661,663,669,671,681,691,694,703,709,392,712,712,712,712,712,716,726,731,733,742,746,750,752,760,761,765,769,770,772,773,780,781,785,786,790,793,795,726,726,798,799,801,802,803,805,806,807,808,811,752,752,819,820,821,823,826,830,833,834,835,836,830,837,840,843,846,848,851,855,857,860,860,862,865,866,870,875,876,878,881,884,884,886,889,889,891,894,899,903,904,907,909,911,914,915,917,918,921,923,923,931,933,934,938,941,943,946,947,948,949,950,949,953,956,957,958,961,970,971,973,978,979,989,990,994,996,1001,1002,1004,1006,1007,1011,1012,1013,1014,1015,1018,1019,1022,1023,1026,843,1027,1028,1030,1032,1033,1033,1036,1033,1033,1039,1042,1043,1043,846,1044,1045,848,1046,848,1049,848,1050,1064,1065,1069,1075,1078,1079,1081,1083,1089,1089,1091,1094,1100,1103,1107,1108,1117,1119,1121,1124,1130,1131,1133,1136,1146,1149,1151,1154,1160,1161,1165,1166,1172,1172,947,947,1173,1174,1175,1176,1179,1182,1183,1184,1184,1185,1186,1187,1188,1190,1191,1192,1193,1194,1197,1198,1184,1199,1200,1201,1202,1203,1204,1205,947,1185,1206,1208,1210,1211,1212,1213,1214,1176,1175,1216,1217,1218,1220,1221,1222,1223,1224,1198,1227,1228,1231,1234,1235,1238,1239,1239,1240,1240,1243,1244,1245,1246,1246,1248,1250,1253,1254,1257,1258,1260,1261,1262,1263,1030,846,1043,1264,1266,1266,1268,1269,1270,1271,1272,1273,1275,1276,1276,1277,1278,1279,1280,1280,1283,1284,1284,889,889,1287,1288,1291,1292,1292,1293,1294,1297,1299,1299,1304,1307,1311,1312,1315,1319,1320,1323,1329,1331,1332,1336,1337,1343,1344,1346,1348,1351,1352,1358,1359,1360,1361,1362,1367,1368,1371,1374,1375,1377,1381,1382,1385,1386,799,1389,806,746,1390,752,1391,1393,1394,1401,1402,1401,1405,1408,1410,1411,1412,1411,1412,1411,1415,1420,1421,1421,1421,1421,1422,1421,1422,1424,1425,1426,1429,1430,1425,1426,1437,1438,1440,1443,1444,1438,1445,1444,1447,1448,1449,1449,1447,1448,1450,1460,1462,1464,1467,1468,1470,1473,1483,1484,1485,1486,1043,1487,1488,1488,1491,1492,1494,1495,1497,1500,857,1271,860,1501,1504,1506,1508,1509,1512,1515,1516,1519,1520,1278,1521,1521,1522,1523,1280,1525,1530,1532,1534,1539,1540,1543,1544,1549,1552,1554,1559,1560,1564,1565,1258,1258,1568,1569,1579,1580,1582,1593,1594,1594,1596,1599,1596,1607,1608,1609,1615,1616,1620,1622,1623,1623,1623,1626,1627,1628,1638,1639,1643,1644,1645,1261,1261,1646,1647,1650,1651,1652,1653,1654,1657,1658,802,1660,1661,1662,1665,1666,1173,949,1174,1667,1175,1176,1216,1672,1674,1675,1681,1682,1684,1684,1689,1691,1693,1697,1700,1704,1705,1710,1711,1713,1717,1720,1722,1723,1730,1734,1735,1739,1742,1744,1744,1745,1747,1747,1748,1749,1750,1752,1749,1754,1757,1758,1748,1748,1759,1760,1763,1748,1766,1769,1770,1771,1773,1774,1775,1776,1777,1778,1014,1779,1780,843,843,1030,1781,1782,1030,1043,1783,1784,846,1785,848,1786,1785,1488,1266,1266,1266,1787,851,1789,1790,1791,1270,1793,1794,1271,1271,857,1795,1798,1798,1799,1800,1800,1802,862,1812,1815,1816,1820,1823,1823,1826,1830,1833,1838,1839,1853,1856,1858,1861,1864,1870,1871,1872,1874,1877,1878],"time":[116621305.36331,116621305.366859,116621305.368797,116621305.370595,116621305.372517,116621305.424987,116621306.715757,116621307.440593,116621308.202874,116621309.024418,116621309.895557,116621310.790531,116621311.69208,116621312.608101,116621313.583575,116621314.566669,116621315.552276,116621316.541339,116621317.555876,116621318.630117,116621319.732098,116621320.816125,116621321.898335,116621322.941669,116621323.971313,116621324.992382,116621326.032125,116621327.039603,116621328.041652,116621329.049177,116621330.061457,116621331.118433,116621332.137763,116621333.136871,116621334.129047,116621335.110676,116621336.094994,116621337.08252,116621338.073061,116621339.267927,116621340.28142,116621341.205249,116621342.13722,116621343.086404,116621344.214839,116621345.15032,116621346.071988,116621347.013457,116621347.973737,116621348.934701,116621349.903665,116621350.880467,116621351.943874,116621352.959822,116621353.960412,116621354.9998,116621355.99872,116621356.988489,116621362.584593,116621362.591081,116621362.594791,116621362.598362,116621362.60182,116621362.617269,116621364.334051,116621366.436369,116621367.869427,116621369.249022,116621370.474295,116621371.650058,116621372.789238,116621373.89252,116621374.956653,116621375.976907,116621377.485968,116621378.539004,116621379.64178,116621380.776052,116621381.884609,116621382.959126,116621384.022652,116621385.092427,116621386.147306,116621387.187673,116621388.216643,116621389.2373,116621390.528797,116621391.540194,116621392.502234,116621393.495346,116621394.533749,116621395.534612,116621396.52648,116621397.519933,116621398.514008,116621399.509394,116621400.50629,116621401.503983,116621402.472949,116621403.434601,116621404.404262,116621405.382455,116621406.366463,116621407.354993,116621408.341532,116621409.299257,116621410.263629,116621411.235601,116621412.250012,116621413.231091,116621414.212975,116621416.870167,116621417.059138,116621417.369804,116621417.374978,116621417.37765,116621417.380264,116621417.382947,116621417.404434,116621427.471782,116621431.696683,116621434.839587,116621437.961072,116621439.941057,116621441.687648,116621444.829962,116621446.140642,116621447.409751,116621448.612337,116621453.328978,116621454.311233,116621456.94428,116621457.932438,116621458.84046,116621459.786651,116621460.898495,116621461.820795,116621464.079371,116621464.960096,116621465.838691,116621466.778655,116621467.743788,116621468.71976,116621469.709578,116621470.696878,116621471.686036,116621472.677855,116621473.672058,116621474.635087,116621475.595649,116621476.566022,116621477.563425,116621478.564794,116621479.77235,116621480.794892,116621482.376411,116621483.544588,116621484.628745,116621485.727737,116621486.811228,116621487.846054,116621488.848484,116621489.845362,116621490.8421,116621491.839702,116621492.837933,116621493.836722,116621501.321212,116621503.555279,116621505.72288,116621507.803823,116621509.908593,116621511.904289,116621513.667768,116621515.084694,116621516.296964,116621517.41244,116621518.472532,116621519.513027,116621520.512261,116621521.491559,116621522.473667,116621523.460164,116621524.450535,116621525.443326,116621526.438426,116621527.434693,116621528.432107,116621529.430381,116621530.401129,116621531.361402,116621532.350514,116621533.367982,116621534.383874,116621535.39556,116621536.404108,116621537.410221,116621538.392494,116621539.39726,116621540.404707,116621541.411044,116621542.415869,116621543.418915,116621544.42118,116621545.422988,116621546.424567,116621547.425584,116621548.425927,116621549.426201,116621550.426222,116621551.426145,116621552.426087,116621553.425916,116621554.4258,116621555.42574,116621556.425486,116621557.402183,116621558.363057,116621559.354344,116621560.370214,116621561.385454,116621562.396647,116621563.377069,116621564.344475,116621565.318302,116621566.298779,116621567.284716,116621568.274686,116621569.267337,116621572.911853,116621573.804812,116621574.69926,116621575.601955,116621576.74038,116621577.746091,116621578.685448,116621579.64124,116621580.64597,116621581.703413,116621582.791375,116621584.078679,116621585.182386,116621586.238468,116621587.308749,116621588.328145,116621589.312936,116621590.441621,116621591.485563,116621592.503354,116621593.525028,116621594.563734,116621595.511385,116621596.45693,116621597.41513,116621598.384195,116621599.339054,116621600.308785,116621601.269987,116621602.23942,116621603.216794,116621604.218651,116621605.20452,116621606.174862,116621607.125834,116621608.064129,116621609.01611,116621609.991941,116621610.962434,116621611.93772,116621612.973521,116621613.989101,116621614.998661,116621616.02005,116621617.033621,116621618.032048,116621619.029571,116621620.02784,116621621.061492,116621622.029165,116621622.992215,116621623.959703,116621624.9353,116621625.917499,116621626.904415,116621627.895006,116621628.888249,116621629.908118,116621630.936882,116621631.960006,116621633.004877,116621634.016859,116621635.018944,116621636.034947,116621637.074889,116621638.078525,116621639.080591,116621640.066783,116621641.05414,116621642.044939,116621643.038192,116621644.170484,116621649.228713,116621650.089669,116621650.949795,116621651.813364,116621652.711892,116621653.665732,116621654.639636,116621655.597531,116621656.597913,116621657.779409,116621659.152353,116621660.424899,116621661.624678,116621662.771458,116621663.879082,116621664.957799,116621666.01543,116621667.052504,116621668.078816,116621669.097894,116621670.11173,116621671.121482,116621672.084389,116621673.009688,116621673.944499,116621674.88931,116621675.847535,116621676.81722,116621677.795014,116621678.779022,116621679.767566,116621680.759672,116621681.753607,116621682.749193,116621683.740515,116621684.696376,116621685.622267,116621686.555599,116621687.504128,116621688.498775,116621689.51229,116621690.52261,116621691.529775,116621692.534935,116621693.539425,116621694.585597,116621695.628271,116621696.66066,116621697.684471,116621698.701771,116621699.714441,116621700.72335,116621701.703117,116621702.665978,116621703.635092,116621704.612094,116621705.562725,116621706.512611,116621707.473904,116621708.445401,116621709.447899,116621710.43147,116621711.442367,116621712.470213,116621713.493686,116621714.47175,116621715.446254,116621716.42612,116621717.41265,116621718.402283,116621719.394174,116621720.38826,116621724.054441,116621725.045375,116621726.029119,116621726.994428,116621727.961614,116621728.96705,116621730.016697,116621731.07266,116621732.113379,116621733.184738,116621734.242843,116621735.286089,116621736.31739,116621737.34017,116621738.356623,116621739.383463,116621740.43607,116621741.479345,116621742.511798,116621743.535757,116621744.552514,116621745.564595,116621746.573457,116621747.580064,116621748.585237,116621749.588624,116621750.590967,116621751.592774,116621752.59393,116621754.058277,116621755.003026,116621755.909481,116621756.832725,116621757.775484,116621758.706923,116621759.636446,116621760.598671,116621761.557823,116621762.524967,116621763.501115,116621764.483669,116621765.471284,116621766.461975,116621767.455194,116621768.450408,116621769.446825,116621770.444166,116621771.442087,116621772.447783,116621773.446994,116621774.445243,116621775.443335,116621776.414958,116621777.375118,116621778.34306,116621779.321843,116621780.304526,116621781.2921,116621782.283001,116621783.277495,116621784.27202,116621785.267727,116621786.264604,116621787.262571,116621788.260884,116621789.259726,116621790.258877,116621791.258814,116621792.259106,116621793.258651,116621794.258819,116621803.975595,116621807.105377,116621810.04882,116621812.528565,116621814.660399,116621816.527172,116621818.117428,116621819.435353,116621820.65878,116621821.775229,116621822.85049,116621823.903957,116621824.942622,116621825.970853,116621826.991596,116621828.00704,116621829.017224,116621830.024202,116621831.029257,116621832.032744,116621833.048015,116621834.092245,116621835.129189,116621836.156598,116621837.176384,116621838.174468,116621839.143754,116621840.11711,116621841.097996,116621842.084079,116621843.073454,116621844.065871,116621845.060046,116621846.055578,116621847.052611,116621848.037334,116621849.017964,116621850.01005,116621850.997751,116621851.99206,116621852.962944,116621853.950206,116621854.969077,116621855.990081,116621857.006578,116621858.017223,116621859.02491,116621860.072551,116621861.143358,116621862.175187,116621863.190736,116621864.179106,116621865.191292,116621866.184718,116621867.152545,116621868.125083,116621869.104167,116621870.089097,116621872.502451,116621875.965573,116621880.90651,116621883.93255,116621886.209467,116621887.785264,116621889.306257,116621890.987227,116621892.640621,116621894.080652,116621895.363195,116621896.567891,116621897.71819,116621898.828038,116621899.908447,116621900.967127,116621902.010527,116621903.039001,116621904.058677,116621905.056194,116621906.023952,116621906.995778,116621907.971733,116621908.953631,116621909.940445,116621910.930855,116621911.890299,116621912.84382,116621913.806708,116621914.779779,116621915.760065,116621916.747629,116621917.737924,116621918.72986,116621919.724214,116621920.720044,116621921.716614,116621922.714147,116621923.712159,116621924.710943,116621925.710113,116621926.709526,116621927.708998,116621928.708797,116621929.708961,116621930.710811,116621931.753771,116621932.794901,116621933.826289,116621934.849191,116621935.866238,116621936.878641,116621937.887325,116621938.87741,116621939.840211,116621940.806011,116621941.780443,116621942.761831,116621943.725024,116621944.713741,116621945.712628,116621946.69003,116621947.651726,116621948.618453,116621949.593786,116621950.575418,116621951.562702,116621952.553321,116621953.546534,116621954.541496,116621955.537693,116621956.53473,116621957.532449,116621958.562582,116621959.601726,116621960.632914,116621961.656164,116621962.672816,116621963.684984,116621964.693832,116621968.4729,116621969.409203,116621970.352448,116621971.271122,116621972.205567,116621973.1735,116621974.186351,116621975.189631,116621976.190816,116621977.191228,116621978.192436,116621979.232618,116621980.268497,116621981.295803,116621982.315489,116621983.329729,116621984.354577,116621985.449465,116621986.566668,116621987.675268,116621988.75748,116621989.818323,116621990.862817,116621991.933186,116621992.95669,116621993.976742,116621995.029859,116621996.072311,116621997.064391,116621998.053076,116621999.036516,116622000.023235,116622001.013074,116622001.966844,116622002.917591,116622003.878696,116622004.849847,116622005.828838,116622006.814104,116622007.803229,116622008.795249,116622009.84154,116622010.867344,116622011.852521,116622012.833177,116622013.817827,116622014.806278,116622015.798083,116622016.799274,116622017.794923,116622018.78986,116622019.786139,116622020.783293,116622021.78105,116622022.779595,116622023.745002,116622024.744223,116622025.750105,116622026.714512,116622027.71019,116622028.683374,116622029.656351,116622030.65708,116622031.684719,116622032.709364,116622033.726938,116622034.698158,116622035.667561,116622036.643895,116622037.626563,116622038.614553,116622039.605768,116622040.599079,116622041.567043,116622042.524462,116622043.490748,116622047.895788,116622048.771386,116622049.713033,116622050.675996,116622051.650228,116622052.647702,116622053.703185,116622054.785386,116622055.916938,116622057.06587,116622058.208423,116622059.342375,116622060.44372,116622061.518042,116622062.572365,116622063.612017,116622064.640842,116622065.661928,116622066.677404,116622067.688676,116622068.696564,116622069.702013,116622070.68028,116622071.639712,116622072.60585,116622073.580671,116622074.562188,116622075.549017,116622076.539723,116622077.532674,116622078.54637,116622079.588047,116622080.583196,116622081.566932,116622082.553016,116622083.542598,116622084.534934,116622085.529803,116622086.525987,116622087.523293,116622088.521343,116622089.520017,116622090.503146,116622091.504344,116622092.473213,116622093.435422,116622094.405581,116622095.383719,116622096.394082,116622097.391779,116622098.403564,116622099.431983,116622100.455068,116622101.472571,116622102.485386,116622103.494963,116622104.502064,116622105.507051,116622106.510939,116622107.51365,116622108.515687,116622109.475845,116622110.437625,116622111.408491,116622112.38732],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,3,1,1,1,52,832,724,762,821,871,894,895,916,975,983,985,989,1014,1074,1101,1084,1082,1043,1029,1021,1039,1007,1002,1000,1012,1056,1019,999,979,981,984,987,990,987,938,923,931,949,961,935,921,941,951,960,968,976,1006,1015,1000,1039,998,989,1629,6,3,3,3,15,578,1413,1433,1379,1225,1175,1139,1103,1064,1020,1034,1053,1102,1134,1108,1074,1063,1069,1054,1040,1028,1020,1015,1011,962,993,999,1000,991,993,994,995,996,997,968,961,969,978,984,988,986,957,964,971,978,981,981,990,34,21,5,2,2,2,21,7396,4224,2926,2286,1979,1680,1430,1310,1269,1202,1121,982,984,988,908,919,937,922,888,880,878,939,965,975,982,987,989,991,994,963,960,970,978,1001,1021,1022,1100,1168,1084,1098,1083,1034,1002,996,996,997,998,998,4024,2234,2167,2080,2104,1995,1763,1416,1212,1115,1060,1040,999,979,982,986,990,992,995,996,997,998,970,960,980,1017,1015,1011,1008,1006,982,1004,1007,1006,1004,1003,1002,1001,1001,1001,1000,1000,1000,999,999,999,999,999,999,976,960,991,1015,1015,1011,980,967,973,980,985,989,992,1501,892,894,902,940,961,925,955,1004,1057,1087,1127,1073,1035,1070,1019,979,992,1017,970,989,973,947,945,958,969,954,969,961,969,977,1001,985,970,950,938,951,964,970,975,1035,1015,1009,1006,1013,998,997,998,1033,967,963,967,975,982,986,990,993,1019,1028,1023,1044,1007,1002,1016,1039,1003,1002,986,987,990,993,1120,1249,860,860,863,898,953,973,957,1000,1181,1372,1272,1199,1146,1107,1078,1057,1037,1026,1019,1013,1009,962,925,934,944,958,969,977,984,988,992,993,995,991,955,925,933,948,994,1013,1010,1007,1005,1004,1046,1042,1032,1023,1017,1012,1008,979,962,969,977,950,949,961,971,1002,983,1010,1027,1023,978,974,979,986,989,991,994,975,990,983,965,967,1005,1049,1055,1040,1071,1058,1043,1031,1022,1016,1026,1052,1043,1032,1023,1016,1012,1008,1006,1005,1003,1002,1001,1001,999,944,906,923,942,931,929,962,959,967,976,982,987,990,993,995,996,997,997,998,999,998,998,971,960,967,978,982,987,990,994,994,995,996,997,998,998,999,999,1000,999,1000,4560,3129,2943,2479,2131,1866,1590,1317,1223,1116,1075,1053,1038,1028,1020,1015,1010,1006,1005,1003,1015,1044,1036,1027,1019,998,969,973,980,986,989,992,994,995,997,984,980,992,987,994,970,978,1018,1021,1016,1010,1007,1047,1042,1031,1015,988,1012,993,967,972,979,984,832,161,2869,3026,2276,1575,1520,1680,1653,1440,1282,1204,1150,1109,1080,1058,1043,1028,1019,997,967,971,975,981,986,990,959,953,962,973,980,987,990,991,994,995,996,997,998,998,999,999,999,999,1000,1001,1042,1041,1031,1022,1017,1012,1008,990,962,965,974,981,963,988,998,960,961,966,975,981,987,990,993,994,996,997,997,1030,1039,1031,1023,1016,1012,1008,804,936,943,918,934,967,1000,1003,1001,1000,1001,1040,1035,1027,1019,1014,1024,1094,1117,1108,1082,1060,1044,1031,1023,1020,1053,1042,992,980,983,986,989,953,950,961,971,978,985,989,992,993,995,985,980,984,988,991,993,995,994,996,997,997,998,965,999,1005,964,963,973,972,1000,1027,1024,1017,971,969,976,982,987,991,993,967,957,966,898,875,941,962,974,997,1055,1082,1131,1148,1142,1133,1101,1074,1054,1039,1028,1021,1015,1011,1007,1005,978,959,966,974,981,986,990,992,1013,1041,995,983,986,989,992,994,996,997,998,998,983,1001,968,962,970,978,1010,997,1011,1028,1023,1017,1012,1009,1007,1004,1003,1002,1002,960,961,970,978]},"stackTable":{"length":1879,"prefix":[null,null,1,2,3,4,2,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,23,25,19,27,28,28,30,31,28,33,34,17,36,37,38,39,40,41,39,37,44,45,46,47,45,49,50,51,15,53,54,55,56,57,58,59,60,61,60,63,56,65,66,66,68,69,70,54,72,73,74,75,76,77,78,79,75,73,82,83,82,85,86,87,88,89,13,91,92,93,94,95,96,97,98,99,100,97,102,96,104,105,106,107,108,105,110,111,112,94,114,115,116,117,118,119,119,121,115,123,124,125,126,123,124,129,130,131,92,133,134,135,136,137,138,139,140,141,142,143,144,145,146,142,148,149,150,151,152,153,154,140,156,157,158,159,160,161,162,163,157,165,166,167,168,169,170,138,172,173,174,175,176,177,178,179,180,181,182,175,184,185,186,187,188,189,185,191,192,193,194,195,173,197,198,199,200,201,202,203,204,198,206,207,208,209,210,211,136,213,214,215,216,217,218,219,220,221,222,223,224,218,226,227,228,229,230,231,216,233,234,235,236,237,238,239,240,234,242,243,244,245,246,247,248,243,250,251,252,253,254,214,256,257,258,259,260,261,262,263,264,265,266,259,268,269,270,271,272,273,274,257,276,277,278,279,280,281,282,283,284,277,286,287,288,289,290,291,292,293,11,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,302,312,313,314,315,316,317,318,319,320,321,300,323,324,325,326,327,328,329,330,331,332,333,324,335,336,337,338,339,340,341,342,336,344,345,346,347,348,349,350,298,352,353,354,355,356,357,358,359,360,361,355,363,364,365,366,367,368,369,370,353,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,8,391,8,393,9,395,396,397,398,399,400,401,402,403,404,405,9,407,408,409,410,411,412,413,414,415,416,417,412,419,420,421,422,423,424,410,426,427,428,429,430,431,432,433,427,435,436,437,438,439,408,441,442,443,444,445,446,447,448,449,444,451,452,453,454,455,456,442,458,459,460,461,462,463,464,465,466,467,468,469,470,471,465,473,474,475,476,477,478,465,480,481,482,483,484,485,486,487,488,489,490,491,492,9,494,495,496,497,498,499,500,501,502,503,504,505,503,507,508,509,510,511,508,513,514,515,501,517,518,519,520,521,522,523,524,518,526,527,526,529,530,531,532,499,534,535,536,537,538,539,540,541,539,543,544,545,537,547,548,549,550,535,552,553,554,555,556,557,558,555,560,561,553,563,564,563,566,567,568,569,497,571,572,573,574,575,576,577,578,579,580,581,582,583,582,578,586,587,588,589,590,576,592,593,594,595,595,597,598,599,593,601,602,603,604,602,606,607,608,609,610,611,606,613,574,615,616,617,618,619,620,621,622,623,624,625,626,620,628,629,630,631,631,633,618,635,636,637,638,639,640,636,642,643,644,645,646,647,648,647,643,651,652,653,654,617,656,657,658,617,660,658,662,619,664,665,666,667,668,666,670,618,672,673,674,675,676,677,678,679,680,675,682,683,684,685,686,687,688,689,690,687,692,693,685,695,696,697,698,699,700,701,702,402,704,705,706,707,708,8,710,711,395,713,714,715,9,717,718,719,720,721,722,723,724,725,722,727,728,729,730,728,732,718,734,735,736,737,738,739,740,741,739,743,744,745,737,747,748,749,748,751,735,753,754,755,756,757,758,759,759,756,762,763,764,754,766,767,768,768,767,771,771,720,774,775,776,777,778,779,778,777,782,783,784,784,775,787,788,789,789,791,792,788,794,724,796,797,796,729,800,729,732,741,804,740,744,743,749,809,810,735,812,813,814,815,816,817,818,818,818,817,822,822,824,825,815,827,828,829,829,831,832,832,829,829,832,829,838,839,782,841,842,789,844,845,844,847,794,849,850,725,852,853,854,852,856,796,858,859,858,861,729,863,864,864,863,867,868,869,732,871,872,873,874,872,871,877,877,879,880,740,882,883,882,885,743,887,888,887,890,890,892,893,749,895,896,897,898,895,900,901,902,900,751,905,906,906,908,905,910,757,912,913,913,912,916,916,762,919,920,919,922,754,924,925,926,927,928,929,930,929,932,932,927,935,936,937,937,939,940,936,942,776,944,945,776,945,787,787,723,951,952,723,954,955,955,727,727,959,960,718,962,963,964,965,966,967,968,969,968,967,972,965,974,975,976,977,976,975,980,981,982,983,984,985,986,987,988,988,985,991,992,993,991,995,778,997,998,999,1000,1000,998,1003,1003,1005,1000,997,1008,1009,1010,1010,1010,1010,1008,1008,1016,1017,842,842,1020,1021,1021,842,1024,1025,1025,1025,841,1029,1029,1031,1029,1029,1034,1035,845,1037,1038,845,1040,1041,845,1041,1041,847,847,1047,1048,1047,788,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1063,1062,1066,1067,1068,1060,1070,1071,1072,1073,1074,1072,1076,1077,1074,1071,1080,1080,1082,1058,1084,1085,1086,1087,1088,1087,1090,1090,1092,1093,1085,1095,1096,1097,1098,1099,1097,1101,1102,1096,1104,1105,1106,1104,1056,1109,1110,1111,1112,1113,1114,1115,1116,1116,1118,1114,1120,1120,1122,1123,1112,1125,1126,1127,1128,1129,1127,1126,1132,1132,1134,1135,1110,1137,1138,1139,1140,1141,1142,1143,1144,1145,1145,1147,1148,1144,1150,1150,1152,1153,1142,1155,1156,1157,1158,1159,1159,1156,1162,1163,1164,1162,1140,1167,1168,1169,1170,1171,787,723,727,727,738,1177,1178,747,1180,1181,755,766,776,787,954,954,727,1189,960,738,747,747,755,1195,1196,755,774,774,721,721,736,753,753,776,787,1207,1207,1209,1209,951,951,723,1189,1215,738,1177,747,1219,1181,747,1196,1196,766,1225,1226,1226,766,1229,1230,719,1232,1233,719,734,1236,1237,734,717,717,1241,1242,1241,719,719,774,1247,1247,1249,721,1251,1252,964,964,1255,1256,968,969,1259,778,778,842,1048,849,1265,850,1267,853,853,856,859,859,861,1274,864,869,867,872,877,883,1281,1282,885,890,1285,1286,896,896,1289,1290,900,814,816,816,1295,1296,815,1298,818,1300,1301,1302,1303,1303,1305,1306,1302,1308,1309,1310,1310,1310,1313,1314,1309,1316,1317,1318,1318,1316,1321,1322,1300,1324,1325,1326,1327,1328,1328,1330,1328,1327,1333,1334,1335,1334,1325,1338,1339,1340,1341,1342,1340,1340,1345,1339,1347,1347,1349,1350,1347,817,1353,1354,1355,1356,1357,1355,1357,1357,1355,1355,1363,1364,1365,1366,1364,1364,1369,1370,1364,1372,1373,1373,1373,1376,1372,1378,1379,1380,1380,1363,1383,1384,794,732,1387,1388,810,757,762,1392,762,930,1395,1396,1397,1398,1399,1400,1400,1400,1403,1404,1400,1406,1407,1399,1409,1409,1409,1409,1413,1414,1397,1416,1417,1418,1419,1418,1418,1417,1423,1423,1423,1423,1427,1428,1428,1395,1431,1432,1433,1434,1435,1436,1435,1436,1439,1435,1441,1442,1435,1442,1434,1446,1446,1446,1446,1432,1451,1452,1453,1454,1455,1456,1457,1458,1459,1459,1461,1461,1463,1458,1465,1466,1465,1466,1469,1454,1471,1472,829,1474,1475,1476,1477,1478,1479,1480,1481,1482,1021,1031,1038,1048,1265,850,1489,1490,1490,854,1493,1493,853,1496,856,1498,1499,859,859,1502,1503,861,1505,1274,1507,1507,864,1510,1511,864,1513,1514,1514,867,1517,1518,1518,872,874,880,877,1524,968,1526,1527,1528,1529,1527,1531,1526,1533,972,1535,1536,1537,1538,1537,1535,1541,1542,1541,976,1545,1546,1547,1548,1545,1550,1551,1550,1553,975,1555,1556,1557,1558,1557,1556,1561,1562,1563,1561,972,1566,1567,1566,965,1570,1571,1572,1573,1574,1575,1576,1577,1578,1576,1575,1581,1573,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1591,1590,1595,1595,1597,1598,1588,1600,1601,1602,1603,1604,1605,1606,1604,1604,1603,1610,1611,1612,1613,1614,1614,1613,1617,1618,1619,1617,1621,1527,1533,1624,1625,1625,1625,967,1629,1630,1631,1632,1633,1634,1635,1636,1637,1637,1636,1640,1641,1642,1640,1640,784,782,789,1648,1649,1648,794,794,725,725,1655,1656,796,800,1659,732,1388,776,1663,1664,945,951,1527,1668,1669,1670,1671,1670,1673,1673,1668,1676,1677,1678,1679,1680,1678,1677,1683,1533,1685,1686,1687,1688,1688,1690,1687,1692,1685,1694,1695,1696,1696,1698,1699,1695,1701,1702,1703,1701,1536,1706,1707,1708,1709,1709,1708,1712,1706,1714,1715,1716,1716,1718,1719,1715,1721,1721,1541,1724,1725,1726,1727,1728,1729,1726,1731,1732,1733,1731,1724,1736,1737,1738,1738,1740,1741,1737,1743,1574,1573,1746,1574,1574,1746,1574,1751,1751,1753,1746,1755,1756,1746,1751,1756,1746,1761,1762,1574,1764,1765,1587,1767,1768,1768,1587,1586,1772,1772,1772,998,998,1010,1008,1020,1031,1031,1037,1038,847,1048,850,1267,1788,850,853,1496,1792,1496,1499,859,1796,1797,1503,861,1505,1801,722,1803,1804,1805,1806,1807,1808,1809,1810,1811,1808,1813,1814,1813,1806,1817,1818,1819,1809,1821,1822,1822,1824,1825,1821,1827,1828,1829,1827,1831,1832,1813,1834,1835,1836,1837,1835,1834,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1850,1854,1855,1849,1857,1857,1859,1860,1857,1862,1863,1847,1865,1866,1867,1868,1869,1867,1867,1866,1873,1873,1875,1876,1873],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,12,11,12,11,12,11,12,11,12,13,14,15,16,17,18,19,13,20,21,15,22,14,15,23,19,11,12,13,14,15,24,25,19,13,14,15,26,21,15,17,23,19,11,12,11,12,13,14,15,17,27,28,29,19,13,25,14,15,28,30,19,11,12,13,21,15,17,28,31,32,19,33,34,13,14,15,17,28,35,19,11,12,11,12,11,12,13,21,15,36,33,37,19,13,14,15,17,31,21,15,28,38,19,11,12,13,14,15,39,28,40,19,13,14,15,41,42,21,15,28,43,44,9,10,11,12,11,12,11,12,11,12,11,19,33,45,19,11,19,13,14,15,28,46,19,11,12,11,12,13,21,15,47,19,11,12,13,14,15,48,19,11,12,11,12,11,12,13,14,15,28,49,19,11,12,13,21,15,50,19,13,21,15,17,51,19,11,12,11,19,13,21,15,52,19,11,19,13,14,15,53,19,11,12,11,12,11,12,11,12,13,21,15,54,19,11,12,13,14,15,55,19,11,12,11,12,13,14,15,56,19,11,12,13,14,15,17,57,19,13,21,15,28,58,19,11,12,11,12,11,19,13,21,15,17,31,19,11,19,13,14,15,28,51,19,11,12,11,19,13,14,15,17,59,19,11,19,13,21,15,17,17,57,44,9,10,11,12,11,12,11,12,11,12,11,12,13,21,15,60,19,11,12,11,12,13,14,15,17,17,61,19,11,12,11,12,11,12,13,14,15,17,31,19,11,12,11,12,13,14,15,61,19,11,19,13,14,15,17,62,19,11,12,11,12,11,19,11,19,13,63,19,11,19,11,19,13,14,15,64,19,11,12,11,44,9,10,11,12,11,19,11,19,11,12,11,19,13,65,66,67,68,69,70,71,72,71,73,9,70,71,73,74,75,76,77,78,79,78,79,78,79,78,80,78,80,81,80,78,80,78,80,82,83,80,78,79,78,80,78,80,82,83,80,78,80,78,80,84,80,78,79,78,79,78,80,78,79,85,80,78,79,78,80,82,86,87,9,77,78,79,78,80,78,80,78,79,78,80,82,45,79,78,80,78,79,82,88,87,9,77,78,79,78,80,78,79,78,80,78,79,89,90,91,92,91,92,91,92,91,92,91,92,93,34,94,95,96,15,28,97,98,15,28,99,94,91,92,95,96,15,28,28,61,94,93,34,95,96,15,28,59,94,91,92,91,92,95,98,15,100,96,15,17,36,94,95,98,15,27,94,91,92,95,96,15,17,101,98,15,54,94,93,86,95,96,15,28,102,103,9,90,91,92,91,92,91,92,95,96,15,17,57,104,94,95,96,15,28,105,94,91,92,95,106,96,15,28,107,94,91,92,93,108,94,95,96,15,28,17,58,93,108,103,9,90,91,92,91,92,95,96,15,28,17,61,94,95,96,15,109,28,110,94,91,92,95,96,15,111,94,91,92,95,96,15,17,27,112,94,95,96,15,23,95,96,15,61,93,113,28,114,95,96,15,17,17,61,28,115,103,9,90,91,92,95,98,15,28,116,103,9,90,91,92,95,96,15,28,24,98,15,117,103,9,90,91,92,95,96,15,52,72,71,118,17,28,119,74,75,76,28,17,17,120,121,122,123,122,124,122,123,122,123,125,124,122,123,126,127,124,125,124,122,123,122,123,122,123,128,129,124,126,130,131,124,122,123,125,124,132,124,122,123,122,123,126,130,133,134,124,128,130,135,124,122,123,136,132,124,125,132,123,122,123,122,123,128,137,125,124,128,130,138,139,124,122,123,140,126,130,141,124,125,124,128,142,125,128,143,132,132,130,141,132,144,132,128,130,145,146,9,121,122,123,122,123,136,147,132,124,125,126,130,148,146,9,121,132,128,130,149,150,151,125,148,126,130,152,122,123,132,122,123,125,124,132,122,124,125,122,123,126,137,124,132,122,123,125,124,125,122,123,147,132,124,126,130,153,122,123,128,130,154,125,124,147,126,130,155,122,123,125,124,132,122,123,132,124,147,128,130,154,122,123,126,130,156,124,128,130,145,125,122,123,157,126,158,124,125,122,123,136,147,124,132,125,122,123,136,124,132,146,9,121,122,123,122,123,125,124,125,132,124,122,123,132,126,130,159,124,160,128,130,138,125,161,125,136,128,130,162,126,130,139,135,132,126,130,138,146,9,121,122,123,122,123,128,143,147,124,125,124,122,123,128,163,132,146,9,121,122,123,122,123,126,130,131,148,124,128,130,156,126,163,122,123,126,130,164,165,128,143,130,155,159,124,126,130,161,165,166,148,125,128,130,161,147,128,130,133,155,126,130,135,155,159,124,132,128,167,125,126,130,166,128,130,168,126,130,166,132,168,161,169,128,130,150,143,146,9,121,122,123,122,123,122,123,122,123,122,123,125,147,124,126,130,170,124,122,123,126,130,155,128,130,171,166,124,147,126,163,124,122,123,122,123,132,124,172,126,130,171,124,122,123,128,130,165,126,130,173,124,126,130,138,132,124,122,123,122,123,122,123,128,137,130,138,124,125,128,130,174,124,122,123,128,130,166,132,124,132,126,130,155,146,9,121,122,123,122,123,122,123,125,128,130,155,124,132,128,130,155,124,122,123,126,130,175,133,124,128,130,150,125,146,9,121,122,123,125,132,125,147,125,126,130,149,128,130,145,157,132,132,176,177,178,128,143,166,125,147,136,128,130,138,125,132,125,125,132,132,132,125,157,126,179,130,153,148,163,129,132,130,139,132,137,126,163,148,132,180,145,128,130,134,181,126,130,182,126,130,154,132,126,130,171,132,132,126,130,156,163,151,125,128,144,130,156,126,130,145,147,128,130,148,132,130,183,132,147,136,141,123,132,126,184,125,132,125,157,132,126,185,125,148,125,132,125,128,130,141,125,126,130,141,125,128,130,141,132,125,186,126,130,150,124,125,122,123,122,123,132,128,130,138,124,122,123,132,187,128,130,165,124,128,130,145,138,126,130,150,124,122,123,122,123,125,128,137,147,124,126,130,175,163,124,122,123,126,130,150,125,128,185,124,147,126,130,156,136,146,9,121,128,130,188,125,133,138,132,122,123,126,130,180,172,128,130,189,122,123,132,147,128,190,124,126,130,166,148,146,191,67,132,126,130,154,161,125,126,185,125,122,123,122,123,122,123,125,192,126,130,153,128,130,165,124,157,132,125,126,130,166,124,122,123,126,179,132,125,124,136,132,125,126,130,135,155,124,122,123,122,123,128,137,132,130,154,126,130,155,125,174,124,147,132,125,136,146,9,121,122,123,122,123,122,123,132,128,163,130,155,124,128,184,132,130,154,146,66,67,122,123,122,124,122,123,122,124,126,143,159,158,193,194,125,128,130,195,138,130,134,135,128,163,128,130,196,136,126,130,166,128,197,130,175,150,126,130,198,128,130,148,199,128,130,200,182,136,148,154,128,163,122,123,128,130,141,126,137,124,132,122,123,126,130,165,201,124,126,163,140,122,123,128,130,202,124,126,177,128,137,124,122,123,128,144,132,124,128,130,141,125,128,130,148,158,146,9,121,122,123,122,123,128,130,155,157,124,132,146,9,121,122,123,122,123,122,123,128,163,132,124,125,126,130,203,146,9,121,122,123,128,130,138,125,132,146,9,121,122,123,132,125,124,126,130,152,128,163,132,128,130,204,131,205,146,9,121,122,123,122,123,122,123,206,125,124,126,130,195,125,132,164,132,128,130,145,184,136,207,136,128,130,138,136,130,195,208,171,126,130,171,162,137,122,123,122,123,125,124,132,147,124,122,123,126,130,150,125,124,132,122,123,122,123,125,126,158,124,132,124,122,123,132,128,130,159,124,128,130,209,136,122,123,122,123,132,136,124,132,124,122,123,132,126,130,133,124,147,125,122,123,122,123,128,130,148,124,128,130,210,125,124,122,123,125,128,130,161,124,132,147,124,125,125,132,136,128,163,130,166,128,130,145,211,137,154,126,130,212,126,130,149,128,130,134,200,132,124,147,132,125,147,125,154,157,190,184,177,137,159,125,138,157,130,135,132,136,130,148,144,141,128,130,148,148,132,130,164,146,9,121,122,123,122,123,128,130,135,124,126,143,132,146,9,121,132,122,123,125,128,130,131,124,126,130,155,128,130,165,122,123,126,130,134,125,146,9,121,122,123,122,123,122,123,122,123,126,130,134,128,130,138,124,132,128,130,212,126,130,165,124,122,123,128,130,155,125,132,124,125,128,130,155,132],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12683d","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db998","0x3a28e4","0x11eaab","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1c7f","0x1edef0","0x1ee796","0x1eeae6","0x1edfa0","0x1f37e8","0x1f1c0d","0x1f1e9c","0x1ee015","0x1ee02b","0x1ee728","0x1f1c2d","0x1ee76f","0x1ee020","0x1eeb02","0x1edff5","0x1ee970","0x1ee030","0x1f1e73","0x1f257e","0x177e31","0x1edfbb","0x1ee010","0x177daf","0x1ee4d8","0x1ee979","0x1eebf1","0x1ee61f","0x1f2517","0x1ee074","0x1f3684","0x177dbc","0x1ee6a5","0x1ee0f3","0x1ee498","0x1ee8f8","0x1ee851","0x1ee802","0x1eea36","0x1ee828","0x1ee490","0x1ee72f","0x1eea1b","0x1edfd9","0x1edfb4","0x1edfb7","0x1ee865","0x1edfb0","0x1ee530","0x1f1fef","0x1ee753","0x1f1b80","0x26141","0x108c9b","0x25ec5","0x347a9d","0x1ef2d8","0x1eebf0","0x1eee79","0x1eeec7","0x2618c","0x26706","0x11e88d","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb431","0x1eb11d","0x177d91","0x1eb29a","0x1eb36b","0x177e44","0x1ec510","0x177d80","0x1eb195","0x15a5ad","0x59e38","0x34e36","0x59940","0x34fd2","0x59951","0x1edbd7","0x1ee027","0x1edb10","0x1edfdb","0x1ee7bc","0x1ee008","0x1ee47c","0x34ed4","0x1ee896","0x1ee048","0x1eda15","0x1edfad","0x177e4d","0x1ee003","0x1eea50","0x1ee720","0x1ee477","0x177db9","0x1ee807","0x1eea2b","0x1ee018","0x1ee8ad","0x1eef5c","0x1ee4a2","0x1ee370","0x247051","0x246666","0x246a05","0x246b93","0x246396","0x246363","libm.so.6","0x37f48","0x24637c","0x37f33","0x37f02","0x709ce","0x2463ab","0x76506","0x70ab8","0x7662f","0x2463bb","0x37f25","0x764f4","0x7648e","0x246347","0x764b3","0x37f21","0x37f31","0x37f27","0x764ac","0x246a77","0x2463af","0x7651d","0x76482","0x76637","0x246392","0x76530","0x70ab0","0x709c0","0x76514","0x7652b","0x246338","0x37f1d","0x764c0","0x2463c2","0x764d5","0x76491","0x37f03","0x764db","0x764e4","0x76488","0x37ef0","0xe380","0x24637a","0x76538","0x70aba","0x24638a","0x764fd","0x764eb","0x7650f","0x246354","0x37f2f","0x37f0b","0x37f37","0x764c4","0x70aa0","0x7649f","0x76474","0x37ef8","0x37efe","0x2463bf","0x246386","0x7647e","0x76622","0x37ef4","0x261a0","0x24636d","0x765ba","0x76532","0x7662a","0x709d6","0x37f4a","0x70a14","0x7654d","0x7654a","0x37f13","0x764e7","0x764a3","0x764d8","0x709e4","0x246361","0x2463b7","0x246330","0x764bb","0x76497","0x2463a7","0x709c7"],"tid":"700699","unregisterTime":116622126.552591},{"frameTable":{"length":197,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041225,2038911,2023152,2024726,2041214,1539516,2026242,2026214,2023348,2039452,2023496,1539633,2023385,2038642,2023924,2023344,2023387,2023470,2024527,2039730,676946,666129,2023467,2024610,1539652,2025581,2025498,1539647,2023460,2038635,2023450,2025120,2026015,2039484,2025061,2045572,2026488,2023445,2038675,2023286,155969,1084571,2043024,2044292,158863,3493043,677985,674697,674012,669105,1174187,156044,157446,1173645,2028248,2025283,2018025,2013424,2016405,2016768,2011421,1539480,2016528,1539499,1539473,1418669,368184,216630,366929,2022359,217042,2023891,2023351,2022160,2025526,2023440,2025482,366912,2026149,2026197,2025299,2025675,2025094,1539493,2024539,2024479,128050,216788,2023355,2025345,2022089,368286,1539050,674762,1706698,2388049,2385510,2386551,2386437,2384739,229122,484651,2386835,2384790,2384827,2384758,2384764,484544,2384815,2384811,2384715,58240,484614,484580,2384819,2384696,484548,484888,484478,484637,229157,229139,461248,484565,484632,2384786,461496,229167,484596,2384799,484488,2384807,229123,2384834,461488,461262,484658,229131,484682,229118,484482,484623,484583,229112,484587,2384724,484646,484524,229169,2384711,484568,461476,484628,484911,229149,229153,484599,461284,484610,484497,484714,484503,484919,484664,484539,484531,2384823,229159,2384702,461255,484468,484494,2384831,461328,461504,484794,484511,484672,229208,484473,229194,2384778,484571,2384774,2384688,461498,484726],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":197,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,2,2,1,1,1,1,1,2,1,1,1,2,2,2,1,1,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700700>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.373896,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,112],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":737,"stack":[20,29,38,47,54,60,66,70,81,90,102,112,120,125,129,136,138,144,146,147,151,158,163,165,170,173,174,179,184,191,197,198,203,206,224,234,243,268,270,270,270,270,270,279,282,282,282,282,282,284,297,304,315,330,353,368,374,383,389,392,401,407,409,417,423,424,426,437,438,443,450,452,458,460,462,463,470,486,488,491,496,500,513,519,520,525,532,537,547,551,553,559,563,567,568,570,578,580,581,585,587,590,598,602,603,607,608,610,615,616,619,623,624,627,631,632,634,635,637,641,643,644,647,648,651,654,657,659,660,661,664,665,669,670,669,673,674,677,678,681,686,687,688,692,693,698,699,700,704,705,708,717,719,722,730,732,733,734,735,736,736,737,631,632,634,738,740,752,754,756,757,757,761,764,766,767,770,778,779,780,784,785,786,790,792,796,799,800,814,816,816,817,821,821,821,825,826,826,832,832,835,836,838,839,840,845,846,847,849,850,849,860,861,863,869,870,872,880,881,883,891,892,894,897,903,904,907,908,909,910,616,736,631,913,914,915,916,917,651,660,659,918,919,920,674,922,678,923,924,926,927,928,929,705,934,935,939,943,944,946,949,952,953,955,960,961,963,963,973,975,978,983,985,986,991,992,996,997,998,1002,1003,1005,1008,1009,1012,1013,1015,1015,1019,1021,1022,1026,1027,1030,1031,1032,1035,1036,1037,1043,1046,1047,1048,1049,616,736,1050,1051,1052,1053,631,632,1056,1059,1056,1060,635,634,1061,1062,637,1065,752,1066,1067,1067,1068,767,1080,1082,1083,1087,1089,1090,1094,1095,1098,1102,1105,1106,1107,1115,1116,1119,1121,1122,1123,1127,1129,1132,1134,1137,1140,1148,1151,1152,1154,1157,1154,1162,1164,1167,1181,1182,1186,1187,1191,1193,1196,1202,1203,1211,1212,1214,1215,1217,1218,1220,551,1221,1222,1223,1224,1227,1228,1229,1230,1231,1233,1235,580,1236,587,1237,1238,1239,1240,1243,1244,1247,610,1248,1249,1249,1250,1253,1254,1255,1255,1258,1259,992,998,1260,1003,1262,1263,1270,1273,1275,1278,1279,1285,1288,1298,1298,1300,1304,1305,1306,1312,1313,1314,1316,1319,1321,1327,1328,1330,1342,1342,1343,1347,1348,1348,1349,1350,632,635,644,915,648,1351,1352,659,1353,1354,1355,1356,1357,678,1369,1370,1372,1378,1379,1381,1388,1389,1391,1393,1399,1401,1404,1412,1414,1414,1418,1420,1423,1429,1431,1434,1438,1441,1442,1443,631,632,634,1444,1445,1446,1447,1351,661,1450,1451,1354,1463,1464,1465,1469,1470,1480,1481,1483,1486,1489,1493,1496,1497,1498,1503,1505,1506,282,1509,1510,1512,1513,1516,1255,1519,1520,1259,1523,1524,1525,1528,1529,1530,1530,1533,1534,1535,1536,1537,1538,1539,1541,1542,1543,1543,1546,1548,1222,1550,1223,1553,1556,1557,1558,1559,1561,1229,567,1563,1565,1566,1567,1568,735,1569,1570,1571,1572,1573,635,738,1574,1577,644,648,648,651,651,651,659,660,1579,665,1580,1354,1583,1586,1587,1588,1589,1590,1591,1597,1598,1599,1602,1603,1605,1215,1215,1606,1607,1610,1611,551,1612,1614,1222,1221,1615,1223,1616,1617,1618,1619,1558,1622,1624,1230,1627,570,1628,1629,578,1632,1634,1635,1637,1638,1641,1642,1644,1646,587,1647,1650,1651,1652,1655,1656,1657,1660,608,1661,1662,1663,1666,1667,1668,1669,1670,1671,1672,1673,1676,1679,1680,1681,1682,1688,1690,1692,1692,1692,1695,1696,1699,1702,1704,1704,1711,1712,1712,1713,1249,1249,1250,1513,1720,1721,1723,1729,1731,1731,1736,1740,1744,1747,1749,1757,1757,1759,1760,1764,1766,1767,1773,1775,1775,1781,1783,1786,1789,1790,1794,1797,1797,1799,1803,1804,1806,1811,1814,1818,1819,1822,1824,1825,1830,1844,1845,1847,1848,1852,1853,1855,1858,1866,1867,1869,1872,1878,1881,1882,1885,1886,1888,1889],"time":[116621308.498026,116621310.555753,116621312.32249,116621313.920439,116621315.415605,116621316.691685,116621317.936298,116621319.264867,116621320.481106,116621321.637333,116621322.999768,116621324.044951,116621325.55985,116621326.535841,116621327.411531,116621328.324061,116621329.573573,116621330.541596,116621331.457508,116621332.386905,116621340.168568,116621341.000914,116621341.833812,116621342.703429,116621344.12444,116621345.032678,116621345.975179,116621346.929954,116621347.894934,116621348.865793,116621349.843255,116621350.839536,116621351.855952,116621352.880266,116621353.901438,116621354.917072,116621355.928039,116621356.935901,116621358.078945,116621358.083591,116621358.086716,116621358.08978,116621358.093101,116621358.113071,116621361.078628,116621361.084388,116621361.087051,116621361.089676,116621361.092385,116621361.112069,116621368.090549,116621370.50174,116621372.596883,116621374.443471,116621376.043364,116621378.021471,116621379.434367,116621380.785538,116621382.082922,116621383.247248,116621384.387013,116621386.332768,116621387.311933,116621388.240674,116621389.254134,116621390.209453,116621391.161096,116621392.122168,116621393.128889,116621394.142773,116621396.53466,116621397.382668,116621398.248934,116621399.148468,116621400.075512,116621401.023055,116621401.976257,116621402.907291,116621403.848312,116621404.811627,116621405.780216,116621406.755533,116621407.737981,116621408.767669,116621409.716828,116621410.668475,116621415.254574,116621418.247659,116621421.391395,116621422.83519,116621424.259084,116621425.494829,116621426.702217,116621428.096307,116621429.435553,116621430.739326,116621431.970059,116621433.141001,116621434.251605,116621435.394611,116621436.444359,116621437.472872,116621438.492655,116621439.506899,116621440.483137,116621441.474728,116621442.45561,116621443.428013,116621444.405811,116621445.389517,116621446.379099,116621447.37066,116621448.363808,116621449.347096,116621450.301733,116621451.388755,116621452.360761,116621453.311719,116621454.271738,116621455.258657,116621456.237475,116621457.218903,116621458.248243,116621459.231901,116621460.214649,116621461.198218,116621462.14848,116621463.106872,116621464.07533,116621465.060618,116621466.054115,116621467.0809,116621468.104132,116621469.127634,116621470.140273,116621471.148365,116621472.154088,116621473.158487,116621474.147984,116621475.112447,116621476.084005,116621477.063507,116621478.049,116621479.074962,116621480.100117,116621481.14501,116621482.156045,116621483.160776,116621484.163534,116621485.186154,116621486.229432,116621487.262808,116621488.246257,116621489.227665,116621490.212784,116621491.201636,116621492.193503,116621498.558448,116621499.336176,116621500.110668,116621500.936698,116621501.79245,116621502.685581,116621503.608452,116621504.669275,116621505.770092,116621506.859324,116621508.069774,116621509.287869,116621510.543746,116621511.765454,116621512.932041,116621514.033087,116621515.049665,116621516.020627,116621516.982033,116621517.916028,116621518.857998,116621519.814441,116621520.742954,116621521.680181,116621522.633215,116621523.599114,116621524.574386,116621525.556768,116621526.54415,116621527.605266,116621528.598868,116621529.578452,116621530.528178,116621531.477168,116621532.45427,116621533.465896,116621534.479096,116621535.488923,116621536.496597,116621537.502,116621538.483666,116621539.487716,116621540.803227,116621541.809801,116621542.75038,116621543.697606,116621544.657752,116621545.668313,116621546.642783,116621547.618902,116621548.61454,116621549.59994,116621550.587339,116621551.635614,116621552.621863,116621553.604447,116621554.590662,116621555.580162,116621556.572626,116621557.559041,116621558.548182,116621559.541064,116621560.543449,116621561.546367,116621562.548439,116621563.516439,116621564.479065,116621565.449818,116621566.428391,116621567.413029,116621568.401711,116621569.393557,116621572.597309,116621573.548048,116621574.642652,116621575.629684,116621576.62584,116621577.626264,116621578.627681,116621579.645545,116621580.851995,116621581.959167,116621583.051126,116621584.138634,116621585.205742,116621586.25537,116621587.29125,116621588.317197,116621589.335563,116621590.349022,116621591.358871,116621592.373224,116621593.423939,116621594.454801,116621595.510222,116621596.487591,116621597.497639,116621598.477692,116621599.45479,116621600.436987,116621601.649454,116621602.683568,116621603.674604,116621604.612198,116621605.558471,116621606.480562,116621607.388654,116621608.300815,116621609.235003,116621610.186492,116621611.151395,116621612.12588,116621613.111369,116621614.138727,116621615.164433,116621616.183898,116621617.198599,116621618.208892,116621619.216643,116621620.221997,116621621.298155,116621622.25236,116621623.205594,116621624.167881,116621625.139782,116621626.119771,116621627.106385,116621628.095532,116621629.087389,116621630.121833,116621631.154245,116621632.17865,116621633.196389,116621634.209357,116621635.218946,116621636.250411,116621637.253316,116621638.276041,116621639.282001,116621640.27427,116621641.267345,116621642.26189,116621643.257148,116621644.273686,116621645.221245,116621649.457414,116621650.258168,116621651.06209,116621651.902878,116621652.776372,116621653.707899,116621654.665263,116621655.610492,116621656.602886,116621657.777316,116621659.142216,116621660.410992,116621661.608098,116621662.75263,116621663.859239,116621664.937254,116621665.993961,116621667.12287,116621668.139358,116621669.140461,116621670.139912,116621671.139275,116621672.09426,116621673.014114,116621673.945392,116621674.88701,116621675.843102,116621676.8112,116621677.794762,116621678.778253,116621679.765195,116621680.755499,116621681.74814,116621682.742662,116621683.733437,116621684.688684,116621685.61444,116621686.547188,116621687.495294,116621688.489396,116621689.502616,116621690.5406,116621691.544627,116621692.543787,116621693.543429,116621694.585938,116621695.625874,116621696.656781,116621697.678817,116621698.695028,116621699.706718,116621700.715284,116621701.695126,116621702.657859,116621703.626697,116621704.603453,116621705.554241,116621706.503947,116621707.465341,116621708.437002,116621709.439632,116621710.423668,116621711.434611,116621712.490302,116621713.57545,116621714.551963,116621715.507752,116621716.471069,116621717.444625,116621718.42479,116621719.415286,116621720.404627,116621723.79412,116621724.752999,116621725.6546,116621726.544251,116621727.45568,116621728.400361,116621729.389668,116621730.438466,116621731.479314,116621732.52212,116621733.581299,116621734.628902,116621735.66373,116621736.728544,116621737.747204,116621738.751831,116621739.785018,116621740.82973,116621741.865152,116621742.891518,116621743.910516,116621744.924298,116621745.934491,116621746.94176,116621747.947414,116621748.951238,116621749.953856,116621750.955739,116621751.957333,116621752.963889,116621753.965001,116621754.964253,116621755.963579,116621756.967966,116621757.972215,116621758.934001,116621759.969041,116621760.949394,116621761.905846,116621762.867976,116621763.83996,116621764.824032,116621765.8092,116621766.801752,116621767.793099,116621768.785721,116621769.780013,116621770.780222,116621771.777287,116621772.774287,116621773.77561,116621774.774248,116621775.771342,116621776.730924,116621777.691093,116621778.661576,116621779.640992,116621780.624582,116621781.612766,116621782.604427,116621783.628407,116621784.619696,116621785.609389,116621786.601263,116621787.595101,116621788.590656,116621789.587916,116621790.586519,116621791.585114,116621792.584113,116621793.582847,116621800.2154,116621801.098334,116621801.979631,116621802.875076,116621803.801764,116621804.744701,116621805.702154,116621806.751559,116621807.945294,116621809.231518,116621810.498332,116621811.73179,116621812.90184,116621814.031455,116621815.110424,116621816.166036,116621817.205897,116621818.193368,116621819.130711,116621820.075674,116621821.0201,116621821.950912,116621822.888639,116621823.841147,116621824.806655,116621825.80293,116621826.784875,116621827.766842,116621828.752867,116621829.779726,116621830.788202,116621831.789047,116621832.775529,116621833.807749,116621834.83825,116621835.860224,116621836.876075,116621837.883919,116621838.85045,116621839.815957,116621840.789783,116621841.771359,116621842.756909,116621843.745937,116621844.738169,116621845.732273,116621846.728212,116621847.724941,116621848.690422,116621849.690363,116621850.680479,116621851.685011,116621852.719939,116621853.693556,116621854.690784,116621855.697537,116621856.703627,116621857.707995,116621858.716663,116621859.748322,116621860.791993,116621861.827436,116621862.858185,116621863.856175,116621864.869062,116621865.878004,116621866.846664,116621867.81504,116621868.790198,116621869.77159,116621870.780076,116621873.579393,116621880.424018,116621882.147798,116621884.638532,116621885.979753,116621887.351004,116621888.45848,116621889.590882,116621890.942485,116621892.311918,116621893.563749,116621894.755433,116621895.890464,116621896.987322,116621898.058029,116621899.108769,116621900.140696,116621901.280366,116621902.297082,116621903.282951,116621904.268278,116621905.257677,116621906.20847,116621907.163242,116621908.128774,116621909.104168,116621910.086225,116621911.072964,116621912.024193,116621912.980034,116621913.942233,116621914.913751,116621915.892989,116621916.888976,116621917.878928,116621918.868471,116621919.860147,116621920.854145,116621921.849971,116621922.856703,116621923.854494,116621924.850981,116621925.84785,116621926.845541,116621927.843752,116621928.842327,116621929.842108,116621930.848531,116621931.891606,116621932.931939,116621933.962431,116621934.984645,116621936.001581,116621937.013946,116621938.021717,116621939.005881,116621939.970203,116621940.936565,116621941.911149,116621942.892547,116621943.854006,116621944.843817,116621945.88328,116621946.843653,116621947.79546,116621948.810446,116621949.831946,116621950.84686,116621951.810342,116621952.770861,116621953.740369,116621954.718178,116621955.701831,116621956.689913,116621957.681851,116621958.713359,116621959.748959,116621960.776683,116621961.796982,116621962.811814,116621963.822524,116621968.130083,116621969.026402,116621969.940384,116621970.833366,116621971.746792,116621972.671832,116621973.647356,116621974.640608,116621975.637831,116621976.635991,116621977.63459,116621978.651925,116621979.690966,116621980.723912,116621981.748795,116621982.766874,116621983.779909,116621984.842777,116621985.944905,116621987.071468,116621988.162426,116621989.228892,116621990.277193,116621991.312427,116621992.39069,116621993.403552,116621994.438807,116621995.485484,116621996.509539,116621997.516365,116621998.492571,116621999.47064,116622000.454048,116622001.427953,116622002.37618,116622003.333072,116622004.322437,116622005.299464,116622006.277585,116622007.260705,116622008.248516,116622009.239633,116622010.233481,116622011.228959,116622012.225435,116622013.222984,116622014.221111,116622015.230775,116622016.229932,116622017.226852,116622018.223959,116622019.221638,116622020.220029,116622021.218703,116622022.217871,116622023.207371,116622024.184517,116622025.189619,116622026.177351,116622027.142697,116622028.113751,116622029.092357,116622030.07634,116622031.104975,116622032.135319,116622033.158482,116622034.155555,116622035.126766,116622036.102025,116622037.083652,116622038.070442,116622039.103829,116622040.092314,116622041.071646,116622042.021501,116622047.713168,116622048.57538,116622049.473981,116622050.814661,116622051.754937,116622052.769557,116622053.846001,116622054.975561,116622056.118406,116622057.261691,116622058.410263,116622059.541716,116622060.640613,116622061.726023,116622062.779289,116622063.815151,116622064.841558,116622065.860061,116622066.944332,116622067.953917,116622068.945288,116622069.936325,116622070.894286,116622071.845969,116622072.807618,116622073.779194,116622074.758555,116622075.743824,116622076.733062,116622077.725276,116622078.747182,116622079.784576,116622080.774264,116622081.757512,116622082.743595,116622083.733291,116622084.754795,116622085.771247,116622087.268778,116622088.420967,116622089.294791,116622090.155008,116622091.061656,116622091.983144,116622092.890182,116622093.813385,116622094.75667,116622095.715889,116622096.721389,116622097.700823,116622098.717476,116622099.740295,116622100.758478,116622101.771942,116622102.781594,116622103.788579,116622104.793881,116622105.797465,116622106.800149,116622107.802341,116622108.803694,116622109.76178,116622110.722318,116622111.774051,116622112.7523],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[2658,2057,1766,1597,1473,1276,1244,1265,1216,1156,1086,1045,976,975,875,912,933,968,915,929,924,832,832,869,901,908,942,954,964,970,977,982,1016,1024,1021,1015,1010,1007,1025,4,3,3,3,19,70,5,2,2,2,19,4392,2411,2095,1846,1599,1435,1412,1351,1271,1164,1139,1122,979,928,939,955,951,961,1006,1013,1009,848,866,899,927,947,953,931,941,955,968,975,982,968,949,951,630,918,1224,1443,1390,1235,1207,1394,1339,1303,1230,1170,1110,1078,1049,1028,1019,1014,976,991,980,972,977,983,989,991,993,983,954,962,972,950,960,969,978,981,985,983,982,983,950,958,968,985,993,1026,1023,1016,1012,1008,1005,1004,989,964,971,979,985,1025,1025,1018,1011,1004,1002,1022,1043,1033,983,981,985,988,991,915,777,774,826,855,893,922,1027,1100,1089,1210,1218,1255,1221,1166,1101,1016,970,961,933,941,956,928,937,953,965,975,982,987,989,993,979,949,948,977,1011,1013,1009,1007,1005,981,1004,1005,1006,940,947,960,970,974,976,981,985,987,990,986,982,986,989,992,964,955,992,1002,1002,1002,968,962,970,978,984,988,991,973,950,1013,987,996,1000,1001,1017,1049,1107,1091,1087,1067,1049,1035,1025,1018,1013,1009,1014,1050,1030,987,977,974,980,977,982,986,962,948,937,946,922,908,912,934,951,964,974,985,1027,1025,1019,1014,1010,1007,1005,997,954,953,962,971,979,986,989,991,1034,1032,1024,1017,1012,1009,1031,1002,1022,1005,992,993,994,995,983,947,876,800,803,840,873,931,957,945,992,1174,1364,1268,1197,1144,1106,1078,1056,1040,1016,1001,999,999,954,919,931,941,956,968,977,983,986,990,992,994,990,955,925,932,948,994,1013,1009,1004,999,999,1042,1039,1030,1022,1016,1011,1008,979,962,968,976,950,949,961,971,1002,984,1010,1027,1020,970,955,963,973,980,984,989,981,951,901,889,911,944,989,1048,1034,1042,1059,1047,1034,1024,1018,1004,1033,1044,1035,1026,1018,1013,1010,1007,1005,1003,1002,1001,1001,1000,1001,999,999,998,999,961,961,975,956,962,971,978,985,987,991,992,994,995,997,997,997,998,997,959,960,970,979,983,988,991,993,991,989,991,993,995,997,998,998,998,998,949,882,881,895,920,942,957,981,1188,1286,1266,1226,1170,1123,1078,1055,1011,982,937,944,944,930,937,952,965,974,981,981,986,988,992,986,986,1027,1030,1021,1015,1007,966,965,973,981,985,989,992,994,995,996,965,999,974,1004,966,968,997,1006,1006,1004,1002,1031,1043,1035,1025,993,1012,1008,968,968,975,981,986,260,2361,1723,2350,1341,1227,1107,1132,1351,1369,1251,1182,1135,1096,1070,1045,1031,1022,1016,985,985,964,950,954,965,975,982,986,951,955,962,971,979,986,989,989,991,993,995,996,997,996,996,997,998,998,999,1006,1043,1040,1030,1022,1016,1012,1007,984,964,966,974,981,961,989,991,960,951,961,971,967,963,960,969,977,983,988,991,1031,1035,1027,1020,1014,1010,994,896,913,892,900,925,975,993,997,998,998,1017,1039,1032,1024,1018,1013,1062,1102,1126,1090,1066,1048,1035,1024,1012,1035,1046,1024,979,976,978,983,973,948,956,967,977,978,983,987,991,993,995,996,997,998,998,999,996,997,997,998,998,999,989,977,1005,987,965,971,978,983,1028,1030,1023,997,971,975,981,986,989,988,979,949,902,862,898,926,940,1014,1076,1106,1142,1143,1148,1131,1098,1072,1053,1035,1026,1018,1011,1009,991,991,957,951,961,971,979,985,989,992,1021,1037,989,983,986,989,992,994,986,925,873,860,906,921,907,923,943,959,1005,979,1016,1022,1018,1013,1009,1006,1005,1003,1002,1002,988,958,960,968,978]},"stackTable":{"length":1890,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,9,21,22,23,24,25,26,27,28,24,30,31,32,33,34,35,36,37,22,39,40,41,42,43,44,45,46,11,48,49,50,51,52,53,15,55,56,57,58,59,31,61,62,63,64,65,44,67,68,69,7,71,72,73,74,75,76,77,78,79,80,74,82,83,84,85,86,87,88,89,72,91,92,93,94,95,96,97,98,99,100,101,92,103,104,105,106,107,108,109,110,111,104,113,114,115,116,117,118,119,51,121,122,123,124,52,126,127,128,49,130,131,132,133,134,135,135,137,131,139,140,141,142,143,16,145,58,56,148,149,150,13,152,153,154,155,156,157,153,159,160,161,162,159,164,27,166,167,168,169,26,171,172,62,62,175,176,177,178,33,180,181,182,183,40,185,186,187,188,189,190,186,192,193,194,195,196,44,42,199,200,201,202,200,204,205,7,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,214,225,226,227,228,229,230,231,232,233,212,235,236,237,238,239,240,241,242,238,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,207,269,6,271,272,273,274,275,276,277,278,4,280,281,5,283,5,285,286,287,288,289,290,291,292,293,294,295,296,290,298,299,300,301,302,303,286,305,306,307,308,309,310,311,312,313,314,306,316,317,318,319,320,321,322,323,324,325,326,327,328,329,323,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,5,354,355,356,357,358,359,360,361,362,363,364,365,366,367,363,369,370,371,372,373,361,375,376,377,378,379,380,381,382,376,384,385,386,387,388,385,390,391,359,393,394,395,396,397,398,399,400,396,402,403,404,405,406,402,408,394,410,411,412,413,414,415,416,411,418,419,420,421,422,421,418,425,357,427,428,429,430,431,432,433,434,435,436,436,432,439,440,441,442,430,444,445,446,447,448,449,446,451,445,453,454,455,456,457,456,459,457,461,459,355,464,465,466,467,468,469,467,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,481,487,480,489,490,478,492,493,494,495,494,497,498,499,493,501,502,503,504,505,506,507,508,509,510,511,512,508,514,515,516,517,518,515,506,521,522,523,524,473,526,527,528,529,530,531,5,533,534,535,536,534,538,539,540,541,542,543,544,545,546,541,548,549,550,549,552,539,554,555,556,557,558,557,560,561,562,555,564,565,566,566,565,569,534,571,572,573,574,575,576,577,576,579,579,574,582,583,584,583,586,586,588,589,572,591,592,593,594,595,596,597,594,599,600,601,599,592,604,605,606,606,605,609,544,611,612,613,614,612,612,617,618,611,620,621,622,622,620,625,626,543,628,629,630,630,629,633,633,633,636,550,638,639,640,640,642,639,638,645,646,645,552,649,650,650,652,653,650,655,656,649,658,658,658,558,662,663,663,662,666,667,668,666,560,671,672,672,671,675,676,675,675,679,680,566,682,683,684,685,683,685,682,689,690,691,689,569,694,695,696,697,697,695,694,701,702,703,701,701,706,707,535,709,710,711,712,713,714,715,716,713,718,718,720,721,711,723,724,725,726,727,728,729,727,731,727,614,620,620,630,633,636,739,541,741,742,743,744,745,746,747,748,749,750,751,751,753,750,755,755,748,758,759,760,760,762,763,759,765,765,765,768,769,746,771,772,773,774,775,776,777,776,775,774,781,782,783,781,783,772,787,788,789,789,791,788,793,794,795,793,797,798,795,744,801,802,803,804,805,806,807,808,809,810,811,812,813,812,815,815,810,818,819,820,819,822,823,824,822,808,827,828,829,830,831,831,833,834,831,830,837,837,837,828,841,842,843,844,843,843,842,848,848,806,851,852,853,854,855,856,857,858,859,859,858,862,856,864,865,866,867,868,866,865,871,854,873,874,875,876,877,878,879,877,876,882,874,884,885,886,887,888,889,890,890,889,893,893,895,896,887,898,899,900,901,902,902,900,905,906,900,906,613,633,911,912,739,639,645,645,663,666,666,676,921,685,683,689,925,697,696,707,577,930,931,932,933,933,930,936,937,938,579,940,941,942,942,940,945,945,947,948,584,950,951,951,950,954,586,956,957,958,959,957,956,962,572,964,965,966,967,968,969,970,971,972,969,974,974,976,977,967,979,980,981,982,980,984,984,970,987,988,989,990,988,987,993,994,995,993,993,974,999,1000,1001,1000,999,1004,1004,1006,1007,1007,981,1010,1011,1011,1010,1014,984,1016,1017,1018,1017,1020,1017,1016,1023,1024,1025,1023,970,1028,1029,1029,970,974,1033,1034,1034,1034,967,1038,1039,1040,1041,1042,1040,1044,1045,1045,614,614,626,621,626,622,630,1054,1055,630,1057,1058,912,912,912,751,1063,1064,755,760,765,746,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1079,1081,1079,1078,1084,1085,1086,1084,1088,1084,1076,1091,1092,1093,1093,1093,1096,1097,1092,1099,1100,1101,1099,1103,1104,1104,1104,1074,1108,1109,1110,1111,1112,1113,1114,1114,1112,1117,1118,1111,1120,1120,1120,1109,1124,1125,1126,1126,1128,1126,1130,1131,1125,1133,1133,1135,1136,1133,1138,1139,1072,1141,1142,1143,1144,1145,1146,1147,1147,1149,1150,1150,1146,1153,1153,1155,1156,1144,1158,1159,1160,1161,1161,1163,1160,1165,1166,1159,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1180,1177,1183,1184,1185,1183,1175,1188,1189,1190,1189,1192,1192,1194,1195,1173,1197,1198,1199,1200,1201,1201,1200,1204,1205,1206,1207,1208,1209,1210,1208,1207,1213,544,544,1216,628,628,1219,552,552,558,562,560,1225,1226,566,566,569,577,577,1232,579,1234,584,588,595,595,600,606,1241,1242,606,609,1245,1246,542,548,556,556,1251,1252,564,575,582,1256,1257,582,993,1004,1261,1004,1040,1264,1265,1266,1267,1268,1269,1269,1271,1272,1268,1274,1274,1276,1277,1276,1266,1280,1281,1282,1283,1284,1282,1286,1287,1281,1289,1290,1291,1292,1293,1294,1295,1296,1297,1297,1299,1296,1301,1302,1303,1301,1303,1294,1307,1308,1309,1310,1311,1311,1311,1308,1315,1315,1317,1318,1315,1320,1292,1322,1323,1324,1325,1326,1326,1326,1329,1325,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1341,1340,1344,1345,1346,1344,544,630,650,658,663,666,668,672,679,555,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1368,1367,1371,1365,1373,1374,1375,1376,1377,1377,1374,1380,1363,1382,1383,1384,1385,1386,1387,1386,1385,1390,1390,1392,1383,1394,1395,1396,1397,1398,1395,1400,1400,1402,1403,1361,1405,1406,1407,1408,1409,1410,1411,1410,1413,1408,1415,1416,1417,1416,1419,1419,1421,1422,1406,1424,1425,1426,1427,1428,1427,1430,1430,1432,1433,1425,1435,1436,1437,1436,1439,1440,1439,544,639,642,645,650,663,1448,1449,663,557,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1462,1460,1459,1466,1467,1468,1466,1457,1471,1472,1473,1474,1475,1476,1477,1478,1479,1477,1476,1482,1482,1484,1485,1482,1487,1488,1474,1490,1491,1492,1492,1494,1495,1495,1492,1455,1499,1500,1501,1502,1502,1504,1504,542,1507,1508,548,556,1511,564,564,1514,1515,575,1517,1518,1257,593,1521,1522,1522,1522,604,1526,1527,1526,538,538,1531,1532,571,571,546,546,546,1219,1219,1540,1219,550,550,1544,1545,552,1547,552,1549,558,1551,1552,558,1554,1555,560,560,560,566,1560,569,1562,1562,1564,1564,612,612,626,621,1054,1057,739,642,639,1575,1576,663,1578,663,666,1581,1582,1460,1584,1585,1462,1460,1468,1466,1468,1457,1592,1593,1594,1595,1596,1594,1594,1593,1600,1601,1600,1601,1604,544,628,628,1608,1609,1219,1545,550,1613,1549,1551,1554,561,560,566,1620,1621,1560,1623,569,1625,1626,1564,577,577,1630,1631,579,1633,1633,1234,1636,584,584,1639,1640,584,586,1643,1643,1645,1645,595,1648,1649,597,595,599,1653,1654,599,1653,606,1658,1659,606,1246,1246,609,1664,1665,1508,542,548,556,556,1366,1366,1373,1674,1675,1384,1677,1678,1384,1394,1394,1361,1683,1684,1685,1686,1687,1687,1689,1686,1691,712,1693,1694,712,727,1697,1698,1698,1700,1701,1697,1703,726,1705,1706,1707,1708,1709,1710,1709,542,714,1714,1715,1716,1717,1718,1719,1717,1716,1722,1714,1724,1725,1726,1727,1728,1725,1730,718,1732,1733,1734,1735,1734,1737,1738,1739,1732,1741,1742,1743,1743,1745,1746,1742,1748,711,1750,1751,1752,1753,1754,1755,1756,1755,1758,1758,1753,1761,1762,1763,1762,1765,1765,1751,1768,1769,1770,1771,1772,1771,1774,1769,1776,1777,1778,1779,1780,1777,1782,1782,1784,1785,1717,1787,1788,1788,1787,1791,1792,1793,1722,1795,1796,1795,1798,1726,1800,1801,1802,1801,1800,1805,1730,1807,1808,1809,1810,1808,1812,1813,1807,1815,1816,1817,1815,1735,1820,1821,1820,1823,1823,1737,1826,1827,1828,1829,1826,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1841,1840,1846,1846,1838,1849,1850,1851,1851,1850,1854,1854,1856,1857,1836,1859,1860,1861,1862,1863,1864,1865,1863,1862,1868,1868,1870,1871,1860,1873,1874,1875,1876,1877,1875,1879,1880,1875,1875,1883,1884,1884,1883,1887,1887],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,9,7,8,7,8,10,11,12,13,9,7,8,7,8,7,8,14,15,9,7,9,10,11,12,16,17,18,9,7,9,7,8,10,19,12,20,8,7,8,7,9,14,21,9,10,11,12,17,22,8,10,19,12,17,18,11,12,17,18,9,7,8,7,8,7,9,7,8,10,23,9,7,8,7,9,10,11,12,24,9,7,8,7,8,7,9,10,19,12,16,25,9,7,8,7,8,10,19,12,17,26,9,7,9,10,11,12,16,27,8,10,11,12,28,10,29,30,31,9,7,8,10,19,12,32,16,33,9,10,19,12,16,25,14,34,20,19,12,16,35,9,7,8,10,11,12,25,9,10,19,12,36,14,37,10,19,12,17,38,9,14,21,39,11,12,16,16,40,19,12,16,17,41,8,7,8,10,19,12,42,9,10,11,12,16,18,43,9,10,19,12,44,11,12,22,45,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,16,46,9,7,9,7,8,10,19,12,17,47,9,7,8,7,8,7,9,10,48,9,7,45,5,6,7,45,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,17,17,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,67,69,67,68,67,68,67,68,70,15,69,67,69,67,69,70,21,69,67,68,67,69,67,68,67,69,70,71,72,5,66,67,68,67,68,67,68,67,69,67,68,70,73,69,67,72,5,66,67,68,67,72,5,66,67,68,67,68,67,68,67,69,67,69,70,74,75,76,77,76,77,76,77,76,77,76,77,78,79,12,18,80,78,79,12,16,81,80,76,77,78,79,12,16,17,82,80,78,83,12,16,84,79,12,85,80,76,77,76,77,78,79,12,86,80,78,79,12,16,25,87,74,80,76,77,78,83,12,17,88,80,78,79,12,17,18,89,87,37,80,76,77,76,77,76,77,78,79,12,90,91,80,78,79,12,92,80,76,77,78,83,12,18,87,93,80,78,79,12,16,82,17,94,95,96,22,97,5,75,76,77,87,74,97,5,75,76,77,76,77,76,77,76,77,78,79,12,17,98,87,74,80,87,21,80,76,77,87,15,78,79,12,86,97,5,75,76,77,76,77,76,77,78,83,12,99,80,78,79,12,17,32,100,80,76,77,87,34,101,102,54,55,56,103,104,105,106,107,50,51,108,106,108,106,108,106,108,109,110,111,112,106,108,113,112,114,112,106,108,106,108,115,112,116,110,117,112,106,108,113,118,112,119,112,106,108,106,108,106,108,119,112,119,115,112,106,108,120,112,113,109,110,121,112,106,108,106,108,116,110,122,112,116,110,123,124,112,106,108,125,113,112,119,106,108,116,110,126,113,109,110,127,112,109,110,128,117,116,110,129,112,106,108,119,113,112,113,119,109,130,106,108,109,131,110,132,119,112,116,130,113,106,108,119,109,110,133,116,110,134,112,113,119,114,106,108,135,113,112,109,110,136,119,106,108,119,113,112,116,137,113,109,110,129,106,108,116,110,129,119,138,112,116,110,123,119,106,108,116,110,138,129,139,112,109,110,129,113,116,110,138,5,105,106,108,106,108,116,110,140,112,141,116,110,122,107,5,105,106,108,116,110,136,109,142,143,144,119,113,125,114,110,145,107,5,105,106,108,106,108,106,108,106,108,113,116,142,112,119,113,112,106,108,119,116,110,136,112,119,113,109,110,146,112,106,108,106,108,116,110,132,147,119,112,116,110,121,119,148,112,106,108,113,116,149,112,109,110,150,116,110,151,132,107,5,105,106,108,106,108,106,108,106,108,106,108,139,112,113,119,112,106,108,119,112,116,110,152,113,112,106,108,106,108,119,116,110,132,118,112,113,118,139,112,106,108,109,153,118,113,112,113,119,107,5,105,106,108,106,108,106,108,114,119,112,119,112,106,108,109,110,122,113,112,119,112,106,108,106,108,116,110,154,155,112,113,107,5,105,106,108,106,108,113,119,112,114,116,110,111,107,5,105,109,110,111,129,116,110,156,119,157,158,116,110,154,151,113,118,119,125,125,159,110,160,133,113,109,131,154,137,111,106,108,116,110,161,111,112,109,110,152,106,108,116,130,153,112,119,109,110,162,106,108,119,113,112,113,106,108,116,110,123,118,112,113,107,5,105,106,108,106,108,116,110,163,112,114,109,110,162,112,106,108,116,164,112,119,118,106,108,109,110,163,119,112,116,110,129,118,119,106,108,116,165,119,112,119,116,110,157,144,106,108,119,113,112,119,106,108,109,142,116,164,119,112,116,110,166,119,109,110,136,167,118,116,110,163,162,144,107,5,105,116,110,123,109,110,168,123,162,129,169,165,133,133,116,110,136,109,110,111,136,163,157,109,110,140,135,113,114,107,5,105,106,108,106,108,106,108,106,108,124,109,130,113,112,116,110,138,109,142,113,112,106,108,119,113,116,110,129,112,109,110,129,116,110,170,144,171,112,106,108,106,108,109,110,172,128,116,110,136,112,118,113,125,112,106,108,119,109,137,116,110,166,112,113,109,110,162,116,110,111,112,106,108,106,108,106,108,125,116,110,173,123,112,119,116,110,123,112,106,108,116,130,110,129,109,110,138,107,5,105,106,108,106,108,106,108,106,108,116,110,123,174,112,116,110,175,119,112,106,108,119,112,118,116,110,152,107,5,105,106,108,113,176,107,5,105,106,108,109,110,136,118,112,125,119,116,149,114,109,137,119,113,119,128,109,110,160,119,114,113,113,116,177,116,158,113,131,119,114,130,109,110,175,119,116,110,174,124,119,118,109,110,121,178,119,116,110,122,119,113,109,147,113,106,108,106,108,106,108,113,109,110,111,112,113,116,110,179,149,112,106,108,116,110,180,109,110,132,107,5,105,106,108,106,108,106,108,119,116,130,112,116,110,132,113,160,112,106,108,116,110,163,117,162,112,119,116,110,129,109,130,107,5,105,106,108,114,113,109,130,107,5,105,106,108,106,108,106,108,106,108,113,119,112,109,110,111,119,114,118,113,125,118,113,151,114,147,107,5,105,106,108,106,108,106,108,106,108,113,119,112,113,112,106,108,109,110,138,181,112,115,112,106,108,106,108,116,149,115,112,119,109,153,112,106,108,116,110,123,112,113,116,110,136,112,106,108,106,108,106,108,114,112,113,112,106,108,118,112,119,109,110,150,112,106,108,106,108,119,112,113,116,110,128,112,106,108,119,112,109,130,159,159,118,146,176,182,109,110,123,119,107,5,105,106,108,106,108,106,108,116,110,157,136,119,112,116,110,167,114,107,5,105,106,108,106,108,116,110,157,119,112,119,116,110,162,109,110,138,107,5,105,113,109,110,128,132,114,107,5,105,116,142,110,129,145,109,110,183,114,116,130,113,116,110,133,109,110,138,162,116,110,160,184,172,116,110,140,142,119,116,110,152,114,119,132,151,144,142,110,162,153,119,116,110,132,109,153,116,137,116,110,166,109,110,148,113,119,135,109,130,116,142,110,167,138,118,114,157,153,131,153,185,186,116,110,172,116,142,114,116,110,186,109,110,162,117,113,175,113,133,112,106,108,116,110,187,119,118,112,116,142,113,110,138,113,119,116,110,145,130,129,109,142,188,177,130,158,141,116,110,163,110,157,109,110,117,154,118,109,110,183,109,147,165,110,123,114,116,110,129,119,116,142,110,156,157,109,110,121,189,118,109,110,162,113,190,116,110,123,191,132,123,109,110,126,117,119,113,182,119,113,139,109,110,150,116,110,132,113,118,113,107,5,105,106,108,113,109,147,112,113,116,110,146,113,106,108,119,116,110,138,112,119,107,5,105,106,108,116,130,119,113,106,108,106,108,116,110,123,119,112,139,112,106,108,109,110,152,112,119,106,108,106,108,113,112,116,110,175,112,106,108,119,116,110,181,112,119,112,106,108,106,108,106,108,113,112,119,113,112,106,108,113,112,114,119,112,106,108,106,108,113,112,113,112,106,108,109,110,117,112,159,109,110,192,106,108,118,113,112,109,110,174,106,108,119,112,113,106,108,109,158,113,112,119,106,108,116,110,117,109,110,121,112,116,110,134,113,106,108,113,112,193,113,106,108,109,110,123,107,5,105,106,108,106,108,106,108,106,108,116,110,129,113,112,119,113,112,106,108,113,194,112,113,109,110,154,112,106,108,106,108,116,110,195,119,112,119,116,110,136,107,5,105,109,110,132,116,110,196,118,106,108,113,119,112,119,113],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f2589","0x1f1c7f","0x1edef0","0x1ee516","0x1f257e","0x177dbc","0x1eeb02","0x1eeae6","0x1edfb4","0x1f1e9c","0x1ee048","0x177e31","0x1edfd9","0x1f1b72","0x1ee1f4","0x1edfb0","0x1edfdb","0x1ee02e","0x1ee44f","0x1f1fb2","0xa5452","0xa2a11","0x1ee02b","0x1ee4a2","0x177e44","0x1ee86d","0x1ee81a","0x177e3f","0x1ee024","0x1f1b6b","0x1ee01a","0x1ee6a0","0x1eea1f","0x1f1ebc","0x1ee665","0x1f3684","0x1eebf8","0x1ee015","0x1f1b93","0x1edf76","0x26141","0x108c9b","0x1f2c90","0x1f3184","0x26c8f","0x354cb3","0xa5861","0xa4b89","0xa48dc","0xa35b1","0x11eaab","0x2618c","0x26706","0x11e88d","0x1ef2d8","0x1ee743","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177d98","0x1ec510","0x177dab","0x177d91","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x34fd2","0x1ee1d3","0x1edfb7","0x1edb10","0x1ee836","0x1ee010","0x1ee80a","0x59940","0x1eeaa5","0x1eead5","0x1ee753","0x1ee8cb","0x1ee686","0x177da5","0x1ee45b","0x1ee41f","0x1f432","0x34ed4","0x1edfbb","0x1ee781","0x1edac9","0x59e9e","0x177bea","0xa4bca","0x1a0aca","0x247051","0x246666","0x246a77","0x246a05","0x246363","libm.so.6","0x37f02","0x7652b","0x246b93","0x246396","0x2463bb","0x246376","0x24637c","0x764c0","0x2463af","0x2463ab","0x24634b","0xe380","0x76506","0x764e4","0x2463b3","0x246338","0x764c4","0x76618","0x7647e","0x7651d","0x37f25","0x37f13","0x709c0","0x764d5","0x76518","0x246392","0x70ab8","0x37f2f","0x764f4","0x24639f","0x76488","0x2463a7","0x37f03","0x2463c2","0x70ab0","0x709ce","0x76532","0x37f0b","0x7654a","0x37efe","0x76482","0x7650f","0x764e7","0x37ef8","0x764eb","0x246354","0x76526","0x764ac","0x37f31","0x246347","0x764d8","0x70aa4","0x76514","0x7662f","0x37f1d","0x37f21","0x764f7","0x709e4","0x76502","0x76491","0x7656a","0x76497","0x76637","0x76538","0x764bb","0x764b3","0x2463b7","0x37f27","0x24633e","0x709c7","0x76474","0x7648e","0x2463bf","0x70a10","0x70ac0","0x765ba","0x7649f","0x76540","0x37f58","0x76479","0x37f4a","0x24638a","0x764db","0x246386","0x246330","0x70aba","0x76576"],"tid":"700700","unregisterTime":116622126.552591},{"frameTable":{"length":215,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041388,365295,3493043,677985,674697,672408,2041225,2038911,2023152,2024600,2039452,2023348,2026481,2023835,2026242,2024595,2025675,2041214,1539516,2025013,2038738,2025094,2026214,2023445,2025817,2026488,2045572,2038809,2023387,2026253,2023467,2023344,2025345,2025413,2023390,2023472,2023941,2023460,2023420,2025272,2039133,676832,2023351,2025263,2025080,2038635,2025498,1539513,2025749,2025545,2025811,2023413,2023470,2023509,2023600,2026072,2038525,155969,1084571,156044,157446,1173645,2018025,2013424,2016405,2011421,1539647,1539652,2016528,2016768,2011482,1539473,1418669,368184,216630,366929,2022359,2025279,2023456,217042,366912,2023264,2021971,1539656,2022160,2023385,2024681,1539477,2025256,2023271,1539493,2021955,2025712,2024620,216788,2023895,2023496,2024558,2023374,2025128,1539633,2026022,2024567,368286,1539050,158863,674012,669105,1174187,674762,1706698,2028248,2025291,2388049,2385510,2386437,2384764,229122,484571,2386835,2384702,2384790,2384811,2384739,229118,229184,461262,229157,229159,484623,484596,484628,484488,484614,2384827,229123,484583,2384815,484919,461496,484664,484651,484524,484580,2386551,484632,484658,484639,2384831,484539,2384696,2384758,484531,2384799,484587,2384819,484637,229131,229104,229112,229149,58240,229139,2384724,2384823,484911,461248,2384749,2384711,2384774,484641,484497,229143,484494,461476,484565,461255,461488,461504,229188,484511,229169,484901,229171,484544,484605,484682,229153,2384807,2384786,484482,2384715,2386498,2019197,461340,484670,484792,229167,484656,484478,2384778,2384834,484568,484906,461498],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":215,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,2,2,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2,2,1,2,2,2,1,2,1,1,2,1,2,1,2,2,2,2,2,2,2,1,1,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,1,1,2,2,2,2,2,2,1,1,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700701>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.660189,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,129],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":757,"stack":[22,33,42,55,64,76,86,93,100,102,110,111,119,121,129,135,150,156,164,169,178,184,191,196,208,215,219,228,235,245,251,257,262,280,285,286,291,296,303,309,316,323,334,340,347,352,370,381,395,406,421,423,426,426,426,426,426,439,440,454,489,504,506,509,515,523,526,529,531,535,545,547,549,552,553,559,560,564,569,570,575,576,579,580,582,590,591,594,601,607,608,610,612,613,622,622,622,622,622,624,426,426,426,426,426,626,426,426,426,426,426,426,636,642,643,645,650,653,657,659,660,665,666,667,670,671,674,677,678,681,682,683,683,684,685,685,687,690,666,692,693,698,700,704,707,710,711,711,715,716,719,722,726,727,728,731,734,738,739,753,754,755,757,760,766,767,768,774,777,778,426,426,426,426,426,426,781,782,783,787,788,788,789,790,789,791,794,795,796,796,799,796,800,801,802,803,802,805,806,806,805,806,806,806,807,805,810,806,811,825,825,827,833,834,836,842,842,844,848,849,851,859,859,861,865,866,868,874,875,877,882,885,887,888,889,890,891,710,711,892,893,895,896,731,897,898,901,903,907,908,910,913,914,916,917,920,923,924,925,891,891,711,928,929,893,931,932,727,731,739,739,901,901,935,937,908,940,946,947,949,951,954,955,956,957,958,961,962,963,966,972,974,976,982,985,987,990,994,996,1000,1001,1002,1003,957,1006,1007,1008,782,782,782,783,1009,782,1010,782,1012,1024,1025,1026,1029,1032,1033,1037,1037,1038,1042,1043,1044,1052,1053,1054,1057,1059,1060,1066,1067,1068,1070,1071,1074,1080,1083,1084,1095,1096,1099,1103,1104,1107,1113,1116,1117,1121,1122,1123,1129,1132,1135,1136,1138,1142,1145,1147,1149,1152,1155,1165,1166,1168,1171,1173,1174,1184,1184,1186,1191,1192,1194,1195,782,1196,789,1197,789,1198,1200,1202,1203,1204,806,806,1205,1206,1209,1210,1213,1210,1210,1215,1216,1216,1219,1222,1223,1226,1227,1222,1235,1237,1247,1251,1252,1256,1256,1257,1259,1260,1268,1269,1271,1272,1277,1279,1281,1283,1292,1293,1297,1298,1299,1303,1306,1308,1309,1315,1316,1319,1320,1332,1333,1337,1338,1346,1349,1353,1354,1355,1356,783,1357,789,1358,796,1359,1210,1215,1222,1360,1362,1365,1367,1368,1372,1374,1375,1378,1382,1383,1386,1386,1388,1391,1391,1393,1396,1399,1402,1403,1405,1407,1410,1411,1415,1418,1419,1420,1422,1423,1426,1430,1432,1433,1445,1447,1449,1453,1454,1458,1464,1465,1467,1471,1472,1474,1488,1489,1491,1491,1495,1497,1498,1504,1505,1507,1508,1518,1519,1522,1524,1526,1527,1529,423,426,426,1532,426,426,1536,1532,426,1537,1553,1555,1556,1557,1558,710,1559,1560,1562,1563,896,728,1564,1565,1566,1569,1570,1573,1391,1574,1575,1578,1579,1580,1579,1581,1582,1583,1584,1585,1586,1587,1399,1585,1588,1589,1396,1585,1591,1403,1592,1595,1596,1597,1592,1402,1403,1592,1402,1595,1600,1601,1602,1603,1604,1601,1605,1606,1607,1608,1609,1606,1611,1419,1612,1613,1614,1615,1419,1616,1617,1618,1419,1618,1619,1619,1619,1622,1623,1624,1625,1423,1626,1627,1628,1619,1631,1631,1631,1631,1631,1633,1634,1635,1637,1638,1639,666,1641,692,782,1642,796,1643,1644,1209,1210,1215,1227,1227,1645,1646,1647,1648,1648,1649,1652,1653,1654,1655,1383,1656,1386,1388,962,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1008,1669,1669,1580,1670,1586,1583,1585,1671,1672,1592,1402,1680,1683,1684,1686,1686,1692,1693,1695,1695,1696,643,682,1697,1698,1699,1579,1391,1585,1700,1701,1670,1402,1402,1702,1703,1602,1704,1705,1601,1706,1419,1419,1707,1419,1708,1619,1709,1423,1619,1623,1710,1430,1433,1711,1713,1715,1716,1718,1719,1721,1728,1729,1729,1730,1729,1732,1732,1735,1737,1738,1742,1743,1746,1742,1742,1748,1749,1752,1755,1756,1766,1767,1768,1776,1777,1780],"time":[116621307.025171,116621308.052218,116621309.059857,116621310.063861,116621311.066816,116621312.028871,116621313.009123,116621314.041903,116621315.053003,116621316.059245,116621317.071645,116621318.128653,116621319.224388,116621320.317896,116621321.40872,116621322.458668,116621323.493065,116621324.51788,116621325.536155,116621326.573524,116621327.580516,116621328.582556,116621329.582985,116621330.600153,116621331.670034,116621332.690456,116621333.675664,116621334.653898,116621335.636926,116621336.623507,116621337.613795,116621338.604411,116621339.611581,116621340.576873,116621341.546235,116621342.523108,116621343.505558,116621344.492397,116621345.457674,116621346.425971,116621347.401848,116621348.3832,116621349.369404,116621350.359446,116621351.361065,116621352.384378,116621353.404933,116621354.42061,116621355.472915,116621356.476093,116621357.473228,116621361.591202,116621364.976985,116621364.981272,116621364.983872,116621364.986428,116621364.98902,116621365.014671,116621366.012212,116621371.287947,116621374.50331,116621377.359734,116621379.552858,116621381.817937,116621383.649662,116621385.541665,116621386.990861,116621388.282431,116621389.558196,116621390.690904,116621391.769023,116621392.848028,116621393.928619,116621395.02461,116621396.062551,116621397.109002,116621398.124545,116621399.13052,116621400.13374,116621401.135561,116621402.122152,116621403.085957,116621404.055485,116621405.033522,116621406.017293,116621407.005766,116621407.996809,116621408.961583,116621409.920507,116621410.885606,116621411.872056,116621412.853976,116621413.837619,116621414.82602,116621415.428206,116621415.433475,116621415.436568,116621415.43948,116621415.442356,116621415.460986,116621417.398749,116621417.403899,116621417.40669,116621417.409232,116621417.411941,116621417.433933,116621418.385784,116621418.389979,116621418.392456,116621418.395212,116621418.398,116621418.423876,116621421.371876,116621426.983417,116621431.263694,116621434.040494,116621436.295005,116621438.200919,116621439.886381,116621441.360376,116621442.661265,116621443.863402,116621445.010431,116621446.104326,116621447.171277,116621448.21972,116621449.247644,116621450.230587,116621451.213473,116621452.200115,116621453.189845,116621454.181686,116621455.175643,116621456.171625,116621457.169665,116621458.181517,116621459.178529,116621460.174251,116621461.1691,116621462.126601,116621463.08948,116621464.061574,116621465.049579,116621466.0624,116621467.090353,116621468.110587,116621469.13168,116621470.141935,116621471.148049,116621472.152477,116621473.155661,116621474.144722,116621475.108987,116621476.080039,116621477.05956,116621478.044872,116621479.070521,116621480.095543,116621481.149132,116621482.185783,116621483.312584,116621484.418521,116621485.532636,116621486.634882,116621487.691667,116621488.704437,116621489.7083,116621490.710203,116621491.711784,116621492.712649,116621497.934971,116621497.939595,116621497.942343,116621497.956796,116621497.959511,116621497.966018,116621498.192493,116621501.6262,116621505.36034,116621508.435861,116621511.245465,116621513.536163,116621515.403198,116621516.997138,116621518.383657,116621519.626832,116621520.761755,116621521.843831,116621522.901816,116621523.943808,116621524.974076,116621525.996043,116621527.012177,116621528.022766,116621529.030627,116621530.023781,116621530.988733,116621531.954445,116621532.964783,116621533.986353,116621535.004481,116621536.01622,116621537.024783,116621538.017551,116621539.015018,116621540.022728,116621541.029459,116621542.034737,116621543.038271,116621544.040754,116621545.043075,116621546.04501,116621547.046125,116621548.047012,116621549.047723,116621550.047952,116621551.073014,116621552.086463,116621553.0918,116621554.084143,116621555.111672,116621556.101161,116621557.07855,116621558.03033,116621558.998817,116621560.005299,116621561.015918,116621562.024648,116621563.018117,116621563.983819,116621564.950593,116621565.925219,116621566.906606,116621567.893073,116621572.401886,116621573.32964,116621574.258446,116621575.192756,116621576.14007,116621577.114612,116621578.098159,116621579.086113,116621580.111831,116621581.163528,116621582.268191,116621583.435845,116621584.556227,116621585.766072,116621586.935665,116621588.061869,116621589.153454,116621590.210053,116621591.24984,116621592.281835,116621593.348968,116621594.394641,116621595.391697,116621596.383454,116621597.376289,116621598.370765,116621599.366824,116621600.363829,116621601.361923,116621602.360388,116621603.359248,116621604.3928,116621605.392684,116621606.352318,116621607.302744,116621608.227035,116621609.166234,116621610.182261,116621611.145804,116621612.108033,116621613.082029,116621614.101373,116621615.121561,116621616.137021,116621617.148569,116621618.156664,116621619.162487,116621620.166613,116621621.169224,116621622.131617,116621623.099212,116621624.073581,116621625.05431,116621626.040773,116621627.032312,116621628.024762,116621629.019085,116621630.052787,116621631.086892,116621632.112609,116621633.13164,116621634.145372,116621635.155309,116621636.187466,116621637.190366,116621638.210115,116621639.219034,116621640.211983,116621641.204916,116621642.199222,116621643.19454,116621644.181904,116621645.137093,116621649.319248,116621650.131782,116621650.950314,116621651.780308,116621652.652182,116621653.587994,116621654.549158,116621655.501368,116621656.483917,116621657.639208,116621658.986701,116621660.308165,116621661.513992,116621662.661958,116621663.770145,116621664.848954,116621665.906711,116621666.948376,116621667.978871,116621669.001841,116621670.017919,116621671.028359,116621671.996008,116621672.921356,116621673.846782,116621674.788929,116621675.746481,116621676.716106,116621677.694374,116621678.678342,116621679.666639,116621680.657992,116621681.651479,116621682.646795,116621683.64214,116621684.598046,116621685.527303,116621686.460479,116621687.408505,116621688.398283,116621689.411722,116621690.421807,116621691.42924,116621692.434351,116621693.438479,116621694.481392,116621695.524149,116621696.55703,116621697.581467,116621698.598694,116621699.611237,116621700.620635,116621701.605021,116621702.56779,116621703.536834,116621704.513503,116621705.468089,116621706.417706,116621707.378422,116621708.349436,116621709.35174,116621710.334895,116621711.341681,116621712.369348,116621713.393431,116621714.375744,116621715.350602,116621716.330298,116621717.31667,116621718.306062,116621719.298025,116621720.292153,116621724.645323,116621725.948818,116621727.205986,116621728.382172,116621729.538261,116621730.704637,116621731.82249,116621732.934275,116621734.030803,116621735.095199,116621736.154383,116621737.185479,116621738.206302,116621739.227588,116621740.272047,116621741.31663,116621742.342962,116621743.361369,116621744.374647,116621745.407644,116621746.456557,116621747.487255,116621748.508654,116621749.524069,116621750.535582,116621751.559198,116621752.563202,116621753.564085,116621754.552779,116621755.550825,116621756.518135,116621757.489983,116621758.457792,116621759.410806,116621760.387262,116621761.359523,116621762.336219,116621763.318414,116621764.350876,116621765.335882,116621766.319229,116621767.306554,116621768.31994,116621769.310107,116621770.30006,116621771.292327,116621772.2866,116621773.307607,116621774.301653,116621775.294188,116621776.33266,116621777.293818,116621778.252469,116621779.220575,116621780.197099,116621781.179926,116621782.167802,116621783.158733,116621784.152749,116621785.148196,116621786.144859,116621787.142422,116621788.140862,116621789.139793,116621790.139151,116621791.138587,116621792.18582,116621793.179263,116621794.168816,116621799.518474,116621800.382345,116621801.269486,116621802.169815,116621803.094969,116621804.040734,116621805.00189,116621805.969509,116621806.981369,116621808.225701,116621809.506484,116621810.795126,116621812.03246,116621813.186961,116621814.298798,116621815.380023,116621816.438863,116621817.440687,116621818.414876,116621819.360266,116621820.314299,116621821.255896,116621822.191923,116621823.14243,116621824.106034,116621825.080318,116621826.061245,116621827.204011,116621828.195092,116621829.153751,116621830.117972,116621831.137787,116621832.248857,116621833.229756,116621834.223264,116621835.219688,116621836.217001,116621837.215146,116621838.196483,116621839.155157,116621840.120639,116621841.095894,116621842.07804,116621843.06441,116621844.054464,116621845.047671,116621846.042651,116621847.039424,116621848.024058,116621849.003796,116621849.995508,116621850.981844,116621851.975893,116621852.946193,116621853.923856,116621854.943128,116621855.966178,116621856.991946,116621858.005517,116621859.012883,116621860.059431,116621861.101113,116621862.132819,116621863.155757,116621864.147497,116621865.162737,116621866.159454,116621867.129358,116621868.103717,116621869.084474,116621870.070361,116621871.079024,116621871.263916,116621872.097662,116621873.604332,116621873.741653,116621875.92882,116621876.118666,116621876.29794,116621876.727938,116621876.811166,116621876.955957,116621876.997258,116621877.150925,116621877.192397,116621878.745006,116621880.166673,116621881.431032,116621882.727513,116621884.665743,116621885.704527,116621886.649436,116621887.56642,116621888.495558,116621889.503197,116621890.730045,116621892.020718,116621893.224516,116621894.373287,116621895.481923,116621896.561306,116621897.619341,116621898.661741,116621899.719971,116621900.742327,116621901.790168,116621902.796844,116621903.792739,116621904.784167,116621905.737485,116621906.693634,116621907.660435,116621908.63638,116621909.618877,116621910.625115,116621911.595402,116621912.543365,116621913.50008,116621914.468188,116621915.444835,116621916.428373,116621917.432343,116621918.421682,116621919.411594,116621920.404006,116621921.398332,116621922.420159,116621923.417329,116621924.409548,116621925.402671,116621926.397641,116621927.410977,116621928.408358,116621929.402536,116621930.399682,116621931.425973,116621932.464354,116621933.495042,116621934.517551,116621935.534151,116621936.546613,116621937.555246,116621938.559108,116621939.52166,116621940.486127,116621941.458991,116621942.439429,116621943.414424,116621944.38953,116621945.411017,116621946.384337,116621947.340571,116621948.305244,116621949.278985,116621950.271304,116621951.256269,116621952.243876,116621953.234305,116621954.227732,116621955.222809,116621956.21899,116621957.216284,116621958.232709,116621959.271991,116621960.313576,116621961.336905,116621962.352322,116621963.363309,116621964.371406,116621965.377243,116621965.895521,116621965.902309,116621965.905881,116621965.909114,116621965.912385,116621965.926517,116621968.177268,116621971.147352,116621973.420411,116621975.449419,116621977.237621,116621978.868225,116621980.377271,116621981.712275,116621982.956215,116621984.136456,116621985.34607,116621986.547812,116621987.722126,116621988.853167,116621989.949454,116621991.020269,116621992.065599,116621993.098002,116621994.140202,116621995.203953,116621996.254108,116621997.244945,116621998.230308,116621999.218785,116622000.209976,116622001.206547,116622002.158906,116622003.115733,116622004.083328,116622005.065026,116622006.048114,116622007.038892,116622008.029088,116622009.020468,116622010.019084,116622011.014212,116622012.009836,116622013.006816,116622014.009046,116622015.006938,116622016.004589,116622017.002495,116622018.006168,116622019.004682,116622020.00741,116622021.005401,116622022.00307,116622023.00117,116622023.972096,116622024.97183,116622025.966643,116622026.929738,116622027.89844,116622028.871272,116622029.95306,116622030.973423,116622031.981353,116622032.98647,116622033.978825,116622034.940046,116622035.902979,116622036.87484,116622037.854286,116622038.839544,116622039.828712,116622040.820744,116622047.317243,116622048.172203,116622049.091871,116622050.038444,116622051.0004,116622051.969673,116622052.980457,116622054.039513,116622055.135598,116622056.255021,116622057.394019,116622058.544285,116622059.672268,116622060.76814,116622061.838433,116622062.889775,116622063.927248,116622064.954511,116622065.974241,116622066.988779,116622067.999308,116622069.007432,116622070.012545,116622070.977026,116622071.936572,116622072.903758,116622073.879302,116622074.861454,116622075.848671,116622076.839266,116622077.832622,116622078.860248,116622079.893062,116622080.882342,116622081.865619,116622082.852189,116622083.842347,116622084.835332,116622085.830084,116622086.826848,116622087.824865,116622088.822986,116622089.816441,116622090.804411,116622091.800578,116622092.76146,116622093.72423,116622094.695799,116622095.675095,116622096.694687,116622097.684278,116622098.708367,116622099.736969,116622100.75946,116622101.776176,116622102.788808,116622103.797534,116622104.803578,116622105.808041,116622106.811133,116622107.813536,116622108.803293,116622109.763003,116622110.725942,116622111.698149,116622112.677829,116622113.663073],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[1167,1027,1007,1004,1002,962,980,1032,1011,1006,1012,1057,1095,1093,1090,1049,1034,1024,1018,1037,1006,1002,1000,1017,1069,1020,985,978,983,986,990,990,1007,965,969,976,982,986,965,968,975,981,986,990,1001,1023,1020,1015,1052,1003,997,990,829,4,2,2,2,25,997,5261,3215,2429,2193,2095,1831,1675,1449,1291,1184,1132,1078,1079,1080,1062,1037,1021,1015,1005,1003,1001,986,963,969,978,983,988,991,964,958,965,973,981,983,988,322,5,3,2,2,18,199,5,2,2,2,21,385,4,2,2,2,25,1148,5611,4280,2776,2189,1905,1685,1473,1300,1202,1147,1093,1066,1048,1027,982,982,986,989,991,993,995,998,997,997,995,994,957,962,972,988,993,1027,1020,1014,1010,1006,1004,1003,989,964,971,979,985,1025,1025,1018,1015,1126,1105,1114,1102,1056,1012,1003,1001,1001,1000,635,4,2,14,2,6,226,3433,3734,3075,2809,2290,1867,1593,1386,1243,1134,1082,1057,1041,1030,1021,1016,1010,1007,993,964,965,1010,1021,1018,1011,1008,992,997,1007,1006,1005,1003,1002,1002,1001,1001,1000,1000,1000,999,997,994,992,991,989,977,951,968,1006,1010,1008,993,965,966,974,981,986,1293,927,928,934,947,974,983,987,1025,1051,1104,1121,1120,1209,1169,1126,1080,1056,1039,1031,1067,1045,997,991,992,994,996,997,998,998,998,998,999,959,932,924,939,955,963,962,973,1019,1020,1015,1011,1008,1005,1004,1002,962,967,974,980,986,991,992,994,1033,1034,1025,1019,1013,1009,1032,1002,1019,1008,992,992,994,995,987,955,894,812,818,829,871,935,961,952,982,1155,1347,1321,1205,1147,1108,1078,1057,1041,1030,1022,1016,1010,967,925,925,942,957,969,978,983,988,991,993,995,995,955,929,933,948,989,1013,1010,1007,1005,1004,1042,1042,1032,1024,1017,1012,1009,984,962,969,976,954,949,960,971,1002,983,1006,1027,1024,982,974,979,986,989,991,994,1464,1303,1257,1176,1156,1166,1117,1111,1096,1064,1059,1031,1020,1021,1044,1044,1026,1018,1013,1032,1048,1030,1021,1015,1011,1023,1004,1000,988,998,967,971,967,953,976,972,976,982,1032,985,983,987,1013,990,989,992,994,995,994,992,1009,961,958,968,976,982,987,990,994,995,996,997,998,998,999,999,1047,993,989,1469,863,887,900,925,945,961,967,1011,1244,1280,1288,1237,1154,1111,1081,1058,1001,974,945,954,941,936,950,963,974,980,986,991,958,964,973,975,980,993,996,997,998,981,958,965,975,982,986,990,993,994,996,984,979,991,986,994,970,977,1019,1023,1017,1013,1007,1046,1041,1031,1022,991,1015,996,969,974,980,985,464,167,833,94,40,23,70,22,84,75,25,27,41,41,393,1421,1264,1290,1861,1038,944,916,929,1007,1226,1290,1203,1148,1108,1079,1058,1042,1030,1022,1009,1006,995,991,953,956,966,975,982,987,970,947,956,968,976,983,989,989,989,992,994,995,997,992,993,994,995,997,994,997,1026,1038,1030,1022,1016,1012,1008,1003,962,964,972,980,974,975,996,973,956,964,973,980,984,987,990,993,995,996,997,1016,1039,1031,1023,1015,1010,1008,1005,175,6,3,3,3,12,417,2962,2273,2029,1788,1630,1509,1335,1243,1180,1209,1201,1174,1131,1096,1070,1045,1032,1042,1063,1050,990,985,988,991,989,952,956,967,976,983,985,990,991,993,995,995,995,1002,997,997,997,998,998,997,997,997,998,966,999,994,963,964,972,978,1020,1007,1005,992,961,962,971,979,985,989,992,951,854,919,946,961,969,1010,1059,1096,1119,1138,1150,1127,1095,1070,1051,1037,1027,1019,1014,1010,1008,1005,964,959,967,975,982,987,990,993,1027,1032,989,983,986,990,992,994,996,998,998,993,987,996,960,962,971,979,1019,989,1024,1028,1022,1016,1012,1008,1006,1004,1003,1002,989,959,962,972,979,985]},"stackTable":{"length":1781,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,9,23,24,25,26,27,28,29,30,31,32,24,34,35,36,37,38,39,40,41,7,43,44,45,46,47,48,49,50,51,52,53,54,46,56,57,58,59,60,61,62,63,44,65,66,67,68,69,70,71,72,73,74,75,66,77,78,79,80,81,82,83,84,85,11,87,88,89,90,91,92,88,94,95,96,97,98,99,16,101,13,103,104,105,106,107,108,109,32,26,112,113,114,115,116,117,118,41,120,35,122,123,124,125,126,127,128,123,130,131,132,133,134,7,136,137,138,139,140,141,142,143,144,145,146,147,148,149,147,151,152,153,154,155,145,157,158,159,160,161,162,163,158,165,166,167,168,143,170,171,172,173,174,175,176,177,173,179,180,181,182,183,171,185,186,187,188,189,190,186,192,193,194,195,141,197,198,199,200,201,202,203,204,205,206,207,202,209,210,211,212,213,214,210,216,217,218,200,220,221,222,223,224,225,226,227,221,229,230,231,232,233,234,198,236,237,238,239,240,241,242,243,244,239,246,247,248,249,250,237,252,253,254,255,256,253,258,259,260,261,139,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,274,281,282,283,284,284,272,287,288,289,290,288,292,293,294,295,270,297,298,299,300,301,302,300,304,305,306,307,308,298,310,311,312,313,314,315,311,317,318,319,320,321,322,268,324,325,326,327,328,329,330,331,332,333,329,335,336,337,338,339,327,341,342,343,344,345,346,342,348,349,350,351,325,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,358,371,372,373,374,375,376,377,378,379,380,356,382,383,384,385,386,387,388,389,390,391,392,393,394,360,396,397,398,399,400,401,402,403,404,405,356,407,408,409,410,411,412,413,414,415,416,417,418,419,420,4,422,4,424,425,5,427,428,429,430,431,432,433,434,435,436,437,438,438,430,441,442,443,444,445,446,447,448,449,450,451,452,453,444,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,5,490,491,492,493,494,495,496,497,498,499,500,501,502,503,503,505,499,507,508,507,510,511,512,513,514,497,516,517,518,519,520,521,522,521,524,525,517,527,528,527,530,528,532,533,534,495,536,537,538,539,540,541,542,543,544,543,546,540,548,539,550,551,551,550,554,555,556,557,558,556,554,561,562,563,537,565,566,567,568,568,566,571,572,573,574,572,572,577,578,578,571,581,493,583,584,585,586,587,588,589,589,586,592,593,585,595,596,597,598,599,600,595,602,603,604,605,606,606,585,609,588,611,589,490,614,615,616,617,618,619,620,621,618,623,5,625,5,627,628,629,630,631,632,633,634,635,628,637,638,639,640,641,633,632,644,630,646,647,648,649,647,651,652,640,654,655,656,654,658,641,638,661,662,663,664,663,629,629,668,669,637,637,672,673,637,675,676,635,644,679,680,644,648,651,654,641,686,663,688,689,662,691,691,633,694,695,696,697,695,699,694,701,702,703,701,705,706,644,708,709,709,708,712,713,714,714,648,717,718,718,720,721,717,723,724,725,723,723,651,729,730,730,732,733,729,735,736,737,735,628,740,741,742,743,744,745,746,747,748,749,750,751,752,750,751,749,756,756,758,759,747,761,762,763,764,765,765,763,762,769,770,771,772,773,771,775,776,771,695,779,780,780,780,779,784,785,786,784,784,786,784,701,792,793,793,793,793,797,798,798,793,793,798,792,804,804,804,804,808,809,808,632,812,813,814,815,816,817,818,819,820,821,822,823,824,823,826,821,828,829,830,831,832,830,829,835,819,837,838,839,840,841,840,843,838,845,846,847,847,846,850,817,852,853,854,855,856,857,858,857,860,855,862,863,864,864,863,867,853,869,870,871,872,873,873,872,876,873,878,879,880,881,881,883,884,880,886,886,697,697,701,714,718,723,894,894,735,737,654,899,900,899,902,641,904,905,906,905,904,909,663,911,912,912,911,915,915,691,918,919,918,921,922,921,695,709,926,927,713,718,930,723,902,933,934,905,936,909,938,939,638,941,942,943,944,945,945,944,948,631,950,631,952,953,631,646,646,646,748,959,960,748,761,761,964,965,745,967,968,969,970,971,968,973,973,975,743,977,978,979,980,981,981,983,984,980,986,986,988,989,978,991,992,993,993,995,992,997,998,999,997,631,646,742,1004,1005,742,742,780,780,780,1011,779,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1023,1023,1022,1027,1028,1027,1030,1031,1027,1020,1034,1035,1036,1036,1035,1039,1040,1041,1039,1040,1018,1045,1046,1047,1048,1049,1050,1051,1049,1051,1048,1055,1056,1056,1058,1058,1046,1061,1062,1063,1064,1065,1063,1065,1062,1069,1069,1069,1072,1073,1016,1075,1076,1077,1078,1079,1077,1081,1082,1077,1077,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1092,1092,1097,1098,1091,1100,1101,1102,1100,1100,1105,1106,1089,1108,1109,1110,1111,1112,1110,1114,1115,1110,1109,1118,1119,1120,1120,1120,1087,1124,1125,1126,1127,1128,1128,1130,1131,1127,1133,1134,1133,1134,1137,1125,1139,1140,1141,1141,1143,1144,1141,1146,1140,1148,1148,1150,1151,1148,1153,1154,1085,1156,1157,1158,1159,1160,1161,1162,1163,1164,1162,1162,1167,1161,1169,1170,1170,1172,1169,1159,1175,1176,1177,1178,1179,1180,1181,1182,1183,1182,1185,1180,1187,1188,1189,1190,1189,1188,1193,1193,1011,786,786,793,1199,1199,1201,1199,798,809,808,709,1207,1208,1208,1208,1211,1212,1207,1214,1214,1214,1217,1218,712,1220,1221,1221,1221,1224,1225,1221,1220,1228,1229,1230,1231,1232,1233,1234,1231,1236,1232,1238,1239,1240,1241,1242,1243,1244,1245,1246,1244,1248,1249,1250,1248,1242,1253,1254,1255,1255,1254,1258,1258,1240,1261,1262,1263,1264,1265,1266,1267,1265,1264,1270,1270,1262,1273,1274,1275,1276,1275,1278,1274,1280,1280,1282,1238,1284,1285,1286,1287,1288,1289,1290,1291,1290,1289,1294,1295,1296,1294,1296,1287,1300,1301,1302,1302,1304,1305,1301,1307,1307,1285,1310,1311,1312,1313,1314,1314,1313,1317,1318,1317,1311,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1331,1328,1334,1335,1336,1334,1326,1339,1340,1341,1342,1343,1344,1345,1343,1347,1348,1342,1350,1351,1352,1350,1350,1345,780,1199,804,1224,1220,1361,718,1363,1364,1363,1366,1366,723,1369,1370,1371,1369,1373,1373,730,1376,1377,1376,1379,1380,1381,1379,735,1384,1385,1384,1387,750,1389,1390,1389,1392,1392,1394,1395,1392,1397,1398,756,1400,1401,1401,1401,1404,1400,1406,1406,1408,1409,1409,763,1412,1413,1414,1413,1416,1417,1413,1413,1412,1421,1421,1421,1424,1425,762,1427,1428,1429,1429,1431,1429,1428,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1444,1446,1443,1448,1441,1450,1451,1452,1452,1451,1455,1456,1457,1439,1459,1460,1461,1462,1463,1463,1462,1466,1460,1468,1469,1470,1470,1469,1473,745,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1485,1484,1490,1482,1492,1493,1494,1493,1496,1496,1480,1499,1500,1501,1502,1503,1503,1502,1506,1506,1500,1509,1510,1511,1512,1513,1514,1515,1516,1517,1515,1515,1520,1521,1514,1523,1523,1525,1523,1525,1528,740,1530,1531,743,1533,1534,1535,1201,630,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,699,1554,1554,702,709,712,714,930,1561,718,733,730,732,735,1567,1568,735,1390,1571,1572,1572,1571,1390,1576,1577,1390,1390,1576,1398,1394,1394,1392,1392,1395,1395,1395,1404,1590,1401,1401,1593,1594,1401,1590,1406,1598,1599,1406,1406,1599,1598,1599,1406,1409,1599,1409,1414,1610,1610,1414,1413,1414,1610,1610,1413,1421,1421,1620,1621,1620,1621,1620,1621,1425,1425,769,1629,1630,1475,1632,634,680,652,1636,654,641,664,1640,785,798,804,1361,1364,1364,1366,1370,1373,1650,1651,1373,1377,1377,1385,748,761,969,969,973,973,984,986,986,993,997,997,1572,1392,1590,1593,1400,1673,1674,1675,1676,1677,1678,1679,1679,1681,1682,1679,1678,1685,1676,1687,1688,1689,1690,1691,1691,1690,1694,635,648,651,652,1395,1398,1590,1594,1408,1598,1409,1413,1417,1621,1429,1431,1431,1712,1428,1714,1714,1714,1717,1714,1717,1720,969,1722,1723,1724,1725,1726,1727,1725,1725,1724,1731,1731,1733,1734,1731,1736,1731,1722,1739,1740,1741,1741,1741,1744,1745,1740,1747,1747,1747,1750,1751,1747,1753,1754,1751,968,1757,1758,1759,1760,1761,1762,1763,1764,1765,1765,1763,1762,1769,1770,1771,1772,1773,1774,1775,1775,1773,1778,1779],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,9,7,8,7,8,10,11,12,13,14,15,9,7,8,7,8,7,8,16,17,18,19,9,7,8,7,8,16,20,18,21,9,7,8,7,8,7,8,7,8,16,17,18,22,9,7,8,7,8,16,17,18,23,9,7,8,7,8,7,8,16,17,18,24,25,9,7,8,7,8,16,20,18,24,26,8,7,8,7,8,27,28,9,7,8,16,20,18,29,16,30,9,7,8,16,20,18,24,21,31,9,7,8,16,17,18,32,33,24,34,9,7,8,16,17,18,32,35,9,16,20,18,32,33,36,5,6,7,8,7,8,7,8,7,8,7,8,16,37,9,16,20,18,24,21,9,7,8,16,17,18,24,38,9,16,20,18,39,9,7,8,7,8,16,20,18,40,9,16,20,18,24,41,9,7,8,16,17,18,42,9,16,17,18,43,9,7,8,7,8,7,8,16,17,18,24,44,9,16,20,18,24,24,45,17,18,32,46,9,7,8,16,20,18,24,32,47,9,16,20,18,32,24,41,9,7,8,7,8,16,20,18,24,48,9,16,17,18,24,49,9,7,8,16,50,51,9,16,20,18,38,36,5,6,7,8,7,8,7,8,7,8,7,8,16,17,18,32,52,9,16,17,18,53,54,9,7,8,16,55,9,16,20,18,56,9,7,8,7,8,27,57,9,16,20,18,32,58,9,7,8,16,20,18,59,9,16,20,18,24,24,47,9,7,8,7,8,7,8,16,20,18,60,9,16,20,18,32,61,9,7,8,16,17,18,62,9,16,20,18,63,36,5,6,7,8,7,8,7,8,7,8,7,8,16,20,18,24,21,9,7,9,7,9,7,9,16,20,18,64,9,7,9,7,9,7,8,7,9,16,20,18,32,65,9,7,9,7,8,16,20,18,24,32,41,36,5,6,7,8,7,9,7,8,7,9,7,8,16,66,67,68,69,70,71,72,73,74,73,74,73,74,73,74,73,74,75,76,77,78,5,72,73,74,73,79,73,79,73,74,73,79,80,78,5,72,73,78,5,72,73,78,5,72,73,79,73,78,5,72,73,74,73,78,5,72,73,74,73,74,73,79,73,74,73,74,75,81,82,83,84,83,84,83,84,83,84,83,84,85,86,18,87,24,88,89,90,77,85,86,18,32,24,21,89,83,84,85,86,18,24,41,32,32,91,89,85,92,90,93,94,18,32,95,89,83,84,83,84,85,86,18,32,96,24,41,90,81,89,90,97,28,85,86,18,32,24,52,98,94,18,24,99,89,83,84,90,100,81,89,85,94,18,88,101,86,18,102,103,90,28,104,5,82,85,86,18,32,105,106,94,18,107,83,84,85,86,18,24,108,89,85,86,18,32,21,109,90,110,24,111,112,113,114,115,12,13,14,116,117,118,119,120,121,122,123,124,125,124,125,124,125,126,127,128,129,124,125,124,129,130,131,129,132,129,124,125,133,134,129,133,135,125,133,127,136,126,137,132,129,124,125,126,138,131,131,126,127,139,131,126,127,140,133,127,141,142,133,127,143,131,132,131,144,126,145,133,127,146,129,131,147,124,125,126,127,136,133,138,129,133,127,148,126,127,149,124,125,131,132,129,126,127,150,151,124,125,131,126,127,141,129,133,127,140,144,132,124,125,132,126,127,152,129,133,127,153,132,154,5,123,124,125,124,125,124,125,124,125,133,127,155,147,137,129,131,126,127,139,129,124,125,126,127,153,156,132,154,5,123,126,127,157,133,127,139,131,124,125,158,132,131,129,126,127,139,131,132,159,147,124,125,160,161,131,133,127,152,162,163,132,146,129,131,132,147,126,127,155,137,154,5,123,124,125,124,125,124,125,124,125,124,125,132,129,132,129,124,125,126,127,164,132,129,131,129,124,125,124,125,132,129,161,129,124,125,132,131,129,160,129,124,125,124,125,124,125,131,129,131,129,124,125,131,165,129,132,154,5,123,124,125,131,147,129,147,124,125,124,125,131,126,127,166,129,132,131,128,151,132,164,132,126,167,168,131,162,124,125,131,129,132,124,125,126,169,131,129,131,124,125,144,131,129,132,131,124,125,147,129,126,138,131,158,133,127,162,170,133,137,147,133,127,171,133,172,126,127,148,154,5,123,124,125,165,173,129,131,126,170,133,127,171,131,132,131,174,126,127,171,132,131,126,127,140,129,124,125,133,127,166,129,161,133,134,129,124,125,124,125,131,126,127,175,129,173,126,127,176,129,124,125,132,133,134,129,126,127,153,130,132,177,133,127,175,131,132,178,179,126,137,154,5,123,124,125,124,125,124,125,124,125,160,179,132,129,126,145,133,127,180,131,129,124,125,132,147,129,133,127,181,131,182,129,124,125,124,125,133,127,140,132,151,129,126,145,127,183,136,129,124,125,126,127,136,131,181,129,158,132,126,127,184,154,5,123,133,127,152,126,127,140,131,124,125,124,125,124,125,124,125,133,127,148,132,126,127,152,129,126,127,151,131,133,127,151,129,124,125,126,127,185,133,127,175,131,129,126,127,166,186,187,129,124,125,124,125,132,126,127,149,129,133,172,132,127,188,129,124,125,131,126,127,149,133,145,129,132,126,127,143,133,127,140,154,5,123,124,125,124,125,126,127,151,131,133,170,129,126,189,127,190,131,154,5,123,124,125,124,125,124,125,132,129,131,129,124,125,126,137,132,129,131,132,191,142,141,126,191,127,192,172,164,166,193,124,125,147,132,133,127,164,129,132,131,126,127,171,124,125,131,130,133,127,140,132,154,5,123,124,125,133,127,164,129,132,124,125,124,125,124,125,124,125,126,191,129,126,127,164,163,129,124,125,131,132,129,131,132,129,124,125,124,125,133,127,194,131,129,144,132,129,124,125,126,191,133,191,129,132,133,172,129,124,125,124,125,124,125,126,191,131,129,133,127,128,131,194,129,124,125,131,126,127,153,129,131,132,129,124,125,124,125,147,132,129,133,172,132,154,5,123,124,125,124,125,124,125,126,127,194,195,129,126,127,142,131,154,5,123,124,125,126,127,190,133,127,185,129,133,127,196,132,131,141,160,197,198,172,129,144,124,125,178,129,199,131,124,125,133,167,129,144,160,124,125,131,129,133,127,151,131,124,125,131,129,132,124,125,132,129,144,126,127,139,133,127,141,124,125,131,147,133,134,129,160,126,127,151,200,124,125,126,169,133,127,149,132,160,129,201,132,133,127,176,129,124,125,132,126,138,131,154,5,123,124,125,124,125,124,125,124,125,132,133,145,129,131,129,124,125,131,132,129,133,127,136,129,124,125,124,125,132,131,129,131,129,124,125,131,147,129,131,154,5,123,124,125,124,125,124,125,124,125,126,127,136,132,129,131,129,124,125,131,129,132,131,129,124,125,124,125,132,160,129,131,178,154,5,123,124,125,124,125,133,127,150,132,126,127,190,129,132,126,137,131,127,166,69,70,71,154,69,70,71,194,154,5,123,124,129,124,154,5,123,124,129,124,129,124,202,203,127,153,190,145,144,144,175,127,141,147,204,147,145,126,127,152,147,126,127,149,205,137,133,127,153,131,174,145,149,134,137,131,147,175,206,200,127,150,132,126,127,190,130,152,133,127,162,132,147,175,145,149,131,175,141,156,127,148,185,207,147,145,181,136,131,131,126,127,141,137,208,145,148,153,190,69,70,71,67,68,191,152,127,176,131,131,127,155,191,209,165,132,210,147,132,131,126,127,183,132,132,161,163,131,132,132,211,132,201,212,132,131,144,131,165,146,132,166,137,154,5,123,124,125,124,125,132,133,127,155,147,129,132,154,5,123,124,125,161,132,129,131,151,131,132,207,166,187,188,166,197,193,141,179,213,214,147,182,127,206,129,132,144,133,169,147,127,166,124,125,124,125,126,127,151,131,132,129,131,126,127,190,133,145,132,129,124,125,131,147,126,127,166,129,199,131,133,127,184,126,127,141,148,154,5,123,124,125,124,125,126,127,149,166,198,154,5,123,124,125,133,127,175,153,126,127,166],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f262c","0x592ef","0x354cb3","0xa5861","0xa4b89","0xa4298","0x1f2589","0x1f1c7f","0x1edef0","0x1ee498","0x1f1e9c","0x1edfb4","0x1eebf1","0x1ee19b","0x1eeb02","0x1ee493","0x1ee8cb","0x1f257e","0x177dbc","0x1ee635","0x1f1bd2","0x1ee686","0x1eeae6","0x1ee015","0x1ee959","0x1eebf8","0x1f3684","0x1f1c19","0x1edfdb","0x1eeb0d","0x1ee02b","0x1edfb0","0x1ee781","0x1ee7c5","0x1edfde","0x1ee030","0x1ee205","0x1ee024","0x1edffc","0x1ee738","0x1f1d5d","0xa53e0","0x1edfb7","0x1ee72f","0x1ee678","0x1f1b6b","0x1ee81a","0x177db9","0x1ee915","0x1ee849","0x1ee953","0x1edff5","0x1ee02e","0x1ee055","0x1ee0b0","0x1eea58","0x1f1afd","0x26141","0x108c9b","0x2618c","0x26706","0x11e88d","0x1ecae9","0x1eb8f0","0x1ec495","0x1eb11d","0x177e3f","0x177e44","0x1ec510","0x1ec600","0x1eb15a","0x177d91","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee73f","0x1ee020","0x34fd2","0x59940","0x1edf60","0x1eda53","0x177e48","0x1edb10","0x1edfd9","0x1ee4e9","0x177d95","0x1ee728","0x1edf67","0x177da5","0x1eda43","0x1ee8f0","0x1ee4ac","0x34ed4","0x1ee1d7","0x1ee048","0x1ee46e","0x1edfce","0x1ee6a8","0x177e31","0x1eea26","0x1ee477","0x59e9e","0x177bea","0x26c8f","0xa48dc","0xa35b1","0x11eaab","0xa4bca","0x1a0aca","0x1ef2d8","0x1ee74b","0x247051","0x246666","0x246a05","0x24637c","libm.so.6","0x37f02","0x764db","0x246b93","0x24633e","0x246396","0x2463ab","0x246363","0x37efe","0x37f40","0x709ce","0x37f25","0x37f27","0x7650f","0x764f4","0x76514","0x76488","0x76506","0x2463bb","0x37f03","0x764e7","0x2463af","0x76637","0x70ab8","0x76538","0x7652b","0x764ac","0x764e4","0x246a77","0x76518","0x76532","0x7651f","0x2463bf","0x764bb","0x246338","0x246376","0x764b3","0x24639f","0x764eb","0x2463b3","0x7651d","0x37f0b","0x37ef0","0x37ef8","0x37f1d","0xe380","0x37f13","0x246354","0x2463b7","0x7662f","0x709c0","0x24636d","0x246347","0x246386","0x76521","0x76491","0x37f17","0x7648e","0x70aa4","0x764d5","0x709c7","0x70ab0","0x70ac0","0x37f44","0x7649f","0x37f31","0x76625","0x37f33","0x764c0","0x764fd","0x7654a","0x37f21","0x2463a7","0x246392","0x76482","0x24634b","0x246a42","0x1ecf7d","0x70a1c","0x7653e","0x765b8","0x37f2f","0x76530","0x7647e","0x24638a","0x2463c2","0x764d8","0x7662a","0x70aba"],"tid":"700701","unregisterTime":116622126.552591},{"frameTable":{"length":209,"address":[1206351,608962,4045226,3445825,3446491,156044,157446,1173645,156499,2047333,2042824,2045333,2041214,1539510,2041225,2038911,2023152,2026214,2023467,2023445,2026242,2039452,2023344,2045928,2023385,2041330,2023286,2026111,2025485,1539647,1539667,2025498,2024256,2026181,2026269,2023972,2023348,2023381,2025428,2023951,2045572,2025366,2023450,2023472,2025530,2025895,2025404,2023463,2023408,2026087,2041388,365295,3493043,677985,674697,672392,2025279,2025553,2023338,2025826,2023351,2023482,2023460,2043024,2044327,1706698,2018025,2013424,2016405,2016768,2011421,1539652,1539519,2016528,1539473,1539633,2013558,1418669,368184,216630,366929,2022359,2025557,217042,2024567,2022061,2023420,366912,1539516,2022160,2023374,2021939,2023432,2023401,1539487,2025295,2025796,216788,2023390,2023900,2025321,2025517,1539797,2024610,2022068,155969,1084571,368286,1539152,676946,666818,594523,2028248,2026480,2027129,2027207,2388049,2385510,2386437,2384811,2384764,229122,484524,229169,2384702,2386835,2384790,484587,2384739,229184,484488,461255,58240,484580,484637,229104,2384778,2384758,229208,484911,484544,484565,484628,2384696,229139,2386551,2384827,484651,484596,484571,461248,484639,484531,2384711,229123,229157,484511,2384815,484599,2384807,484464,461496,484497,229118,2384819,484494,229153,484583,484658,484898,484919,484623,484632,2384765,484548,484473,484515,484610,484682,484482,484605,2384762,484708,461262,229112,229159,229175,229149,2384823,2384786,229167,2384724,484614,2384831,229131,484478,2384749,461472,484503,2384774,2384799,461498,461284,461488,484664,2384715,484646,484556,484672],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":209,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,2,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,1,2,1,1,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,1,2,1,2,1,2,2,1,2,2,1,1,2,2,2,2,1,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700702>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.796001,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,123],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":754,"stack":[7,21,26,27,29,33,39,43,49,50,60,63,68,73,78,84,86,99,100,105,108,110,117,118,123,124,141,147,154,159,161,171,176,183,188,201,207,210,218,224,234,240,248,254,256,273,294,336,339,352,363,380,385,392,394,403,409,417,422,428,434,438,444,452,457,462,469,475,475,478,483,487,495,500,502,514,519,522,529,533,534,541,548,551,553,560,561,563,568,570,573,573,573,573,573,575,580,580,580,580,580,596,608,611,612,613,615,616,619,616,624,625,626,626,628,631,628,634,635,641,644,645,646,641,648,650,651,652,652,653,657,658,660,662,664,666,664,667,664,675,676,679,682,683,684,686,683,690,693,696,690,700,701,702,702,708,709,709,711,712,714,716,717,718,724,725,727,725,729,731,729,734,740,743,746,746,746,746,746,748,7,7,7,7,7,749,750,756,615,616,625,758,759,628,760,761,763,646,764,765,766,652,769,653,652,770,771,658,657,773,775,664,775,667,676,776,777,778,675,684,779,780,683,783,690,784,785,784,786,702,789,790,701,791,797,799,800,803,805,809,811,814,817,818,819,820,616,821,626,626,822,822,628,641,823,646,652,652,652,658,824,825,826,827,667,837,837,839,839,843,845,846,852,852,854,864,865,869,870,874,876,878,892,893,896,899,901,904,910,911,912,914,917,920,928,931,932,934,935,934,941,942,943,947,948,948,949,951,952,955,958,959,960,608,961,616,962,615,626,963,964,965,966,646,967,968,969,652,970,971,972,658,974,975,664,976,675,977,980,981,982,683,784,983,690,984,985,986,987,990,987,993,994,995,997,1002,1005,1006,1011,1012,1016,1017,1025,1026,1028,1031,1037,1038,1041,1042,1046,1048,1059,1061,1063,1068,1069,1073,1079,1080,1082,1085,1091,1092,608,615,615,625,822,1093,1094,653,1095,1096,664,667,676,683,684,1097,790,1098,709,1099,714,1100,1101,729,1109,1111,1113,1117,1119,1121,1127,1128,1141,1144,1146,1146,1150,1152,1153,1165,1166,1168,1169,1175,1176,1178,1181,1189,1192,1194,1195,1201,1202,1206,1207,1212,1213,1216,1221,1223,1223,1227,1227,1229,1229,1230,1230,1232,1233,1235,1236,818,1237,1238,1241,608,1242,616,1245,1246,1247,619,1259,1262,1264,1264,1266,1270,1270,1273,1270,1275,1278,1280,1288,1291,1293,1294,1297,1301,1301,1304,1307,1308,1309,1323,1324,1326,1330,1333,1335,1336,1342,1344,1345,1351,1352,1356,1366,1367,1369,1370,1374,1378,1379,1385,1386,1390,1394,1394,1400,1403,1406,1408,1408,1412,1413,1413,1416,1417,1420,1428,1429,1430,1431,1247,1433,1433,1434,1435,1094,641,1438,1439,658,1440,667,1441,1442,1443,683,1444,1445,702,790,702,1447,709,1448,1451,1452,725,1454,1455,729,1456,1456,1457,1113,1458,1459,1121,1121,1127,1461,1462,1468,1469,1472,1473,1482,1483,1486,1489,1493,1494,1498,1499,1507,1509,1511,1514,1520,1527,1528,1531,1532,1543,1545,1549,1550,1556,1557,1568,1571,1576,1577,1579,1581,1582,1590,1592,1596,1597,1603,1604,1609,1612,608,608,1613,608,1614,615,616,616,616,616,615,1615,1616,1617,1618,1619,1620,626,625,822,1621,628,1622,628,822,1623,641,1624,1624,1625,1626,646,646,1627,652,652,1628,1629,1630,652,1631,1633,658,657,1634,657,658,657,770,975,1636,667,1637,664,1638,667,664,1639,1640,676,776,675,683,683,1641,1642,684,1643,1644,683,690,1097,784,690,1645,1646,784,1647,1649,749,1659,1660,1661,1663,1665,1663,1666,1672,1673,1673,1674,1676,1679,1680,1681,1682,1688,1689,1692,1693,1696,1698,1701,1702,1703,1706,1712,1713,1714,1716,1717,1719,1722,1725,1726,1727,1737,1739,1743,1745,1747,1753,1756,1762,1764,1767,1770,1772,1773,1776,1786,1788,1792,1796,1802,1805,1807,1810,1811,1817,1820,1821],"time":[116621305.922889,116621306.013206,116621306.02564,116621306.050508,116621306.289987,116621307.688871,116621309.525747,116621311.114114,116621312.803634,116621314.077273,116621315.20712,116621316.294515,116621317.712402,116621318.859802,116621320.077434,116621321.303287,116621322.794651,116621323.861522,116621324.986743,116621325.98491,116621326.927702,116621327.901776,116621328.888487,116621330.164036,116621331.231707,116621332.55851,116621333.575768,116621334.873733,116621336.195264,116621337.16184,116621338.103925,116621339.335401,116621340.342298,116621341.245894,116621342.277082,116621343.178798,116621344.088867,116621345.051968,116621346.735204,116621347.734047,116621348.778139,116621349.823413,116621350.818411,116621351.923172,116621352.889792,116621354.066391,116621356.093794,116621357.172992,116621358.115373,116621368.025942,116621370.138036,116621371.960248,116621373.700346,116621375.172746,116621376.486476,116621378.249232,116621379.519533,116621380.753581,116621381.934706,116621383.060613,116621384.324494,116621385.419145,116621386.455745,116621387.478307,116621388.493526,116621389.504471,116621390.512733,116621391.549141,116621392.567359,116621393.602947,116621395.12975,116621396.088738,116621397.016091,116621397.956653,116621398.906738,116621399.868863,116621400.853886,116621401.830801,116621402.775532,116621403.725909,116621404.688526,116621405.661919,116621406.643219,116621407.629336,116621408.60685,116621409.563171,116621410.52578,116621411.978726,116621413.370731,116621414.222415,116621415.137813,116621415.143841,116621415.147195,116621415.150122,116621415.153562,116621415.169012,116621415.40456,116621415.410795,116621415.414328,116621415.417428,116621415.420418,116621416.843761,116621420.392022,116621421.186515,116621422.064343,116621422.992459,116621423.936678,116621424.89541,116621425.833688,116621426.951031,116621428.212276,116621429.455548,116621430.730858,116621431.890577,116621433.007387,116621434.082903,116621435.174013,116621436.208766,116621437.225207,116621438.235701,116621439.247624,116621440.270093,116621441.246499,116621442.20004,116621443.141432,116621444.098873,116621445.064931,116621446.079294,116621447.055909,116621448.039605,116621449.021246,116621449.978256,116621450.968213,116621451.947049,116621452.920844,116621453.89739,116621454.878537,116621455.86906,116621456.853971,116621457.841946,116621458.833654,116621459.869663,116621460.864448,116621461.832372,116621462.79008,116621463.755509,116621464.771797,116621465.783806,116621466.89631,116621467.901922,116621468.882533,116621469.872223,116621470.858432,116621471.866257,116621472.857588,116621473.846829,116621474.807611,116621475.770652,116621476.743096,116621477.72292,116621478.72899,116621479.79061,116621480.811297,116621481.815335,116621482.816662,116621483.852562,116621484.870461,116621485.894448,116621486.919741,116621487.913904,116621488.916382,116621489.90113,116621490.880998,116621491.864372,116621494.910206,116621494.915266,116621494.918227,116621494.921265,116621494.924539,116621494.944656,116621498.028783,116621498.034167,116621498.037154,116621498.040315,116621498.043221,116621498.063328,116621498.711972,116621502.932903,116621506.477191,116621509.901494,116621512.376616,116621514.33169,116621515.953172,116621517.381718,116621518.607959,116621519.765206,116621520.83553,116621521.87468,116621522.901305,116621523.920335,116621525.065921,116621526.059648,116621527.039583,116621528.022711,116621529.163689,116621530.120367,116621531.04535,116621531.983744,116621532.969002,116621533.970291,116621534.972974,116621535.975692,116621536.977331,116621537.967231,116621538.957304,116621539.960499,116621540.965872,116621541.996524,116621542.999882,116621543.996343,116621545.063486,116621546.053115,116621547.036744,116621548.293124,116621549.28429,116621550.21993,116621551.164737,116621552.14176,116621553.111681,116621554.085549,116621555.065773,116621556.051143,116621558.737119,116621559.727629,116621560.758119,116621561.78547,116621562.802055,116621563.77654,116621564.748898,116621565.794768,116621566.779753,116621567.753354,116621568.731767,116621572.479006,116621573.429352,116621574.374976,116621575.317067,116621576.30807,116621577.289138,116621578.269731,116621579.257263,116621580.302319,116621581.367423,116621582.465353,116621583.588398,116621584.690353,116621587.290477,116621588.407884,116621589.508871,116621590.584361,116621591.640235,116621592.702241,116621593.778059,116621594.809363,116621595.8088,116621596.871936,116621597.868425,116621598.850269,116621599.834332,116621600.822509,116621601.813853,116621602.807694,116621603.803116,116621604.799839,116621605.790053,116621606.746838,116621607.783967,116621608.707708,116621609.716074,116621610.732543,116621611.728914,116621612.663774,116621613.623986,116621614.614636,116621615.611001,116621616.822876,116621617.821735,116621618.959003,116621620.015303,116621620.941143,116621621.832788,116621622.858517,116621623.802512,116621624.714959,116621626.867027,116621627.807898,116621628.852271,116621630.075581,116621631.128161,116621632.152019,116621633.167053,116621634.177715,116621635.185321,116621636.215292,116621637.217216,116621638.237424,116621639.244842,116621640.236978,116621641.23013,116621642.22441,116621643.21965,116621644.205556,116621649.217957,116621650.062156,116621650.889347,116621651.721083,116621652.591513,116621653.527661,116621654.48907,116621655.443341,116621656.41936,116621657.563328,116621658.899771,116621660.226802,116621661.434364,116621662.583957,116621663.692899,116621664.772388,116621665.914082,116621666.957216,116621667.969653,116621668.976148,116621669.98014,116621670.98313,116621671.947531,116621672.870838,116621673.79325,116621674.73277,116621675.688608,116621676.656603,116621677.63375,116621678.617457,116621679.605606,116621680.596889,116621681.590573,116621682.585742,116621683.600117,116621684.556635,116621685.483743,116621686.412886,116621687.357847,116621688.342851,116621689.355108,116621690.364201,116621691.370904,116621692.375581,116621693.379276,116621694.419676,116621695.462865,116621696.496197,116621697.52042,116621698.53798,116621699.550807,116621700.560112,116621701.546821,116621702.509673,116621703.478291,116621704.454774,116621705.532192,116621706.482377,116621707.415811,116621708.362519,116621709.346292,116621710.316616,116621711.313271,116621712.533704,116621713.552201,116621714.484559,116621715.420693,116621716.386782,116621717.368076,116621718.337387,116621719.312111,116621720.293365,116621724.333074,116621725.560894,116621726.477876,116621727.348552,116621728.248161,116621729.484772,116621730.516183,116621731.473564,116621732.44654,116621733.454998,116621734.642833,116621735.691579,116621736.659729,116621737.621672,116621738.592015,116621739.722075,116621740.74915,116621741.817119,116621742.809666,116621743.787161,116621744.768205,116621745.898327,116621746.925605,116621748.084323,116621749.133652,116621750.248186,116621751.415088,116621752.391485,116621753.750664,116621754.721331,116621755.617866,116621756.530107,116621757.609201,116621758.574312,116621759.465066,116621760.388992,116621761.467721,116621762.414111,116621763.431967,116621764.412278,116621765.475411,116621766.499529,116621767.4272,116621768.422423,116621769.429607,116621770.363718,116621771.302029,116621772.255258,116621773.363345,116621774.376058,116621775.32217,116621776.252869,116621777.179584,116621778.122091,116621779.082026,116621780.052426,116621781.029566,116621782.373639,116621783.424678,116621784.379207,116621785.3535,116621786.323626,116621787.248042,116621788.184486,116621789.256565,116621790.379566,116621791.428332,116621792.339938,116621793.257558,116621794.195167,116621795.149783,116621799.954066,116621800.781516,116621801.619624,116621802.487525,116621803.390166,116621804.320014,116621805.26948,116621806.233111,116621807.287794,116621808.559334,116621809.848419,116621811.137695,116621812.336295,116621813.47985,116621814.585168,116621815.66194,116621816.711433,116621817.705209,116621818.666769,116621819.612306,116621820.567805,116621821.500093,116621822.43719,116621823.389421,116621824.354791,116621825.329703,116621826.311672,116621827.298814,116621828.289343,116621829.282369,116621830.277169,116621831.273475,116621832.270718,116621833.362584,116621834.403376,116621835.420697,116621836.431678,116621837.439354,116621838.417822,116621839.380843,116621840.351044,116621841.329904,116621842.314416,116621843.302495,116621844.293859,116621845.287168,116621846.282398,116621847.27916,116621848.254674,116621849.243718,116621850.226938,116621851.22365,116621852.211334,116621853.191077,116621854.183944,116621855.204003,116621856.222272,116621857.235953,116621858.245918,116621859.261575,116621860.310919,116621861.35247,116621862.383174,116621863.394859,116621864.396073,116621865.412164,116621866.397863,116621867.367484,116621868.34246,116621869.323485,116621870.309644,116621871.30026,116621872.293643,116621879.514873,116621880.583408,116621881.595719,116621882.718405,116621884.431453,116621885.469381,116621886.360066,116621887.246957,116621888.146047,116621889.136285,116621890.300831,116621891.565754,116621892.809083,116621893.993657,116621895.12999,116621896.253619,116621897.311696,116621898.349893,116621899.377073,116621900.416664,116621902.023554,116621902.955303,116621903.860194,116621904.765507,116621905.662045,116621906.578758,116621907.540511,116621908.522363,116621909.472124,116621910.406094,116621911.346561,116621912.276307,116621913.243972,116621914.200057,116621915.165366,116621916.139775,116621917.120708,116621918.155864,116621919.139986,116621920.122556,116621921.108879,116621922.143097,116621923.613569,116621924.552557,116621925.454829,116621926.373597,116621927.313667,116621928.269963,116621929.23845,116621930.215993,116621931.222799,116621932.242881,116621933.258619,116621934.269929,116621935.278573,116621936.30715,116621937.311375,116621938.309184,116621939.282574,116621940.250222,116621941.243337,116621942.225098,116621943.206949,116621944.175487,116621945.168024,116621947.024138,116621948.00878,116621948.94515,116621949.88368,116621950.836488,116621951.802274,116621952.777477,116621953.759345,116621954.756128,116621955.745527,116621956.736484,116621957.729768,116621958.755399,116621959.816498,116621960.833868,116621961.842565,116621962.848375,116621963.887805,116621964.887414,116621968.311809,116621969.212261,116621970.133013,116621971.02916,116621971.94598,116621972.881195,116621973.865564,116621975.087496,116621976.106018,116621977.056645,116621978.011628,116621979.054544,116621980.058954,116621981.05787,116621982.071181,116621983.068624,116621984.064589,116621985.158882,116621986.264592,116621987.504311,116621988.701059,116621989.847886,116621990.955649,116621992.034923,116621993.085939,116621994.14074,116621995.214526,116621996.270885,116621997.26628,116621998.255177,116621999.245961,116622000.239064,116622001.22879,116622002.193709,116622003.152204,116622004.119189,116622005.095214,116622006.077481,116622007.064767,116622008.055606,116622009.049472,116622010.044734,116622011.04167,116622012.038925,116622013.03677,116622014.035161,116622015.034014,116622016.033171,116622017.032709,116622018.032265,116622019.031824,116622020.03155,116622021.031387,116622022.031295,116622023.028813,116622023.997694,116622024.997876,116622025.993449,116622026.958077,116622027.92417,116622028.898159,116622029.87906,116622030.896541,116622031.929306,116622032.957025,116622033.96605,116622034.938819,116622035.92977,116622036.908215,116622037.887597,116622038.872015,116622039.860497,116622040.940796,116622041.895639,116622042.832679,116622043.782789,116622045.067566,116622047.824539,116622048.740722,116622049.685317,116622050.646027,116622051.618376,116622052.621579,116622053.689999,116622054.806127,116622055.92303,116622057.052973,116622058.204124,116622059.379194,116622060.478733,116622061.553072,116622062.616826,116622063.650489,116622064.672985,116622065.744378,116622066.762903,116622067.759993,116622068.753511,116622069.802014,116622070.770166,116622071.721764,116622072.682203,116622073.687465,116622074.662321,116622075.639639,116622076.622544,116622077.68524,116622078.730787,116622079.741124,116622080.708541,116622081.642705,116622082.585431,116622083.542487,116622084.511498,116622085.503996,116622086.486458,116622087.47186,116622088.460621,116622089.452375,116622090.435231,116622091.431703,116622092.408084,116622093.424428,116622094.394043,116622095.365466,116622096.362556,116622097.353495,116622098.400888,116622099.413041,116622100.418722,116622101.427507,116622102.440424,116622103.440429,116622104.438875,116622105.437153,116622106.435854,116622107.435152,116622108.49493,116622109.45819,116622110.414895,116622111.381034,116622112.356271],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[76,90,12,24,239,1398,1836,1588,1345,1273,1129,1087,1088,1147,1217,1225,1113,1066,972,968,942,974,958,976,1067,1091,1017,1068,1081,966,942,937,939,903,894,901,910,963,932,924,920,928,896,912,918,1176,1100,1079,874,4751,2087,1822,1740,1472,1282,1248,1270,1234,1181,1125,1095,1094,1036,1022,1015,1010,1008,1005,1018,1035,1029,958,927,940,950,962,971,976,944,950,962,973,981,986,977,956,962,970,979,851,314,6,3,2,3,15,49,6,3,3,2,334,836,787,877,928,944,958,938,1117,1251,1243,1218,1159,1112,1070,1091,1034,1016,1010,1006,1022,976,948,941,952,966,1009,976,977,981,957,989,971,965,971,976,990,984,987,991,1028,994,963,957,965,1012,993,1019,1005,980,982,986,1003,991,989,960,963,972,979,1006,1057,1020,1004,1001,1031,1017,1023,1021,994,998,980,979,983,1025,5,2,3,3,20,23,5,2,3,2,20,648,4220,3341,2886,2475,1955,1621,1406,1226,1157,1070,1039,1026,1019,1014,993,979,983,987,956,924,938,985,1001,1002,1002,1001,989,990,1003,1005,1003,1003,996,996,989,983,986,991,935,944,958,969,973,980,985,977,990,1030,1027,1016,974,972,978,984,973,978,965,950,945,942,960,981,980,987,1025,1065,1097,1123,1101,1076,1117,1100,1075,1055,1062,1075,1031,999,995,996,981,984,988,991,993,995,996,990,956,921,923,923,942,937,934,960,990,996,996,998,952,959,925,891,900,924,912,929,940,1044,1078,1052,1023,1015,1010,1007,1029,1001,1020,1007,992,993,994,995,985,926,823,827,831,870,936,961,954,976,1143,1336,1327,1207,1149,1108,1079,1057,1043,1012,1006,1003,1002,964,923,922,939,955,967,977,983,988,991,993,995,996,956,927,929,944,985,1012,1009,1006,1004,1003,1040,1043,1033,1024,1017,1012,1009,986,962,968,976,955,950,933,946,983,970,996,1020,1018,932,936,951,965,969,974,981,957,930,916,870,899,956,1017,957,972,1008,1009,1008,968,961,970,1001,1027,994,992,977,981,984,988,1078,1049,1025,1008,976,962,970,896,912,934,914,890,923,929,946,925,931,930,936,927,922,930,934,938,953,965,957,946,930,926,942,959,970,977,983,988,916,909,917,924,936,952,950,944,911,917,937,954,904,827,838,867,902,929,949,963,1054,1271,1289,1289,1198,1143,1105,1076,1049,993,961,945,955,932,937,952,965,974,981,987,990,993,994,996,997,1020,1040,1017,1010,1007,978,963,970,978,984,988,991,993,995,996,975,989,983,996,987,970,992,1020,1018,1013,1009,1015,1049,1041,1030,1011,1001,1016,985,969,974,981,986,990,993,2040,1068,1012,1103,1713,1037,890,886,899,990,1164,1264,1243,1184,1136,1123,1058,1038,1027,1018,1058,931,887,905,896,916,961,981,949,933,940,929,967,956,965,974,980,1035,984,982,986,1021,988,924,902,918,940,956,968,977,1006,1020,1015,1011,1008,1028,1004,997,973,967,993,981,981,968,992,971,984,936,938,952,965,975,981,996,989,990,993,1025,1061,1017,1008,1005,1039,999,1441,900,920,896,916,935,984,997,971,950,954,999,1004,998,998,997,995,1073,1105,1239,1196,1146,1107,1079,1051,1054,1073,1056,995,988,990,993,989,952,958,966,976,982,987,990,993,995,996,997,997,998,998,999,999,999,999,999,999,999,997,968,1000,995,964,966,973,980,1017,1032,1027,1009,972,971,978,979,984,988,990,954,937,950,1156,940,916,944,960,972,1003,1068,1116,1116,1129,1151,1166,1099,1074,1063,1033,1022,1071,1004,997,993,1048,968,951,960,1005,974,977,982,987,1045,1005,967,934,942,957,969,992,982,985,988,991,982,996,976,1016,969,971,997,990,1047,1012,1005,1003,1012,1000,998,998,998,999,1059,963,956,966,975]},"stackTable":{"length":1822,"prefix":[null,0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,15,16,17,18,19,20,19,22,23,24,25,25,24,28,22,30,31,32,18,34,35,36,37,38,16,40,41,42,41,44,45,46,47,48,47,14,51,52,53,54,55,56,57,58,59,54,61,62,61,64,65,66,67,52,69,70,71,72,71,74,75,76,77,70,79,80,81,82,83,82,85,12,87,88,89,90,91,92,93,94,95,96,97,98,96,92,101,102,103,104,104,106,107,104,109,90,111,112,113,114,115,116,116,112,119,120,121,122,122,88,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,136,142,143,144,145,146,134,148,149,150,151,152,153,149,155,156,157,158,158,160,132,162,163,164,165,166,167,168,169,170,165,172,173,174,175,163,177,178,179,180,181,182,178,184,185,186,187,130,189,190,191,192,193,194,195,196,197,198,199,200,194,202,203,204,205,206,203,208,209,192,211,212,213,214,215,216,217,212,219,220,221,222,223,190,225,226,227,228,229,230,231,232,233,228,235,236,237,238,239,226,241,242,243,244,245,246,247,242,249,250,251,252,253,253,255,128,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,262,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,null,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,87,337,338,8,340,341,342,343,344,345,346,347,348,349,350,351,341,353,354,355,356,357,358,359,360,361,362,343,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,375,381,382,383,384,373,386,387,388,389,390,391,372,393,8,395,396,397,398,399,400,401,402,398,404,405,406,407,408,396,410,411,412,413,414,415,416,411,418,419,420,421,419,423,424,425,426,427,399,429,430,431,432,433,432,435,436,437,431,439,440,441,442,443,429,445,446,447,448,449,450,451,446,453,454,455,456,456,458,459,460,461,454,463,464,465,466,467,468,404,470,471,472,473,474,472,476,477,470,479,480,481,482,481,484,485,486,480,488,489,490,491,492,493,494,489,496,497,498,499,496,501,396,503,504,505,506,507,508,509,510,511,512,513,508,515,516,517,518,516,520,521,506,523,524,525,526,527,528,525,530,531,532,532,530,535,536,537,538,539,540,536,542,543,544,545,546,547,547,549,550,507,552,506,554,555,556,557,558,559,555,507,562,505,564,565,566,567,505,569,503,571,572,503,574,395,576,577,578,579,8,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,8,597,598,599,600,601,602,603,604,605,606,607,607,609,610,609,607,606,614,614,614,617,618,604,620,621,622,623,622,622,621,627,627,629,630,627,632,633,633,602,636,637,638,639,640,640,642,643,643,640,640,647,639,649,649,649,649,637,654,655,656,656,656,659,656,661,655,663,663,665,663,600,668,669,670,671,672,673,674,674,674,677,678,673,680,681,680,680,681,685,671,687,688,689,689,691,692,689,694,695,688,697,698,699,699,697,669,703,704,705,706,707,707,707,710,707,706,713,713,715,713,713,704,719,720,721,722,723,721,721,726,720,728,728,730,728,732,733,598,735,736,737,738,739,739,741,742,735,744,745,4,747,601,601,598,751,752,753,754,755,623,757,633,630,630,647,762,762,762,649,649,767,768,656,656,659,772,663,774,677,677,678,685,685,680,781,782,689,689,692,697,787,788,697,788,669,792,793,794,795,796,795,798,798,796,801,802,802,804,801,806,807,808,808,810,808,812,813,813,815,816,607,610,617,622,627,640,656,772,665,663,600,828,829,830,831,832,833,834,835,836,835,838,833,840,841,842,841,844,844,831,847,848,849,850,851,850,853,848,855,856,857,858,859,860,861,862,863,863,862,866,867,868,866,860,871,872,873,872,875,875,877,858,879,880,881,882,883,884,885,886,887,888,889,890,891,891,889,894,895,888,897,898,898,900,897,902,903,886,905,906,907,908,909,907,909,906,913,913,915,916,913,918,919,884,921,922,923,924,925,926,927,927,929,930,930,926,933,933,924,936,937,938,939,940,940,938,937,944,945,946,944,925,925,950,925,936,953,954,936,956,957,954,610,610,618,757,632,633,629,642,643,768,768,772,659,774,973,663,663,674,674,978,979,782,782,695,697,697,699,796,796,988,989,796,991,992,798,798,798,996,802,998,999,1000,1001,1000,1003,1004,1003,998,1007,1008,1009,1010,1009,1008,1013,1014,1015,1013,801,1018,1019,1020,1021,1022,1023,1024,1022,1021,1027,1027,1029,1030,1019,1032,1033,1034,1035,1036,1034,1033,1039,1040,1039,795,1043,1044,1045,1045,1047,1045,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1057,1060,1060,1062,1055,1064,1065,1066,1067,1066,1065,1070,1071,1072,1053,1074,1075,1076,1077,1078,1078,1077,1081,1081,1083,1084,1075,1086,1087,1088,1089,1090,1088,627,640,649,661,692,699,713,721,722,752,1102,1103,1104,1105,1106,1107,1108,1108,1110,1107,1112,1105,1114,1115,1116,1116,1118,1115,1120,1103,1122,1123,1124,1125,1126,1126,1125,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1139,1142,1143,1138,1145,1136,1147,1148,1149,1148,1151,1151,1134,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1164,1163,1167,1167,1161,1170,1171,1172,1173,1174,1172,1171,1177,1177,1179,1180,1159,1182,1183,1184,1185,1186,1187,1188,1186,1190,1191,1185,1193,1193,1183,1196,1197,1198,1199,1200,1200,1197,1203,1204,1205,1204,1157,1208,1209,1210,1211,1210,1210,1214,1215,1210,1217,1218,1219,1220,1219,1222,1217,1224,1225,1226,1225,1228,1218,1218,1231,1224,1224,1234,1224,610,609,607,1239,1240,617,614,1243,1244,1243,617,604,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1258,1260,1261,1257,1263,1263,1265,1255,1267,1268,1269,1269,1271,1272,1268,1274,1274,1276,1277,1274,1279,1253,1281,1282,1283,1284,1285,1286,1287,1285,1289,1290,1284,1292,1292,1292,1295,1296,1282,1298,1299,1300,1300,1302,1303,1299,1305,1306,1305,1305,1251,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1322,1321,1325,1319,1327,1328,1329,1329,1331,1332,1328,1334,1334,1317,1337,1338,1339,1340,1341,1340,1343,1343,1338,1346,1347,1348,1349,1350,1348,1347,1353,1354,1355,1315,1357,1358,1359,1360,1361,1362,1363,1364,1365,1365,1362,1368,1368,1360,1371,1372,1373,1372,1375,1376,1377,1377,1358,1380,1381,1382,1383,1384,1384,1383,1387,1388,1389,1381,1391,1392,1393,1392,1395,1396,1397,1398,1399,1399,1401,1402,1399,1404,1405,1398,1407,1313,1409,1410,1411,1411,1411,1414,1415,1415,1415,1418,1419,1414,1421,1422,1423,1424,1425,1426,1427,1426,1427,618,622,1432,630,627,649,1436,1437,659,973,978,978,781,691,692,707,1446,715,713,1449,1450,721,726,1453,732,1108,1112,1116,1116,1125,1460,1460,1123,1463,1464,1465,1466,1467,1465,1464,1470,1471,1470,753,1474,1475,1476,1477,1478,1479,1480,1481,1479,1478,1484,1485,1484,1487,1488,1476,1490,1491,1492,1492,1491,1495,1496,1497,1495,1474,1500,1501,1502,1503,1504,1505,1506,1504,1508,1503,1510,1510,1512,1513,1501,1515,1516,1517,1518,1519,1517,1521,1522,1523,1524,1525,1526,1524,1523,1529,1530,1529,1521,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1542,1544,1540,1546,1547,1548,1546,1538,1551,1552,1553,1554,1555,1555,1553,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1565,1569,1570,1564,1572,1573,1574,1575,1574,1573,1578,1578,1580,1578,1562,1583,1584,1585,1586,1587,1588,1589,1587,1591,1586,1593,1594,1595,1595,1584,1598,1599,1600,1601,1602,1602,1599,1605,1606,1607,1608,1607,1610,1611,610,609,614,622,623,757,622,622,627,633,627,643,762,642,1437,768,649,649,1437,661,1632,656,665,1635,665,665,674,674,685,685,782,685,695,689,599,751,1648,739,1650,1651,1652,1653,1654,1655,1656,1657,1658,1657,1658,1656,1662,1662,1664,1664,1654,1667,1668,1669,1670,1671,1669,1670,1668,1675,1675,1677,1678,1675,1677,1675,1652,1683,1684,1685,1686,1687,1687,1687,1690,1691,1690,1687,1694,1695,1686,1697,1697,1699,1700,1697,1699,1697,1704,1705,1684,1707,1708,1709,1710,1711,1709,1709,1709,1715,1711,1708,1718,1718,1720,1721,1718,1723,1724,1718,1720,1650,1728,1729,1730,1731,1732,1733,1734,1735,1736,1735,1738,1733,1740,1741,1742,1741,1744,1744,1746,1731,1748,1749,1750,1751,1752,1751,1754,1755,1749,1757,1758,1759,1760,1761,1758,1763,1734,1765,1766,1734,1768,1769,1740,1771,1740,1750,1774,1775,1749,1777,1778,1779,1780,1781,1782,1783,1784,1785,1784,1787,1782,1789,1790,1791,1790,1793,1794,1795,1780,1797,1798,1799,1800,1801,1801,1803,1804,1800,1806,1806,1808,1809,1801,1800,1812,1813,1814,1815,1816,1814,1818,1819,1816],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,10,11,10,11,10,11,10,11,12,13,14,15,16,17,18,19,20,18,21,16,20,22,23,14,15,16,20,24,23,10,11,25,23,14,15,16,20,26,27,23,10,11,10,11,14,21,16,20,28,23,12,29,14,21,16,17,18,23,10,11,12,30,14,21,16,20,31,23,14,21,16,20,32,17,33,23,10,11,10,11,10,11,14,15,16,20,20,22,34,23,14,21,16,35,20,17,36,17,37,23,10,11,14,15,16,22,38,23,14,15,16,33,39,40,8,9,10,11,10,11,10,11,10,11,10,11,14,21,16,41,23,14,21,16,17,42,23,10,11,14,21,16,43,23,14,15,16,44,20,45,23,10,11,10,11,14,15,16,20,46,23,14,15,16,47,23,10,11,14,21,16,48,23,14,15,16,49,23,10,11,10,11,10,11,50,51,52,53,54,55,23,14,21,16,17,56,15,16,57,23,10,11,14,15,16,20,58,23,14,21,16,20,59,23,10,11,10,11,14,21,16,20,42,23,14,21,16,17,60,23,10,11,14,21,16,20,36,23,14,21,16,17,24,20,36,40,8,9,10,11,10,11,10,23,10,23,10,23,14,15,16,61,23,10,23,10,40,8,9,10,11,10,11,10,23,10,11,10,23,14,15,16,62,40,8,9,10,11,10,23,10,23,10,40,8,9,10,23,10,23,10,40,8,9,10,40,8,9,10,40,8,9,10,11,10,23,10,23,10,23,14,15,16,20,36,63,64,65,66,67,68,67,68,67,69,67,69,67,68,70,71,69,67,69,67,69,67,68,67,69,70,72,69,67,73,8,66,67,68,67,68,67,68,67,68,67,68,70,74,69,67,69,70,75,69,67,68,67,69,70,71,76,65,77,78,79,78,79,80,81,16,82,83,80,81,16,17,84,83,78,79,80,81,16,20,18,83,78,79,80,85,83,80,81,16,17,86,78,79,78,79,87,88,80,89,16,22,83,80,81,16,20,90,83,78,79,80,81,16,20,36,83,78,79,80,91,89,16,17,17,92,83,80,89,16,17,20,93,78,79,78,79,87,94,83,87,75,83,78,79,87,94,80,81,16,95,83,78,79,80,81,16,17,36,83,80,81,16,96,87,71,97,8,77,78,79,78,79,80,89,16,20,98,83,80,89,16,99,81,16,100,97,8,77,80,89,16,101,78,79,87,102,71,83,78,79,80,81,16,103,97,8,77,80,81,16,98,17,20,24,87,71,83,80,81,16,20,17,24,91,80,104,80,81,16,20,22,87,74,5,6,7,105,106,107,108,109,110,111,112,113,114,113,114,113,114,113,115,8,112,113,115,8,112,44,116,117,118,117,118,117,118,117,118,117,118,119,120,121,122,123,124,125,126,119,120,121,127,125,117,118,128,129,126,119,125,126,128,121,130,120,121,131,132,125,117,118,117,118,126,120,121,133,134,119,128,135,125,136,137,126,119,125,117,118,126,119,120,138,128,135,125,126,120,138,119,125,117,118,117,118,117,118,126,119,128,121,139,125,120,135,119,126,121,130,125,117,118,126,128,121,140,120,121,140,125,128,121,141,142,119,125,117,118,117,118,119,126,120,135,143,125,119,120,144,124,126,125,117,118,128,121,132,119,120,123,125,119,128,144,120,121,130,145,8,116,117,118,146,128,121,133,5,6,7,105,106,119,126,125,117,125,128,121,147,121,148,149,150,122,121,151,134,152,143,120,121,147,153,146,121,149,128,154,154,155,156,131,147,128,121,134,119,157,139,120,121,158,126,141,145,8,116,117,118,159,125,126,157,117,118,119,120,155,145,8,116,126,128,155,117,118,119,120,121,160,126,161,123,157,119,146,157,162,163,164,145,8,116,117,118,117,118,117,118,119,125,119,125,117,118,119,125,126,146,125,117,118,117,118,126,125,126,145,8,116,117,118,117,118,117,118,119,126,125,128,121,165,157,125,117,118,126,125,126,128,166,145,8,116,117,118,117,118,117,118,117,118,128,121,134,167,120,121,168,125,120,155,121,169,128,121,161,125,117,118,120,121,170,153,150,125,119,128,121,171,120,121,156,145,8,116,117,118,117,118,119,120,121,172,148,125,119,159,125,117,118,120,121,171,161,146,125,128,121,148,126,126,128,155,173,128,121,140,120,121,156,174,175,176,174,141,154,177,154,129,165,178,148,179,155,121,180,146,181,124,120,121,134,161,182,183,124,157,130,126,128,121,176,120,121,134,146,119,120,184,117,118,117,118,143,125,120,185,126,125,117,118,120,185,126,125,128,121,133,119,125,117,118,117,118,120,121,133,126,125,119,120,121,140,125,117,118,128,121,179,119,125,128,186,119,145,8,116,126,120,163,117,118,117,118,117,118,117,118,117,118,119,125,126,128,187,125,117,118,120,184,126,125,120,121,132,125,117,118,117,118,119,157,125,146,120,121,142,145,8,116,120,121,127,157,188,157,189,154,133,165,188,157,144,118,117,118,117,118,117,118,119,128,123,125,126,125,117,118,126,128,185,125,126,125,117,118,117,118,126,119,145,8,116,117,118,117,118,117,118,117,118,128,190,120,121,147,125,119,125,117,118,119,125,126,143,145,8,116,117,118,117,118,117,118,117,118,191,119,125,119,126,125,117,118,120,121,179,119,125,119,120,121,152,125,117,118,117,118,128,121,192,120,121,161,125,126,193,125,117,118,120,121,174,134,125,120,121,167,155,145,8,116,128,166,126,120,121,141,117,118,117,118,119,125,119,125,117,118,119,125,126,126,120,194,119,128,154,126,134,190,128,121,130,185,128,121,180,155,135,145,8,116,117,118,117,118,117,118,117,118,126,128,121,142,125,119,128,184,125,117,118,119,128,121,134,125,119,120,121,175,128,154,125,117,118,117,118,128,121,139,120,121,122,125,146,119,120,121,175,125,117,118,119,128,121,150,125,120,155,119,126,145,8,116,117,118,117,118,117,118,117,118,117,118,119,157,125,126,125,117,118,126,128,121,195,125,157,126,125,117,118,117,118,119,125,119,146,125,117,118,128,121,134,126,125,120,121,171,125,117,118,117,118,117,118,120,121,130,149,125,146,119,125,117,118,126,125,120,121,141,161,125,117,118,117,118,196,119,125,120,121,141,125,117,118,126,145,8,116,117,118,126,120,121,195,128,121,183,125,119,145,8,116,146,119,117,118,119,146,120,121,178,145,8,116,117,118,120,121,134,184,147,140,120,123,140,157,128,121,197,144,127,185,123,135,138,198,128,144,135,128,121,130,126,121,142,123,126,119,199,119,125,126,119,125,117,118,128,121,142,119,125,120,135,119,117,118,117,118,117,118,128,121,132,126,125,120,144,128,121,127,125,117,118,200,119,125,120,121,140,119,125,117,118,117,118,120,121,132,128,123,125,119,120,121,142,145,8,116,128,121,161,117,118,117,118,128,121,132,126,125,120,123,126,145,8,116,117,118,117,118,117,118,120,154,121,192,125,120,121,201,119,145,8,116,128,121,176,134,117,118,117,118,117,118,117,118,120,121,201,128,121,202,125,117,118,120,138,119,125,119,128,154,126,125,117,118,117,118,120,121,202,128,135,125,128,121,127,203,125,117,118,120,121,204,192,145,8,116,120,135,128,121,149,141,155,157,146,155,147,191,196,189,170,153,140,161,144,140,134,146,157,183,121,149,205,121,147,184,185,181,193,141,132,152,206,134,124,119,120,166,117,118,117,118,117,118,117,118,128,123,119,135,125,126,120,123,155,125,117,118,128,121,207,126,144,125,119,120,121,148,136,144,126,125,117,118,117,118,126,119,128,121,140,135,120,121,142,125,126,120,121,140,119,123,128,121,204,125,117,118,120,121,140,157,119,128,135,132,125,119,128,121,127,120,121,140,126,135,145,8,116,117,118,117,118,117,118,146,125,119,125,117,118,136,125,119,120,123,125,117,118,117,118,119,125,120,123,125,117,118,128,121,132,125,119,120,121,130,128,121,208,120,187,126,120,121,148,145,8,116,117,118,117,118,117,118,126,125,119,125,117,118,157,125,128,121,127,145,8,116,117,118,189,120,121,142,125,126,120,121,142,119,145,8,116,128,121,132,120,121,148,156],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x2618c","0x26706","0x11e88d","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f257e","0x177db6","0x1f2589","0x1f1c7f","0x1edef0","0x1eeae6","0x1ee02b","0x1ee015","0x1eeb02","0x1f1e9c","0x1edfb0","0x1f37e8","0x1edfd9","0x1f25f2","0x1edf76","0x1eea7f","0x1ee80d","0x177e3f","0x177e53","0x1ee81a","0x1ee340","0x1eeac5","0x1eeb1d","0x1ee224","0x1edfb4","0x1edfd5","0x1ee7d4","0x1ee20f","0x1f3684","0x1ee796","0x1ee01a","0x1ee030","0x1ee83a","0x1ee9a7","0x1ee7bc","0x1ee027","0x1edff0","0x1eea67","0x1f262c","0x592ef","0x354cb3","0xa5861","0xa4b89","0xa4288","0x1ee73f","0x1ee851","0x1edfaa","0x1ee962","0x1edfb7","0x1ee03a","0x1ee024","0x1f2c90","0x1f31a7","0x1a0aca","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177e44","0x177dbf","0x1ec510","0x177d91","0x177e31","0x1eb976","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee855","0x34fd2","0x1ee477","0x1edaad","0x1edffc","0x59940","0x177dbc","0x1edb10","0x1edfce","0x1eda33","0x1ee008","0x1edfe9","0x177d9f","0x1ee74f","0x1ee944","0x34ed4","0x1edfde","0x1ee1dc","0x1ee769","0x1ee82d","0x177ed5","0x1ee4a2","0x1edab4","0x26141","0x108c9b","0x59e9e","0x177c50","0xa5452","0xa2cc2","0x9125b","0x1ef2d8","0x1eebf0","0x1eee79","0x1eeec7","0x247051","0x246666","0x246a05","0x2463ab","0x24637c","libm.so.6","0x37f02","0x764ac","0x37f31","0x24633e","0x246b93","0x246396","0x764eb","0x246363","0x37f40","0x76488","0x709c7","0xe380","0x764e4","0x7651d","0x37ef0","0x24638a","0x246376","0x37f58","0x7662f","0x764c0","0x764d5","0x76514","0x246338","0x37f13","0x246a77","0x2463bb","0x7652b","0x764f4","0x764db","0x709c0","0x7651f","0x764b3","0x246347","0x37f03","0x37f25","0x7649f","0x2463af","0x764f7","0x2463a7","0x76470","0x70ab8","0x76491","0x37efe","0x2463b3","0x7648e","0x37f21","0x764e7","0x76532","0x76622","0x76637","0x7650f","0x76518","0x24637d","0x764c4","0x76479","0x764a3","0x76502","0x7654a","0x76482","0x764fd","0x24637a","0x76564","0x709ce","0x37ef8","0x37f27","0x37f37","0x37f1d","0x2463b7","0x246392","0x37f2f","0x246354","0x76506","0x2463bf","0x37f0b","0x7647e","0x24636d","0x70aa0","0x76497","0x246386","0x24639f","0x70aba","0x709e4","0x70ab0","0x76538","0x24634b","0x76526","0x764cc","0x76540"],"tid":"700702","unregisterTime":116622126.552591},{"frameTable":{"length":213,"address":[1206351,608962,4045226,3445825,3446491,156499,2048185,2045333,2042824,2045165,157666,3439601,165813,1173645,-1,3439580,2041225,2039452,2023152,2026214,2024227,2038911,2026091,2024256,2024921,2045928,2039407,2023358,2023445,2026242,2024610,2045572,2047333,2025479,2025345,2041214,1539496,2043024,2044396,158863,3493043,677985,674697,674012,668235,2023460,2025256,2023385,2025961,2023941,2025482,2025375,2025392,2024543,2023348,1539456,2024572,2025291,2025629,2041540,365295,673322,661283,1539473,2026493,2025776,2025655,1539513,2023408,2025485,1539516,2023440,2028248,2026480,2027207,156044,157446,155969,1084571,2025275,2025088,2018025,2013424,2016405,2016768,2011528,2011991,2011536,2012221,2011421,1539647,2016528,2012003,1418669,368184,216630,366929,2022359,2025831,217042,2022160,2023646,2023456,2023351,2023265,2023745,2024595,2023450,2025526,2023472,216788,2025570,2023344,2023463,2025301,2025530,2023053,676396,2021921,2023374,2026199,2025299,2023323,2026000,2024794,2023390,2023716,2388049,2385510,2386835,2386551,2386437,2384739,229122,484488,2384790,2384764,229169,484511,484544,2384811,461248,484539,2384696,229104,2384827,484628,2384815,229149,484664,484565,484651,484548,2384774,484524,484614,484632,461264,461255,229139,2384786,484587,461280,58240,229123,484919,484464,484580,484599,484682,229171,229208,484637,484571,2384758,484623,229159,229153,2384778,484596,484556,2384799,229157,484911,2384702,484888,461340,2384749,461504,484478,484605,461496,484639,461498,484658,484646,229118,461262,484670,229112,484531,2384762,2384724,484482,484503,229175,461480,461328,484568,229131,2384711,229188,484792],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":213,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,0,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,1,2,2,1,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,2,1,2,2,1,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700703>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.821767,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,135],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":742,"stack":[19,19,19,19,19,22,30,33,34,35,38,42,43,47,48,65,74,85,96,107,115,125,136,138,142,147,150,151,158,159,166,167,172,174,176,182,186,187,195,197,202,203,205,220,228,238,243,284,290,293,295,299,300,301,313,321,327,337,344,358,372,385,390,397,405,411,415,424,429,437,445,446,452,462,471,478,481,490,495,503,505,512,515,525,526,531,532,539,543,555,568,575,576,583,592,600,611,611,611,611,611,623,624,626,628,630,631,637,638,639,638,641,644,645,647,641,653,656,657,653,653,659,660,661,664,665,666,670,671,673,675,676,678,680,681,678,678,682,691,694,695,696,700,701,702,703,704,709,711,714,715,716,717,719,722,723,725,719,733,735,738,740,743,748,758,761,763,766,772,773,774,776,777,780,786,800,803,807,809,813,816,818,821,829,830,834,835,836,842,843,845,845,853,856,860,861,866,867,870,873,881,883,887,890,894,897,899,900,903,904,905,906,908,909,910,912,915,916,919,922,923,926,927,938,939,942,944,948,952,953,963,966,970,972,975,976,977,978,979,980,981,984,985,645,653,986,989,990,991,670,682,682,992,994,997,702,709,998,723,719,1003,1004,1008,1009,1013,1015,1017,1017,1018,1021,1024,1026,1029,1030,1031,1034,1037,1040,1043,1045,1046,1049,1050,1052,1053,1055,1056,1059,1067,1069,1070,1077,1080,1082,1085,1088,1094,1096,1100,1101,1107,1110,1112,1113,1119,1120,1122,1123,1126,1126,1126,1126,1126,1123,1129,638,1131,1133,1134,660,1137,1140,1142,1143,1144,1145,702,1146,1147,703,1148,1149,1150,719,1151,719,1153,1154,1154,1009,1155,1156,1159,1161,1162,1164,1165,1166,1167,1168,1170,1171,1172,1056,1173,1174,1175,1176,1179,1180,1182,1183,1184,1188,1192,1195,1196,1197,1198,1201,1204,1206,1207,1207,1208,1208,1211,295,979,1212,1213,1214,1215,645,657,656,1216,670,1217,1218,1219,992,1220,702,1221,998,1222,1223,1223,1009,1155,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1237,1239,1242,1246,1248,1249,1250,1251,1252,1253,1254,1255,1258,1259,1262,1167,1263,1264,1265,1172,1172,1268,1269,1270,1273,1274,1275,1276,1277,1280,1281,1284,1281,1285,1259,1286,1292,1295,1296,1297,1298,1299,645,1300,1301,1302,660,991,1303,681,992,1304,702,1305,1306,998,1308,1309,1310,1311,1155,1314,1315,1316,1317,1320,1263,1321,1322,1171,1171,1056,1323,1175,1324,1325,1327,1328,1329,1334,1335,1339,1341,1342,1346,1347,1349,1350,1352,1355,1356,1360,1361,1364,1365,1367,1370,1372,1376,1379,1380,1382,1388,1402,1403,1407,1409,1415,1416,1297,1417,1418,638,645,1419,653,653,1216,1420,670,1217,678,1421,1304,702,703,1422,1423,1424,1425,1426,1223,1154,1009,1155,1427,1428,1017,1017,1435,1436,1438,1438,1444,1445,1447,1452,1453,1455,1455,1459,1460,1464,1466,1475,1478,1479,1485,1486,1489,1491,1497,1498,1501,1503,1505,1506,1501,1512,1513,1521,1522,1524,1525,1525,1529,1530,1530,1532,1535,1532,1542,1545,1545,1547,1550,1552,1556,1559,1563,1564,1565,1566,1567,1570,626,1571,1572,981,1573,1574,1575,645,1576,1577,1591,1595,1596,1601,1602,1604,1607,1615,1616,1619,1621,1625,1628,1630,1631,1631,1639,1642,1646,1647,1652,1653,1655,1657,1658,1664,1665,1668,1669,1673,1676,1683,1685,1689,1690,1700,1702,1704,1710,1712,1713,1713,1713,1716,1721,1724,1728,1734,1735,1739,1740,1745,1747,1749,1755,1757,1760,1765,1768,1772,1773,1781,1782,1250,1785,1786,1789,1790,624,1212,1212,1299,1791,1792,1793,1794,659,666,1795,1796,1797,1798,1799,1800,695,1801,703,1802,998,1222,1803,1223,1004,1009,1009,1013,1804,1165,1165,1805,1806,1808,1810,830,1811,916,845,1812,1814,926,1816,1817,1818,1821,899,1824,1825,1828,1829,1830,1831,1832,1834,1832,1835,1838],"time":[116621305.999794,116621306.006165,116621306.009861,116621306.013649,116621306.017107,116621306.028935,116621306.301729,116621309.370875,116621312.418502,116621314.802617,116621316.850973,116621318.765862,116621320.5904,116621322.156966,116621323.511037,116621324.767532,116621325.957061,116621327.096604,116621328.186377,116621329.250678,116621330.296388,116621331.330154,116621332.354928,116621333.428828,116621334.444427,116621335.442967,116621336.438178,116621337.464308,116621338.424744,116621339.381359,116621340.347582,116621341.323298,116621342.306403,116621343.295231,116621344.285328,116621345.38611,116621346.355221,116621347.298483,116621348.249125,116621349.234802,116621350.206606,116621351.185461,116621352.201145,116621353.219251,116621354.232712,116621355.242493,116621356.249828,116621357.256201,116621363.511623,116621363.917277,116621363.989356,116621364.009305,116621364.017346,116621364.062242,116621365.471769,116621367.744621,116621369.796764,116621371.561362,116621373.089787,116621374.578397,116621375.819729,116621377.543619,116621378.673849,116621380.102137,116621381.213131,116621382.435927,116621383.525879,116621384.611291,116621385.644793,116621386.782079,116621387.835956,116621388.819483,116621389.889947,116621390.929899,116621392.10265,116621393.21717,116621394.263693,116621395.292641,116621396.554685,116621397.545685,116621398.642281,116621399.606466,116621400.755863,116621401.880655,116621402.873192,116621403.983473,116621404.970476,116621405.999751,116621406.980202,116621408.068967,116621408.997171,116621409.908173,116621410.837614,116621411.785587,116621412.748469,116621413.721287,116621418.233413,116621418.237372,116621418.240216,116621418.243066,116621418.246232,116621421.4085,116621422.59772,116621423.754252,116621424.871754,116621425.922536,116621427.126675,116621428.655845,116621429.981497,116621431.201171,116621432.341621,116621433.441966,116621434.526451,116621435.581154,116621436.62055,116621437.647976,116621438.666455,116621439.678955,116621440.655578,116621441.628176,116621442.577624,116621443.530697,116621444.537067,116621445.516706,116621446.490059,116621447.46701,116621448.448961,116621449.465728,116621450.42482,116621451.382001,116621452.348133,116621453.323237,116621454.304987,116621455.364711,116621456.350319,116621457.328228,116621458.310734,116621459.313039,116621460.454501,116621461.43467,116621462.362454,116621463.331703,116621464.281986,116621465.248852,116621466.232136,116621467.239918,116621468.2484,116621469.260383,116621470.264624,116621471.266702,116621472.268199,116621473.269121,116621474.256576,116621475.26186,116621476.232258,116621477.20586,116621478.189805,116621479.427849,116621480.447393,116621481.540927,116621482.621554,116621483.701412,116621484.743125,116621485.804103,116621486.855694,116621487.874045,116621488.868917,116621489.869207,116621490.862288,116621491.85625,116621498.686833,116621500.075985,116621501.393475,116621502.678165,116621503.901099,116621505.194263,116621506.450599,116621507.718525,116621509.114682,116621510.423326,116621511.6754,116621512.863814,116621514.040737,116621515.075415,116621516.061877,116621517.04063,116621518.031399,116621518.958928,116621519.885551,116621520.798432,116621521.743385,116621522.690606,116621523.647832,116621524.616307,116621525.593624,116621526.621973,116621527.61012,116621528.592557,116621529.577773,116621530.541199,116621531.502489,116621532.48603,116621533.521604,116621534.52862,116621535.531055,116621536.532388,116621537.571124,116621538.550634,116621539.54416,116621540.541616,116621541.540375,116621542.53936,116621543.538767,116621544.538623,116621545.579839,116621546.574665,116621547.565345,116621548.557901,116621549.59195,116621550.588007,116621551.576074,116621552.566243,116621553.558698,116621554.553097,116621555.56563,116621556.560694,116621557.533935,116621558.49889,116621559.523048,116621560.533351,116621561.535992,116621562.536945,116621563.512943,116621564.505477,116621565.482139,116621566.459518,116621567.442283,116621572.09443,116621573.04456,116621573.999564,116621574.957331,116621575.956664,116621576.930575,116621577.903904,116621578.883552,116621579.946641,116621581.008751,116621582.097724,116621583.210091,116621584.344232,116621585.442621,116621586.513474,116621587.564999,116621588.60226,116621589.629445,116621590.694881,116621591.703652,116621592.722005,116621593.75741,116621594.811029,116621595.792388,116621596.769989,116621597.752181,116621598.737222,116621599.694801,116621600.656221,116621601.627134,116621602.605952,116621603.590741,116621604.579721,116621605.579816,116621606.628573,116621607.558336,116621608.483176,116621609.425178,116621610.382793,116621611.404326,116621612.37512,116621613.358417,116621614.38605,116621615.425866,116621616.426928,116621617.424023,116621618.421066,116621619.418672,116621620.460969,116621621.447256,116621622.406832,116621623.372093,116621624.345285,116621625.361667,116621626.344514,116621627.326229,116621628.31226,116621629.30805,116621630.33306,116621631.355331,116621632.37239,116621633.38445,116621634.402032,116621635.408298,116621636.431142,116621637.431138,116621638.452237,116621639.451217,116621640.443344,116621641.436602,116621642.475379,116621643.326637,116621643.331291,116621643.3348,116621643.338262,116621643.341841,116621643.359779,116621649.179453,116621652.245589,116621654.664311,116621656.760434,116621659.161086,116621661.237358,116621663.060948,116621664.691801,116621666.163471,116621667.470526,116621668.694431,116621669.858651,116621670.978453,116621672.025258,116621672.999717,116621673.963612,116621674.93387,116621675.91142,116621676.895024,116621677.882999,116621678.874607,116621679.8682,116621680.863811,116621681.860848,116621682.858631,116621683.846745,116621684.8032,116621685.726994,116621686.661181,116621687.610289,116621688.610905,116621689.624427,116621690.634159,116621691.641171,116621692.646223,116621693.655493,116621694.701719,116621695.743952,116621696.775756,116621697.798933,116621698.815899,116621699.828272,116621700.837748,116621701.813223,116621702.775922,116621703.745458,116621704.722841,116621705.669339,116621706.619647,116621707.581628,116621708.553975,116621709.557242,116621710.541451,116621711.557254,116621712.58515,116621713.604644,116621714.580833,116621715.555317,116621716.535847,116621717.522585,116621718.512295,116621719.504336,116621720.498274,116621721.600952,116621724.540693,116621725.479049,116621726.39294,116621727.321285,116621728.273568,116621729.271823,116621730.322346,116621731.362811,116621732.405478,116621733.469529,116621734.521134,116621735.559753,116621736.58806,116621737.608137,116621738.622686,116621739.659309,116621740.710897,116621741.752027,116621742.782316,116621743.804386,116621744.820535,116621745.832247,116621746.840995,116621747.847303,116621748.8519,116621749.855211,116621750.857515,116621751.859274,116621752.86025,116621753.860894,116621754.861325,116621755.861532,116621756.861817,116621757.862127,116621758.829913,116621759.788578,116621760.772082,116621761.746464,116621762.725015,116621763.708779,116621764.697064,116621765.688497,116621766.682044,116621767.677518,116621768.674707,116621769.672298,116621770.670389,116621771.668884,116621772.667897,116621773.667331,116621774.66692,116621775.666621,116621776.630915,116621777.591997,116621778.562475,116621779.542226,116621780.526007,116621781.514597,116621782.506754,116621783.501048,116621784.496228,116621785.49239,116621786.489682,116621787.487543,116621788.48575,116621789.48447,116621790.483967,116621791.483262,116621792.482848,116621793.482332,116621794.481936,116621795.48167,116621800.227533,116621801.123684,116621802.008437,116621802.923249,116621803.852975,116621804.779255,116621805.717439,116621806.716684,116621807.922505,116621809.275077,116621811.234532,116621812.372343,116621813.431618,116621814.469355,116621815.509718,116621816.529112,116621817.506815,116621818.491693,116621819.424376,116621820.357303,116621821.273304,116621822.193139,116621823.13204,116621824.087687,116621825.055685,116621826.07035,116621827.049256,116621828.029203,116621829.013535,116621830.512131,116621831.440506,116621832.343888,116621833.284194,116621834.257658,116621835.24148,116621836.270892,116621837.257476,116621838.22962,116621839.202127,116621840.165977,116621841.137498,116621842.116705,116621843.144262,116621844.127729,116621845.110887,116621846.097718,116621847.087845,116621848.109642,116621849.087298,116621850.068279,116621851.051348,116621852.040708,116621853.497622,116621854.435742,116621855.359076,116621856.298689,116621857.254275,116621858.222442,116621859.203675,116621860.219449,116621861.280997,116621862.28799,116621863.284311,116621864.267835,116621865.270052,116621866.285667,116621867.253624,116621868.224101,116621869.201661,116621870.185636,116621878.698928,116621879.532458,116621880.416493,116621881.307138,116621882.332995,116621883.797814,116621887.425797,116621888.202353,116621889.00937,116621890.303107,116621891.499209,116621892.621409,116621893.829186,116621894.996476,116621896.12138,116621897.201595,116621898.259184,116621899.300879,116621900.337116,116621901.359169,116621902.450009,116621903.452285,116621904.443824,116621905.403552,116621906.356046,116621907.324182,116621908.302388,116621909.281394,116621910.264586,116621911.246752,116621912.201292,116621913.158768,116621914.125762,116621915.101959,116621916.084296,116621917.07411,116621918.064661,116621919.057368,116621920.051824,116621921.047813,116621922.045104,116621923.04301,116621924.041553,116621925.040283,116621926.039469,116621927.03901,116621928.038699,116621929.038538,116621930.039412,116621931.150366,116621932.28397,116621933.290968,116621934.279074,116621935.390372,116621936.366745,116621937.423957,116621938.387915,116621939.315241,116621940.248424,116621941.36894,116621942.327004,116621943.373397,116621944.411196,116621945.456403,116621946.467147,116621947.527158,116621948.513484,116621949.485955,116621950.46825,116621951.451279,116621952.443101,116621953.433297,116621954.424644,116621955.418001,116621956.417267,116621957.417911,116621958.44126,116621959.477894,116621960.507625,116621961.529333,116621962.545154,116621963.556488,116621964.565114,116621968.70371,116621969.45071,116621970.218025,116621971.028016,116621971.928072,116621972.815711,116621973.753549,116621974.710193,116621975.678625,116621976.655718,116621977.639173,116621978.660152,116621979.680449,116621980.696381,116621981.708392,116621982.75831,116621983.75997,116621984.794275,116621985.884863,116621987.02317,116621988.114544,116621989.180189,116621990.227611,116621991.262388,116621992.331235,116621993.344662,116621994.371616,116621995.409299,116621996.433195,116621997.432399,116621998.416318,116621999.40049,116622000.388513,116622001.372028,116622002.337998,116622003.302826,116622004.275768,116622005.242471,116622006.196181,116622007.189757,116622008.158389,116622009.131607,116622010.164038,116622011.220762,116622012.228521,116622013.224691,116622014.220368,116622015.265097,116622016.258649,116622017.263785,116622018.227914,116622019.399157,116622020.365917,116622021.334463,116622022.275624,116622023.215112,116622024.157029,116622025.131424,116622026.104471,116622027.063313,116622028.029919,116622029.005261,116622029.994248,116622031.007487,116622032.025874,116622033.040572,116622034.053006,116622035.031062,116622036.007264,116622036.988481,116622037.981961,116622039.007871,116622039.994712,116622040.977076,116622041.505675,116622042.470669,116622047.693823,116622048.65146,116622049.715632,116622050.776433,116622051.822613,116622052.92427,116622054.07032,116622055.18911,116622056.310037,116622057.457322,116622058.65867,116622059.798631,116622060.896397,116622062.563026,116622063.614816,116622064.664403,116622065.757454,116622066.778255,116622067.787228,116622068.792908,116622069.850285,116622070.823106,116622071.77944,116622072.743611,116622073.764686,116622074.740783,116622075.71631,116622076.697245,116622077.683565,116622078.729091,116622079.752164,116622080.732978,116622081.678394,116622082.629797,116622083.593384,116622084.566815,116622086.076555,116622087.121782,116622088.122573,116622089.118625,116622090.103841,116622091.102156,116622092.090631,116622093.107933,116622094.076424,116622095.060614,116622096.045907,116622097.044079,116622098.079507,116622099.089842,116622100.094981,116622101.098276,116622102.110158,116622103.110542,116622104.109543,116622105.108694,116622106.107919,116622107.107431,116622108.661988,116622109.629504,116622110.614274,116622111.604284,116622112.597492],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[77,6,3,3,3,11,272,3069,3047,2384,2048,1914,1824,1550,1354,1256,1189,1139,1089,1064,1045,1033,1024,1005,1015,998,995,978,960,956,966,975,983,988,990,965,969,943,950,960,971,978,1015,1018,1013,1009,1007,1006,2985,28,10,19,8,44,676,2272,1931,1718,1528,1340,1216,1167,1130,1166,1110,1084,1032,1053,1033,1020,1023,983,975,977,1105,1114,1046,1028,1072,991,961,964,1067,1059,992,976,980,955,980,955,928,911,929,947,962,972,1718,3,2,2,3,1366,1189,1156,1117,1050,1204,1341,1290,1219,1140,1100,1084,1054,1039,1027,1018,1012,976,972,949,953,1006,967,973,976,981,1016,959,957,966,975,981,1029,985,977,982,1002,987,980,927,969,950,966,983,1007,1008,1005,1004,1002,1001,1000,987,1005,970,973,983,1058,1019,1093,1080,1079,1041,1060,1051,1018,994,1000,993,993,1615,1389,1317,1275,1222,1283,1256,1267,1396,1308,1252,1188,1176,1034,986,973,990,927,926,912,944,947,957,968,977,1028,988,982,985,963,961,983,1035,1007,1002,1001,1038,979,993,997,998,998,999,999,1041,994,990,992,1034,996,988,990,992,994,1012,995,973,964,1024,1010,1002,1000,975,992,976,977,982,984,950,955,957,999,973,973,979,1063,1062,1088,1112,1134,1098,1070,1051,1037,1027,1065,1008,1018,1035,1053,981,977,982,985,957,961,970,978,984,988,1000,961,929,924,942,957,1021,970,983,1027,1039,1001,997,997,997,1042,986,959,965,973,1004,982,981,986,995,1025,1022,1017,1012,1017,1006,1022,999,1021,998,992,993,1038,835,4,3,3,3,17,533,3066,2418,2096,2400,2076,1823,1630,1471,1307,1223,1164,1119,1046,974,963,970,977,983,987,991,993,995,997,997,988,956,923,934,949,1000,1013,1009,1007,1005,1009,1046,1042,1031,1023,1016,1012,1009,975,962,969,977,946,950,961,972,1003,984,1015,1027,1019,976,974,980,986,989,992,993,995,960,938,913,928,952,998,1050,1040,1042,1064,1051,1038,1028,1020,1014,1036,1051,1041,1030,1022,1016,1011,1008,1006,1004,1003,1002,1001,1000,1000,1000,1000,1000,1000,967,958,983,974,978,983,988,991,993,995,997,997,998,998,999,999,999,999,964,961,970,979,983,988,992,994,995,996,997,997,998,998,999,999,999,999,999,999,1040,896,884,914,929,926,938,983,1205,1352,1306,1137,1059,1037,1040,1019,977,960,932,932,916,919,938,955,967,1014,978,979,984,987,928,903,940,973,983,1029,986,972,956,963,971,979,1027,983,983,986,990,1021,977,980,983,989,971,938,923,939,955,968,981,1015,1046,1006,996,983,1002,1015,967,970,977,983,1587,833,884,890,915,1464,1104,776,807,1027,1136,1122,1207,1167,1124,1080,1057,1041,1029,1022,1013,1002,991,959,952,962,972,979,983,982,949,957,966,976,982,989,990,992,994,995,997,997,998,998,999,999,999,999,1000,1018,1028,1006,988,988,976,967,963,927,933,948,958,1046,1037,1045,1004,986,986,972,976,983,986,990,991,993,994,996,1023,1036,1029,1021,1015,1011,1008,1865,747,767,809,900,887,932,956,968,977,983,1020,1020,1015,1012,1049,1001,1034,1090,1138,1091,1065,1047,1034,1068,1013,1026,1037,1023,993,983,984,988,983,965,964,972,966,953,993,968,973,1000,1017,1007,996,995,1044,993,987,964,956,966,968,941,939,941,974,973,958,966,975,988,1013,1018,1014,1012,978,976,981,983,1025,986,982,512,964,987,957,1064,1060,1046,1074,1146,1118,1120,1147,1201,1139,1097,1069,1051,1049,1093,1020,1008,1005,1057,972,956,964,1007,976,975,980,986,1045,1023,980,945,951,963,973,979,1045,1000,996,985,998,988,1017,968,970,985,998,1035,1010,1005,1003,1011,1000,999,999,999,999,1039,967,984,990,993]},"stackTable":{"length":1839,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,null,20,21,14,23,24,25,26,27,28,29,26,31,32,32,29,24,36,37,37,39,40,41,41,37,44,45,46,45,12,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,56,66,67,68,69,70,71,72,73,54,75,76,77,78,79,80,81,82,83,84,52,86,87,88,89,90,91,92,93,94,95,87,97,98,99,100,101,102,103,104,105,106,67,108,109,110,111,112,113,114,89,116,117,118,119,120,121,122,123,124,98,126,127,128,129,130,131,132,133,134,135,64,137,62,139,140,141,60,143,144,145,146,144,148,149,149,58,152,153,154,155,156,157,157,153,160,161,162,163,164,165,163,161,168,169,170,171,113,173,110,175,109,177,178,179,180,181,178,183,184,185,180,69,188,189,190,191,192,193,194,188,196,71,198,199,200,201,73,199,204,54,206,207,208,209,210,211,212,213,214,215,216,217,218,219,215,221,222,223,224,225,226,227,213,229,230,231,232,233,234,235,236,237,230,239,240,241,242,null,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,5,285,286,287,288,289,4,291,292,4,294,285,296,297,298,296,285,5,302,303,304,305,306,307,308,309,310,311,312,305,314,315,316,317,318,319,320,315,322,323,324,325,326,303,328,329,330,331,332,333,334,335,336,331,338,339,340,341,342,343,329,345,346,347,348,349,350,351,352,353,354,355,356,357,350,359,360,361,362,363,364,365,366,367,368,369,370,371,5,373,374,375,376,377,378,379,380,381,382,383,384,380,386,387,388,389,378,391,392,393,394,395,396,392,398,399,400,401,402,403,404,399,406,407,408,409,410,407,412,413,414,376,416,417,418,419,420,421,422,423,419,425,426,427,428,417,430,431,432,433,434,435,436,431,438,439,440,441,442,443,444,444,439,447,448,449,450,451,374,453,454,455,456,457,458,459,460,461,456,463,464,465,466,467,468,469,470,464,472,473,474,475,476,477,473,479,480,457,482,483,484,485,486,487,488,489,484,491,492,493,494,482,496,497,498,499,500,501,502,501,504,497,506,507,508,509,510,511,507,513,514,456,516,517,518,519,520,521,522,523,524,523,519,527,528,529,530,523,527,533,534,535,536,537,538,535,540,541,542,533,544,545,546,547,548,549,550,551,552,553,554,549,556,557,558,559,560,561,562,563,564,565,566,567,563,569,570,571,572,573,574,573,561,577,578,579,580,581,582,578,584,585,586,587,588,589,590,591,587,593,594,595,596,597,598,599,5,601,602,603,604,605,606,607,608,609,610,602,612,613,614,615,616,617,618,619,620,621,622,620,619,625,625,627,627,629,629,617,632,633,634,635,636,634,636,633,640,640,642,643,640,640,646,615,648,649,650,651,652,652,654,655,652,651,658,658,658,658,662,663,662,662,649,667,668,669,669,669,672,672,674,669,668,677,677,679,677,679,613,683,684,685,686,687,688,689,690,689,692,693,689,693,688,697,698,699,698,697,697,699,686,705,706,707,708,708,710,707,712,713,710,707,713,706,718,718,720,721,721,718,724,684,726,727,728,729,730,731,732,729,734,730,736,737,736,739,739,741,742,734,744,745,746,747,744,749,750,751,752,753,754,755,756,757,757,759,760,756,762,762,764,765,754,767,768,769,770,771,769,618,650,775,667,705,778,779,684,781,782,783,784,785,602,787,788,789,790,791,792,793,794,795,796,797,798,799,797,801,802,796,804,805,806,804,808,794,810,811,812,812,814,815,811,817,817,819,820,792,822,823,824,825,826,827,828,826,825,831,832,833,833,831,823,837,838,839,840,841,841,838,844,790,846,847,848,849,850,851,852,852,854,855,851,857,858,859,857,849,862,863,864,865,864,863,868,869,868,871,872,847,874,875,876,877,878,879,880,878,882,877,884,885,886,884,888,889,875,891,892,893,893,895,896,892,898,898,791,901,902,791,846,799,808,907,815,817,826,911,831,913,914,839,844,917,918,852,920,921,857,864,924,925,872,847,928,929,930,931,932,933,934,935,936,937,936,935,940,941,941,943,933,945,946,947,946,949,950,951,949,931,954,955,956,957,958,959,960,961,962,959,964,965,957,967,968,969,968,971,956,973,974,973,973,620,620,625,634,634,982,983,642,655,658,987,988,663,674,689,690,993,697,995,996,707,783,999,1000,1001,1002,1002,999,1005,1006,1007,1005,782,1010,1011,1012,1012,1014,1011,1016,795,795,1019,1020,810,1022,1023,824,1025,824,1027,1028,837,850,850,1032,1033,862,1035,1036,876,1038,1039,891,1041,1042,891,1044,795,795,1047,1048,1023,810,1051,824,1025,1054,837,837,1057,1058,790,1060,1061,1062,1063,1064,1065,1066,1063,1068,1068,1064,1071,1072,1073,1074,1075,1076,1076,1078,1079,1075,1081,1081,1083,1084,1081,1086,1087,1073,1089,1090,1091,1092,1093,1091,1095,1090,1097,1098,1099,1097,1071,1102,1103,1104,1105,1106,1106,1108,1109,1105,1111,1111,1103,1114,1115,1116,1117,1118,1118,1115,1121,1121,1121,1124,1125,618,1127,1128,646,1130,652,1132,663,669,1135,1136,677,1138,1139,679,1141,1139,689,692,996,995,707,707,712,724,1000,1152,1000,1005,1007,1012,1157,1158,1014,1160,1012,1016,1163,1016,1019,795,1023,1051,1169,824,824,1057,850,850,862,862,1177,1178,1177,934,1181,945,945,931,1185,1186,1187,1186,1189,1190,1191,1191,1193,1194,1194,793,793,822,1199,1200,1074,1202,1203,1074,1205,1089,1104,1114,1209,1210,625,627,635,636,663,669,1139,677,698,710,718,1000,1157,1012,1016,616,616,648,685,685,781,781,604,1234,1235,1236,1235,1238,1238,1240,1241,604,1243,1244,1245,1244,1247,1247,614,683,683,1234,1243,1243,614,1256,1257,614,683,1260,1261,795,810,1169,837,1266,1267,837,1032,850,1271,1272,862,1178,932,932,932,1278,1279,1185,1185,1282,1283,1257,1257,613,1287,1288,1289,1290,1291,1289,1293,1294,1294,618,983,634,643,654,663,1141,689,698,710,724,1307,718,1152,1000,1005,1312,1313,1160,1160,1016,1016,1318,1319,1169,1023,1266,862,1036,876,1326,1038,1042,797,1330,1331,1332,1333,1333,1330,1336,1337,1338,1336,1340,1340,804,1343,1344,1345,1344,1345,1348,1344,1343,1351,1351,1353,1354,1354,812,1357,1358,1359,1359,1358,1362,1363,1358,1357,1366,1366,1368,1369,1366,1371,817,1373,1374,1375,1374,1377,1378,1374,1375,1381,1373,1383,1384,1385,1386,1387,1386,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1399,1398,1404,1405,1406,1404,1408,1396,1410,1411,1412,1413,1414,1414,1127,636,643,988,1141,995,713,710,1307,721,1157,1012,1236,1429,1430,1431,1432,1433,1434,1432,1431,1437,1429,1439,1440,1441,1442,1443,1441,1440,1446,1238,1448,1449,1450,1451,1451,1450,1454,1448,1456,1457,1458,1458,1457,1461,1462,1463,1461,1465,608,1467,1468,1469,1470,1471,1472,1473,1474,1472,1476,1477,1477,1470,1480,1481,1482,1483,1484,1482,1481,1487,1488,1487,1490,1468,1492,1493,1494,1495,1496,1496,1496,1499,1500,1495,1502,1502,1504,1496,1495,1507,1508,1509,1510,1511,1511,1510,1514,1515,1516,1517,1518,1519,1520,1520,1519,1523,1523,1517,1526,1527,1528,1528,1527,1531,1531,1533,1534,609,1536,1537,1538,1539,1540,1541,1541,1543,1544,1540,1546,1546,1548,1549,1546,1551,1538,1553,1554,1555,1555,1557,1558,1554,1560,1561,1562,1560,1560,621,622,625,1568,1569,629,629,982,636,643,640,640,615,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1589,1592,1593,1594,1592,1587,1597,1598,1599,1600,1599,1598,1603,1603,1605,1606,1585,1608,1609,1610,1611,1612,1613,1614,1612,1611,1617,1618,1617,1620,1609,1622,1623,1624,1624,1626,1627,1623,1629,1629,1583,1632,1633,1634,1635,1636,1637,1638,1638,1640,1641,1637,1643,1644,1645,1645,1635,1648,1649,1650,1651,1650,1651,1654,1649,1656,1656,1633,1659,1660,1661,1662,1663,1663,1662,1666,1667,1666,1660,1670,1671,1672,1672,1674,1675,1671,1677,1678,1679,1680,1681,1682,1682,1684,1680,1686,1687,1688,1688,1581,1691,1692,1693,1694,1695,1696,1697,1698,1699,1697,1701,1696,1703,1694,1705,1706,1707,1708,1709,1706,1711,1693,1693,1714,1715,1697,1717,1718,1719,1720,1720,1722,1723,1719,1725,1726,1727,1717,1729,1730,1731,1732,1733,1731,1730,1736,1737,1738,1736,1703,1741,1742,1743,1744,1743,1746,1746,1748,1741,1750,1751,1752,1753,1754,1751,1756,1756,1758,1759,1707,1761,1762,1763,1764,1764,1766,1767,1763,1769,1770,1771,1769,1761,1774,1775,1776,1777,1778,1779,1780,1780,683,1783,1784,1234,612,1787,1788,603,640,646,1132,654,674,1136,677,1139,693,692,697,710,724,1158,797,805,812,1807,817,1809,832,852,857,1813,869,1815,878,886,893,1819,1820,793,1822,1823,1823,822,1826,1827,1827,822,1062,1062,1062,1833,1064,1064,1836,1837],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,8,9,10,11,12,13,14,15,13,7,8,7,16,17,18,19,20,21,18,22,23,24,25,16,26,17,18,19,27,28,21,18,29,28,30,31,5,32,8,7,8,7,8,7,8,7,8,7,16,17,18,33,25,8,25,8,25,16,17,18,34,25,8,25,8,25,8,7,16,17,18,28,25,8,7,8,25,8,7,8,25,35,36,25,8,7,37,38,39,40,41,42,43,44,7,8,7,16,21,18,19,45,7,8,7,8,25,16,21,18,29,46,25,8,25,8,7,16,17,18,19,19,47,19,48,21,18,29,23,25,16,17,18,49,21,18,50,45,25,8,7,16,17,18,51,50,25,16,21,18,19,29,52,53,17,18,29,19,54,29,54,35,55,25,16,21,18,29,56,17,18,19,57,58,7,59,60,40,41,42,61,62,35,63,21,18,19,19,64,65,29,66,31,5,32,8,7,8,7,8,7,8,7,8,25,35,67,25,8,25,16,17,18,29,68,25,8,7,8,7,16,17,18,29,69,25,8,7,35,70,5,6,7,8,7,8,7,8,31,5,32,8,7,8,31,5,32,8,7,8,31,5,32,8,31,5,32,8,7,8,7,8,7,8,25,8,7,16,21,18,71,72,73,74,75,76,13,75,76,13,77,78,19,29,19,51,79,80,81,82,83,82,83,82,83,82,83,82,84,85,84,82,83,82,83,82,83,86,84,82,83,82,84,87,84,82,83,82,83,82,84,82,83,88,84,82,84,82,84,89,90,91,5,81,82,84,82,84,82,83,82,83,82,83,87,91,5,81,82,83,82,84,82,83,82,83,82,84,92,93,94,95,94,95,94,95,94,95,96,97,18,98,99,96,100,18,101,99,94,95,96,100,18,102,99,94,95,96,97,18,29,54,99,96,97,18,19,103,100,18,19,104,99,94,95,94,95,96,97,18,105,99,96,97,18,106,99,94,95,96,100,18,29,107,99,94,95,96,100,18,29,108,27,99,96,97,18,19,109,110,5,93,94,95,96,100,18,29,111,99,94,95,96,100,18,29,19,112,99,96,97,18,29,29,113,100,18,114,94,95,94,95,96,97,18,19,103,99,96,97,18,115,99,94,95,96,97,18,19,45,29,54,99,94,95,96,100,116,117,99,96,118,110,5,93,94,95,96,97,18,29,119,120,99,96,97,18,28,121,94,95,96,97,18,29,122,100,18,29,52,110,5,93,94,95,94,95,96,97,18,29,123,110,5,93,94,95,94,95,94,95,96,100,18,124,99,96,100,18,19,29,125,107,99,94,95,96,97,18,30,110,5,93,94,95,96,97,18,126,110,5,93,96,97,18,29,109,127,128,129,128,130,5,127,128,130,77,78,131,128,131,128,131,128,131,128,131,132,133,134,135,129,135,136,137,133,134,138,129,128,131,136,133,139,140,141,129,135,136,133,142,140,132,137,129,128,131,128,131,135,132,133,139,140,129,140,135,143,136,133,134,137,144,129,128,131,140,145,136,137,133,146,147,129,135,136,148,140,137,129,128,131,128,131,128,131,132,144,136,133,149,140,150,129,132,133,151,144,135,140,152,129,128,131,132,137,133,139,136,133,151,146,153,134,129,135,136,133,154,134,132,144,130,5,127,128,131,132,133,139,129,140,128,131,135,129,140,132,133,155,128,131,136,133,156,130,5,127,128,131,128,131,128,131,140,132,133,156,129,135,136,133,157,130,5,127,132,133,158,147,140,132,159,160,132,133,134,129,128,131,132,133,161,130,5,127,128,131,128,131,128,131,128,131,136,133,162,132,133,163,129,132,133,146,136,164,129,128,131,140,136,133,165,129,135,136,133,139,129,128,131,128,131,132,133,149,140,129,136,133,154,166,140,129,128,131,132,133,167,154,129,140,129,128,131,128,131,128,131,135,136,133,168,129,136,133,169,140,129,128,131,132,170,147,129,132,144,136,133,158,129,128,131,128,131,136,133,166,132,171,129,136,133,172,132,133,156,129,128,131,135,132,133,173,129,135,174,136,133,175,135,135,161,133,161,134,140,136,137,132,133,168,135,132,133,139,132,133,146,135,136,133,146,161,130,5,127,128,131,128,131,128,131,132,176,140,129,132,177,133,163,129,128,131,178,129,136,133,163,135,130,5,127,128,131,128,131,132,133,139,129,136,159,129,128,131,140,129,140,132,133,179,159,137,140,147,147,135,132,133,146,137,134,132,133,134,139,134,135,133,180,136,133,163,140,128,131,132,133,139,146,129,136,133,163,140,129,128,131,140,132,159,129,140,181,136,133,163,136,133,167,132,182,136,133,183,135,184,132,133,179,136,133,152,132,133,155,132,133,139,136,144,143,132,133,138,179,132,182,178,133,185,140,132,133,146,130,5,127,128,131,136,133,173,129,135,140,128,131,128,131,128,131,140,136,133,163,129,140,136,133,173,132,133,134,129,128,131,132,133,146,136,144,129,136,133,186,135,129,128,131,128,131,135,136,133,154,129,140,187,129,128,131,136,133,188,146,129,147,140,136,133,149,136,133,172,133,189,136,182,146,132,133,190,132,133,179,133,167,191,187,164,167,182,135,143,164,182,136,176,140,135,192,136,133,193,133,194,135,132,164,135,170,140,195,133,188,140,135,177,147,140,135,132,133,142,137,132,196,135,140,129,128,131,135,130,5,127,140,136,133,172,168,140,135,132,133,197,136,133,172,132,159,140,140,136,133,167,140,177,137,194,154,135,198,145,199,200,140,135,199,145,201,135,145,135,140,135,135,140,131,128,131,135,129,135,132,133,139,129,128,131,147,129,135,202,140,135,145,145,135,147,132,133,203,135,136,133,191,135,147,146,136,133,151,202,137,136,133,165,145,189,135,140,132,133,200,135,136,133,183,146,191,130,5,127,132,133,146,136,133,139,175,135,197,147,158,164,167,149,145,159,149,133,204,147,205,147,132,133,146,183,206,184,136,133,146,154,151,171,147,150,136,177,159,156,128,131,136,133,172,169,129,136,133,207,132,159,148,128,131,136,177,140,133,191,135,129,140,132,133,165,134,128,131,136,177,137,132,133,139,160,129,140,136,133,139,132,164,128,131,132,159,136,133,167,140,133,146,130,5,127,128,131,135,130,5,127,128,131,128,131,128,131,128,131,136,133,163,135,129,136,133,207,132,164,130,5,127,136,133,146,158,176,208,150,142,172,159,203,172,146,189,196,147,128,131,128,131,136,133,172,135,129,140,129,128,131,136,133,183,140,129,135,128,131,128,131,135,140,129,140,129,128,131,140,135,129,132,133,165,136,182,131,128,131,128,131,128,131,136,177,129,136,209,199,129,128,131,136,133,154,140,129,132,164,136,199,130,5,127,128,131,147,140,136,133,191,129,140,132,182,135,130,5,127,128,131,135,178,130,5,127,128,131,128,131,135,140,129,140,135,129,128,131,140,135,129,135,132,133,150,5,127,128,131,128,131,140,136,133,138,129,140,136,133,138,132,182,129,128,131,135,132,133,163,129,132,133,151,140,135,137,155,132,133,188,156,155,159,190,191,210,160,130,5,127,128,131,128,131,128,131,128,131,128,131,140,129,132,133,146,147,129,128,131,136,144,160,129,135,132,133,139,129,128,131,128,131,136,133,134,140,129,132,159,136,137,129,128,131,135,132,133,189,129,140,135,129,128,131,128,131,128,131,184,132,133,149,129,136,133,161,139,129,128,131,136,137,145,133,163,129,147,140,129,128,131,128,131,140,135,129,132,144,140,129,128,131,135,132,133,139,130,5,127,128,131,136,211,133,155,129,132,133,158,161,130,5,127,128,131,128,131,136,133,134,132,137,129,140,129,128,131,132,133,139,129,135,140,136,133,155,128,131,128,131,140,132,133,179,129,136,133,139,129,128,131,132,133,146,140,129,132,133,212,140,128,131,128,131,178,129,135,132,182,129,128,131,132,133,163,129,160,132,133,158,128,131,128,131,135,136,133,180,129,132,133,183,135,130,5,127,128,131,132,133,165,167,132,133,161,147,132,133,163,140,153,144,137,148,139,163,181,161,161,137,145,161,137,134,140,159,132,159,132,176,137,140,132,144,133,146,135,163,136,133,139,136,133,179,165,136,133,183,179,135,147,135,132,177,145,132,133,154],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f40b9","0x1f3595","0x1f2bc8","0x1f34ed","0x267e2","0x347bf1","0x287b5","0x11e88d","0x75961d1fd38f","0x347bdc","0x1f2589","0x1f1e9c","0x1edef0","0x1eeae6","0x1ee323","0x1f1c7f","0x1eea6b","0x1ee340","0x1ee5d9","0x1f37e8","0x1f1e6f","0x1edfbe","0x1ee015","0x1eeb02","0x1ee4a2","0x1f3684","0x1f3d65","0x1ee807","0x1ee781","0x1f257e","0x177da8","0x1f2c90","0x1f31ec","0x26c8f","0x354cb3","0xa5861","0xa4b89","0xa48dc","0xa324b","0x1ee024","0x1ee728","0x1edfd9","0x1ee9e9","0x1ee205","0x1ee80a","0x1ee79f","0x1ee7b0","0x1ee45f","0x1edfb4","0x177d80","0x1ee47c","0x1ee74b","0x1ee89d","0x1f26c4","0x592ef","0xa462a","0xa1723","0x177d91","0x1eebfd","0x1ee930","0x1ee8b7","0x177db9","0x1edff0","0x1ee80d","0x177dbc","0x1ee010","0x1ef2d8","0x1eebf0","0x1eeec7","0x2618c","0x26706","0x26141","0x108c9b","0x1ee73b","0x1ee680","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb188","0x1eb357","0x1eb190","0x1eb43d","0x1eb11d","0x177e3f","0x1ec510","0x1eb363","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee967","0x34fd2","0x1edb10","0x1ee0de","0x1ee020","0x1edfb7","0x1edf61","0x1ee141","0x1ee493","0x1ee01a","0x1ee836","0x1ee030","0x34ed4","0x1ee862","0x1edfb0","0x1ee027","0x1ee755","0x1ee83a","0x1ede8d","0xa522c","0x1eda21","0x1edfce","0x1eead7","0x1ee753","0x1edf9b","0x1eea10","0x1ee55a","0x1edfde","0x1ee124","0x247051","0x246666","0x246b93","0x246a77","0x246a05","0x246363","libm.so.6","0x37f02","0x76488","0x246396","0x24637c","0x37f31","0x7649f","0x764c0","0x2463ab","0x709c0","0x764bb","0x246338","0x37ef0","0x2463bb","0x76514","0x2463af","0x37f1d","0x76538","0x764d5","0x7652b","0x764c4","0x246386","0x764ac","0x76506","0x76518","0x709d0","0x709c7","0x37f13","0x246392","0x764eb","0x709e0","0xe380","0x37f03","0x76637","0x76470","0x764e4","0x764f7","0x7654a","0x37f33","0x37f58","0x7651d","0x764db","0x246376","0x7650f","0x37f27","0x37f21","0x24638a","0x764f4","0x764cc","0x24639f","0x37f25","0x7662f","0x24633e","0x76618","0x70a1c","0x24636d","0x70ac0","0x7647e","0x764fd","0x70ab8","0x7651f","0x70aba","0x76532","0x76526","0x37efe","0x709ce","0x7653e","0x37ef8","0x764b3","0x24637a","0x246354","0x76482","0x76497","0x37f37","0x70aa8","0x70a10","0x764d8","0x37f0b","0x246347","0x37f44","0x765b8"],"tid":"700703","unregisterTime":116622126.552591},{"frameTable":{"length":202,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041225,2038911,2023152,2026214,2023445,2026242,2023385,2023106,2039452,2024558,2023351,2023448,2025629,2023344,2024595,2024521,2024610,2023966,2023095,1705924,2026133,2045572,2023663,2041214,1539473,2025049,2023348,1539652,2025895,2023467,2039411,2024221,2023341,2023440,2026005,2043024,2044187,158863,3493043,677985,674697,674012,668235,1539906,2044631,676946,666818,594523,2044666,665610,2018025,2013424,2016405,2016768,2011421,1539633,2016528,1539647,2011620,1539490,1418669,368184,216630,366929,2022160,217042,2022359,2023463,2023301,2025237,2025444,366912,1539516,2023387,2025541,2025957,2025348,2023920,2025404,1539477,2025251,2026215,2023456,2025482,2025968,2023398,216788,2025553,2023367,2023413,2025315,2023358,155969,1084571,156044,157446,1173645,156486,157666,3439601,165813,2388049,2385510,2386437,2384724,2384790,2386835,2384764,229122,461496,2384811,2384739,58240,2384827,229157,484919,229123,229139,484544,484524,2384711,484628,484596,484911,229112,484658,484488,461328,484632,484531,2386551,2384807,484664,229131,484637,484580,484587,461504,229153,484511,229169,461262,484672,484682,229104,484548,461255,461498,2384702,484792,484571,484515,2384774,2384815,2384762,484651,484641,484565,229208,229201,2384728,229184,484503,2384786,484794,229175,484556,484605,461280,484888,229118,461340,2384758,484901,461284,461248,229171,2384778,229188,229149,461488,156064,484691,484568,484482,229167,484610,2384799,2384819,229159,484614,484583],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":202,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,1,1,2,2,2,2,2,1,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,1,2,2,2,1,2,2,2,2,2,1,1,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700704>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.872855,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,120],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":727,"stack":[21,30,31,36,40,42,52,57,58,59,64,68,70,72,73,90,104,113,118,126,136,141,148,154,155,164,183,223,233,250,289,295,295,295,295,295,295,299,312,319,342,356,375,387,394,402,411,416,420,430,437,444,446,451,456,462,463,469,475,477,484,487,493,499,504,509,512,518,521,524,533,536,545,559,564,567,575,586,588,588,591,596,596,596,596,596,606,607,613,621,625,629,637,639,640,644,646,647,649,607,653,654,655,657,658,659,662,665,666,667,668,671,672,674,676,677,678,681,682,683,692,695,696,700,701,702,706,709,710,712,715,725,726,727,729,732,738,741,743,744,749,751,752,751,753,591,756,756,757,760,763,764,767,783,786,791,795,797,805,808,814,815,817,825,828,832,838,839,842,850,851,853,859,862,866,878,882,883,889,893,901,902,904,908,911,912,920,922,927,929,930,936,943,945,946,952,956,647,607,959,655,960,963,964,966,967,968,971,972,975,976,682,977,980,981,984,990,993,996,1001,1004,1008,1009,1011,1016,1019,1020,1021,1023,1024,1027,1031,1032,1033,1033,1034,1037,1040,613,1037,1045,1048,1049,1050,1052,1052,1053,1056,1057,1060,1063,1064,1065,1068,1065,1069,1070,1072,1075,1076,1080,1081,1082,1083,1097,1100,1103,1108,1109,1113,1121,1125,1126,1132,1134,1142,1144,1147,1148,1151,1157,1158,1160,1163,1173,1175,1178,1184,1185,1186,1187,1188,1189,1191,1192,1009,1193,1194,1195,1196,1197,1198,1199,1197,1024,1202,1203,1204,1205,1206,1207,1210,1211,1212,1034,1213,1214,1215,1034,1216,1217,613,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1224,1228,1230,1231,1231,1233,1234,1231,1235,1245,1247,1251,1252,1258,1259,1268,1270,1275,1277,1287,1288,1290,1298,1302,1305,1302,1306,1194,1307,1308,1016,1309,1024,1310,1311,1312,1220,613,1313,1314,1315,1316,1231,1317,1318,1318,1319,1320,1321,629,1322,1323,1324,1324,1325,1328,640,639,640,1329,1330,1333,646,1334,1335,1336,1197,1207,1034,1337,1338,1050,1053,1343,1344,1346,1349,1352,1355,1356,1360,1361,1366,1367,1371,1372,1374,1376,1378,1270,1379,1382,1385,1388,1391,1393,588,1394,1395,1396,1397,1024,1398,1399,1400,1401,1402,1403,1404,1070,1406,1325,1407,1408,1329,1411,1412,1415,1418,1419,1424,1426,1431,1432,1435,1440,1443,1446,1448,1450,1451,1452,743,1460,1463,1466,1472,1475,1479,1482,1483,1484,1205,1485,1034,1486,1487,1225,1231,1490,1493,1499,1501,1502,1503,1506,1507,1509,1510,1511,1512,1513,1514,1517,1520,1521,1529,1530,1531,588,588,588,588,588,588,1533,591,607,1535,607,607,1536,1537,1538,659,1539,671,1542,1543,1544,1547,1548,1549,1550,1553,1554,1555,1556,1562,1566,1567,1575,1576,1579,1580,1584,1585,1587,1590,1591,1592,1593,1594,1595,1598,1599,1600,1601,1604,1607,1608,1611,1613,1617,1617,1620,1623,1624,1625,1626,1627,764,1629,1630,1599,1631,1632,1633,1634,1635,1636,1637,1639,1641,1644,1645,1648,1649,1650,1653,1654,1655,1656,1657,1658,1661,1664,1667,1670,1671,1674,1675,1676,1677,1679,1680,1681,1682,1683,672,1684,677,1687,1688,1689,1690,701,1554,706,1691,1694,1695,1696,1567,1701,1703,1705,1706,1707,1024,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1328,1719,1329,1334,1721,1722,1723,1726,1727,1728,1729,1730,1740,1742,1750,1753,1764,1767,1771,1772,1784,1785,1789,1795,1798,1800,1806,1811,1814,1816,1819,1820,1821,1822,1830,1834,1848,1853,1855,1863,1867,1871,1879,1883,1888,1890,1896,1900,1905,1907,1919,1922,1924,1930,1933,1940,1943,1948,1951,1959,1961,1967,1970,1976,1978,1982,1985,1999,2001,2005,2006,2010,2016,2020,2024,2028,2038,2040,2044,2048,2056,2059,2064,2068,2071,2072,2075,2076,2077,2080,2084,2085,2088,2072,2091],"time":[116621312.630594,116621315.876459,116621319.679571,116621321.893603,116621323.859996,116621326.583678,116621328.006933,116621329.341061,116621330.726181,116621331.931096,116621334.488522,116621335.477112,116621336.465658,116621337.455403,116621338.539197,116621339.786395,116621340.765458,116621341.692672,116621342.630075,116621344.702799,116621345.632225,116621346.679533,116621347.723866,116621348.757071,116621350.676385,116621351.715316,116621352.906121,116621353.910158,116621354.87344,116621356.179774,116621357.116565,116621358.134451,116621358.14283,116621358.1483,116621358.153679,116621358.159078,116621358.167108,116621358.252952,116621368.266474,116621370.594565,116621372.594161,116621374.529779,116621375.96967,116621377.87218,116621379.162016,116621380.436976,116621381.663178,116621382.825705,116621383.950308,116621385.106303,116621386.18942,116621387.246227,116621388.286808,116621389.316022,116621390.337296,116621391.352871,116621392.370544,116621393.418783,116621394.460195,116621395.537387,116621396.554417,116621397.561754,116621398.565614,116621399.568181,116621400.570137,116621401.582746,116621402.552429,116621403.513378,116621404.483002,116621405.460534,116621406.462905,116621407.448579,116621408.427711,116621409.382274,116621410.379711,116621411.348114,116621412.319502,116621413.297661,116621415.434826,116621417.092834,116621418.604545,116621423.002752,116621423.007589,116621423.010303,116621423.012901,116621423.015557,116621423.037571,116621423.856171,116621430.515297,116621434.018489,116621436.48621,116621438.6104,116621440.43881,116621442.063515,116621443.442207,116621444.715172,116621445.916756,116621447.064477,116621448.159452,116621449.221041,116621450.302547,116621451.292224,116621452.27456,116621453.25942,116621454.248081,116621455.239709,116621456.233784,116621457.229925,116621458.227384,116621459.224712,116621460.223403,116621461.218526,116621462.177611,116621463.142104,116621464.114949,116621465.222213,116621466.208525,116621467.210657,116621468.214121,116621469.216817,116621470.218744,116621471.220469,116621472.221474,116621473.222389,116621474.207295,116621475.170371,116621476.14092,116621477.120404,116621478.107386,116621479.133712,116621480.158394,116621481.176934,116621482.190799,116621483.218546,116621484.225938,116621485.250568,116621486.292782,116621487.322271,116621488.304875,116621489.285331,116621490.269998,116621491.258825,116621492.250755,116621493.245136,116621494.229168,116621498.023632,116621499.125215,116621499.244284,116621499.361622,116621499.58543,116621500.011422,116621500.660271,116621501.401704,116621502.23284,116621503.155446,116621504.121529,116621505.291625,116621506.375967,116621507.487803,116621508.74785,116621509.971865,116621511.192452,116621512.343653,116621513.50668,116621514.548252,116621515.531479,116621516.630238,116621517.611967,116621518.517981,116621519.415144,116621520.319728,116621521.231269,116621522.181255,116621523.13066,116621524.091627,116621525.063228,116621526.042543,116621527.072751,116621529.166846,116621530.124497,116621531.067783,116621532.022283,116621533.050978,116621534.051214,116621535.047952,116621536.044685,116621537.079806,116621538.066409,116621539.056421,116621540.051254,116621541.047468,116621542.044826,116621543.042414,116621544.040715,116621545.166079,116621546.149489,116621547.123043,116621548.101852,116621549.086033,116621550.114071,116621551.100635,116621552.199751,116621553.188253,116621554.154298,116621555.142433,116621556.118989,116621557.09351,116621558.048904,116621559.019818,116621560.053336,116621561.056326,116621562.055497,116621563.044663,116621564.0131,116621565.009255,116621565.986458,116621566.964393,116621567.947562,116621568.9354,116621572.795896,116621573.717381,116621575.715573,116621576.657397,116621577.664548,116621578.676833,116621579.71697,116621580.830408,116621581.940076,116621583.071064,116621584.207453,116621585.528921,116621586.579093,116621587.595058,116621588.603844,116621589.60944,116621590.65915,116621591.656374,116621592.664407,116621593.693701,116621594.745629,116621595.724295,116621596.699357,116621597.679955,116621598.665966,116621599.622733,116621600.583173,116621601.553531,116621602.531995,116621603.516255,116621604.505127,116621605.504873,116621606.470971,116621607.415857,116621608.357915,116621609.314671,116621610.28167,116621611.309989,116621612.285717,116621613.269622,116621614.283025,116621615.342291,116621616.346873,116621617.473666,116621618.454996,116621619.426671,116621620.929348,116621622.328017,116621623.197308,116621624.01381,116621624.860158,116621625.84738,116621626.737426,116621627.752057,116621628.78351,116621629.827095,116621630.874406,116621631.912017,116621632.939448,116621633.963246,116621634.986488,116621636.010847,116621637.018779,116621638.028777,116621639.04265,116621640.036838,116621641.030393,116621642.025338,116621643.065581,116621649.154283,116621650.073431,116621650.86154,116621651.645369,116621652.485169,116621653.406092,116621654.345211,116621655.300654,116621656.27871,116621657.406075,116621658.733609,116621660.06664,116621661.298825,116621662.446645,116621663.552221,116621664.629084,116621665.815897,116621666.855124,116621669.059769,116621670.157512,116621671.240826,116621672.263619,116621673.241848,116621674.229288,116621675.211055,116621676.196395,116621677.185722,116621678.166068,116621679.128023,116621680.123458,116621681.096959,116621682.074434,116621683.057864,116621684.133003,116621685.096954,116621686.012204,116621686.941554,116621687.887667,116621688.873817,116621689.870341,116621690.868883,116621691.867966,116621692.867488,116621693.917972,116621694.947525,116621695.968829,116621696.984224,116621698.039058,116621699.041287,116621700.037435,116621701.033592,116621702.017807,116621702.985011,116621703.954201,116621704.926801,116621705.964537,116621706.922404,116621707.87071,116621708.836436,116621709.819414,116621710.828132,116621711.836038,116621712.84551,116621714.70175,116621715.675428,116621716.929132,116621717.862499,116621718.879567,116621719.801022,116621720.716539,116621724.203735,116621725.208889,116621726.155597,116621727.108112,116621728.072632,116621729.074441,116621730.11154,116621731.14788,116621732.176964,116621733.228506,116621734.270911,116621735.315958,116621736.338708,116621737.352279,116621738.361455,116621739.379175,116621740.424878,116621741.456627,116621742.478458,116621743.494084,116621744.505306,116621745.55008,116621746.589332,116621747.617829,116621748.63866,116621749.653795,116621750.92014,116621751.929835,116621753.007562,116621754.066511,116621755.110465,116621756.107146,116621757.099442,116621758.093783,116621759.056805,116621761.014933,116621761.992414,116621762.91028,116621763.885521,116621764.833154,116621765.784104,116621766.746914,116621767.742941,116621768.723258,116621769.703821,116621770.688766,116621771.677831,116621772.669886,116621773.664349,116621774.660362,116621775.689883,116621776.659624,116621777.620118,116621778.588978,116621779.566055,116621780.549837,116621781.537768,116621782.529039,116621783.631455,116621784.626809,116621785.599233,116621786.575618,116621787.55794,116621788.544939,116621789.535586,116621790.616181,116621791.658453,116621792.759118,116621793.83627,116621794.892883,116621796.403819,116621800.324885,116621801.153434,116621801.982489,116621802.846622,116621803.739088,116621804.641136,116621805.559776,116621806.513122,116621807.652045,116621808.989387,116621810.386459,116621811.707758,116621812.887456,116621814.005494,116621815.079867,116621816.162342,116621817.175446,116621818.162551,116621819.116864,116621820.058834,116621820.988806,116621821.904457,116621822.835071,116621823.783788,116621824.746587,116621825.757086,116621826.758443,116621827.743406,116621828.720622,116621829.729413,116621830.715748,116621831.69888,116621832.68529,116621833.706349,116621834.731473,116621835.750779,116621836.805877,116621837.811834,116621838.778487,116621839.778185,116621840.748884,116621841.723113,116621842.746519,116621843.73234,116621844.719239,116621845.703116,116621846.689494,116621847.721411,116621848.688229,116621849.674508,116621850.644243,116621851.641228,116621852.628515,116621853.613986,116621854.615645,116621855.624977,116621856.632734,116621857.638732,116621858.64309,116621859.665523,116621860.734097,116621861.794407,116621862.80459,116621863.788482,116621864.836355,116621865.878685,116621866.843872,116621867.798059,116621868.761207,116621869.733944,116621870.714399,116621871.293952,116621873.709585,116621873.714628,116621873.71753,116621873.720373,116621873.723715,116621873.745434,116621877.035655,116621878.441413,116621879.073286,116621879.145988,116621879.223792,116621879.421841,116621879.910076,116621880.635406,116621881.443669,116621882.306256,116621883.881649,116621885.209013,116621886.045096,116621886.874597,116621887.706537,116621888.572191,116621889.556705,116621890.754518,116621892.037719,116621893.239819,116621894.38769,116621895.521143,116621896.597532,116621897.65044,116621898.688306,116621899.715879,116621900.73575,116621903.039964,116621904.014501,116621904.981947,116621905.928262,116621906.881074,116621907.845619,116621908.827447,116621909.787884,116621911.849654,116621912.812939,116621913.731766,116621914.664168,116621915.613734,116621916.698452,116621917.672076,116621918.625445,116621919.587509,116621920.559294,116621921.558664,116621922.541509,116621923.526537,116621924.51525,116621925.538896,116621926.533302,116621927.61715,116621928.607841,116621929.579067,116621930.55537,116621931.696224,116621932.714653,116621933.700795,116621934.68655,116621935.675547,116621936.69751,116621937.691777,116621938.67627,116621939.635163,116621940.598679,116621941.571279,116621942.551463,116621943.526292,116621944.508428,116621946.599901,116621947.56689,116621948.524411,116621949.490539,116621950.487902,116621951.679831,116621952.635107,116621953.579201,116621954.583774,116621955.551403,116621956.516648,116621957.48942,116621958.514069,116621959.530617,116621960.54,116621961.546354,116621962.576106,116621963.57909,116621969.085516,116621970.229786,116621971.80142,116621972.879433,116621973.87205,116621974.860627,116621975.851318,116621976.844653,116621977.857642,116621978.875056,116621979.899143,116621980.927722,116621981.983335,116621982.992303,116621983.989181,116621985.039464,116621986.142604,116621987.26754,116621988.37222,116621989.435412,116621990.477479,116621991.507634,116621993.069912,116621994.159452,116621995.218189,116621996.260261,116621997.253914,116621998.251206,116621999.241,116622000.232397,116622001.223404,116622002.19096,116622003.156364,116622004.12961,116622005.101546,116622006.054844,116622007.048017,116622008.016168,116622008.988778,116622010.000351,116622011.017225,116622012.02944,116622013.037609,116622014.043721,116622015.576609,116622016.575709,116622017.47493,116622018.358684,116622019.263538,116622020.193719,116622021.142999,116622022.146722,116622023.11172,116622024.062646,116622025.045139,116622026.026585,116622026.988867,116622027.953781,116622028.926875,116622029.907163,116622030.925024,116622031.96145,116622032.977318,116622033.979303,116622034.967605,116622035.941944,116622036.919245,116622037.9019,116622039.373735,116622040.306273,116622041.206105,116622048.439493,116622049.854704,116622051.208614,116622052.455708,116622053.753176,116622054.995735,116622056.227845,116622057.455884,116622058.67934,116622059.856297,116622060.987625,116622062.084413,116622063.155164,116622064.198369,116622065.228711,116622066.250575,116622067.312017,116622068.317675,116622069.316152,116622070.308916,116622071.282122,116622072.300369,116622073.358394,116622074.31804,116622075.391506,116622076.345526,116622077.297851,116622078.266181,116622079.274138,116622080.266078,116622081.224213,116622082.17159,116622083.130199,116622084.099963,116622085.077801,116622086.061948,116622087.101478,116622088.08786,116622089.07125,116622090.047586,116622091.05722,116622092.039212,116622093.000456,116622093.964036,116622094.936289,116622095.920641,116622096.928066,116622097.952337,116622098.981724,116622099.994946,116622101.00204,116622102.007263,116622103.054287,116622104.05103,116622105.043528,116622106.037204,116622107.045458,116622108.039957,116622109.019031,116622109.984231,116622110.952251,116622111.928031],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[6752,3230,2605,2214,1862,1641,1423,1334,1257,1204,1095,988,988,989,991,982,979,927,937,942,929,1047,1044,1033,1018,1038,1008,1004,963,964,936,807,8,5,5,5,8,85,4999,2285,1999,1771,1439,1346,1289,1274,1226,1162,1124,1124,1083,1056,1040,1029,1021,1015,1017,1048,1041,1030,1017,1007,1003,1002,1001,1001,969,960,969,977,983,985,979,954,963,968,971,978,1224,406,428,99,4,2,2,2,22,818,6103,3503,2467,2124,1828,1624,1378,1272,1201,1147,1094,1061,1004,989,982,984,988,991,994,996,997,997,998,995,959,964,972,987,986,1002,1003,1002,1001,1001,1001,1000,984,963,970,979,986,1026,1024,1018,1013,1009,1007,1024,1042,1029,982,980,984,988,991,994,984,691,1101,119,117,223,425,648,741,831,922,966,1065,1084,1111,1260,1224,1220,1151,1163,1041,983,969,981,906,897,904,911,949,949,960,971,979,1030,982,957,943,954,1022,1000,996,996,1035,982,986,994,996,997,997,998,1015,983,973,978,984,1028,986,984,988,966,988,976,974,955,970,1033,1002,999,989,968,996,977,977,983,987,960,921,924,936,1007,1012,1040,1113,1109,1126,1136,1112,1050,1015,1008,1005,1049,997,1008,1029,1051,978,975,980,986,956,960,970,978,984,988,999,966,944,942,956,966,1028,975,983,1013,1059,1004,997,981,971,1021,950,819,816,846,891,890,1014,1026,1043,1047,1037,1027,1019,1023,1024,1007,1009,1013,994,993,994,1040,940,794,788,783,839,920,939,955,978,1127,1327,1333,1232,1147,1105,1076,1068,1039,1018,1097,1083,1022,978,987,981,985,989,980,961,995,973,977,983,970,963,915,929,946,986,996,998,999,999,1050,1029,1021,1015,1054,1002,996,996,984,967,969,972,951,957,948,965,982,1008,1007,1009,987,973,942,933,921,921,915,911,1005,946,952,964,1001,1037,1036,1029,1051,1042,1045,1022,1013,1009,1017,1045,1031,1021,1015,1011,1044,1039,1028,1020,1015,1025,1009,1077,1058,1043,996,992,994,963,966,977,917,975,947,950,962,996,980,980,984,989,992,994,996,1029,969,960,968,977,983,987,991,992,995,972,976,982,986,990,992,1042,1100,1077,1056,635,824,828,829,853,892,902,918,953,1138,1337,1397,1258,1179,1118,1074,1066,1013,987,954,941,929,915,930,948,962,1010,979,976,977,1008,986,983,986,1021,1025,1019,1055,1005,966,966,970,974,1023,985,979,983,986,1031,966,986,969,996,987,973,1001,1009,1007,1005,1004,1022,1035,1060,1010,983,999,1030,961,954,963,972,980,557,971,5,2,2,3,21,350,98,631,72,77,198,488,725,808,862,1390,1218,836,829,831,865,984,1197,1283,1202,1147,1133,1076,1052,1037,1027,1019,1014,974,967,946,952,964,981,960,940,963,918,932,949,962,973,953,962,971,999,982,985,988,1023,994,987,990,971,976,1008,1018,986,985,988,1021,994,984,958,963,972,980,974,982,994,966,957,966,997,981,955,944,1004,967,965,972,1024,1016,1009,1006,1029,1002,2045,1144,1101,1078,992,988,990,993,1012,1017,1024,1019,1055,1008,996,1050,1103,1124,1087,1063,1042,1030,1021,1089,1058,1042,993,997,989,991,991,967,965,973,971,953,993,968,972,992,1016,1012,1008,1006,1035,999,899,883,904,930,949,1003,964,950,982,981,962,964,973,980,1017,1021,1015,1001,988,974,977,982,987,932,899,1916,1415,1353,1247,1297,1242,1232,1228,1223,1176,1131,1096,1070,1043,1030,1021,1061,1005,998,992,973,967,968,959,994,954,952,968,1007,991,958,947,958,969,977,984,1039,986,983,976,1009,981,961,963,972,984,1007,1024,1016,1013,1007,1005,1047,996,992,993,1008,994,979,965,968,975]},"stackTable":{"length":2092,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,13,22,23,24,25,26,27,28,29,26,23,32,33,34,35,33,37,38,39,38,41,11,43,44,45,46,47,48,49,50,51,48,53,54,55,56,55,50,46,60,61,62,63,61,65,66,67,65,69,63,71,67,44,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,77,91,92,93,94,95,96,97,98,99,100,101,102,103,79,105,106,107,108,109,110,111,112,110,114,115,116,117,108,119,120,121,122,123,124,125,106,127,128,129,130,131,132,133,134,135,128,137,138,139,140,83,142,143,144,145,146,147,85,149,150,151,152,153,87,81,156,157,158,159,160,161,162,163,157,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,null,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,212,224,225,226,227,228,229,230,231,232,168,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,null,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,239,290,291,292,293,294,156,296,297,298,5,300,301,302,303,304,305,306,307,308,309,310,311,305,313,314,315,316,317,318,301,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,331,343,344,345,346,347,348,349,350,351,352,353,354,355,346,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,5,376,377,378,379,380,381,382,383,384,385,386,381,388,389,390,391,392,393,379,395,396,397,398,399,400,401,396,403,404,405,406,407,408,409,410,404,412,413,414,415,413,417,418,419,377,421,422,423,424,425,426,427,428,429,424,431,432,433,434,435,436,422,438,439,440,441,442,443,443,445,439,447,448,449,450,448,452,453,454,455,382,457,458,459,460,461,461,457,464,465,466,467,468,388,470,471,472,473,474,471,476,470,478,479,480,481,482,483,479,485,486,485,488,489,490,491,492,397,494,495,496,497,498,494,500,501,502,503,501,505,506,507,508,406,510,511,412,513,514,515,516,517,515,519,520,513,522,523,377,525,526,527,528,529,530,531,532,532,534,535,528,537,538,539,540,541,542,543,544,542,546,547,548,549,550,551,552,553,554,555,556,557,558,553,560,561,562,563,563,565,566,551,568,569,570,571,572,573,574,569,576,577,578,579,580,581,582,583,584,585,4,587,4,589,590,4,592,593,594,595,5,597,598,599,600,601,602,603,604,605,605,602,608,609,610,611,612,600,614,615,616,617,618,619,620,619,622,623,624,617,626,627,628,615,630,631,632,633,634,635,636,633,638,638,631,641,642,643,642,645,605,605,648,604,650,651,652,651,650,610,656,656,610,609,660,661,660,663,664,664,618,618,618,669,670,626,626,673,673,675,632,632,641,679,680,641,641,598,684,685,686,687,688,689,690,691,690,693,694,694,689,697,698,699,699,697,687,703,704,705,705,707,708,705,704,711,711,713,714,685,716,717,718,719,720,721,722,723,724,724,724,723,728,728,730,731,721,733,734,735,736,737,735,739,740,734,742,742,719,745,746,747,748,748,750,747,750,608,754,755,608,608,758,759,616,761,762,616,630,765,766,598,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,779,784,785,777,787,788,789,790,788,792,793,794,792,796,775,798,799,800,801,802,803,804,801,806,807,799,809,810,811,812,813,811,810,816,773,818,819,820,821,822,823,824,824,826,827,823,829,830,831,821,833,834,835,836,837,835,834,840,841,819,843,844,845,846,847,848,849,848,846,852,844,854,855,856,857,858,856,860,861,855,863,864,865,771,867,868,869,870,871,872,873,874,875,876,877,874,879,880,881,879,872,884,885,886,887,888,885,890,891,892,870,894,895,896,897,898,899,900,899,897,903,895,905,906,907,906,909,910,909,868,913,914,915,916,917,918,919,918,921,916,923,924,925,926,924,928,928,914,931,932,933,934,935,933,937,938,939,940,941,942,939,944,944,937,947,948,949,950,951,948,953,954,955,650,957,958,610,610,961,962,660,661,965,670,618,626,969,970,626,632,973,974,632,680,778,978,979,778,787,982,983,775,985,986,987,988,989,989,991,992,988,994,995,605,997,998,999,1000,998,1002,1003,997,1005,1006,1007,1005,1005,1010,650,1012,1013,1014,1015,1013,1017,1018,1018,1015,1012,1022,1022,1022,1025,1026,611,1028,1029,1030,1028,1028,1028,612,1035,1036,612,1038,1039,660,1041,1042,1043,1044,1042,1046,1047,1047,1042,1041,1051,1051,1051,1054,1055,620,620,1058,1059,620,1061,1062,620,622,622,1066,1067,624,628,628,1071,628,1073,1074,1071,627,1077,1078,1079,1077,1079,1079,615,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1096,1098,1099,1095,1101,1102,1093,1104,1105,1106,1107,1106,1105,1110,1111,1112,1091,1114,1115,1116,1117,1118,1119,1120,1117,1122,1123,1124,1122,1115,1127,1128,1129,1130,1131,1128,1133,1089,1135,1136,1137,1138,1139,1140,1141,1141,1143,1140,1145,1146,1146,1145,1149,1150,1138,1152,1153,1154,1155,1156,1156,1153,1159,1159,1161,1162,1087,1164,1165,1166,1167,1168,1169,1170,1171,1172,1169,1174,1174,1176,1177,1167,1179,1180,1181,1182,1183,998,1002,1003,1000,998,1010,1190,1190,1007,1005,1014,1015,1013,1018,1013,1022,1200,1201,1025,1026,1201,1201,1201,1028,1208,1209,1030,1030,1030,1028,1029,1036,1038,1039,1039,612,1036,1044,1047,1047,1042,1044,1044,1054,1051,1229,1051,1229,1232,1055,1055,600,1236,1237,1238,1239,1240,1241,1242,1243,1244,1244,1246,1243,1248,1249,1250,1249,1241,1253,1254,1255,1256,1257,1255,1254,1260,1261,1262,1263,1264,1265,1266,1267,1265,1269,1263,1271,1272,1273,1274,1272,1276,1239,1278,1279,1280,1281,1282,1283,1284,1285,1286,1284,1283,1289,1281,1291,1292,1293,1294,1295,1296,1297,1296,1299,1300,1301,1301,1303,1304,999,1005,1014,1013,1026,1208,1208,1039,1044,1044,1232,1055,620,624,623,623,1074,1078,1077,634,634,1326,1327,643,643,645,1331,1332,645,999,1005,1209,1036,1244,1339,1340,1341,1342,1342,1339,1345,1345,1347,1348,1248,1350,1351,1351,1353,1354,1353,1350,1357,1358,1359,1357,1255,1362,1363,1364,1365,1365,1362,1368,1369,1370,1368,1266,1373,1267,1375,1269,1377,1286,1284,1380,1381,1289,1383,1384,1289,1386,1387,1293,1389,1390,1293,1392,1003,1190,1014,1014,1029,1035,1042,1232,1059,1066,1067,1077,1405,636,638,643,1409,1410,645,690,1413,1414,1413,1416,1417,1417,697,1420,1421,1422,1423,1420,1425,705,1427,1428,1429,1430,1430,1427,1433,1434,711,1436,1437,1438,1439,1436,1441,1442,724,1444,1445,724,1447,728,1449,740,735,719,1453,1454,1455,1456,1457,1458,1459,1457,1461,1462,1456,1464,1465,1454,1467,1468,1469,1470,1471,1469,1473,1474,1468,1476,1477,1478,605,1480,1481,1014,1015,1029,1036,1043,1242,1488,1489,1253,1491,1492,1239,1494,1495,1496,1497,1498,1495,1500,1246,1248,1248,1504,1505,1255,1254,1508,1508,1381,1386,1289,1297,1297,1515,1516,1296,1518,1519,1518,1294,1522,1523,1524,1525,1526,1527,1528,1526,1527,4,1532,648,1534,652,652,961,660,618,1540,1541,969,974,632,1545,1546,680,690,699,697,1551,1552,705,714,711,685,1557,1558,1559,1560,1561,1560,1563,1564,1565,1563,1558,1568,1569,1570,1571,1572,1573,1574,1574,1573,1577,1578,1577,1571,1581,1582,1583,1583,1582,1586,1586,1588,1589,603,603,608,755,762,616,1596,1597,630,765,688,688,1602,1603,703,1605,1606,703,1559,1609,1610,1559,1612,1558,1614,1615,1616,603,1618,1619,603,1621,1622,755,755,758,1597,630,1628,766,1603,688,703,1606,1612,1610,1609,1614,1638,1638,1640,597,1642,1643,597,599,1646,1647,1647,684,684,1651,1652,1647,1647,684,1643,1643,597,1659,1660,601,1662,1663,601,1665,1666,614,1668,1669,1669,686,1672,1673,686,1534,652,656,1678,1678,663,1541,1541,970,641,1685,1686,680,694,1552,714,1561,1692,1693,1693,1563,1614,1697,1698,1699,1700,1697,1702,1702,1704,1480,1018,1028,1209,612,1043,1232,1058,1066,1073,1077,634,638,1718,1414,1720,1416,1421,1425,1724,1725,1428,1433,1437,1438,1436,1731,1732,1733,1734,1735,1736,1737,1738,1739,1736,1741,1734,1743,1744,1745,1746,1747,1748,1749,1748,1751,1752,1746,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1762,1765,1766,1761,1768,1769,1770,1770,1759,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1783,1782,1786,1787,1788,1780,1790,1791,1792,1793,1794,1791,1796,1797,1797,1799,1778,1801,1802,1803,1804,1805,1803,1807,1808,1809,1810,1808,1812,1813,1807,1815,1815,1817,1818,1803,1803,1003,997,1823,1824,1825,1826,1827,1828,1829,1828,1831,1832,1833,1826,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1844,1849,1850,1851,1852,1850,1854,1842,1856,1857,1858,1859,1860,1861,1862,1857,1864,1865,1866,1865,1868,1869,1870,1840,1872,1873,1874,1875,1876,1877,1878,1877,1880,1881,1882,1875,1884,1885,1886,1887,1885,1889,1873,1891,1892,1893,1894,1895,1894,1897,1898,1899,1892,1901,1902,1903,1904,1902,1906,1838,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1915,1920,1921,1921,1923,1913,1925,1926,1927,1928,1929,1926,1931,1932,1911,1934,1935,1936,1937,1938,1939,1937,1941,1942,1935,1944,1945,1946,1947,1945,1949,1950,1909,1952,1953,1954,1955,1956,1957,1958,1957,1960,1955,1962,1963,1964,1965,1966,1963,1968,1969,1953,1971,1972,1973,1974,1975,1974,1977,1972,1979,1980,1981,1980,1983,1984,604,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1995,2000,1993,2002,2003,2004,2004,2003,2007,2008,2009,1991,2011,2012,2013,2014,2015,2014,2017,2018,2019,2012,2021,2022,2023,2022,2025,2026,2027,1989,2029,2030,2031,2032,2033,2034,2035,2036,2037,2034,2039,2032,2041,2042,2043,2042,2045,2046,2047,2030,2049,2050,2051,2052,2053,2054,2055,2052,2057,2058,2050,2060,2061,2062,2063,2061,2065,2066,2067,2067,2069,2070,1992,2011,2073,2074,2031,2049,1990,2078,2079,1989,2081,2082,2083,1988,1988,2086,2087,1992,2089,2090],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,8,7,9,10,11,12,13,14,9,7,8,10,11,12,15,13,16,17,9,10,18,12,19,11,12,13,20,15,21,9,7,8,7,8,10,11,12,13,22,18,12,15,15,23,24,25,9,10,11,12,26,18,12,13,27,28,29,13,30,20,31,5,6,7,8,7,9,7,8,7,9,7,9,10,11,12,32,9,7,8,7,9,7,9,7,9,10,11,12,13,23,8,7,8,7,8,7,8,33,34,9,10,11,12,35,9,7,9,10,18,12,15,36,9,7,8,7,9,10,18,12,13,21,9,7,8,33,37,8,7,8,10,18,12,38,8,10,18,12,15,39,40,9,7,8,7,9,10,11,12,41,31,5,6,7,8,7,9,7,8,7,9,7,8,10,18,12,15,15,42,7,8,7,8,7,9,7,31,5,6,7,8,7,9,7,9,7,31,5,6,7,31,5,6,7,8,7,8,7,8,7,8,7,9,10,18,12,15,15,43,9,7,8,7,8,10,18,12,15,44,31,5,6,7,8,7,8,7,9,45,46,47,48,49,50,51,52,6,7,8,7,8,7,9,7,31,5,6,7,8,7,9,7,9,7,31,5,6,7,31,5,6,7,8,7,9,7,8,7,31,5,6,7,9,33,53,9,45,54,55,56,57,45,58,55,59,60,61,62,61,63,61,62,61,62,61,63,64,37,63,61,63,61,63,64,65,66,5,60,61,66,5,60,61,66,5,60,61,62,61,62,61,63,61,63,61,63,64,67,66,5,60,61,62,61,63,61,62,61,62,61,62,68,63,61,63,61,66,5,60,61,62,61,62,61,63,61,62,61,63,64,69,70,71,72,71,72,71,72,73,74,12,15,43,75,73,74,12,13,13,39,75,71,72,73,76,12,15,23,75,71,72,73,74,12,13,13,77,75,73,74,12,78,76,12,13,23,75,71,72,71,72,73,74,12,13,79,75,73,76,12,15,13,36,75,71,72,73,76,12,80,13,14,75,71,72,81,82,75,73,76,12,83,71,72,73,76,12,84,85,75,73,76,12,15,86,71,72,73,74,12,87,81,67,75,71,72,73,76,12,88,75,81,89,73,76,12,15,13,20,71,72,73,76,12,90,75,73,76,12,91,74,12,15,13,92,76,12,93,71,72,73,76,12,94,74,12,95,75,81,34,96,5,70,71,72,73,76,12,97,15,15,98,96,5,70,71,72,71,72,81,34,96,5,70,71,72,71,72,71,72,73,76,12,15,99,75,73,76,12,14,13,13,98,75,71,72,73,74,12,13,100,96,5,70,71,72,73,76,12,13,15,101,102,103,104,105,106,107,108,109,110,106,111,112,113,112,113,112,113,112,113,114,115,116,112,113,112,116,115,116,112,113,112,113,112,113,115,116,117,118,119,116,112,113,120,116,112,113,112,113,121,118,122,116,123,115,116,112,113,120,116,115,120,121,124,116,121,118,125,126,120,117,127,124,115,116,121,126,117,118,128,129,115,130,121,118,131,115,117,126,118,132,120,123,117,118,133,120,123,116,112,113,112,113,112,113,117,134,121,118,135,136,116,117,118,137,138,120,116,112,113,115,117,118,139,120,116,115,121,118,133,140,5,111,112,113,112,113,112,113,115,120,141,116,120,117,118,132,116,112,113,117,118,142,121,118,128,116,115,120,140,5,111,117,143,118,144,115,145,117,118,131,120,121,118,122,117,118,146,120,121,118,131,140,5,111,112,113,112,113,112,113,112,113,112,113,117,118,147,116,121,127,116,112,113,117,148,116,117,118,122,121,148,116,112,113,112,113,117,118,138,116,117,126,116,112,113,121,118,128,120,116,123,116,112,113,112,113,112,113,115,121,118,132,116,121,118,149,116,112,113,121,118,147,120,116,117,126,116,112,113,112,113,117,118,122,150,116,115,116,112,113,121,118,122,117,118,146,116,117,118,151,116,112,113,112,113,112,113,112,113,117,118,133,116,117,118,151,115,116,112,113,117,118,152,116,121,118,153,116,112,113,112,113,117,118,131,150,116,130,116,112,113,115,116,117,127,120,116,112,113,112,113,112,113,120,116,115,116,112,113,121,154,116,115,120,140,5,111,121,118,151,112,113,112,113,117,118,155,116,115,120,116,112,113,121,118,122,116,121,118,131,117,118,156,120,121,118,138,123,118,157,145,120,121,118,149,158,121,118,131,115,153,117,118,136,115,117,118,159,140,5,111,112,113,115,121,118,131,116,121,150,112,113,121,118,160,117,118,146,116,121,118,160,120,117,126,112,113,117,118,131,121,118,147,161,145,116,115,120,121,118,142,113,121,118,136,158,162,120,121,118,145,117,118,153,112,113,117,118,149,121,118,146,132,120,116,120,163,121,118,125,123,117,118,138,121,118,133,164,115,121,118,165,166,115,117,126,121,118,132,150,116,117,118,167,163,139,159,140,5,111,112,113,112,113,112,113,112,113,112,113,115,121,118,131,116,121,168,116,112,113,121,169,170,116,121,118,131,116,112,113,112,113,121,118,119,116,117,118,122,120,116,112,113,121,118,136,116,115,140,5,111,112,113,112,113,120,121,169,116,121,171,126,117,118,172,116,112,113,117,118,125,132,116,173,117,118,151,140,5,111,112,113,112,113,121,118,159,116,120,121,118,174,140,5,111,121,118,151,115,150,132,132,120,118,167,156,136,115,175,136,115,167,120,117,118,142,124,147,129,144,136,117,118,138,142,144,176,173,168,177,126,131,122,120,133,122,178,144,115,179,136,154,117,154,115,118,167,149,146,140,5,111,112,113,112,113,112,113,115,121,168,116,117,118,155,127,116,112,113,117,118,125,163,140,5,111,112,113,112,113,117,127,116,120,116,112,113,117,154,116,120,140,5,111,112,113,112,113,121,118,122,120,116,115,140,5,111,112,113,112,113,123,140,5,111,115,117,118,131,127,170,150,173,152,180,168,144,181,131,133,131,120,131,127,154,167,154,115,120,117,118,136,115,182,121,118,145,120,154,123,183,136,112,113,117,118,177,138,116,120,117,118,146,112,113,115,121,118,131,126,116,117,118,133,115,112,113,117,118,160,156,116,117,118,122,120,121,154,118,132,117,154,136,117,118,160,117,118,184,121,118,185,117,118,157,121,126,125,142,169,186,154,127,187,160,136,127,131,121,127,128,130,117,118,157,158,112,113,120,116,117,168,154,112,113,117,118,119,116,120,112,113,117,118,136,165,116,117,127,112,113,117,118,133,116,117,186,121,118,122,117,175,121,171,131,123,116,112,113,112,113,117,118,129,121,118,131,116,117,126,116,112,113,121,118,138,117,118,142,116,117,118,128,117,118,122,188,159,189,125,124,117,118,128,121,118,146,116,112,113,117,118,128,116,120,127,120,121,118,157,120,116,123,120,146,154,120,115,121,118,190,116,121,126,115,140,5,111,112,113,117,118,133,173,126,191,103,118,131,159,165,127,115,117,118,146,126,144,117,118,190,149,163,125,121,118,185,163,119,173,116,112,113,112,113,115,116,117,118,190,115,140,5,111,112,113,112,113,115,120,116,121,127,120,116,112,113,120,115,116,187,121,118,136,173,123,115,152,156,121,118,125,115,150,115,117,118,190,117,118,156,123,117,118,144,121,150,116,121,118,125,117,118,153,121,118,133,145,161,171,192,117,168,193,167,187,115,194,195,196,126,117,186,118,128,117,118,128,115,117,118,132,159,163,117,118,166,161,184,115,133,152,121,118,153,117,118,128,121,118,149,117,118,131,177,121,118,151,115,167,147,118,156,157,154,157,167,136,121,118,122,136,160,136,136,117,118,122,131,120,112,113,117,118,159,116,123,121,127,148,131,115,156,123,186,165,150,126,150,120,197,117,150,121,154,198,120,117,118,128,115,120,163,199,140,5,111,112,113,112,113,121,118,156,116,115,140,5,111,112,113,112,113,120,116,121,150,140,5,111,112,113,112,113,112,113,121,150,117,118,167,116,117,118,136,200,140,5,111,112,113,112,113,112,113,112,113,158,115,116,117,118,131,116,112,113,117,118,145,116,121,150,118,131,140,5,111,117,118,145,112,113,117,118,153,121,118,146,116,173,117,118,201,187,115,131,140,5,111,112,113,112,113,120,116,121,118,176,140,5,111,112,113,112,113,112,113,112,113,112,116,115,116,112,113,121,127,116,173,116,112,113,112,113,121,118,131,116,112,113,115,116,121,118,146,116,112,113,112,113,112,113,115,116,121,118,146,116,112,113,117,154,116,120,116,112,113,112,113,120,116,117,118,131,116,112,113,121,154,116,187,116,112,113,112,113,112,113,112,113,121,118,128,116,121,127,118,165,116,112,113,121,118,131,116,117,124,116,112,113,112,113,121,127,116,117,150,116,112,113,117,127,116,117,154,116,112,113,112,113,112,113,120,116,120,116,112,113,121,118,136,116,121,127,116,112,113,112,113,120,116,120,116,112,113,115,116,121,127,140,5,111,112,113,112,113,112,113,112,113,117,118,146,116,123,116,112,113,115,163,116,117,118,131,116,112,113,112,113,120,116,117,118,131,116,112,113,120,116,121,118,136,116,112,113,112,113,112,113,121,118,128,116,173,116,112,113,115,116,121,118,146,116,112,113,112,113,121,118,128,116,117,154,116,112,113,121,154,140,5,111,115,117,118,125,120,117,118,146,115,158,117,118,132,140,5,111,120,120,117,118,156,117,118,132],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f2589","0x1f1c7f","0x1edef0","0x1eeae6","0x1ee015","0x1eeb02","0x1edfd9","0x1edec2","0x1f1e9c","0x1ee46e","0x1edfb7","0x1ee018","0x1ee89d","0x1edfb0","0x1ee493","0x1ee449","0x1ee4a2","0x1ee21e","0x1edeb7","0x1a07c4","0x1eea95","0x1f3684","0x1ee0ef","0x1f257e","0x177d91","0x1ee659","0x1edfb4","0x177e44","0x1ee9a7","0x1ee02b","0x1f1e73","0x1ee31d","0x1edfad","0x1ee010","0x1eea15","0x1f2c90","0x1f311b","0x26c8f","0x354cb3","0xa5861","0xa4b89","0xa48dc","0xa324b","0x177f42","0x1f32d7","0xa5452","0xa2cc2","0x9125b","0x1f32fa","0xa280a","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177e31","0x1ec510","0x177e3f","0x1eb1e4","0x177da2","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edb10","0x34fd2","0x1edbd7","0x1ee027","0x1edf85","0x1ee715","0x1ee7e4","0x59940","0x177dbc","0x1edfdb","0x1ee845","0x1ee9e5","0x1ee784","0x1ee1f0","0x1ee7bc","0x177d95","0x1ee723","0x1eeae7","0x1ee020","0x1ee80a","0x1ee9f0","0x1edfe6","0x34ed4","0x1ee851","0x1edfc7","0x1edff5","0x1ee763","0x1edfbe","0x26141","0x108c9b","0x2618c","0x26706","0x11e88d","0x26346","0x267e2","0x347bf1","0x287b5","0x247051","0x246666","0x246a05","0x246354","0x246396","0x246b93","0x24637c","libm.so.6","0x37f02","0x70ab8","0x2463ab","0x246363","0xe380","0x2463bb","0x37f25","0x76637","0x37f03","0x37f13","0x764c0","0x764ac","0x246347","0x76514","0x764f4","0x7662f","0x37ef8","0x76532","0x76488","0x70a10","0x76518","0x764b3","0x246a77","0x2463a7","0x76538","0x37f0b","0x7651d","0x764e4","0x764eb","0x70ac0","0x37f21","0x7649f","0x37f31","0x709ce","0x76540","0x7654a","0x37ef0","0x764c4","0x709c7","0x70aba","0x24633e","0x765b8","0x764db","0x764a3","0x246386","0x2463af","0x24637a","0x7652b","0x76521","0x764d5","0x37f58","0x37f51","0x246358","0x37f40","0x76497","0x246392","0x765ba","0x37f37","0x764cc","0x764fd","0x709e0","0x76618","0x37efe","0x70a1c","0x246376","0x76625","0x709e4","0x709c0","0x37f33","0x24638a","0x37f44","0x37f1d","0x70ab0","0x261a0","0x76553","0x764d8","0x76482","0x37f2f","0x76502","0x24639f","0x2463b3","0x37f27","0x76506","0x764e7"],"tid":"700704","unregisterTime":116622126.550943},{"frameTable":{"length":217,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041225,2038911,2023152,2026214,2023448,2039452,2026242,2023348,2023095,1706392,2023440,2023445,2024610,2023344,2025924,2024906,2023351,2025849,2039476,2025857,2023413,2041214,1539487,2026015,1539652,2023620,1539647,2024595,2023385,2038837,2039133,676839,2026489,2025094,2023424,2025272,2039644,2025564,-1,1706698,2024844,2026235,2025436,2024772,2024620,2024221,2045572,2038829,2024748,156044,157446,1173645,156045,2043024,2044631,676946,666818,594523,2044187,158863,3493043,677985,674697,674012,669105,1174187,2028248,2026480,2027207,2018025,2013424,2016405,2016768,2011421,1539493,2011606,2012404,1539468,2016528,1539473,1539484,2011551,1539513,1418669,368184,216630,366929,2022160,2024818,217042,2022359,2025275,2023460,2023467,2023432,216788,2023323,2023557,2025530,2021927,2023756,2023450,2024465,2023401,366912,1539642,2023646,1539633,2025315,2025490,2025080,2025517,2025307,2026072,2021909,2022674,2023472,2023367,2023427,2023355,216725,217561,2388049,2385510,2386437,2384764,229122,484605,229157,2386835,484637,2384815,2384811,484580,2384790,2384739,484623,484556,2384834,2384688,484651,484919,2384827,484596,2386551,461262,484587,484628,484571,229139,461248,484531,484911,484544,229131,484524,484632,2384696,484568,484639,461496,58240,229169,484478,484482,461498,229123,229118,484539,229159,484583,2384762,461472,484494,229153,484497,484565,461284,229104,2384728,2384786,2384774,484488,461504,229208,461268,461488,484511,461255,461280,2384799,2384702,484664,484548,2384765,2384778,484672,229184,484614,484641,484691,484682,229149,484703,484515,484503,229112],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":217,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,-1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,1,2,1,1,2,2,1,1,2,2,1,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1,1,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700705>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.893731,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,138],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":744,"stack":[22,33,42,53,62,73,80,94,101,110,119,130,135,145,153,156,164,167,168,170,176,182,183,184,188,191,197,200,203,208,209,212,215,218,225,229,231,236,238,244,247,252,256,258,273,288,300,342,384,387,387,387,387,387,388,393,393,393,393,393,402,405,411,405,405,405,424,430,438,445,460,471,480,486,495,518,530,535,543,551,557,571,576,583,586,594,599,606,611,615,627,634,639,647,650,655,660,662,666,672,678,685,688,695,698,705,710,720,732,738,740,748,762,763,767,768,773,774,774,776,778,781,784,785,786,794,796,797,798,800,801,804,805,806,810,813,816,817,818,832,835,837,843,844,848,849,857,859,860,864,866,868,878,879,881,881,885,889,892,898,901,903,909,910,913,927,928,932,933,938,941,942,945,947,953,954,958,959,965,966,972,973,974,982,986,987,988,989,990,996,999,1001,1004,1008,1008,1010,1013,1017,1020,1024,1025,1029,1030,1031,1033,1033,1037,1040,1044,1045,1050,1051,1067,1068,1072,1075,1076,1082,1085,1088,1090,1091,1097,1098,1097,1100,1101,1105,1105,1107,1109,1110,1118,1119,1122,1124,1125,1125,1133,1134,1135,1136,774,1137,1137,1138,804,1139,1142,1143,1148,1151,1154,1157,1159,1162,1165,1167,1170,1173,1175,1176,1181,1182,1184,1187,1188,1190,1191,1194,1196,1197,1200,1202,1205,1208,1210,1211,1214,1218,1219,1224,1228,1229,1231,1232,1234,1235,1236,1242,1245,1246,1248,1251,1252,1253,1256,1259,1260,1263,1264,1267,1268,1269,1272,1273,1274,1280,1281,1282,1136,1283,1284,1286,778,1287,798,1289,1290,1291,813,818,1292,1293,1294,1294,1295,1296,1297,1300,1303,1306,1162,1307,1308,1309,1167,1310,1312,1173,1315,1316,1175,1317,1320,1321,1324,1325,1326,1329,1188,1332,1333,1336,1337,1338,1339,1342,1343,1345,1347,1349,1349,1359,1360,1361,1365,1366,1372,1373,1374,1384,1387,1391,1395,1401,1403,1407,1410,1418,1421,987,1423,1425,1137,778,1426,1428,810,1429,1432,1433,1434,1435,1157,1436,1439,1440,1441,1442,1176,1455,1457,1458,1459,1458,1461,1461,1462,1465,1466,1469,1473,1476,1477,1478,1479,1480,1483,1486,1489,1490,1492,1493,1494,1495,1505,1507,1508,1514,1516,1532,1535,1537,1540,1543,1547,1548,1552,1553,1561,1564,1566,1569,1572,1576,1578,1580,1581,1587,1590,1594,1283,1595,1596,778,1138,1597,1598,1599,810,1143,1600,1294,1601,1602,1297,1603,1604,1159,1605,1605,1165,1608,1167,1609,1610,1611,1175,1613,1616,1620,1624,1626,1628,1636,1638,1642,1645,1649,1650,1651,1653,1656,1657,1658,1660,1663,1664,1667,1668,1669,1671,1672,1673,1674,1675,1281,1678,1679,1682,1683,1684,1685,1689,1690,1697,1698,1702,1705,1709,1711,762,1712,1715,1716,1717,1718,1286,778,1719,1720,1721,1722,1723,1724,1139,1726,1727,1730,1731,1295,1733,1734,1603,1735,1736,1737,1605,1738,1739,1310,1740,1741,1742,1743,1745,1746,1749,1750,1751,1754,1755,1759,1761,1765,1766,1771,1772,1775,1779,1780,1783,1786,1788,1789,1796,1797,1799,1802,1806,1809,1813,1816,1823,1826,1828,1832,1833,1841,1844,1846,1847,1856,1857,1861,1862,1870,1873,1875,1877,1883,1886,1890,1891,1892,1893,1891,1894,1894,1895,1896,1897,778,1898,1899,1598,1900,1901,1902,1292,1903,1294,1904,1905,1906,1435,1907,1162,1159,1159,1908,1909,1910,1312,1913,1913,1916,1176,1917,1918,1919,1921,1923,1926,1188,1927,1927,1338,1928,1929,1930,1931,1932,1933,1935,1936,1941,1945,1949,1957,1957,1959,1965,1968,1978,1979,1983,1986,1995,1999,2011,2012,2014,2020,2021,2025,2031,2034,2040,2043,2047,2048,2051,2052,1894,1595,1137,2053,798,2054,2055,805,816,817,2056,1726,1292,2057,1294,2058,2059,2060,1435,2061,1159,1605,2062,2063,1309,1167,1609,1173,1743,2064,2065,1918,1919,1918,2066,2067,2068,1188,1190,2069,2070,1338,1339,2071,2071,1343,1343,1202,2072,2073,2073,1210,1211,2079,2080,2081,2082,2083,2084],"time":[116621307.551247,116621308.977248,116621310.357822,116621311.586291,116621312.724967,116621313.852785,116621314.96088,116621316.031757,116621317.060845,116621318.139593,116621319.268895,116621320.393131,116621321.526116,116621322.596244,116621323.639085,116621324.823081,116621325.825987,116621327.115553,116621328.066716,116621329.000083,116621329.93971,116621330.894379,116621331.860517,116621332.830822,116621333.857612,116621334.847893,116621335.83035,116621336.81524,116621337.772801,116621338.727431,116621339.69237,116621340.667544,116621341.707622,116621342.695612,116621343.673276,116621344.649302,116621345.709754,116621346.672006,116621347.618536,116621348.573937,116621349.538234,116621350.511997,116621351.508644,116621352.530845,116621353.551811,116621354.568767,116621355.58068,116621356.589856,116621357.59661,116621358.306479,116621358.325332,116621358.32914,116621358.332836,116621358.336599,116621358.342748,116621358.475488,116621358.480795,116621358.488104,116621358.491659,116621358.495254,116621358.503931,116621361.077491,116621361.486544,116621362.180676,116621362.432024,116621362.556715,116621366.281437,116621367.492965,116621368.667691,116621369.793449,116621370.902803,116621371.970627,116621373.015684,116621374.050929,116621375.063322,116621376.178922,116621377.89509,116621379.043662,116621380.196279,116621381.358518,116621382.479483,116621383.565034,116621384.672712,116621385.769029,116621386.836885,116621387.895182,116621388.929434,116621389.979389,116621390.99625,116621392.002987,116621393.089004,116621394.112141,116621395.124055,116621396.132217,116621397.189763,116621398.187079,116621399.178774,116621400.171222,116621401.165804,116621402.160343,116621403.127108,116621404.098407,116621405.077242,116621406.068861,116621407.076047,116621408.064692,116621409.031068,116621409.995409,116621410.964326,116621411.94675,116621412.9301,116621413.916009,116621420.667134,116621422.22656,116621423.645703,116621424.952817,116621426.149465,116621427.503541,116621428.883458,116621430.230183,116621431.477265,116621432.658759,116621433.838234,116621434.935731,116621435.9972,116621437.040733,116621438.068305,116621439.087669,116621440.09563,116621441.062047,116621442.03187,116621443.009134,116621444.011106,116621444.997363,116621445.982975,116621446.971684,116621447.993126,116621448.98694,116621449.938215,116621450.888654,116621451.851098,116621452.822847,116621453.82743,116621454.812029,116621455.794773,116621456.782342,116621457.773611,116621458.76683,116621459.761649,116621460.781726,116621461.761118,116621462.714149,116621463.69098,116621464.660202,116621465.642494,116621466.681809,116621467.705044,116621468.717497,116621469.730897,116621470.736701,116621471.739707,116621472.741748,116621473.743242,116621474.708277,116621475.672456,116621476.646003,116621477.681688,116621478.684612,116621479.700046,116621480.71353,116621481.723673,116621482.7315,116621483.736469,116621484.742121,116621485.788259,116621486.83162,116621487.837405,116621488.819342,116621489.801467,116621490.78766,116621491.777698,116621492.770442,116621498.690518,116621504.546656,116621508.363941,116621511.546511,116621514.069253,116621515.954237,116621517.654482,116621519.119724,116621520.367863,116621521.507874,116621522.605643,116621523.676234,116621524.734552,116621525.772359,116621526.798638,116621527.817324,116621528.83069,116621529.836096,116621530.802751,116621531.76947,116621532.773119,116621533.795288,116621534.814443,116621535.828999,116621536.839634,116621537.840872,116621538.830256,116621539.836327,116621540.878668,116621541.884951,116621542.881822,116621543.879123,116621544.877062,116621545.875144,116621546.881131,116621547.880207,116621548.878113,116621549.876,116621550.874534,116621551.873249,116621552.872462,116621553.871819,116621554.871165,116621555.870752,116621556.869402,116621557.829824,116621558.791536,116621559.801978,116621560.819382,116621561.905269,116621562.907827,116621563.859651,116621564.813528,116621565.778516,116621566.753057,116621567.742951,116621568.729656,116621569.717965,116621572.494868,116621573.850277,116621575.553542,116621576.812592,116621577.984507,116621579.108656,116621580.226591,116621581.357886,116621582.513411,116621583.711625,116621584.865714,116621585.961134,116621587.025764,116621588.066596,116621589.095608,116621590.116367,116621591.131272,116621592.142126,116621593.192974,116621594.236761,116621595.227403,116621596.213802,116621597.709288,116621598.701578,116621599.595398,116621600.503101,116621601.447025,116621602.397168,116621603.357977,116621604.350605,116621605.329992,116621606.281308,116621607.210389,116621608.131269,116621609.070154,116621610.024831,116621610.991595,116621611.963906,116621612.943207,116621613.966276,116621614.996212,116621616.020254,116621617.036447,116621618.047666,116621619.077011,116621620.083416,116621621.553984,116621622.455739,116621623.33799,116621624.243578,116621625.174283,116621626.148576,116621627.110616,116621628.078954,116621629.055415,116621630.076853,116621631.100532,116621632.118875,116621633.132353,116621634.142466,116621635.169042,116621636.196468,116621637.193601,116621638.208836,116621639.214568,116621640.204853,116621641.196304,116621642.189511,116621643.183816,116621649.348326,116621650.032861,116621650.744946,116621651.499021,116621652.304086,116621653.183469,116621654.113961,116621655.056938,116621656.01441,116621657.072737,116621658.35892,116621659.694859,116621660.962597,116621662.148425,116621663.260545,116621664.339668,116621665.442382,116621666.480366,116621667.501499,116621668.515666,116621669.526251,116621670.57682,116621671.56856,116621672.515529,116621673.48221,116621674.425951,116621675.380519,116621676.34296,116621677.318114,116621678.322323,116621679.269193,116621680.228958,116621681.192707,116621682.165321,116621683.145505,116621684.160487,116621685.105048,116621686.033755,116621686.976934,116621687.936598,116621688.932053,116621690.003454,116621691.023761,116621692.009178,116621692.993924,116621694.020581,116621695.039787,116621696.053564,116621697.070392,116621698.077059,116621699.080711,116621700.08343,116621701.088144,116621702.055496,116621703.071354,116621704.045039,116621705.013722,116621705.964764,116621706.919683,116621707.898591,116621708.881304,116621709.871427,116621710.855482,116621711.939711,116621712.958056,116621714.110242,116621715.168111,116621716.211846,116621717.2354,116621718.257941,116621719.268559,116621720.275543,116621723.582151,116621724.469262,116621725.322035,116621726.204121,116621727.117152,116621728.054493,116621729.036106,116621730.055596,116621731.083242,116621732.102767,116621733.187063,116621734.220837,116621735.241699,116621736.283522,116621737.309812,116621738.324047,116621739.324687,116621740.352462,116621741.376248,116621742.394221,116621743.407462,116621744.45268,116621745.48139,116621746.511902,116621747.535742,116621748.582034,116621749.590867,116621750.59375,116621751.595621,116621752.6429,116621753.63758,116621754.645368,116621755.600976,116621756.584993,116621757.551265,116621758.510636,116621759.465303,116621760.498448,116621761.45743,116621762.417537,116621763.386917,116621764.395395,116621765.375418,116621766.368936,116621767.353438,116621768.340434,116621769.331223,116621770.324616,116621771.319519,116621772.315909,116621773.313434,116621774.311593,116621775.342069,116621776.320011,116621777.282279,116621778.251521,116621779.228738,116621780.212129,116621781.200186,116621782.197718,116621783.215972,116621784.208561,116621785.19875,116621786.190694,116621787.184937,116621788.180582,116621789.177777,116621790.175395,116621791.173864,116621792.172813,116621793.181647,116621800.899903,116621802.135033,116621803.315908,116621804.436776,116621805.507379,116621806.618962,116621807.925261,116621809.340114,116621810.687564,116621812.006598,116621813.183348,116621814.306535,116621815.396683,116621816.507539,116621817.515895,116621818.494628,116621819.44104,116621820.372492,116621821.298752,116621822.228419,116621823.174773,116621824.235023,116621825.207889,116621826.164873,116621827.130162,116621828.104167,116621829.121372,116621830.103546,116621831.086554,116621832.072966,116621833.117297,116621834.136673,116621835.148837,116621836.157736,116621837.178461,116621838.169628,116621839.138177,116621840.112082,116621841.09224,116621842.077408,116621843.094195,116621844.083034,116621845.071442,116621846.062569,116621847.056097,116621848.042292,116621849.024785,116621850.017573,116621851.038594,116621852.030241,116621853.000497,116621853.991374,116621855.001766,116621856.020902,116621857.028408,116621858.031267,116621859.032646,116621860.111427,116621861.13624,116621862.149408,116621863.15943,116621864.154612,116621865.160527,116621866.154099,116621867.126827,116621868.142599,116621869.120404,116621870.099738,116621870.957871,116621872.144821,116621878.758152,116621879.568146,116621880.391702,116621881.220298,116621882.082923,116621883.380634,116621884.83927,116621885.720571,116621886.563725,116621887.413625,116621888.28447,116621889.275512,116621890.434647,116621891.69127,116621892.919275,116621894.092115,116621895.22099,116621896.319163,116621897.370985,116621898.406469,116621899.431235,116621900.449738,116621901.524192,116621902.528847,116621903.523418,116621904.51747,116621905.485714,116621906.449235,116621907.421114,116621908.454521,116621909.425091,116621910.369666,116621911.317894,116621912.252441,116621913.223355,116621914.181786,116621915.148997,116621916.13732,116621917.118127,116621918.151144,116621919.133222,116621920.114257,116621921.099555,116621922.120503,116621923.122917,116621924.108595,116621925.096088,116621926.086481,116621927.079611,116621928.074649,116621929.07101,116621930.072966,116621931.081559,116621932.11919,116621933.143426,116621934.160329,116621935.172674,116621936.181486,116621937.210592,116621938.212361,116621939.189572,116621940.157519,116621941.13214,116621942.131558,116621943.115894,116621944.084067,116621945.07585,116621946.08017,116621947.046287,116621948.015709,116621948.992677,116621949.973442,116621950.959151,116621951.948409,116621952.945342,116621953.93953,116621954.944198,116621955.938904,116621956.933544,116621957.934513,116621958.997268,116621960.025943,116621961.038994,116621962.047153,116621963.08868,116621964.089041,116621968.441838,116621969.427051,116621970.373599,116621971.309896,116621972.260176,116621973.237801,116621974.240013,116621975.296382,116621976.293131,116621977.284835,116621978.305397,116621979.342625,116621980.359095,116621981.369567,116621982.376764,116621983.381911,116621984.399987,116621985.480738,116621986.620648,116621987.732582,116621988.815443,116621989.876524,116621990.921255,116621991.994427,116621993.018217,116621994.036658,116621995.076221,116621996.152275,116621997.16063,116621998.134887,116621999.110725,116622000.092182,116622001.078541,116622002.036879,116622002.99875,116622003.966182,116622004.976976,116622005.925727,116622006.87189,116622007.831158,116622008.800922,116622009.803981,116622010.819908,116622011.835631,116622012.847814,116622013.862835,116622014.869314,116622015.872802,116622016.874793,116622017.865115,116622018.842295,116622019.811645,116622020.787446,116622021.769625,116622022.806544,116622023.772442,116622024.753926,116622025.744989,116622026.748895,116622027.713552,116622028.688473,116622029.660341,116622030.670573,116622031.686302,116622032.697261,116622033.706063,116622034.679614,116622035.676716,116622036.652871,116622037.63221,116622038.616696,116622039.663579,116622040.653283,116622041.613013,116622047.194487,116622049.634288,116622051.76768,116622053.677163,116622055.522611,116622057.178612,116622058.687192,116622060.082974,116622061.34039,116622062.526791,116622063.663363,116622064.763339,116622065.836481,116622066.933093,116622067.972175,116622068.990927,116622070.003469,116622070.972248,116622071.935114,116622072.904744,116622073.882473,116622074.898316,116622075.886346,116622076.870166,116622077.875469,116622078.900296,116622079.923638,116622080.906448,116622081.88518,116622082.868146,116622083.85563,116622084.846939,116622085.840873,116622086.836165,116622087.838369,116622088.836064,116622089.828127,116622090.815205,116622091.814705,116622092.775229,116622093.736319,116622094.71143,116622095.68995,116622096.707512,116622097.695568,116622098.723486,116622099.755513,116622100.776345,116622101.790651,116622102.800632,116622103.8079,116622104.813196,116622105.831916,116622106.835268,116622107.833727,116622108.8192,116622109.775982,116622110.737044,116622111.707982,116622112.686526,116622113.671104,116622114.629222],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[1652,1426,1373,1228,1138,1122,1108,1070,1029,1078,1129,1124,1094,1070,1042,1029,1002,985,951,933,939,954,966,970,973,990,982,984,957,954,964,975,981,987,977,976,952,962,946,955,964,973,996,1022,1020,1016,1011,1009,1006,367,18,3,3,3,6,17,5,7,3,3,8,206,255,26,58,111,1749,1211,1169,1125,1109,1067,1045,1027,1012,1115,1149,1139,1152,1162,1103,1085,1107,1090,1067,1058,1034,1023,1016,1006,1086,1023,1011,1008,1057,997,991,992,994,994,966,971,978,984,1007,988,966,964,968,975,983,985,1423,1559,1419,1307,1196,1326,1379,1346,1247,1181,1132,1097,1061,1043,1027,1019,996,966,969,977,983,986,985,988,991,993,951,950,962,971,978,984,982,987,991,993,994,995,970,953,958,969,982,1011,1023,1012,1007,1005,1003,1002,1001,965,964,973,981,1002,1015,1013,1010,1007,1004,1005,1046,1043,1005,981,982,986,990,992,1567,5846,3817,3182,2522,1884,1700,1427,1248,1140,1097,1070,1050,1037,1026,1018,1013,1005,966,966,1003,1022,1019,1014,1010,1001,989,1006,1007,1006,996,997,997,998,998,999,997,997,998,998,999,999,999,999,998,960,961,1010,1017,1013,1002,951,953,964,974,981,986,988,682,1331,1241,1259,1171,1124,1117,1131,1155,1169,1131,1095,1064,1040,1029,1020,1014,1010,1050,1043,990,986,988,992,893,907,930,950,960,970,979,951,929,920,938,954,966,972,979,1023,1029,1024,1016,1011,1007,1006,982,901,882,905,930,949,962,968,976,1021,1023,1018,1013,1010,1006,1027,997,1015,1005,990,991,993,994,1439,684,712,754,805,873,920,942,957,1058,1286,1335,1267,1178,1112,1079,1088,1037,1021,1014,1010,1045,991,946,930,943,949,962,971,1004,946,952,963,972,980,1014,944,928,943,959,995,1041,1020,985,984,1026,1019,1013,1009,1006,1003,1002,1004,967,1015,973,968,951,954,978,982,990,984,1051,1018,1152,1057,1034,1023,1015,1010,1006,294,887,852,882,913,937,981,1019,1027,1019,1045,1033,1020,1041,1026,1014,991,1027,1023,1017,1013,1045,1028,1030,1023,1046,1008,1002,1001,1047,994,975,955,984,966,959,947,1033,958,960,969,1008,980,980,984,986,990,993,994,996,997,998,998,977,962,969,977,983,988,990,1018,992,990,991,994,995,997,997,998,998,1008,3580,1235,1180,1120,1070,1111,1306,1414,1347,1319,1176,1123,1090,1110,1008,978,946,931,926,929,946,1000,972,956,965,974,1017,982,983,986,1044,1019,1012,1008,1020,991,968,973,980,985,1016,988,988,991,993,986,982,992,1021,991,970,990,1010,1010,1007,1002,1001,1078,1024,1013,1010,995,1005,993,972,1015,977,979,846,1176,936,809,823,828,862,1297,1382,881,829,845,870,991,1159,1256,1228,1172,1128,1098,1051,1035,1024,1018,1074,1004,994,994,968,963,971,1028,970,944,948,934,970,958,967,974,980,1033,982,981,985,1020,1002,985,987,990,993,995,996,996,1008,1037,1024,1016,1012,1008,1029,1001,977,967,974,999,984,968,991,1004,966,969,976,980,985,989,991,994,1004,994,994,1000,1062,1028,1013,1008,1041,1000,1794,985,946,936,950,977,1002,1056,996,991,996,1037,1016,1010,1007,1005,1018,1080,1139,1111,1082,1061,1044,1073,1023,1018,1039,1076,1008,974,975,981,986,958,961,967,1010,948,946,959,969,1003,1015,1015,1012,1015,1006,1003,1001,990,977,969,975,982,1036,965,981,991,1003,964,962,971,1010,1015,1010,1008,973,997,976,979,984,1046,989,959,877,2439,2084,1909,1830,1656,1502,1395,1257,1186,1136,1099,1073,1052,1039,1018,1012,968,962,969,977,983,988,983,986,1024,1023,982,978,982,987,991,993,995,996,997,992,987,994,960,961,969,978,1017,988,1022,1027,1020,1014,1009,1007,1005,1003,1003,998,985,956,961,970,978,984,958]},"stackTable":{"length":2085,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,11,23,24,25,26,27,28,29,30,31,32,24,34,35,36,37,38,39,40,41,9,43,44,45,46,47,48,49,50,51,52,46,54,55,56,57,58,59,60,61,44,63,64,65,66,67,68,69,70,71,72,64,74,75,76,77,78,79,7,81,82,83,84,85,86,87,88,89,90,91,92,93,86,95,96,97,98,99,100,84,102,103,104,105,106,107,108,109,103,111,112,113,114,115,116,117,118,82,120,121,122,123,124,125,126,127,128,129,123,131,132,133,134,121,136,137,138,139,140,141,142,143,144,137,146,147,148,149,150,151,152,147,154,155,13,157,158,159,160,161,162,163,158,165,166,19,16,169,15,171,172,173,174,175,26,177,178,179,180,181,32,28,35,185,186,187,37,189,190,48,192,193,194,195,196,50,198,199,51,201,202,55,204,205,206,207,59,66,210,211,68,213,214,70,216,217,75,219,220,221,222,223,224,77,226,227,228,null,230,88,232,233,234,235,89,237,96,239,240,241,242,243,98,245,246,105,248,249,250,251,107,253,254,255,109,257,103,259,260,261,262,263,264,265,266,267,268,269,270,271,272,262,274,275,276,277,278,279,280,281,282,283,284,285,286,287,264,289,290,291,292,293,294,295,296,297,298,299,null,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,null,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,259,385,386,259,102,389,390,391,392,83,394,395,396,397,398,399,400,401,4,403,404,5,406,407,408,409,410,5,412,413,414,415,416,417,418,419,420,421,422,423,417,425,426,427,428,429,415,431,432,433,434,435,436,437,432,439,440,441,442,443,444,413,446,447,448,449,450,451,452,453,454,455,456,457,458,459,449,461,462,463,464,465,466,467,468,469,470,462,472,473,474,475,476,477,478,479,464,481,482,483,484,485,451,487,488,489,490,491,492,493,494,449,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,5,519,520,521,522,523,524,525,526,527,528,529,524,531,532,533,534,522,536,537,538,539,540,541,542,537,544,545,546,547,548,549,550,545,552,553,554,555,556,520,558,559,560,561,562,563,564,565,566,567,568,569,570,565,572,573,574,575,563,577,578,579,580,581,582,580,584,585,578,587,588,589,590,591,592,593,588,595,596,597,598,561,600,601,602,603,604,605,603,607,608,609,610,608,612,613,614,601,616,617,618,619,620,621,622,623,624,625,626,621,628,629,630,631,632,633,619,635,636,637,638,636,640,641,642,643,644,645,646,643,648,649,641,651,652,653,654,523,656,657,658,659,536,661,536,663,664,665,566,667,668,669,670,671,667,673,674,675,676,677,572,679,680,681,682,683,684,681,686,687,679,689,690,691,692,693,694,690,696,697,563,699,700,701,702,703,704,704,706,707,708,709,702,711,712,713,714,715,716,717,718,719,714,721,722,723,724,725,726,727,728,729,730,731,726,733,734,735,736,737,724,739,724,741,742,743,744,745,746,747,5,749,750,751,752,753,754,755,756,757,758,759,760,761,760,758,764,765,766,764,756,769,770,771,772,771,772,775,770,777,777,779,780,777,782,783,777,777,754,787,788,789,790,791,792,793,791,795,793,791,790,799,799,799,802,803,799,799,788,807,808,809,809,811,812,809,814,815,809,809,808,819,820,821,822,823,824,825,826,827,828,829,830,831,831,833,834,830,836,828,838,839,840,841,842,840,839,845,846,847,845,826,850,851,852,853,854,855,856,853,858,858,851,861,862,863,863,865,862,867,824,869,870,871,872,873,874,875,876,877,875,874,880,872,882,883,884,883,886,887,888,886,890,891,870,893,894,895,896,897,896,899,900,900,902,894,904,905,906,907,908,908,905,911,912,822,914,915,916,917,918,919,920,921,922,923,924,925,926,924,923,929,930,931,931,921,934,935,936,937,936,939,940,936,935,943,944,944,946,919,948,949,950,951,952,952,951,955,956,957,955,949,960,961,962,963,964,964,961,967,968,969,970,971,971,755,750,975,976,977,978,979,980,981,976,983,984,985,757,769,789,807,752,991,992,993,994,995,995,997,998,994,1000,1000,1002,1003,992,1005,1006,1007,1006,1009,1009,1011,1012,978,1014,1015,1016,1016,1018,1019,1015,1021,1022,1023,1021,979,1026,1027,1028,1027,1027,1026,1032,984,1034,1035,1036,1036,1038,1039,1035,1041,1042,1043,1041,985,1046,1047,1048,1049,1047,1046,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1064,1063,1069,1070,1071,1069,1073,1074,1069,1061,1077,1078,1079,1080,1081,1079,1083,1084,1078,1086,1087,1087,1089,1086,1059,1092,1093,1094,1095,1096,1096,1095,1099,1099,1093,1102,1103,1104,1104,1106,1103,1108,1108,1057,1111,1112,1113,1114,1115,1116,1117,1117,1117,1120,1121,1116,1123,1123,1114,1126,1127,1128,1129,1130,1131,1132,1130,759,764,777,791,815,808,1140,1141,1140,995,1144,1145,1146,1147,1144,1149,1150,1149,1152,1153,1000,1155,1156,1155,1158,1158,1160,1161,1007,1163,1164,1163,1166,1166,1168,1169,1009,1171,1172,1171,1174,1174,1016,1177,1178,1179,1180,1180,1177,1183,1021,1185,1186,1186,1185,1189,1189,1027,1192,1193,1192,1195,1195,1032,1198,1199,1198,1201,1201,1203,1204,1036,1206,1207,1206,1209,1209,1041,1212,1213,1212,1215,1216,1217,1215,1047,1220,1221,1222,1223,1220,1225,1226,1227,1225,1058,1230,1058,1230,1233,1111,1111,1055,1237,1238,1239,1240,1241,1239,1243,1244,1239,1238,1247,1247,1249,1250,1247,755,755,1254,1255,787,1257,1258,1258,787,1261,1262,993,993,1265,1266,993,1005,1005,1270,1271,1271,751,750,1275,1276,1277,1278,1279,1277,760,765,771,771,1285,782,795,1288,799,802,1140,1141,1145,1145,1153,1149,1156,1298,1299,1156,1301,1302,1158,1304,1305,1160,1164,1164,1169,1166,1311,1172,1313,1314,1174,1174,1178,1318,1319,1178,1183,1322,1323,1322,1183,1186,1327,1328,1189,1330,1331,1331,1193,1334,1335,1334,1193,1195,1195,1340,1341,1199,1199,1344,1344,1346,1201,1348,976,1350,1351,1352,1353,1354,1355,1356,1357,1358,1357,1358,1355,1362,1363,1364,1364,1353,1367,1368,1369,1370,1371,1371,1369,1368,1375,1376,1377,1378,1379,1380,1381,1382,1383,1382,1385,1386,1380,1388,1389,1390,1389,1392,1393,1394,1378,1396,1397,1398,1399,1400,1399,1402,1397,1404,1405,1406,1406,1408,1409,1408,1411,1412,1413,1414,1415,1416,1417,1415,1419,1420,757,1422,1285,1424,795,799,1427,809,1140,1430,1431,1147,1152,1156,1158,1164,1437,1438,1169,1168,1313,1277,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1452,1456,1452,1452,1451,1460,1460,1460,1463,1464,1460,1460,1467,1468,1449,1470,1471,1472,1472,1474,1475,1475,1474,1472,1475,1472,1481,1482,1471,1484,1485,1484,1487,1488,1484,1485,1491,1488,1484,1485,1447,1496,1497,1498,1499,1500,1501,1502,1503,1504,1503,1506,1506,1501,1509,1510,1511,1512,1513,1510,1515,1499,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1529,1533,1534,1528,1536,1536,1538,1539,1536,1541,1542,1526,1544,1545,1546,1546,1545,1549,1550,1551,1550,1524,1554,1555,1556,1557,1558,1559,1560,1558,1562,1563,1557,1565,1565,1567,1568,1565,1570,1571,1555,1573,1574,1575,1575,1577,1574,1579,1579,1522,1582,1583,1584,1585,1586,1586,1588,1589,1585,1591,1592,1593,771,1424,791,799,812,1140,1147,1150,1298,1298,1158,1164,1606,1607,1166,1172,1313,1174,1612,1448,1614,1615,1447,1617,1618,1619,1445,1621,1622,1623,1623,1625,1622,1627,1443,1629,1630,1631,1632,1633,1634,1635,1632,1637,1630,1639,1640,1641,1641,1643,1644,1640,1646,1647,1648,1278,1279,1444,1652,1629,1654,1655,1448,1617,1625,1659,1627,1661,1662,1633,1637,1665,1666,1641,1648,1652,1670,1629,1670,1670,1654,1444,1676,1677,1670,1629,1680,1681,1629,1444,1444,1443,1686,1687,1688,1688,1688,1691,1692,1693,1694,1695,1696,1696,1693,1699,1700,1701,1699,1703,1704,1691,1706,1707,1708,1708,1710,759,764,1713,1714,764,766,772,782,1288,1288,802,803,815,1141,1725,1431,1145,1728,1729,1147,1150,1732,1732,1299,1158,1161,1607,1438,1169,1169,1314,1172,1612,1744,1744,1450,1747,1748,1450,1450,1470,1752,1753,1470,1617,1756,1757,1758,1758,1760,1756,1762,1763,1764,1762,1623,1767,1768,1769,1770,1769,1768,1773,1774,1767,1776,1777,1778,1777,1627,1781,1782,1782,1784,1785,1781,1787,1787,1694,1790,1791,1792,1793,1794,1795,1794,1792,1798,1798,1800,1801,1790,1803,1804,1805,1805,1807,1808,1804,1810,1811,1812,1810,1814,1815,1699,1817,1818,1819,1820,1821,1822,1819,1824,1825,1825,1827,1817,1829,1830,1831,1831,1830,1834,1835,1836,1837,1838,1839,1840,1840,1842,1843,1839,1845,1845,1837,1848,1849,1850,1851,1852,1853,1854,1855,1854,1853,1858,1859,1860,1858,1851,1863,1864,1865,1866,1867,1868,1869,1869,1871,1872,1868,1874,1874,1876,1866,1878,1879,1880,1881,1882,1882,1884,1885,1881,1887,1888,1889,1887,1884,1885,757,775,775,783,1288,1288,802,812,815,1140,1729,1149,1732,1299,1606,1437,1169,1172,1911,1912,1174,1914,1915,1744,1178,1178,1183,1920,1920,1922,1186,1924,1925,1331,1335,1340,1341,1199,1199,1199,1348,1934,1204,1356,1937,1938,1939,1940,1939,1942,1943,1944,1943,1946,1947,1948,1937,1950,1951,1952,1953,1954,1955,1956,1953,1958,1951,1960,1961,1962,1963,1964,1961,1966,1967,1355,1969,1970,1971,1972,1973,1974,1975,1976,1977,1977,1974,1980,1981,1982,1980,1984,1985,1972,1987,1988,1989,1990,1991,1992,1993,1994,1992,1996,1997,1998,1990,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2008,2007,2013,2005,2015,2016,2017,2018,2019,2017,2016,2022,2023,2024,2003,2026,2027,2028,2029,2030,2030,2032,2033,2029,2035,2036,2037,2038,2039,2039,2041,2042,2038,2044,2045,2046,753,991,2049,2050,983,777,1288,803,1431,1147,1153,1732,1153,1302,1606,1606,1915,1915,1183,1323,1925,1330,1335,1195,1201,1207,1035,2074,2075,2076,2077,2078,2076,2078,2078,2077,2076],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,13,13,14,9,7,8,7,9,10,15,12,13,16,17,9,7,9,10,11,12,16,16,17,9,7,8,7,8,7,9,10,11,18,19,9,7,9,10,11,12,16,13,20,9,7,8,7,9,10,15,12,16,16,21,9,7,9,10,15,12,22,9,7,8,7,8,7,8,7,9,10,15,12,13,23,9,7,9,10,15,12,24,9,7,8,7,9,10,15,12,25,9,7,9,10,15,12,16,16,26,9,7,8,7,8,7,9,10,11,12,27,9,7,8,10,28,9,7,8,7,8,10,11,12,13,29,9,7,8,10,15,12,13,30,9,31,32,8,7,8,10,11,12,16,33,9,31,34,35,31,36,9,10,15,12,16,37,8,10,11,12,13,26,38,39,8,10,40,41,15,12,17,8,10,15,12,13,42,15,12,43,12,13,44,8,10,11,12,45,33,8,10,46,11,12,47,13,13,17,8,10,15,12,13,16,17,11,12,16,26,48,49,8,10,15,12,50,31,34,8,10,15,12,16,51,11,12,52,8,10,15,12,53,11,12,13,54,13,55,56,5,6,7,9,7,9,7,8,7,8,7,9,10,57,8,7,9,7,8,7,8,7,9,10,15,12,13,16,23,8,7,9,7,9,7,8,10,11,12,13,58,3,4,5,6,7,9,7,8,7,9,7,56,5,6,7,9,7,9,7,56,5,6,7,56,5,6,7,8,7,9,7,9,7,8,7,8,10,15,12,16,13,23,7,56,5,6,7,8,7,56,5,6,7,8,7,9,7,9,7,56,5,6,7,9,7,56,5,6,7,9,7,8,7,9,7,9,7,8,10,11,12,16,16,38,59,60,61,62,63,64,65,66,67,63,68,69,70,71,72,73,74,75,59,60,61,76,77,78,59,60,61,79,80,81,80,81,80,81,80,82,80,82,83,84,82,80,82,80,82,85,82,80,81,80,82,80,81,86,82,80,81,80,82,83,87,88,5,79,80,81,80,81,80,81,80,82,80,82,83,89,82,80,81,80,81,80,81,80,81,83,84,82,80,82,80,81,80,81,83,90,82,80,82,80,81,91,82,80,81,80,82,80,81,83,36,88,5,79,80,88,5,79,80,88,5,79,80,81,80,82,80,81,80,81,80,82,83,92,93,94,95,94,95,94,95,96,97,12,13,98,99,96,100,12,101,99,94,95,96,100,12,13,102,99,94,95,96,100,12,16,103,99,96,100,12,16,104,105,5,93,94,95,94,95,94,95,96,100,12,16,106,99,96,100,12,107,99,94,95,96,100,12,21,97,12,108,99,94,95,96,100,12,16,17,99,96,100,12,20,99,94,95,94,95,96,109,99,96,97,12,110,100,12,16,111,105,5,93,94,95,94,95,96,97,12,16,112,99,96,100,12,16,13,113,99,94,95,114,115,99,94,95,96,100,12,13,21,97,12,108,99,96,97,12,116,96,97,12,16,103,114,117,96,100,12,118,94,95,96,97,12,119,99,96,97,12,16,120,94,95,96,100,12,16,121,97,12,122,99,94,95,96,100,12,123,99,96,124,105,5,93,94,95,96,125,100,12,13,13,126,105,5,93,94,95,96,97,12,13,127,105,5,93,94,95,94,95,96,100,12,16,128,99,96,97,12,13,129,130,131,99,94,95,96,97,12,13,113,132,133,134,133,134,133,134,133,134,133,134,135,136,137,138,139,135,136,140,141,139,133,134,135,138,142,136,143,139,144,145,136,146,135,136,147,148,149,139,133,134,133,134,145,136,150,135,138,151,142,139,149,148,135,136,146,141,152,139,133,134,142,145,136,153,135,136,140,144,141,154,5,132,133,134,133,134,133,134,133,134,133,134,142,145,136,155,139,142,139,133,134,145,136,155,142,139,135,136,156,152,139,133,134,133,134,145,136,157,139,152,144,139,133,134,144,135,138,139,142,139,133,134,133,134,133,134,145,136,158,142,139,142,139,133,134,144,139,135,136,140,145,136,150,139,133,134,133,134,142,139,135,159,136,160,139,133,134,135,136,157,161,139,135,138,154,5,132,133,134,133,134,133,134,133,134,145,136,146,142,139,135,136,160,162,139,133,134,135,138,145,136,163,142,139,135,164,136,165,139,133,134,133,134,144,142,139,135,136,146,142,139,133,134,145,136,166,151,154,5,132,135,136,162,157,144,139,133,134,133,139,135,136,143,139,133,139,142,142,144,152,167,139,133,134,133,134,142,135,136,168,139,144,135,136,169,139,133,134,142,139,142,145,136,170,134,133,134,144,145,136,171,139,145,136,151,167,133,134,135,172,144,142,139,144,134,133,134,144,145,136,173,139,135,136,174,152,133,134,145,136,175,142,154,5,132,133,134,133,134,133,134,133,134,133,134,135,136,157,142,139,135,136,150,145,136,153,144,139,133,134,145,136,146,135,136,150,139,145,176,136,162,144,139,133,134,133,134,142,144,139,142,144,139,133,134,144,145,138,139,142,144,139,133,134,133,134,133,134,144,142,135,136,146,139,142,144,154,5,132,133,134,135,136,140,144,144,142,142,144,171,139,135,177,142,133,134,135,136,178,139,145,179,135,136,143,133,134,142,139,144,145,136,171,133,134,142,139,144,135,136,178,133,134,142,139,142,144,133,134,145,136,155,180,139,142,133,134,167,142,139,144,142,133,134,142,139,181,152,133,134,181,139,142,145,136,170,133,134,144,139,144,142,133,134,152,139,145,136,182,142,133,134,135,136,183,139,135,136,171,142,145,184,144,136,185,141,144,139,133,134,135,136,162,145,136,166,144,139,152,135,136,186,167,152,145,136,187,145,136,150,183,135,136,170,144,145,136,160,142,144,145,136,153,162,181,154,5,132,145,136,143,142,188,159,189,145,159,159,136,157,142,172,144,172,144,142,166,142,135,136,156,145,136,143,135,136,157,172,190,144,151,145,159,135,136,157,141,191,135,136,192,152,145,136,162,159,191,145,136,193,135,136,162,163,135,136,157,176,144,144,135,136,140,142,135,159,136,166,135,172,154,5,132,133,134,133,134,145,136,156,194,192,139,145,136,166,156,139,133,134,135,136,187,137,144,154,5,132,133,134,133,134,133,134,144,139,135,172,139,133,134,144,139,135,136,156,139,133,134,133,134,144,139,167,154,5,132,144,133,134,144,154,5,132,133,134,145,136,195,135,136,157,135,172,136,186,172,145,172,191,145,136,171,163,172,144,190,145,136,157,192,188,138,133,134,133,134,133,134,133,134,133,134,135,136,163,145,188,144,152,139,142,144,135,136,140,152,145,136,196,139,133,134,144,135,136,137,192,188,142,166,145,136,171,139,145,188,135,136,158,142,136,140,192,144,172,154,5,132,133,134,133,134,133,134,142,139,142,144,139,133,134,145,136,192,139,142,154,5,132,133,134,133,134,133,134,133,134,133,134,135,136,197,145,136,160,139,141,145,136,198,135,136,171,139,133,134,144,167,139,135,136,166,188,139,133,134,133,134,145,136,199,135,136,137,139,144,135,136,197,145,136,199,139,133,134,142,135,188,139,142,144,154,5,132,133,134,144,135,136,196,139,135,136,186,144,171,200,144,163,201,192,188,188,172,142,135,136,157,142,152,188,145,188,145,136,162,139,145,136,156,139,133,134,144,135,188,139,142,139,133,134,133,134,145,136,202,139,142,139,133,134,190,135,136,162,139,135,136,140,164,155,135,179,135,136,203,144,144,136,157,135,136,192,144,135,136,160,142,171,136,192,142,171,150,172,145,136,150,174,145,136,203,204,144,205,154,5,132,144,142,133,134,133,134,135,136,162,197,139,135,136,206,145,136,170,154,5,132,144,145,207,142,145,136,202,144,163,176,194,186,208,188,150,162,136,157,162,145,136,209,166,136,143,208,160,191,210,197,165,171,140,163,144,136,186,160,145,136,211,142,190,135,136,211,190,133,134,135,176,136,198,139,145,136,208,144,133,134,135,136,160,138,145,136,163,139,145,136,211,207,133,134,144,145,136,187,139,142,144,133,134,133,134,145,136,165,188,139,141,145,136,163,139,133,134,144,145,136,193,139,145,136,163,135,136,147,133,134,133,134,135,136,171,139,145,179,136,160,139,133,134,204,142,154,5,132,133,134,133,134,144,135,136,143,139,144,142,154,5,132,133,134,133,134,145,212,201,139,145,136,155,144,154,5,132,133,134,133,134,144,135,136,175,139,142,135,138,154,5,132,133,134,205,145,136,213,139,135,136,214,144,194,143,144,178,215,163,171,162,138,186,157,204,165,152,196,166,172,207,163,145,136,162,135,136,137,198,142,144,135,176,136,156,135,136,162,197,197,176,211,144,205,201,136,208,202,133,134,133,134,142,139,133,134,144,139,145,136,163,139,133,134,133,134,145,136,192,139,144,139,133,134,145,136,147,139,145,159,154,5,132,133,134,133,134,135,136,192,163,139,145,136,156,135,136,156,154,5,132,133,134,133,134,135,194,139,145,136,182,154,5,132,133,134,133,134,133,134,145,136,153,142,139,142,139,133,134,135,136,186,144,139,135,136,140,154,5,132,133,134,144,135,136,163,154,5,132,133,134,142,135,136,197,154,5,132,144,152,135,136,173,144,181,153,173,146,153,171,146,183,150,138,216,163,157,144,170,174,138,143,142,144,142,154,5,132,135,136,165,142,170,157,194,144],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f2589","0x1f1c7f","0x1edef0","0x1eeae6","0x1ee018","0x1f1e9c","0x1eeb02","0x1edfb4","0x1edeb7","0x1a0998","0x1ee010","0x1ee015","0x1ee4a2","0x1edfb0","0x1ee9c4","0x1ee5ca","0x1edfb7","0x1ee979","0x1f1eb4","0x1ee981","0x1edff5","0x1f257e","0x177d9f","0x1eea1f","0x177e44","0x1ee0c4","0x177e3f","0x1ee493","0x1edfd9","0x1f1c35","0x1f1d5d","0xa53e7","0x1eebf9","0x1ee686","0x1ee000","0x1ee738","0x1f1f5c","0x1ee85c","0x7fffa45da8cf","0x1a0aca","0x1ee58c","0x1eeafb","0x1ee7dc","0x1ee544","0x1ee4ac","0x1ee31d","0x1f3684","0x1f1c2d","0x1ee52c","0x2618c","0x26706","0x11e88d","0x2618d","0x1f2c90","0x1f32d7","0xa5452","0xa2cc2","0x9125b","0x1f311b","0x26c8f","0x354cb3","0xa5861","0xa4b89","0xa48dc","0xa35b1","0x11eaab","0x1ef2d8","0x1eebf0","0x1eeec7","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177da5","0x1eb1d6","0x1eb4f4","0x177d8c","0x1ec510","0x177d91","0x177d9c","0x1eb19f","0x177db9","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edb10","0x1ee572","0x34fd2","0x1edbd7","0x1ee73b","0x1ee024","0x1ee02b","0x1ee008","0x34ed4","0x1edf9b","0x1ee085","0x1ee83a","0x1eda27","0x1ee14c","0x1ee01a","0x1ee411","0x1edfe9","0x59940","0x177e3a","0x1ee0de","0x177e31","0x1ee763","0x1ee812","0x1ee678","0x1ee82d","0x1ee75b","0x1eea58","0x1eda15","0x1edd12","0x1ee030","0x1edfc7","0x1ee003","0x1edfbb","0x34e95","0x351d9","0x247051","0x246666","0x246a05","0x24637c","libm.so.6","0x37f02","0x764fd","0x37f25","0x246b93","0x7651d","0x2463af","0x2463ab","0x764e4","0x246396","0x246363","0x7650f","0x764cc","0x2463c2","0x246330","0x7652b","0x76637","0x2463bb","0x764f4","0x246a77","0x709ce","0x764eb","0x76514","0x764db","0x37f13","0x709c0","0x764b3","0x7662f","0x764c0","0x37f0b","0x764ac","0x76518","0x246338","0x764d8","0x7651f","0x70ab8","0xe380","0x37f31","0x7647e","0x76482","0x70aba","0x37f03","0x37efe","0x764bb","0x37f27","0x764e7","0x24637a","0x70aa0","0x7648e","0x37f21","0x76491","0x764d5","0x709e4","0x37ef0","0x246358","0x246392","0x246386","0x76488","0x70ac0","0x37f58","0x709d4","0x70ab0","0x7649f","0x709c7","0x709e0","0x24639f","0x24633e","0x76538","0x764c4","0x24637d","0x24638a","0x76540","0x37f40","0x76506","0x76521","0x76553","0x7654a","0x37f1d","0x7655f","0x764a3","0x76497","0x37ef8"],"tid":"700705","unregisterTime":116622126.552591},{"frameTable":{"length":4,"address":[1206333,1206351,1127094,271859],"inlineDepth":[0,0,0,0],"category":[1,1,1,1],"subcategory":[0,0,0,0],"func":[0,1,2,3],"nativeSymbol":[null,null,null,null],"innerWindowID":[null,null,null,null],"implementation":[null,null,null,null],"line":[null,null,null,null],"column":[null,null,null,null],"optimizations":[null,null,null,null]},"funcTable":{"length":4,"name":[1,2,3,4],"isJS":[false,false,false,false],"relevantForJS":[false,false,false,false],"resource":[0,0,0,0],"fileName":[null,null,null,null],"lineNumber":[null,null,null,null],"columnNumber":[null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"read_many_struc","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700678","processName":"read_many_struc","processShutdownTime":116605320.710808,"processStartupTime":116605320.503973,"processType":"default","registerTime":116605320.503973,"resourceTable":{"length":1,"lib":[0],"name":[0],"host":[null],"type":[1]},"samples":{"length":6,"stack":[0,0,0,0,0,3],"time":[116605320.572028,116605320.577902,116605320.58088,116605320.583573,116605320.586248,116605320.608861],"weight":[1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,5,2,2,2,22]},"stackTable":{"length":4,"prefix":[null,null,1,2],"frame":[0,1,2,3],"category":[1,1,1,1],"subcategory":[0,0,0,0]},"stringArray":["libc.so.6","0x12683d","0x12684f","0x1132b6","0x425f3"],"tid":"700678","unregisterTime":116605320.710808},{"frameTable":{"length":4,"address":[1206333,1206351,1127094,271859],"inlineDepth":[0,0,0,0],"category":[1,1,1,1],"subcategory":[0,0,0,0],"func":[0,1,2,3],"nativeSymbol":[null,null,null,null],"innerWindowID":[null,null,null,null],"implementation":[null,null,null,null],"line":[null,null,null,null],"column":[null,null,null,null],"optimizations":[null,null,null,null]},"funcTable":{"length":4,"name":[1,2,3,4],"isJS":[false,false,false,false],"relevantForJS":[false,false,false,false],"resource":[0,0,0,0],"fileName":[null,null,null,null],"lineNumber":[null,null,null,null],"columnNumber":[null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"read_many_struc","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700679","processName":"read_many_struc","processShutdownTime":116605321.27785,"processStartupTime":116605321.011449,"processType":"default","registerTime":116605321.011449,"resourceTable":{"length":1,"lib":[0],"name":[0],"host":[null],"type":[1]},"samples":{"length":6,"stack":[0,0,0,0,0,3],"time":[116605321.104868,116605321.110305,116605321.113133,116605321.11575,116605321.118619,116605321.145002],"weight":[1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,5,2,2,2,26]},"stackTable":{"length":4,"prefix":[null,null,1,2],"frame":[0,1,2,3],"category":[1,1,1,1],"subcategory":[0,0,0,0]},"stringArray":["libc.so.6","0x12683d","0x12684f","0x1132b6","0x425f3"],"tid":"700679","unregisterTime":116605321.27785},{"frameTable":{"length":291,"address":[-1,6172712,171583,171407,6961188,24789293,6390936,6318722,6891257,6960008,18228651,18275296,24914034,18274897,18699523,18771153,21111941,21108987,21108630,20823459,20830300,20018520,20022754,20111892,20766442,676946,665754,20830877,20672381,20672633,6891289,6934036,6792192,13278183,13759878,15502080,15478939,9410720,10807483,11805301,10559929,24440989,24437325,24293764,24256972,678152,674697,673972,15479242,12639360,12525656,14888033,10726274,7678591,15502397,15513626,15423342,12748670,12785321,11042784,12622957,12592860,12583627,13906546,12526981,24863840,12785594,12593422,14220139,14216945,14157073,14141548,14157674,14172651,12823739,12755374,14156737,14153608,10701076,7543730,10456572,11513563,-1,-1,675014,12824704,11143741,12840658,14887932,1678766,14151252,14143273,24807926,24829710,1132514,14161319,9460591,9600230,8340942,22912464,14157184,10731025,10760191,14160794,9526482,10834176,9526184,12787445,10474752,12820778,11513802,14151406,25070500,15425997,7504141,676449,673968,15514285,12469939,14785128,12437100,21355648,21373932,21371646,15502705,15482608,11839161,25068696,13761948,12781637,8339248,12525404,15429958,10461824,12525356,11513906,13762848,15370014,15372001,12512714,14220822,14218513,14209891,14052403,13396235,15645529,9310656,10279229,9133562,15651595,15666596,9013880,9014382,11579843,25019051,15640939,10556323,24425005,24331705,672428,14218358,14125042,14093504,24811757,1131835,9133812,10328566,9093107,10079783,9064693,10573461,9349041,11080695,11027283,11155027,9278084,10556977,24435370,24296615,24291392,15672942,15632382,14960431,15633903,14962974,11108750,24811909,24871465,943867,943687,24326145,24359520,24282072,24300715,9310236,10225661,9085143,9131689,10383615,10243123,9099847,10355352,9640020,10585860,9354634,15643514,11707111,25019005,10558103,24432283,24308707,24321659,24291333,24291685,674012,668235,9309633,10236333,9096898,10922424,1678717,15669755,24876565,24900956,1130558,24435203,24295760,11707003,24422154,24298549,24298668,1706387,15652541,15738448,15442794,12834129,1678188,9096339,10358942,24454312,14204722,24808216,13763122,15417377,12696080,12694763,12697221,12706001,12703994,12701053,12704095,665353,-1,1706698,13285546,8215405,8217643,8022372,8223974,8025787,7982183,8276241,8276258,8224090,8173943,8172009,8224063,8170397,676866,8215426,8261407,8043633,7936278,8043569,7976313,8029664,6792723,6361152,6375985,6365348,6796269,6362481,6318554,1706056,6797622,11246538,19262743,25060274,19262017,19260593,961585],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":291,"name":[0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[-1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"cargo","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700679.1","processName":"cargo","processShutdownTime":116605410.457627,"processStartupTime":116605321.27785,"processType":"default","registerTime":116605321.27785,"resourceTable":{"length":2,"lib":[2,0],"name":[1,3],"host":[null,null],"type":[1,1]},"samples":{"length":55,"stack":[0,26,29,47,53,66,81,94,97,115,116,127,132,133,137,139,137,142,143,153,155,166,174,178,186,192,205,211,221,231,245,260,270,274,285,290,294,301,313,317,319,325,330,340,345,368,370,382,387,391,398,402,406,412,413],"time":[116605322.252443,116605327.661932,116605331.237976,116605333.69534,116605335.718355,116605337.46061,116605339.025401,116605340.36129,116605341.485774,116605342.459274,116605343.349324,116605344.176907,116605344.981288,116605345.73664,116605346.483377,116605347.272837,116605348.018021,116605348.750951,116605349.488646,116605350.302169,116605351.192857,116605352.074562,116605352.981325,116605353.903962,116605354.848428,116605355.834996,116605356.804454,116605357.77553,116605358.763347,116605359.760661,116605360.747701,116605361.858367,116605362.949489,116605364.507125,116605365.410252,116605366.268071,116605367.18311,116605368.161212,116605369.139296,116605370.168478,116605371.101386,116605372.036788,116605372.987638,116605373.954599,116605374.937349,116605396.15161,116605398.339467,116605400.11704,116605401.519846,116605402.701684,116605403.755017,116605404.756779,116605405.654807,116605406.498732,116605410.199762],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,5409,3497,2457,2023,1742,1564,1335,1107,973,890,827,804,755,746,789,745,732,737,813,890,881,906,922,944,986,969,971,987,997,987,1110,1091,1557,903,857,915,978,978,1029,932,935,950,966,982,1186,2187,1777,1402,1181,1053,1001,898,843,3050]},"stackTable":{"length":414,"prefix":[null,null,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,19,27,28,7,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,35,48,49,50,51,52,null,54,55,56,57,58,59,60,61,62,63,64,65,null,67,68,69,70,71,72,73,74,75,76,77,78,79,80,57,82,83,84,85,86,87,88,89,90,91,92,93,null,95,96,null,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,89,82,117,118,119,120,121,122,123,124,125,126,109,128,129,130,131,88,89,134,135,136,null,138,109,140,141,140,null,144,145,146,147,148,149,150,151,152,89,154,null,156,157,158,159,160,161,162,163,164,165,34,167,168,169,170,171,172,173,34,175,176,177,144,179,180,181,182,183,184,185,33,187,188,189,190,191,null,193,194,195,196,197,198,199,200,201,202,203,204,201,206,207,208,209,210,201,212,213,214,215,216,217,218,219,220,33,222,223,224,225,226,227,228,229,230,null,232,233,234,235,236,237,238,239,240,241,242,243,244,144,246,247,248,249,250,251,252,253,254,255,256,257,258,259,206,261,262,263,264,265,266,267,268,269,215,271,272,273,232,275,276,277,278,279,280,281,282,283,284,254,286,287,288,289,256,291,292,293,259,295,296,297,298,299,300,null,302,303,304,305,306,307,308,309,310,311,312,206,314,315,316,257,318,286,320,321,322,323,324,201,326,327,328,329,null,331,332,333,334,335,336,337,338,339,226,341,342,343,344,33,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,null,369,32,371,372,373,374,375,376,377,378,379,380,381,374,383,384,385,386,374,388,389,390,371,392,393,394,395,396,397,31,399,400,401,31,403,404,405,31,407,408,409,410,411,null],"frame":[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,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,52,53,34,54,55,56,57,58,59,60,61,62,63,64,65,54,55,56,57,66,59,60,67,68,69,70,71,72,73,74,75,66,59,60,67,68,69,76,77,78,79,80,81,82,83,84,55,56,75,66,59,60,67,68,69,70,71,72,73,85,86,87,88,89,90,58,59,60,67,68,69,76,91,92,93,94,95,96,97,98,99,100,91,92,93,94,101,102,103,104,105,106,33,34,54,55,56,75,107,108,109,110,111,112,30,31,32,33,34,54,55,113,114,115,116,54,117,118,119,120,121,122,123,124,125,126,127,128,55,56,75,129,130,131,81,128,55,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,39,156,157,158,43,44,45,46,159,136,137,138,139,140,160,161,162,163,164,145,146,147,165,166,167,168,169,170,171,172,173,174,175,136,137,138,139,140,141,142,143,144,155,39,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,115,116,208,209,210,211,212,213,44,45,46,214,215,139,140,141,142,143,144,145,216,217,218,219,220,221,222,223,224,225,226,227,228,229,228,230,231,232,233,234,235,236,141,142,143,144,145,216,217,237,238,239,141,240,241,163,164,242,243,244,245,246,247,246,247,248,244,244,244,244,244,245,246,247,246,247,249,250,25,251,252,253,254,255,256,257,258,259,260,261,260,261,260,262,263,264,265,25,251,266,264,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290],"category":[2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["0xffffffffba601199","cargo","0x5e3028","libc.so.6","0x29e3f","0x29d8f","0x6a3824","0x17a412d","0x618498","0x606a82","0x6926f9","0x6a3388","0x11625ab","0x116dbe0","0x17c2872","0x116da51","0x11d5503","0x11e6cd1","0x1422485","0x14218fb","0x1421796","0x13dbda3","0x13dd85c","0x1317558","0x13185e2","0x132e214","0x13cdeea","0xa5452","0xa289a","0x13dda9d","0x13b6f7d","0x13b7079","0x692719","0x69ce14","0x67a400","0xca9be7","0xd1f586","0xec8b00","0xec309b","0x8f98a0","0xa4e8bb","0xb42275","0xa121b9","0x174f09d","0x174e24d","0x172b184","0x17221cc","0xa5908","0xa4b89","0xa48b4","0xec31ca","0xc0dc80","0xbf2058","0xe32c61","0xa3ab82","0x752a7f","0xec8c3d","0xecb81a","0xeb576e","0xc2877e","0xc316a9","0xa87fe0","0xc09c6d","0xc026dc","0xc002cb","0xd43272","0xbf2585","0x17b6460","0xc317ba","0xc0290e","0xd8fb6b","0xd8eef1","0xd80511","0xd7c86c","0xd8076a","0xd841eb","0xc3acbb","0xc2a1ae","0xd803c1","0xd7f788","0xa34914","0x731bb2","0x9f8dfc","0xafaedb","0xfffffffffffffffe","0x32","0xa4cc6","0xc3b080","0xaa0a3d","0xc3eed2","0xe32bfc","0x199dae","0xd7ee54","0xd7cf29","0x17a89f6","0x17adf0e","0x1147e2","0xd815a7","0x905b6f","0x927ce6","0x7f45ce","0x15d9dd0","0xd80580","0xa3be11","0xa42fff","0xd8139a","0x915cd2","0xa55100","0x915ba8","0xc31ef5","0x9fd500","0xc3a12a","0xafafca","0xd7eeee","0x17e8ba4","0xeb61cd","0x72810d","0xa5261","0xa48b0","0xecbaad","0xbe46b3","0xe19a68","0xbdc66c","0x145dc80","0x14623ec","0x1461afe","0xec8d71","0xec3ef0","0xb4a6b9","0x17e8498","0xd1fd9c","0xc30845","0x7f3f30","0xbf1f5c","0xeb7146","0x9fa280","0xbf1f2c","0xafb032","0xd20120","0xea871e","0xea8ee1","0xbeedca","0xd8fe16","0xd8f511","0xd8d363","0xd66c33","0xcc690b","0xeebb59","0x8e11c0","0x9cd93d","0x8b5dfa","0xeed30b","0xef0da4","0x898a78","0x898c6e","0xb0b1c3","0x17dc2ab","0xeea96b","0xa113a3","0x174b22d","0x17345b9","0xa42ac","0xd8f476","0xd787f2","0xd70cc0","0x17a98ed","0x11453b","0x8b5ef4","0x9d99f6","0x8abff3","0x99ce27","0x8a50f5","0xa15695","0x8ea7b1","0xa913f7","0xa84353","0xaa3653","0x8d9284","0xa11631","0x174daaa","0x172bca7","0x172a840","0xef266e","0xee87fe","0xe4472f","0xee8def","0xe4511e","0xa9818e","0x17a9985","0x17b8229","0xe66fb","0xe6647","0x1733001","0x173b260","0x17283d8","0x172ccab","0x8e101c","0x9c07fd","0x8aa0d7","0x8b56a9","0x9e70ff","0x9c4c33","0x8ada47","0x9e0298","0x931854","0xa18704","0x8ebd8a","0xeeb37a","0xb2a2e7","0x17dc27d","0xa11a97","0x174ce9b","0x172ebe3","0x1731e7b","0x172a805","0x172a965","0xa48dc","0xa324b","0x8e0dc1","0x9c31ad","0x8acec2","0xa6a9b8","0x199d7d","0xef19fb","0x17b9615","0x17bf55c","0x11403e","0x174da03","0x172b950","0xb2a27b","0x174a70a","0x172c435","0x172c4ac","0x1a0993","0xeed6bd","0xf02650","0xeba36a","0xc3d551","0x199b6c","0x8acc93","0x9e109e","0x17524a8","0xd8bf32","0x17a8b18","0xd20232","0xeb4021","0xc1ba10","0xc1b4eb","0xc1be85","0xc1e0d1","0xc1d8fa","0xc1cd7d","0xc1d95f","0xa2709","0x20","0x1a0aca","0xcab8aa","0x7d5b6d","0x7d642b","0x7a6964","0x7d7ce6","0x7a76bb","0x79cc67","0x7e4911","0x7e4922","0x7d7d5a","0x7cb977","0x7cb1e9","0x7d7d3f","0x7cab9d","0xa5402","0x7d5b82","0x7e0f1f","0x7abc71","0x791916","0x7abc31","0x79b579","0x7a85e0","0x67a613","0x611040","0x614a31","0x6120a4","0x67b3ed","0x611571","0x6069da","0x1a0848","0x67b936","0xab9bca","0x125ed17","0x17e63b2","0x125ea41","0x125e4b1","0xeac31"],"tid":"700679.1","unregisterTime":116605410.457627}],"pages":[],"profilerOverhead":[],"counters":[]} \ No newline at end of file diff --git a/src/lazy/text/matched.rs b/src/lazy/text/matched.rs index 52f8cd6e..9b8107ab 100644 --- a/src/lazy/text/matched.rs +++ b/src/lazy/text/matched.rs @@ -478,7 +478,7 @@ impl MatchedString { matched_input: TextBuffer<'data>, ) -> IonResult> { // Take a slice of the input that ignores the first and last bytes, which are quotes. - let body = matched_input.slice(1, dbg!(matched_input.len()) - 2); + let body = matched_input.slice(1, matched_input.len() - 2); // There are no escaped characters, so we can just validate the string in-place. let text = body.as_text()?; let str_ref = StrRef::from(text); @@ -1490,8 +1490,8 @@ mod tests { // our fabricated value off of the input before reading. let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, dbg!(data).as_bytes(), true); - let matched = dbg!(buffer.clone().match_string().unwrap()); + let buffer = TextBuffer::new(context, data.as_bytes(), true); + let matched = buffer.clone().match_string().unwrap(); let actual = matched.read(context.allocator(), buffer).unwrap(); assert_eq!( actual, expected, @@ -1522,37 +1522,6 @@ mod tests { Ok(()) } - #[test] - fn read_strings_foo() -> IonResult<()> { - fn expect_string(data: &str, expected: &str) { - // Ordinarily the reader is responsible for indicating that the input is complete. - // For the sake of these tests, we're going to append one more value (`0`) to the input - // stream so the parser knows that the long-form strings are complete. We then trim - // our fabricated value off of the input before reading. - let encoding_context = EncodingContext::empty(); - let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, dbg!(data).as_bytes(), true); - let matched = dbg!(buffer.clone().match_string().unwrap()); - let actual = matched.read(context.allocator(), buffer).unwrap(); - assert_eq!( - actual, expected, - "Actual didn't match expected for input '{}'.\n{:?}\n!=\n{:?}", - data, actual, expected - ); - } - - let tests = [ - // In long-form strings, all unescaped newlines are converted to `\n`. - ("'''foo\rbar\r\nbaz'''", "foo\nbar\nbaz"), - ]; - - for (input, expected) in tests { - expect_string(input, expected); - } - - Ok(()) - } - #[test] fn read_clobs() -> IonResult<()> { fn read_clob<'a>( From 33a7ef9038fc979c1eb1bdda2f0386396a4e593e Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Fri, 3 Jan 2025 17:49:46 -0500 Subject: [PATCH 10/32] inlines some hot parsers --- profile.json | 1 - src/lazy/text/buffer.rs | 100 ++++++++++++++++++++++++++++++---------- 2 files changed, 76 insertions(+), 25 deletions(-) delete mode 100644 profile.json diff --git a/profile.json b/profile.json deleted file mode 100644 index 0d176ddb..00000000 --- a/profile.json +++ /dev/null @@ -1 +0,0 @@ -{"meta":{"categories":[{"name":"Other","color":"grey","subcategories":["Other"]},{"name":"User","color":"yellow","subcategories":["Other"]},{"name":"Kernel","color":"orange","subcategories":["Other"]}],"debug":false,"extensions":{"baseURL":[],"id":[],"length":0,"name":[]},"interval":1.0,"preprocessedProfileVersion":46,"processType":0,"product":"cargo","sampleUnits":{"eventDelay":"ms","threadCPUDelta":"µs","time":"ms"},"startTime":1735925303312.499,"symbolicated":false,"pausedRanges":[],"version":24,"usesOnlyOneStackType":true,"doesNotUseFrameImplementation":true,"sourceCodeIsNotOnSearchfox":true,"markerSchema":[]},"libs":[{"name":"libc.so.6","path":"/usr/lib/x86_64-linux-gnu/libc.so.6","debugName":"libc.so.6","debugPath":"/usr/lib/x86_64-linux-gnu/libc.so.6","breakpadId":"84EF0F492403910C833978D494D39E530","codeId":"490fef8403240c91833978d494d39e537409b92e","arch":null},{"name":"cargo","path":"/home/zslayton/.cargo/bin/cargo","debugName":"cargo","debugPath":"/home/zslayton/.cargo/bin/cargo","breakpadId":"F8348331932A20DDBAAE626055E732A50","codeId":null,"arch":null},{"name":"cargo","path":"/home/zslayton/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo","debugName":"cargo","debugPath":"/home/zslayton/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo","breakpadId":"FBB174D2105A6991A30CFCCD713072970","codeId":null,"arch":null},{"name":"read_many_structs-8374511ab21ccefd","path":"/home/zslayton/ion-rust/target/release/deps/read_many_structs-8374511ab21ccefd","debugName":"read_many_structs-8374511ab21ccefd","debugPath":"/home/zslayton/ion-rust/target/release/deps/read_many_structs-8374511ab21ccefd","breakpadId":"AB9EFC7B7FBC6EB929F5DD9D2D2401BC0","codeId":"7bfc9eabbc7fb96e29f5dd9d2d2401bc642433c7","arch":null},{"name":"libm.so.6","path":"/usr/lib/x86_64-linux-gnu/libm.so.6","debugName":"libm.so.6","debugPath":"/usr/lib/x86_64-linux-gnu/libm.so.6","breakpadId":"5DEC08A5F18BB72FFD08204E0F87518E0","codeId":"a508ec5d8bf12fb7fd08204e0f87518e5cd0b102","arch":null}],"threads":[{"frameTable":{"length":1,"address":[962699],"inlineDepth":[0],"category":[1],"subcategory":[0],"func":[0],"nativeSymbol":[null],"innerWindowID":[null],"implementation":[null],"line":[null],"column":[null],"optimizations":[null]},"funcTable":{"length":1,"name":[1],"isJS":[false],"relevantForJS":[false],"resource":[0],"fileName":[null],"lineNumber":[null],"columnNumber":[null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"samply","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700674","processName":"samply","processShutdownTime":116605175.819968,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":1,"lib":[0],"name":[0],"host":[null],"type":[1]},"samples":{"length":5,"stack":[0,0,0,0,0],"time":[116605175.807971,116605175.813367,116605175.815109,116605175.8166,116605175.818338],"weight":[1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,5,1,1,1]},"stackTable":{"length":1,"prefix":[null],"frame":[0],"category":[1],"subcategory":[0]},"stringArray":["libc.so.6","0xeb08b"],"tid":"700674","unregisterTime":116605175.819968},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"<700677>","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700677.2","unregisterTime":null},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700694.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700694.1","unregisterTime":116622126.598209},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700698.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700698.1","unregisterTime":116622126.593796},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700699.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700699.1","unregisterTime":116622126.595403},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700700.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700700.1","unregisterTime":116622126.592632},{"frameTable":{"length":1,"address":[-1],"inlineDepth":[0],"category":[1],"subcategory":[0],"func":[0],"nativeSymbol":[null],"innerWindowID":[null],"implementation":[null],"line":[null],"column":[null],"optimizations":[null]},"funcTable":{"length":1,"name":[0],"isJS":[false],"relevantForJS":[false],"resource":[-1],"fileName":[null],"lineNumber":[null],"columnNumber":[null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700701.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":6,"stack":[0,0,0,0,0,0],"time":[116622126.998948,116622127.261226,116622127.971256,116622128.691245,116622129.542269,116622130.450002],"weight":[1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[408,137,710,719,851,907]},"stackTable":{"length":1,"prefix":[null],"frame":[0],"category":[1],"subcategory":[0]},"stringArray":["0x75961ff1e88d"],"tid":"700701.1","unregisterTime":116622130.852274},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700702.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700702.1","unregisterTime":116622126.594564},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700703.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700703.1","unregisterTime":116622126.594546},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700705.1>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.2","processName":"<700677>","processShutdownTime":null,"processStartupTime":0.0,"processType":"default","registerTime":0.0,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700705.1","unregisterTime":116622126.577824},{"frameTable":{"length":95,"address":[-1,953382,171583,171407,964611,953586,962480,3577569,3604505,3781562,3678425,5113614,1132514,3781630,3783520,3679216,3719190,3747670,5392903,1705931,3750089,5398297,5379153,5383834,5384652,676449,673968,5380666,1706186,3746632,5394203,2667486,3270218,678152,674697,5398483,5384686,3747536,1706350,5384728,5387044,5387626,3406712,5380632,5451097,674762,1706698,5383870,3747196,5389592,5411539,5442578,676946,665353,5436425,5404256,5408879,5387040,5398544,5387548,5390297,-1,5436143,5408435,3680446,3723487,3729658,3731495,3737145,3731122,3734851,3736644,3700551,3702014,676022,3736428,1705937,3788313,3796548,3802000,3780442,3685206,3713513,3706734,3708378,1706028,3795890,3779902,3706307,1678176,3579179,5136563,5144183,964706,962699],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":95,"name":[0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[-1,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"cargo","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700674.1","processName":"cargo","processShutdownTime":116605196.597897,"processStartupTime":116605175.819968,"processType":"default","registerTime":116605175.819968,"resourceTable":{"length":2,"lib":[1,0],"name":[1,3],"host":[null,null],"type":[1,1]},"samples":{"length":31,"stack":[0,12,19,26,28,35,38,40,44,50,51,57,60,26,61,65,66,68,69,70,92,94,103,107,112,112,112,112,112,112,113],"time":[116605175.857458,116605178.618369,116605181.372471,116605182.087683,116605182.169262,116605182.256182,116605182.46171,116605182.934015,116605183.596309,116605184.344032,116605185.014626,116605186.139387,116605186.26208,116605186.382726,116605186.608832,116605187.039143,116605187.719507,116605188.528322,116605189.368723,116605190.279093,116605191.238413,116605192.298201,116605193.431922,116605194.498359,116605195.503392,116605195.509401,116605195.512752,116605195.515921,116605195.519054,116605195.531888,116605195.942755],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,2760,2593,715,81,86,205,472,662,747,659,1124,122,120,226,430,680,808,840,910,959,1059,1133,1066,932,6,3,3,3,12,410]},"stackTable":{"length":114,"prefix":[null,null,1,2,3,4,5,6,7,8,9,10,11,8,13,14,15,16,17,18,16,20,21,22,23,24,25,21,27,16,29,30,31,32,33,34,20,36,37,16,39,23,41,42,43,21,45,46,47,48,49,36,16,52,53,54,55,56,54,58,59,41,20,62,63,64,52,null,67,54,59,14,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,83,93,13,95,96,97,98,99,100,101,102,95,104,105,106,6,108,109,110,111,null],"frame":[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,26,27,28,29,30,31,32,33,34,26,35,23,36,37,38,39,40,41,42,43,44,32,33,45,46,47,48,49,50,51,52,53,54,55,56,57,58,39,40,59,60,61,26,62,63,64,65,66,67,68,66,67,68,66,67,68,66,67,68,66,69,70,67,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,94],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["0x76effd8eb08b","cargo","0xe8c26","libc.so.6","0x29e3f","0x29d8f","0xeb803","0xe8cf2","0xeafb0","0x3696e1","0x370019","0x39b3ba","0x3820d9","0x4e070e","0x1147e2","0x39b3fe","0x39bb60","0x3823f0","0x38c016","0x392f56","0x524a07","0x1a07cb","0x3938c9","0x525f19","0x521451","0x52269a","0x5229cc","0xa5261","0xa48b0","0x521a3a","0x1a08ca","0x392b48","0x524f1b","0x28b3de","0x31e64a","0xa5908","0xa4b89","0x525fd3","0x5229ee","0x392ed0","0x1a096e","0x522a18","0x523324","0x52356a","0x33fb78","0x521a18","0x532d59","0xa4bca","0x1a0aca","0x5226be","0x392d7c","0x523d18","0x5292d3","0x530c12","0xa5452","0xa2709","0x52f409","0x527660","0x52886f","0x523320","0x526010","0x52351c","0x523fd9","0x611f0952a46f","0x52f2ef","0x5286b3","0x3828be","0x38d0df","0x38e8fa","0x38f027","0x390639","0x38eeb2","0x38fd43","0x390444","0x387747","0x387cfe","0xa50b6","0x39036c","0x1a07d1","0x39ce19","0x39ee44","0x3a0390","0x39af5a","0x383b56","0x38a9e9","0x388f6e","0x3895da","0x1a082c","0x39ebb2","0x39ad3e","0x388dc3","0x199b60","0x369d2b","0x4e60b3","0x4e7e77","0xeb862","0xeb08b"],"tid":"700674.1","unregisterTime":116605196.597897},{"frameTable":{"length":370,"address":[6172712,171583,171407,6961188,24789293,6390936,6318722,6891257,6960008,18228651,18275296,24914034,18274897,18699523,18771153,21111941,21108987,21108630,20823295,19985743,19987265,19991662,19987612,21146857,21146229,20168701,20174175,20184257,20186889,20233120,19986863,19998837,19999254,19998622,19999610,6891289,6934036,6756041,13416507,13417214,13093754,15464741,15467314,13759878,15502080,15478939,9410720,10807483,11805301,10556977,24435370,24296413,24254492,676449,674012,669176,665029,1157363,1157163,15479242,12644432,14873241,7467257,15392955,1678736,15502397,15513626,15423342,12748670,12785594,11042784,12622957,12593422,14220139,14216945,14157073,14141548,14157674,14158474,22912694,25070807,12755374,12785321,14156946,15563740,14220538,12822244,12526071,9518208,11513563,14156737,14153608,10701076,7543815,14153525,14143273,24807926,24829710,1132514,10701054,10456828,14160794,9526200,1678180,7543730,10456483,11513921,7543347,676272,14151530,24488615,24476204,24476725,15425997,7504141,673968,15514285,12469939,14785128,12438154,14944813,21361942,21404387,21642830,21579623,21582182,21516333,1205481,15502705,15480734,13646019,15495302,13649084,25011850,25060274,24232155,676946,665248,13761948,14156947,12787445,10474772,12525409,12774415,7524593,1678717,15427633,10709879,10461456,10164555,10164744,11513461,15433980,12664686,10463163,11513796,13762848,15370014,15372001,12512714,14220822,14218513,14209891,14052403,13396235,15645529,9306853,15643514,11707003,24422154,24298549,24421746,24310326,24297939,24291685,24257001,672428,15652541,15732920,15747707,9306869,10383615,10243123,9099373,9716694,10409949,15640939,24296615,24291333,24256972,678152,674697,13396236,24435161,25019005,9099847,10355352,9640020,10585860,9351775,11084923,9803915,11027939,11173574,9722327,11484118,9222159,11484194,676065,15651595,15665777,15693118,11579783,676396,10556323,24425005,24331648,24322290,24326145,24359520,24282072,24300691,24291806,24424724,24431926,24308707,24321917,13396845,12488165,10556947,1705937,15640763,1706340,14218358,14125042,14093753,666912,24298668,1706363,24359590,24331520,24293764,15734347,10960538,1706018,9307753,10381471,10198828,9327665,10386831,10295668,10126740,9398771,9514100,9399291,10558851,24439703,24252681,24425707,24442912,15370865,12469963,15356435,10626468,21675193,21605423,21608381,21420747,21419930,21543705,21516206,15471689,15238226,12268211,12269287,12268604,12277323,12284766,12286213,12690038,7463057,10477006,12820778,11513720,15475170,8261966,10980828,8220616,15465259,15168793,15187377,11907323,11851547,7506639,8987767,7901763,15169224,15259419,15198870,12034298,12032485,12032735,14883661,12040883,12003803,22983410,22981843,24876565,24900956,1130558,15265796,15260579,11958512,11993917,11966269,11967409,11978594,11838698,7860855,15265942,665389,15169527,15208520,14843423,10724715,7652223,15214890,12168238,12117981,10592364,10592437,666818,594523,10620403,10592460,10594026,15214901,8161100,23075660,24913162,1173645,15215014,7935920,15173907,12207439,12205701,12206257,10942868,24844772,24842167,15465272,8255260,8217652,8022739,8240217,8240014,8268838,8269460,677017,1174139,15465285,8255868,8256066,8223974,8025787,7982183,8276241,8185762,8184541,665403],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":370,"name":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"cargo","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700674.2","processName":"cargo","processShutdownTime":116622132.982161,"processStartupTime":116605196.597897,"processType":"default","registerTime":116605196.597897,"resourceTable":{"length":2,"lib":[2,0],"name":[0,2],"host":[null,null],"type":[1,1]},"samples":{"length":75,"stack":[31,38,62,71,87,105,115,116,120,122,120,137,140,142,147,156,169,179,190,193,197,205,209,220,241,244,252,263,278,286,298,298,298,298,298,300,305,319,324,327,332,348,350,352,362,365,379,388,391,406,409,411,424,438,449,457,465,478,490,512,517,536,544,549,549,549,554,554,554,554,554,556,563,573,586],"time":[116605199.951964,116605202.935332,116605205.214203,116605207.070161,116605208.729994,116605210.171994,116605210.93901,116605211.706874,116605212.54738,116605213.520116,116605214.63707,116605215.653277,116605216.574077,116605217.442908,116605218.318017,116605219.223281,116605220.183016,116605254.736086,116605257.106089,116605258.815916,116605260.238555,116605261.461971,116605262.510733,116605263.512813,116605264.438711,116605265.291885,116605266.108662,116605266.875684,116605267.603144,116605268.317969,116605268.515587,116605268.522724,116605268.527633,116605268.532561,116605268.537449,116605268.546362,116605268.68044,116605269.534662,116605270.209792,116605270.914554,116605271.608777,116605272.302414,116605273.047737,116605273.893304,116605274.759143,116605275.652663,116605276.605422,116605277.556303,116605278.50099,116605279.476468,116605280.43687,116605281.406505,116605289.091753,116605305.190264,116605307.185031,116605308.703235,116605309.916478,116605310.996931,116605311.913235,116605312.752165,116605313.547798,116605313.886085,116605314.017589,116605314.03459,116605314.062601,116605314.266934,116605314.774024,116605314.780136,116605314.784484,116605314.788539,116605314.792882,116605314.803327,116605315.006826,116605315.707689,116605317.413885],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,2983,2278,1855,1659,1416,767,767,840,972,1116,1016,920,868,875,905,959,3392,2370,1709,1422,1223,1048,1002,925,853,816,767,727,714,166,7,4,4,4,8,134,843,675,704,694,693,745,845,865,893,952,950,944,975,960,969,1022,2517,1994,1518,1213,1080,916,838,795,272,131,17,28,204,396,6,4,4,4,10,203,652,1706]},"stackTable":{"length":587,"prefix":[null,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,26,27,28,29,30,19,32,33,34,35,36,37,null,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,null,63,64,65,66,67,68,69,70,null,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,null,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,92,106,107,108,109,110,111,112,113,114,112,112,117,118,119,113,121,null,123,124,125,126,127,128,129,130,131,132,133,134,135,136,114,138,139,114,141,98,143,144,145,146,null,148,149,150,151,152,153,154,155,47,157,158,159,160,161,162,163,164,165,166,167,168,47,170,171,172,173,174,175,176,177,178,63,180,181,182,183,184,185,186,187,188,189,183,191,192,183,194,195,196,46,198,199,200,201,202,203,204,199,206,207,208,null,210,211,212,213,214,215,216,217,218,219,63,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,218,242,243,null,245,246,247,248,249,250,251,229,253,254,255,256,257,258,259,260,261,262,null,264,265,266,267,268,269,270,271,272,273,274,275,276,277,255,279,280,281,282,283,284,285,249,287,288,289,290,291,292,293,294,295,296,297,296,299,218,301,302,303,304,null,306,307,308,309,310,311,312,313,314,315,316,317,318,232,320,321,322,323,259,325,326,254,328,329,330,331,null,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,254,349,229,351,46,353,354,355,356,357,358,359,360,361,233,363,364,null,366,367,368,369,370,371,372,373,374,375,376,377,378,218,380,381,382,383,384,385,386,387,242,389,390,null,392,393,394,395,396,397,398,399,400,401,402,403,404,405,254,407,408,328,410,353,412,413,414,415,416,417,418,419,420,421,422,423,45,425,426,427,428,429,430,431,432,433,434,435,436,437,6,439,440,441,442,443,444,445,446,447,448,444,450,451,452,453,454,455,456,450,458,459,460,461,462,463,464,44,466,467,468,469,470,471,472,473,474,475,476,477,467,479,480,481,482,483,484,485,486,487,488,489,null,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,450,513,514,515,516,null,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,466,537,538,539,540,541,542,543,541,545,546,547,548,513,550,551,552,553,513,555,450,557,558,559,560,561,562,444,564,565,566,567,568,569,570,571,572,444,574,575,576,577,578,579,580,581,582,583,584,585],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,20,21,22,23,24,25,26,27,28,29,30,31,32,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,42,43,44,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,43,65,66,67,81,82,70,71,72,73,74,83,84,85,86,87,88,89,69,70,71,72,73,74,90,91,92,93,94,95,96,97,98,99,100,66,67,81,69,70,71,72,73,74,75,76,77,101,102,103,104,105,106,107,108,90,109,110,111,112,41,42,43,65,66,113,114,53,115,65,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,66,67,81,69,70,71,72,73,74,139,140,141,142,143,144,63,145,138,66,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,156,157,158,159,160,161,162,163,164,167,168,169,170,171,172,169,173,174,175,53,176,177,178,179,164,165,180,181,182,183,184,185,186,48,49,50,187,188,174,189,190,191,115,37,38,39,40,41,42,156,157,158,159,160,161,162,163,192,193,194,53,54,55,56,57,58,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,161,162,163,164,186,48,214,215,216,217,218,219,220,221,173,222,175,53,115,175,53,115,214,223,224,225,226,39,40,41,42,156,157,158,159,160,161,162,163,227,228,53,115,229,230,231,232,156,157,158,159,160,233,234,235,136,236,169,237,238,159,160,161,162,163,164,186,48,214,215,216,217,218,239,186,48,214,215,240,241,175,53,115,242,243,244,165,245,246,247,248,249,250,251,252,253,251,252,253,251,254,255,256,257,258,259,260,261,262,263,121,122,264,265,266,267,268,269,270,271,272,273,274,274,275,276,277,278,279,280,281,282,283,35,36,37,38,39,40,41,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,299,301,302,288,296,297,298,299,300,303,304,305,306,307,308,309,310,310,310,310,311,312,313,314,315,316,317,318,2,3,4,5,6,35,36,37,38,39,40,288,296,310,310,310,310,310,310,319,136,320,321,322,323,324,325,4,5,6,35,36,37,38,39,40,288,321,326,327,328,329,330,136,331,332,321,326,327,328,329,333,136,320,334,335,307,308,309,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,365,366,367,368,136,369],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["cargo","0x5e3028","libc.so.6","0x29e3f","0x29d8f","0x6a3824","0x17a412d","0x618498","0x606a82","0x6926f9","0x6a3388","0x11625ab","0x116dbe0","0x17c2872","0x116da51","0x11d5503","0x11e6cd1","0x1422485","0x14218fb","0x1421796","0x13dbcff","0x130f54f","0x130fb41","0x1310c6e","0x130fc9c","0x142ace9","0x142aa75","0x133bffd","0x133d55f","0x133fcc1","0x1340709","0x134bba0","0x130f9af","0x1312875","0x1312a16","0x131279e","0x1312b7a","0x692719","0x69ce14","0x6716c9","0xccb83b","0xccbafe","0xc7cb7a","0xebf925","0xec0332","0xd1f586","0xec8b00","0xec309b","0x8f98a0","0xa4e8bb","0xb42275","0xa11631","0x174daaa","0x172bbdd","0x172181c","0xa5261","0xa48dc","0xa35f8","0xa25c5","0x11a8f3","0x11a82b","0xec31ca","0xc0f050","0xe2f299","0x71f0f9","0xeae0bb","0x199d90","0xec8c3d","0xecb81a","0xeb576e","0xc2877e","0xc317ba","0xa87fe0","0xc09c6d","0xc0290e","0xd8fb6b","0xd8eef1","0xd80511","0xd7c86c","0xd8076a","0xd80a8a","0x15d9eb6","0x17e8cd7","0xc2a1ae","0xc316a9","0xd80492","0xed7bdc","0xd8fcfa","0xc3a6e4","0xbf21f7","0x913c80","0xafaedb","0xd803c1","0xd7f788","0xa34914","0x731c07","0xd7f735","0xd7cf29","0x17a89f6","0x17adf0e","0x1147e2","0xa348fe","0x9f8efc","0xd8139a","0x915bb8","0x199b64","0x731bb2","0x9f8da3","0xafb041","0x731a33","0xa51b0","0xd7ef6a","0x175aaa7","0x1757a2c","0x1757c35","0xeb61cd","0x72810d","0xa48b0","0xecbaad","0xbe46b3","0xe19a68","0xbdca8a","0xe40a2d","0x145f516","0x1469ae3","0x14a3e4e","0x1494767","0x1495166","0x148502d","0x1264e9","0xec8d71","0xec379e","0xd038c3","0xec7086","0xd044bc","0x17da68a","0x17e63b2","0x171c0db","0xa5452","0xa26a0","0xd1fd9c","0xd80493","0xc31ef5","0x9fd514","0xbf1f61","0xc2ec0f","0x72d0f1","0x199d7d","0xeb6831","0xa36b77","0x9fa110","0x9b194b","0x9b1a08","0xafae75","0xeb80fc","0xc13f6e","0x9fa7bb","0xafafc4","0xd20120","0xea871e","0xea8ee1","0xbeedca","0xd8fe16","0xd8f511","0xd8d363","0xd66c33","0xcc690b","0xeebb59","0x8e02e5","0xeeb37a","0xb2a27b","0x174a70a","0x172c435","0x174a572","0x172f236","0x172c1d3","0x172a965","0x17221e9","0xa42ac","0xeed6bd","0xf010b8","0xf04a7b","0x8e02f5","0x9e70ff","0x9c4c33","0x8ad86d","0x9443d6","0x9ed7dd","0xeea96b","0x172bca7","0x172a805","0x17221cc","0xa5908","0xa4b89","0xcc690c","0x174d9d9","0x17dc27d","0x8ada47","0x9e0298","0x931854","0xa18704","0x8eb25f","0xa9247b","0x95988b","0xa845e3","0xaa7ec6","0x9459d7","0xaf3bd6","0x8cb80f","0xaf3c22","0xa50e1","0xeed30b","0xef0a71","0xef753e","0xb0b187","0xa522c","0xa113a3","0x174b22d","0x1734580","0x17320f2","0x1733001","0x173b260","0x17283d8","0x172cc93","0x172a9de","0x174b114","0x174cd36","0x172ebe3","0x1731f7d","0xcc6b6d","0xbe8de5","0xa11613","0x1a07d1","0xeea8bb","0x1a0964","0xd8f476","0xd787f2","0xd70db9","0xa2d20","0x172c4ac","0x1a097b","0x173b2a6","0x1734500","0x172b184","0xf0164b","0xa73e9a","0x1a0822","0x8e0669","0x9e689f","0x9b9f2c","0x8e5431","0x9e7d8f","0x9d1974","0x9a8594","0x8f69f3","0x912c74","0x8f6bfb","0xa11d83","0x174eb97","0x1721109","0x174b4eb","0x174f820","0xea8a71","0xbe46cb","0xea5213","0xa225a4","0x14abcb9","0x149ac2f","0x149b7bd","0x146dacb","0x146d79a","0x148bb19","0x1484fae","0xec1449","0xe88452","0xbb32b3","0xbb36e7","0xbb343c","0xbb564b","0xbb735e","0xbb7905","0xc1a276","0x71e091","0x9fddce","0xc3a12a","0xafaf78","0xec21e2","0x7e114e","0xa78ddc","0x7d6fc8","0xebfb2b","0xe77519","0xe7bdb1","0xb5b0fb","0xb4d71b","0x728acf","0x892477","0x789243","0xe776c8","0xe8d71b","0xe7ea96","0xb7a0fa","0xb799e5","0xb79adf","0xe31b4d","0xb7bab3","0xb729db","0x15eb2f2","0x15eacd3","0x17b9615","0x17bf55c","0x11403e","0xe8f004","0xe8dba3","0xb678f0","0xb7033d","0xb6973d","0xb69bb1","0xb6c762","0xb4a4ea","0x77f277","0xe8f096","0xa272d","0xe777f7","0xe81048","0xe27e1f","0xa3a56b","0x74c37f","0xe8292a","0xb9ac2e","0xb8e7dd","0xa1a06c","0xa1a0b5","0xa2cc2","0x9125b","0xa20df3","0xa1a0cc","0xa1a6ea","0xe82935","0x7c874c","0x1601b4c","0x17c250a","0x11e88d","0xe829a6","0x7917b0","0xe78913","0xba454f","0xba3e85","0xba40b1","0xa6f994","0x17b19e4","0x17b0fb7","0xebfb38","0x7df71c","0x7d6434","0x7a6ad3","0x7dbc59","0x7dbb8e","0x7e2c26","0x7e2e94","0xa5499","0x11ea7b","0xebfb45","0x7df97c","0x7dfa42","0x7d7ce6","0x7a76bb","0x79cc67","0x7e4911","0x7ce7a2","0x7ce2dd","0xa273b"],"tid":"700674.2","unregisterTime":116622132.982161},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700676>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700674.2","processName":"cargo","processShutdownTime":116622132.982161,"processStartupTime":116605196.597897,"processType":"default","registerTime":116605313.685292,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700676","unregisterTime":116605314.754055},{"frameTable":{"length":0,"address":[],"inlineDepth":[],"category":[],"subcategory":[],"func":[],"nativeSymbol":[],"innerWindowID":[],"implementation":[],"line":[],"column":[],"optimizations":[]},"funcTable":{"length":0,"name":[],"isJS":[],"relevantForJS":[],"resource":[],"fileName":[],"lineNumber":[],"columnNumber":[]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"cargo","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677","processName":"cargo","processShutdownTime":116605319.240631,"processStartupTime":116605318.842038,"processType":"default","registerTime":116605318.842038,"resourceTable":{"length":0,"lib":[],"name":[],"host":[],"type":[]},"samples":{"length":0,"stack":[],"time":[],"weight":[],"weightType":"samples","threadCPUDelta":[]},"stackTable":{"length":0,"prefix":[],"frame":[],"category":[],"subcategory":[]},"stringArray":[],"tid":"700677","unregisterTime":116605319.240631},{"frameTable":{"length":1706,"address":[176276,171583,171407,1786214,267218,1780016,1697350,1706698,1697379,1383764,195196,532224,531228,1368664,184787,1327969,3014596,3016537,3045879,3047373,3156480,2864443,-1,674778,673968,190780,3251890,3258235,3046150,3055208,3114225,3118653,2862102,531631,1070165,2876835,3118534,2862093,532462,1384890,1706186,3118684,3054255,3107294,3051739,3085915,3143276,3143223,3050470,3067284,3118839,2864227,533277,3385496,3386741,3493043,678152,674697,-1,668235,3046114,533794,1367842,1368988,158863,3049832,3061897,3118414,3123945,3095782,3142094,3016124,2862349,3124214,3097067,3137623,3053135,3107385,3384929,152777,3386551,3141427,2861509,2866946,184995,530120,2803852,3115286,2861392,2862145,2863244,3016367,3079183,3063314,3153913,2866429,3082170,2862193,3068341,3076391,3117916,533802,3077358,1384864,674012,669176,665029,1157363,1157163,3018101,3079940,3143294,3052268,3095878,3256550,2863301,531980,2856981,1971730,3016753,-1,3137800,3063009,3384176,3153780,3076027,3048422,3062769,3065464,3156932,3082333,3050807,2877914,3076596,3156843,2803708,3172424,3076952,3047558,3075531,2861413,2864169,531998,3052879,3138089,3049596,3098374,3047187,1705937,2855717,2863140,3077669,3143272,3079053,3061901,1383812,674762,2866421,531674,3108355,3063050,2861361,3156542,3137847,3121339,671643,3045998,3050981,3123997,3172808,2857832,1971782,3108529,152420,676449,532338,3138800,2864156,2864308,2864381,3067386,3051601,3067450,3153921,3075411,3142708,3121179,3076796,3156517,3069261,3095975,530039,3016462,2866425,3016162,3119675,3050861,3048384,3118383,3062822,-1,3138534,2864159,3047047,3097015,3141758,3089840,1971847,2861369,3048486,3055989,3137989,3051483,3085926,3095686,3134650,3134753,3114167,2804539,2804690,3076528,3171002,3386342,3374208,3075968,531681,3143290,3052218,3095480,3052071,533865,3120632,2862201,530853,2876817,3048404,3256835,3047489,2861316,1698546,1452608,264627,581504,1954143,1453079,1453919,257892,1449867,258562,1954242,1430900,1460581,582935,266892,1411248,257900,1460789,259338,580712,1791904,1430833,1706081,258932,1411292,1705990,264731,1791910,1698627,588698,1706865,1698998,337989,1385475,1385394,1385468,338005,676946,667295,661650,661574,661864,661321,661786,661327,661349,1699297,3048984,3143183,3154905,3140437,3257139,3384312,3386319,3374487,3097379,2865798,2862397,3136816,1330989,3107875,3118272,3156898,3065416,2866432,3143216,2863229,2864251,3156512,3048568,3053796,3101647,3097436,3062880,671480,3085500,3018324,3052739,1368860,3045850,3095577,3141766,673378,3156958,2861613,2861641,3156468,3141392,1330042,3090285,3256215,3061196,3060756,184819,2865664,3114379,531921,3153900,3054053,3054205,3123878,2861560,185057,3057198,2861534,3014730,3076604,1367556,3155563,2803983,1069632,3137646,3046254,2804408,3118288,2864095,3107833,2861349,3087814,3085752,3118736,3156481,3056783,3385195,3048523,3142160,3154144,3050224,3052829,2866320,2863276,3049620,3118705,1384745,1706053,1327812,2863268,3050162,3065521,2861296,3143253,3137654,3134665,3016130,3120597,2864259,3090277,3117817,534046,3140489,3141458,2864838,3134644,2866118,3256643,1700880,1443967,376804,376894,1447038,3395933,3397085,1706359,1444303,1438024,1444217,3397607,1700961,591509,1707463,591649,1706920,1701670,332910,665265,1385343,337742,676855,665691,1701909,661746,661666,661750,1705255,524959,1086029,525719,524590,1363832,183678,1337098,3085647,3090262,1705213,909505,3069388,3156864,910786,3123933,3078812,3157307,3138335,2864385,3016679,3097709,525406,2856470,1971860,1362987,3118191,3096932,3049791,3136836,526681,153003,665610,3118519,3051111,3071975,3082063,3056817,2861442,2866341,3142672,3095472,910575,3045792,3138098,3143218,523484,576285,222926,2857838,524256,3051505,183915,527250,3048249,3385514,665802,3088122,3141863,3096532,3078989,3046306,3016581,3120549,3138104,3134592,3077435,3384185,672175,3121379,3061913,2867173,3047497,3155932,3259025,3077451,2861468,1364159,677944,3050820,3135086,3053051,1971842,2861430,2864267,3097748,525569,2855904,3075759,1971814,3016723,527398,3095484,1705466,3050333,3085633,3051488,3256635,3077366,524968,2863311,3138300,3048560,152349,3384065,2864243,525929,1706295,1705754,1631497,1589648,210577,1570186,3052891,3052133,2863260,3052274,3095733,3124464,3056811,3057360,3053287,3079958,3142740,3082055,3156127,3140468,3016734,3258157,3137954,3050309,3156674,3062707,3016957,3047214,2864801,2866135,3016699,3118723,3050941,3138410,3139756,3118971,3139376,210739,3016691,3157397,3076667,3096464,3079617,3067253,3053157,3156910,3089888,2864420,3156822,3075620,2864388,3049436,3114371,3096484,3089743,3076441,3054523,3097063,2865781,3156923,3115351,3153934,3114844,3138064,3069264,3097316,2862071,3121150,3063543,3137311,3154044,3087996,2863308,3078878,2866383,3118710,2864352,2864235,3137836,2866415,3156647,3097079,3108330,2864304,2865769,3154007,2864810,2864317,3142045,3101614,3256985,3268267,3053739,3156851,3075942,3063394,3082364,3065427,3079142,3143180,3018109,3079646,3075846,2862249,2863320,3077540,3045812,3063334,3087753,3052101,2866903,3079567,2864869,3049540,3107554,3115491,3071965,3048901,3076399,3096266,3123886,3060652,3079822,3066965,3068224,2864358,3123860,3156128,3097772,2861588,3090178,2864820,3051496,3087860,3085864,3061972,3067292,3095983,910647,3078846,3139460,3138557,3095581,3097664,2865772,3075976,2864103,3118891,3090133,3047369,3259077,3016408,2861357,3087745,3140936,3075407,3053746,3140100,2867085,3060864,3016548,3153983,2863284,3087822,3046175,3141727,3139418,3076945,3076801,2864049,3136857,3136848,3077694,3137292,3140441,2861405,3074590,3060672,3047356,3050869,3139468,3053789,3095519,3069363,3095636,3089925,3052986,2863541,3087966,3016573,3139384,3095687,2861584,3098018,3068175,2862296,3117951,3016064,3074680,3056806,3055006,3154844,3118514,3117756,3114367,3050957,3077689,3050175,2862074,3079080,2864427,2861305,2865789,3061904,3076633,3153760,3046171,3124223,3138140,3050293,3139687,3139760,3079951,3258347,3069460,3046110,3061750,3076023,3095682,2861774,3124678,3134562,3078952,3121187,3137761,3048997,3134707,3048906,3096680,3124013,3082395,3076699,3257153,3074648,3135185,3258695,3155424,3048946,3153947,3088030,3089991,2866388,3137999,3049094,3107390,3052677,3138124,909805,3140054,2864127,3077379,2866455,3051107,3143329,3138341,3258954,3137095,3137816,2866973,3018133,3078797,3142106,3047312,3155545,3134560,3067344,2862381,3016441,3124427,3082048,3124125,3121247,2863252,3056786,3048993,2864593,2865792,2865778,3049833,2866200,3097950,3062738,3096636,3079469,3118264,3153807,3085305,2863224,2866951,3124021,3050686,3050936,3075573,3075782,3053098,3052200,3114096,3076488,3057309,3142776,3106992,3138411,3155166,3258698,3079718,3062796,3074559,3079768,3085550,3052211,3089791,3118685,3138028,3137261,3053337,3098617,3075752,3096222,3096142,3069691,3052994,3047577,3115250,3078804,3048430,3118312,2865775,3047643,3119711,2861510,2862340,3136861,2861497,3052798,3061818,2867157,3016382,3156877,3088028,3066724,3141327,3118196,3047152,3154748,3061006,2866301,3115480,3054675,3095515,3097292,3076731,3076047,3134673,3118638,3139738,3079374,3061699,3079019,3096984,3049697,3016563,3259042,3079845,3096022,3074620,1570388,3155549,3142140,3135119,3069120,3101609,3124136,3095695,3095616,2861438,3138502,3156137,3082242,3050626,2864592,3118690,3085597,3120577,3140032,3134686,3069744,2866344,3077706,3085217,3069073,3017030,3118204,3090021,3075891,3097940,3051545,3085455,3114886,3066704,3124383,3154202,3076551,3045862,3050184,3048305,3137236,2861728,3079051,1570638,3156548,3068203,3117856,3098053,3062939,3060926,3016994,3118005,3068939,3047332,3138135,3075344,3063032,3089847,3256567,3052885,3050216,2864825,3137299,3048477,3089694,2864444,3016084,909963,3048276,3087738,3095511,2866163,3141753,3060884,3077353,3069110,3157396,3136864,3114215,2861397,3087896,2866437,3088056,3046156,3053213,3065526,3085845,3137921,3052192,3137843,3119697,3052944,3053583,2867408,2866396,3142780,3107442,3108518,2861696,3049842,1570213,3016125,3056738,3118236,3095778,3046038,3079517,3063597,3082272,3047144,3108429,3068222,3108442,3053599,3141428,3268435,3156827,3143228,3069791,3141401,3140405,3016671,3079420,2866123,3138319,3095492,3087787,3085257,3088087,3097161,2863127,2862032,3095834,3061855,2866402,3139743,3138180,3052066,3079111,3115385,3137318,3256881,3050157,2865760,3076385,3016480,3069298,3050812,3097654,3156132,3068979,3079668,3118700,3118402,3049077,3085354,3050458,3121351,3049689,3069327,2866357,3090234,3120524,3155607,3062054,3053594,3050167,3052280,2861526,3156448,3137312,3050530,2866498,3155211,2861422,3123840,2862171,3256512,3046182,2866490,3085933,2864416,3065517,3107097,2866327,3049480,2867171,3069855,3140904,3114661,3085767,3089936,3125142,3119667,3118774,3153995,3268569,3017505,3069902,3056697,3082304,3082097,3125104,3065574,3057083,3134618,3016158,3140481,3140871,3065489,2861735,3135151,3099137,3139648,3076968,3053124,3120537,2865784,2861303,3072008,3156680,3065565,3048682,2863117,3137884,3046213,3118328,2866409,3142078,3139764,3137930,3140417,3063012,3154226,3155405,3258252,3268380,3052707,3096438,3137692,3053091,3137642,2862188,3139413,3079233,3068958,3048492,3099149,3082132,3117728,3124077,3138397,3065497,2866895,3156984,3096872,3156812,3138390,3138174,3016358,3090182,3140414,3077414,3046164,3125112,3097977,3138547,3138076,3156553,3077407,3051537,3053189,3154803,3054949,3155136,3095495,3155432,3256580,3052880,3048965,2864612,3063407,3095938,3016627,3154771,3090034,3046115,3258710,3137725,3057047,3095858,2861489,3065448,3258276,3087934,2866160,3155904,3045847,3088127,3137091,3078913,3016088,3055158,3155940,3097677,3097092,3048976,3140447,3085809,2862324,3139557,3082437,3139692,3068217,3097842,3118575,1570192,3268585,3138381,2861617,3114234,3082310,3051478,3114248,3121295,3054553,3157252,3138206,3048920,3045870,-1,3061874,3139719,2861638,2866416,3076761,909793,3048942,3016795,3054174,2862205,3068180,3085403,3068284,3141459,3117925,2861631,3067446,3048333,3156953,3052093,3085586,3140432,3079889,3117876,3096429,3049681,3061211,3156130,1591560,204249,3156063,3118824,3085898,3097074,3258465,3089880,3140948,3095996,3139711,2861502,3016788,909602,3052939,3052755,3085515,3097097,3051051,3123925,2864865,3060790,3259071,3047217,3095917,1570598,3154036,3069839,3155893,3118840,3138067,3114288,3154906,3090085,3077459,3157399,3089978,3095870,3063289,2867165,2866367,3050837,3076788,3048633,3268553,3124061,3137944,3098621,2867473,3154929,3259002,3142692,3142122,3139488,3055196,3142055,3107325,3046277,3049074,3118384,3155282,3063508,3046161,3051702,3052158,3057035,3107377,3154177,3048961,3139749,3097888,3069128,3139645,3142151,3108294,3052806,3138331,3114272,3138328,3068228,3049013,2861417,3052149,3054634,3079277,3124499,3139768,3066866,3077639,3049490,3052084,3143158,3140477,3077475,2861346,3140104,3134789,3139676,3107253,3095846,2861596,1570325,3141779,3075364,3099195,2866207,3268240,3070369,3138224,3060659,3069896,3259110,3143195,910583,3065572,3114327,3068236,3082206,3107012,3268451,3114314,3120604,3117954,2865683,3048469,3050829,3074660,909588,3155279,3139663,2866942,3079325,3268623,3095488,3063320,3054131,3119683,3095582,3016467,3098028,3085721,3124117,3077665,3154955,2864348,2866167,3049460,3096247,3056743,3155662,3139505,3079901,3049883,3069145,3016951,1570277,3055084,3095950,2861624,3118013,2866400,3135160,3108258,3054610,3138374,3047529,3118368,3258300,3077699,3089963,3077630,3055920,3155900,3142761,3124053,2866891,2861621,3134733,3018318,3054983,3016543,3075412,3140018,3055807,3085702,3107842,2866176,3077526,3139441,3154194,3054618,3050618,3110246,3139999,3065461,1570381,3063331,3052690,3066968,3155401,3017020,3063594,3063487,3047005,909430,3124233,3069755,3259096,3016517,3097113,3142724,3095725,3095584,3052764,3063463,3095522,3048949,3156988,3060664,3050429,3118415,3057019,3096421,3052182,3095906,3055940,3114708,3097242,3055101,3063784,3101643,3134754,3134683,3062725,3077618,3108579,3118376,3121303,3118654,3085713,3095793,3046186,3088167,2866285,3054091,3155936,3062851,2862047,3124215,3049852,3143199,2867459,3114827,3054725,3110688,1570400,3053256,3016377,2862225,3069077,3107887,2867478,3157342,3099074,3060693,3134703,3069090,3125160,3067266,3097279,3258216,3097068,3114426,3141464,3157311,3140035,3050672,2865714,3118894,3053802,3137897,3016903,3054148,3114309,3142086,3098532,3099145,2861459,3123989,3137258,3089799,3268487,3016998,3098512,3052261,3114151,3088068,2865763,3085783,3054164,3050192,3055694,3053632,3069382,3138151,3079754,3053043,3155692,3108387,3258316,1570289,3052858,3119627,3096033,3063356,2861334,3259055,3097685,3045885,3097922,3090092,3137269,3053197,3107303,3155252,3057054,3047025,3089982,3095854,2866376,3047361,3134680,3115319,3050556,3155466,909917,3048958,3087734,3138168,3156940,3060799,3089669,3060888,3139404,3076973,3118466,3049858,3256532,2861388,3140070,3110709,3063538,3049084,3085893,3065413,3052970,3096544,3082034,3049795,2866192,3076558,3121251,3118543,3051099,3056798,3156962,3054239,3115588,3140368,3085200,3153783,3046151,3121156,3067456,3079625,3047130,3047179,3016879,3137613,3046198,3063917,3079649,1638141,2043024,2044292,677985,1640709,2034962,2023152,2025482,1650092,2140824,2566601,2477034,154965,1132735,2140963,2569696,2569783,2382567,229122,484524,2575389,2476905,3828941,1131956,2381199,2382545,58240,2381155,484488,2382590,2382607,2158343,2673081,2381167,2381184,2381302,2158388,2579787,2381004,2382611,1781186,1734363,2754484,3366105,165505,2784173,2786377,2790724,2800864,2809255,2772081,3216340,3126554,3111060,1784971,344286,665419,1385467,665550,666029,661264],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":1706,"name":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"read_many_struc","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116605319.240631,"resourceTable":{"length":3,"lib":[3,0,4],"name":[0,2,1665],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":15920,"stack":[7,21,24,32,37,40,49,53,57,59,66,68,70,71,79,85,87,91,93,96,97,98,101,104,107,109,111,115,117,118,120,123,125,127,129,130,134,136,137,139,140,141,151,66,152,37,155,157,66,159,161,164,166,168,170,174,175,176,179,66,181,182,183,185,187,190,191,193,194,195,66,196,199,202,204,206,207,208,210,212,214,218,219,222,223,224,225,226,227,228,229,231,232,234,235,236,242,245,247,248,37,249,250,254,259,260,261,262,263,264,266,267,270,271,275,276,279,280,281,282,283,285,287,288,289,290,291,292,293,294,295,298,300,303,304,306,307,308,291,309,310,117,66,311,312,314,315,316,125,91,317,318,319,320,321,323,324,326,327,328,330,59,207,331,335,336,337,339,340,342,344,345,346,347,348,170,350,352,353,354,355,356,359,360,362,365,367,359,368,214,371,372,375,376,379,380,356,381,382,383,85,385,386,387,388,390,391,393,394,395,229,397,399,66,328,401,402,403,404,70,270,405,406,407,408,410,412,413,415,330,416,418,419,424,427,428,436,441,442,443,448,450,451,454,459,463,466,469,470,471,470,475,476,478,480,481,493,502,510,515,518,521,525,526,530,533,540,542,547,555,557,562,563,564,567,568,570,572,574,575,579,581,584,586,589,591,592,594,597,598,600,602,604,606,608,611,613,615,618,624,626,629,631,632,633,640,641,644,647,648,649,651,652,653,654,656,658,661,663,669,670,671,672,674,676,678,679,680,681,682,683,684,685,686,689,690,691,564,653,611,579,692,693,696,697,698,700,701,702,704,611,705,706,707,709,710,711,712,714,715,716,718,719,720,722,723,724,611,725,730,731,732,734,735,736,738,739,741,743,744,745,747,748,750,722,751,752,753,754,756,757,760,761,763,765,766,768,769,771,773,775,776,676,777,779,780,781,782,783,784,786,787,788,789,790,793,794,654,795,796,797,798,800,801,803,804,806,723,808,809,811,812,813,776,814,816,817,608,818,820,821,824,826,827,828,829,830,831,735,832,833,834,835,836,654,837,606,838,839,841,843,846,847,848,850,852,853,854,856,857,859,860,862,865,866,867,868,869,871,874,875,879,881,884,887,889,893,897,899,903,905,906,907,906,914,922,926,930,937,948,954,956,959,962,963,964,965,966,969,973,977,979,980,981,982,985,987,989,990,991,992,995,1001,1002,1004,1006,1007,1008,1009,1010,1012,1013,1018,1020,1021,1023,1024,1026,1027,1029,1031,1032,973,1035,1037,1039,1042,1044,1046,1048,1042,1049,1051,1012,1052,1054,1055,1057,1059,1061,1062,1064,1065,1069,1070,1071,1072,1074,1075,1076,1080,1081,1083,1084,1085,1087,1069,1088,1091,1093,1094,1096,1097,1098,1101,1104,1105,1106,1107,1108,1110,1111,1113,1114,1116,1119,1121,1123,1124,1126,1130,1131,1132,1133,1134,1135,1136,1138,1140,1141,1144,1146,1147,1148,1151,1152,1153,1154,1085,1156,1158,1160,1161,1163,1164,1166,1167,1168,1169,1119,1170,1172,1173,1174,1176,1179,1181,1186,1187,1190,1192,979,1193,1194,1196,1198,1199,1203,1205,1206,1207,1208,1214,1217,1220,1221,1222,1224,1225,1228,1229,1230,1231,1232,1233,1234,1235,1237,1239,1240,1242,1243,1244,1245,1247,1249,1250,1251,1225,1253,1254,1256,1257,1259,1265,1266,1267,1268,1272,1273,1274,1275,1138,1276,954,1278,922,1279,1280,990,989,1281,1282,1283,1284,1285,1287,1288,1289,1290,1291,1292,1290,1293,1294,1295,1296,1298,1299,1300,1302,1303,990,1305,1312,1313,1328,1331,1338,1339,1340,1341,1342,1346,1348,1350,1352,1354,1355,1359,1346,1360,1363,1364,1365,1366,1367,1369,1370,1371,1372,1374,1375,1377,1378,1379,1346,1381,1382,1384,1385,1386,1387,1389,1392,1393,1394,1396,1397,1399,1400,1401,1403,1405,1407,1408,1410,1411,1412,1414,1416,1418,1419,1421,1331,1422,1427,1428,1429,1431,1433,1434,1435,1438,1439,1350,1441,1443,1444,1445,1449,1450,1451,1382,1452,1453,1454,1445,1455,1434,1457,1458,1461,1462,1464,1466,1467,1469,1470,1474,1486,1490,1491,1493,1496,1499,1502,1503,1504,1505,1506,1511,1513,1515,1517,1518,1520,1522,1523,1525,1526,1528,1530,1532,1518,1525,1533,1534,1535,1537,1525,1538,1540,1541,1542,1543,1545,1547,1548,1551,1552,1553,1555,1559,1560,1561,1562,1563,1566,1567,1571,1572,1573,1574,1576,1578,1579,1581,1582,1584,1587,1589,1591,1592,1594,1596,1597,1598,1599,1600,1601,1602,1603,1605,1607,1608,1555,1609,1610,1612,1613,1614,1618,1620,1621,1576,1622,1623,1624,1625,1626,1628,1629,1630,1632,1634,1635,1636,1517,1638,1639,1532,1640,1641,1642,1643,1561,1644,1645,1646,1647,1648,1649,1651,1652,1496,1653,1654,1655,1656,1658,1659,1660,1486,1613,1661,1662,1663,1664,1612,1665,1666,1667,1668,1669,1670,1672,1674,1675,1676,1677,1678,1486,1548,1680,1684,1645,1658,1685,1687,1688,1689,1622,1578,1636,1690,1691,1693,1694,1620,1695,1696,1697,1592,1663,1698,1587,1699,1701,1702,1703,1704,1705,1709,1710,1711,1597,1712,1713,1714,1486,1520,1715,1561,1716,1718,1719,1720,1603,1690,1722,1725,1726,1728,1730,1731,1622,1733,1735,1736,1561,1737,1739,1513,1740,1742,1743,1663,1744,1745,1528,1541,1573,1747,1589,1748,1749,1532,1750,1598,1751,1680,1752,1753,1754,1532,1755,1756,1757,1503,1758,1759,1761,1762,1763,1607,1639,1764,1532,1520,1765,1766,1767,1768,1622,1694,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1694,1783,1784,1785,1786,1645,1787,1644,1743,1712,1788,1680,1751,1789,1715,1648,1743,1790,1572,1523,1791,1792,1793,1794,1795,1663,1796,1797,1799,1751,1800,1801,1486,1672,1803,1804,1532,1805,1806,1532,1576,1807,1808,1614,1809,1810,1763,1811,1667,1812,1813,1814,1815,1817,1818,1819,1820,1821,1822,1658,1641,1824,1532,1825,1589,1826,1751,1490,1827,1828,1829,1779,1830,1832,1833,1834,1835,1836,1837,1826,1675,1491,1810,1782,1839,1840,1576,1566,1532,1842,1843,1844,1845,1846,1847,1751,1517,1822,1597,1848,1849,1850,1851,1532,1598,1739,1499,1852,1634,1762,1605,1853,1854,1513,1486,1855,1532,1856,1857,1763,1768,1858,1859,1796,1779,1677,1860,1620,1618,1785,1589,1622,1659,1861,1862,1863,1719,1864,1645,1865,1866,1759,1867,1868,1869,1662,1870,1667,1719,1871,1715,1872,1613,1672,1813,1548,1873,1874,1607,1875,1532,1876,1824,1877,1587,1878,1879,1646,1877,1603,1548,1881,1882,1885,1779,1886,1572,1887,1888,1889,1773,1890,1761,1892,1621,1740,1893,1587,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1837,1739,1904,1906,1685,1907,1908,1909,1910,1649,1879,1559,1911,1912,1486,1913,1645,1914,1915,1916,1749,1917,1486,1486,1918,1919,1731,1920,1739,1921,1620,1922,1923,1641,1924,1925,1926,1927,1572,1665,1928,1520,1929,1930,1877,1931,1933,1934,1935,1937,1939,1940,1745,1941,1642,1639,1942,1943,1944,1945,1946,1929,1667,1948,1740,1949,1950,1951,1953,1954,1622,1948,1594,1955,1659,1782,1956,1715,1896,1520,1957,1958,1959,1960,1961,1962,1621,1963,1895,1964,1965,1890,1966,1967,1968,1878,1970,1778,1778,1778,1778,1778,1778,1971,1974,1975,1976,1532,1977,1978,1979,1613,1605,1685,1980,1981,1982,1710,1983,1984,1985,1541,1987,1925,1782,1712,1988,1929,1520,1989,1990,1515,1781,1807,1991,1992,1993,1645,1995,1996,1997,1998,1879,1999,1827,2000,2001,1503,2002,1548,1667,1532,2003,1853,2005,1758,2007,2008,2009,1623,2010,1532,1696,2012,1653,2013,2014,2015,2016,1709,2017,2018,2020,2021,2022,2023,1540,2024,2025,1742,1513,2027,1641,1672,2028,2029,1493,1749,1532,2030,1601,1612,2031,1882,1896,2032,1983,1750,1598,1998,2033,2034,1589,1591,2035,1532,2036,1946,2037,1771,2038,1961,1847,2039,1587,2040,2041,2042,2043,1672,2044,1573,1768,1791,2024,1889,1749,1658,2045,2046,2047,2048,1767,1702,2049,1853,1737,2051,1963,1703,2052,1499,1640,2054,1740,1532,1869,2055,1620,1877,1486,1789,1566,2056,1594,1532,2057,1490,1846,2058,2059,1789,1829,2060,2061,1647,2062,1787,1608,2063,2064,1532,1847,2065,1778,1787,2066,2067,1646,1948,2068,1904,1907,2070,1629,2071,2072,2073,2074,1720,1812,2075,2076,2077,2078,1625,1715,1659,2079,1632,2080,1576,1486,1645,2081,2082,1647,1954,2083,1632,1515,2084,2085,1665,1789,2086,2087,1739,1528,2088,2048,1532,2089,1528,2044,2014,1667,2090,2091,2092,1685,2093,2094,2095,2096,1553,1520,2097,1594,1710,2098,1644,2099,2100,1640,1694,2101,2102,1697,1716,1530,2103,2104,2105,2107,1740,1515,1576,1532,2108,2109,1826,1895,1904,2110,2111,1541,2112,1744,2113,1532,2115,1702,1815,2116,1900,1499,1675,1879,1677,1532,2117,1837,2118,2083,2119,2120,1491,1667,2121,1675,2122,2123,1638,1680,2125,1612,2126,2127,2128,2129,1907,1961,2130,2131,2093,2085,2132,2133,1771,1948,2135,2136,2133,1782,1576,2137,1561,1928,2138,2139,2140,2141,2142,2143,2144,1843,2145,2040,1896,2146,2148,1799,1566,1789,1877,2149,1779,2150,1988,2088,2151,2152,2153,2154,1589,2155,2044,2156,1767,1525,1547,2157,1779,1548,2048,2084,2158,1667,2159,1923,1942,2143,1710,2160,2161,2162,1672,1890,2056,2163,1532,2164,2165,2166,2167,2168,2094,2169,2170,1688,1998,1515,1640,1563,2085,2163,2171,2083,1647,2172,2173,1758,2174,1621,2175,2176,2084,2177,2178,2179,2180,2181,1675,1641,2164,1614,1667,2182,2056,2028,2183,2184,2185,1644,1532,2186,2187,2188,1684,1535,2040,1773,2189,2191,1640,2192,2193,2194,2195,2196,2133,2197,1525,1781,1620,1658,2085,1520,2198,1614,1739,2199,1566,1532,2200,2201,1740,2202,2203,1665,1573,2204,2205,1779,1612,2206,2207,1779,2208,1491,2209,1800,2210,2211,1812,2212,2213,1690,2214,2216,2217,2218,2219,1924,1787,2220,1773,2221,2222,2223,2224,1860,2081,2225,1819,2226,1667,2227,1777,2228,1722,2229,1625,2098,1532,1505,2230,1965,1566,2231,1719,2232,1560,2233,1647,1515,2234,1605,1710,1704,1614,2235,2236,1672,1622,1765,1576,1499,1532,1998,1924,2237,1591,1518,1749,1911,1632,2238,2239,1503,2240,2241,1486,1540,2242,1779,1674,2243,2244,1835,2245,1781,2246,2247,2248,2249,2250,1659,2031,2251,2252,1705,1751,1751,1645,2253,2254,2255,2256,1690,2257,1970,1863,2258,2259,2260,2261,1847,2262,2263,2264,1839,1486,1647,2265,1992,1779,1645,2266,1603,2267,1813,2268,2045,2269,2271,1661,1566,1742,2272,2273,2274,2275,1763,2059,2276,1647,2277,1667,2278,2214,2279,2280,1763,1677,1532,1677,2008,2281,1792,1924,2079,2116,2282,2059,2275,1623,2284,1704,1649,2286,2287,2146,1677,1751,1490,2288,2289,1896,2290,2291,1924,2292,1677,2294,1850,1846,2295,2297,1644,1846,1532,2208,2298,2300,2301,1653,2136,2302,2303,2304,1602,2305,2307,1709,1918,2308,2309,1907,1906,2143,1842,1515,2310,2311,1486,2088,2091,1779,2312,1532,1685,2301,1672,2133,1968,2221,2313,1578,1513,1667,1645,2314,1773,2315,2316,1566,2317,2318,1835,1503,2319,2320,2317,1792,1716,1649,2321,1750,2322,1716,2323,2324,2325,1980,2326,2030,2116,1806,1517,2327,2328,1649,1532,1785,1865,2329,2330,2254,1513,2044,2044,2331,2332,1609,1645,1642,2333,2334,2335,1535,2336,1614,1532,2337,2143,1659,2338,2339,1532,2253,2078,2059,1743,1566,1532,1740,2340,2341,2342,2148,1703,1830,2343,2345,2346,2208,2008,1612,2347,2348,1548,2349,2350,2351,1786,1587,1591,1739,1652,1754,2352,1787,2353,2056,2354,1566,1773,2355,1739,1739,1680,1840,2356,2014,1846,1743,2338,2357,2358,1541,2359,2244,2360,1486,2361,2362,2363,2085,1541,1847,2364,2365,2367,2368,1785,2369,2370,1642,1502,1785,2371,2372,2373,1792,1993,2374,1928,2180,2031,1541,1987,2375,1781,2338,2313,1987,1572,1864,1779,2376,1493,2071,1762,2377,1907,2048,1799,2378,2167,1647,1566,2379,1603,1812,1640,2221,1647,1622,1532,2380,1532,1589,1649,1961,2381,2382,1709,1532,2383,1771,1589,1961,2384,2385,2386,1828,1561,2387,2388,2389,2390,1609,1642,1837,1502,2030,2392,2201,1923,1576,1918,2098,1613,1924,2073,2393,1532,2394,1641,1924,1768,1591,2395,2056,2396,2397,1737,2398,1899,2399,1680,1791,2362,2221,1641,2400,1744,1612,2401,2402,2403,1961,1792,2404,2405,2406,2407,1515,2408,1672,2171,2409,2410,1622,1839,1779,2411,1490,1690,2412,2413,1752,1826,2414,2415,1916,1778,1744,2327,1828,2313,2416,2417,2418,2180,1589,2420,1847,2421,2028,1690,2422,1699,1667,2423,2424,2425,2426,1603,2427,2428,2429,2430,2411,2431,2320,2432,2433,2434,2435,1710,2436,2437,1779,1518,2085,1810,2438,2439,2440,2441,2443,1493,2444,1614,2429,1743,1715,2445,1763,2446,1779,1665,1690,1548,1877,1979,1649,2447,2166,1923,1768,1988,2448,2449,2450,2045,1813,2295,2221,1771,2451,2452,1486,1704,1598,2453,1715,1667,1597,2454,1877,1535,1532,2455,2456,2457,2458,1850,2434,2459,2044,2327,1680,1751,2044,2460,2079,1768,2461,1998,1532,2462,1895,1532,2463,2405,2464,2298,2465,2127,2466,2467,1847,2468,1815,1899,1578,1601,1877,1911,1566,1771,2469,2470,1779,1594,2471,1827,1779,1675,1773,2472,2473,2044,1815,2474,1690,2475,1715,2476,1737,2477,2478,2164,1918,2455,2479,2480,2482,2483,2275,2254,2484,2485,2486,2056,2487,2488,2489,2490,2491,2492,2437,2493,1694,2493,1896,1603,1980,2494,2495,2497,2498,1743,1515,1597,1925,2499,1491,1954,1518,2411,1523,2500,1658,2501,1988,2502,2387,2503,1672,2504,2505,2099,2506,2507,1609,2508,2509,2510,1781,2315,1566,2221,2221,1785,1581,2511,1541,2512,2513,2514,1758,1710,2515,2077,1956,2516,1609,2208,2517,1720,2075,1486,1791,2460,1566,2518,1598,1988,2519,1677,2520,2521,1958,1609,1970,2522,2523,1486,1956,1566,2524,1665,2525,2526,1758,1566,1846,2527,1870,2044,2528,1890,1525,1576,2529,1576,2071,1763,1992,1777,1699,1532,1785,1532,1649,1983,2056,2530,2531,2167,1685,2133,1761,2532,2533,2404,2534,2282,1609,2535,2536,2537,2084,1890,2538,1879,1641,1775,1609,2539,2540,2045,1612,2541,1710,2515,1517,1998,2542,1620,1499,1573,1810,1597,1578,1517,1879,1663,2133,1532,2543,1613,1589,2455,2140,1945,1499,1598,1513,1644,2544,2545,2448,1839,1513,1988,1792,2546,2083,1623,1895,2547,1612,1532,1742,1625,1812,2143,1822,1751,2548,2549,1672,1704,2550,1737,1608,1490,1620,1515,1690,1609,2551,2552,2553,1871,2554,2555,2556,2557,1773,1532,2080,1561,2558,2559,2506,2560,2561,1528,2056,1704,1796,1787,1597,2089,2562,1815,1779,2563,1607,1675,1614,1517,1517,2564,1566,1768,2565,2566,2192,1591,2567,1779,1704,2568,1895,1644,2569,2570,1649,2271,1805,1620,1715,2221,2571,2572,2573,1680,1835,1924,2575,2576,1499,1763,1916,1907,2578,1810,2579,2327,2185,1710,2182,2084,1829,2580,1911,2581,2582,2583,1574,1926,1535,2584,1988,2585,1782,1605,2586,1659,2587,2588,1647,1744,2506,2589,2590,1594,1609,2591,2592,2164,2593,2594,1800,2595,2596,2313,2597,1955,1603,2598,2599,1840,2600,1953,2601,2602,2603,1566,1787,1998,2048,2182,2604,1503,1591,2605,2572,2606,2607,2608,1810,1751,1956,1839,2609,2610,2611,1744,1743,1879,2059,1598,2180,2612,1822,1513,1953,1503,1486,2613,1609,2614,2211,1532,1799,2477,2615,1566,1640,2616,1852,1773,2617,2618,1980,1612,2444,1980,2619,2620,2621,2008,1532,1851,2594,1486,2622,2623,2624,2625,2626,1983,2627,1532,1791,2628,2629,1902,1574,2630,2631,1899,2302,2632,1796,1609,1895,1787,2633,1907,1623,1532,2634,2635,2434,1703,2636,1929,2434,2637,2099,1699,1625,2438,1871,2059,2638,2093,1981,2639,1597,2640,2171,1927,2641,2032,2642,2579,2213,2643,2644,1532,2645,2646,1921,2647,2648,2649,2313,2650,1640,1640,2123,2651,1779,1649,2540,2652,1843,2135,1980,1620,1638,2338,2653,2654,1532,2373,2655,2313,2656,1566,2657,2196,1879,2658,1622,2055,2204,1763,1837,1773,1513,1954,1640,2659,1490,1704,2660,1523,2661,2527,2662,2143,2663,2664,2414,1719,1596,2665,2666,1591,2667,2668,2669,1704,1779,2670,2229,1532,2671,1647,1743,2350,2374,2091,2361,1605,1916,2672,2348,1787,1847,1612,1561,1645,1525,1587,1675,2673,1603,2425,2522,2674,1782,1933,2417,2675,2676,1815,1943,2048,2677,1535,1532,1839,2678,1988,1640,1525,1614,1625,1753,1513,2143,2679,1839,1758,1605,1869,1525,2185,1791,2680,2153,1699,2275,1830,1532,2681,2281,1642,2191,2682,1753,1771,1864,1846,1513,1889,2684,2685,2686,2619,1598,2585,1961,2687,1532,1676,1953,1572,2688,2689,1532,2148,1523,2127,2690,1874,2059,2071,2691,2618,1796,2254,2645,2592,1672,2692,1846,2693,2694,1785,1574,2695,1532,1517,1785,2696,2024,2697,1613,2698,2357,2506,2699,2700,1486,1607,1879,1496,1806,1621,2701,2702,2703,2704,2084,1587,2694,1642,2705,1520,2660,1532,2317,1907,1970,2706,1659,2161,1988,1566,2707,1573,2708,1663,2709,1896,2710,2204,2531,1685,1548,1792,1785,2711,1939,2633,2009,1528,2712,1810,1532,2713,1589,1644,1918,1737,2714,2715,1532,1906,2716,1515,1779,2717,1644,1647,1715,2718,2221,2220,2719,1622,1647,1605,2623,1961,1632,1743,1924,1763,2056,1822,2082,1904,1640,2604,1980,1640,2024,2720,2024,1699,2636,2721,2722,1737,1768,1659,2322,1791,1491,2310,2723,1827,2192,2724,2725,2541,2726,1915,1915,1623,1566,2727,2565,2728,2729,2731,1515,1733,2654,1572,2434,1589,1680,2732,2733,2298,1826,1767,2098,2661,2734,2735,2736,1956,1782,2737,1694,2738,1576,2506,1779,1904,2572,2089,2739,2449,2740,1520,1806,2443,1862,1609,2741,2742,2341,2743,2744,1534,1869,2745,1675,2746,1677,2618,2434,2233,2538,2747,1620,2748,1743,1602,2749,1499,2235,2445,2048,2750,2751,2752,2753,2696,2754,2022,2040,2755,1694,1532,2756,2757,1961,1644,1645,1653,1954,2758,1653,2171,2759,1605,1644,2760,1491,1566,1513,1486,1532,1739,1719,1620,1712,2761,2762,1837,1694,1605,2373,1520,1939,1493,2434,2763,1771,2764,2664,1704,2765,2766,1685,2767,2768,1839,2220,2769,2770,2660,1548,2327,1945,1812,2771,2772,2024,2773,2774,1690,1532,1503,1839,2327,2775,1710,2776,1778,2777,1715,1665,2708,2778,2779,1998,2338,2630,2780,1980,1699,2781,1767,1715,2493,2782,1578,1810,1980,1548,1716,2116,1744,2185,1813,1779,1621,2783,2540,1672,1704,2784,2220,2785,2787,2788,2789,1486,2441,2086,1645,1532,2790,1889,1672,2030,1566,2763,2791,2792,1827,2044,2121,1789,2793,2794,2795,1645,2796,2469,1677,1552,2313,1924,1829,2797,1789,1653,1780,2798,1680,1744,1893,2395,2799,2800,2071,1515,1895,2801,2661,2802,2803,2804,1486,1911,1948,2805,1517,1789,2045,1532,2806,1990,2807,1847,1974,1789,1647,2808,1890,2085,1970,1924,2809,2269,1642,1789,2810,1773,2773,2811,2812,1518,2233,1541,2813,2099,2814,1725,1555,1923,2185,1929,2815,2817,1931,2818,2819,2820,1813,2821,1998,1649,1890,2822,1530,1641,2710,1607,2045,2164,1653,1768,2388,2823,2824,1799,2825,1929,2826,1796,1704,2613,2827,1719,2828,2829,2229,2830,1612,2473,2831,2832,2404,1826,2214,2833,2529,1491,1623,2163,2834,2810,2835,2480,2836,1895,1771,1860,2837,2838,2815,1771,2732,1763,1659,1647,1945,1759,1768,1835,2604,1594,2143,2839,2840,1896,2841,2842,2362,1929,1785,1877,2843,2024,1675,2733,2767,2844,1623,2845,1599,1578,1829,1846,1594,1659,2846,1839,2687,2847,1660,2721,2848,1515,1800,2606,2849,1839,2541,2850,1613,1532,1665,2851,2768,2852,1907,2853,1518,1789,1944,1646,1486,2854,2422,1702,2074,1704,1535,2855,2856,2405,1919,1799,2857,1499,2858,1532,1644,1648,1605,1621,1603,2859,1597,2044,1598,2092,2044,1675,2860,1987,1773,1548,2355,1578,2861,1851,1956,2862,1979,2863,2192,2864,1791,2567,2865,2091,1625,1953,1781,1939,2133,1702,1827,1869,2866,1945,1499,2867,1612,1800,2557,2185,2868,1750,1621,1680,1625,1785,2869,1659,2870,2871,2872,2873,2874,1532,1605,1532,1490,1618,1925,2875,1980,1486,2799,1895,1622,1815,2117,1589,2139,2876,1839,1979,2877,1659,2878,1648,1923,1597,1979,2879,1768,2880,1987,1889,2881,2136,1743,2882,2883,1847,2086,1773,2884,2021,2056,2071,2221,1988,1942,1658,1796,2214,2885,2886,2169,2887,1591,1663,2888,2493,2536,2889,2890,1889,2891,1665,2892,1672,2893,2721,1895,2894,2099,2895,2896,2897,1690,1620,1871,2626,2898,2052,2899,1589,2900,1715,1779,2820,2180,1532,2313,1594,2901,2104,1680,1518,1667,1534,2902,1719,2903,1779,2167,1764,2846,1839,1609,1645,2904,2866,2905,2906,2030,1786,2907,2908,1889,2222,2030,1743,1605,2909,2910,1924,2412,1740,1751,1561,1620,2911,2912,1847,1712,2913,1919,2541,1517,2395,2914,1548,2915,2916,1739,2030,1688,1911,1871,2917,2918,2919,1555,2024,1980,2818,1743,1532,2528,2405,2920,2601,2921,1758,1699,1830,1894,1749,1503,2064,1499,1587,1515,1907,1513,2446,2922,1810,1613,1532,2923,2256,2345,1928,2600,2924,1639,2925,2926,1598,2824,2927,1642,2928,1541,1541,2929,1690,1806,2494,2192,2462,2148,2356,1877,1589,1608,1839,1791,2930,2931,1532,1996,2814,2214,1532,1948,2070,2327,2932,2933,2684,1948,2934,2935,1513,1751,2359,1796,1834,1791,2936,2937,2717,2678,1589,2938,1740,1532,2939,1612,2815,2797,1768,1647,1635,1740,1645,2869,1745,1534,1532,1612,2200,2639,1703,1956,1758,1763,2940,2208,1677,1907,2941,1520,2720,1532,2214,1685,2082,1929,1515,2942,1532,2943,2944,1562,2945,2819,2156,1597,2946,2947,2948,1896,2949,2156,2950,1621,1665,1659,2951,2847,1532,2952,1591,2925,2953,1806,2954,1961,1980,2721,1603,1981,1609,2955,1672,1561,1694,2956,2957,2958,2506,1869,2282,1597,1608,2959,2960,2961,2962,2963,1791,1944,2939,2964,1767,2185,1779,2506,2965,2966,2434,2863,2967,2968,1523,1911,1779,2714,1667,2969,1867,2970,1515,2971,1532,2972,1980,2973,1518,1779,2974,2024,1847,2282,1601,1907,2079,1659,2334,1517,1712,2975,2976,1513,1520,2253,2032,2977,1541,1520,2978,1573,1659,2979,1486,2980,2164,2981,1665,2406,2083,1690,2982,1929,2946,1520,1703,1715,1572,1737,2872,1813,1979,2983,1885,2984,2100,1781,1645,2985,2986,1688,1513,2538,2987,1515,2264,1759,1672,1877,1614,2303,1561,2988,1649,1719,2282,1589,2192,1762,2989,2648,1980,2842,2990,2991,2993,1757,2994,1924,2044,1904,2995,2843,1547,1601,1605,1759,1608,1954,2996,1532,1532,1589,2074,1620,2997,2998,2999,3000,3001,1589,1704,1879,1548,2927,1646,1532,1532,1719,2143,1924,3002,3003,3004,1680,3005,2658,1759,3006,3007,1806,1961,2584,3008,2734,1751,3009,1675,2312,1785,1928,2133,1998,2339,3010,1646,2509,1517,2220,3011,3012,1944,2448,1904,2732,2949,1794,1677,2046,1810,1827,1645,1793,1649,2364,1751,2045,3013,1847,1574,1672,2645,3014,1645,1758,1810,2143,1921,2972,1518,2133,2317,3015,1541,3016,3017,1532,3018,1648,1663,1704,1517,1739,3019,2807,1532,2143,2449,2710,1623,1613,1715,2868,3020,2970,3021,2098,1532,1780,3022,3023,3024,2775,1685,1545,1827,2180,2319,1612,3025,3026,1759,1621,2520,2680,3027,1743,2078,3028,1548,1690,2815,1672,2844,1541,1622,1578,1597,1677,2141,1622,3029,3030,1812,2085,3031,1605,2546,3032,2604,3033,1513,3034,3035,2535,1980,2133,1906,1548,1815,2136,2313,3036,3037,1710,3038,2853,1921,3039,1699,2148,1649,3040,1710,1918,1759,1879,1737,1789,2451,3041,2070,1846,3042,2596,1871,3043,2039,1911,3044,2264,3045,3046,1847,2509,3047,3048,2894,3049,3050,1781,3051,2836,2492,1703,2098,2846,1715,2098,1486,3052,1640,2214,3053,2017,2346,3054,1751,2046,1882,3055,1775,3056,3057,1904,3058,1625,1685,1846,1609,1810,1815,3059,2292,1826,1749,2656,3060,2958,1870,3061,2684,1749,1613,2701,2313,1961,2615,3062,1515,1649,3063,1645,3065,2141,1759,1929,1561,1751,1814,1515,2405,3066,2759,1740,1822,1743,2652,1871,1904,3067,2648,1719,2664,1490,2434,3068,2325,2504,3069,1961,1672,1792,1490,1648,2975,1710,2093,1979,1945,2133,3070,1609,3071,1532,2028,1855,1703,3072,1603,1520,2104,1811,3073,2548,1918,1665,2469,1929,3074,2176,2929,1751,1991,1759,3075,1811,3076,2417,2724,2611,1921,2748,2472,1740,2494,2244,2818,2143,1598,1523,2914,2950,3069,1486,1758,1810,1659,2434,3077,3078,1854,3079,1532,1658,2324,2226,3080,3081,1572,3082,1929,1621,1830,2696,1839,1810,1612,2216,2708,1589,1804,1733,1763,1677,1503,1644,3083,2099,2172,1710,3084,1640,1689,2675,1645,3085,2325,3086,1561,1981,3087,3088,1928,2652,2251,1813,3089,1759,3090,2898,2214,1653,2785,1647,2083,2501,3091,3092,2048,2030,1670,3093,3094,1532,3095,1828,1620,3096,3035,3097,1672,1847,1716,2313,1517,3098,1785,1518,1607,1928,3099,3100,1719,1786,3101,1813,1674,2024,3102,1640,2166,1503,2397,2714,1939,1782,3103,2313,2986,2064,2733,3104,1576,2043,1752,1561,1710,2386,1658,1810,2717,3105,3106,3107,1591,1532,2797,3108,1869,1928,1904,1863,1541,1918,1499,2354,1532,1810,1663,1909,1813,2584,3017,2077,1607,1822,2682,3109,1623,2947,3110,1667,1768,3111,3112,2363,2354,1566,1826,3050,1998,2213,1810,3113,1532,3114,3115,1911,1517,1813,1740,1621,1690,1677,3116,2417,2727,1612,1520,1503,1751,1753,2308,3117,2226,1532,1496,1719,3118,1810,1647,1869,3119,3120,3121,2697,1712,3040,3122,1573,2254,2514,2805,1576,1576,1659,1622,1839,1609,1493,3123,3124,1896,1647,1659,1979,2906,3125,3052,1491,1680,2164,2048,2815,1950,3126,1931,1612,1815,2458,1829,3127,1667,1532,3129,1654,3055,3130,1737,2925,3131,1574,1763,1983,1532,2269,1931,2044,3132,1787,3133,2084,1535,1515,3134,3135,2536,1612,2395,1694,2639,2843,1928,1751,3136,2398,1518,2093,1523,2128,1911,1982,2290,2327,2214,1813,3137,3138,1493,3139,1663,3021,1956,2495,1803,3140,1486,1697,3142,1503,1737,2448,1781,3143,1535,1677,1532,1948,2071,1829,1785,3144,3145,2044,2164,1535,3127,2065,2111,2751,1846,2759,1990,1520,2098,1924,1486,2404,1530,3146,2020,2204,3147,2332,2458,2330,1725,1523,2045,3148,2237,1491,1791,2645,3149,2233,3071,1779,1715,2745,2090,1486,1715,1603,2549,1608,3150,2214,2506,2123,1948,2297,3151,3153,2044,1737,3154,1822,2341,3155,3156,2633,1796,2185,2313,1603,3053,1532,2278,1680,2056,1694,2109,1644,3157,1520,3158,1837,1591,1677,2083,1503,3159,3160,1517,3161,1762,1532,2492,2024,2985,1796,1645,2214,3162,3163,3164,1726,3165,3166,1714,1613,1621,1620,1566,1665,2530,2802,1806,1792,1677,2170,2085,1827,1710,2338,3167,1645,2297,2448,1517,1810,1743,2795,1665,2438,1499,2077,3168,1680,3169,2611,1773,1532,3170,2180,1641,3171,3172,2085,1596,3173,2780,1603,1988,1621,3174,1709,2192,1751,2188,3175,2458,1607,2414,2417,3176,2953,1640,3177,3178,3179,1605,3180,1837,2185,1646,2805,2537,3181,2082,1822,1653,1988,2136,2214,1758,1739,1781,2908,2317,1923,1904,1787,3182,1667,1532,1715,1743,1490,2141,1677,1517,1771,1541,1827,1685,2049,2818,2508,1649,3127,2098,2030,1665,3183,2084,1647,1566,1493,2540,1782,2458,1589,2175,2417,1961,3184,1613,2610,1928,2084,1827,2017,2020,1493,2220,1653,3185,2741,2355,2962,3186,3187,2714,1929,2425,1890,1719,2007,3095,3188,2648,1789,1566,2972,1981,1879,1813,2462,1614,2870,1540,1561,1796,1787,1877,3189,1791,1640,1998,2562,3115,1980,1648,1918,1685,2942,1787,2272,1540,2404,1844,3190,2164,1532,1658,1931,2331,3191,2178,3192,1622,3193,2099,2648,3194,2160,1847,3195,1677,2043,1879,2818,3196,1499,3197,2022,2041,1877,3138,3198,1532,1566,1758,2781,3199,2075,2008,1829,3200,1837,2655,2149,2554,1826,2643,1737,3201,3066,2327,1520,1555,1614,1581,1771,2472,3202,1839,2083,1638,1829,1877,1956,3203,1830,1815,1785,3204,3206,2815,1893,1644,2164,1515,1830,1644,3207,1974,1499,1712,1855,1589,3133,3208,2221,1906,3209,3211,2073,2133,2964,1758,2221,3212,1515,2862,1979,3213,1658,1566,1605,1517,1928,1988,3214,1979,3215,1893,2136,3216,1486,1647,3217,2211,1603,3218,2327,1605,1672,2092,2511,1658,1743,1869,2031,1737,1916,2564,2458,1532,1865,3219,1779,1659,2794,1567,3220,2030,1846,1796,3221,2059,1620,2527,2099,2645,2908,3222,3223,1502,2847,3224,1597,1791,1792,2601,1532,3225,1786,1786,1612,1649,1525,1870,3226,3227,1622,1750,3228,1614,1665,1574,1608,1490,1779,1591,2466,3229,3230,2563,1649,2327,1515,1815,2189,2127,1980,1758,2167,1608,3231,3208,1658,1806,1663,2676,1709,1493,3232,1773,1532,1532,1675,1851,2518,1929,1603,2256,1645,1954,3233,3234,3120,1675,1810,3235,2795,3236,2204,3237,1646,1532,1929,1990,2954,1806,1560,1573,1981,1998,3238,2979,1983,3239,1658,2030,2081,2143,1641,2271,1980,1528,3240,1755,3241,2091,1827,1954,1532,3242,2375,3243,3009,2275,2422,1740,1836,3244,3245,1987,1685,2558,1525,2164,2249,1944,2927,1904,2440,3246,1762,1603,3190,3247,1865,2625,3248,2395,2136,3249,3182,1592,2143,1759,3250,3251,1645,1541,1499,1739,1605,1907,2048,3252,3253,2056,1855,3068,3254,2044,1566,2497,1532,2099,2325,2847,3255,1781,1931,3256,3257,1598,2601,2417,3258,1623,2365,3259,3260,2884,1541,1518,2525,3131,1929,2721,3261,1646,3225,3037,1815,2076,2929,1532,3262,2697,1605,1737,1658,1607,1871,1773,3204,3263,1610,1950,1614,1912,3264,3265,3266,2221,3267,1491,1787,3268,3269,1869,2444,2320,1486,2048,3270,1906,2626,1762,1767,3271,1622,2196,2077,2235,1758,1981,1980,3220,3272,1983,1576,2204,1645,2537,3273,2438,1907,1895,1944,1961,2455,3274,3275,1822,1532,1513,1694,3276,3277,3278,2710,2091,1792,2313,3279,1813,1743,2590,3280,2221,1625,1486,1641,1839,2083,2387,1929,1667,1603,1715,2044,2133,3281,3282,1691,3283,2208,1541,1739,2823,3284,3285,1744,2619,2313,1649,2155,1541,2874,3286,3025,1573,3287,3012,1812,1944,2003,1907,1622,1486,2623,3288,2089,1744,1796,3289,2663,1758,1749,2949,3290,1591,1566,3291,1645,2024,3292,1699,1988,3293,1907,2504,2971,3294,1566,1739,2364,1667,3295,2429,2702,1520,1598,1826,1647,1871,2794,3296,2584,2640,1574,1573,3297,2208,3097,3215,3298,3299,2094,2315,3300,3052,3209,1532,3301,1499,2257,3302,2008,1931,1517,2647,3022,1647,1680,2448,1812,2630,1871,1826,1928,1612,2214,1561,3303,3304,2623,3305,1574,3306,3307,2222,3308,2093,2745,2547,1879,2604,1598,1532,2824,3309,1623,1594,2395,2883,2133,3310,1640,2460,1612,2362,1584,1896,1981,3311,3312,1603,3313,1603,1538,2447,1644,3314,1694,3207,1548,1587,3315,1641,3316,3317,2725,3318,2645,2083,2721,2044,2021,1925,3319,1672,3320,3321,1998,1822,1548,2763,1640,1740,3322,3314,1649,2915,2759,1712,2044,2837,1699,1490,3323,1685,3324,1981,2417,3325,1535,3326,3220,2929,1759,3327,1603,2071,1589,3131,3328,3329,2189,2048,1663,2084,3330,1612,3006,2334,3331,1486,1620,1970,2088,1621,3332,3333,2508,1647,1715,3334,1768,3335,2205,1572,3336,1895,1791,1990,1762,3337,1895,2276,1835,3338,3275,1642,1587,3339,3340,1725,3265,3341,1566,1663,3108,2434,2030,2254,3002,1665,2083,3342,1640,1612,1961,1719,3343,1535,1665,1733,1587,3344,1499,2178,1813,1780,3228,1716,1778,2164,1607,1561,1767,2717,1684,1545,3345,2003,2373,1641,1751,1751,3346,3347,1715,2676,1945,3348,1605,1621,1895,1990,1792,1890,3228,2595,3349,2324,1532,1948,1879,1712,1751,3169,3350,1548,3114,3300,2178,2338,2985,2423,3351,1751,1490,2422,1918,3352,1810,1605,2143,2099,1490,2372,3310,1532,1892,1523,3353,1672,2810,3054,2116,3354,3355,1578,3357,3358,2307,1842,2164,1640,1716,1603,1907,2450,3359,2493,1591,3361,1642,2214,1605,2143,3362,3363,1980,2188,2627,2510,1970,1829,1704,3104,1953,2117,3364,3365,3366,2434,1541,3367,2257,1639,1659,3368,1605,1663,2858,3312,2209,3369,3127,1792,1663,1895,3370,2985,2074,1822,1740,1731,1958,2999,1591,3371,1821,2599,2949,1576,2527,2623,2598,1503,1649,1659,1644,1672,2107,3373,2212,2275,2564,1953,2448,1869,1553,1532,1532,1781,1791,1613,1739,2376,1779,2017,1532,3374,1890,1789,3375,1530,3045,1882,2883,1785,2244,3376,1703,2498,1773,2590,2717,3377,3378,3379,3380,3381,1602,1644,3382,1647,1796,1532,2133,1532,3383,2164,2434,1670,2044,1699,3384,3362,3385,1929,3386,1532,1864,1710,1787,1532,3387,3388,2327,1499,2021,2434,2596,1709,3389,1961,3390,1634,2554,1677,3391,3392,2338,1592,1672,2071,1845,1532,1846,2760,1548,2717,2214,2836,2792,3393,2502,3394,3395,2970,2029,2030,3091,3396,3383,2643,2469,3397,1490,1576,2882,1960,3071,3398,2567,2368,2258,2148,3399,3400,3071,1532,2136,1780,1541,3091,2750,3401,2099,1956,3402,1988,2493,3403,3120,1573,1614,2817,1658,1846,3404,2717,3405,1591,1690,2494,3406,2116,1703,3407,1773,2625,1535,2269,3351,1639,1548,1591,1598,1622,2918,2240,1665,2948,1961,1672,2275,1961,1605,1743,3071,2204,2292,1785,3408,1703,2044,3409,3397,2898,2024,2220,1532,1779,1520,2221,1644,3410,1605,1667,3411,2169,2208,1667,1911,1535,1813,3027,2769,3318,2847,1677,1677,1620,1552,1649,3412,3413,2071,2313,3276,1846,1658,3178,3414,2133,1659,2487,2143,3026,3415,3416,1532,3417,1667,2690,2458,2214,3087,1709,1672,1781,3418,1648,2732,1812,3419,1701,1987,1566,2404,1493,1665,1566,3420,3421,3422,1667,1988,2478,3423,2003,1640,1598,2837,1694,1690,3424,2208,2030,1733,2005,3425,2327,1525,1576,3426,1785,2133,1774,1806,1690,1943,1499,3427,1540,3428,1715,1659,1659,1895,1491,3430,1771,1532,3108,1646,1737,1694,1715,1653,1924,2059,1533,1486,1620,1796,2086,2111,2875,1749,1675,1737,3431,3432,3433,1988,2164,3434,1789,1739,1694,3435,1598,1812,3020,1532,1645,3436,1503,2617,1567,2972,1621,2647,3437,1703,1702,1719,1607,1997,3438,2099,1954,1712,1613,1849,1871,1879,2384,1771,1743,1771,2161,2220,2143,3439,1773,1672,1789,1820,1605,1576,2309,1695,1530,1665,2518,3440,1548,1646,3441,3442,1826,1773,1532,1830,1515,2117,2406,3443,1921,1532,1919,2863,1791,2136,1846,2220,1587,2315,1855,1961,2895,1618,3170,2810,1532,1532,3444,1743,3445,2633,3446,1490,1532,2739,1821,3031,2243,1535,1607,1906,3447,1699,1710,1740,3448,3305,2180,3449,1988,3389,1981,3073,3338,2099,1879,1830,2160,3450,3451,2523,3452,1737,1665,3219,1815,1839,1532,3238,2070,2313,1694,1744,3453,3454,2962,3455,2056,2214,2918,1979,1791,1939,1605,2180,1836,1846,2760,1773,1572,3053,3456,2275,1970,1998,2117,2844,1685,2074,2636,2831,3457,1781,1719,3458,3459,1742,1574,1847,2594,3110,2251,1758,2737,3460,2098,1663,1677,2949,1895,3305,1806,2046,1532,1871,1855,1607,2453,1758,1648,2051,1652,1667,1744,1655,1980,2561,2148,1535,2726,2895,2024,1654,1645,1810,1782,2594,2512,1852,2313,2257,1744,2221,1725,1576,2071,2384,3461,1518,3463,1672,2213,1518,2768,2191,2226,3464,3413,1659,1532,3465,2153,1879,1499,2734,1773,3466,1822,1826,1782,2512,2204,1625,1603,2693,2870,2976,2905,1532,2429,1658,1762,2458,1532,3467,1520,2084,2485,1486,1810,3468,3469,1523,1532,3275,2965,3470,2313,1644,2017,1822,1667,3471,3180,1762,2180,3472,3056,2697,2307,2579,2509,3473,3474,1751,3475,3476,2815,3264,2056,2040,1644,1716,1640,2642,3167,2226,3477,2584,2717,2313,1980,2672,3478,3479,1929,1719,1644,1959,1574,1822,3480,1525,3481,3482,2044,1578,2083,1675,2182,1725,1532,1566,3483,3484,2076,1644,2254,2295,1535,1651,2243,1743,1576,1933,1503,3485,2568,2826,1740,3486,2809,1998,2182,1983,3219,1517,2192,3487,1645,3488,3489,1744,3490,1773,3357,1846,1499,1974,2706,1520,3491,2428,3492,2140,1719,1653,1566,1767,1829,3493,3494,1759,1709,2950,3495,2647,3032,1649,3496,3497,1839,2237,1589,2768,3498,1758,3499,1810,3441,3500,3501,1981,1929,1499,1907,3502,1906,2804,2071,1532,2192,2794,1589,3503,3504,1532,2628,1871,1777,1921,3505,2508,1819,1645,1622,1812,2729,1640,3506,1486,2582,3277,2116,1904,1812,3303,1894,1781,3507,2641,1661,1758,1759,1640,3046,3508,2149,1680,1929,2172,1751,3521,3523,3525,3529,3530,3531,3533,3534,3535,3540,3544,3545,3547,3549,3550,3553,3555,3557,3561,3562,3563,3569,3570,3572,3573,3576,3577,3578,3579,3581,3584,3585,3586,3588,3591,3592,3593,3595,3597,3598,3599,3601,3603,3605,3606,3608,3609,3610,3611,3612,3614,3615,3616,3617,3619,3621,3622,3623,3593,3626,3627,3628,3631,3632,3633,3635,3636,3637,3641,3642,3603,3643,3576,3645,3646,3647,3648,3650,3651,3652,3653,3646,3654,3655,3656,3658,3659,3662,3663,3664,3651,3666,3667,3668,3669,3670,3672,3673,3675,3676,3678,3679,3680,3681,3682,3685,3686,3687,3579,3608,3688,3690,3691,3632,3692,3693,3540,3694,3696,3584,3698,3686,3700,3701,3702,3703,3593,3704,3651,3705,3706,3653,3707,3681,3709,3710,3711,3712,3713,3714,3715,3716,3717,3718,3676,3709,3719,3720,3721,3648,3593,3722,3724,3725,3726,3658,3628,3726,3727,3728,3727,3718,3730,3731,3732,3728,3733,3734,3735,3736,3737,3738,3739,3740,3741,3617,3744,3701,3745,3746,3748,3749,3648,3705,3750,3563,3752,3686,3753,3757,3758,3759,3760,3761,3762,3763,3702,3764,3766,3767,3768,3769,3770,3771,3772,3763,3581,3593,3773,3774,3762,3776,3777,3778,3779,3780,3691,3781,3779,3679,3688,3782,3783,3784,3664,3785,3787,3788,3789,3709,3791,3792,3694,3793,3794,3795,3796,3797,3762,3798,3799,3800,3801,3802,3803,3805,3806,3807,3808,3686,3686,3809,3812,3759,3653,3610,3813,3763,3593,3814,3799,3815,3795,3816,3561,3817,3818,3819,3820,3653,3821,3822,3793,3823,3823,3824,3714,3653,3826,3827,3828,3829,3702,3831,3832,3693,3833,3834,3679,3734,3835,3836,3837,3839,3840,3842,3843,3844,3663,3845,3709,3619,3846,3847,3848,3849,3833,3850,3851,3852,3783,3854,3855,3795,3856,3579,3721,3610,3857,3750,3858,3859,3622,3861,3740,3753,3862,3864,3866,3792,3867,3868,3686,3698,3726,3771,3869,3706,3870,3727,3871,3686,3872,3873,3874,3875,3876,3877,3879,3880,3881,3882,3883,3547,3884,3643,3885,3886,3608,3700,3680,3619,3887,3888,3619,3889,3890,3891,3892,3893,3894,3678,3530,3895,3896,3897,3870,3898,3899,3900,3808,3901,3902,3903,3778,3611,3904,3905,3906,3907,3740,3908,3724,3833,3909,3760,3823,3750,3686,3910,3911,3795,3913,3914,3915,3916,3917,3605,3555,3918,3921,3610,3922,3923,3653,3924,3843,3925,3926,3927,3647,3929,3633,3930,3851,3932,3933,3851,3686,3934,3935,3936,3937,3938,3939,3939,3579,3555,3653,3940,3823,3942,3943,3874,3945,3947,3948,3686,3648,3949,3767,3950,3952,3954,3955,3956,3957,3862,3791,3746,3958,3959,3960,3961,3813,3962,3930,3845,3961,3964,3965,3893,3966,3967,3632,3968,3799,3969,3540,3958,3971,3693,3972,3610,3973,3686,3974,3705,3764,3975,3799,3663,3622,3976,3978,3979,3816,3700,3561,3752,3926,3980,3680,3981,3982,3966,3579,3983,3984,3985,3628,3986,3750,3682,3880,3987,3988,3989,3990,3991,3992,3993,3763,3994,3759,3719,3995,3996,3764,3879,3794,3709,3997,3700,3998,3999,4000,3823,4001,4002,3727,3700,4003,3576,3730,4004,3770,4005,4006,4007,4008,4009,3693,3820,3799,3958,4010,4011,4012,4013,4014,4015,4016,4017,4018,3637,3759,3784,3581,3916,4019,3960,4018,4021,4022,3893,3561,4023,3794,4024,4025,3833,4026,3578,4027,3593,4028,4029,3721,4030,3611,3875,4031,4032,4033,4034,3868,3691,4035,3701,3894,4036,4037,4038,4039,3608,4040,3886,4041,4042,4043,3783,4044,4045,3792,4046,4047,4049,3530,4050,4051,4052,4053,4055,4056,4057,4059,4060,3653,4062,3633,3905,4063,3833,4030,4064,3960,4065,3709,4066,4067,3717,4068,4069,3869,4070,3845,3540,4071,4072,4073,4074,3961,4075,4001,3961,3682,3771,4077,4026,4078,4079,3822,3686,4080,3529,3771,3702,3945,3799,3982,4081,4082,3610,4083,3653,3578,4071,3893,3982,4086,4088,4089,4091,4047,3993,3887,4092,4093,3628,3686,3579,4094,3767,4096,4097,3799,4098,4099,4100,4101,3993,3752,4102,4103,3893,3529,4104,4105,4106,4107,4031,3731,4108,3793,3960,4109,4103,3975,4111,3921,3785,3686,4112,4113,4114,3656,4115,4116,4117,4118,4047,3905,4119,4120,4121,4031,4122,3960,3795,3704,3531,3686,3750,4123,4124,4125,4126,4127,4129,3675,4071,4130,3819,4131,4132,3702,3659,4001,4133,4035,4134,3816,4068,3839,4136,3563,3770,3822,4137,3616,3921,3622,3780,3745,4139,3789,3770,4140,3732,3761,4141,3762,4142,3719,3929,4143,3764,3595,4047,3954,3749,3750,4121,4144,3989,4145,4108,4146,3579,3766,4147,4148,3753,3922,3656,3787,3704,4149,4150,4151,4152,3947,3778,4153,3659,4154,4155,4156,4157,4158,4071,4159,4160,4161,4162,4163,3958,3929,3785,4165,4166,4167,4168,3906,3728,4169,3709,3540,4170,4171,4172,4173,3722,3726,4105,3933,4174,4049,3653,3894,4175,3785,4176,4177,3831,3648,3867,4178,3619,3750,4179,3648,4070,4180,3707,4181,4182,4183,4184,4185,3714,3778,4186,3702,3611,4187,4125,4188,3880,4189,4190,4191,4192,3617,4014,3709,3762,4193,3823,3803,4194,4195,4196,4000,3929,3627,4197,3989,4198,3563,4199,3686,4200,4202,3867,3736,4203,4204,3961,4088,4205,3703,3763,4206,3794,3874,4207,3664,4208,3701,4209,3814,3813,3719,3862,4210,3726,3787,3982,4211,4212,4213,4214,3763,3599,3770,4215,4217,4218,4033,4075,4219,4220,3605,4221,3823,4222,4223,4224,4225,3988,4226,3872,4227,3794,3547,3872,3712,4228,3688,3888,4125,4229,4230,4068,3875,3808,3686,3637,4231,4232,3610,3762,3794,4233,3791,3761,3686,3764,3851,4234,4235,4236,3686,4129,3707,3610,4071,4037,3726,4237,3877,3726,4238,4239,3792,4163,4240,3561,4241,4242,4243,4244,3576,4245,4246,3794,4247,3694,3680,3659,4248,4249,3759,3749,4250,4251,3654,4252,3982,3653,4253,3994,3633,4254,4026,4255,3975,4256,4257,3886,3877,3703,4258,4259,4260,3726,4261,4211,4262,4263,4264,4063,4265,3777,4266,4267,4268,4269,4129,3779,4094,4183,4270,3975,4031,3960,4149,3611,4271,3994,3874,3682,3727,4272,3599,4273,3733,4274,3632,4275,3794,3561,4276,4277,4196,4278,3719,3750,3894,3893,4279,4280,3916,4281,3704,4282,3603,3916,3632,3686,4034,3894,3581,4225,3686,4283,4284,4285,3874,3726,4286,4287,4288,3617,4289,4149,4290,4291,4008,4014,4292,3563,4293,4295,4296,4113,3721,4248,3764,4297,4298,3599,4299,4123,3710,4300,4301,4302,3714,4303,4304,4305,4306,3722,3632,4307,3752,3893,4170,4308,3753,3969,3561,4309,4149,3968,3547,3780,4310,3789,4311,4312,4313,4315,4316,3701,4317,4136,4318,3586,4039,4319,4320,3784,3529,3632,4321,4323,3792,3686,4324,4325,3764,3792,4183,4324,3654,4225,4326,4327,4228,4042,4285,3728,3579,3845,3701,4328,4329,3534,4330,3691,3529,4331,3728,3867,4332,4001,3917,4333,3916,4334,3939,3807,3719,4335,3597,3750,4336,4187,4337,3750,4338,3990,3870,4339,3611,4340,3956,3719,4071,3576,3653,4341,3673,4342,3632,3647,3703,4343,4310,3750,4344,4345,3686,3720,4346,4347,4348,4349,3694,3688,3610,3599,4350,3894,4351,4232,3805,3719,4352,3686,3734,3664,4215,4161,4353,4354,4355,3647,3720,3777,4356,3678,4357,4358,3949,4359,3686,3608,4360,4361,4008,4362,4363,3610,4364,3762,4365,3717,3734,4366,4274,4144,4367,3693,3750,3701,4369,4370,4147,4371,4372,4374,4375,3717,4376,3797,4377,3659,4378,4260,4379,4380,4381,3653,4382,4383,3778,4384,3991,3875,3581,3653,3664,3867,4385,3816,3730,3707,3880,4068,3862,4386,3628,4387,3929,4388,4026,3680,3686,4389,3888,4390,4391,3780,3576,4034,3831,4357,4392,4393,4394,4395,4396,3787,3960,3719,3752,4397,4398,3874,4399,4228,4292,3797,4400,4057,3633,3759,4010,3799,4183,3845,3682,3720,3578,3921,3740,4401,4402,3686,3975,3896,4403,4404,3709,3961,4405,4109,3540,3843,3658,3727,4306,4406,3605,4407,4408,4317,3687,4409,4410,3593,4411,4412,3771,4413,4414,4301,4415,4012,4381,4161,3966,4416,4360,3982,4071,4417,4183,4418,4169,4419,4420,3939,3540,4421,3707,4422,4423,3753,4424,4425,4426,3990,4427,3869,4428,4429,4430,4431,4432,3975,3659,4433,4434,4435,4436,3770,4232,3599,4438,3670,4439,3750,4440,3531,3720,4441,3779,4035,4442,3823,3581,4031,3930,3686,3893,3540,4324,3783,4183,4443,4260,4444,4068,3530,3780,4446,3561,3780,4407,4298,4447,4202,4448,3712,4240,3797,4098,4449,3808,4450,3893,3627,4451,4452,3724,3750,4453,3721,4301,4304,3749,4031,3975,4355,4454,3813,3943,3778,3961,3704,4232,4455,4456,3752,4193,4228,4457,3794,3734,4458,4459,4448,3836,4460,4461,4462,4026,4463,3628,4464,3792,3958,3676,3813,4465,3915,3939,4094,3676,3703,3851,3714,4218,3779,4466,3879,3578,3619,3803,3686,3659,3886,3578,4149,4467,3785,4298,3794,4469,3779,3691,4470,4471,4086,3628,3966,3961,4472,3676,4464,3987,3943,3868,4473,3752,4315,3851,4474,4475,3792,3719,3822,4476,4477,3691,4478,3720,3797,3712,4479,3990,4480,4094,3802,3862,3943,3578,3658,4481,4108,4482,4483,4315,3686,3823,4484,3563,4485,4486,4149,4026,3686,3802,3610,3994,4487,3547,4337,3648,3958,3958,3924,4244,3628,3915,3670,3815,4488,4489,3576,4094,3686,4490,3813,4491,3771,3728,4492,4493,3745,4494,3930,4495,4496,3686,3822,4497,4498,3874,3605,4499,4500,4501,4502,4316,3540,4196,4503,4504,3740,4505,4230,4506,3652,3652,3619,3816,4507,3628,3778,3628,4508,3686,3872,3826,3658,3686,3896,4049,3686,4509,3686,3975,3960,4510,3628,4511,3615,4512,4513,4514,4153,3894,3563,3851,4055,4515,4516,3894,4517,3767,3761,4433,3749,4346,3724,3586,4116,4301,3720,4014,3750,3687,3975,4518,3929,3915,4519,3956,3728,4238,4520,3593,3885,4521,3609,4036,3845,4315,3770,4522,3581,4523,3721,4524,3547,4348,3608,3785,4525,3680,3701,4526,3694,3717,4527,4183,4163,4029,3563,4528,3576,4529,4530,3929,3761,3703,3724,3700,4531,4225,4532,3789,3894,3794,3980,3843,4533,3785,4534,3676,3813,3759,4535,4536,3703,4125,4537,3691,3783,3658,3659,3648,3659,4196,4538,3691,3894,4232,3724,3545,4539,4540,4037,4541,4542,3882,3550,4543,4544,4278,4545,4546,4123,4547,3700,3780,4108,3637,3777,3752,4081,3740,4548,4549,3678,3633,3693,3686,4149,4149,3921,3597,3833,4550,4551,3846,4026,3581,4552,4553,3994,4083,3628,3794,3599,4554,4555,4055,4556,4047,4557,4317,3597,4558,4559,4560,4001,4561,3531,4562,3967,4563,4564,4071,3531,4064,4493,4565,4004,4145,3691,3795,3831,3982,3915,4141,3982,3702,4566,4023,4567,4036,3549,4172,4568,4379,3622,3949,3846,4569,4570,4571,4008,4572,3686,3611,3578,3693,4228,3994,3693,3545,4301,4406,3767,3651,4573,4574,3709,4108,4262,4149,3901,3531,4483,4575,4068,4576,4376,3703,3849,3833,3593,3605,3749,3627,4577,3872,3740,4578,4579,3989,3547,4580,4001,4581,3561,3759,3870,3785,3628,4583,4103,4584,3686,4585,3778,3712,3549,4586,3725,3822,4587,4588,4589,4481,3599,4590,4418,4357,3636,4399,3686,3561,3578,4591,4049,4592,3686,4079,4447,4298,3846,3869,3687,3823,4593,3808,3676,4594,4008,4595,3808,3874,3866,4596,4597,3737,4598,3980,3816,4599,3875,4600,4601,3676,3712,3678,4000,3705,4239,3749,3576,4602,4477,4603,3682,3700,3799,3753,3874,3703,4604,3650,4605,3719,4606,4071,3721,4507,4607,4608,3619,4163,3707,3720,4609,3901,4170,3703,4610,3549,4030,3780,4548,4611,3852,3686,4612,3555,3656,3872,4613,3687,4165,4614,4578,4615,4616,3531,4050,3982,4617,4618,4094,4619,3652,3578,4620,4621,4622,3549,4623,4035,4624,4068,3686,3939,3816,4625,4626,3875,4627,4105,4449,3780,4628,4629,4630,3750,3719,3894,3859,4631,4385,3563,3720,4632,4141,4324,4575,4633,3956,3611,3599,4002,3749,3813,3734,3653,4634,4125,3703,4049,3868,4032,3545,4635,4230,3915,3975,3799,4636,3762,4637,3797,4170,4638,4031,3628,3563,4610,4639,4640,4106,4641,4002,4642,3784,3664,4643,4644,3540,3780,3714,4645,4270,3659,4646,4647,3843,4648,3728,3709,4649,4650,4069,3915,4651,3816,3648,3753,3686,4652,3547,4653,4152,4654,3622,3975,4615,4117,4113,3862,4655,4304,3693,4614,3770,4656,3686,4381,3921,4444,4657,4658,4659,4660,3816,3608,4125,4661,3764,3943,4662,3822,3929,4578,3584,3780,3647,3622,4663,4664,3691,3901,4665,4666,4177,4117,4031,4667,3740,3700,4668,3700,3982,4669,3867,3922,3990,4670,4049,4672,4113,3880,4673,3792,3857,3682,4674,4094,4675,4676,4677,4678,4315,3932,4220,3956,3816,3617,4679,4680,4289,4094,4247,4681,3792,4682,3701,4683,3593,4684,4080,4207,3702,3764,3846,4685,3749,4686,3872,3915,4309,4687,4103,3749,4688,4689,3686,4225,3975,4690,4426,4691,4692,3845,3762,4693,3760,4094,3791,4694,4023,3714,3561,3707,4317,4008,3721,3628,4695,4149,3785,3611,4696,4604,3767,4697,3764,4698,4011,4046,4699,3915,3789,3727,4700,3766,3956,3653,4702,4703,3929,3700,4379,4567,4240,3749,4682,3833,4183,3717,4331,4704,3693,4705,4706,4707,3547,3597,4708,4709,4710,3752,4103,3563,4006,4711,3680,3712,4473,4253,3939,4068,4712,3686,4713,3664,3617,3822,3822,4714,4685,3930,4141,4286,3703,3549,4309,3540,3727,4008,4301,4715,4447,4069,3982,4716,4217,3720,4717,3686,3632,3761,4505,3792,3547,3999,4331,4718,3647,4719,4197,3778,3789,4720,3703,3610,3905,3622,4681,4721,3648,4133,4722,4723,3898,4166,4724,4292,4725,3702,3820,4379,3822,4726,3617,4727,4728,3982,3578,4729,3576,4015,4149,4144,4317,4558,4730,4731,3815,3750,4732,4733,3780,3770,3886,3686,4734,4262,3717,4735,3724,3875,3709,3724,3833,4737,4149,4738,4739,4255,3901,4256,4740,3917,4179,3770,4741,3726,4742,3958,3867,4743,4744,3797,4011,3578,3961,3724,4730,3619,4745,3800,4266,3720,4560,3712,4746,4692,3686,4747,3720,4381,4748,4749,4750,4751,4317,4652,3744,4752,4753,3822,4196,4754,3982,4755,4756,3712,3603,4757,3619,4758,3870,4759,4539,4760,4376,3875,3599,4149,3686,3579,4761,3989,4722,4105,4136,3726,4301,3760,3701,4633,4762,4749,4153,3633,4260,4763,3886,3843,3792,3719,4304,3845,4764,3579,3761,4765,3795,3875,3608,4766,4767,3855,4542,4768,4769,3711,4770,3854,3791,3720,3655,4771,4626,3988,3753,4106,4761,4772,3762,4773,3916,4591,4774,3763,4563,4776,4777,3910,3875,3956,4049,4778,3833,4770,3545,4241,3759,3764,3872,4116,3597,3795,3822,3872,4779,4568,4163,4780,4781,3813,4269,4783,3891,4080,3868,3961,3862,3870,4784,4785,4786,4787,4301,4047,3916,4788,3608,3686,3799,3531,3826,4438,3880,4789,4790,4791,3547,4379,4108,4301,4093,4792,3717,3923,4146,4430,3961,4793,3943,4794,3603,4035,4232,4196,4795,4796,3820,3771,4797,3785,3707,4798,4799,3611,4800,4801,3960,4802,3939,4803,4490,3822,4804,4268,3702,3875,3802,3725,4379,3875,4805,3760,3686,4806,3795,3777,4049,4306,3843,3611,4807,3545,4527,4808,4809,3961,3843,3647,4036,4430,3734,4036,4607,3664,4810,4811,3529,3726,4812,3622,4220,4378,4015,4813,3727,4814,4815,3581,3719,3578,4816,3961,3905,4309,4817,3831,4338,4818,4819,3619,4108,4820,4822,3610,3688,3939,3617,4823,3893,3632,3662,3664,3686,4824,3686,3837,3833,3736,3943,4030,3949,3874,4811,3770,3686,4309,4552,3686,4566,3721,4825,3545,3762,3545,4108,4826,3724,4149,4827,3703,4298,3874,3814,3823,4381,4828,3688,4829,3886,4830,3686,3633,3622,4801,4023,3872,4831,4832,4833,4834,3905,3627,4313,3831,3795,3690,4342,3628,4659,3686,3664,4724,4835,4836,3676,3529,3989,3939,3686,3929,3714,3622,4837,3584,4838,4002,4735,3823,4839,4840,3611,3894,4039,3968,3771,4841,3724,4842,3717,4843,3833,3752,4844,4071,3628,3794,4845,3728,3700,3703,3608,3822,3702,3750,4384,3730,3783,3740,3929,3740,3762,4047,4846,3901,4847,3795,3905,3576,4848,4001,4849,3717,3717,4047,4071,4850,3593,4851,4852,4026,3930,3771,4141,4853,4309,3832,4637,4218,3531,4026,3707,4854,3791,3608,4855,4856,3770,4857,3726,3753,3808,4858,4317,3686,3792,4859,4182,3846,4108,3611,3702,4002,4225,3905,3737,4787,3688,3652,4860,3822,3686,4861,3822,4862,4863,4092,4864,4149,3617,3759,3610,3777,4733,3975,3893,4865,3797,3989,4866,3872,4395,4867,3750,4163,3868,4868,4002,4708,4397,4869,4586,3686,4870,3789,3659,3680,4304,4238,3712,3923,3608,3915,3717,3750,3593,3799,4871,4872,3632,3894,3719,4874,4117,4875,3868,4876,3659,3540,4026,3862,4877,3894,4878,4079,4149,4879,4641,4103,3549,4553,3960,3579,4880,3633,3949,3686,4140,4881,4882,3780,3766,4883,4884,3750,4885,4886,4887,4888,3540,3822,3802,3783,3555,3894,3831,3867,3659,3900,3845,4889,4071,4891,3610,4298,3703,4161,4892,4893,3653,3530,3709,3767,4894,4895,4896,3603,4603,3763,4897,4170,3700,4579,3676,4379,4898,4899,4900,4901,3795,4902,4003,3845,4125,4098,3868,4903,4298,4904,4905,3872,3795,3628,3702,3740,3688,4149,3893,3529,3894,4707,4906,3547,3555,3693,4908,3784,4012,4511,4745,3905,3943,4147,4909,3599,4266,3749,3721,3707,3534,3549,4910,4911,4793,4912,3770,3593,3664,4831,4913,3943,4206,4914,3956,3696,3939,4915,4916,4392,3605,4917,4918,3721,4379,4919,4049,3593,4920,4346,3721,3707,4922,3578,3570,4639,4324,3905,4572,4923,4924,3652,3531,3597,3680,4567,3940,3785,4925,4926,4886,4069,4927,3633,3833,4928,3956,4929,3813,4834,3686,3874,4781,4930,3682,4931,3893,4932,3603,3700,4933,3917,4479,4103,3989,4371,4724,4746,3619,4136,3658,3843,4934,3939,4019,4742,4721,3647,4586,3752,4255,4457,3547,4103,3529,3584,3686,3968,3894,3784,4811,3693,4331,4094,3619,3540,4211,4447,3762,4935,3678,4936,3647,4937,4938,3799,4939,4940,3961,4264,3749,3789,3831,4662,4103,4904,4064,3938,3859,3993,3694,3720,3662,3879,3733,3989,4941,4942,3577,3814,4943,3783,4902,3813,3915,4944,4945,3712,3617,3874,4946,3771,4049,4149,3547,4947,4949,4225,3720,4950,3905,3816,4951,3962,4952,3726,3588,4953,4026,4954,3686,3686,4842,3547,4955,3579,3897,3875,3824,4956,4958,4959,4423,3617,3700,4049,3593,4960,3797,4961,4962,4071,3795,3750,4963,3867,4964,3599,3702,4965,4966,4967,3851,4047,3829,4968,3682,3703,3887,4682,4969,4970,4282,3778,3608,3764,4971,4972,3611,4973,3802,3653,4196,3939,4196,3601,3700,3789,4974,3578,3740,3678,3619,3597,4975,4976,4977,4290,3531,3820,4978,4979,4026,4980,4771,4981,4982,3929,4227,4983,4984,3750,3795,4985,3617,4036,4986,3693,4348,4183,4071,3700,4240,4622,4390,3622,4831,4414,4031,3694,4987,4064,3652,4418,3823,4178,3628,4988,4298,3673,4989,3858,3851,4990,4196,4094,4991,4992,3862,3678,4614,3726,4993,4994,4995,4996,3905,4938,3862,3540,3694,3861,4997,3935,3547,3858,4036,4071,3540,4026,3653,3794,4239,4908,4986,3777,3707,3719,4998,3693,3753,3780,4999,5000,4129,5001,3563,3656,4196,3547,3628,3872,3632,4639,4109,5002,3720,3650,3717,4301,5003,4103,4379,3700,4517,4183,3799,4301,4075,3704,3658,3700,3862,4008,5004,3994,4970,3965,4443,3647,4055,3688,5005,4376,5006,3712,5007,4353,4274,5008,3619,3868,3975,3784,3700,5009,4049,4731,4869,5010,3702,5011,3726,4153,5013,3632,3767,3847,5014,3749,4418,3687,3682,3958,4005,5015,4358,5016,3547,4163,3905,3752,3974,3862,5017,4049,5018,3681,3608,4748,4850,5019,3628,3593,4640,4129,4849,4558,4856,4031,5020,4202,3793,5021,3905,4094,4579,4001,4889,3816,3823,4794,4163,3869,4047,3843,3955,5022,3814,3929,3714,4679,5023,4872,3676,4470,3916,5024,5025,3658,3553,5026,4666,5027,3540,3540,4214,4751,3632,3540,5020,3843,3794,3717,5028,3867,3862,3531,4493,3561,3915,3797,3958,5029,3726,3561,3794,3549,5030,5031,4047,3943,4324,4313,3759,4064,4103,5032,3721,5033,3901,5034,4035,5035,3686,3845,3815,4031,4183,5036,4315,3703,4931,4113,4001,4103,3597,5037,4984,5038,5039,4766,3750,3994,4094,3605,3653,4211,3531,3749,5040,5041,3994,4351,3750,4262,4094,4174,5042,3664,3896,3703,4615,3961,4064,5043,4170,3686,3563,5045,3760,3578,5046,3664,4662,3608,4049,3783,4902,5047,3956,3608,3690,4225,3874,3686,3785,3717,3700,5048,5049,3814,3633,4183,5050,4666,4183,5051,3686,3854,3750,4162,4057,5052,3628,4381,3650,5053,3679,3686,4129,4103,4385,4806,3531,4879,4683,4825,3593,5054,4317,3846,5055,3593,5056,5057,4722,5058,3905,5059,4125,4035,3701,4560,5060,3579,5061,5062,5063,5064,5065,5066,4008,3579,3969,3632,5067,3783,3617,4457,3901,3777,3726,3622,5068,3794,4112,3584,3549,3737,4578,3763,3561,3960,4324,4302,3939,4545,5069,4071,5070,3792,3958,5071,3800,5072,4396,3750,3632,3707,5073,4766,3529,5074,4748,5075,5076,3982,4081,3561,3777,5077,3843,3540,3826,3599,4660,3783,3686,3627,3579,3893,3637,5078,3857,4008,3664,3686,4125,3628,3540,5079,4149,3637,3700,4714,3686,3701,3880,4094,5080,5081,3799,5082,5027,5083,5084,4662,3605,5085,3845,5009,4019,4129,3900,3687,3581,4317,3545,5042,5086,4334,4766,3845,5087,3686,5088,3578,3823,3653,3561,3726,3750,3701,4207,3813,3921,3717,3530,4643,5089,3901,5090,3792,3531,5091,3961,3916,3724,5092,4002,5093,4196,3573,3916,5094,3547,5095,3614,3752,3608,5096,3721,3702,4086,3792,5097,4232,5098,3813,4081,3760,3964,5099,5100,4163,3670,4071,4470,3733,3960,4064,3680,3900,3955,5032,4170,4976,4094,3749,4298,3788,5101,3916,3728,3763,3770,3664,4039,3653,3627,3975,3709,5102,4002,3750,3874,5103,5104,3722,5105,3727,3982,3720,3726,3868,5106,4163,3578,3603,5107,3820,5108,4079,3880,3686,3700,5081,4117,3875,5109,5110,3597,5111,4781,4232,3545,3686,5112,4002,3778,4785,4420,3704,3961,3759,4406,4094,4047,3800,4361,4898,3563,4552,5113,3845,3850,4047,3762,4082,3577,3975,4049,5114,4427,3890,3578,4817,3687,4887,5116,4228,3958,5117,4707,4520,3862,4023,3606,3728,3529,4026,3749,3576,4315,4025,5118,4514,5119,3633,4603,4103,3922,5120,3894,5121,3662,5122,3982,4260,5123,4856,3943,4144,3759,3703,3727,3876,4783,3833,5124,3823,4614,4435,4370,5125,5126,3762,3728,3787,3785,5127,3721,4232,3939,4427,3874,3653,3978,5128,4925,5129,5130,3874,5131,3833,3862,5132,4563,3688,5133,3691,3930,5134,3994,5135,3686,4001,5136,3894,4068,4071,5137,3795,3795,3601,3967,5138,3778,5139,3709,4049,4507,5140,5141,4126,3704,3686,4129,3547,3540,4036,5142,3749,3843,5143,3877,3792,4298,5144,3783,5145,3813,3608,3606,3693,3980,3833,4309,5146,3961,4669,3540,3734,4202,3686,5147,5148,3561,5149,3691,3980,3647,5150,5151,5152,4615,5153,4001,4690,3658,4105,3694,3662,4345,4317,5154,4049,4324,5155,5156,3686,5157,3961,3771,3823,3768,3622,3726,3802,3767,5158,4581,3921,3579,3579,4384,4447,3686,3958,3545,3914,4170,3993,5159,4301,5160,3599,3617,4117,3693,3563,4392,3875,3820,5161,3653,3714,5162,5163,4205,5080,5164,3628,4254,4035,3581,4008,5165,4262,5166,3823,3586,3686,4056,3686,4205,4263,3795,3763,3579,3653,3563,5167,3750,3547,3771,4494,3686,4647,5162,3816,3702,3611,5160,4779,3715,3816,4080,3549,5168,5169,5033,3680,4913,5170,4187,5171,5172,5173,3767,4778,3752,3799,3529,4026,3530,5174,3701,3929,3763,3791,4644,3868,4981,3792,3700,3802,5032,4068,5175,4115,3989,4035,3702,4578,5176,3753,5177,3956,3921,3719,3759,4785,4351,4117,3643,5178,4078,4350,3752,3917,3845,3701,3709,5179,4035,4458,3964,5180,3904,3628,3929,3712,3682,5181,5182,5183,4993,5184,4245,5185,3652,3778,5186,3727,3597,5187,5188,3851,3701,3686,4927,4635,3549,3593,5189,5190,3632,5191,4579,3610,5193,5194,4304,4163,4035,3969,5195,3694,3734,4407,5196,4209,3540,3872,3880,3622,4580,3628,4510,3783,3700,4170,4317,4986,3783,3761,3794,5197,3956,3960,3719,3726,4923,4016,4035,3833,4653,4346,5199,4255,4606,5200,4152,3823,4256,3792,3703,4537,4575,4094,3712,3982,3720,3882,3880,3927,3658,4919,3777,4185,5201,3975,4719,4914,3686,3750,3894,4867,5202,4716,3611,3886,3728,5203,5071,4309,4525,5204,3752,4023,3599,5205,3632,4944,3813,3760,5206,5207,5208,3763,5209,5120,4149,5210,3994,5063,5211,4919,3686,5212,3794,4811,3712,5213,5214,3783,3972,4818,3809,4049,4371,4372,3792,3791,5215,5216,3894,4580,4310,4747,3610,3797,4500,3709,3796,5217,5218,4019,3619,4376,5219,5017,4331,5220,3597,4603,3762,4643,3894,3843,4042,4433,5221,3793,4049,3792,5222,4994,5223,4544,3781,3843,4796,3887,4173,4449,4049,3843,3978,4036,3694,4298,5224,4903,4047,4123,3578,4152,3874,3975,3679,4105,3792,3724,5225,5226,5227,5024,5228,4015,4152,4317,3616,4150,5229,3740,3866,4107,4805,3623,4954,5230,3750,3770,5231,3615,4991,3578,3779,3672,3597,3577,3750,5232,4331,4088,5233,5234,3727,4064,3561,4579,3880,3676,5235,3764,3771,3653,4525,3749,5024,4788,5236,5237,5238,3986,5239,4218,4125,4557,3780,5240,4225,3982,3561,3967,4552,3632,4872,5241,3762,5242,5243,4919,3956,5244,3686,4599,3894,3777,4270,3822,5245,3719,4933,5246,5045,4739,3691,4103,5247,5248,5249,4418,5250,3905,3676,4010,4681,5154,5032,3653,3688,4196,3777,3610,3994,5251,5252,3701,5229,3975,3611,4476,4027,3773,5253,3785,3632,5089,3975,5254,4472,3721,3693,3549,4150,3907,3702,5255,3579,3572,3914,3619,3872,4478,3734,3896,3761,5256,3648,3771,5257,4887,3802,4183,5258,4232,3717,3529,3605,3869,5259,3579,3760,4001,4427,3647,4080,3737,4620,5260,3719,3719,3628,5261,5262,5263,5264,4819,5265,3734,3939,5266,3740,5267,5268,3771,4196,5269,3962,3686,3726,3785,5270,3693,3840,3843,5256,4943,5271,3608,3531,5272,5273,4626,3707,5274,3617,3763,4278,5276,5277,3887,5278,5279,4227,4853,3778,3658,5280,3783,4659,5281,3795,3622,3994,5282,5221,3694,5283,3686,3653,5284,4042,3893,5269,3531,3581,5065,4000,3561,3753,5101,3653,4918,3771,3686,3796,4187,3680,5285,3707,5286,3849,5287,5288,3619,3845,3763,4129,5289,5290,3540,5291,3874,5293,3816,4471,4001,4351,5294,3894,3688,3529,3659,5295,3967,5296,5297,3529,4049,4036,4672,4629,3561,4194,4078,3813,5298,5299,4816,4255,3764,5300,3880,3664,3960,4440,3597,3894,3686,3846,3578,3762,5110,4839,3540,3619,3530,3833,5301,3824,5302,5303,4219,4532,5304,4127,5305,5306,4379,5307,3599,3714,3549,5308,3686,5309,3929,3633,3540,3822,3688,3670,5310,4993,4183,4036,4522,3603,4178,5311,3719,5301,5065,5010,5312,3943,4467,4301,4086,3752,5313,4064,5314,5315,3712,3721,4103,3906,5316,3603,3778,3767,3926,5317,4819,5235,5318,4081,5319,4505,5189,4656,3632,4386,5320,3700,4881,5321,5322,3686,4984,4262,3779,3700,3691,3579,3701,3686,3762,3680,5323,3774,5324,3901,3980,4908,3603,5325,4064,4206,5326,3712,3759,4108,3778,3617,5070,4309,4976,5327,5280,3549,5328,4304,4704,3789,4019,5291,3628,5329,5330,5331,4447,4992,4784,5332,5333,3866,3813,3894,4113,3982,3615,3916,5334,4331,4379,3733,5335,5336,3958,5180,4531,3759,3797,3686,3645,4127,5337,3653,5338,3899,4173,5339,3603,4023,3719,5340,4266,3958,4717,4026,3709,4197,4941,5341,4719,3771,4517,3720,5342,4149,4492,3628,3653,3680,3761,5343,3820,3771,3873,3728,3628,3626,4183,3686,3824,5344,3770,3648,3943,5345,5346,3851,4047,5347,3799,4906,4626,5348,3726,3710,4081,3686,5349,5071,4818,3686,3785,5270,3686,4852,4055,5350,3693,3610,5351,3659,3561,3893,3785,4153,3929,3682,4196,3961,3795,4149,5352,4049,5353,5354,3682,4409,4345,5355,3676,3961,3740,4338,4393,5356,3686,5357,3761,3686,5358,4173,5359,3771,5360,3664,4850,5361,3802,4970,3610,3961,3714,5362,4047,3785,5363,3851,3893,5364,3948,3845,4831,4558,3905,3886,5365,4659,3815,5366,5367,5368,4149,5369,3820,3593,4298,3802,5370,3990,4790,3935,3980,4252,3764,5371,3726,5372,5322,3989,5373,3576,4933,3724,4141,3831,5374,3726,4071,4382,3714,5375,4514,3777,3843,4379,4750,4273,3712,3750,3980,3875,5376,3581,5377,3686,3874,3701,3652,3894,4071,3823,5378,4206,4002,3703,5379,5380,3611,5381,3686,3577,4240,4301,3664,3608,5382,3728,3726,3749,3785,3750,3662,4331,3764,3973,4008,4558,4313,4212,5383,5384,3653,3700,5385,3682,3658,3820,4754,5065,5386,3961,3680,3994,5387,5388,3714,3916,5389,4049,5390,3989,3686,5391,3792,5392,4669,3701,3802,3854,5393,3905,3893,3717,5394,5395,5396,3799,4081,4290,4105,5397,3610,3845,3846,3662,3960,3896,3576,5398,5399,5400,3702,4721,3968,3693,3759,4856,4816,4479,3882,3762,4925,3859,5401,3901,4183,3875,4196,5402,4922,3777,3917,4149,5064,4071,3872,3916,5308,3603,3720,4042,3670,4105,4237,5403,4674,5059,3633,3531,3771,4008,4427,4681,4026,3725,3691,3792,4740,3686,3619,4023,3700,3547,3608,3929,3845,4600,3896,3866,5404,3659,3632,3907,4862,5241,5405,3561,3845,3783,3726,3929,3686,5406,4905,3531,3905,4578,3837,5407,5408,3760,3714,3682,4977,5409,4933,4933,3712,5410,5411,4462,5413,3686,3738,5414,4129,4866,5090,4031,3929,4103,3822,5415,5416,4094,4935,3670,4499,5417,5063,3702,4376,4379,4047,5418,3851,5419,4133,3990,3770,4798,3802,3628,4326,4150,4410,4081,3816,3886,4578,4170,4034,3717,3968,4196,3894,4919,3709,3990,5420,5421,3778,3870,5422,4184,5423,3676,5240,5424,3712,5425,3740,5004,3686,3664,5009,3561,3637,4553,3789,5426,3664,5427,4094,4838,3720,3722,4817,3816,5428,3737,4047,3734,3686,3658,3710,4094,3686,3740,3686,4855,5063,5429,3862,3848,5430,3610,3728,5431,5206,3676,5432,4544,3767,3718,3632,3792,4370,3916,3958,5433,5434,4049,5328,3648,3702,3822,4933,5435,4838,4282,3563,3530,4163,5436,3563,3659,3709,4365,4653,4770,4396,4105,3872,5437,5438,5439,3668,3758,5440,5441,5442,3648,3750,3777,4908,4722,4204,4049,3530,3905,3868,4719,3833,4364,3561,4544,3632,4954,5443,3992,3686,4001,4063,4196,4919,4202,3724,3632,3622,3703,5444,4678,5445,4667,3673,3978,3905,5446,4031,4304,5088,3632,3762,4381,3719,4488,4899,5447,3780,3740,3789,4378,5448,5426,5259,5449,5344,3679,5450,3603,3989,4856,3872,3767,3771,3611,3658,4183,5451,3637,3823,3637,3529,4600,4406,4023,3680,4103,5240,4154,3678,3791,3759,4123,5281,4481,5452,5453,5454,4183,3854,5455,4167,4830,5457,3915,5458,3788,4869,5459,4862,3728,4035,5426,5460,3712,4049,4071,4933,3720,4553,3831,4036,5461,5462,5062,4273,3763,5463,4023,5464,5112,3561,3678,3958,5465,3936,4232,5220,5466,3784,4666,4663,4049,3686,4653,5467,4567,3982,4603,5454,4129,3599,5468,3939,5431,3676,5469,5470,3648,3609,4799,3637,3686,3632,3761,3686,3726,3795,4460,4348,5471,4507,4919,3904,3752,5472,4196,4878,4196,5473,5034,4100,3803,4233,4181,4914,3759,5474,3648,4572,3549,3540,3763,5475,3915,3763,4649,5476,4796,5132,4075,4478,3698,5477,5338,4062,4004,3834,4298,3750,3682,3749,3577,4312,3686,4402,3759,3891,5180,3653,5407,4207,3656,5478,3679,5479,5480,3762,4866,5481,3749,3577,3611,3622,3792,3686,3763,5482,3579,3994,4575,3547,3653,3770,3709,3992,5338,4966,5483,4659,3760,5117,3653,3652,3529,4615,3726,3616,3933,3994,3691,5484,4026,5485,5486,3633,3610,3975,3686,4507,3540,3676,3619,3679,3700,4878,4304,3545,3653,5149,3653,3533,4919,3576,4331,3750,3686,3637,5045,3703,5334,4172,4696,5257,4170,3753,3872,5487,3610,3720,5167,3664,3956,5488,3960,3968,5489,3958,3872,3593,5490,3611,3905,5491,3789,3581,5492,4309,5493,3915,3778,3958,5494,5041,5495,3611,3700,3795,3686,5496,4494,3581,3980,3762,3958,4836,5313,5497,3779,4047,3619,4031,4730,3749,4335,3740,4057,5498,4753,3662,4284,5499,4507,5500,3724,3771,5308,3905,3601,3749,3795,4023,3703,3611,5501,5216,5308,5502,5503,5504,4310,3851,3750,5327,3813,3576,4809,5269,4430,3693,4031,4226,4896,4706,4031,4255,3610,5362,5505,3686,4908,3687,5188,4232,3893,3794,5485,4031,3792,5506,4357,5507,3939,3886,4517,3808,5508,3686,3712,3579,3777,4008,3719,4034,3901,3610,3686,5509,3905,3943,3752,3794,5510,3726,4635,4004,5511,3701,3686,3845,5194,4001,4868,4161,3833,3712,5512,4707,5272,3521,3616,3597,4545,4317,3763,3764,5513,3696,3606,4315,3686,3701,4125,3727,3523,4576,3653,4902,3694,4129,4057,3767,3967,3759,4069,3702,3610,3794,5514,5515,5516,3597,5517,3894,3764,4544,3785,5518,3701,5081,3653,3791,3610,5467,4224,3687,4802,3968,3578,5519,3676,5259,4240,5348,3728,3611,3762,4126,5009,3648,3939,5520,3693,3750,4388,5521,5522,3795,3845,4068,5523,4302,4809,3770,5524,3714,3687,3720,4196,5525,3593,3933,5395,3645,3701,3740,3868,4232,3547,3894,3686,3930,3686,3721,5526,3759,3530,3686,3628,3609,3691,3982,3714,3686,5527,4507,3605,3686,3581,4232,4266,3759,3939,5528,3750,4889,5529,4113,4751,3561,3679,5530,4530,3794,3633,4266,4353,3720,5531,3653,3727,5532,4081,3980,3648,4819,5533,5509,4416,5090,4531,3750,3990,4717,3647,3752,3686,4200,4080,5327,3874,3879,3771,3875,3680,3956,3936,4226,5534,3693,3531,4812,3688,4270,3905,4032,3843,3886,3547,4395,5535,3964,3749,4809,4691,3656,3578,5536,3648,3628,4716,5537,3753,5116,4149,3819,5000,5538,5539,3700,3727,3927,5029,5540,5541,5542,5543,4004,5029,3712,3553,4113,4211,4563,4023,5242,4165,3833,3967,3680,3719,3766,5174,3688,3611,4586,3894,5544,4002,3753,4426,5545,5546,3753,5547,3994,3687,3954,3726,3872,3679,4125,3771,3680,3872,4042,4572,3808,4036,3778,4429,4664,3628,4922,3717,4257,4331,3877,5548,5549,3709,3632,5550,3750,5551,5123,5552,4892,3779,4056,3724,4692,4293,3593,4232,4111,5266,4001,3632,3916,5553,5554,3555,4586,4989,3734,3718,3715,5158,3915,3709,4055,3687,4843,4232,3693,5555,5511,3686,3994,3982,3795,3867,5401,5268,5556,3915,3682,3761,5299,4056,3734,3545,4002,3576,3760,3826,4447,5042,4211,5071,4624,4618,3938,4227,5557,3579,4317,4980,3617,4618,4036,3794,4037,3593,5558,3656,5243,4309,3975,4126,5487,3581,5559,3789,3686,4331,3916,3771,4831,3989,3676,3686,4234,5560,5561,3888,3605,4282,4232,3813,3851,3647,4298,5042,3785,3712,4353,4310,3637,4015,4376,3659,3955,5562,5563,3905,5015,4214,4001,3679,5529,4266,3761,4396,3980,4843,5564,4499,5565,3740,5566,4306,4022,3659,3993,5567,3975,3798,3647,3727,4548,4704,4098,3720,4964,3777,5568,4233,3750,3686,3982,3930,4493,5569,3617,3771,5570,3905,4204,4035,3875,5571,3686,3611,5572,4018,3822,3698,3632,5172,5429,4240,3799,5405,5059,3576,4919,3664,3593,3943,5573,5574,4334,3709,5575,5576,5577,3974,3700,4667,5578,3694,3913,3833,3610,4183,3961,5524,4092,3573,3704,3779,4263,3605,3901,3849,5579,5580,5563,4986,3851,4310,3637,5211,3789,4331,3958,3658,3802,5581,3700,4769,3686,3795,3763,3686,5582,4449,5583,3877,3653,3664,3816,3593,4696,5584,4291,5585,3764,3686,3749,5586,3851,4309,5587,5588,4304,3994,4669,5112,3728,3862,4962,3664,4298,5224,3578,4064,3726,3680,5589,5375,4406,4065,4352,5590,3744,5591,5235,5592,4733,5593,3686,3980,3578,3783,4071,4103,3585,4798,5301,3720,4273,5594,3643,4942,5441,3771,4659,3616,4721,4081,4586,3893,4049,3632,3894,4331,4250,5045,4937,4296,3789,5595,4428,5596,3702,5597,3894,3813,5437,4357,5598,3712,4286,4119,3826,3750,3610,5599,3874,5600,5601,3540,3633,3608,5015,3598,3597,3691,5602,5603,4317,3990,3686,4129,5605,3701,4023,3704,3720,4015,3851,3710,3709,5406,4306,4566,5530,3611,3673,5561,5606,3617,3859,3550,3686,5607,4974,5116,4481,4392,3795,3599,3712,3761,5609,3547,3599,3599,5610,3875,5611,4149,3750,3852,4769,3799,3893,5546,3816,3797,3760,3659,5612,3893,3687,3686,3982,5613,3673,5197,3780,4812,4392,3960,5614,3605,3802,5615,4721,3529,3610,3652,4160,5616,3686,4000,3727,4470,5348,4301,5570,4811,3875,3531,5617,5226,3578,3867,5203,3709,5618,3540,3686,5619,3868,4685,4094,4999,3901,4202,5620,3760,3833,3599,3994,5621,5435,5622,3823,5623,4631,3578,5188,4015,3886,3960,3927,3905,4219,4094,3761,5624,4566,3709,4199,4239,5625,3752,5626,5461,3929,3577,4433,4227,3581,4056,3968,3705,3549,3599,3994,3906,5372,5164,4397,5627,5628,3789,3982,5629,5630,3958,3599,4149,4039,4719,4297,3927,5631,5632,3921,5419,3682,3760,5633,4117,4830,3682,4036,5034,5626,3910,5634,3783,5617,3547,4129,5256,3854,5009,3833,4042,3777,3993,4103,3553,3935,3628,3721,5635,4129,3726,3648,3960,3688,4496,5636,4068,3867,4022,3686,3569,3800,3658,4001,3779,4371,3872,3875,3862,5101,3686,4153,5638,4140,3597,5639,4753,3905,3893,5640,5518,5641,4069,5448,5642,3599,4230,5467,4469,5419,3898,4614,4010,3715,3553,5643,5644,4105,4470,3579,3648,3762,5227,4910,3929,3712,3843,4843,4057,4655,4537,5426,4960,4039,5645,4304,3701,5243,5646,4614,5647,3680,4149,4047,3966,3777,3875,3762,3828,3780,3628,4228,5076,4049,3961,3956,4004,3930,3686,3793,4071,3921,5042,5648,4324,3737,3930,5550,3670,4056,4566,3664,5014,3670,5208,5430,5649,3680,5650,3686,3696,5651,4288,5652,3656,3617,3802,5653,4049,4081,5654,4238,5655,4481,5300,3549,3628,4068,5029,3678,3994,3610,3849,3802,4986,4877,5227,4350,5656,3783,4196,3763,3874,3733,3724,3693,3707,3872,5657,5658,5659,3593,5492,3576,3691,5645,4199,3659,3846,4644,4008,5660,3932,4258,3886,5401,3915,3777,3846,3561,5661,5375,3759,5662,4831,5663,3593,4558,3658,3759,4144,3777,4218,5664,3752,3964,5230,4610,5665,4905,3577,3843,4086,5666,3939,4825,4035,5338,3686,4079,4158,3906,3872,4501,5667,3993,5668,3579,4202,5669,3905,3750,3749,4023,4049,4068,5064,3791,5544,4831,5670,4149,3767,3717,3868,5671,3664,3525,4418,4398,3870,5672,5673,4919,3750,4785,3926,3693,4694,4724,3795,5674,5030,5307,5131,5561,3799,5675,3824,3749,5284,3943,4773,3843,5676,3622,4419,3958,5533,4704,5677,4447,5678,5679,3717,3664,4284,5680,4108,3826,4242,3578,3709,5681,5682,3943,4548,4232,4122,5302,3637,3877,4228,3740,5518,3691,3851,3815,3770,4170,3593,4026,3794,3648,3540,3894,3966,3703,4317,4049,3610,4153,3914,5683,4225,4129,3929,4228,3833,5042,3793,5020,4103,4240,3700,4278,4681,4419,4170,3700,5684,4531,5685,3915,3659,3982,3794,3658,4125,3576,3726,4298,3896,5686,3637,3529,5033,4717,3581,4112,3682,5519,4748,3714,3561,3545,5687,4225,4938,5688,3797,4049,3653,3761,5689,3605,5448,5690,3960,3686,5691,3813,3545,4136,4409,4064,4458,5692,3707,3779,3664,5147,3693,3647,3599,5693,5694,3658,3961,4136,5235,4070,3714,4209,3763,3961,3676,5695,4869,3622,3845,4963,3930,3980,4538,5682,4010,3540,3686,3581,5696,3894,4457,5618,4039,3851,5697,3753,3561,5424,4597,3820,3774,4115,3905,4614,3822,3802,5698,5019,5699,3703,3753,5700,5300,4706,3686,5199,5701,4809,4240,3872,3728,5527,3750,3652,5702,4036,3895,3555,4055,3845,3632,5703,3700,3843,5704,5009,3619,4064,3752,5705,3563,3622,5706,4001,3576,3822,4064,4298,4825,3531,3628,4317,3822,4780,4739,3703,3686,3610,5422,5224,5707,4002,3643,5396,5708,4780,3628,3686,3673,3794,4419,5709,4031,3862,3872,3610,3750,4008,4196,3581,5710,4094,5487,3540,3704,3843,3738,3563,4542,5334,4614,3943,4724,4125,3701,5711,3563,3581,5712,3789,3968,3628,3726,3664,3668,3980,3872,5590,3967,3740,3936,3916,3608,5713,3628,3529,3691,4398,5636,3753,3676,3753,5714,5715,5716,4331,4441,5717,4979,5718,4781,5719,3633,3701,5720,5364,5721,5515,3611,3794,3740,3762,4817,3749,3826,3622,5449,3823,3975,5722,3637,3728,3550,5235,4543,3664,3719,4108,3652,4370,3686,5723,5724,3622,5725,3664,3628,3714,3771,3577,5726,4069,3702,3712,5576,4658,4177,5727,3709,3794,4238,4125,4211,4266,3822,3799,5728,4405,3764,3955,3686,4443,5729,5338,4125,3659,3880,3846,4979,3681,4094,3780,3659,3700,4298,4000,3731,5730,5538,4039,4204,3720,3593,3653,3658,3662,5129,4811,3994,4185,5086,4662,4035,3647,4124,4149,5597,4491,4902,4889,3581,5731,3693,5015,3990,4435,5732,4170,4724,3783,3579,4409,3982,5308,3938,3693,5733,3700,3531,3750,3617,3802,3778,3659,3656,4418,3862,3929,3619,3597,5734,4035,4026,3760,3555,5735,3872,3720,4938,3593,4031,4225,3763,4153,3894,4158,3686,5597,4211,5579,3960,5736,3726,3686,3749,5737,3792,4049,3707,3530,3749,4976,3982,3792,3856,3846,5569,4739,5160,4184,3868,4324,3777,4331,3759,3730,5647,5327,3750,5270,3726,3787,3956,5738,3763,4525,4806,4908,5739,3893,3989,3782,5740,5741,4447,3531,3687,4794,3761,4125,3653,3982,3547,4608,4063,4818,3530,5742,3851,4802,3540,5667,3869,3753,3785,3767,3750,4036,3547,3833,3686,3691,5743,4152,5027,3816,3843,5744,3958,3960,3797,4413,5745,3896,3707,3915,4836,3707,4304,5746,3547,4185,3597,4304,5747,3652,3611,4012,4232,3619,3891,5022,5748,4103,4026,5749,4548,4026,5331,3905,3682,5750,3628,4301,5751,3750,5752,4811,3680,3843,4240,4049,3879,4891,3547,4538,4309,5208,3653,4207,4012,4565,5753,4103,3576,5040,3724,4208,3648,5754,3622,4192,4460,4371,3794,5308,3686,4698,4889,5051,4904,4925,3686,5755,4869,3749,4212,4238,4208,4728,5668,5033,5132,3770,3851,3529,5717,3686,3549,5756,3779,3794,5757,5758,5759,4571,4149,3659,3870,5760,5761,3750,4962,3688,3764,5762,3799,4301,3728,3632,4639,3686,4938,3785,3915,3822,3777,4681,3752,5675,5763,3531,4068,5015,5764,3799,3579,3547,3709,4263,4659,3561,4240,3721,3576,5183,4507,4558,4426,3611,4117,3916,4622,4379,3622,4254,3994,3795,4239,3577,4610,3709,4015,3529,3599,5765,3632,5766,3814,3770,3749,5728,3901,3611,3972,4112,5767,5701,4032,4252,3764,5280,4031,4183,3727,4817,5522,3632,4283,5257,3892,4770,4919,3982,5768,4008,3577,4458,3632,5064,4230,4525,5769,3807,3990,4698,4010,4674,3579,4049,4572,3652,5770,4185,4240,4094,5732,3780,5042,3608,3797,3693,3701,3579,5771,5015,3593,3670,5772,5773,4686,3593,3843,3858,5313,5774,4716,5652,5775,5776,3905,3929,3846,3763,3632,4068,5777,5301,3702,4938,5778,3822,3843,4290,4008,5537,3989,3823,5779,3686,4502,3778,5780,4036,4047,5698,3874,3709,4163,4599,5401,3831,4068,4739,5781,3593,3820,3785,4077,4992,3666,4433,3886,4263,4993,4461,4068,4193,3680,3735,5782,3703,4288,4414,4153,4993,3740,3779,3530,4623,4266,4805,5783,5784,3686,5083,3794,3719,4357,4783,4256,4831,4823,4108,3874,4798,3738,5785,4536,4908,4086,3982,4965,3686,4016,3643,3942,5701,5786,4315,4160,4447,4617,3703,4266,5787,5606,3610,4320,3724,3550,5547,3691,3693,4001,3779,3682,5311,5466,4615,4919,4223,4068,4902,4478,3670,4008,4196,3593,3726,3714,3851,3561,3866,3619,4426,3686,3814,4094,3752,4205,3777,5533,5167,5182,3947,3577,3700,3874,4028,3686,4407,4895,5668,3686,3939,3663,3846,4666,3719,3530,4329,3682,4520,4310,4346,3707,3540,5677,5426,4063,3664,5749,3728,3824,3734,3777,3975,3845,4344,3579,3611,4910,5462,3529,3750,3845,4049,4039,3577,3529,3658,3898,4376,3956,4056,3771,3955,4177,4026,5788,5789,3627,3701,5790,4913,3881,3680,3670,3659,5791,3633,5288,3707,5792,5793,4196,5794,5795,4317,3579,3714,5567,4448,3764,5796,4036,3686,3749,4047,3686,3545,3813,3872,3693,3823,3540,4444,4567,4026,3773,4225,3686,4036,4430,4063,5438,3686,5716,5230,3707,3628,4136,5797,4960,5798,3627,5799,3791,5800,3643,4811,3712,3894,3670,5106,3728,5160,3588,3779,5801,5802,3771,3648,4047,3728,3843,3975,4669,5803,3795,5804,3982,5805,5806,5722,5807,3705,5808,4217,4329,5809,3967,3752,4108,5810,3686,4770,4131,5811,3955,3637,4217,4028,3874,3653,3750,3760,4481,4549,4141,5812,4019,3687,3676,4019,5813,3989,5232,3664,5814,5229,3715,3626,3632,3611,5815,4049,5675,3894,4430,3701,5366,4483,5280,5600,5610,4640,3643,5816,3686,4688,4652,4286,5817,4134,5818,3958,3648,3770,4032,3686,3780,5225,3901,4266,3686,3686,3851,5819,5566,4910,4018,4860,3728,4232,3581,5752,3727,3868,3670,4810,3693,5804,3599,4230,3851,3686,5820,4125,5821,3632,5822,3795,5823,5030,4266,4433,3831,5824,3670,3752,5825,3750,5826,5827,4010,3535,3876,5634,4348,4094,5828,3670,5829,4588,4513,5768,3664,5122,3926,3676,3670,5830,3647,3728,4161,4079,3680,3886,3588,3808,5331,3626,3653,4026,3958,3960,5831,5832,4938,4153,5833,4055,3727,3603,3872,3779,5074,4673,4913,3547,3794,4363,4288,3579,3777,3691,5780,3882,4068,4283,3599,3888,4447,3726,4831,5530,4094,5834,3622,4204,4219,5835,3712,4196,3579,5836,3795,5837,3547,5683,4187,4566,3820,5065,5838,3905,4981,3529,3705,3561,3678,4069,3545,4306,3893,4103,3709,4614,4037,3599,3961,5839,3905,3686,5634,4811,5656,3822,5840,3939,3967,3664,4270,3727,4577,4905,4126,3879,5156,5841,3914,3844,5842,4240,5133,5843,5844,3833,3917,3673,3680,3761,4173,3763,5845,3720,5846,3809,5800,5296,3584,5847,3712,3994,5848,3770,5849,5850,5851,5852,4520,5238,3791,4451,3676,5853,4772,4146,3703,3875,5600,3822,3622,3875,3530,5854,5855,5856,3719,5857,5858,3726,4103,3877,4614,5859,5485,3655,3833,3882,4225,3659,5860,3869,5752,3733,5454,4392,5861,5862,5610,3915,3916,5863,3961,4240,3760,4388,4576,5864,4716,3893,5020,4023,4794,4094,3561,4219,3577,3901,5865,5610,3960,4960,5419,3994,4644,3936,4298,5866,5867,4094,4049,4049,3759,3976,4742,4125,3874,3563,3762,4286,5264,5053,4069,3632,5467,3980,3782,3845,4094,3616,4507,5091,3905,4549,3770,4830,4750,3676,3994,3540,3653,4871,3632,3862,3760,4363,5868,3682,3753,3791,4704,5391,4844,4213,3780,5869,4938,5870,5871,5872,4094,3597,5873,5874,4855,3577,3610,3700,3783,5519,3686,3691,3581,3772,3771,4049,3707,3862,3686,3686,5186,3749,5103,3845,3588,4986,5875,5876,5668,4023,5877,3990,3545,5878,3726,3766,3846,3929,3778,3921,3682,3793,3921,4240,3816,5474,4477,4001,5879,3581,3750,5675,3693,3686,3531,3982,3576,3802,5865,5379,3993,4286,5880,4639,5509,4308,3652,3993,5688,4944,5086,5754,3760,5511,4902,4078,5079,4329,4895,3822,4002,3724,3547,5881,3694,3960,5882,3619,4103,3686,3686,3760,4105,3894,3896,5240,3761,4861,5085,3752,5203,4365,3693,3693,3693,3693,3693,5079,3760,4315,4105,4426,5883,3814,5773,4071,4240,4377,5884,4263,4270,4496,5885,3770,5886,3670,5744,3599,3707,5780,5887,4458,3894,5232,3961,3753,3709,5888,3599,4335,5889,3593,3691,4023,3714,3722,4049,5890,4108,4029,3599,4008,3797,3750,3795,3540,3916,3658,4127,3719,5814,5038,3915,5891,3676,3823,5892,3875,3702,5893,4263,4124,5894,3763,3617,5895,3721,3750,3795,5005,4833,5896,4984,3806,5077,4345,4039,4071,5580,3686,3749,3719,3956,4929,4567,3702,4633,3843,5897,5898,5070,3778,5058,5899,4046,4376,4378,4026,3759,3901,4068,4949,5900,5901,3605,3577,3628,4049,5902,5281,4525,5903,4149,5904,5905,3664,3734,3833,5906,5907,3759,5908,4039,4617,5909,5910,3622,5911,3535,3960,4015,3797,3808,3764,5003,3531,3763,3770,4266,4750,3720,3611,5087,3719,3611,4731,4317,3994,4533,3770,4514,3989,4183,4705,3824,4258,3792,3714,5257,4071,4108,5912,4668,5913,3632,4772,3724,3767,3873,3545,3700,4129,4833,3888,4189,4615,3975,3824,5651,4558,3752,5914,4331,4938,3785,5309,4389,3709,5770,3727,3686,4094,3799,3820,5915,3750,5916,5849,3561,5917,3628,4225,3802,5518,3812,5918,4204,3712,3721,3778,3576,3709,3896,5919,3896,4735,4183,4938,3555,4001,3770,3845,3893,3763,3680,5920,3982,3549,5230,4779,5921,3585,3767,3709,4220,3693,4194,3549,3960,3933,5922,4001,4850,3540,5189,5517,4149,3777,4125,5514,3961,3981,5817,5923,4108,3724,3845,3915,3563,5924,5925,5926,3608,4211,5306,5152,4123,3632,4698,3759,5927,4023,3943,3700,3608,5928,3939,4055,4064,5620,5577,3764,3960,4859,4464,3894,3750,3719,5752,3777,3591,4423,4105,5042,4374,4392,5865,3777,4614,3608,5242,3622,3652,5071,3777,4529,3622,4031,3547,3540,5280,3816,5410,5929,3603,4146,3652,3727,4514,3975,4129,3578,3795,5576,3867,5930,5510,4169,5158,3715,3880,3880,3763,3975,3771,3702,4770,3813,3637,3780,3794,4015,3939,3877,5931,3707,4183,5932,4108,5933,4973,4055,5365,3627,3740,3824,3784,3868,4742,3686,5460,4129,3593,3845,3702,4378,4825,5934,4225,5518,4049,3561,4334,4213,3990,3691,4094,3686,4257,4693,5439,3632,3648,4392,3802,3686,5935,5936,4047,3813,3632,3821,4812,5937,5938,4301,5703,5939,5940,3886,3805,3619,3767,4351,4254,5303,5255,4230,3752,5880,5375,3714,4402,3779,4853,5897,3597,5941,4919,5942,5617,5010,3975,3906,3845,3593,4035,3797,5943,3703,5400,5487,5794,5944,4933,4548,3579,4623,5945,4517,3686,3720,3791,3960,3776,3738,4928,3794,3794,3916,5946,5947,5423,3637,3794,3698,5130,4851,5216,3597,5948,3813,5325,3875,4960,3653,5949,4080,4501,4880,4514,3540,5613,3686,3686,5950,4919,3679,3686,4203,4298,3980,3777,5610,5791,3735,3709,3576,5951,5029,5406,4207,4163,4637,3851,5032,4075,3795,5952,5953,5954,4204,3686,3686,4910,4205,4064,4982,3929,5955,5158,4328,3727,3686,3795,3929,5956,3845,4241,4653,3680,3608,5957,3686,3794,3962,3781,3932,5958,3576,3619,5959,5379,4617,3791,4896,4640,3876,3877,4628,4324,4869,3831,3593,3530,3802,3897,4956,4343,4674,3822,3750,3727,3780,4609,3780,5713,3605,3605,3597,5960,4610,5961,5271,3703,5363,3686,4545,4938,4705,3961,3686,4049,3581,3608,3780,3826,4203,4952,3632,4478,5962,5963,4545,3578,5964,5965,3797,5564,4991,4429,4381,5966,5577,4481,5279,4317,4854,3579,4049,3813,4108,4354,3709,3597,5648,3664,5564,5051,4141,3599,5480,4016,3579,5967,5668,5968,5968,5968,5968,5968,5969,3717,4995,5970,3926,3972,5074,3712,3816,5971,4233,5345,4743,4966,3868,5972,5973,4545,3762,4136,4379,4241,5034,3549,5974,4057,3691,3921,3619,3820,5742,4481,5975,5976,4788,5977,5625,5086,3691,4064,5675,5978,4788,3688,4576,3593,5004,3845,3862,4146,3597,4163,5223,3750,5979,3617,4239,3652,3658,3700,3599,3610,3724,3797,4426,3795,4817,3599,5980,4331,3610,3763,3608,4078,3887,5033,4741,3734,4963,3762,3662,3686,4039,4274,3553,5236,3694,3545,3869,4158,3845,3691,3547,5981,4925,5982,5983,4031,4517,5426,3686,3623,3702,4766,3705,4914,5522,3761,5266,3579,3726,3862,5984,3960,3939,4063,3929,4105,3680,4593,3611,5985,4036,4094,5986,5987,5376,3778,4381,3927,3845,3994,4783,5029,3709,3975,3686,5988,3915,3750,3929,3875,4198,5989,4023,5990,5924,4479,3603,4078,4039,4953,5991,4371,5992,4953,3840,3764,4589,4647,3792,3737,3777,3670,3820,3628,5993,4023,5862,5994,5185,4117,4163,3593,4405,4516,3994,5995,4615,3809,3659,5362,5996,4627,3707,3679,3822,3816,5961,3643,3647,3549,3862,3686,3686,3599,5426,3792,5791,3760,5590,3728,5990,4018,3579,4035,4637,3785,4588,3822,4566,5997,5998,5999,6000,3761,3579,3547,4476,3989,3930,3726,3766,4196,3787,3659,3593,3750,3982,6001,3686,3867,4511,3680,4309,4071,3893,4113,3750,5419,3887,4008,4902,4129,5184,4471,5074,4406,3916,3637,5698,3793,4447,3709,4595,5400,3633,3872,3531,6002,5697,5929,6003,3561,3648,3797,3597,3627,4214,3593,3780,3943,5601,3531,3764,6004,4194,3597,5330,4440,4030,3658,3770,3703,5017,4643,3933,3652,4049,3712,3881,4309,4723,3709,4351,3593,3872,4316,4381,5520,4035,3833,5186,3958,3682,4447,4654,3709,3724,3880,3960,4674,3605,3915,3686,3540,3588,3794,4585,3686,4312,5792,4031,3868,4149,4147,4137,3990,6005,4094,3894,3563,4376,4211,4392,3780,5419,3703,6006,5004,3712,5778,3872,3753,4227,3822,3710,3833,6007,6008,3867,6009,3958,6010,4105,3700,4331,6011,3868,5307,4830,5136,4256,4669,4381,3943,4055,3578,3547,3960,3691,3929,3610,5036,4902,3868,5989,3901,5957,3608,3990,3916,5914,3659,6012,4129,4310,3955,4094,6013,3753,4719,6014,4008,3728,4047,4002,3680,3975,4081,4023,3611,3652,4320,3896,3597,3728,4659,3654,6022,6026,6032,6034,6038,6042,6043,6046,6047,6048,6048,6048,6048,6048,6049,6050,6050,6053,6054,6055,6058,6059,6058,6062,6079,6085,6088,6091,6094,6096,6097,6098],"time":[116605414.537855,116605418.734415,116605420.332761,116605423.189167,116605425.099977,116605426.779418,116605428.26199,116605429.533228,116605430.577629,116605431.496979,116605432.339625,116605433.121032,116605433.885871,116605434.610152,116605435.321692,116605436.036762,116605436.785633,116605437.519184,116605438.305754,116605439.153588,116605440.020961,116605440.921613,116605441.842995,116605442.783036,116605443.729955,116605444.690625,116605445.683014,116605446.658931,116605447.653787,116605448.688511,116605449.711743,116605450.727888,116605451.749892,116605452.779724,116605453.804172,116605454.841544,116605455.852704,116605456.860348,116605457.885813,116605458.908838,116605459.990302,116605461.022074,116605462.01309,116605463.004822,116605463.998721,116605465.015698,116605466.031928,116605467.043875,116605468.096949,116605469.111017,116605470.117491,116605471.109866,116605472.101039,116605473.099647,116605474.125957,116605475.151405,116605476.163431,116605477.178347,116605478.179389,116605479.178834,116605480.169474,116605481.148499,116605482.130088,116605483.216285,116605484.217792,116605485.209641,116605486.201848,116605487.196307,116605488.19176,116605489.187694,116605490.197931,116605491.21799,116605492.235047,116605493.247388,116605494.296187,116605495.30195,116605496.322499,116605497.340009,116605498.35903,116605499.36804,116605500.373101,116605501.352949,116605502.334181,116605503.320025,116605504.309808,116605505.302498,116605506.319157,116605507.312914,116605509.505787,116605511.213835,116605512.711614,116605514.085894,116605515.325593,116605516.501456,116605517.369806,116605517.865121,116605518.364441,116605518.963817,116605519.645283,116605520.409534,116605521.249935,116605522.156247,116605523.088471,116605524.016145,116605524.995023,116605526.033018,116605527.067962,116605528.117019,116605529.15621,116605530.185604,116605531.207084,116605532.254956,116605533.296264,116605534.328601,116605535.378856,116605536.414085,116605537.440646,116605538.457023,116605539.469358,116605540.466218,116605541.443507,116605542.410595,116605543.374214,116605544.345796,116605545.327489,116605546.317792,116605547.337794,116605548.343166,116605549.332677,116605550.317384,116605551.306631,116605552.319973,116605553.352603,116605554.374934,116605555.379034,116605556.377896,116605557.376282,116605558.38632,116605559.456841,116605560.468629,116605561.471799,116605562.487206,116605563.530901,116605564.539932,116605565.536128,116605566.541794,116605567.530827,116605568.526109,116605569.524174,116605570.570577,116605571.56329,116605572.552294,116605573.5448,116605574.537728,116605575.532482,116605576.519565,116605577.508481,116605578.50009,116605579.480813,116605580.465843,116605581.455339,116605582.435594,116605583.420488,116605584.422408,116605585.411904,116605586.40228,116605587.401497,116605588.485774,116605589.505866,116605590.509531,116605591.49823,116605592.469774,116605593.457918,116605594.494357,116605595.482808,116605596.459998,116605597.46594,116605598.466628,116605599.483729,116605600.473588,116605601.474792,116605602.486131,116605603.499613,116605604.497492,116605605.517399,116605606.519809,116605607.520118,116605608.511819,116605609.507886,116605610.520803,116605611.520889,116605612.570658,116605613.593476,116605614.595963,116605615.578469,116605616.554965,116605617.546005,116605618.530796,116605619.52745,116605620.546496,116605621.551649,116605622.565809,116605623.571051,116605624.559071,116605625.559489,116605626.542667,116605627.527084,116605628.526477,116605629.518964,116605630.510432,116605631.491784,116605632.466741,116605633.444896,116605634.441735,116605635.439966,116605636.426455,116605637.427808,116605638.429986,116605639.43253,116605640.434892,116605641.426619,116605642.41562,116605643.409484,116605644.4266,116605645.442948,116605646.458908,116605647.470702,116605648.476128,116605649.504469,116605650.515506,116605651.535409,116605652.552041,116605653.572226,116605654.585616,116605655.590035,116605656.591854,116605657.605457,116605658.633982,116605659.628671,116605660.62933,116605661.650599,116605662.703944,116605663.739111,116605664.762764,116605665.825679,116605666.86534,116605667.872806,116605668.863971,116605669.834848,116605670.803712,116605671.756746,116605672.716713,116605673.670075,116605674.620227,116605675.551096,116605676.486257,116605677.417402,116605678.331327,116605679.250749,116605680.262227,116605681.20926,116605682.160652,116605683.152122,116605684.188186,116605685.248993,116605686.318797,116605687.383747,116605688.457617,116605689.488821,116605690.519381,116605691.532872,116605692.563432,116605693.583823,116605694.604274,116605695.605676,116605696.588182,116605697.592942,116605698.602885,116605699.620737,116605700.626593,116605701.628307,116605702.640402,116605703.651741,116605704.648741,116605705.644998,116605706.6366,116605707.618261,116605708.594886,116605709.576964,116605710.563049,116605711.552764,116605712.545479,116605713.553299,116605714.524153,116605715.497681,116605716.488756,116605717.476505,116605718.478016,116605719.489905,116605720.506153,116605721.501058,116605722.490107,116605723.473388,116605724.459434,116605725.448963,116605726.455262,116605727.456797,116605728.460651,116605729.455417,116605730.447584,116605731.441525,116605732.436457,116605733.433048,116605734.439061,116605735.444958,116605736.451708,116605737.470292,116605738.488858,116605739.502586,116605740.512602,116605741.516861,116605742.528335,116605743.536139,116605744.534771,116605745.534205,116605746.537834,116605747.577525,116605748.59629,116605749.607616,116605750.62347,116605751.632609,116605752.642675,116605753.642325,116605754.640806,116605755.639922,116605756.619787,116605757.596626,116605758.578525,116605759.582806,116605760.578506,116605761.576619,116605762.573368,116605763.563126,116605764.554206,116605765.54775,116605766.527523,116605767.500714,116605768.539159,116605769.530541,116605770.518764,116605771.496342,116605772.489733,116605773.49819,116605774.506794,116605775.524032,116605776.535002,116605777.542612,116605778.54969,116605779.546026,116605780.544211,116605781.54056,116605782.547293,116605783.554803,116605784.560599,116605785.561503,116605786.603276,116605787.595459,116605788.582866,116605789.584112,116605790.597713,116605791.608701,116605792.617115,116605793.622988,116605794.636645,116605795.639651,116605796.64007,116605797.640216,116605798.640761,116605799.62305,116605800.600246,116605801.582406,116605802.57253,116605803.562644,116605804.554773,116605805.532839,116605806.506504,116605807.496902,116605808.480292,116605809.485601,116605810.486185,116605811.485846,116605812.472387,116605813.48108,116605814.469764,116605815.459257,116605816.465266,116605817.481862,116605818.4955,116605819.505966,116605820.521063,116605821.528571,116605822.530648,116605823.545817,116605824.545743,116605825.536136,116605826.511327,116605827.497915,116605828.480416,116605829.474951,116605830.49473,116605831.519842,116605832.530014,116605833.532362,116605834.533347,116605835.534151,116605836.534209,116605837.534462,116605838.534804,116605839.551019,116605840.574728,116605841.601422,116605842.624139,116605843.641577,116605844.646388,116605845.640726,116605846.668627,116605847.640445,116605848.613145,116605849.578056,116605850.540573,116605851.518271,116605852.516473,116605853.498823,116605854.493748,116605855.48934,116605856.475628,116605857.473794,116605858.464637,116605859.457718,116605860.460915,116605861.478832,116605862.501631,116605863.566292,116605864.57506,116605865.58142,116605866.575124,116605867.575212,116605868.566919,116605869.55974,116605870.555087,116605871.550631,116605872.524484,116605873.501213,116605874.492401,116605875.489592,116605876.476661,116605877.478171,116605878.468844,116605879.508066,116605880.53204,116605881.522619,116605882.52163,116605883.526835,116605884.53117,116605885.534156,116605886.536956,116605887.542949,116605888.556601,116605889.571528,116605890.592442,116605891.608723,116605892.627305,116605893.642089,116605894.653268,116605895.661466,116605896.699593,116605897.69203,116605898.681928,116605899.650179,116605900.623718,116605901.603394,116605902.631174,116605903.616095,116605904.598954,116605905.592382,116605906.568404,116605907.57958,116605908.537329,116605909.501707,116605910.473092,116605911.463708,116605912.464788,116605913.985404,116605914.957773,116605915.93162,116605916.890398,116605917.83506,116605918.78596,116605919.767787,116605920.766478,116605921.790656,116605922.807855,116605923.853959,116605924.956206,116605926.075887,116605927.158558,116605928.218523,116605929.262284,116605930.325896,116605931.351815,116605932.361381,116605933.367043,116605934.370823,116605935.377837,116605936.350394,116605937.306021,116605938.261837,116605939.237178,116605940.201333,116605941.16468,116605942.132882,116605943.11072,116605944.077886,116605945.06676,116605946.10141,116605947.33446,116605948.556706,116605949.579634,116605950.475273,116605951.361853,116605952.285603,116605953.221305,116605954.170702,116605955.133479,116605956.106911,116605957.108936,116605958.115011,116605959.119431,116605960.123744,116605961.127501,116605962.130663,116605963.143444,116605964.162719,116605965.18746,116605966.200988,116605967.210089,116605968.216468,116605969.221301,116605970.225106,116605971.243798,116605972.253491,116605973.260599,116605974.258719,116605975.267091,116605976.284692,116605977.298728,116605978.309196,116605979.325942,116605980.348477,116605981.361535,116605982.367083,116605983.360844,116605984.355097,116605985.350155,116605986.346429,116605987.344102,116605988.319197,116605989.289019,116605990.250235,116605991.218887,116605992.201867,116605993.194055,116605994.186545,116605995.177927,116605996.167306,116605997.158988,116605998.16463,116605999.181822,116606000.196261,116606001.206816,116606002.214734,116606003.227298,116606004.260825,116606005.279395,116606006.300097,116606007.302734,116606008.295151,116606009.292166,116606010.35367,116606011.364286,116606012.349422,116606013.322142,116606014.299622,116606015.283639,116606016.273988,116606017.273583,116606018.290224,116606019.301173,116606020.309769,116606021.294515,116606022.288837,116606023.277726,116606024.272521,116606025.264855,116606026.258148,116606027.278167,116606028.296487,116606029.311886,116606030.345748,116606031.374528,116606032.397107,116606033.413341,116606034.424416,116606035.437039,116606036.442627,116606037.449061,116606038.451064,116606039.451945,116606040.44265,116606041.419196,116606042.400415,116606043.373531,116606044.382926,116606045.330906,116606046.282275,116606047.258048,116606048.222016,116606049.190661,116606050.157841,116606051.130849,116606052.121762,116606053.127365,116606054.163935,116606055.226822,116606056.30607,116606057.379176,116606058.434995,116606059.480541,116606060.508722,116606061.529858,116606062.544668,116606063.572946,116606064.588791,116606065.589339,116606066.587264,116606067.586643,116606068.580292,116606069.555253,116606070.532685,116606071.502298,116606072.466527,116606073.436073,116606074.393106,116606075.358309,116606076.3326,116606077.316213,116606078.291078,116606079.26939,116606080.269197,116606081.267792,116606082.273736,116606083.278075,116606084.27944,116606085.275997,116606086.280539,116606087.277066,116606088.273256,116606089.278939,116606090.284547,116606091.279476,116606092.283923,116606093.32456,116606094.315693,116606095.307195,116606096.320417,116606097.333639,116606098.352502,116606099.364382,116606100.375818,116606101.374958,116606102.373231,116606103.360884,116606104.337632,116606105.324781,116606106.316949,116606107.344684,116606108.338141,116606109.311509,116606110.290943,116606111.271033,116606112.265311,116606113.261101,116606114.261967,116606115.265258,116606116.266143,116606117.268708,116606118.268082,116606119.267532,116606120.289509,116606121.31018,116606122.327255,116606123.343069,116606124.351245,116606125.364691,116606126.372302,116606127.389668,116606128.395068,116606129.38967,116606130.38488,116606131.383727,116606132.386815,116606133.382803,116606134.379344,116606135.367262,116606136.343029,116606137.323391,116606138.299115,116606139.27882,116606140.25078,116606141.237647,116606142.243838,116606143.258608,116606144.27538,116606145.275876,116606146.281713,116606147.280609,116606148.278124,116606149.297735,116606150.300485,116606151.301533,116606152.312855,116606153.353664,116606154.33836,116606155.327586,116606156.318818,116606157.307294,116606158.30039,116606159.338516,116606160.335445,116606161.322045,116606162.309335,116606163.308098,116606164.329743,116606165.344307,116606166.353314,116606167.359758,116606168.406408,116606169.406272,116606170.424023,116606171.44389,116606172.459737,116606173.489902,116606174.46754,116606175.445169,116606176.428185,116606177.415171,116606178.405355,116606179.386172,116606180.37314,116606181.706345,116606182.850434,116606183.748033,116606184.656382,116606185.526825,116606186.42202,116606187.34637,116606188.32006,116606189.276775,116606190.270483,116606191.290274,116606192.258741,116606193.228795,116606194.238632,116606195.3007,116606196.369991,116606197.431396,116606198.463872,116606199.465766,116606200.463027,116606201.460635,116606202.459576,116606203.471222,116606204.469381,116606205.471488,116606206.459537,116606207.452483,116606208.490425,116606209.466331,116606210.44703,116606211.422937,116606212.411628,116606213.396331,116606214.38427,116606215.388468,116606216.391667,116606217.383092,116606218.37497,116606219.368742,116606220.364056,116606221.417279,116606222.439872,116606223.453995,116606224.502854,116606225.499703,116606226.488998,116606227.457487,116606228.43606,116606229.421179,116606230.404823,116606231.392527,116606232.382363,116606233.375164,116606234.369531,116606235.354514,116606236.336292,116606237.330519,116606238.374494,116606239.367489,116606240.340347,116606241.332865,116606242.323849,116606243.307006,116606244.306957,116606245.360427,116606246.3426,116606247.332146,116606248.325062,116606249.308249,116606250.323263,116606251.357498,116606252.373671,116606253.381854,116606254.377796,116606255.37348,116606256.369347,116606257.388575,116606258.387693,116606259.4054,116606260.421465,116606261.433271,116606262.448316,116606263.453745,116606264.473412,116606265.467313,116606266.442161,116606267.420153,116606268.404069,116606269.391555,116606270.383078,116606271.376904,116606272.372296,116606273.415301,116606274.415748,116606275.392551,116606276.372761,116606277.350555,116606278.335837,116606279.325511,116606280.309537,116606281.3107,116606282.32287,116606283.333705,116606284.341581,116606285.347027,116606286.369939,116606287.394911,116606288.40711,116606289.413601,116606290.418832,116606291.407524,116606292.3955,116606293.392195,116606294.397446,116606295.414155,116606296.41188,116606297.405231,116606298.397868,116606299.401725,116606300.414525,116606301.405151,116606302.394402,116606303.397722,116606304.414474,116606305.428997,116606306.439921,116606307.448098,116606308.453679,116606309.472376,116606310.504419,116606311.519927,116606312.510831,116606313.500265,116606314.468935,116606315.419138,116606316.377465,116606317.346261,116606318.323482,116606319.306882,116606320.295536,116606321.287864,116606322.312953,116606323.316062,116606324.316146,116606325.304451,116606326.30287,116606327.303803,116606328.29631,116606329.288498,116606330.281945,116606331.277345,116606332.297007,116606333.322943,116606334.343527,116606335.351122,116606336.364968,116606337.366956,116606338.393533,116606339.375309,116606340.350775,116606341.351231,116606342.355272,116606343.362872,116606344.365305,116606345.366598,116606346.382607,116606347.396518,116606348.391583,116606349.385696,116606350.416483,116606351.447854,116606352.465826,116606353.470596,116606354.472616,116606355.473231,116606356.473912,116606357.474689,116606358.488027,116606359.488329,116606360.487808,116606361.486239,116606362.474971,116606363.451788,116606364.440456,116606365.429392,116606366.41648,116606367.409214,116606368.406553,116606369.410411,116606370.421443,116606371.431429,116606372.420046,116606373.407833,116606374.454157,116606375.440296,116606376.433642,116606377.418965,116606378.428265,116606379.436321,116606380.442391,116606381.437157,116606382.422149,116606383.409284,116606384.422551,116606385.422597,116606386.427156,116606387.426388,116606388.41359,116606389.403609,116606390.415356,116606391.421856,116606392.446732,116606393.45637,116606394.439548,116606395.46594,116606396.456114,116606397.444159,116606398.427229,116606399.458197,116606400.448982,116606401.442376,116606402.425902,116606403.412474,116606404.414201,116606405.438884,116606406.476436,116606407.457781,116606408.436968,116606409.420903,116606410.409407,116606411.40133,116606412.391029,116606413.364114,116606414.340255,116606415.313813,116606416.279155,116606417.315413,116606418.287151,116606419.266806,116606420.269794,116606421.27362,116606422.274755,116606423.275769,116606424.277146,116606425.285904,116606426.309631,116606427.328814,116606428.346381,116606429.356485,116606430.373398,116606431.388289,116606432.397874,116606433.394993,116606434.390698,116606435.387895,116606436.460781,116606437.456952,116606438.439346,116606439.424498,116606440.412897,116606441.404149,116606442.404309,116606443.424841,116606444.441837,116606445.461756,116606446.473308,116606447.484057,116606448.486142,116606449.486577,116606450.48694,116606451.485659,116606452.462852,116606453.455786,116606454.437861,116606455.422669,116606456.411201,116606457.392388,116606458.363998,116606459.341527,116606460.324763,116606461.312826,116606462.304114,116606463.309981,116606464.306397,116606465.312871,116606466.306816,116606467.312659,116606468.31848,116606469.336443,116606470.325032,116606471.329684,116606472.318739,116606473.321165,116606474.312397,116606475.304335,116606476.299151,116606477.321829,116606478.337676,116606479.389005,116606480.41997,116606481.446561,116606482.516686,116606483.530046,116606484.52819,116606485.499715,116606486.474215,116606487.455212,116606488.441493,116606489.441231,116606490.454651,116606491.516589,116606492.519046,116606493.523171,116606494.526165,116606495.564009,116606496.554315,116606497.540352,116606498.529095,116606499.52117,116606500.524867,116606501.496082,116606502.470323,116606503.450528,116606504.435663,116606505.428779,116606506.421168,116606507.403613,116606508.420551,116606509.392784,116606510.37587,116606511.364824,116606512.347573,116606513.332984,116606514.328666,116606515.32049,116606516.313578,116606517.307854,116606518.333737,116606519.338209,116606520.352446,116606521.364614,116606522.381312,116606523.388308,116606524.396296,116606525.401729,116606526.427762,116606527.42538,116606528.40643,116606529.392283,116606530.37337,116606531.376166,116606532.381529,116606533.385364,116606534.416387,116606535.415856,116606536.415046,116606537.435058,116606538.461847,116606539.482653,116606540.489692,116606541.499409,116606542.510454,116606543.514721,116606544.512532,116606545.510272,116606546.494327,116606547.469747,116606548.452244,116606549.438054,116606550.42741,116606551.469701,116606552.444755,116606553.430324,116606554.431742,116606555.43921,116606556.43192,116606557.424996,116606558.446644,116606559.470918,116606560.476653,116606561.472922,116606562.462681,116606563.480787,116606564.481536,116606565.462864,116606566.446692,116606567.440893,116606568.497855,116606569.501668,116606570.490175,116606571.487185,116606572.478197,116606573.46502,116606574.457433,116606575.445259,116606576.477108,116606577.471083,116606578.454734,116606579.443998,116606580.43343,116606581.439445,116606582.49267,116606583.508261,116606584.518704,116606585.518767,116606586.543259,116606587.538784,116606588.579142,116606589.576216,116606590.560886,116606591.547569,116606592.539714,116606593.532954,116606594.513853,116606595.495121,116606596.472483,116606597.454747,116606598.441749,116606599.43812,116606600.48499,116606601.471698,116606602.441601,116606603.40658,116606604.386898,116606605.365759,116606606.360829,116606607.371795,116606608.381334,116606609.388905,116606610.394474,116606611.398431,116606612.408256,116606613.441663,116606614.455398,116606615.446502,116606616.437031,116606617.458616,116606618.449585,116606619.439315,116606620.441367,116606621.439936,116606622.444287,116606623.43761,116606624.430521,116606625.424969,116606626.420389,116606627.417369,116606628.428398,116606629.450743,116606630.468649,116606631.48178,116606632.527211,116606633.541355,116606634.550373,116606635.543698,116606636.536617,116606637.524276,116606638.49702,116606639.473968,116606640.456605,116606641.436123,116606642.40498,116606643.379798,116606644.360762,116606645.357935,116606646.35429,116606647.35132,116606648.341789,116606649.363506,116606650.353918,116606651.344015,116606652.335885,116606653.329362,116606654.341862,116606655.362362,116606656.379815,116606657.398754,116606658.501973,116606659.503609,116606660.484449,116606661.480394,116606662.465789,116606663.45376,116606664.427954,116606665.41974,116606666.395167,116606667.383797,116606668.368237,116606669.354812,116606670.349763,116606671.393059,116606672.469967,116606673.546176,116606674.620645,116606675.665034,116606676.692769,116606677.702283,116606678.69115,116606679.697975,116606680.686941,116606681.676287,116606682.668276,116606683.643876,116606684.607251,116606685.562432,116606686.527096,116606687.501208,116606688.482177,116606689.466767,116606690.434406,116606691.406642,116606692.396235,116606693.379434,116606694.385556,116606695.406782,116606696.417212,116606697.428648,116606698.440079,116606699.415885,116606700.405159,116606701.398537,116606702.391769,116606703.383925,116606704.380057,116606705.375996,116606706.375883,116606707.367146,116606708.358639,116606709.36311,116606710.386253,116606711.405891,116606712.423214,116606713.436605,116606714.487985,116606715.498795,116606716.499004,116606717.484247,116606718.471158,116606719.463683,116606720.456986,116606721.4547,116606722.474414,116606723.537933,116606724.546312,116606725.546817,116606726.553357,116606727.552298,116606728.550524,116606729.548592,116606730.576248,116606731.561789,116606732.531671,116606733.506444,116606734.487467,116606735.474333,116606736.464577,116606737.457699,116606738.441128,116606739.414609,116606740.401311,116606741.395047,116606742.380539,116606743.378215,116606744.375571,116606745.37326,116606746.37156,116606747.40105,116606748.400977,116606749.385899,116606750.372485,116606751.362917,116606752.355515,116606753.350161,116606754.360553,116606755.388451,116606756.438192,116606757.483921,116606758.504486,116606759.501111,116606760.517906,116606761.515123,116606762.511164,116606763.503534,116606764.604436,116606765.614107,116606766.576931,116606767.56036,116606768.557915,116606769.557176,116606770.556792,116606771.564554,116606772.573909,116606773.573047,116606774.584943,116606775.610174,116606776.635054,116606777.62474,116606778.607975,116606779.594687,116606780.584526,116606781.57695,116606782.571791,116606783.572268,116606784.570188,116606785.570894,116606786.582156,116606787.553013,116606788.526281,116606789.505978,116606790.487473,116606791.454024,116606792.425665,116606793.405437,116606794.402176,116606795.426413,116606795.566197,116606795.575127,116606795.579103,116606795.582961,116606795.587377,116606795.595535,116606795.735776,116606797.885216,116606800.890935,116606803.221397,116606805.072479,116606806.72753,116606808.263106,116606809.62371,116606810.912123,116606811.806735,116606812.738556,116606813.678186,116606814.633871,116606815.602286,116606816.616995,116606817.616079,116606818.640636,116606819.695789,116606820.767562,116606821.852133,116606822.992371,116606824.066735,116606825.109147,116606826.139075,116606827.17994,116606828.203632,116606829.308422,116606830.301866,116606831.325767,116606832.336618,116606833.324624,116606834.312622,116606835.303293,116606836.296705,116606837.292037,116606838.28011,116606839.255227,116606840.234117,116606841.229218,116606842.229561,116606843.217807,116606844.224397,116606845.227259,116606846.232742,116606847.221255,116606848.226477,116606849.215528,116606850.206154,116606851.19997,116606852.194782,116606853.191016,116606854.188498,116606855.207089,116606856.251953,116606857.296207,116606858.322373,116606859.340998,116606860.35549,116606861.400088,116606862.402514,116606863.399956,116606864.408633,116606865.416649,116606866.422711,116606867.416438,116606868.432171,116606869.404129,116606870.397589,116606871.412197,116606872.384438,116606873.358193,116606874.346348,116606875.335589,116606876.340097,116606877.37123,116606878.366034,116606879.353008,116606880.343015,116606881.339192,116606882.336337,116606883.378798,116606884.358309,116606885.32752,116606886.300061,116606887.271022,116606888.259323,116606889.264801,116606890.278048,116606891.281695,116606892.27224,116606893.260293,116606894.243118,116606895.246521,116606896.257142,116606897.271114,116606898.28208,116606899.323982,116606900.326551,116606901.329522,116606902.321662,116606903.31298,116606904.308755,116606905.32804,116606906.34552,116606907.358829,116606908.372032,116606909.388194,116606910.39981,116606911.399747,116606912.398489,116606913.412105,116606914.406295,116606915.379315,116606916.355543,116606917.332731,116606918.297388,116606919.268354,116606920.257858,116606921.252266,116606922.248611,116606923.247801,116606924.236233,116606925.235478,116606926.23436,116606927.232754,116606928.222532,116606929.213572,116606930.260212,116606931.272305,116606932.278169,116606933.282409,116606934.292746,116606935.29423,116606936.294251,116606937.293712,116606938.293961,116606939.283054,116606940.260625,116606941.251193,116606942.235941,116606943.224381,116606944.24169,116606945.246672,116606946.265192,116606947.263386,116606948.259294,116606949.26676,116606950.273674,116606951.278901,116606952.282454,116606953.285142,116606954.324052,116606955.331336,116606956.347927,116606957.361343,116606958.37151,116606959.388292,116606960.397757,116606961.426132,116606962.443061,116606963.435406,116606964.426339,116606965.419707,116606966.414474,116606967.41074,116606968.398166,116606969.372268,116606970.351575,116606971.336302,116606972.31673,116606973.285715,116606974.261204,116606975.252209,116606976.238086,116606977.22628,116606978.228729,116606979.245014,116606980.259284,116606981.270133,116606982.277713,116606983.282917,116606984.290584,116606985.323208,116606986.336949,116606987.329002,116606988.327616,116606989.328981,116606990.321768,116606991.315373,116606992.310898,116606993.308107,116606994.313947,116606995.311293,116606996.307666,116606997.315056,116606998.32079,116606999.315629,116607000.310621,116607001.318012,116607002.342108,116607003.358107,116607004.347116,116607005.334585,116607006.324968,116607007.317278,116607008.312026,116607009.308185,116607010.295314,116607011.271039,116607012.25792,116607013.242507,116607014.239359,116607015.246437,116607016.237633,116607017.234152,116607018.249186,116607019.269651,116607020.278504,116607021.290209,116607022.300712,116607023.309321,116607024.348789,116607025.335326,116607026.312772,116607027.299204,116607028.292756,116607029.292802,116607030.294426,116607031.296161,116607032.304239,116607033.310053,116607034.308145,116607035.305944,116607036.30466,116607037.304263,116607038.333432,116607039.354358,116607040.403748,116607041.388265,116607042.383769,116607043.39684,116607044.400275,116607045.390444,116607046.368563,116607047.350394,116607048.344115,116607049.333247,116607050.333854,116607051.333604,116607052.326265,116607053.322442,116607054.345501,116607055.355378,116607056.344174,116607057.333342,116607058.325096,116607059.326098,116607060.326567,116607061.32064,116607062.322261,116607063.317593,116607064.320484,116607065.363313,116607066.353542,116607067.346109,116607068.350851,116607069.348023,116607070.2201,116607071.22871,116607072.234431,116607073.232196,116607074.232986,116607075.224296,116607076.207479,116607077.186273,116607078.187256,116607079.227887,116607080.210874,116607081.212001,116607082.215327,116607083.217972,116607084.22705,116607085.347239,116607086.347572,116607087.338843,116607088.329742,116607089.322555,116607090.31706,116607091.322926,116607092.343662,116607093.363392,116607094.38275,116607095.391667,116607096.409423,116607097.412283,116607098.414506,116607099.41373,116607100.415202,116607101.419478,116607102.422224,116607103.425374,116607104.41748,116607105.40504,116607106.379795,116607107.359304,116607108.344281,116607109.333721,116607110.332853,116607111.3316,116607112.324907,116607113.319749,116607114.30099,116607115.2759,116607116.256188,116607117.249723,116607118.238084,116607119.237923,116607120.236526,116607121.238077,116607122.238683,116607123.239811,116607124.240501,116607125.232362,116607126.224824,116607127.22793,116607128.231489,116607129.224973,116607130.219108,116607131.222324,116607132.241791,116607133.259069,116607134.272307,116607135.281321,116607136.287966,116607137.293581,116607138.320719,116607139.344806,116607140.362613,116607141.375989,116607142.385483,116607143.392428,116607144.415807,116607145.435659,116607146.44123,116607147.434818,116607148.42856,116607149.412244,116607150.385755,116607151.36436,116607152.356763,116607153.351866,116607154.344034,116607155.334713,116607156.328064,116607157.33379,116607158.313818,116607159.295542,116607160.272752,116607161.254909,116607162.255244,116607163.244576,116607164.235213,116607165.228482,116607166.224333,116607167.242004,116607168.260154,116607169.273915,116607170.284091,116607171.29746,116607172.301701,116607173.340141,116607174.337442,116607175.330603,116607176.332269,116607177.327388,116607178.323127,116607179.32973,116607180.352574,116607181.404297,116607182.403676,116607183.387126,116607184.371872,116607185.358212,116607186.370197,116607187.383078,116607188.392943,116607189.413168,116607190.430011,116607191.441286,116607192.437103,116607193.432206,116607194.428445,116607195.413851,116607196.388833,116607197.368266,116607198.353738,116607199.342789,116607200.334613,116607201.322337,116607202.296346,116607203.273984,116607204.264364,116607205.251576,116607206.247967,116607207.239051,116607208.23852,116607209.231941,116607210.235648,116607211.239717,116607212.233291,116607213.234875,116607214.25354,116607215.26968,116607216.287686,116607217.295544,116607218.30968,116607219.321646,116607220.335823,116607221.334569,116607222.33023,116607223.326297,116607224.332344,116607225.329876,116607226.342152,116607227.337452,116607228.337981,116607229.357244,116607230.398099,116607231.407955,116607232.422772,116607233.415266,116607234.420395,116607235.421147,116607236.425982,116607237.431527,116607238.429904,116607239.423106,116607240.398257,116607241.376732,116607242.360401,116607243.346239,116607244.315186,116607245.288576,116607246.268881,116607247.263003,116607248.251361,116607249.241769,116607250.278736,116607251.268175,116607252.266877,116607253.264235,116607254.252621,116607255.242705,116607256.235457,116607257.25271,116607258.269908,116607259.282946,116607260.302578,116607261.309928,116607262.324689,116607263.354311,116607264.370739,116607265.360926,116607266.349722,116607267.341332,116607268.335244,116607269.330606,116607270.318105,116607271.307772,116607272.288308,116607273.273401,116607274.282089,116607275.291904,116607276.299963,116607277.305385,116607278.309179,116607279.311879,116607280.32512,116607281.352656,116607282.371628,116607283.362634,116607284.357075,116607285.35529,116607286.346739,116607287.344032,116607288.338115,116607289.339292,116607290.335116,116607291.336045,116607292.33273,116607293.335158,116607294.332254,116607295.329154,116607296.32677,116607297.324666,116607298.323378,116607299.310383,116607300.288432,116607301.286786,116607302.271961,116607303.263957,116607304.253236,116607305.244183,116607306.237356,116607307.241305,116607308.260629,116607309.277177,116607310.289183,116607311.304182,116607312.315746,116607313.323606,116607314.324334,116607315.330232,116607316.385824,116607317.36823,116607318.363335,116607319.357607,116607320.375176,116607321.365686,116607322.355084,116607323.35936,116607324.376304,116607325.390527,116607326.401424,116607327.409849,116607328.415319,116607329.433762,116607330.436061,116607331.461541,116607332.45698,116607333.43913,116607334.410929,116607335.376584,116607336.337305,116607337.30674,116607338.2841,116607339.267523,116607340.255737,116607341.246147,116607342.217949,116607343.20674,116607344.187321,116607345.171047,116607346.179854,116607347.191522,116607348.200912,116607349.207663,116607350.212544,116607351.223764,116607352.249199,116607353.270538,116607354.286254,116607355.297705,116607356.313419,116607357.318389,116607358.321526,116607359.329362,116607360.330408,116607361.337193,116607362.347335,116607363.344155,116607364.340695,116607366.476272,116607367.690691,116607368.305609,116607369.205482,116607370.068438,116607370.98361,116607371.907534,116607372.85389,116607373.867909,116607374.9447,116607376.06345,116607377.136566,116607378.193671,116607379.245963,116607380.26486,116607381.281586,116607382.309883,116607383.360352,116607384.388252,116607385.405863,116607386.423611,116607387.430892,116607388.434774,116607389.4142,116607390.405891,116607391.389626,116607392.376149,116607393.366325,116607394.359266,116607395.355065,116607396.350787,116607397.356117,116607398.353081,116607399.382339,116607400.37223,116607401.373269,116607402.344764,116607403.325138,116607404.312582,116607405.322555,116607406.32994,116607407.339212,116607408.333668,116607409.317152,116607410.30523,116607411.317821,116607412.343753,116607413.359304,116607414.35662,116607415.35338,116607416.35236,116607417.350462,116607418.347949,116607419.357252,116607420.379406,116607421.401362,116607422.418744,116607423.434382,116607424.439838,116607425.469215,116607426.443837,116607427.429098,116607428.407615,116607429.390909,116607430.378218,116607431.373976,116607432.372671,116607433.371603,116607434.377236,116607435.370311,116607436.369277,116607437.363243,116607438.357662,116607439.353935,116607440.354613,116607441.376204,116607442.419549,116607443.43019,116607444.412576,116607445.395094,116607446.381411,116607447.371629,116607448.364038,116607449.35887,116607450.346174,116607451.320544,116607452.299559,116607453.284139,116607454.280572,116607455.277165,116607456.275751,116607457.268453,116607458.262571,116607459.257926,116607460.26975,116607461.302489,116607462.327434,116607463.334749,116607464.348053,116607465.349386,116607466.348617,116607467.356327,116607468.379562,116607469.40424,116607470.418032,116607471.417001,116607472.400438,116607473.385795,116607474.375163,116607475.367092,116607476.362288,116607477.384986,116607478.363475,116607479.361861,116607480.3572,116607481.355395,116607482.354253,116607483.353504,116607484.361898,116607485.3669,116607486.373982,116607487.375146,116607488.405863,116607489.42559,116607490.423376,116607491.405781,116607492.396876,116607493.384865,116607494.391214,116607495.382734,116607496.374398,116607497.375981,116607498.377599,116607499.378545,116607500.371834,116607501.365868,116607502.351179,116607503.328501,116607504.308391,116607505.333939,116607506.328824,116607507.309782,116607508.339397,116607509.370279,116607510.445875,116607511.466057,116607512.477953,116607513.483702,116607514.492859,116607515.486377,116607516.479877,116607517.472282,116607518.445148,116607519.420942,116607520.4172,116607521.402362,116607522.389661,116607523.372665,116607524.357,116607525.334874,116607526.362789,116607527.374284,116607528.381187,116607529.382135,116607530.382345,116607531.386685,116607532.378995,116607533.34962,116607534.32408,116607535.322251,116607536.306221,116607537.292383,116607538.304473,116607539.317734,116607540.328092,116607541.345569,116607542.349616,116607543.351248,116607544.352457,116607545.343966,116607546.322126,116607547.304279,116607548.296326,116607549.295566,116607550.295899,116607551.295752,116607552.288447,116607553.280293,116607554.321134,116607555.35964,116607556.420787,116607557.437742,116607558.445983,116607559.4515,116607560.460145,116607561.467252,116607562.470712,116607563.501928,116607564.518899,116607565.525337,116607566.512783,116607567.501081,116607568.491636,116607569.48467,116607570.479614,116607571.465473,116607572.439791,116607573.418452,116607574.402735,116607575.391306,116607576.383136,116607577.365041,116607578.338362,116607579.31803,116607580.32405,116607581.32346,116607582.334166,116607583.304269,116607584.276617,116607585.255566,116607586.250069,116607587.305907,116607588.310508,116607589.308877,116607590.307071,116607591.313221,116607592.319258,116607593.325414,116607594.327235,116607595.328208,116607596.350609,116607597.360554,116607598.377181,116607599.409178,116607600.40504,116607601.408182,116607602.42598,116607603.444422,116607604.454317,116607605.438474,116607606.422271,116607607.419688,116607608.419837,116607609.410078,116607610.407225,116607611.399838,116607612.393549,116607613.397574,116607614.393466,116607615.389159,116607616.386308,116607617.388711,116607618.3867,116607619.392257,116607620.394651,116607621.391214,116607622.396377,116607623.400825,116607624.400887,116607625.3953,116607626.398043,116607627.393943,116607628.397344,116607629.39306,116607630.388818,116607631.39167,116607632.389546,116607633.386402,116607634.389488,116607635.392986,116607636.395915,116607637.429206,116607638.428809,116607639.425425,116607640.421368,116607641.410634,116607642.434126,116607643.423576,116607644.417772,116607645.408036,116607646.408865,116607647.40161,116607648.402926,116607649.405157,116607650.404084,116607651.398313,116607652.393023,116607653.389304,116607654.38617,116607655.386909,116607656.426509,116607657.444106,116607658.455587,116607659.471905,116607660.514348,116607661.512059,116607662.500997,116607663.47244,116607664.456515,116607665.482596,116607666.461364,116607667.439821,116607668.433277,116607669.425939,116607670.420719,116607671.416529,116607672.407853,116607673.400392,116607674.40387,116607675.401522,116607676.396623,116607677.398289,116607678.39411,116607679.390722,116607680.387798,116607681.385386,116607682.371187,116607683.348119,116607684.329459,116607685.322593,116607686.311866,116607687.303066,116607688.342682,116607689.363923,116607690.370973,116607691.375211,116607692.377428,116607693.378824,116607694.379943,116607695.380591,116607696.393547,116607697.446385,116607698.466569,116607699.482249,116607700.486004,116607701.487124,116607702.487756,116607703.494865,116607704.494175,116607705.47836,116607706.454934,116607707.480079,116607708.454297,116607709.413802,116607710.401459,116607711.396297,116607712.392849,116607713.390701,116607714.394261,116607715.400689,116607716.398183,116607717.399776,116607718.397216,116607719.393767,116607720.39158,116607721.389978,116607722.393063,116607723.413305,116607724.413638,116607725.40723,116607726.401291,116607727.397344,116607728.378357,116607729.353692,116607730.34076,116607731.326661,116607732.315553,116607733.317106,116607734.333783,116607735.37233,116607736.380322,116607737.383204,116607738.3845,116607739.385223,116607740.388538,116607741.412791,116607742.437109,116607743.452714,116607744.45124,116607745.440165,116607746.430294,116607747.439984,116607748.437909,116607749.43868,116607750.451177,116607751.466986,116607752.475041,116607753.480143,116607754.476363,116607755.455397,116607756.437141,116607757.417015,116607758.384765,116607759.367713,116607760.346485,116607761.332284,116607762.348024,116607763.352447,116607764.337476,116607765.323924,116607766.313952,116607767.306311,116607768.30658,116607769.301729,116607770.297547,116607771.294504,116607772.292749,116607773.303275,116607774.335532,116607775.33811,116607776.330318,116607777.32319,116607778.322438,116607779.318243,116607780.322694,116607781.320345,116607782.328961,116607783.328765,116607784.333801,116607785.332848,116607786.333776,116607787.364832,116607788.35393,116607789.333095,116607790.354959,116607791.398017,116607792.419961,116607793.419327,116607794.424313,116607795.420723,116607796.432878,116607797.453424,116607798.474883,116607799.492638,116607800.499519,116607801.548106,116607802.552975,116607803.545444,116607804.537839,116607805.517533,116607806.490216,116607807.468613,116607808.456352,116607809.469736,116607810.457004,116607811.450659,116607812.449832,116607813.439985,116607814.432532,116607815.433598,116607816.423368,116607817.418074,116607818.465944,116607819.452628,116607820.427088,116607821.397422,116607822.389178,116607823.384319,116607824.373061,116607825.380131,116607826.392591,116607827.406157,116607828.4171,116607829.41104,116607830.412517,116607831.412299,116607832.411557,116607833.411398,116607834.426265,116607835.427226,116607836.442365,116607837.461903,116607838.483211,116607839.500843,116607840.510494,116607841.513023,116607842.514142,116607843.509008,116607844.485903,116607845.465854,116607846.450949,116607847.439713,116607848.431762,116607849.429811,116607850.40113,116607851.38581,116607852.367103,116607853.372719,116607854.364898,116607855.359959,116607856.371629,116607857.381993,116607858.390411,116607859.396218,116607860.400939,116607861.40972,116607862.411398,116607863.420078,116607864.424008,116607865.430063,116607866.429895,116607867.4308,116607868.434255,116607869.434289,116607870.429374,116607871.432848,116607872.429069,116607873.432789,116607874.474599,116607875.464858,116607876.471396,116607877.462322,116607878.450218,116607879.44298,116607880.455297,116607881.45825,116607882.45951,116607883.473799,116607884.499042,116607885.506489,116607886.511053,116607887.514156,116607888.518643,116607889.519846,116607890.523727,116607891.527072,116607892.512415,116607893.48786,116607894.468213,116607895.45324,116607896.442733,116607897.416753,116607898.395705,116607899.379562,116607900.368076,116607901.353861,116607902.348365,116607903.345619,116607904.337596,116607905.336842,116607906.362643,116607907.367286,116607908.355109,116607909.349686,116607910.340655,116607911.333094,116607912.337603,116607913.356421,116607914.372098,116607915.38954,116607916.405134,116607917.409631,116607918.41189,116607919.417915,116607920.423162,116607921.423073,116607922.430459,116607923.434179,116607924.440886,116607925.45084,116607926.468805,116607927.483447,116607928.494455,116607929.502569,116607930.508223,116607931.515018,116607932.521837,116607933.526836,116607934.526504,116607935.525753,116607936.525281,116607937.524689,116607938.523984,116607939.518342,116607940.49483,116607941.473911,116607942.445013,116607943.411449,116607944.385714,116607945.366363,116607946.357448,116607947.352092,116607948.350457,116607949.342504,116607950.340862,116607951.342487,116607952.336411,116607953.330547,116607954.326047,116607955.328836,116607956.349553,116607957.372675,116607958.386092,116607959.383846,116607960.376794,116607961.370812,116607962.381278,116607963.391102,116607964.398376,116607965.404007,116607966.407878,116607967.41331,116607968.439418,116607969.463082,116607970.480609,116607971.49937,116607972.514476,116607973.528556,116607974.529563,116607975.530885,116607976.529686,116607977.528439,116607978.531426,116607979.530125,116607980.528894,116607981.527765,116607982.514645,116607983.53172,116607984.509034,116607985.492551,116607986.474662,116607987.46742,116607988.48423,116607989.485604,116607990.514148,116607991.496516,116607992.478065,116607993.469326,116607994.462184,116607995.48812,116607996.475999,116607997.473149,116607998.461011,116607999.451366,116608000.454063,116608001.447901,116608002.475536,116608003.466284,116608004.461548,116608005.476865,116608006.497658,116608007.500781,116608008.483004,116608009.476934,116608010.471077,116608011.459704,116608012.450078,116608013.443818,116608014.483706,116608015.482341,116608016.770228,116608018.077033,116608018.9356,116608019.78088,116608020.66846,116608021.589861,116608022.534068,116608023.493983,116608024.509423,116608025.496428,116608026.470183,116608027.459576,116608028.465778,116608029.472523,116608030.477696,116608031.481641,116608032.484317,116608033.502181,116608034.531707,116608035.550692,116608036.574747,116608037.557952,116608038.546363,116608039.532816,116608040.528522,116608041.548543,116608042.553721,116608043.540425,116608044.561103,116608045.547528,116608046.533383,116608047.522307,116608048.509194,116608049.480351,116608050.463931,116608051.451047,116608052.435108,116608053.430539,116608054.42077,116608055.422997,116608056.425592,116608057.417293,116608058.422526,116608059.439712,116608060.454233,116608061.46539,116608062.473861,116608063.479364,116608064.48345,116608065.491496,116608066.517498,116608067.540769,116608068.557617,116608069.569639,116608070.57899,116608071.585034,116608072.607617,116608073.634669,116608074.659662,116608075.674937,116608076.686067,116608077.675444,116608078.658487,116608079.685439,116608080.670014,116608081.653884,116608082.640875,116608083.631763,116608084.65308,116608085.627358,116608086.599306,116608087.588012,116608088.565802,116608089.563618,116608090.573818,116608091.628441,116608092.372979,116608093.386822,116608094.395705,116608095.39561,116608096.621337,116608097.592471,116608098.567154,116608099.548222,116608100.534162,116608101.542401,116608102.538884,116608103.536244,116608104.515673,116608105.485115,116608106.468295,116608107.451063,116608108.442206,116608109.434,116608110.445273,116608111.460703,116608112.490211,116608113.499887,116608114.50081,116608115.503939,116608116.504353,116608117.590087,116608118.606315,116608119.645391,116608120.645697,116608121.669799,116608122.661266,116608123.661335,116608124.677747,116608125.697261,116608126.735212,116608127.743357,116608128.740462,116608129.71478,116608130.688137,116608131.667302,116608132.65254,116608133.65748,116608134.647829,116608135.622599,116608136.593371,116608137.569831,116608138.552166,116608139.568721,116608140.555781,116608141.52678,116608142.494556,116608143.469676,116608144.463426,116608145.458868,116608146.455692,116608147.442811,116608148.432411,116608149.424327,116608150.432324,116608151.45087,116608152.500259,116608153.50733,116608154.51027,116608155.512697,116608156.512192,116608157.511459,116608158.527748,116608159.55015,116608160.567952,116608161.589411,116608162.603866,116608163.608705,116608164.616212,116608165.618543,116608166.618595,116608167.613312,116608168.590141,116608169.578059,116608170.570919,116608171.565526,116608172.552035,116608173.558407,116608174.573092,116608175.584992,116608176.599809,116608177.605617,116608178.634889,116608179.634415,116608180.613547,116608181.587134,116608182.567606,116608183.554285,116608184.610032,116608185.594129,116608186.573427,116608187.567254,116608188.562519,116608189.549952,116608190.545594,116608191.53724,116608192.530459,116608193.52543,116608194.521602,116608195.52813,116608196.540287,116608197.544815,116608198.538274,116608199.540178,116608200.535254,116608201.538509,116608202.532777,116608203.527309,116608204.523129,116608205.519845,116608206.517515,116608207.531888,116608208.553946,116608209.572156,116608210.588211,116608211.597428,116608212.608777,116608213.617944,116608214.6134,116608215.59069,116608216.578669,116608217.562161,116608218.567836,116608219.585713,116608220.583092,116608221.566851,116608222.569812,116608223.55907,116608224.619361,116608225.601081,116608226.586247,116608227.577396,116608228.562032,116608229.564398,116608230.582837,116608231.59857,116608232.610562,116608233.600082,116608234.579573,116608235.56248,116608236.549633,116608237.546551,116608238.5397,116608239.539684,116608240.540219,116608241.534248,116608242.529139,116608243.541212,116608244.568842,116608245.57228,116608246.567691,116608247.556408,116608248.558622,116608249.557267,116608250.547688,116608251.559116,116608252.575387,116608253.588306,116608254.597779,116608255.607124,116608256.612553,116608257.610081,116608258.589104,116608259.575715,116608260.582846,116608261.60015,116608262.607604,116608263.596112,116608264.575971,116608265.559611,116608266.535502,116608267.504779,116608268.49231,116608269.500718,116608270.511016,116608271.519748,116608272.508744,116608273.492826,116608274.484995,116608275.492064,116608276.505697,116608277.510243,116608278.51025,116608279.515996,116608280.516386,116608281.516194,116608282.516534,116608283.521852,116608284.521768,116608285.52146,116608286.525534,116608287.529319,116608288.514326,116608289.489486,116608290.477057,116608291.469173,116608292.465229,116608293.454868,116608294.449825,116608295.442322,116608296.453553,116608297.470296,116608298.483986,116608299.493896,116608300.502234,116608301.521412,116608302.575307,116608303.623032,116608304.657874,116608305.683147,116608306.705809,116608307.738941,116608308.748724,116608309.757863,116608310.756847,116608311.757444,116608312.757441,116608313.75773,116608314.754806,116608315.752787,116608316.751085,116608317.749485,116608318.748265,116608319.734741,116608320.751668,116608321.72601,116608322.685518,116608323.644736,116608324.61352,116608325.583695,116608326.592497,116608327.582614,116608328.545346,116608329.513264,116608330.488762,116608331.50307,116608332.503177,116608333.48752,116608334.471644,116608335.459172,116608336.450297,116608337.458618,116608338.475879,116608339.490701,116608340.504328,116608341.556651,116608342.556417,116608343.550856,116608344.557821,116608345.577349,116608346.593956,116608347.606427,116608348.615534,116608349.633052,116608350.656043,116608351.681481,116608352.707402,116608353.72181,116608354.715369,116608355.697615,116608356.723173,116608357.705572,116608358.66628,116608359.632528,116608360.606194,116608361.586739,116608362.572861,116608363.586074,116608364.575108,116608365.564948,116608366.556802,116608367.550968,116608368.54626,116608369.554662,116608370.551173,116608371.59628,116608372.586613,116608373.583306,116608374.581616,116608375.583658,116608376.624797,116608377.617079,116608378.597853,116608379.581752,116608380.645035,116608381.627619,116608382.60555,116608383.602184,116608384.615501,116608385.643672,116608386.636063,116608387.62396,116608388.619347,116608389.616824,116608390.633957,116608391.650711,116608392.660692,116608393.6583,116608394.655559,116608395.653654,116608396.81057,116608398.023374,116608398.96728,116608399.876192,116608400.793117,116608401.72944,116608402.690928,116608403.638101,116608404.590423,116608405.567066,116608406.549834,116608407.538006,116608408.517691,116608409.516074,116608410.526781,116608411.545499,116608412.5516,116608413.564111,116608414.552797,116608415.539073,116608416.542513,116608417.547381,116608418.564902,116608419.566547,116608420.558267,116608421.546905,116608422.537819,116608423.542373,116608424.554653,116608425.561214,116608426.576861,116608427.58935,116608428.58469,116608429.585735,116608430.587846,116608431.570238,116608432.554929,116608433.53274,116608434.53009,116608435.531208,116608436.541647,116608437.601065,116608438.598929,116608439.590182,116608440.583201,116608441.596832,116608442.616619,116608443.631823,116608444.643155,116608445.651037,116608446.664586,116608447.66848,116608448.670047,116608449.670533,116608450.670623,116608451.660499,116608452.638025,116608453.618445,116608454.603347,116608455.592803,116608456.585109,116608457.579307,116608458.55461,116608459.529886,116608460.511047,116608461.51401,116608462.503011,116608463.491983,116608464.483541,116608465.481408,116608466.500294,116608467.526477,116608468.552152,116608469.567098,116608470.5656,116608471.542268,116608472.537533,116608473.520856,116608474.521753,116608475.532891,116608476.569878,116608477.575524,116608478.619389,116608479.619304,116608480.610469,116608481.600754,116608482.601904,116608483.619875,116608484.635481,116608485.647387,116608486.655696,116608487.662061,116608488.666812,116608489.679213,116608490.706039,116608491.765395,116608492.778027,116608493.763451,116608494.74254,116608495.726328,116608496.713897,116608497.685554,116608498.655965,116608499.633317,116608500.616726,116608501.669819,116608502.678218,116608503.654653,116608504.633527,116608505.617809,116608506.605456,116608507.597343,116608508.614521,116608509.666144,116608510.665718,116608511.645848,116608512.628479,116608513.615785,116608514.605685,116608515.597735,116608516.613769,116608517.6077,116608518.603203,116608519.596518,116608520.591154,116608521.613868,116608522.618753,116608523.610214,116608524.617897,116608525.616735,116608526.617319,116608527.620281,116608528.614883,116608529.648014,116608530.669013,116608531.684793,116608532.69418,116608533.693441,116608534.69605,116608535.699429,116608536.688978,116608537.663184,116608538.640629,116608539.648666,116608540.632783,116608541.618235,116608542.593193,116608543.574009,116608544.552366,116608545.545998,116608546.528555,116608547.53553,116608548.572162,116608549.553515,116608550.549451,116608551.556817,116608552.563569,116608553.568039,116608554.571771,116608555.574467,116608556.575985,116608557.595424,116608558.646359,116608559.672377,116608560.679215,116608561.66588,116608562.644481,116608563.627458,116608564.62599,116608565.615393,116608566.613789,116608567.606159,116608568.599188,116608569.594937,116608570.603047,116608571.691584,116608572.677241,116608573.670416,116608574.649454,116608575.632247,116608576.61939,116608577.610249,116608578.603478,116608579.598449,116608580.594645,116608581.607389,116608582.629012,116608583.6524,116608584.67128,116608585.684698,116608586.712807,116608587.711695,116608588.707753,116608589.704256,116608590.690391,116608591.665719,116608592.64483,116608593.679011,116608595.323463,116608596.562086,116608597.586099,116608598.411837,116608599.185074,116608600.001377,116608600.851339,116608601.718921,116608602.622668,116608603.554472,116608604.524177,116608605.514664,116608606.540092,116608607.596833,116608608.672576,116608609.741536,116608610.785909,116608611.82731,116608612.867235,116608613.888836,116608614.894989,116608615.904144,116608616.918406,116608618.570857,116608619.909704,116608620.742966,116608621.52067,116608622.33637,116608623.199991,116608624.149021,116608625.070489,116608626.007322,116608626.961204,116608627.923953,116608628.918196,116608629.943066,116608630.985668,116608632.003181,116608633.015051,116608634.043272,116608635.066933,116608636.115251,116608637.129985,116608638.132255,116608639.132356,116608640.131969,116608641.132048,116608642.137476,116608643.113254,116608644.091733,116608645.075164,116608646.064081,116608647.05568,116608648.057039,116608649.062906,116608650.056014,116608651.08232,116608652.070994,116608653.060431,116608654.052425,116608655.058113,116608656.064182,116608657.057025,116608658.049901,116608659.055612,116608660.061016,116608661.064351,116608662.067121,116608663.06745,116608664.06195,116608665.063033,116608666.079591,116608667.071197,116608668.062772,116608669.05436,116608670.065989,116608671.082428,116608672.095947,116608673.106161,116608674.118819,116608675.130283,116608676.138031,116608677.137669,116608678.136507,116608679.135374,116608680.140199,116608681.144439,116608682.142186,116608683.117647,116608684.094612,116608685.077245,116608686.0644,116608687.055244,116608688.048624,116608689.042349,116608690.01609,116608690.99756,116608691.987827,116608692.972894,116608693.976604,116608694.989875,116608696.002084,116608697.009734,116608698.024654,116608699.037915,116608700.037181,116608701.035618,116608702.034625,116608703.052315,116608704.082475,116608705.097719,116608706.102075,116608707.086306,116608708.072523,116608709.061589,116608710.053595,116608711.048185,116608712.044192,116608713.055771,116608714.053243,116608715.05039,116608716.05582,116608717.057424,116608718.051952,116608719.04932,116608720.068582,116608721.085711,116608722.098854,116608723.108474,116608724.115751,116608725.126526,116608726.158088,116608727.180923,116608728.177001,116608729.160667,116608730.12927,116608731.103992,116608732.090101,116608733.072294,116608734.062507,116608735.057248,116608736.052987,116608737.101875,116608738.099437,116608739.084747,116608740.076919,116608741.091014,116608742.103704,116608743.113638,116608744.120866,116608745.12617,116608746.138017,116608747.147617,116608748.146969,116608749.152295,116608750.183728,116608751.208193,116608752.229344,116608753.236186,116608754.250991,116608755.278068,116608756.253032,116608757.29618,116608758.321803,116608759.357509,116608760.373458,116608761.37762,116608762.365781,116608763.352106,116608764.372924,116608765.384378,116608766.3831,116608767.392356,116608768.387188,116608769.380683,116608770.402624,116608771.399414,116608772.357592,116608773.285029,116608774.243903,116608775.197492,116608776.169279,116608777.175466,116608778.170492,116608779.189613,116608780.220046,116608781.232225,116608782.241502,116608783.245678,116608784.248108,116608785.24985,116608786.25897,116608787.238001,116608788.203035,116608789.163769,116608790.132968,116608791.10989,116608792.093453,116608793.081479,116608794.072648,116608795.056138,116608796.05647,116608797.44008,116608798.510228,116608799.399278,116608800.27666,116608801.194781,116608802.12311,116608803.153643,116608804.129898,116608805.104827,116608806.086813,116608807.089069,116608808.096874,116608809.102986,116608810.124937,116608811.192231,116608812.232813,116608813.300575,116608814.32149,116608815.326613,116608816.335251,116608817.336159,116608818.335934,116608819.335679,116608820.334977,116608821.334748,116608822.325207,116608823.330201,116608824.306471,116608825.285174,116608826.289479,116608827.272576,116608828.236903,116608829.206906,116608830.184355,116608831.168184,116608832.187612,116608833.175023,116608834.156885,116608835.124432,116608836.115321,116608837.094617,116608838.078633,116608839.088483,116608840.099398,116608841.107022,116608842.112985,116608843.117052,116608844.128016,116608845.16101,116608846.181292,116608847.175663,116608848.178144,116608849.180234,116608850.206511,116608851.206282,116608852.211126,116608853.216215,116608854.220248,116608855.223406,116608856.22624,116608857.235623,116608858.235779,116608859.23781,116608860.405363,116608861.403024,116608862.365585,116608863.339298,116608864.373343,116608865.396534,116608866.374913,116608867.328755,116608868.281848,116608869.261876,116608870.304089,116608871.304304,116608872.291908,116608873.313889,116608874.30364,116608875.296034,116608876.28402,116608877.290111,116608878.30571,116608879.320985,116608880.334265,116608881.340834,116608882.348076,116608883.353695,116608884.391132,116608885.386566,116608886.378843,116608887.377831,116608888.373042,116608889.375947,116608890.371293,116608891.347219,116608892.321927,116608893.305769,116608894.31412,116608895.300537,116608896.332366,116608897.346673,116608898.357476,116608899.344973,116608900.327353,116608901.307712,116608902.329376,116608903.3395,116608904.344945,116608905.353457,116608906.360004,116608907.364814,116608908.41319,116608909.394939,116608910.360161,116608911.331193,116608912.318536,116608913.301385,116608914.34055,116608915.352421,116608916.345749,116608917.323152,116608918.304333,116608919.290508,116608920.280275,116608921.273297,116608922.268694,116608923.244625,116608924.249618,116608925.228681,116608926.208486,116608927.193511,116608928.15967,116608929.147222,116608930.12368,116608931.121075,116608932.119147,116608933.10706,116608934.116863,116608935.126662,116608936.133675,116608937.139036,116608938.142973,116608939.145301,116608940.159831,116608941.188973,116608942.216594,116608943.228583,116608944.236676,116608945.241917,116608946.282134,116608947.291731,116608948.285852,116608949.289238,116608950.329283,116608951.316974,116608952.313534,116608953.310847,116608954.329309,116608955.324559,116608956.308754,116608957.301355,116608958.290019,116608959.304097,116608960.294615,116608961.285815,116608962.255344,116608963.228531,116608964.208351,116608965.193355,116608966.190215,116608967.189451,116608968.1925,116608969.183745,116608970.187223,116608971.17977,116608972.173093,116608973.168038,116608974.164666,116608975.153995,116608976.130705,116608977.133572,116608978.146915,116608979.150621,116608980.16384,116608981.163412,116608982.169044,116608983.166647,116608984.159315,116608985.146168,116608986.139731,116608987.134036,116608988.122243,116608989.112141,116608990.12551,116608991.135155,116608992.141182,116608993.145212,116608994.150966,116608995.153181,116608996.154024,116608997.176611,116608998.19855,116608999.215512,116609000.229344,116609001.274759,116609002.290327,116609003.297888,116609004.298184,116609005.29339,116609006.285515,116609007.285071,116609008.28602,116609009.280786,116609010.275916,116609011.272069,116609012.268977,116609013.245645,116609014.232726,116609015.245961,116609016.227484,116609017.234207,116609018.241445,116609019.247312,116609020.251089,116609021.253884,116609022.262509,116609023.263189,116609024.262992,116609025.2626,116609026.262847,116609027.253216,116609028.230015,116609029.211361,116609030.196794,116609031.196941,116609032.195715,116609033.196955,116609034.188858,116609035.190949,116609036.194267,116609037.1924,116609038.203696,116609039.195518,116609040.18863,116609041.18616,116609042.193135,116609043.209979,116609044.224383,116609045.234772,116609046.242593,116609047.256142,116609048.290101,116609049.310389,116609050.302647,116609051.293708,116609052.296065,116609053.290131,116609054.293374,116609055.276296,116609056.247396,116609057.235149,116609058.225104,116609059.218457,116609060.212875,116609061.208311,116609062.196359,116609063.193169,116609064.209551,116609065.228724,116609066.218343,116609067.210063,116609068.197828,116609069.194148,116609070.186003,116609071.179638,116609072.187127,116609073.181876,116609074.17656,116609075.178434,116609076.182399,116609077.177542,116609078.179098,116609079.175783,116609080.172307,116609081.169722,116609082.167757,116609083.178944,116609084.181946,116609085.178428,116609086.186022,116609087.181647,116609088.17705,116609089.172908,116609090.190595,116609091.209871,116609092.22453,116609093.24527,116609094.252146,116609095.256299,116609096.288148,116609097.303021,116609098.296085,116609099.288205,116609100.282227,116609101.277915,116609102.274399,116609103.264644,116609104.239672,116609105.21909,116609106.203801,116609107.192891,116609108.18489,116609109.179646,116609110.152704,116609111.141095,116609112.121713,116609113.111044,116609114.121968,116609115.132873,116609116.17907,116609117.190939,116609118.186936,116609119.181366,116609120.176764,116609121.183108,116609122.179599,116609123.175493,116609124.17271,116609125.170746,116609126.169303,116609127.147051,116609128.125765,116609129.110035,116609130.09814,116609131.102643,116609132.096787,116609133.089403,116609134.086437,116609135.105333,116609136.121794,116609137.136461,116609138.14562,116609139.151835,116609140.15631,116609141.159099,116609142.186908,116609143.21157,116609144.226493,116609145.224572,116609146.21615,116609147.227514,116609148.238329,116609149.258693,116609150.263757,116609151.265488,116609152.266922,116609153.259314,116609154.23674,116609155.218064,116609156.209175,116609157.206476,116609158.207052,116609159.19758,116609160.189774,116609161.165296,116609162.140107,116609163.136941,116609164.122412,116609165.108061,116609166.103363,116609167.118404,116609168.132057,116609169.14205,116609170.155694,116609171.160132,116609172.171463,116609173.172955,116609174.180072,116609175.179745,116609176.183352,116609177.198563,116609178.202192,116609179.194651,116609180.190048,116609181.185107,116609182.194531,116609183.213624,116609184.234491,116609185.246938,116609186.254771,116609187.265689,116609188.268472,116609189.269862,116609190.270948,116609191.271624,116609192.25807,116609193.236003,116609194.243884,116609195.227965,116609196.22528,116609197.234313,116609198.226619,116609199.237094,116609200.248351,116609201.262324,116609202.268481,116609203.276135,116609204.304218,116609205.301264,116609206.2946,116609207.289754,116609208.27825,116609209.2526,116609210.257313,116609211.238133,116609212.229265,116609213.239656,116609214.255517,116609215.312983,116609216.30402,116609217.293778,116609218.267737,116609219.257885,116609220.249325,116609221.265227,116609222.254157,116609223.299852,116609224.347748,116609225.320208,116609226.308697,116609227.301958,116609228.297565,116609229.299731,116609230.321965,116609231.317968,116609232.321806,116609233.313127,116609234.305206,116609235.309696,116609236.303871,116609237.661059,116609239.034759,116609239.905456,116609240.726652,116609241.577778,116609242.468236,116609243.399884,116609244.366046,116609245.321641,116609246.283706,116609247.256336,116609248.236555,116609249.264277,116609250.25219,116609251.285062,116609252.290982,116609253.303145,116609254.344322,116609255.359677,116609256.434792,116609257.458021,116609258.470866,116609259.486082,116609260.541974,116609261.538163,116609262.513607,116609263.482668,116609264.482814,116609265.463226,116609266.445068,116609267.422312,116609268.399207,116609269.374988,116609270.366353,116609271.372383,116609272.378385,116609273.390983,116609274.400501,116609275.407597,116609276.406066,116609277.408939,116609278.411401,116609279.412439,116609280.445203,116609281.436963,116609282.426407,116609283.400351,116609284.380406,116609285.365324,116609286.355398,116609287.346655,116609288.356659,116609289.343684,116609290.330492,116609291.330194,116609292.397098,116609293.403892,116609294.403631,116609295.401889,116609296.407224,116609297.405828,116609298.40323,116609299.401371,116609300.400968,116609301.378325,116609302.363702,116609303.345968,116609304.348313,116609305.35058,116609306.362975,116609307.382629,116609308.401354,116609309.418175,116609310.427646,116609311.422185,116609312.405498,116609313.378126,116609314.363329,116609315.371947,116609316.35983,116609317.358543,116609318.3678,116609319.376683,116609320.382969,116609321.400559,116609322.415243,116609323.402394,116609324.400474,116609325.400066,116609326.453762,116609327.448147,116609328.437592,116609329.428664,116609330.421536,116609331.416031,116609332.412305,116609333.394802,116609334.369979,116609335.350485,116609336.363825,116609337.349608,116609338.335746,116609339.331664,116609340.323395,116609341.348715,116609342.340043,116609343.330049,116609344.32756,116609345.325808,116609346.325614,116609347.318958,116609348.318968,116609349.314156,116609350.310112,116609351.324758,116609352.320117,116609353.314246,116609354.315862,116609355.311973,116609356.312662,116609357.30879,116609358.31322,116609359.318675,116609360.314577,116609361.315069,116609362.315588,116609363.311796,116609364.308097,116609365.305419,116609366.303171,116609367.302484,116609368.325338,116609369.345786,116609370.36108,116609371.372447,116609372.380563,116609373.395093,116609374.398674,116609375.399686,116609376.400368,116609377.400668,116609378.400992,116609379.391501,116609380.369567,116609381.35888,116609382.357958,116609383.343841,116609384.343393,116609385.362233,116609386.349265,116609387.335962,116609388.341799,116609389.356994,116609390.375532,116609391.384401,116609392.389731,116609393.383696,116609394.363795,116609395.353772,116609396.348055,116609397.343272,116609398.33985,116609399.337365,116609400.335624,116609401.334073,116609402.337439,116609403.340734,116609404.331087,116609405.340086,116609406.345581,116609407.359493,116609408.376092,116609409.385636,116609410.391252,116609411.405952,116609412.393919,116609413.39508,116609414.428236,116609415.426305,116609416.420971,116609417.416205,116609418.396541,116609419.372245,116609420.360103,116609421.34756,116609422.33676,116609423.335058,116609424.334763,116609425.32716,116609426.366049,116609427.380458,116609428.410191,116609429.393839,116609430.394973,116609431.401938,116609432.420067,116609433.418936,116609434.416351,116609435.414086,116609436.41234,116609437.411417,116609438.410693,116609439.409722,116609440.398895,116609441.375351,116609442.355378,116609443.389486,116609444.372726,116609445.355053,116609446.326833,116609447.304434,116609448.27897,116609449.281048,116609450.315701,116609451.317081,116609452.319536,116609453.3181,116609454.30508,116609455.304431,116609456.304438,116609457.313426,116609458.319275,116609459.316669,116609460.313597,116609461.31108,116609462.309266,116609463.307791,116609464.313026,116609465.336176,116609466.380682,116609467.392988,116609468.405612,116609469.408204,116609470.409438,116609471.409909,116609472.407555,116609473.384406,116609474.363844,116609475.348381,116609476.337088,116609477.339817,116609478.339999,116609479.340963,116609480.333338,116609481.326366,116609482.321234,116609483.319016,116609484.345413,116609485.359073,116609486.348965,116609487.338251,116609488.330014,116609489.32428,116609490.320151,116609491.3267,116609492.329973,116609493.32734,116609494.299446,116609495.274875,116609496.265883,116609497.251087,116609498.239525,116609499.230648,116609500.246543,116609501.262565,116609502.331806,116609503.333983,116609504.329027,116609505.331725,116609506.334313,116609507.359913,116609508.350843,116609509.340937,116609510.34545,116609511.367762,116609512.386706,116609513.401461,116609514.408916,116609515.400391,116609516.386726,116609517.368495,116609518.358441,116609519.370512,116609520.387619,116609521.401765,116609522.41249,116609523.414567,116609524.432519,116609525.406565,116609526.392427,116609527.372615,116609528.359312,116609529.37069,116609530.389606,116609531.399442,116609532.382034,116609533.364185,116609534.364697,116609535.366486,116609536.354456,116609537.351085,116609538.341696,116609539.334199,116609540.340805,116609541.33585,116609542.330206,116609543.337165,116609544.333109,116609545.340519,116609546.344278,116609547.338154,116609548.332689,116609549.328156,116609550.387549,116609551.385002,116609552.369691,116609553.355677,116609554.345191,116609555.337363,116609556.331438,116609557.344532,116609558.364154,116609559.379395,116609560.39718,116609561.404644,116609562.413988,116609563.422975,116609564.423636,116609565.415118,116609566.391425,116609567.371071,116609568.356071,116609569.345429,116609570.337634,116609571.33192,116609572.317037,116609573.291807,116609574.2834,116609575.279245,116609576.26506,116609577.265839,116609578.265626,116609579.263974,116609580.252255,116609581.242016,116609582.257455,116609583.273462,116609584.28529,116609585.294368,116609586.346735,116609587.355164,116609588.347626,116609589.349591,116609590.343478,116609591.336883,116609592.336181,116609593.360453,116609594.378807,116609595.398661,116609596.406856,116609597.411908,116609598.422032,116609599.423922,116609600.423994,116609601.423792,116609602.413795,116609603.390681,116609604.371153,116609605.370163,116609606.358371,116609607.349877,116609608.373599,116609609.381996,116609610.368635,116609611.355776,116609612.345709,116609613.338673,116609614.333106,116609615.329083,116609616.326032,116609617.317979,116609618.307234,116609619.31943,116609620.328875,116609621.329526,116609622.329068,116609623.328156,116609624.367618,116609625.36068,116609626.351072,116609627.355486,116609628.381985,116609629.406034,116609630.442535,116609631.436735,116609632.41016,116609633.397515,116609634.393196,116609635.401073,116609636.435875,116609637.438315,116609638.436076,116609639.424506,116609640.408346,116609641.400974,116609642.405912,116609643.390023,116609644.390921,116609645.382417,116609646.380346,116609647.391589,116609648.409901,116609649.427866,116609650.437577,116609651.437438,116609652.435955,116609653.474527,116609654.475762,116609655.472807,116609656.470997,116609657.465914,116609658.465759,116609659.464117,116609660.456278,116609661.454464,116609662.442461,116609663.414421,116609664.401093,116609665.382441,116609666.378211,116609667.369855,116609668.366795,116609669.358979,116609670.374296,116609671.394334,116609672.413056,116609673.428269,116609674.435425,116609675.44137,116609676.436659,116609677.418741,116609678.409156,116609679.419473,116609680.421192,116609681.400275,116609682.380579,116609683.366468,116609684.35653,116609685.349204,116609686.346358,116609687.381049,116609688.374957,116609689.363708,116609690.353984,116609691.347008,116609692.342295,116609693.338226,116609694.336105,116609695.334226,116609696.356165,116609697.376354,116609698.392106,116609699.404231,116609700.419102,116609701.424605,116609702.436511,116609703.445676,116609704.444512,116609705.439502,116609706.414246,116609707.391756,116609708.382515,116609709.369025,116609710.358174,116609711.350271,116609712.354929,116609713.356516,116609714.351322,116609715.356679,116609716.381021,116609717.402469,116609718.418042,116609719.423786,116609720.433728,116609721.410727,116609722.389283,116609723.373339,116609724.361693,116609725.352815,116609726.334562,116609727.316464,116609728.303913,116609729.295686,116609730.280005,116609731.30125,116609732.312384,116609733.335278,116609734.350181,116609735.429929,116609736.417052,116609737.420743,116609738.432804,116609739.457941,116609740.440054,116609741.429659,116609742.460038,116609743.472273,116609744.466817,116609745.460981,116609746.456225,116609747.452535,116609748.449621,116609749.447553,116609750.449654,116609751.47345,116609752.494601,116609753.514816,116609754.526884,116609755.574121,116609756.584652,116609757.564987,116609758.558438,116609759.547055,116609760.540458,116609761.517349,116609762.497897,116609763.48363,116609764.481101,116609765.479753,116609766.478908,116609767.476318,116609768.468375,116609769.462323,116609770.458741,116609771.430571,116609772.404061,116609773.386142,116609774.38496,116609775.364332,116609776.332268,116609777.35653,116609778.33178,116609779.319606,116609780.305539,116609781.291524,116609782.278115,116609783.267525,116609784.25943,116609785.275912,116609786.324899,116609787.334339,116609788.3374,116609789.338922,116609790.339686,116609791.342418,116609792.366643,116609793.388289,116609794.405164,116609795.417185,116609796.431448,116609797.436891,116609798.440509,116609799.444834,116609800.483146,116609801.480516,116609802.473365,116609803.452711,116609804.425614,116609805.403891,116609806.388068,116609807.376009,116609808.367385,116609809.349536,116609810.322862,116609811.301664,116609812.299412,116609813.286683,116609814.275437,116609815.285906,116609816.288581,116609817.303736,116609818.294597,116609819.291229,116609820.317388,116609821.341235,116609822.347165,116609823.365239,116609824.362967,116609825.358955,116609826.356164,116609827.353886,116609828.352532,116609829.351611,116609830.351728,116609831.375033,116609832.380884,116609833.383589,116609834.430171,116609835.450645,116609836.462847,116609837.486045,116609838.482969,116609839.476159,116609840.527499,116609841.515391,116609842.500179,116609843.487587,116609844.465365,116609845.435762,116609846.412773,116609847.393241,116609848.357788,116609849.344602,116609850.320936,116609851.302774,116609852.334107,116609853.342296,116609854.345702,116609855.348077,116609856.385826,116609857.381999,116609858.378377,116609859.396164,116609860.412762,116609861.425253,116609862.441308,116609863.462704,116609864.464117,116609865.469139,116609866.473461,116609867.457824,116609868.431682,116609869.410831,116609870.39132,116609871.367237,116609872.338413,116609873.329931,116609874.319806,116609875.330069,116609876.340012,116609877.345413,116609878.394229,116609879.390456,116609880.382686,116609881.379996,116609882.376304,116609883.412317,116609884.439152,116609885.449643,116609886.454456,116609887.491055,116609888.488857,116609889.493811,116609890.503273,116609891.505075,116609892.504649,116609893.495408,116609894.506964,116609895.49984,116609896.490945,116609897.503266,116609898.495812,116609899.495806,116609900.488867,116609901.532331,116609902.52109,116609903.506782,116609904.483688,116609905.452509,116609906.439637,116609907.432279,116609908.415479,116609909.412709,116609910.401558,116609911.391183,116609912.402278,116609913.419046,116609914.438703,116609915.457526,116609916.461786,116609917.46502,116609918.464866,116609919.45831,116609920.472688,116609921.518948,116609922.519752,116609923.519803,116609924.508663,116609925.501243,116609926.493777,116609927.487566,116609928.534793,116609929.527502,116609930.529625,116609931.552287,116609932.557397,116609933.538581,116609934.520489,116609935.506601,116609936.534134,116609937.499444,116609938.46592,116609939.440172,116609940.431201,116609941.424973,116609942.422017,116609943.416835,116609944.401783,116609945.393924,116609946.386868,116609947.381807,116609948.377399,116609949.374113,116609950.372259,116609951.376851,116609952.382003,116609953.426989,116609954.441748,116609955.450742,116609956.457042,116609957.469132,116609958.471124,116609959.479863,116609960.485591,116609961.488057,116609962.489458,116609963.485896,116609964.517146,116609965.528096,116609966.525178,116609967.52363,116609968.53743,116609969.550032,116609970.61402,116609971.619626,116609972.617996,116609973.610285,116609974.604437,116609975.580945,116609976.554108,116609977.533806,116609978.518091,116609979.506633,116609980.521862,116609981.499927,116609982.467856,116609983.442029,116609984.42996,116609985.421227,116609986.409494,116609987.411136,116609988.402561,116609989.394871,116609990.40097,116609991.402582,116609992.395546,116609993.392357,116609994.411095,116609995.429221,116609996.506439,116609997.516414,116609998.509802,116609999.514832,116610000.511884,116610001.509814,116610002.502724,116610003.506476,116610004.535261,116610005.525705,116610006.514832,116610007.528687,116610008.52506,116610009.514457,116610010.505585,116610011.499276,116610012.494502,116610013.509268,116610014.508933,116610015.503357,116610016.498012,116610017.493771,116610018.517532,116610019.529981,116610020.532542,116610021.531833,116610022.545746,116610023.610084,116610024.617887,116610025.613525,116610026.60867,116610027.590472,116610028.598629,116610029.579628,116610030.566315,116610031.546169,116610032.529823,116610033.517673,116610034.513379,116610035.506997,116610036.501294,116610037.50626,116610038.518284,116610039.51217,116610040.505378,116610041.499934,116610042.495651,116610043.492531,116610044.49077,116610045.493794,116610046.51415,116610047.509451,116610048.503612,116610049.515615,116610050.535396,116610051.586573,116610052.594063,116610053.600623,116610054.602388,116610055.601233,116610056.599471,116610057.61505,116610058.615944,116610059.614192,116610060.610057,116610061.606544,116610062.611142,116610063.633765,116610064.654359,116610065.669913,116610066.681533,116610067.68933,116610068.695026,116610069.699461,116610070.72657,116610071.706878,116610072.679952,116610073.657758,116610074.641596,116610075.629751,116610076.629833,116610077.623552,116610078.667255,116610079.6558,116610080.641485,116610081.629973,116610082.621652,116610083.615229,116610084.610864,116610085.607726,116610086.594981,116610087.568812,116610088.547669,116610089.564006,116610090.53461,116610091.49675,116610092.467312,116610093.450924,116610094.433823,116610095.426506,116610096.422588,116610097.413899,116610098.449414,116610099.469007,116610100.476463,116610101.463389,116610102.449845,116610103.437404,116610104.448228,116610105.459743,116610106.507812,116610107.509368,116610108.505539,116610109.502342,116610110.499712,116610111.520068,116610112.541725,116610113.563488,116610114.575168,116610115.583245,116610116.574456,116610117.586698,116610118.56648,116610119.547321,116610120.533312,116610121.522597,116610122.514872,116610123.489185,116610124.467496,116610125.446645,116610126.444314,116610127.445198,116610128.456344,116610129.470136,116610130.477332,116610131.467624,116610132.448242,116610133.436927,116610134.43204,116610135.429114,116610136.419271,116610137.411143,116610138.416589,116610139.435532,116610140.474485,116610141.485142,116610142.492643,116610143.494264,116610144.498526,116610145.502388,116610146.505296,116610147.503416,116610148.501294,116610149.486516,116610150.464417,116610151.452701,116610152.439102,116610153.426467,116610154.41688,116610155.419584,116610156.437721,116610157.453362,116610158.465427,116610159.473942,116610160.488786,116610161.499372,116610162.500233,116610163.505519,116610164.533022,116610165.545649,116610166.536455,116610167.526246,116610168.518505,116610169.512611,116610170.508969,116610171.50741,116610172.489091,116610173.466069,116610174.447351,116610175.44199,116610176.438888,116610177.475612,116610178.46188,116610179.445319,116610180.445857,116610181.459664,116610182.470917,116610183.479507,116610184.485779,116610185.490606,116610186.50245,116610187.529944,116610188.594095,116610189.615763,116610190.617884,116610191.617358,116610192.610053,116610193.586133,116610194.570852,116610195.608987,116610196.588743,116610197.5671,116610198.561537,116610199.548844,116610200.537265,116610201.52871,116610202.536251,116610203.55588,116610204.628024,116610205.634337,116610206.631307,116610207.636284,116610208.636786,116610209.633465,116610210.632361,116610211.629549,116610212.626862,116610213.624088,116610214.622389,116610215.634392,116610216.62178,116610217.5944,116610218.584877,116610219.577661,116610220.572294,116610221.557702,116610222.550862,116610223.541155,116610224.533729,116610225.540314,116610226.578529,116610227.566647,116610228.56505,116610229.561439,116610230.549053,116610231.538316,116610232.536444,116610233.542075,116610234.582036,116610235.55617,116610236.529429,116610237.505957,116610238.540954,116610239.54421,116610240.521247,116610241.507282,116610242.493056,116610243.495586,116610244.499972,116610245.503731,116610246.506212,116610247.508076,116610248.509238,116610249.509754,116610250.524223,116610251.553066,116610252.567647,116610253.58123,116610254.592064,116610255.600569,116610256.610375,116610257.614449,116610258.616768,116610259.610983,116610260.615249,116610261.572948,116610262.5295,116610263.496168,116610264.485702,116610265.537468,116610266.520736,116610267.493657,116610268.484161,116610269.491529,116610270.473153,116610271.456306,116610272.443299,116610273.438483,116610274.474842,116610275.499893,116610276.514288,116610277.516735,116610278.52252,116610279.527813,116610280.531642,116610281.528948,116610282.531756,116610283.550088,116610284.529265,116610285.500235,116610286.476791,116610287.46588,116610288.476204,116610289.487077,116610290.495906,116610291.502673,116610292.507357,116610293.510624,116610294.564985,116610295.585837,116610296.605179,116610297.613272,116610298.603226,116610299.582577,116610300.565728,116610301.540817,116610302.508793,116610303.52596,116610304.510959,116610305.487245,116610306.467873,116610307.467469,116610308.479687,116610309.49683,116610310.504664,116610311.524454,116610312.53566,116610313.539256,116610314.543037,116610315.538289,116610316.517241,116610317.501363,116610318.491711,116610319.473275,116610320.464013,116610321.462101,116610322.472978,116610323.460293,116610324.448689,116610325.446651,116610326.463897,116610327.479772,116610328.5039,116610329.521758,116610330.534663,116610331.53334,116610332.400841,116610333.407697,116610334.411607,116610335.414127,116610336.41647,116610337.423973,116610338.424511,116610339.42448,116610340.423473,116610341.422865,116610342.426249,116610343.425872,116610344.424725,116610345.474126,116610346.466768,116610347.44979,116610348.42602,116610349.407569,116610350.407223,116610351.404661,116610352.408158,116610353.411698,116610354.419649,116610355.421329,116610356.427195,116610357.432508,116610358.431057,116610359.419986,116610360.406883,116610361.392309,116610362.383742,116610363.385277,116610364.380231,116610365.369494,116610366.379989,116610367.390726,116610368.404184,116610369.409904,116610370.541086,116610371.523354,116610372.506375,116610373.491474,116610374.497555,116610375.505305,116610376.517937,116610377.521316,116610378.523042,116610379.510191,116610380.489182,116610381.476607,116610382.463526,116610383.459177,116610384.451227,116610385.447823,116610386.495001,116610387.508472,116610388.5151,116610389.519935,116610390.522636,116610391.524837,116610392.588138,116610393.606855,116610394.617273,116610395.624326,116610396.632138,116610397.636325,116610398.614131,116610399.592355,116610400.575848,116610401.555613,116610402.536022,116610403.510753,116610404.525716,116610405.51079,116610406.490421,116610407.495084,116610408.504553,116610409.517282,116610410.522942,116610411.542315,116610412.523966,116610413.500114,116610414.498818,116610415.507241,116610416.514577,116610417.520247,116610418.524259,116610419.57426,116610420.578122,116610421.568266,116610422.564176,116610423.571506,116610424.566799,116610425.563434,116610426.556927,116610427.589716,116610428.573307,116610429.553171,116610430.537299,116610431.530517,116610432.531337,116610433.532818,116610434.534115,116610435.586964,116610436.581078,116610437.5791,116610438.582561,116610439.587131,116610440.650413,116610441.642161,116610442.617188,116610443.5962,116610444.587009,116610445.599741,116610446.587684,116610447.576031,116610448.567606,116610449.564806,116610450.562489,116610451.557373,116610452.553638,116610453.599912,116610454.596299,116610455.576067,116610456.542356,116610457.520016,116610458.532292,116610459.517608,116610460.513073,116610461.496852,116610462.487717,116610463.474527,116610464.473533,116610465.470984,116610466.476145,116610467.496598,116610468.509728,116610469.511356,116610470.5017,116610471.485318,116610472.48857,116610473.501426,116610474.519019,116610475.531842,116610476.537164,116610477.550041,116610478.578121,116610479.606713,116610480.637115,116610481.638268,116610482.628138,116610483.620463,116610484.617224,116610485.638048,116610486.623135,116610487.607919,116610488.607852,116610489.619621,116610490.629344,116610491.646425,116610492.657964,116610493.665003,116610494.663817,116610495.697079,116610496.673078,116610497.650333,116610498.642051,116610499.640642,116610500.671253,116610501.647951,116610502.622023,116610503.60178,116610504.586778,116610505.570872,116610506.539773,116610507.553959,116610508.515387,116610509.481684,116610510.451732,116610511.445596,116610512.505053,116610513.503737,116610514.48981,116610515.477404,116610516.469921,116610517.463757,116610518.458347,116610519.470156,116610520.504829,116610521.525744,116610522.535599,116610523.551349,116610524.578072,116610525.574854,116610526.561896,116610527.556097,116610528.555075,116610529.56504,116610530.562932,116610531.560915,116610532.565738,116610533.576223,116610534.595201,116610535.62061,116610536.622124,116610537.606553,116610538.592485,116610539.58158,116610540.573658,116610541.568209,116610542.56394,116610543.540138,116610544.515646,116610545.485247,116610546.448837,116610547.42947,116610548.407488,116610549.390274,116610550.391072,116610551.41151,116610552.422484,116610553.428668,116610554.4337,116610555.43759,116610556.44019,116610557.451523,116610558.458891,116610559.456874,116610560.454888,116610561.466918,116610562.496771,116610563.513695,116610564.527212,116610565.51749,116610566.500254,116610567.510281,116610568.518838,116610569.521161,116610570.509378,116610571.517408,116610572.528514,116610573.542064,116610574.547281,116610575.551672,116610576.553332,116610577.557269,116610578.563367,116610579.562215,116610580.576955,116610581.609653,116610582.626504,116610583.622134,116610584.60608,116610585.59247,116610586.582439,116610587.575541,116610588.557725,116610589.530447,116610590.508557,116610591.49235,116610592.481259,116610593.473403,116610594.474187,116610595.468749,116610596.47336,116610597.475398,116610598.469458,116610599.464349,116610600.460389,116610601.464681,116610602.461527,116610603.467704,116610604.472099,116610605.474512,116610606.489978,116610607.487969,116610608.503705,116610609.524889,116610610.534531,116610611.519644,116610612.502081,116610613.488656,116610614.489594,116610615.480923,116610616.473095,116610617.467018,116610618.46254,116610619.472117,116610620.493392,116610621.510989,116610622.523595,116610623.533119,116610624.540897,116610625.546615,116610626.570609,116610627.61922,116610628.622797,116610629.608699,116610630.5962,116610631.568114,116610632.538501,116610633.515731,116610634.499008,116610635.496771,116610636.490501,116610638.337373,116610639.232464,116610640.048852,116610640.882783,116610641.740127,116610642.647255,116610643.568788,116610644.509557,116610645.489993,116610646.503133,116610647.516681,116610648.526461,116610649.533622,116610650.552118,116610651.592103,116610652.623232,116610653.636286,116610654.660496,116610655.688612,116610656.721437,116610657.743667,116610658.752303,116610659.757482,116610660.740196,116610661.730657,116610662.726679,116610663.724196,116610664.710445,116610665.708973,116610666.723067,116610667.7358,116610668.74568,116610669.752571,116610670.757329,116610671.761286,116610672.766342,116610673.796608,116610674.804471,116610675.798126,116610676.79102,116610677.78888,116610678.784408,116610679.768004,116610680.742284,116610681.720837,116610682.7154,116610683.714677,116610684.714406,116610685.712981,116610686.706771,116610687.701866,116610688.701812,116610689.702164,116610690.699022,116610691.690087,116610692.682657,116610693.702699,116610694.719419,116610695.722144,116610696.730115,116610697.733441,116610698.740837,116610699.735889,116610700.724146,116610701.731258,116610702.741325,116610703.749613,116610704.764441,116610705.767781,116610706.769803,116610707.774269,116610708.777719,116610709.768395,116610710.744265,116610711.722813,116610712.719923,116610713.706667,116610714.705737,116610715.705619,116610716.698508,116610717.711317,116610718.734658,116610719.798731,116610720.7839,116610721.756328,116610722.742055,116610723.751821,116610724.745756,116610725.752583,116610726.766196,116610727.767857,116610728.74697,116610729.753627,116610730.748357,116610731.758393,116610732.744898,116610733.730724,116610734.72013,116610735.707285,116610736.697583,116610737.716504,116610738.753771,116610739.763561,116610740.776118,116610741.783093,116610742.788699,116610743.78757,116610744.790435,116610745.801487,116610746.802137,116610747.810159,116610748.811758,116610749.812859,116610750.806479,116610751.7997,116610752.801726,116610753.797423,116610754.792951,116610755.808879,116610756.806275,116610757.800699,116610758.816328,116610759.836773,116610760.891315,116610761.898408,116610762.898677,116610763.875286,116610764.90125,116610765.868106,116610766.820361,116610767.781034,116610768.752164,116610769.742971,116610770.758483,116610771.746031,116610772.728968,116610773.714945,116610774.704012,116610775.739635,116610776.758928,116610777.778791,116610778.783918,116610779.785285,116610780.785914,116610781.789978,116610782.789778,116610783.788704,116610784.790239,116610785.784653,116610786.758888,116610787.743152,116610788.726043,116610789.712643,116610790.713186,116610791.729994,116610792.752849,116610793.821206,116610794.826118,116610795.814033,116610796.782969,116610797.754915,116610798.736015,116610799.723813,116610800.720295,116610801.711112,116610802.710437,116610803.703926,116610804.697461,116610805.692463,116610806.688806,116610807.688326,116610808.710426,116610809.731053,116610810.746655,116610811.758401,116610812.770684,116610813.7759,116610814.783404,116610815.78973,116610816.789944,116610817.771505,116610818.748347,116610819.730077,116610820.721467,116610821.711207,116610822.702747,116610823.696584,116610824.703398,116610825.723835,116610826.747681,116610827.790368,116610828.783975,116610829.773081,116610830.775288,116610831.784486,116610832.787159,116610833.780521,116610834.780743,116610835.784549,116610836.76511,116610837.985682,116610839.163319,116610840.083625,116610840.979293,116610841.937867,116610842.917776,116610843.875039,116610844.997365,116610845.9688,116610846.911244,116610847.873179,116610848.840015,116610849.811784,116610850.792456,116610851.776549,116610852.786834,116610853.822265,116610854.866086,116610855.890716,116610856.921871,116610857.935384,116610858.940354,116610859.944183,116610860.950043,116610861.95229,116610862.96214,116610863.961757,116610864.99715,116610865.999317,116610866.968821,116610867.936394,116610868.913194,116610869.971942,116610871.014679,116610871.982393,116610872.946402,116610873.917486,116610874.895698,116610875.880782,116610876.89354,116610877.932465,116610878.996641,116610880.051329,116610881.088583,116610882.175746,116610883.190456,116610884.216767,116610885.300367,116610886.309757,116610887.30941,116610888.291079,116610889.264914,116610890.244056,116610891.228401,116610892.216721,116610893.208739,116610894.231134,116610895.198586,116610896.167067,116610897.143246,116610898.125335,116610899.142998,116610900.12962,116610901.113027,116610902.078728,116610903.05095,116610904.063729,116610905.044182,116610906.026383,116610907.010465,116610907.976511,116610908.944524,116610909.928677,116610910.923954,116610911.909799,116610912.916425,116610913.903668,116610914.875572,116610915.853833,116610916.829816,116610917.808084,116610918.815148,116610919.82697,116610920.835532,116610921.897198,116610922.89723,116610923.892285,116610924.887662,116610925.903952,116610926.895849,116610927.886771,116610928.880632,116610929.929149,116610930.92965,116610931.942942,116610932.93319,116610933.932754,116610934.916405,116610935.902352,116610936.86839,116610937.83736,116610938.823926,116610939.818673,116610940.814477,116610941.80453,116610942.791682,116610943.819307,116610944.831182,116610945.839693,116610946.845661,116610947.8504,116610948.85313,116610949.862618,116610950.878504,116610951.899268,116610952.912997,116610953.929213,116610954.942115,116610955.993142,116610956.998618,116610957.993994,116610958.990018,116610959.970627,116610960.944215,116610961.922908,116610962.906208,116610963.894066,116610964.88538,116610965.895258,116610966.905368,116610967.882129,116610968.850614,116610969.82487,116610970.814941,116610971.80074,116610972.788355,116610973.778698,116610974.819987,116610975.427213,116610976.430691,116610977.443344,116610978.442613,116610979.466811,116610980.469562,116610981.461443,116610982.435621,116610983.454166,116610984.42657,116610985.400556,116610986.384298,116610987.372208,116610988.370192,116610989.360087,116610990.351985,116610991.345877,116610992.356977,116610993.40118,116610994.468811,116610995.493795,116610996.513156,116610997.528638,116610998.537738,116610999.523413,116611000.501456,116611001.484019,116611002.498143,116611003.49682,116611004.482421,116611005.471104,116611006.463893,116611007.472004,116611008.465445,116611009.845499,116611010.864946,116611011.877231,116611012.88491,116611013.877837,116611014.885354,116611015.885333,116611016.870537,116611017.84639,116611018.877693,116611019.857878,116611020.890122,116611021.899584,116611022.885939,116611023.876101,116611024.85225,116611025.842442,116611026.825287,116611027.840772,116611028.83995,116611029.825888,116611030.835403,116611031.847037,116611032.856984,116611033.870258,116611034.882197,116611035.884901,116611036.892462,116611038.49107,116611039.430372,116611040.30227,116611041.202478,116611042.151895,116611043.131775,116611044.086571,116611045.039036,116611046.018659,116611047.019127,116611048.021616,116611049.017526,116611050.013959,116611051.017617,116611052.020775,116611053.022822,116611054.030251,116611055.025104,116611056.022901,116611057.024991,116611058.001064,116611058.980324,116611059.960234,116611060.964508,116611061.973359,116611062.986058,116611063.991415,116611064.998565,116611066.000739,116611067.007244,116611068.007097,116611069.011856,116611070.015668,116611071.018965,116611072.036656,116611073.030452,116611074.016331,116611074.987866,116611075.968934,116611076.953555,116611077.945169,116611078.932032,116611079.920559,116611080.964969,116611081.959524,116611082.966085,116611083.975282,116611084.982393,116611085.987347,116611086.990904,116611087.998714,116611089.010477,116611090.009472,116611091.012965,116611092.038673,116611093.056868,116611094.063256,116611095.049579,116611096.037278,116611097.027198,116611098.062979,116611099.049247,116611100.013977,116611100.984302,116611101.967587,116611102.955877,116611103.939928,116611104.926132,116611105.915812,116611106.908778,116611107.915735,116611108.919275,116611109.925025,116611110.919198,116611111.923852,116611112.917736,116611113.917919,116611114.912435,116611115.906582,116611116.901905,116611117.89846,116611118.933063,116611119.952657,116611120.969765,116611121.998719,116611123.014027,116611124.013169,116611125.0109,116611126.007516,116611126.989623,116611127.987434,116611128.997698,116611130.007989,116611131.014223,116611132.011844,116611133.006921,116611133.992555,116611134.991766,116611135.994168,116611137.002284,116611138.003451,116611139.001601,116611139.978469,116611140.955599,116611141.971891,116611142.968139,116611143.950324,116611144.943617,116611145.939577,116611146.933295,116611147.928717,116611148.929556,116611149.920978,116611150.913632,116611151.930832,116611152.949607,116611153.948348,116611154.935752,116611155.925871,116611156.940489,116611157.962051,116611158.974612,116611159.983011,116611160.996403,116611161.976852,116611162.954824,116611163.953309,116611164.970368,116611165.969321,116611166.952588,116611167.492833,116611168.468496,116611169.447855,116611170.429523,116611171.424169,116611172.446583,116611173.581604,116611174.625017,116611175.609248,116611176.569163,116611177.532724,116611178.507813,116611179.510258,116611180.487384,116611181.463738,116611182.45279,116611183.469904,116611184.545902,116611185.591838,116611186.603055,116611187.65941,116611188.676046,116611189.852302,116611191.277487,116611192.269358,116611193.462585,116611194.642809,116611195.512847,116611196.386369,116611197.293269,116611198.218829,116611199.125508,116611200.119141,116611201.094572,116611202.140463,116611203.495555,116611204.438269,116611205.328722,116611206.215431,116611207.111605,116611207.995464,116611208.905425,116611209.812219,116611210.661175,116611211.536188,116611212.440488,116611213.374335,116611214.375337,116611215.423739,116611216.500557,116611217.569572,116611218.608134,116611219.67629,116611220.782669,116611221.830049,116611222.857679,116611223.876227,116611224.890212,116611225.901792,116611226.91074,116611227.915311,116611228.954401,116611229.929693,116611230.898114,116611231.873322,116611232.854933,116611233.830553,116611234.797659,116611235.770614,116611236.749812,116611237.776312,116611238.762922,116611239.74619,116611240.733794,116611241.728927,116611242.755878,116611243.745249,116611244.714698,116611245.681735,116611246.656193,116611247.666775,116611248.649934,116611249.647492,116611250.646688,116611251.633297,116611252.628983,116611253.619509,116611254.610845,116611255.60459,116611256.601013,116611257.616802,116611258.637484,116611259.666835,116611260.676811,116611261.704012,116611262.681188,116611263.657931,116611264.653284,116611265.641353,116611266.642717,116611267.690938,116611268.675391,116611269.690367,116611270.703985,116611271.751277,116611272.744789,116611273.733925,116611274.732158,116611275.735123,116611276.818354,116611277.819907,116611278.799527,116611279.792486,116611280.772565,116611281.763913,116611282.749444,116611283.737486,116611284.731813,116611285.714315,116611286.686073,116611287.673183,116611288.653702,116611289.638306,116611290.627527,116611291.629603,116611292.63498,116611293.948282,116611294.960057,116611295.991642,116611297.000461,116611298.003039,116611298.987871,116611299.965025,116611300.945753,116611301.931185,116611302.920501,116611303.912892,116611304.890889,116611305.86407,116611306.867346,116611307.854009,116611308.879239,116611309.860293,116611310.84083,116611311.834691,116611312.824521,116611313.854469,116611314.842249,116611315.827302,116611316.861252,116611317.899332,116611318.974935,116611319.994656,116611321.004604,116611322.031385,116611323.060562,116611324.111337,116611325.093184,116611326.072665,116611327.056667,116611328.044307,116611329.035306,116611330.068533,116611331.056254,116611332.021365,116611332.991785,116611333.967109,116611334.94814,116611335.934206,116611336.924158,116611337.935521,116611338.912135,116611339.916139,116611340.913869,116611341.911706,116611342.908117,116611343.905838,116611344.914214,116611345.921393,116611346.919927,116611347.960128,116611348.952164,116611349.945411,116611350.934762,116611351.925942,116611352.970264,116611353.964099,116611354.948884,116611355.946092,116611356.941718,116611357.934699,116611358.927136,116611359.943785,116611361.019148,116611362.025603,116611363.023624,116611364.021251,116611365.019412,116611366.024161,116611367.024443,116611368.025299,116611369.026531,116611370.023764,116611371.024309,116611372.026922,116611373.029002,116611374.029835,116611375.025241,116611376.021412,116611377.112236,116611378.208389,116611379.287091,116611380.345115,116611381.387585,116611382.420192,116611383.439007,116611384.452944,116611385.460625,116611386.453765,116611387.45575,116611388.460148,116611389.487376,116611390.486451,116611391.481834,116611392.457757,116611393.404615,116611394.374095,116611395.344679,116611396.342575,116611397.344907,116611398.346398,116611399.349329,116611400.362418,116611401.416731,116611402.434989,116611403.44488,116611404.432296,116611405.413066,116611406.40715,116611407.38412,116611408.348167,116611409.319261,116611410.297365,116611411.282123,116611412.271204,116611413.262633,116611414.249981,116611415.221661,116611416.198195,116611417.180734,116611418.156893,116611419.124723,116611420.09933,116611421.08081,116611422.103601,116611423.066769,116611424.032323,116611425.006,116611425.994821,116611426.990815,116611427.976598,116611428.96282,116611429.960647,116611430.952996,116611431.945112,116611432.938943,116611433.948613,116611434.945825,116611435.940273,116611436.935808,116611437.932305,116611438.945759,116611439.976427,116611440.994545,116611442.003582,116611442.988904,116611443.982578,116611444.969587,116611446.007922,116611447.001195,116611447.993476,116611448.976909,116611449.978362,116611450.998588,116611452.010829,116611453.011158,116611454.01552,116611455.038661,116611456.05101,116611457.047604,116611458.130736,116611459.129035,116611460.115907,116611461.101371,116611462.089523,116611463.08378,116611464.070761,116611465.060114,116611466.059032,116611467.052659,116611468.041745,116611469.038236,116611470.060684,116611471.066034,116611472.069916,116611473.072943,116611474.063723,116611475.055542,116611476.057634,116611477.043735,116611478.063766,116611479.070226,116611480.105527,116611481.104242,116611482.088277,116611483.081591,116611484.075646,116611485.094998,116611486.06116,116611487.041491,116611488.015437,116611488.994642,116611490.00123,116611491.027632,116611492.032095,116611493.084914,116611494.089108,116611495.08464,116611496.080765,116611497.08935,116611498.079038,116611499.069157,116611500.067989,116611501.066137,116611502.064596,116611503.063946,116611504.057706,116611505.092002,116611506.071775,116611507.069123,116611508.068847,116611509.061634,116611510.101177,116611511.101461,116611512.098087,116611513.095035,116611514.081216,116611515.104566,116611516.099283,116611517.093608,116611518.087226,116611519.079888,116611520.069195,116611521.060623,116611522.065134,116611523.073653,116611524.066542,116611525.05902,116611526.049663,116611527.022209,116611527.998986,116611528.989158,116611529.975074,116611530.969993,116611531.972329,116611533.000516,116611533.990595,116611534.97518,116611535.98083,116611537.000944,116611538.013198,116611539.020241,116611540.022482,116611541.032444,116611542.033915,116611543.011535,116611543.992025,116611544.9775,116611545.982576,116611546.980032,116611547.968196,116611548.957197,116611549.952267,116611550.969849,116611552.017859,116611553.027227,116611554.030116,116611555.031736,116611556.051488,116611557.074611,116611558.095488,116611559.163281,116611560.165409,116611561.141028,116611562.113771,116611563.092843,116611564.077722,116611565.051072,116611566.030075,116611567.006816,116611567.995559,116611568.991112,116611569.977983,116611570.977041,116611571.966722,116611572.956634,116611573.97435,116611574.980111,116611575.987003,116611576.984721,116611577.97263,116611578.975359,116611579.966439,116611580.977257,116611581.995663,116611582.987082,116611583.984367,116611584.998544,116611585.997742,116611586.99776,116611587.983871,116611588.986594,116611590.007284,116611591.015931,116611592.022478,116611593.025782,116611594.019737,116611595.003162,116611596.009098,116611597.016305,116611598.021929,116611599.026001,116611600.029297,116611601.049264,116611602.075745,116611603.094153,116611604.089119,116611605.076625,116611606.066493,116611607.058686,116611608.053426,116611609.050313,116611610.047714,116611611.036971,116611612.012699,116611612.993357,116611613.97679,116611614.963913,116611615.954228,116611616.932116,116611617.903969,116611618.881968,116611619.874686,116611620.88165,116611621.874126,116611622.894986,116611623.881459,116611624.872916,116611625.884066,116611626.896392,116611627.905677,116611628.91256,116611629.917675,116611630.92425,116611631.950312,116611632.975176,116611634.000075,116611635.014289,116611636.062583,116611637.062674,116611638.070241,116611639.082614,116611640.10848,116611641.072902,116611642.038881,116611643.051206,116611644.030901,116611645.027733,116611646.020236,116611647.002271,116611647.994724,116611649.042038,116611650.024819,116611651.005025,116611651.989041,116611652.990995,116611654.004578,116611655.015426,116611656.022942,116611657.036448,116611658.055002,116611659.054845,116611660.052411,116611661.050431,116611662.048953,116611663.028416,116611664.006638,116611665.014337,116611666.013651,116611666.997587,116611667.981505,116611668.979912,116611669.980597,116611670.973619,116611671.964109,116611672.954482,116611673.926002,116611674.899261,116611675.890906,116611676.876097,116611677.624642,116611678.595333,116611679.583784,116611680.584401,116611681.586677,116611682.589116,116611683.590648,116611684.600718,116611685.603531,116611686.626374,116611687.621057,116611688.633379,116611689.650856,116611690.704183,116611691.709273,116611692.708397,116611693.7078,116611694.93604,116611696.055994,116611697.101101,116611698.123653,116611699.116746,116611700.105102,116611701.095885,116611702.089262,116611703.084385,116611704.080003,116611705.054162,116611706.03207,116611707.016628,116611708.005658,116611708.996814,116611709.989337,116611710.965544,116611711.944192,116611712.922363,116611713.904845,116611714.915435,116611715.930413,116611716.950136,116611717.957609,116611718.960697,116611719.962699,116611720.963931,116611721.965073,116611722.983766,116611724.008037,116611725.029338,116611726.046664,116611727.058053,116611728.063098,116611729.065446,116611730.070982,116611731.078336,116611732.08623,116611733.084127,116611734.081029,116611735.078325,116611736.076032,116611737.077965,116611738.076619,116611739.075281,116611740.07977,116611741.082865,116611742.084767,116611743.090366,116611744.091614,116611745.088507,116611746.089384,116611747.086418,116611748.127004,116611749.121219,116611750.110678,116611751.101348,116611752.094811,116611753.091879,116611754.114985,116611755.132249,116611756.125148,116611757.156649,116611758.14033,116611759.123471,116611760.111445,116611761.128334,116611762.110841,116611763.077396,116611764.04981,116611765.037578,116611766.02648,116611767.062634,116611768.046458,116611769.037689,116611770.022487,116611771.009966,116611772.000946,116611772.998571,116611774.001818,116611774.995503,116611775.999894,116611776.999604,116611778.060342,116611779.075903,116611780.055712,116611781.041113,116611782.047864,116611783.055961,116611784.06221,116611785.096733,116611786.096416,116611787.093336,116611788.091864,116611789.137097,116611790.152821,116611791.162343,116611792.168851,116611793.17611,116611794.193643,116611795.193166,116611796.191453,116611797.182719,116611798.197939,116611799.172747,116611800.149036,116611801.130726,116611802.117564,116611803.107127,116611804.07975,116611805.054025,116611806.03428,116611807.019434,116611808.076295,116611809.061117,116611810.041439,116611811.025532,116611812.043812,116611813.032089,116611814.019754,116611815.031928,116611816.044442,116611817.031727,116611818.02885,116611819.025595,116611820.015758,116611821.014034,116611822.020605,116611823.031751,116611824.047766,116611825.057818,116611826.09947,116611827.100487,116611828.096974,116611829.089266,116611830.087303,116611831.091254,116611832.094697,116611833.092959,116611834.090919,116611835.088972,116611836.087502,116611837.089907,116611838.089033,116611839.088037,116611840.086879,116611841.086098,116611842.085324,116611843.075524,116611844.053896,116611845.041959,116611846.03446,116611847.03104,116611848.019482,116611849.006796,116611849.988657,116611850.960574,116611851.937997,116611852.947197,116611853.966002,116611854.972143,116611855.980611,116611856.982293,116611857.994948,116611858.991409,116611859.988635,116611860.992545,116611861.991113,116611862.999455,116611863.997538,116611864.994011,116611865.990928,116611866.988489,116611867.998803,116611869.008525,116611870.020955,116611871.025892,116611872.041376,116611873.05311,116611874.061888,116611875.068682,116611876.073742,116611877.07657,116611878.084438,116611879.114238,116611880.134719,116611881.136105,116611882.127144,116611883.142233,116611884.138079,116611885.149265,116611886.136389,116611887.123202,116611888.113486,116611889.106034,116611890.100765,116611891.117762,116611892.109352,116611893.093914,116611894.099834,116611895.121428,116611896.092851,116611897.065851,116611898.044974,116611899.029339,116611900.064511,116611901.049833,116611902.03137,116611903.017653,116611904.007059,116611905.008298,116611906.012486,116611907.009644,116611908.012729,116611909.015778,116611910.017182,116611911.02121,116611912.034883,116611913.018234,116611913.986713,116611914.977278,116611915.981032,116611917.000421,116611918.023688,116611919.017726,116611920.009842,116611921.00453,116611922.016296,116611923.03455,116611924.049382,116611925.060206,116611926.068356,116611927.079342,116611928.107544,116611929.136852,116611930.154023,116611931.169344,116611932.206512,116611933.190152,116611934.165459,116611935.145581,116611936.13076,116611937.119993,116611938.0931,116611939.075859,116611940.063263,116611941.054528,116611942.038584,116611943.039681,116611944.034967,116611945.030925,116611946.021075,116611947.012481,116611948.013299,116611949.008002,116611950.01218,116611951.014852,116611952.009518,116611953.019475,116611954.031167,116611955.044155,116611956.06295,116611957.071744,116611958.07461,116611959.055647,116611960.038461,116611961.033895,116611962.027404,116611963.018383,116611964.010952,116611965.005348,116611966.006211,116611967.034578,116611968.056622,116611969.068873,116611970.063133,116611971.057675,116611972.065736,116611973.069733,116611974.075913,116611975.080117,116611976.083403,116611977.085584,116611978.095458,116611979.125853,116611980.146131,116611981.152775,116611982.139842,116611983.127586,116611984.118149,116611985.111445,116611986.10663,116611987.102771,116611988.08116,116611989.05865,116611990.040741,116611991.02808,116611992.018923,116611993.011795,116611993.990402,116611994.972666,116611995.950676,116611996.934901,116611997.943754,116611998.962875,116611999.982197,116612000.987486,116612001.988795,116612002.989247,116612003.989521,116612004.995049,116612006.025688,116612007.045193,116612008.082841,116612009.079488,116612010.096473,116612011.107403,116612012.109615,116612013.11352,116612014.116434,116612015.115638,116612016.115729,116612017.118752,116612018.113918,116612019.113287,116612020.114302,116612021.110492,116612022.110445,116612023.124993,116612024.120345,116612025.120979,116612026.144937,116612027.138395,116612028.179338,116612029.166703,116612030.160015,116612031.146638,116612032.135076,116612033.153306,116612034.172013,116612035.181672,116612036.194498,116612037.22986,116612038.217851,116612039.206024,116612040.182595,116612041.191154,116612042.179548,116612043.162019,116612044.146413,116612045.156545,116612046.174189,116612047.18385,116612048.185622,116612049.165887,116612050.19678,116612051.178169,116612052.158113,116612053.142469,116612054.131226,116612055.164778,116612056.153048,116612057.142218,116612058.132036,116612059.12393,116612060.156608,116612061.151346,116612062.41708,116612063.501885,116612064.420651,116612065.323013,116612066.246221,116612067.233243,116612068.187747,116612069.149226,116612070.13123,116612071.118135,116612072.106515,116612073.090357,116612074.076948,116612075.062849,116612076.051143,116612077.024948,116612078.021673,116612079.026429,116612080.042161,116612081.051725,116612082.05043,116612083.048383,116612084.046784,116612085.082468,116612086.089462,116612087.091138,116612088.094303,116612089.128604,116612090.135899,116612091.147851,116612092.158279,116612093.156657,116612094.165263,116612095.172984,116612096.174152,116612097.167345,116612098.16106,116612099.157837,116612100.149771,116612101.147986,116612102.13795,116612103.132202,116612104.134924,116612105.137108,116612106.147197,116612107.155453,116612108.16243,116612109.158968,116612110.154913,116612111.150347,116612112.124941,116612113.102938,116612114.08628,116612115.074447,116612116.0656,116612117.059375,116612118.032389,116612119.024129,116612120.019837,116612121.016229,116612121.999425,116612122.98545,116612123.997239,116612125.040985,116612126.074773,116612127.094875,116612128.117281,116612129.151276,116612130.178271,116612131.202018,116612132.217094,116612133.227112,116612134.234804,116612135.215556,116612136.197068,116612137.164924,116612138.134404,116612139.111362,116612140.099104,116612141.087007,116612142.069405,116612143.071392,116612144.057115,116612145.030677,116612146.030268,116612147.034522,116612148.046678,116612149.057748,116612150.06661,116612151.072158,116612152.066406,116612153.062923,116612154.077837,116612155.096266,116612156.110947,116612157.13298,116612158.150387,116612159.152677,116612160.152204,116612161.162916,116612162.172434,116612163.181579,116612164.175936,116612165.170217,116612166.164841,116612167.161275,116612168.158507,116612169.13561,116612170.1127,116612171.095404,116612172.082806,116612173.087228,116612174.079851,116612175.072837,116612176.066609,116612177.075973,116612178.083941,116612179.082423,116612180.077308,116612181.082251,116612182.076263,116612183.069625,116612184.064505,116612185.083498,116612186.077917,116612187.081586,116612188.124988,116612189.127657,116612190.12114,116612191.113858,116612192.126327,116612193.123559,116612194.110783,116612195.096691,116612196.098299,116612197.0876,116612198.077842,116612199.074561,116612200.103316,116612201.113991,116612202.109522,116612203.10471,116612204.105515,116612205.097765,116612206.117153,116612207.132628,116612208.13912,116612209.178686,116612210.154522,116612211.150802,116612212.159922,116612213.159442,116612214.164865,116612215.171907,116612216.163112,116612217.189245,116612218.168819,116612219.14948,116612220.135575,116612221.115588,116612222.119098,116612223.37876,116612224.499769,116612225.418207,116612226.319947,116612227.283063,116612228.212882,116612229.16731,116612230.123383,116612231.099665,116612232.082766,116612233.061658,116612234.052094,116612235.061609,116612236.070876,116612237.108787,116612238.11031,116612239.108326,116612240.108763,116612241.178932,116612242.208764,116612243.211671,116612244.219012,116612245.229566,116612246.233625,116612247.235031,116612248.227514,116612249.230036,116612250.261072,116612251.258767,116612252.25175,116612253.239497,116612254.238831,116612255.231382,116612256.230306,116612257.230135,116612258.223902,116612259.199804,116612260.195002,116612261.192927,116612262.205644,116612263.211306,116612264.209255,116612265.185151,116612266.172471,116612267.164782,116612268.159103,116612269.15813,116612270.150013,116612271.138266,116612272.128296,116612273.128918,116612274.132369,116612275.134722,116612276.127575,116612277.120938,116612278.122439,116612279.141969,116612280.182824,116612281.201102,116612282.204801,116612283.205753,116612284.206014,116612285.206913,116612286.184192,116612287.178041,116612288.164184,116612289.153497,116612290.164497,116612291.17804,116612292.186938,116612293.193114,116612294.197366,116612295.20973,116612296.219217,116612297.22443,116612298.245369,116612299.270861,116612300.258512,116612301.245426,116612302.23656,116612303.231306,116612304.234678,116612305.230587,116612306.232983,116612307.230862,116612308.231193,116612309.240786,116612310.239924,116612311.235758,116612312.233813,116612313.227984,116612314.225549,116612315.237666,116612316.721926,116612317.722077,116612318.720311,116612319.73457,116612320.750035,116612321.748324,116612322.739787,116612323.732036,116612324.725801,116612325.713453,116612326.687566,116612327.664799,116612328.647475,116612329.640857,116612330.238561,116612331.209324,116612332.18251,116612333.16255,116612334.148446,116612335.15069,116612336.168583,116612337.156622,116612338.144603,116612339.134676,116612340.127444,116612341.126969,116612342.146364,116612343.163493,116612344.181542,116612345.219141,116612346.226588,116612347.220091,116612348.214056,116612349.213615,116612350.218198,116612351.21744,116612352.217628,116612353.25353,116612354.234147,116612355.211421,116612356.209405,116612357.210116,116612358.210615,116612359.211295,116612360.268976,116612361.261928,116612362.249793,116612363.239586,116612364.230298,116612365.202135,116612366.177749,116612367.170157,116612368.157656,116612369.155368,116612370.152222,116612371.152168,116612372.15009,116612373.190435,116612374.183404,116612375.173672,116612376.158448,116612377.169156,116612378.166044,116612379.185589,116612380.1986,116612381.210038,116612382.218418,116612383.223866,116612384.230344,116612385.227773,116612386.224878,116612387.23016,116612388.235582,116612389.23193,116612390.227476,116612391.237128,116612392.262135,116612393.271166,116612394.263883,116612395.297284,116612396.281463,116612397.264571,116612398.255648,116612399.251584,116612400.242698,116612401.237394,116612402.209276,116612403.184134,116612404.165331,116612405.188141,116612406.173591,116612407.158659,116612408.14911,116612409.13588,116612410.139247,116612411.169416,116612412.153282,116612413.142738,116612414.144936,116612415.138792,116612416.135462,116612417.127589,116612418.123966,116612419.172259,116612420.174012,116612421.161306,116612422.156539,116612423.160078,116612424.157881,116612425.149343,116612426.141791,116612427.138448,116612428.163907,116612429.156199,116612430.159408,116612431.174078,116612432.22524,116612433.230081,116612434.228956,116612435.227036,116612436.23278,116612437.230777,116612438.228005,116612439.219793,116612440.195128,116612441.17454,116612442.159203,116612443.155323,116612444.153473,116612445.146496,116612446.13905,116612447.133501,116612448.1582,116612449.175533,116612450.184854,116612451.174723,116612452.172674,116612453.159951,116612454.155743,116612455.178771,116612456.191536,116612457.179291,116612458.164089,116612459.159258,116612460.158958,116612461.149315,116612462.151183,116612463.144951,116612464.14833,116612465.189671,116612466.177946,116612467.163463,116612468.151645,116612469.164402,116612470.187756,116612471.198701,116612472.199441,116612473.193759,116612474.209802,116612475.218946,116612476.222021,116612477.228102,116612478.234354,116612479.476481,116612480.519485,116612481.4586,116612482.394288,116612483.345442,116612484.305505,116612485.275619,116612486.272377,116612487.259089,116612488.253335,116612489.238447,116612490.24015,116612491.252889,116612492.262907,116612493.261256,116612494.259306,116612495.261046,116612496.279219,116612497.281467,116612498.283294,116612499.276577,116612500.310621,116612501.301175,116612502.279384,116612503.24694,116612504.221054,116612505.202311,116612506.177155,116612507.173309,116612508.145018,116612509.121068,116612510.659875,116612511.649312,116612512.639627,116612513.632284,116612514.627105,116612515.622281,116612516.639048,116612517.660373,116612518.681854,116612519.723364,116612520.728292,116612521.727655,116612522.725976,116612523.724649,116612524.723866,116612525.752237,116612526.756975,116612527.750136,116612528.752135,116612529.745311,116612530.744829,116612531.74038,116612532.736878,116612533.747394,116612534.750127,116612535.740823,116612536.751765,116612537.776168,116612538.777289,116612539.765208,116612540.744797,116612541.712083,116612542.685845,116612543.673901,116612544.658939,116612545.116205,116612546.13267,116612547.138955,116612548.155326,116612549.160298,116612550.167604,116612551.165247,116612552.161786,116612553.188693,116612554.200262,116612555.247856,116612556.231098,116612557.235054,116612558.215977,116612559.205206,116612560.191876,116612561.195666,116612562.209901,116612563.222306,116612564.232055,116612565.24175,116612566.263315,116612567.276484,116612568.279321,116612569.284294,116612570.317898,116612571.307002,116612572.288262,116612573.268834,116612574.241167,116612575.225706,116612576.231862,116612577.238917,116612578.243778,116612579.253403,116612580.255781,116612581.256532,116612582.256726,116612583.247224,116612584.275821,116612585.25046,116612586.225458,116612587.213356,116612588.198951,116612589.187755,116612590.179166,116612591.173249,116612592.168622,116612593.18677,116612594.186868,116612595.188102,116612596.22052,116612597.228554,116612598.219265,116612599.219421,116612600.214126,116612601.208512,116612602.195996,116612603.185192,116612604.183218,116612605.176459,116612606.210312,116612607.201713,116612608.190323,116612609.188278,116612610.180666,116612611.174188,116612612.177867,116612613.173581,116612614.17456,116612615.170518,116612616.174126,116612617.195519,116612618.213265,116612619.226442,116612620.23543,116612621.242107,116612622.246817,116612623.276107,116612624.30364,116612625.323112,116612626.326411,116612627.313657,116612628.304702,116612629.293268,116612630.298586,116612631.290277,116612632.282519,116612633.276695,116612634.273453,116612635.247628,116612636.224218,116612637.206554,116612638.660984,116612639.657744,116612640.653649,116612641.650419,116612642.647986,116612643.63294,116612644.60388,116612645.588997,116612646.569067,116612647.570507,116612648.581641,116612649.592997,116612650.59964,116612651.604255,116612652.615881,116612653.62328,116612654.637502,116612655.659512,116612656.682525,116612657.708867,116612658.70931,116612659.715948,116612660.719307,116612661.722072,116612662.726991,116612663.728541,116612664.739954,116612665.738657,116612666.203906,116612667.235241,116612668.254478,116612669.258779,116612670.259924,116612671.261045,116612672.266915,116612673.291437,116612674.314695,116612675.330212,116612676.341546,116612677.338612,116612678.321041,116612679.305714,116612680.287817,116612681.256244,116612682.230555,116612683.211153,116612684.1976,116612685.187863,116612686.160814,116612687.141961,116612688.121712,116612689.125497,116612690.134422,116612691.14147,116612692.14713,116612693.151366,116612694.153938,116612695.157477,116612696.182853,116612697.209441,116612698.230332,116612699.24127,116612700.268585,116612701.275808,116612702.274358,116612703.270487,116612704.746859,116612705.724491,116612706.7098,116612707.702942,116612708.296503,116612709.293115,116612710.290102,116612711.288375,116612712.721871,116612713.728515,116612714.745417,116612715.822148,116612716.838114,116612717.849425,116612718.85299,116612719.854372,116612720.294876,116612721.294012,116612722.291143,116612723.29736,116612724.281782,116612725.265921,116612726.244627,116612727.23288,116612728.233912,116612729.236502,116612730.255717,116612731.264585,116612732.258315,116612733.239055,116612734.22295,116612735.210842,116612736.202225,116612737.19584,116612738.185622,116612739.159895,116612740.148105,116612741.131273,116612742.124504,116612743.137539,116612744.149265,116612745.164023,116612746.175084,116612747.177542,116612748.207802,116612749.212388,116612750.204951,116612751.208797,116612752.227838,116612753.243979,116612754.263485,116612755.277351,116612756.298557,116612757.306524,116612758.302685,116612759.298069,116612760.331792,116612761.300705,116612762.270001,116612763.237242,116612764.197956,116612765.176201,116612766.152532,116612767.133694,116612768.126373,116612769.139181,116612770.151095,116612771.160094,116612772.175701,116612773.191218,116612774.191155,116612775.189844,116612776.211327,116612777.23156,116612778.253775,116612779.264044,116612780.271388,116612781.276624,116612782.268548,116612783.248091,116612784.235642,116612785.22241,116612786.218295,116612787.210205,116612788.211501,116612789.211422,116612790.212927,116612791.206193,116612792.200719,116612793.241995,116612794.256845,116612795.274601,116612796.286903,116612797.29582,116612798.295874,116612799.294168,116612800.28379,116612801.288061,116612802.284977,116612803.285003,116612804.289978,116612805.290172,116612806.28054,116612807.257405,116612808.246596,116612809.23134,116612810.218759,116612811.230278,116612812.232093,116612813.22458,116612814.238477,116612815.256554,116612816.267207,116612817.274247,116612818.269139,116612819.255055,116612820.25016,116612821.261228,116612822.274463,116612823.280253,116612824.282295,116612825.260929,116612826.241729,116612827.234459,116612828.23116,116612829.22736,116612830.824431,116612831.808619,116612832.79046,116612833.75561,116612834.723829,116612835.70825,116612836.710783,116612837.724912,116612838.729356,116612839.731839,116612840.735296,116612841.745168,116612842.76152,116612843.764389,116612844.230243,116612845.255477,116612846.258298,116612847.300731,116612848.283833,116612849.284179,116612850.286994,116612851.289342,116612852.291077,116612853.292096,116612854.292861,116612855.293295,116612856.303778,116612857.329076,116612858.349238,116612859.367766,116612860.37846,116612861.403338,116612862.392643,116612863.372754,116612864.343151,116612865.355145,116612866.325404,116612867.312323,116612868.290433,116612869.271935,116612870.275727,116612871.285188,116612872.293205,116612873.298986,116612874.3038,116612875.30694,116612876.349457,116612877.347073,116612878.337637,116612879.304436,116612880.327006,116612881.431392,116612882.400234,116612883.357133,116612884.329986,116612885.334809,116612886.346737,116612887.368898,116612888.35681,116612889.344235,116612890.343648,116612891.35987,116612892.370925,116612893.369643,116612894.383999,116612895.39315,116612896.39881,116612897.446843,116612898.449949,116612899.446787,116612900.439767,116612901.433043,116612902.427863,116612903.424695,116612904.434224,116612905.412977,116612906.391983,116612907.370818,116612908.35444,116612909.332345,116612910.300127,116612911.274778,116612912.255915,116612913.242273,116612914.232302,116612915.220354,116612916.192933,116612917.195703,116612918.184625,116612919.165084,116612920.149199,116612921.15953,116612922.17157,116612923.181582,116612924.194693,116612925.20353,116612926.205215,116612927.20571,116612928.210424,116612929.21009,116612930.2093,116612931.213298,116612932.217039,116612933.253945,116612934.246685,116612935.23655,116612936.228726,116612937.222737,116612938.240727,116612939.259261,116612940.278042,116612941.292721,116612942.297913,116612943.302894,116612944.309499,116612945.315686,116612946.320288,116612947.318916,116612948.321536,116612949.325219,116612950.322241,116612951.318835,116612952.316668,116612953.299537,116612954.276169,116612955.263606,116612956.303801,116612957.298384,116612958.286728,116612959.272922,116612960.262379,116612961.260127,116612962.254056,116612963.249336,116612964.263076,116612965.276065,116612966.285538,116612967.299123,116612968.303322,116612969.305653,116612970.307332,116612971.292909,116612972.260897,116612973.222104,116612974.200964,116612975.186843,116612976.17693,116612977.159899,116612978.169515,116612979.167755,116612980.159985,116612981.170595,116612982.180964,116612983.190863,116612984.207433,116612985.226873,116612986.228755,116612987.224483,116612988.232461,116612989.252264,116612990.268548,116612991.280823,116612992.289935,116612993.296762,116612994.30772,116612995.315387,116612996.320467,116612997.349051,116612998.361244,116612999.351904,116613000.342255,116613001.334487,116613002.32032,116613003.293731,116613004.271786,116613005.256286,116613006.245165,116613007.223063,116613008.199639,116613009.200343,116613010.211402,116613011.213042,116613012.204348,116613013.182493,116613014.17282,116613015.157547,116613016.156964,116613017.170095,116613018.181471,116613019.190488,116613020.197085,116613021.201265,116613022.768376,116613023.806023,116613024.793799,116613025.779599,116613026.750191,116613027.719449,116613028.707462,116613029.716435,116613030.716255,116613031.703907,116613032.746113,116613033.724806,116613034.720352,116613035.727719,116613036.219985,116613037.245999,116613038.268008,116613039.284366,116613040.296738,116613041.319056,116613042.324391,116613043.329576,116613044.334144,116613045.332899,116613046.331708,116613047.334308,116613048.336637,116613049.33486,116613050.333146,116613051.331632,116613052.3315,116613053.307252,116613054.285305,116613055.273272,116613056.260556,116613057.250576,116613058.243295,116613059.242701,116613060.23839,116613061.240539,116613062.236753,116613063.241862,116613064.263567,116613065.28275,116613066.296862,116613067.306388,116613068.321449,116613069.360686,116613070.366624,116613071.367662,116613072.367773,116613073.367189,116613074.34749,116613075.316991,116613076.341027,116613077.323621,116613078.323304,116613079.587398,116613080.557793,116613081.488811,116613082.427114,116613083.386435,116613084.439533,116613085.428602,116613086.412402,116613087.399046,116613088.389755,116613089.382997,116613090.446627,116613091.463494,116613092.462579,116613093.440569,116613094.420747,116613095.405858,116613096.389133,116613097.357751,116613098.349253,116613099.319971,116613100.281178,116613101.260949,116613102.259407,116613103.260193,116613104.2609,116613105.261573,116613106.270888,116613107.270303,116613108.295975,116613109.31578,116613110.330331,116613111.344299,116613112.351102,116613113.355253,116613114.357518,116613115.336802,116613116.322148,116613117.307604,116613118.295931,116613119.348673,116613120.335066,116613121.316993,116613122.303269,116613123.301278,116613124.29317,116613125.285724,116613126.328382,116613127.33192,116613128.341228,116613129.34875,116613130.354359,116613131.358208,116613132.361504,116613133.365633,116613134.38464,116613135.382996,116613136.37975,116613137.377157,116613138.379252,116613139.382033,116613140.37975,116613141.375417,116613142.350318,116613143.327932,116613144.310929,116613145.298819,116613146.289813,116613147.261954,116613148.242998,116613149.229449,116613150.21358,116613151.20063,116613152.198928,116613153.21535,116613154.229161,116613155.239872,116613156.247763,116613157.268019,116613158.273369,116613159.296227,116613160.316756,116613161.337047,116613162.347676,116613163.357838,116613164.363785,116613165.370719,116613166.378944,116613167.383313,116613168.38125,116613169.3797,116613170.378536,116613171.3752,116613172.371507,116613173.371953,116613174.372298,116613175.376103,116613176.375329,116613177.368755,116613178.344662,116613179.324221,116613180.318408,116613181.311876,116613182.301113,116613183.291792,116613184.294821,116613185.296159,116613186.296014,116613187.289523,116613188.283738,116613189.279447,116613190.276861,116613191.287158,116613192.317149,116613193.340376,116613194.355582,116613195.361592,116613196.35231,116613197.332057,116613198.315117,116613199.302493,116613200.298949,116613201.291619,116613202.285985,116613203.290783,116613204.295677,116613205.290077,116613206.293737,116613207.294627,116613208.30043,116613209.3231,116613210.342171,116613211.356617,116613212.374391,116613213.369043,116613214.345435,116613215.722577,116613216.752861,116613217.736062,116613218.719579,116613219.706321,116613220.686981,116613221.670034,116613222.700224,116613223.706543,116613224.713542,116613225.72384,116613226.743979,116613227.744446,116613228.741968,116613229.337055,116613230.350345,116613231.361675,116613232.371118,116613233.37283,116613234.368981,116613235.345756,116613236.33251,116613237.316011,116613238.302637,116613239.29872,116613240.315149,116613241.334776,116613242.346319,116613243.353884,116613244.336112,116613245.31804,116613246.304199,116613247.298877,116613248.295712,116613249.293386,116613250.287109,116613251.282482,116613252.279528,116613253.304158,116613254.313341,116613255.303694,116613256.294058,116613257.29503,116613258.288997,116613259.2877,116613260.282815,116613261.286895,116613262.283517,116613263.290746,116613264.305699,116613265.300237,116613266.347062,116613267.371702,116613268.382421,116613269.381291,116613270.385384,116613271.383508,116613272.3808,116613273.379112,116613274.3781,116613275.392047,116613276.390902,116613277.387443,116613278.384016,116613279.381969,116613280.38031,116613281.379104,116613282.411109,116613283.391269,116613284.370428,116613285.35724,116613286.346246,116613287.335357,116613288.359576,116613289.34179,116613290.323911,116613291.324366,116613292.336468,116613293.35233,116613294.359014,116613295.360971,116613296.370404,116613297.36403,116613298.342195,116613299.329588,116613300.321286,116613301.334075,116613302.351178,116613303.359698,116613304.349121,116613305.336209,116613306.329915,116613307.326186,116613308.420494,116613309.492271,116613310.523076,116613311.524696,116613312.505912,116613313.527891,116613314.530839,116613315.529505,116613316.528307,116613317.519799,116613318.488786,116613319.500514,116613320.470376,116613321.424037,116613322.400391,116613323.395559,116613324.393447,116613325.392349,116613326.391226,116613327.393994,116613328.400104,116613329.403788,116613330.429318,116613331.438653,116613332.427981,116613333.417655,116613334.409705,116613335.393402,116613336.36691,116613337.335254,116613338.296617,116613339.275647,116613340.252387,116613341.236986,116613342.246856,116613343.256819,116613344.264612,116613345.270515,116613346.274688,116613347.290719,116613348.321713,116613349.340905,116613350.331411,116613351.320077,116613352.318796,116613353.311154,116613354.323473,116613355.329782,116613356.331079,116613357.332098,116613358.346011,116613359.357729,116613360.367026,116613361.378094,116613362.390559,116613363.400659,116613364.407759,116613365.411615,116613366.424031,116613367.415275,116613368.41074,116613369.405387,116613370.385556,116613371.364628,116613372.36408,116613373.353128,116613374.343797,116613375.353541,116613376.381099,116613377.376848,116613378.378185,116613379.38003,116613380.359031,116613381.34805,116613382.342281,116613383.336961,116613384.332663,116613385.329638,116613386.319307,116613387.327238,116613388.343448,116613389.361134,116613390.370628,116613391.372919,116613392.353824,116613393.336373,116613394.323326,116613395.313872,116613396.314229,116613397.308249,116613398.302728,116613399.299036,116613400.298551,116613401.320572,116613402.342514,116613403.356921,116613404.377619,116613405.385422,116613406.395223,116613407.402151,116613408.400913,116613409.399012,116613410.397782,116613411.3966,116613412.405955,116613413.404552,116613414.402202,116613415.4004,116613416.397586,116613417.377406,116613418.379569,116613419.350839,116613420.340894,116613421.327904,116613422.342811,116613423.413529,116613424.417365,116613425.42165,116613426.407517,116613427.41583,116613428.42428,116613429.412929,116613430.406501,116613431.40383,116613432.454744,116613433.444838,116613434.410118,116613435.379248,116613436.367859,116613437.350261,116613438.335975,116613439.33602,116613440.349623,116613441.346406,116613442.343919,116613443.356678,116613444.408244,116613445.412093,116613446.399834,116613447.374919,116613448.361495,116613449.345964,116613450.349435,116613451.362113,116613452.373063,116613453.424315,116613454.425308,116613455.420518,116613456.419719,116613457.49197,116613458.505048,116613459.508746,116613460.510517,116613461.511738,116613462.517518,116613463.518215,116613464.51732,116613465.516694,116613466.851537,116613467.857482,116613468.842465,116613469.806761,116613470.494593,116613471.476255,116613472.431861,116613473.392411,116613474.342613,116613475.314169,116613476.283193,116613477.264564,116613478.271535,116613479.278823,116613480.349647,116613481.345399,116613482.348913,116613483.337938,116613484.34584,116613485.335831,116613486.326442,116613487.319239,116613488.324914,116613489.344097,116613490.360182,116613491.372121,116613492.380557,116613493.387032,116613494.399833,116613495.404105,116613496.419507,116613497.41808,116613498.4181,116613499.432264,116613500.432607,116613501.492589,116613502.489532,116613503.477098,116613504.475414,116613505.464723,116613506.463328,116613507.477732,116613508.47464,116613509.50558,116613510.485645,116613511.464671,116613512.448379,116613513.436524,116613514.428053,116613515.403141,116613516.3768,116613517.362339,116613518.387008,116613519.369317,116613520.351976,116613521.351715,116613522.370104,116613523.386365,116613524.392752,116613525.402056,116613526.403611,116613527.404416,116613528.392551,116613529.370128,116613530.382331,116613531.388204,116613532.383575,116613533.364923,116613534.348631,116613535.348609,116613536.368314,116613537.383933,116613538.391037,116613539.401143,116613540.403471,116613541.413516,116613542.4194,116613543.427502,116613544.424982,116613545.420347,116613546.417316,116613547.414904,116613548.412866,116613549.415898,116613550.419849,116613551.433114,116613552.480639,116613553.468669,116613554.452881,116613555.440866,116613556.431822,116613557.425505,116613558.417092,116613559.390255,116613560.367085,116613561.34974,116613562.344528,116613563.334501,116613564.326236,116613565.320316,116613566.340681,116613567.335985,116613568.32859,116613569.322614,116613570.318156,116613571.314991,116613572.320567,116613573.329704,116613574.333129,116613575.327241,116613576.321426,116613577.31719,116613578.321409,116613579.32527,116613580.320912,116613581.317259,116613582.338043,116613583.35714,116613584.372286,116613585.424582,116613586.427374,116613587.425289,116613588.42257,116613589.475557,116613590.467142,116613591.453666,116613592.442834,116613593.434977,116613594.448094,116613595.460508,116613596.487807,116613597.489785,116613598.472959,116613599.457156,116613600.445672,116613601.437185,116613602.428355,116613603.400794,116613604.376566,116613605.358347,116613606.352576,116613607.349089,116613608.339436,116613609.34325,116613610.342959,116613611.3348,116613612.328025,116613613.311431,116613614.294158,116613615.300288,116613616.279409,116613617.264354,116613618.256461,116613619.244341,116613620.250576,116613621.265157,116613622.277442,116613623.286507,116613624.293271,116613625.31154,116613626.343961,116613627.364449,116613628.36863,116613629.355876,116613630.343714,116613631.334577,116613632.327856,116613633.324057,116613634.320939,116613635.310895,116613636.299669,116613637.301418,116613638.303667,116613639.305547,116613640.307081,116613641.308245,116613642.308806,116613643.319521,116613644.343722,116613645.363473,116613646.378252,116613647.394536,116613648.401785,116613649.406303,116613650.409156,116613651.399554,116613652.385757,116613653.379794,116613654.354006,116613655.341761,116613656.353082,116613657.369385,116613658.387775,116613659.3882,116613660.378659,116613661.381968,116613662.374088,116613663.358864,116613664.781209,116613665.779792,116613666.753188,116613667.742253,116613668.743937,116613669.732946,116613670.729756,116613671.745832,116613672.710331,116613673.683568,116613674.666542,116613675.684278,116613676.673504,116613677.674215,116613678.352849,116613679.36176,116613680.352613,116613681.369205,116613682.372891,116613683.362628,116613684.349487,116613685.339327,116613686.331888,116613687.326412,116613688.334921,116613689.392705,116613690.4725,116613691.540479,116613692.572608,116613693.59321,116613694.60774,116613695.618686,116613696.626501,116613697.656554,116613698.63306,116613699.591074,116613700.548019,116613701.514877,116613702.490595,116613703.464492,116613704.429237,116613705.388855,116613706.345842,116613707.32411,116613708.299175,116613709.293088,116613710.286042,116613711.270958,116613712.258316,116613713.24873,116613714.264639,116613715.280632,116613716.30021,116613717.316045,116613718.320785,116613719.322308,116613720.323199,116613721.338273,116613722.361581,116613723.389075,116613724.419501,116613725.402508,116613726.383667,116613727.378778,116613728.374989,116613729.368172,116613730.382033,116613731.395419,116613732.405319,116613733.413223,116613734.418981,116613735.437304,116613736.463464,116613737.488272,116613738.503816,116613739.499619,116613740.483565,116613741.455544,116613742.42241,116613743.397205,116613744.379812,116613745.35666,116613746.351315,116613747.398505,116613748.36761,116613749.33645,116613750.325782,116613751.35091,116613752.373977,116613753.391512,116613754.412114,116613755.425604,116613756.435409,116613757.43679,116613758.437267,116613759.475073,116613760.470441,116613761.46317,116613762.456893,116613763.433151,116613764.429205,116613765.413896,116613766.394016,116613767.392559,116613768.37894,116613769.366698,116613770.357604,116613771.346675,116613772.32643,116613773.301796,116613774.305847,116613775.313106,116613776.318834,116613777.323545,116613778.327559,116613779.413459,116613780.455433,116613781.483211,116613782.502942,116613783.517203,116613784.545354,116613785.587524,116613786.567657,116613787.537086,116613788.512813,116613789.494947,116613790.748562,116613791.748618,116613792.73743,116613793.727325,116613794.719773,116613795.724808,116613796.720036,116613797.714934,116613798.710815,116613799.743988,116613800.759827,116613801.786443,116613802.797138,116613803.80184,116613804.804365,116613805.474646,116613806.442156,116613807.413819,116613808.391881,116613809.375948,116613810.364053,116613811.359119,116613812.362598,116613813.348275,116613814.319515,116613815.308285,116613816.30183,116613817.299769,116613818.285756,116613819.271892,116613820.274992,116613821.291987,116613822.307455,116613823.389958,116613824.41074,116613825.420867,116613826.427016,116613827.431316,116613828.434051,116613829.436421,116613830.452454,116613831.477823,116613832.505064,116613833.518962,116613834.528095,116613835.514988,116613836.496894,116613837.482075,116613838.471524,116613839.463861,116613840.446435,116613841.419301,116613842.397374,116613843.381121,116613844.379629,116613845.369653,116613846.361095,116613847.354417,116613848.360316,116613849.366114,116613850.360208,116613851.354248,116613852.371484,116613853.400172,116613854.418884,116613855.426457,116613856.431805,116613857.435314,116613858.437889,116613859.439822,116613860.445888,116613861.471142,116613862.496971,116613863.512965,116613864.517608,116613865.502007,116613866.487134,116613867.475998,116613868.477808,116613869.482557,116613870.47452,116613871.477125,116613872.478901,116613873.480043,116613874.471876,116613875.464997,116613876.459314,116613877.455636,116613878.467291,116613879.489218,116613880.510626,116613881.524044,116613882.51957,116613883.550145,116613884.529404,116613885.508586,116613886.480857,116613887.453766,116613888.43284,116613889.435488,116613890.427963,116613891.432792,116613892.446416,116613893.445131,116613894.42236,116613895.412128,116613896.395567,116613897.391459,116613898.391245,116613899.3802,116613900.370563,116613901.373208,116613902.393244,116613903.384471,116613904.373774,116613905.376302,116613906.441523,116613907.457524,116613908.458334,116613909.45669,116613910.463808,116613911.461533,116613912.458926,116613913.491933,116613914.496971,116613915.487064,116613916.477549,116613917.470429,116613918.465488,116613919.461852,116613920.459126,116613921.472311,116613922.494758,116613923.515211,116613924.528705,116613925.522514,116613926.50563,116613927.491252,116613928.498679,116613929.488694,116613930.479304,116613931.467946,116613932.455765,116613933.450369,116613934.444664,116613935.431133,116613936.412266,116613937.41975,116613938.436372,116613939.441867,116613940.453535,116613941.454704,116613942.454394,116613943.440986,116613944.428253,116613945.408127,116613946.405225,116613947.424729,116613948.439363,116613949.452278,116613950.452716,116613951.443974,116613952.453134,116613953.462602,116613954.470075,116613955.462345,116613956.435711,116613957.420957,116613958.404225,116613959.413138,116613960.424184,116613961.43274,116613962.438762,116613963.443167,116613964.446447,116613965.44852,116613966.4674,116613967.497121,116613968.515575,116613969.507342,116613970.494268,116613971.48343,116613972.475817,116613973.470258,116613974.465959,116613975.449455,116613976.424685,116613977.411692,116613978.402711,116613979.389512,116613980.386202,116613981.377882,116613982.374068,116613983.857881,116613984.864514,116613985.858821,116613986.840858,116613987.813011,116613988.795696,116613989.777636,116613990.773495,116613991.768383,116613992.771153,116613993.791711,116613994.807663,116613995.803347,116613996.786829,116613997.781401,116613998.791551,116613999.786282,116614000.779936,116614001.767351,116614002.768718,116614003.784298,116614004.798269,116614005.810009,116614006.818124,116614007.823859,116614008.827852,116614009.851733,116614010.872815,116614011.898001,116614012.914098,116614013.925005,116614014.910357,116614015.925234,116614016.907486,116614017.909947,116614018.401788,116614019.419957,116614020.434162,116614021.457973,116614022.518264,116614023.535682,116614024.524127,116614025.511027,116614026.500907,116614027.493526,116614028.499421,116614029.500877,116614030.5016,116614031.499012,116614032.494365,116614033.489101,116614034.485146,116614035.486511,116614036.556057,116614037.5563,116614038.537733,116614039.521777,116614040.509704,116614041.500556,116614042.494114,116614043.473703,116614044.45486,116614045.886699,116614046.877252,116614047.865734,116614048.854445,116614049.823722,116614050.796084,116614051.787951,116614052.779995,116614053.776611,116614054.781473,116614055.79215,116614056.802308,116614057.809645,116614058.815317,116614059.448889,116614060.482365,116614061.501618,116614062.523255,116614063.544547,116614064.562197,116614065.575339,116614066.614534,116614067.595236,116614068.565026,116614069.552026,116614070.537643,116614071.526988,116614072.519684,116614073.508661,116614074.49963,116614075.492932,116614076.488677,116614077.485206,116614078.518533,116614079.495929,116614080.464248,116614081.439316,116614082.421488,116614083.41954,116614084.424625,116614085.45658,116614086.440199,116614087.43498,116614088.431716,116614089.417931,116614090.411207,116614091.404314,116614092.372588,116614093.357473,116614094.348648,116614095.366322,116614096.381146,116614097.390632,116614098.389517,116614099.439208,116614100.441412,116614101.426651,116614102.412802,116614103.414751,116614104.459966,116614105.469678,116614106.473439,116614107.475437,116614108.477326,116614109.523569,116614110.523497,116614111.513586,116614112.511243,116614113.509724,116614114.502913,116614115.497296,116614116.480327,116614117.454208,116614118.433257,116614119.423583,116614120.411441,116614121.401786,116614122.394822,116614123.408178,116614124.40582,116614125.422725,116614126.444162,116614127.450556,116614128.472437,116614129.451933,116614130.432063,116614131.41705,116614132.412993,116614133.404055,116614134.396616,116614135.390818,116614136.389521,116614137.408309,116614138.414424,116614139.409662,116614140.415737,116614141.438505,116614142.451847,116614143.447443,116614144.441449,116614145.435173,116614146.434529,116614147.474398,116614148.481218,116614149.47348,116614150.458947,116614151.448012,116614152.430383,116614153.435859,116614154.448041,116614155.457882,116614156.469622,116614157.480355,116614158.482157,116614159.488982,116614160.488445,116614161.487732,116614162.486844,116614163.485486,116614164.472855,116614165.450215,116614166.431441,116614167.417558,116614168.407437,116614169.400071,116614170.39425,116614171.389243,116614172.394415,116614173.794988,116614174.75486,116614175.727886,116614176.720322,116614177.717581,116614178.715914,116614179.714768,116614180.714312,116614181.716466,116614182.739949,116614183.766998,116614184.791247,116614185.806237,116614186.862264,116614187.866188,116614188.858974,116614189.828728,116614190.798831,116614191.78451,116614192.775275,116614193.781731,116614194.801376,116614195.808822,116614196.813101,116614197.821025,116614198.827997,116614199.830097,116614200.835489,116614201.833916,116614202.853881,116614203.854036,116614204.847963,116614205.84195,116614206.823165,116614207.798757,116614208.776713,116614209.76012,116614210.747835,116614211.738348,116614212.731713,116614213.715359,116614214.689269,116614215.667375,116614216.651155,116614217.645859,116614218.636681,116614219.629428,116614220.62475,116614221.620949,116614222.618106,116614223.689025,116614224.702959,116614225.708314,116614226.711883,116614227.713774,116614228.730673,116614229.755347,116614230.781164,116614231.7954,116614232.784272,116614233.767968,116614234.754417,116614235.744891,116614236.767395,116614237.775525,116614238.775825,116614239.777845,116614240.76485,116614241.752516,116614242.742752,116614243.735501,116614244.731065,116614245.750915,116614246.771148,116614247.794827,116614248.805389,116614249.812563,116614250.8157,116614251.812872,116614252.80283,116614253.789375,116614254.772148,116614255.770768,116614256.783554,116614257.800293,116614258.804038,116614259.785368,116614260.767739,116614261.754668,116614262.744529,116614263.737909,116614264.738354,116614265.734138,116614266.730404,116614267.728869,116614268.727623,116614269.725981,116614270.736452,116614271.764793,116614272.787658,116614273.799881,116614274.813015,116614275.819317,116614276.822542,116614277.819745,116614278.797748,116614279.777279,116614280.7617,116614281.759848,116614282.753639,116614283.754165,116614284.749411,116614285.758909,116614286.753227,116614287.753588,116614288.808489,116614289.832629,116614290.843942,116614291.849089,116614292.851275,116614293.858194,116614294.880166,116614295.901851,116614296.916003,116614297.925816,116614298.986243,116614299.99124,116614300.983154,116614301.994079,116614303.013156,116614304.026986,116614305.03706,116614306.081737,116614307.061881,116614308.036384,116614309.016255,116614310.000614,116614310.987805,116614311.978677,116614312.950894,116614313.921653,116614314.902269,116614315.923421,116614316.908619,116614317.890466,116614318.876893,116614319.866649,116614320.870601,116614321.873255,116614322.866582,116614323.900087,116614324.88653,116614325.849969,116614326.817695,116614327.808202,116614328.835932,116614329.826095,116614330.80699,116614331.788087,116614332.775296,116614333.784603,116614334.798805,116614335.809688,116614336.821959,116614337.83436,116614338.821506,116614339.798976,116614340.788173,116614341.774588,116614342.762697,116614343.75389,116614344.755211,116614345.761133,116614346.814593,116614347.801987,116614348.798791,116614349.786991,116614350.835339,116614351.82872,116614352.816884,116614353.79724,116614354.803341,116614355.819149,116614356.837011,116614357.847799,116614358.827604,116614359.803337,116614360.784094,116614361.777766,116614362.777595,116614363.77322,116614364.77313,116614365.816206,116614366.803953,116614367.809069,116614368.818898,116614369.827386,116614370.83762,116614371.840949,116614372.829216,116614373.80678,116614374.798496,116614375.787081,116614376.810594,116614377.806039,116614378.795342,116614379.781072,116614380.820553,116614381.826548,116614382.832165,116614383.836715,116614384.839594,116614385.85584,116614386.857632,116614387.856538,116614388.868811,116614389.890982,116614390.913505,116614391.928003,116614392.93785,116614393.944112,116614394.925115,116614395.919635,116614396.902583,116614397.892753,116614398.88886,116614399.883491,116614400.861945,116614401.831321,116614402.80631,116614403.787418,116614404.773845,116614405.764515,116614406.770496,116614407.745616,116614408.724373,116614409.701,116614410.704061,116614411.712882,116614412.753721,116614413.766632,116614414.78432,116614415.777828,116614416.768193,116614417.766492,116614418.758513,116614419.761205,116614420.759303,116614421.756434,116614422.767249,116614423.77554,116614424.785967,116614425.801849,116614426.821151,116614427.808686,116614428.794861,116614429.794707,116614430.807668,116614431.819851,116614432.879194,116614433.880609,116614434.874697,116614435.869939,116614436.889817,116614437.940205,116614438.9571,116614439.962057,116614440.940456,116614441.941905,116614442.927433,116614443.909458,116614444.895583,116614445.884627,116614446.861659,116614447.833007,116614448.80978,116614449.79248,116614450.779285,116614451.769949,116614452.763267,116614453.761201,116614454.756675,116614455.772638,116614456.77202,116614457.774865,116614458.768889,116614459.762372,116614460.768083,116614461.773744,116614462.768063,116614463.778312,116614464.787515,116614465.772557,116614466.784618,116614467.819199,116614468.807106,116614469.792544,116614470.806711,116614471.822145,116614472.832203,116614473.839416,116614474.844452,116614475.854895,116614476.864652,116614477.909294,116614478.92678,116614479.914892,116614480.915433,116614481.980035,116614482.990592,116614483.967578,116614484.955446,116614485.934604,116614486.92596,116614487.911698,116614488.897974,116614489.897709,116614490.924076,116614491.933034,116614492.952269,116614493.967495,116614494.975176,116614495.978533,116614497.010936,116614497.983662,116614498.963822,116614499.946283,116614500.929036,116614501.915281,116614502.901259,116614503.898581,116614504.889567,116614505.881449,116614506.878805,116614507.873904,116614508.847027,116614509.821284,116614510.827265,116614511.809853,116614512.794477,116614513.78302,116614514.776479,116614515.747452,116614516.7791,116614517.7833,116614518.795025,116614519.763728,116614520.754654,116614521.755997,116614522.768464,116614523.851177,116614524.890438,116614525.915706,116614526.943806,116614527.959555,116614528.995513,116614529.999497,116614530.977319,116614531.949994,116614532.927521,116614533.890069,116614534.856774,116614535.829748,116614536.810586,116614537.792142,116614538.759254,116614539.741983,116614540.720567,116614541.701959,116614542.701378,116614543.715044,116614544.726946,116614545.73652,116614546.742979,116614547.754726,116614548.776536,116614549.776227,116614550.779995,116614551.786763,116614552.792467,116614553.821821,116614554.810617,116614555.797611,116614556.80873,116614557.808438,116614558.802138,116614559.810703,116614560.825356,116614561.837614,116614562.847951,116614563.856907,116614564.9095,116614565.914592,116614566.928695,116614567.910422,116614568.901701,116614569.921008,116614570.951067,116614571.968414,116614572.974805,116614573.97538,116614574.953696,116614575.932671,116614576.916454,116614577.904383,116614578.898499,116614579.892382,116614580.891887,116614581.887585,116614582.883328,116614583.857553,116614584.833317,116614585.814179,116614586.806287,116614587.805921,116614588.804406,116614589.795961,116614590.799803,116614591.860236,116614592.850539,116614593.838706,116614594.821747,116614595.80667,116614596.81482,116614597.809143,116614598.79816,116614599.796114,116614600.788565,116614601.802758,116614602.806782,116614603.79885,116614604.813376,116614605.829564,116614606.842519,116614607.860565,116614608.867766,116614609.87179,116614610.885696,116614611.885672,116614612.882569,116614613.874165,116614614.85913,116614615.837222,116614616.827102,116614617.811544,116614618.817536,116614619.831819,116614620.844625,116614621.869021,116614622.890619,116614623.903948,116614624.90039,116614625.898754,116614626.900611,116614627.896803,116614628.883498,116614629.883329,116614630.871258,116614631.859497,116614632.859148,116614633.86334,116614634.876746,116614635.882157,116614636.931099,116614637.931191,116614638.918346,116614639.885088,116614640.860811,116614641.837866,116614642.820997,116614643.837274,116614644.859044,116614645.845106,116614646.827917,116614647.82797,116614648.823916,116614649.811423,116614650.800717,116614651.799523,116614652.793242,116614653.806615,116614654.801457,116614655.794509,116614656.799793,116614657.795193,116614658.789391,116614659.829251,116614660.845666,116614661.855985,116614662.863439,116614663.868324,116614664.916591,116614665.940693,116614666.962935,116614667.990332,116614669.002391,116614670.004142,116614671.008007,116614672.017063,116614673.009035,116614673.982232,116614674.956321,116614675.936776,116614676.922376,116614677.914961,116614678.91288,116614679.906546,116614680.90698,116614681.901549,116614682.895777,116614683.869137,116614684.848633,116614685.839305,116614686.825569,116614687.839962,116614688.839555,116614689.834643,116614690.832267,116614691.81915,116614692.80676,116614693.804039,116614694.797712,116614695.797347,116614696.792483,116614697.795392,116614698.798234,116614699.81157,116614700.805141,116614701.800728,116614702.822804,116614703.819314,116614704.809274,116614705.802169,116614706.817844,116614707.887366,116614708.896849,116614709.895888,116614710.893822,116614711.900933,116614712.899701,116614713.921465,116614714.947202,116614715.964011,116614716.97894,116614718.005993,116614718.996388,116614719.998083,116614721.003403,116614722.004167,116614723.001039,116614723.981507,116614724.966522,116614725.946855,116614726.930244,116614727.937267,116614728.913072,116614729.880821,116614730.875842,116614731.877756,116614732.883606,116614733.907022,116614734.903249,116614735.884869,116614736.868106,116614737.85284,116614738.833933,116614739.839394,116614740.85031,116614741.838708,116614742.8296,116614743.818274,116614744.831306,116614745.849248,116614746.867951,116614747.879482,116614748.887207,116614749.894369,116614750.892172,116614751.900994,116614752.900795,116614753.893744,116614754.891098,116614755.94075,116614756.9407,116614757.938356,116614758.927381,116614759.917705,116614760.909807,116614761.903808,116614762.904723,116614763.928358,116614764.979669,116614765.993731,116614766.983665,116614767.966599,116614768.992418,116614770.014509,116614770.990944,116614771.964791,116614772.944551,116614773.929072,116614774.917864,116614775.894458,116614776.865724,116614777.842245,116614778.82466,116614779.811943,116614780.802519,116614781.781113,116614782.757127,116614783.754082,116614784.749384,116614785.747965,116614786.730977,116614787.715501,116614788.716954,116614789.731644,116614790.744695,116614791.75415,116614792.761042,116614793.766039,116614794.772298,116614795.778408,116614796.800368,116614797.824103,116614798.842029,116614799.855604,116614800.898974,116614801.90305,116614802.925215,116614803.946827,116614804.967031,116614805.986015,116614806.994017,116614807.998327,116614809.001166,116614810.000437,116614810.978539,116614811.956772,116614812.939574,116614813.927093,116614814.918141,116614815.914903,116614816.901218,116614817.897214,116614818.906894,116614819.90236,116614820.876346,116614821.86116,116614822.850065,116614823.841682,116614824.827656,116614825.815618,116614826.821314,116614827.860817,116614828.873556,116614829.880068,116614830.888238,116614831.893079,116614832.893769,116614833.893811,116614834.893631,116614835.87916,116614836.855952,116614837.836885,116614838.82222,116614839.811721,116614840.804061,116614841.814265,116614842.817894,116614843.811842,116614844.804647,116614845.799223,116614846.795232,116614847.810567,116614848.832595,116614849.850307,116614850.862989,116614851.871919,116614852.878611,116614853.883673,116614854.887023,116614855.913057,116614856.91472,116614857.910342,116614858.90612,116614859.903294,116614860.901232,116614861.899824,116614862.891308,116614863.866798,116614864.845184,116614865.829062,116614866.817102,116614867.808449,116614868.801544,116614869.799598,116614870.795638,116614871.792665,116614872.799676,116614873.798253,116614874.802235,116614875.809019,116614877.29369,116614878.434622,116614879.486614,116614880.490455,116614881.468989,116614882.461967,116614883.446382,116614884.435791,116614885.433896,116614886.434208,116614887.491768,116614888.575506,116614889.960766,116614891.039492,116614892.008168,116614892.892838,116614893.779792,116614894.697726,116614895.633896,116614896.609609,116614897.628148,116614898.631206,116614899.593364,116614900.564777,116614901.556821,116614902.56864,116614903.585822,116614904.613332,116614905.641652,116614906.700749,116614907.71629,116614908.720032,116614909.721341,116614910.721936,116614911.730469,116614912.729623,116614913.728114,116614914.726855,116614915.725805,116614916.72511,116614917.777461,116614918.770645,116614919.759218,116614920.749549,116614921.754875,116614922.77116,116614923.792282,116614924.813552,116614925.797274,116614926.778566,116614927.763676,116614928.753232,116614929.748316,116614930.773805,116614931.788897,116614932.848142,116614933.86143,116614934.856063,116614935.850564,116614936.85827,116614937.907502,116614938.924569,116614939.928359,116614940.929423,116614941.94059,116614942.940806,116614943.938886,116614944.936631,116614945.933619,116614946.925756,116614947.904048,116614948.883871,116614949.868677,116614950.857323,116614951.849223,116614952.867745,116614953.861803,116614954.853035,116614955.846146,116614956.872444,116614957.864908,116614958.86564,116614959.872401,116614960.88619,116614961.874092,116614962.862152,116614963.852766,116614964.845732,116614965.867024,116614966.864486,116614967.855945,116614968.848593,116614969.856707,116614970.856386,116614971.858264,116614972.851305,116614973.845436,116614974.840891,116614975.837968,116614976.836099,116614977.834017,116614978.832388,116614979.847395,116614980.869044,116614981.887261,116614982.901947,116614983.91144,116614984.920239,116614985.926173,116614986.928851,116614987.944921,116614988.947869,116614989.947057,116614990.94429,116614991.943634,116614992.942083,116614993.941869,116614994.940362,116614995.950335,116614996.960639,116614997.937277,116614998.912419,116614999.89119,116615000.87501,116615001.862895,116615002.870888,116615003.895604,116615004.908523,116615005.916577,116615006.982187,116615007.986313,116615008.97574,116615009.965613,116615010.957529,116615011.952023,116615012.948213,116615013.945137,116615014.955826,116615015.97251,116615016.968589,116615017.964887,116615018.974814,116615019.968869,116615020.960518,116615021.964991,116615022.973013,116615023.979607,116615024.973205,116615025.951913,116615026.929535,116615027.911455,116615028.9412,116615029.964079,116615030.967811,116615031.988713,116615033.022574,116615034.031196,116615035.034601,116615036.046721,116615037.047247,116615038.046202,116615039.026431,116615040.017004,116615040.999328,116615041.982691,116615042.970554,116615043.961394,116615044.954271,116615045.949275,116615046.946049,116615047.943503,116615048.941887,116615049.940631,116615050.939207,116615051.938914,116615052.938548,116615053.937959,116615054.937287,116615055.937167,116615056.937038,116615057.936897,116615058.937018,116615059.936824,116615060.937074,116615061.936803,116615062.936871,116615063.937114,116615064.936855,116615065.936598,116615066.936511,116615067.952099,116615068.966924,116615069.967928,116615070.962205,116615071.955867,116615072.9509,116615073.947784,116615074.947091,116615075.948359,116615076.971582,116615078.007146,116615079.021528,116615080.030192,116615081.033042,116615082.035107,116615083.036343,116615084.037074,116615085.037761,116615086.038252,116615087.06786,116615088.076621,116615089.069603,116615090.061876,116615091.056165,116615092.058233,116615093.063917,116615094.058826,116615095.05359,116615096.049725,116615097.047983,116615098.045773,116615099.043945,116615100.043088,116615101.042076,116615102.042007,116615103.042852,116615104.042485,116615105.042134,116615106.041775,116615107.041346,116615108.041024,116615109.040737,116615110.040721,116615111.040671,116615112.073163,116615113.080824,116615114.072506,116615115.073522,116615116.065888,116615117.05932,116615118.054125,116615119.050441,116615120.049505,116615121.063282,116615122.060679,116615123.058966,116615124.054661,116615125.050967,116615126.048059,116615127.072066,116615128.091204,116615129.091497,116615130.079906,116615131.069567,116615132.062127,116615133.062194,116615134.057116,116615135.053048,116615136.038152,116615137.015018,116615137.99619,116615138.980415,116615139.968446,116615140.959622,116615141.974114,116615142.969098,116615143.961164,116615144.954787,116615145.967146,116615146.986231,116615148.002003,116615149.012431,116615150.019813,116615151.025308,116615152.029096,116615153.031761,116615154.033751,116615155.035921,116615156.038593,116615157.040329,116615158.040235,116615159.040253,116615160.0402,116615161.040083,116615162.04056,116615163.04039,116615164.047401,116615165.056448,116615166.053792,116615167.051091,116615168.051321,116615169.05394,116615170.051336,116615171.048354,116615172.04605,116615173.044808,116615174.043598,116615175.043302,116615176.052367,116615177.091036,116615178.083341,116615179.07254,116615180.063972,116615181.057483,116615182.052748,116615183.061129,116615184.067313,116615185.075137,116615186.078471,116615187.070128,116615188.06247,116615189.056359,116615190.052065,116615191.054174,116615192.051234,116615193.054875,116615194.051939,116615195.049138,116615196.04682,116615197.044908,116615198.043557,116615199.052485,116615200.04214,116615201.018333,116615201.998959,116615202.982042,116615203.96933,116615204.960257,116615205.953399,116615206.955252,116615207.962535,116615208.958338,116615209.952479,116615210.947672,116615211.944102,116615212.945413,116615213.966662,116615214.98976,116615216.005564,116615217.017619,116615218.027349,116615219.039687,116615220.066718,116615221.086425,116615222.109655,116615223.120913,116615224.134374,116615225.150083,116615226.151245,116615227.149419,116615228.147712,116615229.154644,116615230.151987,116615231.149033,116615232.127064,116615233.110631,116615234.092532,116615235.096689,116615236.084713,116615237.084923,116615238.085618,116615239.075849,116615240.078281,116615241.069698,116615242.044607,116615243.018959,116615244.017563,116615245.001493,116615245.985815,116615246.973184,116615247.963275,116615248.956094,116615249.951065,116615250.947124,116615251.944087,116615252.94225,116615253.940743,116615254.93984,116615255.939037,116615256.939368,116615257.9388,116615258.93838,116615259.981896,116615261.035712,116615262.032094,116615263.041692,116615264.072955,116615265.096015,116615266.109055,116615267.124629,116615268.12997,116615269.133238,116615270.129226,116615271.118051,116615272.11013,116615273.093921,116615274.079998,116615275.0799,116615276.079386,116615277.071147,116615278.084047,116615279.076103,116615280.067779,116615281.060948,116615282.056186,116615283.053724,116615284.061795,116615285.068537,116615286.063623,116615287.058595,116615288.064813,116615289.071262,116615290.065942,116615291.070635,116615292.075088,116615293.079879,116615294.078024,116615295.047346,116615296.021169,116615297.001631,116615297.98599,116615298.973357,116615299.964006,116615300.957143,116615301.952352,116615302.974531,116615304.271304,116615305.33174,116615306.263202,116615307.19254,116615308.156882,116615309.114984,116615310.128215,116615311.101584,116615312.097628,116615313.071745,116615314.07062,116615315.072577,116615316.07452,116615317.076146,116615318.26899,116615319.733516,116615320.69834,116615321.553445,116615322.411743,116615323.312853,116615324.227881,116615325.164656,116615326.139911,116615327.125402,116615328.152923,116615329.141993,116615330.151569,116615331.161484,116615332.169579,116615333.181801,116615334.188862,116615335.189845,116615336.189666,116615337.189172,116615338.188874,116615339.188434,116615340.188202,116615341.18822,116615342.188249,116615343.195941,116615344.20977,116615345.206268,116615346.201361,116615347.197405,116615348.205421,116615349.20973,116615350.204872,116615351.200717,116615352.197712,116615353.216458,116615354.249593,116615355.243712,116615356.238042,116615357.23771,116615358.238595,116615359.236863,116615360.226539,116615361.216585,116615362.209084,116615363.203239,116615364.199696,116615365.197255,116615366.195121,116615367.19379,116615368.192537,116615369.191623,116615370.19062,116615371.190271,116615372.196431,116615373.201356,116615374.19929,116615375.196972,116615376.195424,116615377.193624,116615378.192715,116615379.191972,116615380.191427,116615381.200304,116615382.209625,116615383.207157,116615384.203302,116615385.209779,116615386.215856,116615387.220607,116615388.205629,116615389.17802,116615390.155169,116615391.138543,116615392.127783,116615393.118231,116615394.11158,116615395.106166,116615396.102893,116615397.125338,116615398.121084,116615399.118075,116615400.115211,116615401.115526,116615402.107669,116615403.106088,116615404.103869,116615405.127896,116615406.166248,116615407.176464,116615408.181236,116615409.184304,116615410.186781,116615411.18877,116615412.190146,116615413.211373,116615414.209138,116615415.205235,116615416.201594,116615417.199287,116615418.197201,116615419.19594,116615420.207789,116615421.205948,116615422.202346,116615423.208613,116615424.211049,116615425.20701,116615426.208713,116615427.210778,116615428.207154,116615429.204015,116615430.200892,116615431.198437,116615432.196828,116615433.195497,116615434.194577,116615435.199737,116615436.198497,116615437.196699,116615438.201416,116615439.200015,116615440.208129,116615441.210785,116615442.211452,116615443.195809,116615444.171136,116615445.154781,116615446.141951,116615447.137718,116615448.151014,116615449.168335,116615450.201818,116615451.227301,116615452.246008,116615453.259603,116615454.277243,116615455.285377,116615456.271975,116615457.258262,116615458.241914,116615459.228765,116615460.21928,116615461.212364,116615462.207173,116615463.203439,116615464.200682,116615465.198577,116615466.197077,116615467.195954,116615468.195071,116615469.194438,116615470.194036,116615471.203884,116615472.212448,116615473.208856,116615474.205255,116615475.202404,116615476.200204,116615477.198521,116615478.231981,116615479.263511,116615480.302577,116615481.295781,116615482.273503,116615483.253743,116615484.238671,116615485.227502,116615486.219311,116615487.213773,116615488.209414,116615489.21256,116615490.219943,116615491.216249,116615492.271459,116615493.267007,116615494.251431,116615495.2377,116615496.227539,116615497.220065,116615498.214729,116615499.210544,116615500.207674,116615501.20558,116615502.204539,116615503.234391,116615504.234467,116615505.238636,116615506.231366,116615507.223656,116615508.229102,116615509.222673,116615510.217091,116615511.212319,116615512.24237,116615513.236025,116615514.227304,116615515.220557,116615516.215327,116615517.211828,116615518.238824,116615519.249726,116615520.229704,116615521.199415,116615522.173705,116615523.155012,116615524.14144,116615525.131447,116615526.12392,116615527.137226,116615528.131229,116615529.124282,116615530.135166,116615531.163416,116615532.175627,116615533.186764,116615534.21593,116615535.241195,116615536.259633,116615537.271208,116615538.2602,116615539.256126,116615540.247577,116615541.248998,116615542.276846,116615543.286782,116615544.298028,116615545.308525,116615546.314393,116615547.301017,116615548.276683,116615549.256841,116615550.251989,116615551.250028,116615552.238915,116615553.229632,116615554.223351,116615555.228756,116615556.233114,116615557.227237,116615558.222055,116615559.218385,116615560.215175,116615561.212459,116615562.210566,116615563.208813,116615564.20736,116615565.206452,116615566.216183,116615567.222865,116615568.218959,116615569.22265,116615570.218922,116615571.222916,116615572.218856,116615573.215324,116615574.212968,116615575.210885,116615576.208781,116615577.208563,116615578.197161,116615579.175128,116615580.156599,116615581.143304,116615582.133049,116615583.186472,116615584.202657,116615585.208704,116615586.233285,116615587.254117,116615588.268732,116615589.279265,116615590.287537,116615591.299427,116615592.302658,116615593.30944,116615594.318326,116615595.303133,116615596.28951,116615597.268661,116615598.259049,116615599.253347,116615600.241673,116615601.232135,116615602.224818,116615603.219686,116615604.216142,116615605.213549,116615606.211961,116615607.210393,116615608.209469,116615609.209027,116615610.208468,116615611.208111,116615612.207852,116615613.207642,116615614.207315,116615615.215088,116615616.219855,116615617.217383,116615618.214843,116615619.212844,116615620.212819,116615621.200934,116615622.192052,116615623.206112,116615624.231348,116615625.253041,116615626.245171,116615627.24295,116615628.234369,116615629.227118,116615630.221786,116615631.223314,116615632.222915,116615633.219723,116615634.216565,116615635.213886,116615636.212188,116615637.210984,116615638.210325,116615639.211998,116615640.228649,116615641.225866,116615642.221068,116615643.21717,116615644.219972,116615645.218368,116615646.215497,116615647.213463,116615648.211651,116615649.21051,116615650.20956,116615651.208957,116615652.208809,116615653.230473,116615654.251285,116615655.274612,116615656.293017,116615657.298681,116615658.278137,116615659.270003,116615660.266968,116615661.263283,116615662.250079,116615663.23872,116615664.230563,116615665.22452,116615666.220084,116615667.21709,116615668.235721,116615669.247779,116615670.252894,116615671.25504,116615672.244586,116615673.235273,116615674.22795,116615675.223022,116615676.21919,116615677.216882,116615678.215074,116615679.213663,116615680.212578,116615681.211502,116615682.211073,116615683.210472,116615684.210126,116615685.210095,116615686.209597,116615687.209504,116615688.209443,116615689.209261,116615690.209006,116615691.209417,116615692.209286,116615693.209002,116615694.208933,116615695.20896,116615696.209112,116615697.20888,116615698.209027,116615699.209481,116615700.209153,116615701.209236,116615702.208938,116615703.208812,116615704.209277,116615705.210515,116615706.211453,116615707.21182,116615708.212131,116615709.219282,116615710.211422,116615711.187972,116615712.168017,116615713.152818,116615714.141972,116615715.133726,116615716.128041,116615717.123974,116615718.121716,116615719.144355,116615720.162125,116615721.182361,116615722.208784,116615723.213243,116615724.214586,116615725.217726,116615726.224045,116615727.249328,116615728.291868,116615729.326456,116615730.355634,116615731.372297,116615732.361762,116615733.34972,116615734.330149,116615735.31063,116615736.286181,116615737.266772,116615738.262023,116615739.250596,116615740.251465,116615741.242707,116615742.235111,116615743.229734,116615744.228815,116615745.22631,116615746.223142,116615747.22086,116615748.2193,116615749.217993,116615750.217313,116615751.216727,116615752.226527,116615753.225029,116615754.229947,116615755.226833,116615756.223992,116615757.221302,116615758.229295,116615759.236623,116615760.233729,116615761.22906,116615762.225342,116615763.222166,116615764.220117,116615765.218529,116615766.21793,116615767.217017,116615768.216495,116615769.215928,116615770.216182,116615771.216137,116615772.222195,116615773.222205,116615774.230792,116615775.251951,116615776.269487,116615777.282336,116615778.299559,116615779.314316,116615780.316194,116615781.325525,116615782.329295,116615783.335231,116615784.33187,116615785.334654,116615786.330574,116615787.324473,116615788.311834,116615789.287952,116615790.268151,116615791.253417,116615792.243259,116615793.258483,116615794.288043,116615795.322603,116615796.353097,116615797.348747,116615798.341052,116615799.341544,116615800.335889,116615801.338085,116615802.336417,116615803.308769,116615804.284255,116615805.265855,116615806.261451,116615807.250903,116615808.25124,116615809.24368,116615810.236594,116615811.231686,116615812.227987,116615813.235713,116615814.242784,116615815.237473,116615816.232503,116615817.242118,116615818.251646,116615819.268932,116615820.282478,116615821.292743,116615822.300104,116615823.305449,116615824.317268,116615825.342246,116615826.33928,116615827.36764,116615828.436942,116615829.428136,116615830.40411,116615831.383132,116615832.367419,116615833.355658,116615834.347347,116615835.341242,116615836.346174,116615837.342745,116615838.339157,116615839.335853,116615840.356651,116615841.35191,116615842.34573,116615843.340657,116615844.381107,116615845.493075,116615846.493987,116615847.433139,116615848.393911,116615849.369591,116615850.335454,116615851.307656,116615852.286785,116615853.271806,116615854.261041,116615855.253119,116615856.247751,116615857.243673,116615858.24202,116615859.240599,116615860.238592,116615861.242844,116615862.291843,116615863.284143,116615864.276278,116615865.288717,116615866.301566,116615867.310997,116615868.35259,116615869.355856,116615870.355011,116615871.351155,116615872.347406,116615873.351999,116615874.35654,116615875.352165,116615876.347809,116615877.344448,116615878.341885,116615879.340462,116615880.339623,116615881.33916,116615882.339485,116615883.339975,116615884.339625,116615885.339212,116615886.349397,116615887.362893,116615888.358175,116615889.362788,116615890.36726,116615891.360451,116615892.354477,116615893.337889,116615894.326354,116615895.316252,116615896.296121,116615897.279885,116615898.267681,116615899.258606,116615900.258968,116615901.254063,116615902.248881,116615903.245452,116615904.242682,116615905.240421,116615906.239357,116615907.295302,116615908.293306,116615909.324005,116615910.310287,116615911.30554,116615912.313493,116615913.320467,116615914.325547,116615915.32897,116615916.331353,116615917.333225,116615918.33674,116615919.337942,116615920.34856,116615921.347625,116615922.346139,116615923.360084,116615924.366507,116615925.360511,116615926.369563,116615927.370784,116615928.364706,116615929.348746,116615930.321145,116615931.312512,116615932.306846,116615933.290364,116615934.288974,116615935.289405,116615936.277376,116615937.266652,116615938.258765,116615939.25274,116615940.260845,116615941.272653,116615942.266579,116615943.275507,116615944.280245,116615945.271892,116615946.263474,116615947.256874,116615948.251387,116615949.247674,116615950.245038,116615951.242921,116615952.241787,116615953.240511,116615954.239581,116615955.24189,116615956.243784,116615957.252489,116615958.264077,116615959.26131,116615960.278876,116615961.297129,116615962.330197,116615963.363473,116615964.389331,116615965.406299,116615966.42244,116615967.438247,116615968.450272,116615969.436829,116615970.413562,116615971.389541,116615972.369658,116615973.337449,116615974.311389,116615975.292033,116615976.277717,116615977.26756,116615978.27228,116615979.281907,116615980.273326,116615981.26498,116615982.258347,116615983.253682,116615984.250456,116615985.24787,116615986.246272,116615987.244566,116615988.243645,116615989.243122,116615990.242513,116615991.242234,116615992.241784,116615993.241866,116615994.242096,116615995.24203,116615996.241863,116615997.241713,116615998.241791,116615999.241618,116616000.241667,116616001.241961,116616002.245157,116616003.250167,116616004.253302,116616005.258857,116616006.260515,116616007.263518,116616008.288354,116616009.328948,116616010.361653,116616011.384106,116616012.393035,116616013.393595,116616014.393007,116616015.396121,116616016.384703,116616017.385233,116616018.384337,116616019.364456,116616020.346357,116616021.331855,116616022.309884,116616023.292187,116616024.279069,116616025.280552,116616026.296408,116616027.309765,116616028.382868,116616029.398389,116616030.395248,116616031.385208,116616032.352077,116616033.324174,116616034.303778,116616035.288917,116616036.277856,116616037.269928,116616038.263922,116616039.271423,116616040.26695,116616041.273869,116616042.277657,116616043.279674,116616044.272759,116616045.266362,116616046.261006,116616047.257254,116616048.261361,116616049.261773,116616050.266239,116616051.288195,116616052.305383,116616053.318148,116616054.341126,116616055.370263,116616056.378591,116616057.372931,116616058.367397,116616059.370068,116616060.373469,116616061.36835,116616062.371068,116616063.36678,116616064.362475,116616065.35557,116616066.330422,116616067.308654,116616068.292156,116616069.28505,116616070.253299,116616071.226304,116616072.2059,116616073.19095,116616074.181788,116616075.196683,116616076.210756,116616077.221715,116616078.229569,116616079.235452,116616080.239346,116616081.242506,116616082.244533,116616083.246101,116616084.247385,116616085.248353,116616086.248971,116616087.249807,116616088.250186,116616089.250261,116616090.264237,116616091.271891,116616092.275659,116616093.271664,116616094.266627,116616095.263141,116616096.26051,116616097.266408,116616098.287897,116616099.305681,116616100.318622,116616101.327766,116616102.336508,116616103.341397,116616104.344591,116616105.346577,116616106.348444,116616107.349743,116616108.361397,116616109.376949,116616110.383568,116616111.370998,116616112.354229,116616113.328414,116616114.308019,116616115.293184,116616116.29132,116616117.294745,116616118.286753,116616119.293757,116616120.308885,116616121.330648,116616122.339527,116616123.320397,116616124.302392,116616125.288898,116616126.279002,116616127.27242,116616128.267698,116616129.264449,116616130.261429,116616131.258982,116616132.257375,116616133.256198,116616134.25538,116616135.255193,116616136.25499,116616137.255693,116616138.255491,116616139.266225,116616140.264327,116616141.267252,116616142.265313,116616143.275394,116616144.272889,116616145.279102,116616146.32217,116616147.359771,116616148.38788,116616149.409862,116616150.410163,116616151.397726,116616152.387166,116616153.379133,116616154.372961,116616155.378774,116616156.391073,116616157.395899,116616158.387614,116616159.377605,116616160.349589,116616161.333959,116616162.31427,116616163.298651,116616164.287681,116616165.280146,116616166.274006,116616167.2699,116616168.266656,116616169.263647,116616170.261971,116616171.260656,116616172.259785,116616173.259295,116616174.258421,116616175.258001,116616176.257677,116616177.257613,116616178.25726,116616179.256896,116616180.257572,116616181.28531,116616182.282855,116616183.277853,116616184.273834,116616185.281637,116616186.286556,116616187.287632,116616188.291582,116616189.298573,116616190.320145,116616191.334682,116616192.345814,116616193.364785,116616194.393293,116616195.396727,116616196.405477,116616197.396722,116616198.387769,116616199.38071,116616200.375544,116616201.372191,116616202.369545,116616203.367234,116616204.365866,116616205.405352,116616206.411056,116616207.413531,116616208.402235,116616209.392133,116616210.39976,116616211.399335,116616212.438383,116616213.415462,116616214.377269,116616215.345934,116616216.32279,116616217.306028,116616218.293889,116616219.285124,116616220.285587,116616221.281202,116616222.276566,116616223.272875,116616224.270551,116616225.269175,116616226.26913,116616227.268455,116616228.267204,116616229.274759,116616230.297342,116616231.315937,116616232.329634,116616233.339351,116616234.355662,116616235.37215,116616236.377901,116616237.375835,116616238.375468,116616239.375665,116616240.376251,116616241.376463,116616242.383685,116616243.377297,116616244.350846,116616245.334841,116616246.316548,116616247.301942,116616248.291126,116616249.283657,116616250.324863,116616251.326188,116616252.33584,116616253.343964,116616254.354132,116616255.334988,116616256.327142,116616257.311468,116616258.299015,116616259.289691,116616260.28234,116616261.277163,116616262.273722,116616263.272752,116616264.355603,116616265.693026,116616266.64399,116616267.577396,116616268.508762,116616269.492321,116616270.448981,116616271.412627,116616272.385765,116616273.369652,116616274.3782,116616275.387693,116616276.395647,116616277.40123,116616278.405531,116616279.408883,116616280.41508,116616281.421083,116616282.47597,116616283.516966,116616284.623908,116616285.599107,116616286.560263,116616287.530368,116616288.500822,116616289.470376,116616290.441206,116616291.450795,116616292.450499,116616293.448258,116616294.456848,116616295.475511,116616296.49106,116616297.502214,116616298.563388,116616299.5382,116616300.509906,116616301.493594,116616302.477033,116616303.465502,116616304.456513,116616305.449729,116616306.444622,116616307.468922,116616308.46345,116616309.455721,116616310.449374,116616311.444319,116616312.450216,116616313.483712,116616314.475156,116616315.464022,116616316.455254,116616317.448691,116616318.44439,116616319.440555,116616320.437982,116616321.444753,116616322.442616,116616323.479009,116616324.448737,116616325.429634,116616326.418442,116616327.40419,116616328.409069,116616329.417635,116616330.417326,116616331.416664,116616332.433672,116616333.471998,116616334.494803,116616335.510768,116616336.524357,116616337.529153,116616338.532586,116616339.519412,116616340.49795,116616341.480499,116616342.46726,116616343.449349,116616344.420416,116616345.403645,116616346.385087,116616347.370561,116616348.372316,116616349.374582,116616350.364602,116616351.355945,116616352.384251,116616353.386056,116616354.398029,116616355.407567,116616356.409886,116616357.402781,116616358.385198,116616359.370822,116616360.360243,116616361.358555,116616362.362567,116616363.35529,116616364.34865,116616365.343589,116616366.340003,116616367.3376,116616368.335562,116616369.334277,116616370.345827,116616371.368306,116616372.386633,116616373.400207,116616374.409946,116616375.418593,116616376.430616,116616377.433819,116616378.43692,116616379.437321,116616380.436918,116616381.436863,116616382.436848,116616383.437638,116616384.437908,116616385.437185,116616386.436627,116616387.440878,116616388.448099,116616389.446066,116616390.443087,116616391.444795,116616392.429606,116616393.405421,116616394.386035,116616395.371564,116616396.360998,116616397.353119,116616398.3477,116616399.343924,116616400.342198,116616401.3739,116616402.417434,116616403.452325,116616404.477815,116616405.496207,116616406.510274,116616407.496104,116616408.48085,116616409.469047,116616410.45785,116616411.436135,116616412.410418,116616413.39017,116616414.375199,116616415.364596,116616416.357549,116616417.351712,116616418.347353,116616419.344654,116616420.346084,116616421.353219,116616422.356223,116616423.351875,116616424.350554,116616425.347412,116616426.358161,116616427.378439,116616428.397021,116616429.419798,116616430.437853,116616431.441434,116616432.441909,116616433.441955,116616434.441318,116616435.441366,116616436.441491,116616437.441106,116616438.453964,116616439.451999,116616440.448888,116616441.44653,116616442.453141,116616443.801613,116616444.763968,116616445.671666,116616446.613689,116616447.554285,116616448.508342,116616449.513361,116616450.49943,116616451.472309,116616452.464433,116616453.486244,116616454.5146,116616455.536977,116616456.591315,116616457.598865,116616458.59998,116616459.597197,116616460.573106,116616461.557963,116616462.540523,116616463.527137,116616464.517075,116616465.510182,116616466.542798,116616467.545283,116616468.544927,116616469.54661,116616470.537013,116616471.527461,116616472.518571,116616473.511466,116616474.506482,116616475.5027,116616476.517205,116616477.524255,116616478.52091,116616479.569156,116616480.573092,116616481.555446,116616482.538887,116616483.526828,116616484.525797,116616485.562447,116616486.575702,116616487.589408,116616488.599868,116616489.64057,116616490.623374,116616491.592058,116616492.566263,116616493.549042,116616494.541523,116616495.570027,116616496.587958,116616497.594105,116616498.600381,116616499.609474,116616500.6161,116616501.614032,116616502.618389,116616503.608228,116616504.581076,116616505.558552,116616506.54173,116616507.537614,116616508.530193,116616509.506978,116616510.47851,116616511.455723,116616512.439396,116616513.427597,116616514.488093,116616515.523912,116616516.527781,116616517.524298,116616518.518566,116616519.513679,116616520.525108,116616521.546136,116616522.563678,116616523.576795,116616524.586277,116616525.647449,116616526.634641,116616527.602563,116616528.576399,116616529.582379,116616530.564682,116616531.548626,116616532.536377,116616533.527748,116616534.522474,116616535.517735,116616536.570125,116616537.57073,116616538.735704,116616540.09337,116616541.014157,116616541.88567,116616542.768636,116616543.662416,116616544.592586,116616545.575997,116616546.547657,116616547.543217,116616548.54838,116616549.564688,116616550.568673,116616551.569372,116616552.608886,116616553.604055,116616554.595744,116616555.588615,116616556.583325,116616557.579325,116616558.576548,116616559.576859,116616560.577647,116616561.57985,116616562.577274,116616563.575477,116616564.573523,116616565.571861,116616566.570893,116616567.570417,116616568.570164,116616569.56965,116616570.56935,116616571.569137,116616572.569477,116616573.569389,116616574.569123,116616575.56925,116616576.569107,116616577.568855,116616578.568477,116616579.568124,116616580.568098,116616581.568361,116616582.568302,116616583.568094,116616584.567738,116616585.567255,116616586.567006,116616587.567139,116616588.567108,116616589.566917,116616590.567047,116616591.567047,116616592.574673,116616593.584268,116616594.588142,116616595.583952,116616596.572799,116616597.559632,116616598.54424,116616599.524005,116616600.507453,116616601.495125,116616602.486313,116616603.480082,116616604.475717,116616605.473589,116616606.485615,116616607.511848,116616608.536257,116616609.546372,116616610.56453,116616611.57581,116616612.583329,116616613.591877,116616614.587446,116616615.582706,116616616.589036,116616617.583207,116616618.556238,116616619.532144,116616620.519297,116616621.539449,116616622.556182,116616623.570883,116616624.572343,116616625.571997,116616626.571524,116616627.571347,116616628.571424,116616629.580407,116616630.579249,116616631.55867,116616632.547289,116616633.527062,116616634.510852,116616635.498865,116616636.489869,116616637.483232,116616638.478735,116616639.475089,116616640.472419,116616641.470269,116616642.469193,116616643.468588,116616644.467923,116616645.46726,116616646.467067,116616647.467312,116616648.475238,116616649.503093,116616650.545709,116616651.56329,116616652.624632,116616653.677248,116616654.740806,116616655.77305,116616656.809652,116616657.805473,116616658.791918,116616659.75253,116616660.71986,116616661.69505,116616662.649406,116616663.604659,116616664.587217,116616665.607346,116616666.629521,116616667.656407,116616668.678548,116616669.693469,116616670.733903,116616671.747362,116616672.738255,116616673.70413,116616674.681397,116616675.656726,116616676.637668,116616677.623968,116616678.613671,116616679.60608,116616680.600298,116616681.60678,116616682.627868,116616683.64863,116616684.693904,116616685.680926,116616686.657971,116616687.663471,116616688.64114,116616689.665642,116616690.657207,116616691.639724,116616692.635794,116616693.673058,116616694.646161,116616695.605804,116616696.573365,116616697.554666,116616698.567299,116616699.582773,116616700.612072,116616701.64922,116616702.652172,116616703.638699,116616704.629321,116616705.657104,116616706.663343,116616707.673015,116616708.681682,116616709.687486,116616710.69148,116616711.691995,116616712.670209,116616713.649997,116616714.646502,116616715.634628,116616716.623577,116616717.615337,116616718.609816,116616719.605908,116616720.602553,116616721.599902,116616722.598111,116616723.619347,116616724.620916,116616725.639824,116616726.630905,116616727.6216,116616728.613931,116616729.608158,116616730.605134,116616731.602826,116616732.630011,116616733.625056,116616734.617896,116616735.629121,116616736.648119,116616737.710666,116616738.725182,116616739.87452,116616740.881519,116616741.820423,116616742.75181,116616743.687418,116616744.653802,116616745.625385,116616746.652565,116616747.630386,116616748.587407,116616749.570943,116616750.579992,116616751.588641,116616752.595331,116616753.600368,116616754.603863,116616755.61389,116616756.639418,116616757.66729,116616758.714756,116616759.726982,116616760.734903,116616761.744141,116616762.729515,116616763.70185,116616764.67839,116616765.695939,116616766.654974,116616767.641055,116616768.613917,116616769.603809,116616770.589181,116616771.569299,116616772.562614,116616773.573614,116616774.605284,116616775.679388,116616776.698446,116616777.706578,116616778.712649,116616779.717636,116616780.716657,116616781.694915,116616782.674703,116616783.671279,116616784.665761,116616785.646158,116616786.613479,116616787.58726,116616788.600873,116616789.582369,116616790.564973,116616791.558146,116616792.551904,116616793.575812,116616794.609551,116616795.651296,116616796.648953,116616797.643994,116616798.648622,116616799.650099,116616800.643788,116616801.637953,116616802.633642,116616803.630356,116616804.627731,116616805.625996,116616806.624897,116616807.623897,116616808.623187,116616809.622587,116616810.622921,116616811.622742,116616812.623157,116616813.62293,116616814.622604,116616815.622245,116616816.622303,116616817.621844,116616818.621993,116616819.653419,116616820.649515,116616821.642706,116616822.636963,116616823.632622,116616824.629872,116616825.627595,116616826.626056,116616827.624513,116616828.62368,116616829.623472,116616830.646853,116616831.670712,116616832.70362,116616833.701758,116616834.683379,116616835.667933,116616836.647598,116616837.61624,116616838.606833,116616839.585948,116616840.572274,116616841.573697,116616842.587885,116616843.598338,116616844.605573,116616845.610876,116616846.614923,116616847.617563,116616848.634293,116616849.650332,116616850.646312,116616851.640775,116616852.643688,116616853.646805,116616854.638995,116616855.610865,116616856.598744,116616857.579182,116616858.563397,116616859.560682,116616860.065192,116616861.11612,116616861.23134,116616861.346233,116616861.568206,116616862.002215,116616862.670666,116616863.448147,116616864.294832,116616865.187364,116616866.11073,116616867.057168,116616868.018107,116616868.989691,116616869.96619,116616870.966106,116616871.975992,116616872.985253,116616873.992698,116616874.997437,116616876.001623,116616877.004394,116616878.013102,116616879.013538,116616880.023869,116616881.029438,116616882.030203,116616883.007337,116616883.986826,116616884.990122,116616886.041826,116616887.023651,116616888.004144,116616889.004053,116616890.021382,116616891.025399,116616892.087784,116616893.10023,116616894.104787,116616895.107192,116616896.114489,116616897.119798,116616898.123973,116616899.126758,116616900.128274,116616901.105597,116616902.117578,116616903.104034,116616904.081372,116616905.062975,116616906.054728,116616907.052668,116616908.052609,116616909.038247,116616910.007863,116616910.982579,116616911.961401,116616912.945612,116616913.934484,116616914.925469,116616915.919161,116616916.914944,116616917.912076,116616918.937042,116616919.976519,116616920.992733,116616921.999792,116616923.003982,116616924.007093,116616924.590573,116616925.633066,116616926.656622,116616927.660795,116616928.656868,116616929.653154,116616930.650322,116616931.65862,116616932.67021,116616933.668015,116616934.662093,116616935.656771,116616936.652905,116616937.650113,116616938.648256,116616939.695078,116616940.703597,116616941.684764,116616942.648555,116616943.619082,116616944.597344,116616945.581523,116616946.569937,116616947.561534,116616948.555453,116616949.550735,116616950.547788,116616951.570812,116616952.59073,116616953.605932,116616954.616965,116616955.625038,116616956.639998,116616957.631948,116616958.618904,116616959.599495,116616960.583224,116616961.571311,116616962.562363,116616963.555915,116616964.551341,116616965.547933,116616966.545167,116616967.543342,116616968.542187,116616969.549743,116616970.582671,116616971.601534,116616972.623517,116616973.638546,116616974.641973,116616975.643173,116616976.643505,116616977.64407,116616978.645346,116616979.659407,116616980.666062,116616981.674257,116616982.669239,116616983.663055,116616984.659419,116616985.656959,116616986.654151,116616987.672818,116616988.699544,116616989.72284,116616990.765123,116616991.767631,116616992.771632,116616993.751367,116616994.7248,116616995.703519,116616996.678605,116616997.652513,116616998.624106,116616999.601908,116617000.585651,116617001.573851,116617002.565476,116617003.559505,116617004.554956,116617005.551785,116617006.584762,116617007.579316,116617008.570687,116617009.563695,116617010.566693,116617011.596297,116617012.612986,116617013.623744,116617014.638335,116617015.650052,116617016.662146,116617017.660596,116617018.668452,116617019.665075,116617020.661254,116617021.658302,116617022.656245,116617023.662665,116617024.663449,116617025.666289,116617026.644814,116617027.620002,116617028.59979,116617029.584797,116617030.574123,116617031.582496,116617032.617737,116617033.655783,116617034.684992,116617035.706703,116617036.722364,116617037.756953,116617038.738725,116617039.717077,116617040.70482,116617041.691502,116617042.681567,116617043.674473,116617044.659982,116617045.638847,116617046.616383,116617047.598361,116617048.585577,116617049.576288,116617050.570092,116617051.584759,116617052.660607,116617053.675071,116617054.672915,116617055.669557,116617056.673933,116617057.655953,116617058.649945,116617059.627211,116617060.607357,116617061.59242,116617062.581721,116617063.574107,116617064.579146,116617065.600761,116617066.617398,116617067.629249,116617068.65759,116617069.695321,116617070.762169,116617071.774758,116617072.788473,116617073.775538,116617074.763657,116617075.741045,116617076.733212,116617077.749863,116617078.749472,116617079.73213,116617080.71396,116617081.700093,116617082.690301,116617083.693259,116617084.680337,116617085.67091,116617086.653166,116617087.628827,116617088.609821,116617089.595907,116617090.58539,116617091.594234,116617092.620901,116617093.659348,116617094.6911,116617095.737171,116617096.752214,116617097.764111,116617098.750294,116617099.729762,116617100.712684,116617101.699809,116617102.671005,116617103.642204,116617104.631339,116617105.615304,116617106.601218,116617107.590333,116617108.582318,116617109.576392,116617110.571917,116617111.56905,116617112.566972,116617113.565699,116617114.565055,116617115.564652,116617116.564125,116617118.003788,116617118.98979,116617119.992201,116617120.997757,116617122.009499,116617123.035167,116617124.05677,116617125.072908,116617126.085367,116617127.094104,116617128.100059,116617129.108063,116617130.115245,116617131.122439,116617132.172595,116617133.149023,116617134.123572,116617135.095836,116617136.073945,116617137.102463,116617138.760802,116617139.89743,116617140.970852,116617141.808135,116617142.685027,116617143.550265,116617144.43771,116617145.354069,116617146.300206,116617147.25588,116617148.222685,116617149.198752,116617150.184377,116617151.195024,116617152.182114,116617153.173798,116617154.164556,116617155.181745,116617156.222862,116617157.271015,116617158.312688,116617159.363478,116617160.403527,116617161.432579,116617162.455226,116617163.477137,116617164.487615,116617165.528646,116617166.561948,116617167.579854,116617168.616678,116617169.644798,116617170.665469,116617171.68014,116617172.690729,116617173.702511,116617174.391993,116617175.377802,116617176.353641,116617177.394027,116617178.386667,116617179.360983,116617180.339578,116617181.323219,116617182.311297,116617183.304056,116617184.297938,116617185.283195,116617186.29648,116617187.271813,116617188.264953,116617189.244842,116617190.227836,116617191.237403,116617192.24853,116617193.257106,116617194.26375,116617195.318605,116617196.316323,116617197.308266,116617198.312996,116617199.315721,116617200.316332,116617201.331064,116617202.321026,116617203.311048,116617204.316139,116617205.308794,116617206.301834,116617207.296909,116617208.292944,116617209.293886,116617210.300501,116617211.308119,116617212.303128,116617213.297986,116617214.293609,116617215.290263,116617216.287413,116617217.286185,116617218.308297,116617219.337581,116617220.361441,116617221.37904,116617222.392116,116617223.401689,116617224.408447,116617225.410519,116617226.391461,116617227.372599,116617228.357445,116617229.362683,116617230.36838,116617231.381033,116617232.383115,116617233.383942,116617234.378896,116617235.356362,116617236.336866,116617237.349965,116617238.319952,116617239.308066,116617240.31188,116617241.338795,116617242.352665,116617243.349307,116617244.340843,116617245.336532,116617246.323411,116617247.32133,116617248.312,116617249.30429,116617250.309602,116617251.304409,116617252.299281,116617253.29891,116617254.319089,116617255.348072,116617256.360894,116617257.358042,116617258.359629,116617259.375012,116617260.388908,116617261.390011,116617262.389403,116617263.398619,116617264.406534,116617265.402463,116617266.398134,116617267.404819,116617268.401852,116617269.397844,116617270.403905,116617271.410542,116617272.405491,116617273.400586,116617274.407213,116617275.438507,116617276.427668,116617277.413627,116617278.418184,116617279.419149,116617280.411671,116617281.404913,116617282.399635,116617283.396207,116617284.393712,116617285.420843,116617286.448253,116617287.462068,116617288.446851,116617289.431695,116617290.42004,116617291.39782,116617292.369289,116617293.347044,116617294.321265,116617295.302367,116617296.283544,116617297.293812,116617298.302695,116617299.300207,116617300.297158,116617301.294783,116617302.30532,116617303.311856,116617304.321778,116617305.328665,116617306.344557,116617307.357847,116617308.382675,116617309.38913,116617310.753067,116617311.852435,116617312.889451,116617313.911963,116617314.927594,116617315.947082,116617316.954569,116617317.958252,116617318.961995,116617319.964097,116617321.016696,116617321.992154,116617322.958318,116617323.929403,116617324.39652,116617325.39697,116617326.397562,116617327.401006,116617328.401129,116617329.386726,116617330.363402,116617331.344817,116617332.330661,116617333.320803,116617334.329935,116617335.340024,116617336.330924,116617337.333423,116617338.32462,116617339.37606,116617340.362601,116617341.363601,116617342.347556,116617343.349486,116617344.324245,116617345.314799,116617346.309252,116617347.317978,116617348.340977,116617349.359212,116617350.442579,116617351.511034,116617352.498239,116617353.477848,116617354.461011,116617355.460361,116617356.471773,116617357.482523,116617358.490113,116617359.495599,116617360.499633,116617361.521165,116617362.53809,116617363.559486,116617364.57606,116617365.593322,116617366.594748,116617367.620575,116617368.581985,116617369.536494,116617370.501192,116617371.475966,116617372.457773,116617373.44387,116617374.419661,116617375.390544,116617376.367622,116617377.36519,116617378.351292,116617379.339235,116617380.33371,116617381.350573,116617382.366184,116617383.379251,116617384.394263,116617385.407554,116617386.409406,116617387.410083,116617388.41028,116617389.42536,116617390.448397,116617391.467026,116617392.480524,116617393.496591,116617394.516876,116617395.518814,116617396.519508,116617397.528946,116617398.528054,116617399.524625,116617400.527485,116617401.525139,116617402.522473,116617403.515554,116617404.491154,116617405.478138,116617406.470311,116617407.455347,116617408.452207,116617409.442093,116617410.440817,116617411.433388,116617412.426993,116617413.422551,116617414.424655,116617415.427575,116617416.418053,116617417.410229,116617418.402769,116617419.39613,116617420.398452,116617421.408557,116617422.415681,116617423.425771,116617424.422995,116617425.419313,116617426.398904,116617427.384276,116617428.36503,116617429.360745,116617430.372041,116617431.382867,116617432.390691,116617433.395714,116617434.40024,116617435.419763,116617436.449347,116617437.473147,116617438.490601,116617439.498707,116617440.489732,116617441.470933,116617442.45588,116617443.496286,116617444.485222,116617445.467987,116617446.46887,116617447.483325,116617448.478821,116617449.472565,116617450.466755,116617451.463562,116617452.456083,116617453.475099,116617454.474922,116617455.467203,116617456.494641,116617457.507747,116617458.506206,116617459.485137,116617460.465925,116617461.452033,116617462.442003,116617463.434583,116617464.438752,116617465.432978,116617466.427361,116617467.42908,116617468.425212,116617469.427498,116617470.43141,116617471.433173,116617472.434537,116617473.436098,116617474.430967,116617475.426405,116617476.430919,116617477.458079,116617478.464014,116617479.455553,116617480.445918,116617481.44495,116617482.443515,116617483.446213,116617484.439224,116617485.432413,116617486.440851,116617487.469807,116617488.486164,116617489.486447,116617490.494556,116617491.487985,116617492.48235,116617493.490935,116617494.499746,116617495.505576,116617496.515727,116617497.518617,116617498.526165,116617499.531172,116617500.52949,116617501.522803,116617502.498263,116617503.476256,116617504.468868,116617505.464848,116617506.453389,116617507.444214,116617508.436593,116617509.440833,116617510.446425,116617511.450992,116617512.450762,116617513.449771,116617514.448681,116617515.440982,116617516.442067,116617517.436433,116617518.432052,116617519.42824,116617520.432552,116617521.429153,116617522.432651,116617523.428949,116617524.442512,116617525.467464,116617526.483639,116617527.499635,116617528.511672,116617529.545856,116617530.520412,116617531.493965,116617532.481562,116617533.465436,116617534.49372,116617535.485597,116617536.495845,116617537.50299,116617538.50927,116617539.514342,116617540.517666,116617541.522983,116617542.528561,116617543.533131,116617544.532044,116617545.539423,116617546.538109,116617547.511181,116617548.492435,116617549.483088,116617550.468022,116617551.455049,116617552.460746,116617553.536135,116617554.547679,116617555.544465,116617556.546345,116617557.566899,116617558.566435,116617559.551569,116617560.520741,116617561.494393,116617562.475248,116617563.494309,116617564.479823,116617565.464846,116617566.453545,116617567.458834,116617568.474764,116617569.465083,116617570.454345,116617571.446176,116617572.449754,116617573.447205,116617574.431281,116617575.415701,116617576.420701,116617577.428423,116617578.439833,116617579.495593,116617580.484457,116617581.470152,116617582.460475,116617583.453574,116617584.446131,116617585.440434,116617586.436274,116617587.447774,116617588.468778,116617589.485929,116617590.498683,116617591.507708,116617592.514384,116617593.519878,116617594.552307,116617595.561594,116617596.563311,116617597.565346,116617598.557928,116617599.551153,116617600.546444,116617601.544052,116617602.541656,116617603.525309,116617604.500635,116617605.491723,116617606.494442,116617607.47951,116617608.465625,116617609.466158,116617610.467774,116617611.472794,116617612.462349,116617613.462061,116617614.453905,116617615.457999,116617616.451341,116617617.455943,116617618.477105,116617619.483449,116617620.471076,116617621.459437,116617622.460471,116617623.452824,116617624.446484,116617625.452157,116617626.457854,116617627.451163,116617628.450582,116617629.446428,116617630.441654,116617631.438563,116617632.451274,116617633.493946,116617634.517633,116617635.534418,116617636.536519,116617637.546572,116617638.554164,116617639.550711,116617640.546535,116617641.543679,116617642.566305,116617643.59524,116617644.615879,116617645.602689,116617646.594991,116617647.588616,116617648.576214,116617649.565426,116617650.558021,116617651.552809,116617652.548539,116617653.529821,116617654.54809,116617655.523,116617656.498449,116617657.480241,116617658.478285,116617659.467491,116617660.458247,116617661.461979,116617662.46591,116617663.458015,116617664.450999,116617665.451817,116617666.471228,116617667.49767,116617668.521929,116617669.5286,116617670.540008,116617671.54064,116617672.535069,116617673.511631,116617674.491451,116617675.476012,116617676.47183,116617677.473106,116617678.463679,116617679.455575,116617680.463606,116617681.481981,116617682.49717,116617683.508518,116617684.525468,116617685.532434,116617686.544,116617687.55384,116617688.551858,116617689.585599,116617690.55593,116617691.524533,116617692.482043,116617693.454314,116617694.423057,116617695.413798,116617696.418082,116617697.422912,116617698.42716,116617699.429394,116617700.469908,116617701.482074,116617702.498453,116617703.511025,116617704.531819,116617705.548912,116617706.55845,116617707.556186,116617708.544742,116617709.518985,116617710.506834,116617711.489238,116617712.475084,116617713.464748,116617714.470594,116617715.463638,116617716.471167,116617717.516906,116617718.50385,116617719.487441,116617720.489391,116617721.503496,116617722.517981,116617723.526964,116617724.532285,116617725.536344,116617726.539164,116617727.548935,116617728.550724,116617729.556497,116617730.556252,116617731.554366,116617732.552457,116617733.550977,116617734.532179,116617735.509089,116617736.490423,116617737.476774,116617738.467355,116617739.454344,116617740.440996,116617741.432731,116617742.414514,116617743.418167,116617744.434852,116617745.457439,116617746.47209,116617747.479979,116617748.481749,116617749.458918,116617750.443767,116617751.42434,116617752.426229,116617753.430228,116617754.433611,116617755.43587,116617756.437532,116617757.44487,116617758.940666,116617759.948691,116617760.965104,116617761.979569,116617762.988242,116617763.985748,116617764.981713,116617765.978097,116617766.984444,116617767.983226,116617768.979863,116617769.977366,116617770.975188,116617771.476402,116617772.506339,116617773.523116,116617774.534436,116617775.54294,116617776.533346,116617777.514935,116617778.50972,116617779.507848,116617780.506413,116617781.503864,116617782.503007,116617783.501943,116617784.501418,116617785.501103,116617786.499402,116617787.489814,116617788.488284,116617789.487853,116617790.480628,116617791.492335,116617792.535028,116617793.556337,116617794.561269,116617795.556334,116617796.533636,116617797.532695,116617798.515334,116617799.517386,116617800.542343,116617801.543038,116617802.524399,116617803.507273,116617804.494816,116617805.495573,116617806.487518,116617807.479761,116617808.494702,116617809.502481,116617810.513642,116617811.503703,116617812.502277,116617813.502437,116617814.506535,116617815.518526,116617816.528341,116617817.54187,116617818.549115,116617819.553788,116617820.569073,116617821.571678,116617822.570885,116617823.589722,116617824.612381,116617825.630567,116617826.647633,116617827.656101,116617828.661865,116617829.666505,116617830.670379,116617831.648691,116617832.627103,116617833.610974,116617834.599561,116617835.575595,116617836.546098,116617837.522707,116617838.505716,116617839.488337,116617840.467751,116617841.454971,116617842.4655,116617843.45912,116617844.448016,116617845.436123,116617846.440944,116617847.457211,116617848.470876,116617849.48098,116617850.478017,116617851.489859,116617852.485123,116617853.479741,116617854.475007,116617855.471646,116617856.469198,116617857.485119,116617858.515716,116617859.51898,116617860.516785,116617861.507635,116617862.515725,116617863.529365,116617864.540182,116617865.553257,116617866.563182,116617867.565928,116617868.56708,116617869.567687,116617870.591397,116617871.592317,116617872.586865,116617873.582265,116617874.578715,116617875.576403,116617876.567779,116617877.543282,116617878.521571,116617879.513504,116617880.501053,116617881.500811,116617882.517322,116617883.541652,116617884.553646,116617885.569001,116617886.572515,116617887.581373,116617888.580469,116617889.562952,116617890.538788,116617891.519015,116617892.504774,116617893.504761,116617894.506333,116617895.496854,116617896.502856,116617897.495408,116617898.487873,116617899.482228,116617900.488423,116617901.483661,116617902.489843,116617903.498949,116617904.500889,116617905.493618,116617906.506311,116617907.49911,116617908.526607,116617909.541376,116617910.55073,116617911.55786,116617912.5624,116617913.565406,116617914.567287,116617915.586948,116617916.618977,116617917.631003,116617918.619991,116617919.608154,116617920.599231,116617921.593184,116617922.595241,116617923.599021,116617924.593685,116617925.588691,116617926.568639,116617927.543162,116617928.523032,116617929.516968,116617930.519651,116617931.507756,116617932.497479,116617933.498161,116617934.503814,116617935.510605,116617936.50105,116617937.492043,116617938.485036,116617939.480121,116617940.483166,116617941.96074,116617942.944126,116617943.946118,116617944.951923,116617945.543288,116617946.559783,116617947.57851,116617948.588364,116617949.594306,116617950.635532,116617951.637007,116617952.666074,116617953.669799,116617954.686126,116617955.672683,116617956.798886,116617957.786945,116617958.745611,116617959.726578,116617960.705367,116617961.692354,116617962.698541,116617963.742526,116617964.749855,116617965.752884,116617966.748211,116617967.742988,116617968.739024,116617969.744089,116617970.782674,116617971.762977,116617972.727682,116617973.698003,116617974.67625,116617975.740727,116617976.707981,116617977.671015,116617978.647943,116617979.647941,116617980.657648,116617981.625096,116617982.595473,116617983.583495,116617984.566309,116617985.590648,116617986.58434,116617987.568754,116617988.565017,116617989.562856,116617990.560849,116617991.586173,116617992.580498,116617993.58889,116617994.596798,116617995.615084,116617996.626259,116617997.632928,116617998.65985,116617999.660249,116618000.669537,116618001.670774,116618002.6597,116618003.649314,116618004.641445,116618005.636357,116618006.650386,116618007.668239,116618008.690523,116618009.694143,116618010.678941,116618011.664189,116618012.664622,116618013.655977,116618014.646932,116618015.640035,116618016.617085,116618017.598187,116618018.58472,116618019.57358,116618020.5659,116618021.617496,116618022.606252,116618023.584384,116618024.574252,116618025.584274,116618026.594779,116618027.609358,116618028.619878,116618029.622002,116618030.688262,116618031.680637,116618032.666915,116618033.65556,116618034.655879,116618035.657484,116618036.651114,116618037.626009,116618038.598113,116618039.57685,116618040.560979,116618041.549586,116618042.535269,116618043.506599,116618044.508495,116618045.53911,116618046.540662,116618047.544209,116618048.539559,116618049.53461,116618050.530942,116618051.528666,116618052.526467,116618053.542679,116618054.56427,116618055.581433,116618056.594388,116618057.603768,116618058.610828,116618059.623686,116618060.64001,116618061.639413,116618062.63696,116618063.634933,116618064.633374,116618065.631989,116618066.631178,116618067.633872,116618068.695895,116618069.679006,116618070.646516,116618071.624184,116618072.607994,116618073.61086,116618074.624758,116618075.632182,116618076.641623,116618077.626161,116618078.981869,116618079.961561,116618080.937384,116618081.90429,116618082.867333,116618083.83772,116618084.816295,116618085.828042,116618086.813503,116618087.799295,116618088.787932,116618089.803251,116618090.820262,116618091.833006,116618092.849462,116618093.862294,116618094.865739,116618095.866788,116618096.898147,116618097.921547,116618098.97106,116618099.985891,116618101.011515,116618102.032575,116618103.047608,116618104.058511,116618105.066145,116618106.116412,116618107.092541,116618108.064577,116618109.039683,116618110.001583,116618111.010278,116618111.981097,116618112.950844,116618113.605548,116618114.600497,116618115.590534,116618116.557666,116618117.5325,116618118.503427,116618119.500411,116618120.504092,116618121.507009,116618122.509066,116618123.510534,116618124.530512,116618125.567983,116618126.572568,116618127.560117,116618128.562686,116618129.553374,116618130.594643,116618131.590876,116618132.573395,116618133.574139,116618134.561433,116618135.54953,116618136.560725,116618137.577433,116618138.594373,116618139.580881,116618140.594213,116618141.93644,116618142.943099,116618143.95021,116618144.964377,116618145.97704,116618146.977941,116618147.976064,116618148.980776,116618149.980106,116618150.977996,116618151.984357,116618152.990953,116618153.987239,116618154.982721,116618155.979361,116618156.980585,116618157.981033,116618158.975257,116618159.982016,116618160.988116,116618161.981952,116618162.961844,116618163.936294,116618164.914988,116618165.913745,116618166.911854,116618167.900788,116618168.890321,116618169.890391,116618170.894222,116618171.898389,116618172.892178,116618173.898385,116618174.915652,116618175.931143,116618176.942525,116618177.951578,116618178.957565,116618179.631671,116618180.685119,116618181.712038,116618182.729681,116618183.73825,116618184.771292,116618185.749847,116618186.74041,116618187.719612,116618188.690019,116618189.680656,116618190.662601,116618191.660999,116618192.638845,116618193.613717,116618194.604451,116618195.588366,116618196.592763,116618197.640794,116618198.648743,116618199.655395,116618200.660796,116618201.719407,116618202.727434,116618203.713105,116618204.700143,116618205.7102,116618206.752075,116618207.76219,116618208.765059,116618209.766251,116618210.813272,116618211.807288,116618212.813364,116618213.836656,116618214.836176,116618215.821237,116618216.83542,116618217.82161,116618218.806848,116618219.795497,116618220.787349,116618221.808971,116618222.778288,116618223.746808,116618224.722281,116618225.70412,116618226.690708,116618227.681076,116618228.665959,116618229.638097,116618230.61442,116618231.601705,116618232.658594,116618233.681683,116618234.658387,116618235.633378,116618236.611739,116618237.662979,116618238.66733,116618239.666365,116618240.666624,116618241.665529,116618242.682607,116618243.67974,116618244.689015,116618245.70921,116618246.767683,116618247.760417,116618248.737622,116618249.71711,116618250.696255,116618251.68506,116618252.663213,116618253.635843,116618254.632468,116618255.640374,116618256.650646,116618257.659248,116618258.66152,116618259.669019,116618260.668123,116618261.680359,116618262.655924,116618263.629959,116618264.610057,116618265.60465,116618266.592291,116618267.588187,116618268.61422,116618269.603246,116618270.958579,116618271.943992,116618272.956418,116618273.945873,116618274.925659,116618275.915592,116618276.90333,116618277.89413,116618278.891753,116618279.889993,116618280.883982,116618281.893732,116618282.916396,116618283.960265,116618284.970038,116618285.973013,116618286.974204,116618287.974715,116618288.981343,116618290.006082,116618291.032265,116618292.04666,116618293.054216,116618294.036741,116618295.021111,116618296.009083,116618297.000302,116618297.993691,116618298.981931,116618299.954731,116618300.930366,116618301.912161,116618302.899086,116618303.900004,116618304.891699,116618305.883975,116618306.877698,116618307.614096,116618308.627917,116618309.651695,116618310.663218,116618311.665791,116618312.673795,116618313.673827,116618314.723982,116618315.730356,116618316.717142,116618317.700067,116618318.694236,116618319.668647,116618320.665402,116618321.661692,116618322.638788,116618323.66379,116618324.643524,116618325.637539,116618326.627342,116618327.634913,116618328.644457,116618329.652471,116618330.658207,116618331.662042,116618333.01332,116618334.099282,116618335.116436,116618336.116478,116618337.096418,116618338.078816,116618339.065746,116618340.056421,116618341.049399,116618342.073108,116618343.042678,116618344.013425,116618344.991238,116618345.972792,116618346.960538,116618347.9335,116618348.935421,116618349.909358,116618350.885896,116618351.882767,116618352.891053,116618353.899047,116618354.904748,116618355.909015,116618356.912283,116618357.921306,116618358.987374,116618360.008779,116618361.026292,116618362.030776,116618363.008946,116618363.990273,116618365.000128,116618365.998324,116618366.98185,116618367.983148,116618368.628108,116618369.60705,116618370.59222,116618371.586522,116618372.581838,116618373.574279,116618374.577462,116618375.587568,116618376.6148,116618377.637454,116618378.654191,116618379.657105,116618380.677602,116618381.675331,116618382.67106,116618383.685198,116618384.690203,116618385.743,116618386.739839,116618387.727985,116618388.71103,116618389.706129,116618390.754496,116618391.73887,116618392.719663,116618393.704434,116618394.693075,116618395.695434,116618396.663704,116618397.639666,116618398.616925,116618399.599962,116618400.59562,116618401.651787,116618402.628044,116618403.620043,116618404.604129,116618405.591053,116618406.633099,116618407.632683,116618408.62803,116618409.616196,116618410.626449,116618411.613163,116618412.609278,116618413.621938,116618414.677793,116618415.681301,116618416.681332,116618417.696072,116618418.745374,116618419.769163,116618420.779683,116618421.789488,116618422.789095,116618423.787059,116618424.764395,116618425.739533,116618426.720255,116618427.706319,116618428.696448,116618429.689962,116618430.663525,116618431.637357,116618432.61757,116618433.610566,116618434.598655,116618435.589322,116618436.581962,116618437.576589,116618438.620915,116618439.647835,116618440.634876,116618441.621046,116618442.626464,116618443.638174,116618444.64757,116618445.660408,116618446.694746,116618447.693193,116618448.688021,116618449.662956,116618450.637144,116618451.62857,116618452.623445,116618453.608967,116618454.603848,116618455.594219,116618456.586231,116618457.594756,116618458.589501,116618459.584422,116618460.58827,116618461.586085,116618463.32384,116618464.443275,116618465.525533,116618466.55078,116618467.515907,116618468.47859,116618469.449886,116618470.42864,116618471.41304,116618472.40157,116618473.393807,116618474.387811,116618475.383581,116618476.372584,116618477.346152,116618478.324429,116618479.307981,116618480.294496,116618481.283403,116618482.275041,116618483.902065,116618484.754683,116618485.617915,116618486.535442,116618487.453864,116618488.392167,116618489.346579,116618490.342871,116618491.320972,116618492.341442,116618493.394856,116618494.472668,116618495.579883,116618496.701315,116618497.796331,116618498.872591,116618499.923821,116618501.007598,116618502.003821,116618502.989618,116618503.976406,116618504.965702,116618505.957159,116618506.951063,116618507.982022,116618508.977361,116618509.962646,116618511.015071,116618512.057575,116618513.036284,116618514.011999,116618514.993121,116618515.976895,116618516.964864,116618517.980766,116618518.984158,116618519.97786,116618521.167717,116618522.186597,116618523.267034,116618524.325377,116618525.020891,116618526.030888,116618527.022229,116618528.006554,116618528.994016,116618529.983336,116618530.974652,116618531.968322,116618532.960658,116618533.935003,116618534.920003,116618535.901853,116618536.887087,116618537.898202,116618538.913046,116618539.923767,116618540.36632,116618541.38625,116618542.389952,116618543.391118,116618544.403045,116618545.427011,116618546.454398,116618547.468272,116618548.47036,116618549.453557,116618550.437558,116618551.445321,116618552.44207,116618553.430268,116618554.431093,116618555.433528,116618556.424531,116618557.417473,116618558.413087,116618559.422592,116618560.441367,116618561.456758,116618562.467922,116618563.476094,116618564.482844,116618565.495308,116618566.523434,116618567.552236,116618568.569173,116618569.565075,116618570.549779,116618571.561922,116618572.548662,116618573.536405,116618574.527014,116618575.506898,116618576.504076,116618577.478071,116618578.455453,116618579.454552,116618580.44336,116618581.430763,116618582.420942,116618583.421872,116618584.44,116618585.462541,116618586.480154,116618587.486956,116618588.516588,116618589.51636,116618590.522218,116618591.528614,116618592.510172,116618593.561367,116618594.559894,116618595.528573,116618596.494888,116618597.478644,116618598.465129,116618599.517991,116618600.495574,116618601.479057,116618602.467475,116618603.45396,116618604.448498,116618605.461195,116618606.477067,116618607.49963,116618608.503789,116618609.51279,116618610.521444,116618611.519242,116618612.516009,116618613.513264,116618614.527732,116618615.54269,116618616.551414,116618617.541423,116618618.531679,116618619.524265,116618620.519027,116618621.515067,116618622.512307,116618623.489724,116618624.466301,116618625.459118,116618626.445031,116618627.433104,116618628.431493,116618629.454545,116618630.453148,116618631.440587,116618632.436846,116618633.428048,116618634.420605,116618635.435279,116618636.462395,116618637.482529,116618638.496141,116618639.49967,116618640.488732,116618641.475245,116618642.462181,116618643.455122,116618644.447247,116618645.444014,116618646.441351,116618647.455829,116618648.473961,116618649.484004,116618650.494172,116618651.497713,116618652.48338,116618653.483989,116618654.489722,116618655.494043,116618656.502176,116618657.504324,116618658.505305,116618659.498828,116618660.485698,116618661.476116,116618662.488874,116618663.480132,116618664.47024,116618665.471201,116618666.477827,116618667.491458,116618668.484516,116618669.46408,116618670.446918,116618671.441561,116618672.441904,116618673.432487,116618674.433404,116618675.435342,116618676.427858,116618677.435743,116618678.428851,116618679.421701,116618680.416052,116618681.411714,116618682.411891,116618683.429293,116618684.448455,116618685.463798,116618686.475544,116618687.484169,116618688.490954,116618689.495383,116618690.49877,116618691.516925,116618692.549257,116618693.557598,116618694.547243,116618695.537011,116618696.529609,116618697.532915,116618698.537266,116618699.540037,116618700.533032,116618701.526607,116618702.539434,116618703.559542,116618704.582517,116618705.576861,116618706.560371,116618707.546777,116618708.532164,116618709.522321,116618710.500193,116618711.476605,116618712.457358,116618713.451811,116618714.450588,116618715.450418,116618716.450089,116618717.450205,116618718.440075,116618719.431451,116618720.424394,116618721.436622,116618722.464461,116618723.485412,116618724.502571,116618725.51384,116618726.577436,116618727.569394,116618728.549428,116618729.515119,116618730.486204,116618731.475279,116618732.458592,116618733.469996,116618734.481826,116618735.50435,116618736.50918,116618737.495804,116618738.485663,116618739.477721,116618740.460896,116618741.466258,116618742.465431,116618743.460576,116618744.448501,116618745.485574,116618746.48088,116618747.465286,116618748.45587,116618749.468242,116618750.481109,116618751.491505,116618752.498621,116618753.503528,116618754.507255,116618755.51832,116618756.519759,116618757.51957,116618758.519216,116618759.518712,116618760.518321,116618761.502115,116618762.479386,116618763.461498,116618764.433386,116618765.40204,116618766.454971,116618767.580991,116618768.537271,116618769.49314,116618770.448339,116618771.414085,116618772.401415,116618773.404959,116618774.424403,116618775.440654,116618776.438698,116618777.480475,116618778.482512,116618779.483109,116618780.46952,116618781.468309,116618782.466913,116618783.47469,116618784.532416,116618785.54687,116618786.548981,116618787.547131,116618788.553623,116618789.573867,116618790.567527,116618791.559423,116618792.552815,116618793.594503,116618794.585177,116618795.582654,116618796.570855,116618797.561668,116618798.554591,116618799.590399,116618800.581237,116618801.553046,116618802.521243,116618803.502388,116618804.48329,116618805.473885,116618806.486641,116618807.49989,116618808.514311,116618809.521344,116618810.520858,116618811.524277,116618812.527668,116618813.534465,116618814.535093,116618815.526422,116618816.502914,116618817.490284,116618818.476056,116618819.463525,116618820.46936,116618821.49037,116618822.507963,116618823.52128,116618824.511078,116618825.500733,116618826.49261,116618827.485977,116618828.477272,116618829.489771,116618830.501691,116618831.519218,116618832.52524,116618833.513109,116618834.492649,116618835.486287,116618836.477504,116618837.465758,116618838.471324,116618839.487134,116618840.500484,116618841.510654,116618842.518273,116618843.52422,116618844.528785,116618845.550295,116618846.989775,116618848.022556,116618849.041329,116618850.054819,116618851.063764,116618852.106073,116618853.106731,116618854.102973,116618855.079536,116618856.055538,116618857.05541,116618858.046371,116618859.031948,116618860.558789,116618861.531686,116618862.518523,116618863.498128,116618864.49558,116618865.492026,116618866.47887,116618867.46771,116618868.523161,116618869.534027,116618870.543251,116618871.550252,116618872.554729,116618873.55286,116618874.551833,116618875.54939,116618876.552302,116618877.550826,116618878.53883,116618879.514624,116618880.504437,116618881.499757,116618882.504178,116618883.505504,116618884.491712,116618885.477932,116618886.488287,116618887.54227,116618888.549171,116618889.549074,116618890.548701,116618891.548833,116618892.572735,116618893.595604,116618894.612614,116618895.647502,116618896.652534,116618897.654464,116618898.655456,116618899.647671,116618900.624602,116618901.603918,116618902.583448,116618903.548427,116618904.520135,116618905.498948,116618906.483216,116618907.478011,116618908.477068,116618909.4696,116618910.468146,116618911.472579,116618912.466378,116618913.460078,116618914.455596,116618915.451654,116618916.469145,116618917.489719,116618918.510464,116618919.521806,116618920.531012,116618921.512345,116618922.494142,116618923.480666,116618924.47097,116618925.475674,116618926.468822,116618927.449026,116618928.426851,116618929.421042,116618930.404192,116618931.402954,116618932.414721,116618933.423229,116618934.429311,116618935.433264,116618936.435977,116618937.451949,116618938.477015,116618939.497023,116618940.511507,116618941.527768,116618942.540776,116618943.544298,116618944.554255,116618945.554093,116618946.55282,116618947.552063,116618948.551928,116618949.535959,116618950.52463,116618951.507693,116618952.542778,116618953.525727,116618954.517332,116618955.515715,116618956.544382,116618957.540523,116618958.533694,116618959.530807,116618960.510377,116618961.504012,116618962.500177,116618963.486903,116618964.499503,116618965.489142,116618966.478694,116618967.493833,116618968.602294,116618969.578091,116618970.546569,116618971.535714,116618972.529341,116618973.510334,116618974.505405,116618975.51002,116618976.509667,116618977.497566,116618978.485856,116618979.4798,116618980.473829,116618981.472836,116618982.492528,116618983.510426,116618984.524167,116618985.534176,116618986.54172,116618987.591807,116618988.606747,116618989.59952,116618990.617216,116618991.616686,116618992.603482,116618993.592049,116618994.610436,116618995.60798,116618996.580025,116618997.547782,116618998.522785,116618999.514837,116619000.513737,116619001.510728,116619002.497755,116619003.496793,116619004.497131,116619005.486949,116619006.478529,116619007.48964,116619008.508671,116619009.523804,116619010.534522,116619011.555148,116619012.569009,116619013.576896,116619014.57469,116619015.571907,116619016.601312,116619017.572653,116619018.542882,116619019.520237,116619020.512267,116619021.501315,116619022.502055,116619023.493075,116619024.492863,116619025.48501,116619026.47864,116619027.491246,116619028.510576,116619029.526664,116619030.586815,116619031.59961,116619032.593702,116619033.587019,116619034.581667,116619035.584954,116619036.589949,116619037.029529,116619038.050091,116619039.086396,116619040.134703,116619041.153962,116619042.143095,116619043.129403,116619044.118921,116619045.1107,116619046.105421,116619047.1011,116619048.092516,116619049.067754,116619050.472159,116619051.541532,116619052.539641,116619053.492003,116619054.447731,116619055.234723,116619056.082342,116619057.029558,116619058.032362,116619059.009602,116619059.989562,116619061.058476,116619062.189007,116619063.306463,116619064.433087,116619065.5439,116619066.627911,116619067.695997,116619068.74737,116619069.781016,116619070.802184,116619071.82363,116619072.833748,116619073.839738,116619074.843952,116619075.609966,116619076.631188,116619077.629925,116619078.618214,116619079.608371,116619080.600436,116619081.594351,116619082.590211,116619083.586815,116619084.577402,116619085.552495,116619086.561666,116619087.534743,116619088.494284,116619089.460979,116619090.453334,116619091.433059,116619092.420205,116619093.429986,116619094.441702,116619095.450398,116619096.456611,116619097.470578,116619098.486019,116619099.484683,116619100.551527,116619101.55537,116619102.551791,116619103.57597,116619104.589944,116619105.589483,116619106.597605,116619107.595068,116619108.584272,116619109.559352,116619110.5476,116619111.543917,116619112.537039,116619113.524522,116619114.531961,116619115.526106,116619116.514955,116619117.504641,116619118.496949,116619119.490863,116619120.501789,116619121.55577,116619122.568237,116619123.573433,116619124.576348,116619125.621674,116619126.633314,116619127.649715,116619128.662206,116619129.674933,116619130.691937,116619131.694689,116619132.68241,116619133.658997,116619134.639105,116619135.606641,116619136.573157,116619137.547538,116619138.529196,116619139.530299,116619140.518254,116619141.508376,116619142.510977,116619143.512336,116619144.505064,116619145.514549,116619146.532314,116619147.555745,116619148.558306,116619149.541194,116619150.52309,116619151.512363,116619152.532022,116619153.522009,116619154.511339,116619155.519219,116619156.522372,116619157.523575,116619158.514223,116619159.516213,116619160.510018,116619161.503374,116619162.498033,116619163.493548,116619164.508168,116619165.529048,116619166.545651,116619167.832205,116619168.811895,116619169.847176,116619170.827074,116619171.574375,116619172.619366,116619173.636508,116619174.63118,116619175.669994,116619176.658603,116619177.644124,116619178.633457,116619179.625977,116619180.597884,116619181.57168,116619182.551482,116619183.551856,116619184.539846,116619185.569772,116619186.556107,116619187.54127,116619188.546442,116619189.560993,116619190.580505,116619191.598798,116619192.61109,116619193.639952,116619194.634805,116619195.609945,116619196.581104,116619197.558702,116619198.573425,116619199.558006,116619200.543231,116619201.545277,116619202.535226,116619203.537962,116619204.540653,116619205.531382,116619206.524247,116619207.52071,116619208.526405,116619209.546421,116619210.54839,116619211.561909,116619212.57423,116619213.583664,116619214.590389,116619215.595434,116619216.599121,116619217.628939,116619218.655308,116619219.675035,116619220.688579,116619221.697893,116619222.755261,116619223.754533,116619224.755091,116619225.747144,116619226.761206,116619227.76737,116619228.784899,116619229.80471,116619230.860951,116619231.86131,116619232.837458,116619233.818475,116619234.805003,116619235.819862,116619236.799528,116619237.780538,116619238.765867,116619239.755013,116619240.726998,116619241.697558,116619242.675151,116619243.658745,116619244.809151,116619245.791163,116619246.759735,116619247.724605,116619248.696161,116619249.675403,116619250.660695,116619251.649859,116619252.680264,116619253.686545,116619254.686309,116619255.687983,116619256.700409,116619257.688125,116619258.67149,116619259.660619,116619260.650775,116619261.661947,116619262.679536,116619263.711366,116619264.719472,116619265.72581,116619266.728627,116619267.729821,116619268.745266,116619269.744426,116619270.747082,116619271.744749,116619272.746468,116619273.743909,116619274.740524,116619275.78014,116619276.773051,116619277.762513,116619278.753569,116619279.743788,116619280.715789,116619281.701663,116619282.682728,116619283.677225,116619284.676931,116619285.675726,116619286.686933,116619287.675677,116619288.672858,116619289.661105,116619290.68675,116619291.70111,116619292.701379,116619293.707641,116619294.689287,116619295.684816,116619296.685733,116619297.68747,116619298.688199,116619299.675957,116619300.681359,116619301.716822,116619302.705124,116619303.703787,116619304.710403,116619305.716586,116619306.723438,116619307.726646,116619308.729596,116619309.743972,116619310.746823,116619311.74427,116619312.766845,116619313.763394,116619314.756016,116619315.750033,116619316.75118,116619317.752701,116619318.760043,116619319.755745,116619320.751554,116619321.747519,116619322.743927,116619323.727639,116619324.709129,116619325.691817,116619326.674593,116619327.671906,116619328.693727,116619329.692117,116619330.67744,116619331.684074,116619332.708042,116619333.742163,116619334.718709,116619335.69428,116619336.675828,116619337.672931,116619338.671662,116619339.660609,116619340.662035,116619341.653427,116619342.665757,116619343.657809,116619344.649602,116619345.653887,116619346.652102,116619347.669463,116619348.664367,116619349.702497,116619350.714371,116619351.720989,116619352.731433,116619353.734822,116619354.735902,116619355.736415,116619356.766275,116619357.842612,116619358.858862,116619359.859733,116619360.854193,116619361.828539,116619362.804479,116619363.828335,116619364.810217,116619365.791868,116619366.777814,116619367.765622,116619368.735778,116619369.714924,116619370.694775,116619371.720425,116619372.716099,116619373.696125,116619374.679083,116619375.668958,116619376.683513,116619377.706917,116619378.720484,116619379.733067,116619380.746027,116619381.746412,116619382.726211,116619383.708129,116619384.701967,116619385.700068,116619386.704988,116619387.697943,116619388.701718,116619389.686894,116619390.684851,116619391.698112,116619392.72234,116619393.745207,116619394.751881,116619395.751133,116619396.749135,116619397.747577,116619398.74687,116619399.74631,116619400.760997,116619401.764695,116619402.759992,116619403.755766,116619404.763936,116619405.760992,116619406.762167,116619407.764405,116619408.760225,116619409.755941,116619410.801972,116619411.770295,116619412.737461,116619413.719449,116619414.737793,116619415.73538,116619416.713042,116619417.702468,116619418.695009,116619419.681602,116619420.677543,116619421.667075,116619422.680182,116619423.696773,116619424.7101,116619425.725292,116619426.731311,116619427.735317,116619428.7271,116619429.707403,116619430.715288,116619431.700751,116619432.685206,116619433.684043,116619434.676922,116619435.667667,116619436.686291,116619437.679315,116619438.675915,116619439.674295,116619440.674574,116619441.667269,116619442.68051,116619443.697753,116619444.711536,116619445.721223,116619446.729167,116619447.740895,116619448.794948,116619449.791948,116619450.804709,116619451.819685,116619452.832224,116619453.885221,116619454.887048,116619455.881798,116619456.8552,116619457.828621,116619458.808134,116619459.792355,116619460.78168,116619461.784333,116619462.75933,116619463.730037,116619464.706859,116619465.676748,116619466.670579,116619467.66711,116619468.666944,116619469.671267,116619470.664833,116619471.658674,116619472.654418,116619473.651363,116619474.648982,116619475.652588,116619476.656017,116619477.655831,116619478.684436,116619479.703714,116619480.717848,116619481.727233,116619482.734404,116619483.743281,116619484.780642,116619485.785383,116619486.778324,116619487.772166,116619488.786547,116619489.813918,116619490.829815,116619491.816377,116619492.800538,116619493.787855,116619494.778908,116619495.772219,116619496.763447,116619497.738877,116619498.717427,116619499.698635,116619500.69402,116619501.687907,116619502.677771,116619503.675152,116619504.677804,116619505.670534,116619506.66977,116619507.665013,116619508.67752,116619509.685096,116619510.702202,116619511.716521,116619512.726836,116619513.735217,116619514.740912,116619515.758552,116619516.799124,116619517.833812,116619518.84737,116619519.857401,116619520.837915,116619521.816982,116619522.80083,116619523.78904,116619524.780246,116619525.761787,116619526.734764,116619527.712196,116619528.695359,116619529.662251,116619530.631258,116619531.616234,116619532.601663,116619533.587525,116619534.576104,116619535.581928,116619536.608432,116619537.657934,116619538.689076,116619539.730115,116619540.769386,116619541.803169,116619542.82472,116619543.846541,116619544.857444,116619545.86373,116619546.867378,116619547.868506,116619548.846874,116619549.825527,116619550.808755,116619551.783792,116619552.751924,116619553.747983,116619554.752178,116619555.755309,116619556.763581,116619557.764627,116619558.765379,116619559.761364,116619560.737767,116619561.724015,116619562.708804,116619563.694882,116619564.684392,116619565.69698,116619566.714382,116619567.737699,116619568.747658,116619569.737757,116619570.71848,116619571.716662,116619572.727947,116619573.738497,116619574.751197,116619575.755808,116619576.758634,116619577.747315,116619578.726176,116619579.711185,116619580.759273,116619581.741946,116619582.744198,116619583.773613,116619584.77789,116619585.776039,116619586.774446,116619587.772734,116619588.777746,116619589.801457,116619590.823054,116619591.842953,116619592.854851,116619593.862598,116619594.868347,116619595.856962,116619596.835728,116619597.818872,116619598.783763,116619599.752171,116619600.727879,116619601.717546,116619602.703006,116619603.69748,116619604.693121,116619605.701934,116619606.697663,116619607.711674,116619608.701906,116619609.711874,116619610.727106,116619611.748946,116619612.757251,116619613.758915,116619614.738539,116619615.726407,116619616.721383,116619617.751344,116619618.746387,116619619.727847,116619620.710739,116619621.698083,116619622.771394,116619623.785365,116619624.769646,116619625.781017,116619626.772423,116619627.771943,116619628.773978,116619629.760292,116619630.738203,116619631.74247,116619632.751039,116619633.762231,116619634.76728,116619635.775396,116619636.776618,116619637.782218,116619638.789507,116619639.794274,116619640.80671,116619641.802325,116619642.81443,116619643.806711,116619644.798841,116619645.802399,116619646.800083,116619647.799644,116619648.794694,116619649.791706,116619650.764052,116619651.746693,116619652.750479,116619653.758162,116619654.782564,116619655.765946,116619656.772415,116619657.772433,116619658.754423,116619659.737025,116619660.718663,116619661.716372,116619662.704837,116619663.694914,116619664.707943,116619665.726202,116619666.741722,116619667.758077,116619668.812074,116619669.810921,116619670.807032,116619671.809294,116619672.811257,116619673.822128,116619674.815139,116619675.806519,116619676.803938,116619677.815623,116619678.835825,116619679.854727,116619680.866715,116619681.872607,116619682.854159,116619683.834804,116619684.824452,116619685.81727,116619686.80877,116619687.848673,116619688.842981,116619689.830772,116619690.82207,116619691.811656,116619692.846227,116619693.835366,116619694.817815,116619695.784806,116619696.755576,116619697.733165,116619698.717177,116619699.705304,116619700.680912,116619701.659538,116619702.652757,116619703.6567,116619704.661345,116619705.66727,116619706.673409,116619707.707531,116619708.703709,116619709.696903,116619710.703622,116619711.731814,116619712.760111,116619713.775351,116619714.783944,116619715.792177,116619716.77633,116619717.758909,116619718.752321,116619719.771262,116619720.754162,116619721.73675,116619722.723602,116619723.724261,116619724.738645,116619725.751338,116619726.760605,116619727.767713,116619728.772546,116619729.776731,116619730.80179,116619731.82983,116619732.849689,116619733.852465,116619734.838578,116619735.824778,116619736.814506,116619737.807148,116619738.801321,116619739.785116,116619740.759055,116619741.73744,116619742.720017,116619743.685882,116619744.659575,116619745.65236,116619746.649855,116619747.648327,116619748.673783,116619749.679332,116619750.680569,116619751.681294,116619752.681351,116619753.681008,116619754.705779,116619755.728951,116619756.746654,116619757.7589,116619758.772316,116619759.800891,116619760.812425,116619761.820198,116619762.81552,116619763.809588,116619764.813724,116619765.815809,116619766.817235,116619767.814233,116619768.808564,116619769.809952,116619770.830411,116619771.849703,116619772.907735,116619773.914929,116619774.913788,116619775.911571,116619776.888263,116619777.873537,116619778.853925,116619779.83788,116619780.802505,116619781.770615,116619782.724489,116619783.686661,116619784.733229,116619785.772846,116619786.740097,116619787.727598,116619788.719322,116619789.711724,116619790.705582,116619791.700853,116619792.706767,116619793.72728,116619794.745697,116619795.760365,116619796.775031,116619797.791636,116619798.796131,116619799.796935,116619800.80651,116619801.864703,116619802.857597,116619803.851622,116619804.846681,116619805.836127,116619806.811498,116619807.792339,116619808.786273,116619809.796746,116619810.806781,116619811.807186,116619812.807051,116619813.805229,116619814.812689,116619815.817229,116619816.817925,116619817.81439,116619818.81304,116619819.845829,116619820.839802,116619821.835117,116619822.832769,116619823.827836,116619824.823326,116619825.822813,116619826.818347,116619827.819423,116619828.821875,116619829.81927,116619830.832071,116619831.853108,116619832.862537,116619833.848881,116619834.836558,116619835.826792,116619836.819605,116619837.814568,116619838.799646,116619839.773798,116619840.751514,116619841.746114,116619842.733106,116619843.72365,116619844.715547,116619845.709194,116619846.704215,116619847.722561,116619848.749983,116619849.765984,116619850.775782,116619851.770157,116619852.751709,116619853.742238,116619854.735932,116619855.724983,116619856.720771,116619857.730501,116619858.739537,116619859.73013,116619860.720134,116619861.714681,116619862.720309,116619863.739675,116619864.756522,116619865.768932,116619866.778067,116619867.784998,116619868.67436,116619869.691051,116619870.70656,116619871.715692,116619872.70776,116619873.688558,116619874.671477,116619875.659206,116619876.626537,116619877.597219,116619878.575563,116619879.567202,116619880.568631,116619881.557536,116619882.547453,116619883.580014,116619884.585571,116619885.584033,116619886.593756,116619887.602517,116619888.609283,116619889.622402,116619890.630275,116619891.636063,116619892.633908,116619893.631762,116619894.620982,116619895.608102,116619896.585718,116619897.575623,116619898.570659,116619899.557803,116619900.54725,116619901.571788,116619902.56174,116619903.551252,116619904.543231,116619905.539677,116619906.534775,116619907.530121,116619908.53366,116619909.555287,116619910.574234,116619911.588247,116619912.644812,116619913.647317,116619914.644185,116619915.665356,116619916.699222,116619917.693565,116619918.677917,116619919.675913,116619920.664193,116619921.654555,116619922.666916,116619923.660282,116619924.652225,116619925.687855,116619926.679245,116619927.666825,116619928.656286,116619929.628363,116619930.600592,116619931.580333,116619932.571573,116619933.559122,116619934.54889,116619935.558361,116619936.562681,116619937.571177,116619938.590772,116619939.597872,116619940.605575,116619941.61794,116619942.631201,116619943.638079,116619944.666594,116619945.661107,116619946.634429,116619947.606483,116619948.584259,116619949.567937,116619950.575826,116619951.579542,116619952.567743,116619953.556116,116619954.547267,116619955.547917,116619956.566775,116619957.584076,116619958.608941,116619959.630183,116619960.691909,116619961.685,116619962.671908,116619963.655939,116619964.633398,116619965.622386,116619966.619624,116619967.625863,116619968.62834,116619969.63698,116619970.628802,116619971.614035,116619972.609354,116619973.60072,116619974.599064,116619975.607424,116619976.62199,116619977.626453,116619978.619922,116619979.612443,116619980.610304,116619981.623246,116619982.627467,116619983.606046,116619984.585345,116619985.58056,116619986.581323,116619987.581256,116619988.579378,116619989.585966,116619990.573217,116619991.57494,116619992.574795,116619993.588877,116619994.60906,116619995.617933,116619996.626805,116619997.607558,116619998.596212,116619999.580861,116620000.589517,116620001.610185,116620002.624691,116620003.629043,116620004.664008,116620005.670001,116620006.663264,116620007.657692,116620008.653099,116620009.655463,116620010.651522,116620011.700112,116620012.691352,116620013.67817,116620014.645499,116620015.615225,116620016.592324,116620017.60151,116620018.589968,116620019.58532,116620020.579787,116620021.568203,116620022.566455,116620023.582618,116620024.598184,116620025.609859,116620026.6263,116620027.638389,116620028.640573,116620029.673693,116620030.676585,116620031.67633,116620032.675608,116620033.685756,116620034.66591,116620035.664253,116620036.658786,116620037.654371,116620038.65097,116620039.640075,116620040.614933,116620041.593348,116620042.585857,116620043.57922,116620044.579471,116620045.579487,116620046.571577,116620047.563419,116620048.576897,116620049.594665,116620050.638496,116620051.644587,116620052.644724,116620053.644244,116620054.656633,116620055.68781,116620056.711574,116620057.708439,116620058.702268,116620059.688552,116620060.677312,116620061.668423,116620062.661588,116620063.708416,116620064.698776,116620065.676341,116620066.642312,116620067.648935,116620068.634612,116620069.610252,116620070.601336,116620071.585933,116620072.573288,116620073.569434,116620074.5618,116620075.555614,116620076.559188,116620077.602131,116620078.591898,116620079.589021,116620080.586733,116620081.599729,116620082.619132,116620083.628013,116620084.6155,116620085.596944,116620086.592685,116620087.586969,116620088.58391,116620089.576497,116620090.574588,116620091.587862,116620092.603141,116620093.615547,116620094.624538,116620095.659941,116620096.664026,116620097.665702,116620098.667194,116620099.708471,116620100.727415,116620101.736525,116620102.731578,116620103.712747,116620104.695769,116620105.66225,116620106.630562,116620107.606663,116620108.638033,116620109.619271,116620110.59912,116620111.584187,116620112.592881,116620113.607507,116620114.619491,116620115.634173,116620116.640022,116620117.646379,116620118.656529,116620119.656294,116620120.635875,116620121.611998,116620122.593199,116620123.579513,116620124.569479,116620125.555275,116620126.527473,116620127.562872,116620128.557459,116620129.529554,116620130.506228,116620131.505345,116620132.514933,116620133.523337,116620134.529744,116620135.536307,116620136.539673,116620137.548242,116620138.568655,116620139.591346,116620140.608728,116620141.621735,116620142.630904,116620143.645586,116620144.64879,116620145.650581,116620146.680087,116620147.685922,116620148.687662,116620149.680028,116620150.672821,116620151.659139,116620152.631973,116620153.61776,116620154.609837,116620155.626355,116620156.61734,116620157.613513,116620158.597618,116620159.6027,116620160.615512,116620161.637491,116620162.644267,116620163.62858,116620164.623033,116620165.616386,116620166.636624,116620167.625115,116620168.606852,116620169.602771,116620170.590285,116620171.589138,116620172.589333,116620173.597702,116620174.612149,116620175.624264,116620176.643959,116620177.648954,116620178.628599,116620179.625653,116620180.617866,116620181.60134,116620182.596337,116620183.587141,116620184.589798,116620185.587366,116620186.581964,116620187.816821,116620188.611034,116620189.648411,116620190.62973,116620191.559301,116620192.489027,116620193.381209,116620194.300143,116620195.234974,116620196.187235,116620197.154379,116620198.129,116620199.13186,116620200.11071,116620201.091252,116620202.105935,116620203.100005,116620204.089606,116620205.086191,116620206.100854,116620207.117382,116620208.161866,116620209.210065,116620210.256696,116620211.276646,116620212.289818,116620213.300788,116620214.321613,116620215.336305,116620216.39533,116620217.449293,116620218.427736,116620219.399573,116620220.385347,116620221.367548,116620222.355863,116620223.34967,116620224.406818,116620225.41398,116620226.413886,116620227.413242,116620228.42099,116620229.42899,116620230.436356,116620231.452959,116620232.467924,116620233.482932,116620234.493703,116620235.501914,116620236.510666,116620237.512274,116620238.512304,116620239.502462,116620240.536266,116620241.538331,116620242.509454,116620243.483709,116620244.464411,116620245.479867,116620246.466208,116620247.45182,116620248.44138,116620249.433656,116620250.428178,116620251.424667,116620252.432397,116620253.430222,116620254.471134,116620255.461873,116620256.449821,116620257.440939,116620258.433701,116620259.457249,116620260.449541,116620261.440349,116620262.432942,116620263.427744,116620264.423797,116620265.420871,116620266.418666,116620267.452546,116620268.447196,116620269.438931,116620270.432325,116620271.427339,116620272.428285,116620273.4479,116620274.465666,116620275.485705,116620275.873446,116620275.880144,116620275.884062,116620275.887493,116620275.891094,116620276.549664,116620277.565558,116620278.579629,116620279.593032,116620280.601122,116620281.606134,116620282.609579,116620283.612055,116620284.614068,116620285.615177,116620286.626159,116620287.639874,116620288.642251,116620289.637694,116620290.633599,116620291.629778,116620292.626955,116620293.625163,116620294.623804,116620295.62268,116620296.621826,116620297.621369,116620298.62117,116620299.620981,116620300.618125,116620301.602022,116620302.587664,116620303.581195,116620304.566276,116620305.552934,116620306.550443,116620307.542294,116620308.547133,116620309.541027,116620310.534447,116620311.529398,116620312.525701,116620313.523355,116620314.521664,116620315.520657,116620316.530697,116620317.530349,116620318.527681,116620319.524934,116620320.52301,116620321.522075,116620322.52308,116620323.528962,116620324.527663,116620325.527456,116620326.525204,116620327.522957,116620328.521357,116620329.524178,116620330.525583,116620331.524404,116620332.522558,116620333.537098,116620334.557939,116620335.574802,116620336.587211,116620337.633873,116620338.632042,116620339.605309,116620340.582284,116620341.564614,116620342.551962,116620343.542585,116620344.53587,116620345.531101,116620346.52782,116620347.525165,116620348.522979,116620349.521385,116620350.520379,116620351.520022,116620352.519713,116620353.519319,116620354.518699,116620355.518784,116620356.51862,116620357.518067,116620358.518038,116620359.518204,116620360.527742,116620361.550709,116620362.571169,116620363.585642,116620364.595774,116620365.603277,116620366.608598,116620367.612547,116620368.615363,116620369.617261,116620370.640405,116620371.684125,116620372.737035,116620373.767932,116620374.795008,116620375.816391,116620376.8252,116620377.829937,116620378.833797,116620379.826221,116620380.047639,116620380.304261,116620380.555906,116620380.897218,116620381.350434,116620381.957719,116620382.655767,116620383.400351,116620384.20639,116620385.067147,116620385.964715,116620386.880877,116620387.926205,116620389.00822,116620389.927655,116620390.827288,116620391.746557,116620392.686896,116620393.644162,116620394.612874,116620395.590682,116620396.574272,116620397.562082,116620398.553771,116620399.838135,116620400.736054,116620401.634688,116620402.55612,116620403.526682,116620404.48177,116620405.445833,116620406.41906,116620407.410285,116620408.395038,116620409.352315,116620410.322332,116620411.302618,116620412.327424,116620413.315479,116620414.35806,116620415.439606,116620416.493286,116620417.547777,116620418.522872,116620419.507952,116620420.541475,116620421.62669,116620422.722759,116620423.80188,116620424.877574,116620425.909547,116620426.909636,116620427.90286,116620428.873549,116620429.825041,116620430.800513,116620431.768288,116620432.739881,116620433.699041,116620434.664129,116620435.637994,116620436.618851,116620437.60496,116620438.6047,116620439.619981,116620440.633707,116620441.681606,116620442.684791,116620443.682793,116620444.687663,116620445.73032,116620446.722169,116620447.710059,116620448.70048,116620449.693616,116620450.688411,116620451.685243,116620452.682548,116620453.680272,116620454.678425,116620455.706603,116620456.712382,116620457.742354,116620458.731948,116620459.734498,116620460.720981,116620461.722458,116620462.717241,116620463.707171,116620464.698549,116620465.694682,116620466.703619,116620467.737547,116620468.790308,116620469.893427,116620470.932619,116620471.931886,116620472.924206,116620473.894524,116620474.866578,116620475.845162,116620476.837152,116620477.832954,116620478.811133,116620479.779438,116620480.761771,116620481.74814,116620482.735263,116620483.737193,116620484.724882,116620485.713975,116620486.706099,116620487.699726,116620488.695208,116620489.69159,116620490.689299,116620491.687366,116620492.686797,116620493.686135,116620494.685566,116620495.684943,116620496.684605,116620497.684042,116620498.68369,116620499.683957,116620500.683883,116620501.683359,116620502.683166,116620503.68316,116620504.683417,116620505.683482,116620506.685807,116620507.691334,116620508.694991,116620509.693311,116620510.701136,116620511.710158,116620512.706021,116620513.71057,116620514.729087,116620515.745736,116620516.758332,116620517.792034,116620518.867338,116620519.878537,116620520.862329,116620521.8448,116620522.830981,116620523.828412,116620524.824537,116620525.81733,116620526.810516,116620527.800781,116620528.80297,116620529.778414,116620530.754763,116620531.736823,116620532.723177,116620533.713638,116620534.707316,116620535.702335,116620536.698197,116620537.695627,116620538.693631,116620539.709432,116620540.74037,116620541.731794,116620542.720505,116620543.711545,116620544.705282,116620545.700497,116620546.697649,116620547.695048,116620548.70539,116620549.717794,116620550.712507,116620551.706639,116620552.701906,116620553.701707,116620554.707363,116620555.704815,116620556.713259,116620557.732953,116620558.74991,116620559.762497,116620560.771729,116620561.778586,116620562.783302,116620563.786899,116620564.789563,116620565.791271,116620566.792598,116620567.80446,116620568.787958,116620569.777517,116620570.780266,116620571.770632,116620572.763775,116620573.745681,116620574.730434,116620575.718932,116620576.710864,116620577.704873,116620578.700609,116620579.697244,116620580.695027,116620581.693323,116620582.692139,116620583.691158,116620584.69062,116620585.690294,116620586.689985,116620587.701889,116620588.72587,116620589.746411,116620590.776569,116620591.784629,116620592.789332,116620593.79218,116620594.800208,116620595.800758,116620596.799365,116620597.776154,116620598.785024,116620599.778503,116620600.779446,116620601.78053,116620602.762206,116620603.744413,116620604.730711,116620605.720358,116620606.712218,116620607.70684,116620608.702737,116620609.710523,116620610.731525,116620611.749701,116620612.766404,116620613.776458,116620614.782998,116620615.787266,116620616.790709,116620617.79316,116620618.795091,116620619.806619,116620620.816851,116620621.821742,116620622.820541,116620623.792359,116620624.777938,116620625.756009,116620626.739041,116620627.726068,116620628.716816,116620629.709836,116620630.704924,116620631.7018,116620632.699589,116620633.697342,116620634.695722,116620635.69519,116620636.694258,116620637.693357,116620638.692664,116620639.692361,116620640.704804,116620641.703099,116620642.712995,116620643.70931,116620644.705435,116620645.702581,116620646.700736,116620647.705217,116620648.704076,116620649.701417,116620650.703582,116620651.704177,116620652.702351,116620653.700285,116620654.698306,116620655.716559,116620656.738696,116620657.755783,116620658.781975,116620659.793232,116620660.79604,116620661.797519,116620662.799107,116620663.801726,116620664.802264,116620665.802511,116620666.802067,116620667.802232,116620668.818834,116620669.821647,116620670.825684,116620671.840394,116620672.840867,116620673.820626,116620674.792633,116620675.798544,116620676.804668,116620677.781951,116620678.768499,116620679.289425,116620680.255246,116620681.33066,116620682.39487,116620683.431018,116620684.456272,116620685.474433,116620686.487461,116620687.543562,116620688.544295,116620689.53926,116620690.534613,116620691.53108,116620692.529637,116620693.531119,116620694.538739,116620695.551146,116620696.57427,116620697.591733,116620698.656631,116620699.657286,116620700.675646,116620701.69336,116620702.70608,116620703.715584,116620704.738834,116620705.732839,116620706.712552,116620707.702707,116620708.685909,116620709.680677,116620710.66885,116620711.658673,116620712.651409,116620713.645731,116620714.651809,116620715.662042,116620716.65453,116620717.637143,116620718.609237,116620719.587942,116620720.609945,116620721.631496,116620722.646894,116620723.672989,116620724.719469,116620725.745306,116620726.743301,116620727.72858,116620728.713639,116620729.70648,116620730.696915,116620731.684244,116620732.673585,116620733.682424,116620734.689456,116620735.694832,116620736.709589,116620737.708744,116620738.761093,116620739.819328,116620740.901621,116620741.960492,116620742.976621,116620744.020156,116620745.016164,116620746.020078,116620746.999091,116620747.948469,116620748.864282,116620749.827704,116620750.776274,116620751.719652,116620752.672395,116620753.621821,116620754.574129,116620755.559672,116620756.580164,116620757.598321,116620758.627964,116620759.674851,116620760.740689,116620761.783583,116620762.813404,116620763.831533,116620764.829944,116620765.814723,116620766.800974,116620767.773007,116620768.787899,116620769.75858,116620770.717726,116620771.674229,116620772.653419,116620773.648346,116620774.625592,116620775.61718,116620776.625269,116620777.633305,116620778.639446,116620779.694752,116620780.706035,116620781.695724,116620782.685355,116620783.677875,116620784.671842,116620785.66956,116620786.690678,116620787.720954,116620788.728134,116620789.752946,116620790.972319,116620792.088149,116620793.009831,116620793.913129,116620794.826707,116620795.761198,116620796.713536,116620797.693861,116620798.691688,116620799.692106,116620800.692733,116620801.69298,116620802.711079,116620803.735445,116620804.754008,116620805.767877,116620806.797815,116620807.799261,116620808.782752,116620809.768743,116620810.750092,116620811.735343,116620812.724041,116620813.716033,116620814.710164,116620815.706049,116620816.703179,116620817.701196,116620818.699551,116620819.698396,116620820.697137,116620821.720546,116620822.711785,116620823.706487,116620824.703438,116620825.713218,116620826.721948,116620827.717681,116620828.712064,116620831.827829,116620832.755698,116620833.649175,116620834.521363,116620835.401161,116620836.342922,116620837.300074,116620838.250776,116620839.207082,116620840.17002,116620841.186031,116620842.234767,116620843.351729,116620844.376825,116620845.316329,116620846.280496,116620847.284858,116620848.382957,116620849.409859,116620850.422323,116620851.443385,116620852.508796,116620853.532767,116620854.581477,116620855.629653,116620856.665664,116620857.703033,116620858.721407,116620859.714685,116620860.70384,116620861.69603,116620862.68671,116620863.689933,116620864.683247,116620865.723313,116620866.724739,116620867.709367,116620868.695488,116620869.685021,116620870.810444,116620871.712023,116620872.622641,116620873.568727,116620874.517286,116620875.478528,116620876.475919,116620877.475865,116620878.468886,116620879.495965,116620880.489664,116620881.477119,116620882.486949,116620883.492922,116620884.515276,116620885.546174,116620886.5449,116620887.539686,116620888.529152,116620889.52999,116620890.542313,116620891.564084,116620892.185357,116620892.194022,116620892.198595,116620892.202821,116620892.207122,116620892.214465,116620892.334142,116620894.393185,116620897.4182,116620899.693036,116620901.657061,116620902.669575,116620903.545589,116620904.42847,116620905.338258,116620906.272584,116620907.266753,116620908.264852,116620909.447331,116620910.32362,116620911.250892,116620912.227356,116620913.244952,116620914.304379,116620915.382048,116620916.453598,116620917.507889,116620918.553707,116620919.581933,116620920.637413,116620921.625888,116620922.605919,116620923.590445,116620924.578593,116620925.572866,116620926.566611,116620927.562616,116620928.556555,116620929.557185,116620930.55555,116620931.553551,116620932.552098,116620933.550808,116620934.566332,116620935.588968,116620936.611851,116620937.624244,116620938.626325,116620939.625472,116620940.62863,116620941.609834,116620942.593445,116620943.581197,116620944.577875,116620945.570609,116620946.563959,116620947.558871,116620948.555431,116620949.552874,116620950.568015,116620951.610924,116620952.61112,116620953.596162,116620954.583051,116620955.573643,116620956.56653,116620957.561356,116620958.548973,116620959.523973,116620960.513514,116620961.496321,116620962.509983,116620963.508479,116620964.507419,116620965.517911,116620966.526519,116620967.532809,116620968.537208,116620969.540327,116620970.560075,116620971.566554,116620972.567435,116620973.582752,116620974.602318,116620975.617078,116620976.630604,116620977.638591,116620978.643725,116620979.663736,116620980.671481,116620981.66901,116620982.666105,116620983.66365,116620984.661837,116620985.66037,116620986.659357,116620987.645393,116620988.621506,116620989.60206,116620990.587594,116620991.586018,116620992.586609,116620993.584099,116620994.575846,116620995.568913,116620996.563642,116620997.582837,116620998.607294,116620999.603086,116621000.589988,116621001.58515,116621002.584892,116621003.591393,116621004.611565,116621005.616862,116621006.602142,116621007.589068,116621008.579389,116621009.577949,116621010.571939,116621011.575673,116621012.576196,116621013.571204,116621014.579934,116621015.604397,116621016.602187,116621017.62175,116621018.611322,116621019.650215,116621020.942735,116621021.965464,116621022.878799,116621023.797814,116621024.742447,116621025.706137,116621026.679109,116621027.656238,116621028.638439,116621029.625376,116621030.623985,116621031.641101,116621032.656413,116621033.672864,116621034.680783,116621035.668668,116621036.649601,116621037.634334,116621038.622837,116621039.614787,116621040.619895,116621041.621975,116621042.615281,116621043.61156,116621044.641162,116621045.620135,116621046.606965,116621047.601949,116621048.59917,116621049.59683,116621050.596002,116621051.637817,116621052.645401,116621053.664138,116621054.667942,116621055.678909,116621056.68608,116621057.690529,116621058.671695,116621059.651326,116621060.68916,116621061.682112,116621062.660904,116621063.643429,116621064.638195,116621065.631993,116621066.623169,116621067.615472,116621068.609944,116621069.615426,116621070.635468,116621071.65374,116621072.667543,116621073.677361,116621074.684057,116621075.689,116621076.716033,116621077.74923,116621078.755137,116621079.744161,116621080.710686,116621081.680408,116621082.657698,116621083.624971,116621084.602219,116621085.273592,116621086.397663,116621087.504824,116621088.585571,116621089.645489,116621090.687877,116621091.739953,116621092.786384,116621093.830265,116621094.855949,116621095.894091,116621096.886336,116621097.866641,116621098.850199,116621099.599272,116621100.599961,116621101.599394,116621102.606539,116621103.604596,116621104.602603,116621105.611614,116621106.611886,116621107.619888,116621108.615056,116621109.609935,116621110.616221,116621111.613709,116621112.624858,116621113.618924,116621114.612745,116621115.625649,116621116.645709,116621117.670429,116621118.689465,116621119.695415,116621120.699109,116621121.700625,116621122.705914,116621123.778744,116621124.803476,116621125.805334,116621126.784584,116621127.764524,116621128.734593,116621129.70013,116621130.673035,116621131.653075,116621132.638472,116621133.60986,116621134.597634,116621135.590878,116621136.592378,116621137.608865,116621138.60918,116621139.607432,116621140.607512,116621141.605076,116621142.603497,116621143.609762,116621144.61563,116621145.613372,116621146.610423,116621147.607835,116621148.623188,116621149.888706,116621150.880111,116621151.867235,116621152.899657,116621153.91174,116621154.918306,116621155.929448,116621156.932537,116621157.933123,116621158.93939,116621159.939317,116621160.938443,116621161.937991,116621162.941257,116621163.968554,116621164.98939,116621166.011817,116621166.998484,116621167.980596,116621168.944662,116621169.912176,116621170.887547,116621171.869611,116621172.856664,116621173.847535,116621174.878099,116621175.86856,116621176.856728,116621177.851973,116621178.84607,116621179.840152,116621180.851553,116621181.869494,116621182.889308,116621183.634015,116621184.654657,116621185.669434,116621186.658435,116621187.645587,116621188.635614,116621189.638163,116621190.632582,116621191.626349,116621192.62893,116621193.651926,116621194.662319,116621195.663457,116621196.676025,116621197.694341,116621198.70872,116621199.763781,116621200.767537,116621201.754332,116621202.721414,116621203.692697,116621204.675247,116621205.682134,116621206.669036,116621207.654401,116621208.645748,116621209.658461,116621210.718174,116621211.725512,116621212.734921,116621213.734272,116621214.731216,116621215.734658,116621216.741748,116621217.743726,116621218.740111,116621219.736057,116621220.782607,116621221.786624,116621222.769966,116621223.743436,116621224.711603,116621225.694914,116621226.685531,116621227.687038,116621228.69616,116621229.704174,116621230.779027,116621231.7818,116621232.769707,116621233.764684,116621234.804053,116621235.799969,116621236.79309,116621237.788189,116621238.783086,116621239.770468,116621240.774456,116621241.815843,116621242.799448,116621243.781078,116621244.766697,116621245.755351,116621246.724575,116621247.749849,116621248.722641,116621249.706664,116621250.689764,116621251.673144,116621252.66126,116621253.654325,116621254.671326,116621255.717601,116621256.725815,116621257.728014,116621258.738504,116621259.73886,116621260.737099,116621261.735481,116621262.73419,116621263.73606,116621264.72441,116621265.718236,116621266.727921,116621267.711911,116621268.698599,116621269.691251,116621270.689723,116621271.69953,116621272.708483,116621273.714928,116621274.728553,116621275.730681,116621276.922191,116621277.945837,116621278.943493,116621279.921251,116621280.920825,116621281.904077,116621282.887903,116621283.875231,116621284.889214,116621285.914199,116621286.927306,116621287.934823,116621288.933582,116621289.916295,116621290.73779,116621291.742499,116621292.720096,116621293.705631,116621294.68834,116621295.709546,116621296.719523,116621297.736811,116621298.749271,116621299.751268,116621300.750979,116621301.751414,116621302.770244,116621303.792438,116621304.812866,116621360.253257,116621363.79128,116621419.25991,116621571.322095,116621646.666708,116621647.597745,116621648.513247,116621722.004499,116621723.198647,116621796.423673,116621796.430715,116621796.434787,116621796.43892,116621796.442639,116621796.452672,116621796.686289,116621874.01386,116621878.090375,116621878.177083,116621878.264516,116621967.06374,116622045.676309,116622046.48675,116622115.848648,116622118.4918,116622119.842225,116622121.054104,116622122.138077,116622123.158949,116622124.168463,116622125.174651,116622126.17883],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[4861,4156,1598,2835,1910,1679,1482,1271,1044,919,842,781,764,724,711,715,748,733,786,847,867,900,921,940,946,960,992,975,994,1034,1023,1016,1022,1029,1024,1037,1011,1007,1025,1023,1081,1031,991,991,993,1016,1016,1011,1053,1014,1006,992,991,998,1026,1025,1012,1014,1001,999,990,979,981,1086,1001,991,992,994,995,995,1010,1020,1017,1012,1048,1005,1020,1017,1019,1009,1005,979,981,985,989,992,1016,993,2066,1708,1497,1374,1239,1175,855,495,499,599,681,764,840,906,932,927,972,1037,1034,1049,1039,1029,1021,1047,1041,1032,1043,1035,1026,1016,1012,996,977,967,963,971,981,985,1020,1005,984,984,989,1013,1032,1022,1004,998,998,1010,1070,1011,1003,1015,1043,1009,996,1005,985,995,998,1046,992,989,992,992,994,987,988,991,980,985,989,980,984,1001,989,990,993,1017,1020,1003,988,971,988,1036,988,977,1005,1000,1017,989,1001,1011,1013,997,1019,1002,1000,991,992,1012,1000,1049,1022,1002,982,976,991,984,996,1019,1005,1014,1005,988,1000,983,984,988,992,991,981,972,978,996,998,986,1001,1002,1002,1002,991,989,993,1017,1016,1015,1011,1005,1028,1011,1019,1016,1020,1013,1004,1001,1013,1022,994,991,1021,1053,1035,1023,1062,1039,1007,991,970,968,953,959,953,944,930,935,931,913,919,1011,947,951,991,1036,1060,1069,1064,1073,1031,1030,1013,1030,1020,1020,995,982,1004,1009,1017,1005,1001,1012,1011,997,996,991,981,976,982,986,989,992,1007,970,973,991,983,1001,1011,1016,994,989,983,986,989,1006,1001,1003,994,992,993,994,996,1006,1005,1006,1018,1015,1013,1010,1004,1011,1007,998,999,1003,1033,1018,1011,1015,1009,1010,999,998,999,979,976,981,1000,995,998,996,989,991,993,979,973,1038,991,988,977,993,1008,1008,1017,1010,1007,1007,996,995,996,1006,1007,1005,1000,1041,992,987,1001,1013,1010,1008,1005,1013,1003,1000,1000,1000,982,977,982,986,990,992,978,973,990,983,1005,1000,999,986,1008,988,989,1006,1016,1013,1010,1015,1007,1002,1011,999,990,975,986,982,994,1019,1025,1010,1002,1000,1000,1000,1000,1000,1016,1023,1026,1022,1017,1001,994,1027,971,972,964,962,977,988,982,994,995,986,998,990,993,1003,1017,1022,1064,1008,1003,993,1000,991,992,995,995,973,976,991,997,987,1001,990,1039,1023,990,999,1005,1004,1002,1002,1002,1013,1014,1020,1016,1018,1014,1011,1008,1038,992,989,968,973,979,1027,984,982,993,976,1011,957,964,971,990,993,1496,972,973,958,944,950,981,998,1024,1017,1046,1102,1119,1082,1059,1043,1063,1025,1009,1005,1003,1000,972,955,955,975,964,963,968,977,967,988,1034,1223,1222,1017,895,886,923,932,949,962,973,1002,1006,1004,1004,1003,1003,1012,1019,1018,1013,1009,1006,1004,1003,1018,1009,1007,993,1008,1017,1014,1010,1016,1022,1013,1005,993,994,995,996,997,975,969,961,968,982,992,992,986,989,991,1005,1017,1014,1010,1007,1012,1033,1018,1020,1002,992,997,1061,1010,985,972,977,984,987,999,1016,1010,1008,984,994,988,994,992,993,1020,1018,1015,1033,1028,1022,1016,1011,1012,1005,1002,1002,1000,990,976,981,973,998,947,951,962,963,968,967,973,990,1005,1036,1062,1079,1073,1054,1045,1028,1021,1014,1028,1015,1000,997,999,993,974,977,969,964,969,957,965,974,983,974,978,995,998,1005,1004,1001,996,1004,996,996,1005,1005,994,1004,1040,991,991,1013,1013,1018,1011,1011,999,998,987,976,980,992,1027,984,973,979,980,994,995,1000,1003,1000,1002,999,999,1021,1020,1017,1011,1008,1013,1007,1017,1005,994,995,998,1003,995,996,987,975,980,975,979,971,986,1006,1014,1012,1000,1005,998,997,1019,1002,1001,1011,1040,984,989,991,988,993,1038,996,986,987,998,1014,1012,1009,1006,1046,999,1017,1019,1000,1030,977,977,983,986,990,980,986,1328,1138,897,908,870,895,924,973,956,964,1019,968,970,1009,1062,1069,1061,1032,1001,997,997,998,1011,998,1002,988,984,1037,971,980,975,988,984,987,1004,1003,991,991,993,995,1007,1014,1014,1048,996,989,968,976,985,983,987,989,992,994,984,975,994,1043,992,972,992,990,983,999,1053,982,989,992,983,1015,1030,1016,1008,995,995,995,1019,999,1017,1016,1011,1015,1005,1019,993,974,977,983,987,991,993,995,1039,1000,976,980,977,985,989,984,1001,1012,1010,1007,1005,1022,1024,1012,1006,1005,988,987,996,1002,1016,997,993,992,1003,1012,990,989,1003,1016,1014,1010,1008,1005,1018,1032,1015,990,989,966,950,958,968,977,983,988,992,1025,1003,1000,988,998,1000,992,992,993,995,1019,1025,1020,1007,1011,1001,1026,981,975,1000,1004,1007,1002,1001,1016,1013,995,994,1030,1031,1017,1004,1002,1000,1000,1000,1013,1000,996,998,988,976,980,984,987,992,997,1003,1011,1009,988,987,1046,986,993,985,1009,1004,1006,994,984,987,1013,1000,1004,999,987,990,1011,1006,1024,1009,983,1026,990,988,983,1027,990,993,983,986,1001,1024,1037,981,979,983,988,991,989,973,976,973,965,1036,971,979,1000,1002,1001,1001,1001,1008,1023,1019,1013,1010,1016,1014,1009,997,995,997,1072,996,982,985,988,991,1000,1017,1016,1019,1011,1010,1002,1000,1000,998,977,992,982,984,988,981,971,977,983,988,991,1005,993,1006,993,1005,1005,1017,988,1004,989,1002,991,991,994,1022,1015,1051,1030,1026,1070,1013,992,971,974,980,986,999,1013,1061,1002,1004,1002,1037,990,986,988,992,1003,971,974,980,985,988,992,982,1016,972,983,988,982,985,995,991,993,994,1025,1004,1014,1012,1016,1006,1007,1005,1026,997,977,985,981,1002,1005,1003,1031,999,999,1020,1026,1020,1007,1009,1011,1004,997,997,984,975,979,985,989,1042,975,985,1001,1007,992,993,1021,1024,1005,982,983,998,1000,981,983,994,1056,1000,988,997,991,986,992,987,1031,993,983,989,989,1006,1053,1015,1010,1000,998,995,1040,997,984,986,990,993,980,981,977,982,987,996,1046,986,969,964,980,978,995,1010,1009,1007,1005,1003,1009,1030,1013,991,990,1021,990,989,1002,998,1004,993,992,994,995,996,1011,1022,1017,1013,1045,1014,1006,993,992,987,972,976,982,979,968,974,980,997,996,997,990,1021,990,990,991,993,1012,1020,1014,1018,1058,1001,980,981,985,987,974,991,975,988,984,986,994,1043,1076,1076,1074,1044,1027,1006,988,1006,988,989,991,975,957,955,964,974,980,984,967,972,989,983,1006,1021,1010,1011,1009,975,989,993,993,992,996,995,999,991,991,1004,1023,1019,1017,1013,1051,1010,1000,985,986,989,993,997,1019,1063,1008,1000,1006,998,998,998,1027,985,969,974,981,986,990,993,983,973,986,991,985,997,997,997,998,1029,999,984,986,990,992,994,1010,1027,1023,1014,1004,996,996,997,987,992,1095,1009,962,983,997,999,999,1007,1009,999,1011,1025,1024,989,983,986,989,992,994,995,997,997,1011,970,973,979,981,966,971,979,996,1024,52,8,3,3,4,8,140,2149,3005,2330,1851,1655,1535,1360,1275,894,926,939,955,968,1014,999,1024,1055,1071,1084,1140,1074,1042,1029,1040,1023,1097,993,1023,1010,988,987,990,993,995,988,975,978,995,1000,988,1006,1002,1005,988,1005,989,990,993,994,996,997,1018,1044,1044,1026,1018,1014,1044,1002,997,1008,1008,1006,993,1015,971,993,1014,972,973,988,989,989,1031,994,986,990,996,997,1042,979,969,972,970,988,1005,1013,1003,990,988,982,1003,1010,1013,1010,1041,1002,1002,992,991,995,1019,1017,1013,1013,1016,1011,999,998,1013,994,973,976,977,964,970,989,994,996,999,988,999,998,998,989,991,1046,1012,1005,1004,1010,1001,1000,999,1000,989,977,990,984,988,1017,1004,1018,998,995,1007,1006,1005,1003,1002,1038,1007,1016,1013,1010,1016,1009,1028,1016,992,990,993,994,996,987,974,979,984,980,968,975,991,985,988,1002,1016,1014,1010,1007,1005,1007,1032,1013,992,998,1001,992,993,995,997,1005,997,996,1007,1005,994,994,1007,1024,1015,989,987,990,992,994,996,987,975,986,984,996,1007,991,996,1015,1020,1008,1011,1010,1008,1039,986,977,986,993,1000,1001,1001,1008,1005,998,997,998,999,1029,1020,1049,984,995,1013,1003,990,978,981,993,989,1000,999,992,996,1023,1009,988,989,991,1001,1000,994,1001,995,1002,1042,990,992,1004,997,861,1008,1005,997,1000,991,983,978,1000,1040,982,1001,1003,1002,1009,1115,1000,991,990,992,994,1005,1020,1019,1019,1008,1017,1002,1002,999,1001,1004,1002,1003,992,987,974,979,984,989,999,998,993,994,981,974,980,993,988,999,998,1001,1000,1001,1000,991,992,1003,1003,993,994,1003,1019,1017,1013,1009,1006,1005,1027,1024,1017,1013,1009,1006,1023,1019,1005,993,993,983,973,978,992,995,992,990,993,1005,980,981,977,982,1000,989,990,993,995,1017,1018,1013,1010,1013,1004,1038,997,993,1001,995,995,1006,1022,1051,999,983,984,986,1011,1012,1009,1020,1016,1011,995,995,996,985,974,979,985,989,991,987,974,977,990,987,996,991,999,993,1003,1004,993,1001,1018,1016,1018,1007,1014,1011,1014,998,995,996,1006,997,1012,995,1000,1019,1040,1009,1014,992,1005,1000,1004,1005,998,993,975,978,983,985,968,973,980,994,988,990,1036,989,998,997,988,990,992,1017,1017,1013,1009,1007,1014,1029,1016,990,988,991,993,995,987,989,980,985,1008,1009,1008,1005,1003,1002,1013,1027,1018,991,994,998,991,997,994,1001,995,1000,996,1002,997,996,997,997,998,987,978,998,985,991,989,990,993,1003,1019,1016,1012,1014,1011,1007,1000,1005,1055,982,995,994,1017,990,989,1004,1016,1014,1010,1008,1005,1018,1002,1025,995,982,971,965,960,969,977,983,988,990,971,988,980,983,1008,1011,1009,1006,1004,1011,1025,1021,1015,1011,1015,1004,1003,1007,1001,1006,1010,996,996,2054,1214,599,899,862,915,923,946,1014,1076,1118,1073,1057,1052,1018,1016,1028,1039,1027,1017,1017,1007,1003,979,991,983,986,990,992,995,995,1005,996,1029,989,1001,971,980,987,1009,1007,1009,994,983,988,1012,1025,1015,997,996,998,998,997,1009,1022,1021,1017,1015,1005,1029,974,985,978,983,987,995,998,998,1005,993,998,993,994,996,1000,1021,1043,1010,982,982,986,990,992,994,987,974,979,984,996,996,998,992,994,995,1011,1032,1024,1007,1013,1001,999,1007,1023,1024,1013,998,983,985,989,991,995,1022,978,998,995,998,998,999,1008,1005,1007,1001,1030,1019,997,982,991,987,1006,991,991,1001,1001,1000,993,994,985,977,979,1025,994,980,1029,1030,1075,1020,1011,1005,1009,993,993,992,972,975,996,985,987,983,984,977,1027,1011,1006,1000,1000,1004,992,970,974,998,983,986,1012,1013,1010,1017,1004,1001,1001,991,978,982,992,999,1000,999,992,991,1040,1038,1061,1016,1008,1005,1008,1007,1003,1031,1016,1006,987,988,990,993,994,985,974,978,984,988,991,981,973,979,1006,999,1000,970,972,978,994,1055,1004,998,998,1006,1006,1006,1001,1000,1014,1009,1016,1031,995,1003,1017,1018,1009,984,983,997,1000,990,997,992,993,1004,995,995,997,1002,997,1005,1002,996,1005,1004,1000,994,1002,995,1003,995,995,1002,997,996,1003,1003,1002,1033,999,996,995,989,1023,989,994,990,1000,992,1001,1002,998,994,994,996,996,1000,1039,1017,1011,1016,1042,997,988,971,984,1026,978,978,993,992,994,995,991,992,1003,997,995,1001,995,996,997,997,985,976,981,993,989,991,1039,1021,1007,1004,1002,1001,1001,1000,1012,1052,1020,1015,1003,1001,1000,1007,999,984,976,1025,974,959,987,994,996,997,1003,1006,997,1001,997,996,997,998,1003,1020,1000,993,994,996,981,975,987,985,988,1001,1016,1038,1007,1002,1001,1000,1003,1024,1024,1015,998,988,990,1009,997,1000,1012,1015,1008,1005,996,979,981,979,967,982,978,985,1015,1004,985,986,990,992,1000,995,995,996,998,1010,1022,1002,992,992,999,995,1004,997,1002,999,1005,999,1000,1031,989,973,1021,1043,1021,999,1004,996,1012,1020,1021,1017,1006,1048,1004,992,992,979,972,978,987,1013,987,993,999,990,992,1001,989,994,1047,986,974,970,991,995,988,1007,1012,1013,1010,993,1001,999,999,999,1014,1000,1015,1019,1021,1017,1009,1002,1001,994,976,979,985,988,992,998,971,984,981,1005,992,995,1011,1010,1008,1005,1004,1008,1001,1008,1003,1006,999,1000,1003,1000,995,1003,996,1003,1041,990,1006,990,987,992,1012,1002,1001,1014,1025,1007,1004,1003,1004,1001,1003,1003,985,975,980,985,989,974,978,983,988,985,994,997,991,999,1025,1004,987,994,990,992,1004,1018,1015,1017,1015,1004,1002,1006,1005,999,1007,1003,1006,1009,1017,1014,1011,1008,1005,1006,1006,1004,999,999,999,999,999,994,976,979,971,966,974,980,991,994,998,992,998,1001,993,994,995,1002,1020,1023,1013,997,992,994,1010,1009,1007,1005,1003,1005,1026,1023,1017,1018,1015,1014,1001,1001,998,998,1002,998,998,998,986,1017,977,983,982,992,1016,1001,1028,982,981,991,992,1025,987,997,987,990,1002,993,1027,990,995,1015,1020,1003,982,993,994,988,990,993,1039,998,1287,1306,858,845,887,921,944,959,1015,987,973,989,1006,1006,1005,1003,1002,1017,1029,1018,1024,983,988,986,995,1020,1005,986,1020,986,985,988,986,971,983,987,984,995,990,1002,1002,991,1005,1017,1014,1011,1008,1005,1004,1008,1026,1023,1016,1012,1009,1006,1022,1027,1024,1015,1011,989,983,1026,984,983,986,990,1021,974,971,988,977,997,1010,1054,733,1013,1008,999,1221,971,974,981,985,1008,996,997,979,969,983,982,991,991,1011,1015,1029,1009,1000,1003,1000,1085,1016,1039,1000,1024,991,1000,1016,1019,1037,1008,997,974,973,979,985,1004,990,974,970,976,982,1016,987,970,967,975,993,995,996,987,989,991,1007,1018,1049,1007,1002,1002,999,999,1016,1022,1017,1021,1014,1004,1007,1002,1000,994,976,987,992,994,986,1006,1014,1011,1014,1005,1029,999,979,973,980,986,1055,984,979,993,995,987,995,991,993,994,996,1006,1012,1004,993,1001,995,1003,994,994,995,996,997,1014,1022,1018,1016,1009,1011,1009,995,977,987,983,1005,1017,997,983,984,989,1060,981,985,991,984,1002,1018,1015,1011,989,979,982,987,996,993,999,1000,994,994,1012,1027,1003,995,988,1002,998,990,1011,1016,1012,1009,1009,1005,997,979,986,1007,1017,1007,988,979,983,975,969,987,1008,1010,1008,988,984,992,1007,1013,1004,1000,1005,1000,999,1000,1005,999,999,1004,1003,985,975,987,992,996,989,994,992,1011,1016,1013,1009,1008,1019,1053,1047,1034,1025,1022,1033,1009,1009,998,1000,999,1000,997,997,998,998,998,986,1016,974,959,959,968,970,1008,990,962,967,975,1014,1000,984,984,987,991,1008,1017,1014,1013,1052,999,994,1006,1019,1016,1012,1009,1017,1022,1025,1025,1014,993,982,1025,982,960,966,973,980,986,1013,989,989,991,994,995,1008,996,1045,990,996,998,1002,1041,992,980,983,1063,982,977,996,1013,1028,992,987,995,997,1017,1016,1009,997,997,998,1156,1212,943,908,916,936,961,947,952,976,982,988,979,998,1010,1018,1006,1012,988,986,1003,1004,1017,1001,991,988,990,1004,1012,1006,1015,1012,995,1001,1002,982,984,977,997,1001,1010,1059,997,991,993,1013,1019,1015,1011,1007,1013,1003,1001,1000,1000,989,977,980,984,989,992,994,975,975,981,1002,989,988,991,997,1018,1026,1025,1014,987,976,995,983,1000,1011,1033,1005,1043,999,991,990,1001,1017,1015,1011,1008,1006,1004,1012,1026,1059,1012,985,979,983,987,971,970,977,983,1053,1008,976,978,984,987,991,1017,1051,999,980,982,987,989,992,1016,993,995,993,994,1022,1004,991,1007,998,1000,1002,994,1033,1020,1015,1009,999,1002,1003,989,974,977,1008,984,985,974,980,978,993,982,1006,1036,981,995,1007,1006,1004,1003,1002,1001,1019,1050,1026,1006,986,978,982,998,989,998,992,993,995,1008,1088,985,993,979,982,987,990,993,994,996,1012,1021,1023,1018,1013,1028,998,996,996,986,975,979,1034,1644,1238,1024,825,773,816,849,867,903,931,955,990,1025,1056,1075,1068,1044,1041,1039,1021,1006,1009,1014,1652,1338,833,777,815,863,949,921,936,953,962,994,1024,1042,1017,1011,1028,1023,1048,1014,1002,1000,999,1000,1005,975,978,983,988,991,1001,1005,993,1026,988,989,991,1005,1006,992,992,1005,1005,1003,1002,1000,994,1001,1016,991,991,991,1011,1016,1013,1010,1012,1011,1007,999,998,998,1004,1004,997,975,976,982,987,990,993,993,973,981,990,985,1003,1013,1012,1007,1014,1013,999,998,999,1017,1030,1015,1004,984,986,989,992,994,996,1011,997,997,1005,1001,994,997,1019,1017,1013,1009,1007,1010,1031,1022,996,983,968,974,986,982,990,994,995,1048,997,985,992,1014,1012,1009,1007,1005,1011,1009,999,1005,1031,1024,1021,1006,1014,1027,974,1043,1025,1035,1015,1004,988,986,1020,1011,998,1009,994,993,1021,996,958,927,958,953,971,1006,995,1019,1030,1012,1009,1004,1002,1001,1009,979,965,960,969,976,983,988,991,983,1000,1383,1070,889,877,918,928,1030,976,974,981,1002,1007,1006,1021,1067,1040,1067,1020,1005,1008,1000,999,999,999,999,990,1004,976,978,1004,983,964,970,977,983,1019,987,981,967,990,979,984,1009,1010,1007,1005,1004,1010,1032,1020,994,1002,1002,1026,999,1004,1005,1004,1003,1002,1009,1000,1002,1004,997,962,973,1025,1023,978,953,953,980,1042,1000,987,1021,989,992,987,1006,1015,1015,1013,1006,1007,1005,1037,995,992,998,995,1002,995,975,974,983,1008,986,1031,1014,1010,987,982,980,1021,1010,1005,1008,1006,1004,1048,981,965,971,987,982,1039,1011,993,977,981,986,989,993,995,975,994,979,979,985,966,987,976,997,998,987,1009,1009,1007,1005,1003,1002,1014,1029,1027,1011,1008,1005,1040,1009,994,1003,1040,987,996,997,1018,995,984,992,988,1014,990,991,969,973,979,985,996,999,1003,991,1003,992,993,994,996,989,976,1002,1013,1003,1013,999,1005,997,992,986,993,994,981,989,1013,1009,1006,1004,1005,1002,1000,1022,1021,1016,1013,1045,1015,1007,1000,995,992,999,1000,994,995,996,996,976,987,1013,981,1006,1007,1005,1003,1002,1008,1000,999,999,1000,990,976,981,985,1000,998,1001,991,1002,1003,998,1011,991,993,997,1006,1016,1014,1010,1007,1013,1033,1020,992,991,991,994,1003,982,971,987,989,993,994,995,988,996,1016,1019,989,991,987,996,991,993,1007,994,994,1001,1003,995,1001,996,996,997,998,1011,1003,996,1007,995,995,995,1017,1019,1014,1020,1006,1004,1031,1014,993,992,994,995,996,990,975,979,984,989,991,994,973,988,980,989,1010,1010,1038,1011,995,994,995,1006,996,995,997,998,998,977,978,984,988,1004,994,992,997,1018,1016,1014,1009,1006,1004,1002,1027,1024,1014,998,991,1011,1010,1020,1005,1001,1001,992,977,981,985,997,1000,990,992,975,974,996,985,985,995,1015,1013,1009,1013,1004,1011,1001,1007,999,1003,1015,1003,992,995,995,1009,1019,1020,1012,1007,1010,1002,1001,1001,1000,986,977,1007,984,997,1009,992,1010,1011,1013,1006,1007,1028,997,993,995,988,974,1004,980,991,1010,1015,1057,991,989,973,990,991,1015,988,1045,1047,972,988,993,995,1002,1022,996,1003,991,992,1004,994,1357,1373,870,821,851,890,931,952,955,962,972,980,1027,987,1032,1005,1012,1041,1015,1075,1023,1012,1015,1055,996,975,969,1000,980,981,977,976,975,991,1006,1006,1012,1009,1007,998,1002,1002,1001,1032,991,989,973,980,984,990,991,1010,987,986,999,1066,1006,999,998,1005,998,997,998,999,977,985,982,1002,1002,1012,1019,1018,1016,1009,994,983,972,985,1008,987,998,1009,1008,1006,1017,1014,987,998,999,1053,994,989,991,992,994,996,982,975,980,1013,985,986,995,991,1025,991,990,997,998,999,993,1000,995,995,1014,995,994,1001,996,1000,996,1004,1005,995,1000,1000,996,996,997,997,999,1022,1020,1015,1011,1008,1014,1003,1001,1000,1000,1000,990,978,989,999,985,999,1018,987,986,1005,1015,1018,1008,1005,993,980,989,994,995,996,997,998,998,1003,1003,990,1008,1005,1013,1016,1009,1005,1014,987,1001,1033,998,994,995,980,975,987,987,989,998,999,992,1038,1014,1029,983,1001,1006,1018,998,997,997,998,999,999,999,989,976,980,1034,983,982,971,977,974,1002,1034,1001,1002,998,986,999,1000,1008,1005,997,996,997,998,998,1005,1023,1044,1012,1012,1002,1001,1000,997,976,979,984,988,1002,1000,1000,992,993,994,997,1026,1013,989,989,991,994,995,1006,1003,997,972,975,991,985,988,991,1015,1016,1069,1002,995,1002,1002,1025,990,990,1004,1022,1018,1014,1007,991,986,981,989,1012,1017,1014,1010,1002,1017,974,985,980,986,1011,1018,1009,982,982,1000,1001,987,996,990,992,1006,995,994,1006,995,1007,1003,993,994,995,1059,997,984,985,989,992,994,1013,1019,1015,1017,1007,1009,1008,1000,991,976,979,985,989,992,994,985,974,991,995,985,1000,999,998,988,989,1015,1016,1011,1009,1052,1008,992,1001,993,993,999,1024,1018,1019,1008,1005,1010,1001,1000,999,990,976,980,999,988,991,1023,1008,986,987,989,992,994,995,996,991,989,1012,1009,1000,999,999,1039,993,990,1004,1016,1024,1036,994,973,987,995,1007,1034,1002,997,988,983,992,1004,984,1000,991,997,1011,1018,1017,1009,999,998,1038,1001,997,998,994,999,998,992,998,987,971,986,981,995,991,996,992,1015,1020,1018,1015,1007,1005,995,982,990,1010,1001,979,980,985,990,992,997,1034,993,988,990,993,995,995,997,998,1021,1020,1015,1012,1014,1005,1011,1009,998,994,974,977,990,986,989,992,1004,1001,994,1005,1024,1021,1015,1005,1009,976,978,984,988,991,981,981,987,991,984,1021,1011,1022,1014,1079,987,1003,1012,1025,982,989,1030,1012,994,994,995,996,997,997,1002,1023,1021,1020,1012,1047,999,980,993,988,993,976,980,985,997,998,999,997,992,993,996,971,973,982,998,979,967,1024,975,987,985,985,986,989,991,1016,1048,1009,1003,1001,1000,1002,1024,1021,1016,1012,1014,1005,1003,1004,1038,997,992,979,972,978,984,987,991,982,973,978,997,987,988,1010,1002,1015,990,996,1011,1023,1005,1018,997,995,997,997,998,999,1000,1023,1005,1002,1046,1020,1012,1023,996,993,1051,987,984,987,977,970,977,980,964,986,976,981,1031,1008,1003,1002,1037,996,996,1017,1016,1012,1016,1021,1001,1005,1004,984,973,979,980,975,971,991,989,1010,1009,1005,1048,996,992,997,996,1036,1018,1010,1004,1036,997,1004,1009,1001,999,990,1011,992,991,1012,992,999,993,1043,988,985,976,968,987,992,983,997,988,989,1011,1016,1019,1018,1004,1003,999,993,1014,1046,1000,1000,988,992,992,993,1047,992,1002,1022,1005,981,981,986,1027,965,966,974,991,993,997,994,984,992,992,994,995,996,998,1004,1005,1044,1014,1008,1006,1012,1001,1008,1005,1002,1001,996,1031,1010,997,998,1013,1012,1063,1005,998,992,994,976,973,979,984,988,1015,978,967,974,987,991,988,1001,991,992,1006,1001,992,996,1018,1018,1077,1009,993,1005,997,997,992,1003,1028,990,989,1013,996,989,991,993,995,1014,999,994,994,995,1023,1012,1002,999,1013,1064,1007,995,995,981,1008,980,986,979,983,987,995,993,994,1004,1012,993,993,994,995,996,998,1003,1020,995,994,1012,1019,1051,1007,1006,1001,998,998,1015,1000,998,995,996,1004,1022,1020,1015,1011,1007,1005,1004,1027,980,973,977,983,988,989,993,1043,988,985,988,991,993,995,996,987,973,978,1016,970,962,970,983,982,992,996,991,1035,1019,1007,986,986,987,1010,1011,1048,1001,996,996,997,1020,1021,1021,1011,1008,991,1012,979,980,985,989,992,974,978,979,997,1000,1011,1013,1007,990,980,988,995,997,990,991,1005,1018,1031,1010,1007,1001,1004,1003,1002,998,997,985,977,988,986,987,990,1002,1018,1015,1012,1008,1014,1010,1000,1005,1027,1012,990,989,992,994,996,998,981,976,981,994,996,1036,986,983,1000,1013,1011,1008,1006,1004,1011,1027,1064,1021,1002,999,992,976,984,1038,979,978,994,987,988,991,1007,1019,1063,1006,996,1004,1000,996,998,997,997,997,998,1012,987,972,990,992,994,985,993,990,992,1006,1038,988,998,996,987,989,998,1005,1039,974,973,976,1034,1003,977,986,985,1002,1004,1003,1002,1001,1001,1000,1014,1028,1014,1013,1010,1008,1009,1004,1002,994,1004,957,956,966,989,1051,983,972,976,1007,981,983,986,995,1036,1025,1014,1002,1005,1005,1003,997,1002,1018,979,970,976,989,1010,1010,1008,1006,1004,1003,1054,1020,1019,1008,989,979,983,975,967,1017,984,976,980,999,1012,1017,1007,1019,1011,1003,1003,995,978,984,990,981,990,998,1010,987,988,997,1017,1015,1024,1017,1012,998,855,1006,1003,1002,1002,1007,1000,999,998,999,1003,999,998,1049,992,983,976,978,999,997,1003,1003,1007,1001,1005,1005,998,988,986,985,991,1001,994,989,1010,1010,1013,1005,1123,982,983,985,1006,1007,1012,1003,1001,987,978,987,986,995,992,996,1047,1013,1006,1004,1002,1002,1063,1018,1010,1007,1007,1004,977,978,983,979,980,974,1014,985,979,1004,1009,1012,1005,1019,981,976,998,1008,1007,1005,1004,1050,1003,990,995,1007,995,996,993,1032,983,979,984,993,1000,1001,1001,1052,994,998,1003,1004,1063,991,975,979,990,1012,987,988,991,997,997,994,996,1046,996,979,966,977,1012,985,985,983,990,986,999,997,1005,1020,1013,1001,990,983,1003,1012,1017,1012,1005,1012,1028,1028,1030,1001,989,992,996,1020,985,984,999,1011,1009,1017,1011,1007,998,1033,975,977,991,998,1030,976,974,979,984,984,968,1014,961,966,970,993,1059,998,986,987,992,993,994,1011,1034,1020,1009,1015,1026,996,987,994,998,1009,997,997,1004,1010,1018,1025,1001,984,985,989,992,994,995,976,975,969,963,980,978,982,1000,1020,1010,1006,1005,1003,1002,1011,1007,997,998,1012,1029,1016,1013,990,982,1010,1008,1002,988,1008,1011,1013,1005,1004,1001,1003,1006,998,1014,1032,1016,995,983,986,989,993,982,972,978,983,988,992,1000,994,1004,1002,994,994,996,1004,996,1006,1004,1002,1015,997,1015,1021,1009,985,982,986,1000,991,992,993,995,1009,1021,1017,1012,1009,1007,1005,1023,1048,1003,985,987,971,970,977,983,997,993,1846,895,816,833,857,907,921,940,980,1013,1013,1009,1007,1018,1039,1019,1013,1024,1028,1021,1022,1008,1005,982,990,996,997,986,998,1014,1012,1009,1006,1004,1003,1005,1030,1007,993,992,993,995,983,974,978,994,999,999,998,993,995,999,1000,996,991,992,1020,1016,1002,1007,1003,1007,995,988,1007,1010,1008,1014,1003,1002,1004,1003,990,975,978,997,986,999,999,992,1012,1023,1064,985,972,985,1009,993,1006,1013,1001,979,1006,994,1010,986,985,989,987,990,1018,1037,1009,1012,1006,1005,998,1002,1011,1000,1008,1001,1001,993,993,1002,995,995,1015,997,994,1015,1020,1054,1007,1000,976,1025,966,952,960,971,990,1015,987,982,985,989,1035,1019,1019,1005,1001,1000,1004,999,998,1001,994,974,984,982,986,1000,1016,1022,1068,1004,987,968,971,981,987,996,990,999,993,993,995,996,999,1022,1020,1015,1011,1012,1005,1007,1006,1000,981,976,981,991,989,991,993,1006,1020,1023,1042,993,989,1002,1009,1002,993,1000,1003,980,1220,1177,920,895,958,979,957,960,971,942,961,966,971,980,984,1010,1035,1043,1024,1031,1013,1004,1003,1005,1002,1009,999,1035,1002,969,967,976,1058,1042,967,964,971,978,985,1012,1038,1064,1054,1037,1087,1014,1026,1083,1009,999,981,973,979,984,988,992,1022,967,968,976,982,1017,986,983,965,972,1012,980,982,984,966,968,984,995,985,1006,987,971,978,975,978,1007,1011,1008,1061,1000,995,995,1016,991,990,993,1048,1000,1013,990,999,983,985,966,968,986,994,995,990,987,1027,1011,1008,1005,1004,1002,1009,1015,1020,1013,1016,1012,1051,1005,995,996,980,973,978,983,987,991,1009,1010,976,968,974,990,985,987,990,1041,594,1003,1012,999,1024,1002,991,974,1018,972,973,980,987,997,989,991,993,1011,1044,1067,1024,1019,1015,1009,985,978,982,1014,998,985,988,992,1008,993,1370,1019,1012,1007,992,1007,999,985,975,1031,980,1032,1009,986,990,976,990,982,1015,999,985,1009,1011,1009,1013,1011,1002,999,1598,939,871,900,949,979,954,952,979,1000,1002,995,996,1003,1003,1002,1007,994,997,1002,976,979,979,1004,1008,1012,1005,1007,1002,1006,999,1004,1003,1003,1017,993,985,971,981,984,991,986,988,1044,994,1006,1009,1007,1004,1003,1007,1011,998,1003,1025,1018,1006,986,987,989,1035,986,964,970,983,988,984,986,989,992,1006,1003,1005,994,1004,993,1000,994,994,995,996,1034,1019,1017,1028,1015,999,997,996,982,997,1010,1010,1006,997,995,985,999,1002,1008,1001,998,976,977,1016,996,982,993,995,993,995,1000,991,992,1017,1018,998,987,990,1014,1021,1012,1008,1013,980,977,998,1017,998,983,530,975,979,981,994,1022,1135,1043,984,959,963,968,1002,977,976,989,1017,1075,1045,1011,1056,1016,1176,1411,991,1187,1180,870,873,906,925,906,984,975,1045,1345,942,890,886,896,883,909,906,848,875,904,933,1001,1048,1076,1069,1038,1068,1106,1043,1027,1018,1013,1011,1008,1004,1039,975,968,975,981,975,967,972,979,1026,986,983,987,989,1025,989,969,967,974,1010,983,997,999,986,995,990,991,993,996,1015,1020,1029,1009,1027,977,976,995,988,1001,1044,984,1014,1013,1047,993,989,998,1002,1083,1001,979,992,980,991,985,988,990,982,971,987,980,984,989,1002,1005,1305,1011,1031,1008,1002,984,977,980,985,989,992,977,973,1003,986,1025,981,980,993,989,1029,987,985,1033,1038,1075,1019,1009,1026,1029,1050,981,979,984,987,990,1033,987,965,970,975,981,986,989,1011,976,1004,997,997,996,997,1008,1007,998,1040,992,993,989,991,1044,993,984,997,995,992,992,1016,1075,1006,998,997,998,1004,1000,1000,1001,997,1000,1002,1002,1000,995,996,1090,1096,1078,1058,1042,1032,1018,1013,1007,993,1001,1004,1027,999,995,975,946,969,970,997,1002,1001,1002,1013,1054,1018,1009,987,980,994,976,964,971,978,984,989,991,987,971,976,982,976,967,974,981,1022,963,965,973,988,995,985,986,997,992,992,993,1009,997,994,995,996,1013,1030,1018,1009,985,993,987,1038,993,992,983,1001,1020,1012,1000,1004,1023,1012,996,1083,998,986,985,988,994,986,989,998,993,989,996,1022,1005,1003,1003,990,991,1002,986,1020,1006,1035,998,984,993,994,1019,966,980,973,979,1006,1026,1004,1052,1004,995,996,1008,989,990,998,998,998,999,993,1034,979,997,999,992,1039,1000,996,996,986,1023,994,994,993,992,989,991,1004,1008,992,992,990,972,976,990,985,994,1002,1028,990,984,1005,1020,1012,1007,1002,1009,1001,977,980,985,1005,997,988,989,995,1017,1048,1009,1002,1001,1019,1023,1020,1067,1002,975,972,979,984,973,979,976,988,995,986,999,989,989,1002,1005,1006,997,987,1002,991,1010,1018,991,997,1014,999,1000,986,1002,1020,1008,1006,1003,993,983,1005,1007,1005,1004,1003,1019,1026,1018,994,987,989,992,994,996,997,989,975,980,983,987,990,977,971,977,992,1006,992,1020,986,991,1011,1012,1009,1006,1005,1006,1026,1024,1024,1014,1048,1000,1007,1012,1025,964,965,1012,979,996,992,982,992,1047,982,980,984,1001,1013,1010,1007,1013,1018,999,997,998,998,979,978,1007,999,983,983,998,1000,993,990,990,971,973,991,985,737,970,988,1000,1002,1002,1001,1010,1002,1022,994,1012,1017,1053,1005,999,999,1220,1119,1045,1022,993,988,990,993,995,995,974,977,984,989,991,992,976,978,978,982,1010,1014,1019,1007,1003,1002,1001,1001,1018,1024,1021,1017,1011,1005,1002,1005,1007,1007,997,996,997,997,1001,998,998,998,1003,1001,1005,1001,996,1000,997,1040,994,989,990,993,997,1023,1017,992,1031,983,983,987,1016,982,966,972,987,988,1036,983,991,984,987,990,997,1003,993,1004,999,1060,1015,979,985,1006,1008,1006,1034,999,996,998,1045,1015,1009,1006,1007,1017,999,998,991,1015,974,976,981,986,989,972,974,980,985,1048,984,980,984,1018,988,987,1012,1012,987,997,996,990,998,1006,1011,1016,1010,1041,1001,996,992,998,1003,1003,998,997,998,998,1002,999,999,998,999,999,990,978,988,992,996,988,987,981,971,977,1009,1018,1006,1008,1001,1012,996,997,1003,998,1008,998,996,996,997,1010,1009,1012,1004,1015,1011,1008,1006,1005,1002,1007,1029,1020,1001,991,1015,995,1011,987,986,990,992,994,1016,991,984,1005,1021,971,973,979,984,1035,985,981,986,989,1001,1004,997,1003,1003,1001,1004,1013,983,968,990,1003,1019,1023,994,992,994,1011,1018,1014,1010,1008,1010,1028,1029,1017,1015,982,983,975,980,985,989,973,982,987,991,984,1001,995,995,990,991,1000,994,1004,1002,994,1009,1011,1012,1018,1008,1002,981,982,995,993,990,992,994,1000,1028,1022,1012,994,994,1008,1003,1006,1004,1003,1002,1009,1030,1020,1006,987,987,990,993,995,996,978,977,982,987,990,992,978,982,978,984,1008,1019,1019,1005,1001,1000,1000,1005,1030,1019,1037,996,1016,1010,1002,1003,1002,999,1000,1003,995,999,1001,996,999,1014,995,1000,1023,993,1040,987,993,986,988,1018,1018,1009,1012,1035,987,988,976,1008,988,982,984,1010,1017,1009,1001,980,1030,981,979,984,988,1033,988,989,989,991,1032,994,1265,1084,918,902,923,987,954,961,982,986,988,983,986,985,988,973,996,1004,1015,1009,998,997,998,1035,1006,1001,1003,1034,1007,1011,1010,998,1008,1007,1001,993,993,996,991,998,989,994,1002,1002,1010,1008,1006,996,995,995,974,977,983,988,991,993,973,991,995,996,983,986,1011,1043,1033,1020,1022,1033,1026,1023,1015,1010,1007,980,981,967,969,976,981,987,982,1001,985,973,999,1004,1012,1011,1008,1005,994,996,1014,1018,1014,1022,1017,1002,999,1010,1009,1009,994,994,994,996,997,977,977,982,987,1004,992,992,993,1009,1007,998,994,1004,994,993,994,1018,994,1003,1031,1002,993,992,1012,997,987,985,1001,989,990,996,1028,1010,995,995,1000,992,1019,1015,1006,1039,975,996,1009,999,1005,1007,991,1026,979,980,986,980,1003,1259,1121,918,901,963,929,954,956,976,983,978,990,1009,1009,1037,1001,998,1000,1070,1029,1002,1007,1010,1004,1001,992,1002,1031,997,992,987,999,992,998,999,993,975,995,997,1012,1005,997,975,987,992,994,999,991,988,990,1000,1003,1002,992,993,1001,1019,1040,1018,1003,1000,1000,1000,977,993,986,989,1011,1013,1008,1006,1004,1012,1009,1005,1020,1025,987,986,991,994,1003,995,1002,997,1000,1009,999,995,998,994,997,1012,1473,1000,998,1014,1015,998,991,992,993,987,974,977,982,993,590,970,973,980,985,1002,1017,988,987,990,992,999,1019,1017,1018,1037,1007,993,993,999,1004,999,1000,1035,980,977,997,1000,1000,1000,1057,992,987,989,990,971,975,992,987,997,996,999,997,1040,992,990,984,1010,996,1019,1013,1011,1008,1005,1006,997,997,1005,1005,996,995,1009,1025,1009,992,1033,984,983,991,995,991,994,971,974,981,1022,985,985,990,986,1003,1030,983,989,1002,993,996,992,996,1048,1001,987,995,1003,997,991,992,996,1025,992,1003,1014,1051,1004,998,998,1005,997,997,991,975,979,984,996,990,993,992,994,1024,1017,1009,989,997,987,995,1023,1012,987,984,995,999,990,1001,993,1003,1041,988,985,988,1012,1023,1010,1000,994,1016,1009,1003,1006,1006,1242,1043,939,935,951,960,970,996,986,994,985,1001,1012,1010,998,998,1001,1018,1002,1001,993,1034,990,978,967,974,981,974,996,971,976,1529,989,990,992,994,995,1016,1021,1021,1041,1004,999,998,998,999,1028,1001,993,1001,993,999,995,996,1010,1002,990,1010,1024,1001,987,979,967,973,988,985,450,1016,1006,1016,1004,1007,997,996,1026,1011,1047,983,1003,980,989,986,1003,1014,1012,1009,1009,1021,1013,1002,1004,1033,989,981,980,972,984,1006,1007,1004,1009,1002,1000,1000,990,1028,974,974,987,985,988,991,994,995,1018,1000,1001,1032,1008,990,1000,994,994,987,989,998,993,1033,991,988,997,992,993,1003,995,1000,995,1003,1021,1017,1013,1008,1006,1004,1029,1027,1019,1003,987,991,988,1005,991,992,994,996,974,976,982,1447,996,995,996,997,984,970,985,980,1001,1011,1009,1006,1004,1011,1007,1014,1022,1023,1026,1000,1006,1003,1002,1004,1001,1011,998,459,1031,1019,1004,1001,1001,1005,1024,1023,1015,1011,997,982,984,982,968,974,980,986,990,972,981,979,1003,1008,1007,1005,1004,1002,1003,1025,1026,1020,1010,1027,1007,998,996,1466,977,985,993,589,996,996,998,1428,1006,1016,1076,1015,1011,1003,1001,435,999,997,1006,984,984,978,988,1001,1002,1019,1008,993,980,983,987,991,993,989,974,988,983,993,1013,1011,1014,1011,1002,1030,1004,992,1003,1019,1016,1019,1013,1021,1007,996,995,1033,968,969,967,960,978,976,981,992,1012,1011,1008,1015,1015,999,998,1021,1020,1022,1010,1007,1005,991,979,987,986,995,991,1001,999,1001,993,994,1041,1014,1017,1012,1008,1000,998,989,1004,996,1000,1004,1000,990,976,989,984,987,1011,1001,992,1013,1018,1010,1007,994,985,995,1011,1013,1005,1002,978,980,992,996,996,1586,984,981,965,968,984,1002,1014,1004,1002,1003,1009,1016,1002,459,1025,1002,1042,983,1000,1002,1002,1001,1001,1000,1000,1010,1025,1020,1018,1010,1024,989,980,970,1011,970,986,978,981,1003,1009,1008,1005,1004,1003,1042,997,990,966,1022,1104,968,956,972,1004,1011,1022,987,987,999,1016,1011,998,1014,1009,1005,1048,1003,996,992,993,994,996,1009,978,979,978,983,977,967,974,981,986,990,988,972,1002,988,980,984,1010,1012,1010,1013,1008,1001,1000,1004,999,999,1003,1003,1036,992,989,992,994,1017,1018,1018,1014,1005,1004,1006,1006,1004,998,1002,1003,997,996,997,982,976,987,985,994,988,986,989,997,993,995,1013,1012,1009,1013,1004,1002,1001,985,967,961,978,985,990,982,1009,998,992,1010,1010,1009,1016,1019,1001,995,1007,1019,1016,1012,1009,1006,1010,1007,1005,1028,1012,990,990,992,985,973,978,984,988,977,976,1000,1011,1001,991,978,990,984,999,1013,1011,1009,1006,1004,1559,1037,987,985,970,969,988,1008,999,987,1042,978,995,1007,486,1026,1022,1016,1012,1022,1005,1005,1004,998,998,1002,1002,998,998,998,999,975,978,987,987,990,992,999,995,1002,996,1005,1021,1019,1014,1009,1015,1039,1005,1001,1000,999,980,969,1024,982,999,1264,970,931,938,959,1053,989,983,986,990,993,1063,1016,999,977,980,985,983,968,991,970,961,979,998,1000,1000,1000,1009,999,1025,1019,1014,1013,1006,1004,1002,979,985,985,988,1052,986,981,986,998,991,992,1042,1003,1009,1007,1005,1003,1003,1004,1019,998,996,997,1002,1002,997,995,974,977,982,987,990,972,973,986,984,987,998,1016,1013,1010,1007,1020,1005,1022,1020,1020,1010,1010,1005,1006,1008,1004,997,998,998,996,996,1000,1000,1003,999,993,975,979,994,993,989,990,1003,1001,999,993,994,995,997,1010,1029,1023,1015,1006,990,979,983,987,996,992,994,1004,1004,994,1003,1000,1005,1022,1019,1014,1017,994,976,1369,1030,983,983,986,980,983,1030,1006,1006,1010,1020,1000,997,590,1013,1011,1009,1001,996,976,986,983,986,996,1016,1019,1011,1007,982,981,986,994,996,997,993,995,997,1024,1009,990,990,1000,993,998,995,1004,996,1007,1014,994,1046,1024,1010,998,1004,998,997,998,998,1013,998,996,996,997,998,998,1032,980,979,986,989,989,1024,982,982,1000,1012,1015,1006,1001,1009,993,978,987,991,1012,1017,1008,989,987,993,996,1094,1071,1030,1001,981,1021,1002,998,998,991,968,1011,969,953,976,995,997,998,998,1002,1006,1003,1025,1009,989,989,992,983,973,968,961,979,976,984,1009,1009,1007,1005,1004,1016,1030,1019,990,988,998,992,1012,1006,1001,1001,1013,1011,1009,1011,1012,1010,1007,1003,1012,991,995,994,980,979,999,989,990,1009,1027,995,1001,1001,979,989,994,994,995,996,989,1007,1016,1017,1009,1002,980,982,986,990,1000,994,994,996,999,1022,1021,1014,1020,1007,1009,1006,998,998,998,998,1009,998,997,998,997,979,1002,971,990,987,1014,1070,1003,1004,985,1008,1008,988,993,997,1050,990,965,969,988,982,985,1000,1013,996,997,1012,1051,1003,987,975,986,984,1003,1012,1010,1051,1000,995,999,1072,1013,1003,1001,1001,1005,1000,999,999,1323,1005,984,964,682,981,955,960,950,971,969,981,1006,1007,1070,995,1003,989,1007,989,990,992,1005,1019,1016,1011,1008,1006,1012,1004,1015,998,1000,1014,1000,1059,996,987,998,989,998,1014,996,1030,980,979,983,988,991,975,973,985,1024,982,982,999,1018,1016,1006,1009,1001,1000,988,977,1012,1005,995,981,983,999,1019,1015,1007,1010,1002,1010,1005,1008,997,995,996,997,997,1003,1003,1013,1047,988,984,987,990,993,991,973,976,982,994,989,991,994,1020,995,992,994,995,996,1005,1009,1003,994,994,995,1004,1003,995,996,1020,1019,1015,1052,1002,997,997,1052,991,986,989,992,1013,1012,1018,1001,983,984,988,991,991,972,975,981,994,996,990,1003,999,991,993,983,982,1006,979,984,992,987,1006,1014,1012,1009,1006,1018,1032,1020,1004,987,987,990,993,996,996,989,988,1001,1002,1001,1001,1001,1000,1010,1024,1019,1014,1016,1007,1004,1002,990,986,994,974,987,1011,1016,1018,1000,990,1003,992,984,1414,998,973,989,996,989,996,1016,964,973,982,1017,989,1000,672,1008,990,1016,1003,989,986,989,992,994,1008,1057,1079,1067,1032,1020,1014,1010,1007,1030,976,958,956,966,975,973,964,959,956,978,975,993,992,984,987,990,1015,1015,1019,1015,1004,1001,1000,1015,1023,1027,1024,983,981,995,996,993,1013,1013,1009,1007,1005,1018,1026,1024,1015,995,983,971,966,974,982,976,994,1047,969,968,989,1025,1023,1017,1020,1013,1009,1001,1000,1037,995,992,993,976,996,984,980,998,986,987,990,989,979,975,1004,1007,1005,1004,1004,1085,1041,1027,1019,1014,1028,1042,980,969,975,982,1242,1000,988,989,992,1005,995,994,995,1033,1015,1026,1010,1004,1002,664,967,971,978,984,988,995,1003,985,971,988,993,997,985,986,1003,1016,1015,1082,1020,1010,1006,1004,1002,1002,1016,1025,1027,1013,1009,986,981,985,989,992,982,972,978,983,998,990,991,993,1005,1005,994,994,1009,1028,1018,1007,1005,1003,1002,1001,1006,1025,1025,1015,1004,984,985,988,1001,1004,991,1002,1001,1001,991,993,994,996,1011,1021,1021,1013,995,1030,979,979,972,972,979,1002,992,1004,1013,998,977,989,983,995,999,988,990,1002,1020,991,989,1002,1065,1016,1000,998,1007,997,997,1033,1005,990,990,992,995,996,997,1013,1022,1020,1013,993,983,985,1007,990,990,988,987,994,994,986,981,1007,1016,1005,1011,1001,999,986,987,979,997,1019,1014,1012,1000,991,1009,1009,1007,992,973,985,983,1008,1011,1008,1006,1004,1003,1002,1018,1029,1018,991,986,989,992,994,995,983,975,987,991,986,996,991,996,1434,1006,994,982,972,982,981,995,994,1002,1020,1013,995,983,994,1010,994,993,987,1001,1015,1013,1011,1008,1005,1003,1023,1021,1025,1016,1010,985,1014,982,1002,483,1018,1014,1023,1060,1017,988,986,989,992,1005,1001,1000,997,995,994,996,1001,1069,1000,981,984,987,990,993,979,981,1423,990,988,988,969,972,991,992,996,1004,1010,1010,1007,1005,627,1033,1019,1021,1021,1017,1013,1039,980,969,987,985,989,992,988,990,993,995,996,1033,977,968,975,982,998,1005,1031,983,994,996,986,993,993,968,984,991,1017,1014,1009,998,1049,1002,985,986,1001,1045,1009,1003,1001,1001,1046,999,990,997,998,993,994,983,973,979,990,987,990,993,1013,997,1016,1021,1006,1021,979,980,984,995,991,992,994,998,1018,1006,995,1006,1022,1013,995,994,993,999,1039,1006,992,985,989,982,1005,1012,1009,1011,1010,1001,1006,999,999,999,998,987,977,981,986,989,992,994,994,1005,1392,959,973,992,997,998,998,999,1002,1023,1027,1024,1014,1056,1003,989,969,970,985,990,1006,1019,1007,1004,1007,1006,1002,1005,998,1019,1000,993,993,981,973,977,983,987,990,993,983,973,978,983,994,990,992,995,996,997,1070,1013,1005,1003,1001,1014,1024,1025,1014,988,983,986,990,1017,1008,1000,1002,987,987,990,992,995,1019,1020,1023,1010,1004,1003,997,989,986,982,998,1012,1016,1003,981,982,986,989,993,1000,995,996,998,998,998,1010,1028,1019,1012,1013,1006,1003,997,978,979,984,998,993,1000,995,1004,994,1000,1054,1024,1011,1005,1002,1002,1021,1021,1014,1009,1060,1004,991,1010,1019,1013,1010,1044,980,974,979,984,987,990,972,970,976,1021,985,981,986,989,1003,1002,993,1033,986,963,967,990,1027,990,980,981,987,1009,1014,1010,1008,1012,987,977,989,986,988,991,1001,1005,1053,987,996,988,1048,993,988,980,1006,1015,1017,1004,979,975,980,993,999,995,991,1043,987,1005,1009,1008,1010,1003,988,977,991,988,1023,995,984,985,1039,1005,1005,1004,1002,1016,1001,998,1012,1022,1022,1014,1009,1006,981,994,982,990,996,990,978,969,974,981,986,990,1005,975,978,976,1003,1008,1040,1012,1017,993,990,998,992,1002,995,995,1010,1008,1010,1015,1019,987,986,999,1012,1012,1059,1001,994,995,1019,1050,1016,1004,978,1001,981,982,986,989,977,971,976,982,986,990,993,997,995,1015,999,1002,994,993,1005,1005,994,1007,1009,985,1012,1034,987,985,1014,1015,1010,1007,1005,1010,1009,1044,1017,988,1000,1064,1010,976,983,979,987,985,986,999,1026,1008,1019,1015,1007,1003,1032,972,980,982,982,986,985,997,990,991,993,995,973,974,1005,982,984,988,993,970,1031,1004,1011,968,990,1001,1012,1082,1039,1025,1028,1012,1035,1003,977,972,977,962,966,972,980,981,967,982,978,981,999,1013,1011,1009,1006,1011,1018,999,1003,1006,1005,1029,988,986,1011,999,993,1008,1014,1012,1010,1008,1052,1005,1014,981,991,1016,1030,1017,1006,1000,978,978,983,987,994,993,999,995,995,974,975,980,992,999,998,991,1003,1060,987,988,983,984,1008,994,989,997,992,1014,1004,992,1014,1016,1012,1018,1007,1004,1013,999,996,988,984,978,989,984,1005,1014,1012,1024,1015,1013,996,998,1001,996,986,999,987,988,999,1004,1010,1005,1048,1000,987,966,975,977,983,1016,1021,986,982,1000,995,987,989,998,993,1013,994,993,1002,995,994,1039,1016,1010,1007,1004,1048,1024,1022,1027,1012,1001,1003,1009,991,973,974,980,985,989,997,993,1000,994,994,973,974,990,986,1010,999,995,997,986,987,997,993,999,995,1002,999,1013,993,995,1022,996,989,992,1015,1069,1009,999,997,1007,998,1021,1025,1016,1014,1027,990,998,1005,1000,996,980,985,980,983,1007,975,967,995,1001,1005,1023,996,981,983,984,981,1005,1010,985,990,988,1013,1017,1018,1011,1007,1007,997,1008,999,992,997,1023,999,997,989,990,992,994,998,1023,1051,1014,989,982,1000,1022,976,973,979,984,988,976,971,976,982,987,990,978,976,993,995,998,983,984,1001,1014,1013,1009,1006,1004,1006,1006,1021,1023,1017,1013,1043,1004,1022,1021,1017,1018,1008,1004,1002,999,978,978,982,987,991,996,986,995,1009,995,973,984,988,991,985,987,1002,1039,1012,1006,1008,1004,1000,1000,999,985,976,980,985,989,992,1010,1003,993,992,994,996,1012,1022,1017,1012,1008,1006,1005,1003,1026,1001,995,995,997,997,998,991,975,978,983,988,991,993,998,996,997,1004,998,1003,1006,1456,1140,1051,1003,978,992,984,989,998,1000,1057,1083,1385,1078,968,884,886,917,936,975,1018,1003,962,971,992,1011,1017,1027,1028,1059,1015,1003,1001,1000,1008,999,998,998,998,999,1052,993,988,990,1005,1016,1021,1021,983,981,985,989,995,1025,1015,1059,1013,994,994,1007,1049,1017,1003,1001,1011,1000,998,997,996,992,978,979,984,988,991,1018,994,991,993,1026,992,1000,1006,1013,987,988,990,992,1021,997,991,992,1008,999,1001,993,994,995,997,998,997,998,1015,1021,1018,1014,1009,1008,1005,1002,1016,1002,999,997,999,998,999,998,1009,1010,976,975,978,983,987,1007,1024,1012,1008,1004,1004,989,989,991,994,996,996,1010,1016,996,996,1009,994,991,1004,1008,1006,993,978,977,981,1029,1022,1003,1020,1033,1008,1003,1012,1000,998,980,990,982,983,987,990,992,995,996,997,998,998,998,999,999,999,999,999,999,999,1000,999,1000,999,1000,1000,999,999,999,1015,1010,1001,994,993,995,996,999,1001,1023,1035,1014,1008,1002,1002,1001,1000,1000,1000,1029,1008,992,992,994,1002,1005,994,994,996,998,997,998,999,998,999,1000,999,999,999,999,999,999,999,999,1032,1007,991,1001,992,993,994,996,999,1013,997,998,995,996,997,1024,1019,1000,988,989,992,1000,994,995,985,976,981,984,988,991,1014,994,992,993,1012,1019,1015,1010,1007,1005,1003,1002,1001,1002,1002,1001,999,1000,999,999,1000,999,1007,1009,997,997,1000,1002,997,997,997,998,998,999,1009,1038,992,989,991,993,995,1008,1006,1007,1003,991,992,993,995,1002,997,1003,997,997,997,998,998,1008,989,976,980,983,987,990,993,1001,1007,995,994,995,996,1001,1021,1023,1015,1012,1009,1012,1027,1019,1023,1011,1013,1015,1001,998,998,1006,997,997,978,983,981,1004,988,1000,1000,990,1002,991,974,974,992,983,984,987,990,992,994,996,996,998,998,999,999,1000,999,999,1043,1022,996,1009,1031,1023,1013,1015,1005,1003,995,988,992,983,986,999,999,991,1012,992,991,993,995,997,1008,1006,995,994,1006,1006,994,1004,1004,1004,998,969,973,980,984,987,990,993,995,1022,1296,1060,931,929,964,958,1013,973,996,974,998,1001,1001,1001,1192,1464,964,855,858,901,915,936,975,985,1027,989,1009,1009,1008,1012,1007,1000,999,999,999,999,999,1000,1000,1007,1013,996,995,996,1008,1004,995,995,996,1018,1033,994,994,999,1000,998,989,990,992,994,996,997,997,998,998,999,998,999,1006,1004,997,997,998,998,999,999,999,1008,1009,997,996,1006,1006,1004,985,972,977,983,989,990,993,994,996,1022,995,996,997,1000,992,998,997,1024,1038,1010,1004,1003,1002,1001,1001,1021,997,996,996,997,997,998,1011,998,996,1006,1002,995,1001,1002,996,996,996,997,998,998,999,1005,998,998,1004,998,1008,1002,1000,984,975,983,987,995,1013,1017,1033,1025,1018,1013,1017,1008,986,986,983,986,990,993,994,996,997,997,998,998,999,999,999,1009,1008,996,996,997,997,998,1033,1031,1039,993,977,980,984,988,991,994,995,1003,1007,996,1055,995,984,986,989,992,994,995,997,997,998,1029,1000,1004,992,992,1005,993,994,995,1030,993,991,993,994,996,1026,1010,979,969,974,981,986,990,992,1013,994,993,1010,1028,1012,1011,1029,1025,1018,1011,988,995,991,1001,1027,1009,1011,1010,1005,986,975,980,995,998,988,990,993,1005,1004,994,994,996,996,997,998,998,998,999,1009,1006,996,1003,996,1003,995,996,997,997,997,999,988,977,981,986,989,1053,1016,1006,1024,1020,1014,1010,1008,1011,1003,1006,1008,984,986,979,990,994,988,990,992,994,996,997,998,998,999,999,999,999,999,999,999,1007,1004,997,997,998,999,988,991,1014,1025,1021,992,997,991,992,994,1001,999,996,996,997,998,998,999,1001,1016,997,995,996,996,998,997,997,998,998,999,999,999,1021,1020,1023,1018,1005,979,991,996,996,986,988,991,993,995,997,1018,1012,1005,1002,989,990,992,995,996,997,998,998,998,998,999,999,999,999,999,999,999,999,999,1000,999,999,999,1000,1000,999,1000,1000,999,1000,999,999,1000,1001,1000,1000,1000,1007,992,976,980,984,989,991,994,995,997,1022,1017,1020,1026,1004,1001,1003,1006,1025,1042,1034,1029,1016,989,987,980,980,975,980,995,988,1000,991,992,994,999,997,996,997,998,998,999,999,1009,998,1004,996,997,997,1007,1007,997,995,996,996,997,998,999,999,999,999,1000,999,999,1000,1008,1021,1017,1012,1017,1014,1001,1009,1003,1005,996,1002,995,993,987,976,980,985,989,1015,1029,1034,1030,995,992,1000,994,1002,998,972,975,981,995,989,1000,992,992,995,996,1007,1007,994,995,1009,1009,1017,1013,1010,1007,1005,1011,1024,997,1028,1069,991,975,979,984,988,991,993,995,996,996,996,1020,995,993,994,1040,1111,1000,939,960,975,965,972,979,985,989,992,994,995,998,998,997,1004,1048,992,992,1012,1012,1009,1041,1003,999,996,996,1004,1004,995,995,996,997,998,999,999,1000,1000,999,999,1010,1013,995,1004,1004,993,994,983,988,989,979,983,987,990,993,995,994,996,997,997,998,1055,998,1030,986,995,1007,1006,1005,1003,1002,1001,1003,1001,1010,999,998,1013,1006,994,1009,1001,993,984,972,991,994,983,998,1000,987,989,992,993,1008,1011,993,1008,1004,991,991,993,994,996,997,997,998,998,999,1002,1001,1008,1011,997,1017,1018,1033,1033,1025,1016,1016,1015,1012,986,976,975,980,967,973,980,985,989,1004,1009,991,991,993,995,996,997,998,998,999,999,999,999,999,1000,1000,999,999,999,1000,999,1000,1000,1003,1005,1003,1005,1001,1003,1024,1040,1032,1022,1008,1000,999,1003,988,1000,999,980,981,985,978,982,986,1001,1015,1013,1020,1015,996,989,966,972,979,985,988,992,993,1007,995,1006,1003,1002,993,993,994,996,1004,1000,1004,1021,1017,1012,1022,1029,1008,994,994,1002,1003,994,1002,995,995,993,974,978,983,992,968,973,979,985,990,1014,1014,1010,1007,1005,1003,1003,1002,1001,1001,1000,1000,1000,1000,1000,1013,1007,995,996,994,996,997,1005,1021,1017,1012,1009,1008,1004,1003,1001,1001,1001,1011,1015,1006,987,983,974,979,985,998,1003,992,1007,1015,1021,1008,980,981,986,990,993,995,996,996,997,998,998,999,999,999,1000,999,1010,998,1002,998,1010,997,1006,1043,1037,1028,1021,1000,987,989,991,993,1005,1006,1004,991,989,971,984,980,984,989,992,993,995,996,996,998,998,999,999,999,999,999,999,999,999,1000,1027,997,994,995,1007,1004,1001,1003,1006,1021,1014,1011,1018,1028,1003,1003,991,991,992,994,996,997,997,998,1039,1005,1002,988,989,1007,999,1039,977,961,968,976,983,987,991,993,995,995,996,997,998,999,999,998,1007,1022,1018,1013,1009,1016,1016,1005,997,999,1000,1000,1000,1007,993,973,983,981,985,989,992,1041,1001,1009,1008,1010,980,992,984,987,990,992,994,996,999,1082,1337,950,933,931,983,956,963,973,983,1008,1009,1007,1005,1004,1003,1006,1006,1054,1040,1100,975,961,970,970,969,970,1009,999,997,1008,1018,1015,1011,1061,974,971,983,983,988,991,993,994,1024,994,992,993,994,1005,1033,991,988,991,993,995,996,997,1006,997,1036,969,980,988,985,1004,1008,999,999,1017,1038,1022,1015,1013,1004,1003,986,978,982,986,982,971,983,981,985,1001,1002,990,991,1028,1001,1011,1009,1002,992,982,985,989,998,1004,992,993,994,996,997,997,998,1011,1022,1018,1013,1009,1008,1012,1003,1003,1000,999,999,999,1000,1000,999,999,1004,1007,997,997,1001,984,975,980,985,989,992,994,996,998,1031,1043,1034,1025,1018,1014,985,984,988,988,978,974,979,985,989,992,994,995,997,1001,1007,1003,995,998,996,1010,1020,1018,1022,1018,1003,1000,1000,999,1000,1000,999,1012,998,996,997,1006,1348,962,907,942,940,954,1005,986,972,992,1021,1028,1022,1054,1007,1001,997,975,984,982,986,989,993,1032,1002,999,1001,990,990,991,992,995,996,1006,1007,996,1048,1003,982,983,987,998,1036,1013,1013,1010,1040,982,968,974,982,992,1028,1017,1006,1006,1009,1006,997,1004,989,972,977,983,995,992,976,971,977,983,988,1060,1035,1003,996,994,995,1011,1021,1017,1013,1009,1061,987,967,973,1005,982,983,987,991,994,995,1052,1000,1164,1357,920,871,882,893,930,983,971,995,1005,1016,1003,1000,1039,995,991,992,994,996,997,1000,1000,1002,997,998,998,998,999,999,999,999,999,999,1000,999,999,1000,999,999,999,999,999,1000,999,999,999,999,999,1000,999,999,1000,1000,1007,1009,1003,995,988,986,984,979,983,987,991,993,995,997,1012,1026,1024,1010,1018,1011,1007,1008,995,995,1006,994,973,975,987,1020,1016,1014,1001,999,999,999,1000,1008,998,979,988,979,983,988,991,993,995,996,997,997,998,999,999,999,999,1000,1007,1027,1042,1017,1061,1052,1063,1032,1036,995,986,960,967,975,954,955,982,1020,1022,1026,1022,1014,1040,1013,990,965,977,975,980,986,989,992,994,1006,1021,1020,1045,987,977,1005,977,1024,991,982,996,1037,973,959,967,981,1012,1015,1029,1037,1002,986,990,1027,1006,1009,1008,1005,1003,1000,978,979,996,988,988,991,994,996,996,997,998,1021,1001,1018,991,990,992,994,996,997,1027,995,992,1011,1018,1062,1014,1149,1006,938,931,935,966,971,1027,977,957,983,1009,1008,1006,1005,1003,1010,1025,1027,1047,1012,1007,1009,985,972,976,1017,959,986,972,989,985,980,993,1011,1031,1074,1019,1008,1006,1004,999,978,979,996,994,980,967,973,1013,981,982,993,993,1023,1033,1041,997,995,1004,1001,993,994,995,996,997,998,998,999,999,999,1000,999,1000,999,999,999,1000,999,1000,1031,996,993,994,995,997,997,998,998,999,999,1023,1023,1032,998,981,984,979,968,990,979,986,1001,1014,1010,1007,1005,1004,1002,1016,1016,995,994,1002,1003,992,971,987,980,984,997,443,1050,115,114,221,434,668,777,846,892,923,946,960,971,976,999,1009,1009,1007,1004,1004,1002,1008,1000,1010,1005,1000,977,979,1003,1051,981,980,999,1017,1004,1062,1012,1004,1002,1007,1005,1004,1002,1001,977,1011,986,977,981,991,997,999,985,969,974,978,984,988,990,993,995,997,1024,1039,1016,1007,1004,1001,583,1042,1023,1004,996,996,997,1008,1011,997,994,994,996,997,998,1046,1008,981,963,970,978,984,988,991,993,995,997,1023,1019,1015,1011,1008,1014,991,986,980,983,988,991,993,995,996,997,998,998,1007,1032,1018,1021,1015,1003,1001,1000,1000,1001,1014,1006,1008,994,993,996,997,997,1018,1026,1023,1042,1002,1004,979,973,978,975,973,971,977,983,988,991,994,995,996,1032,994,991,993,1002,1029,1016,1010,1014,1011,1012,998,1007,996,996,997,997,1006,1000,1002,978,975,979,985,989,1008,1035,1038,1029,1021,1015,1034,981,978,987,986,990,992,985,978,977,981,987,990,993,1014,1017,1014,997,996,1004,982,993,977,980,985,989,992,1005,1021,1016,1011,1028,1037,1066,1012,1013,987,988,977,992,1016,999,982,981,986,990,1002,987,990,982,975,980,986,989,1008,1026,1038,1031,1046,1015,1011,986,979,982,987,971,971,989,983,985,989,991,994,995,997,997,998,999,999,999,1427,986,1002,1005,1011,1025,1021,1016,1012,1008,1005,1008,1007,1007,1050,976,974,972,978,1028,1624,1136,1073,755,876,865,887,916,946,955,966,976,985,1010,987,987,990,1017,1041,1048,1041,1050,1040,1029,1022,1021,1010,1041,1033,1017,1036,1028,1020,1014,1010,1011,679,985,975,1040,992,974,978,983,988,992,993,985,1013,975,993,979,982,1009,1011,1008,1006,1054,997,991,1004,1002,1000,1014,989,990,1005,992,993,995,996,1000,1006,1007,995,994,995,996,997,998,1022,1029,1023,1017,1013,1009,1006,1002,980,981,984,1005,1005,1012,1002,1000,994,977,980,1013,969,988,1003,1026,1013,996,983,995,986,997,990,992,1005,994,994,999,1020,1028,1012,997,1001,1015,1013,1001,999,1009,1007,995,995,1006,997,995,1006,1006,994,995,1006,1031,989,985,1004,1000,992,993,994,996,997,1027,1027,1013,984,984,988,977,971,977,974,981,981,1010,1008,997,996,997,1010,1006,1009,1006,1015,1013,1024,1006,1355,1099,1037,1022,1015,1019,1007,1003,1003,1002,1052,975,966,971,459,1000,1000,1003,1000,985,976,981,985,990,1009,1010,990,1002,991,1051,986,1001,983,1001,974,990,994,1008,1022,1018,1083,1068,987,979,983,999,1011,1010,1007,1005,1004,1021,1016,1021,1016,1017,1001,1025,961,954,964,974,981,986,975,970,977,997,986,987,994,1016,1015,1013,1015,1013,1001,1000,1000,1015,1023,1018,1013,1016,1020,1001,1000,1009,999,996,1002,997,997,993,975,986,992,985,996,989,998,992,993,995,1002,1002,990,992,992,993,1002,1010,1007,1010,997,996,979,985,980,995,1011,1010,1007,1005,1004,1019,1029,1023,1017,1008,991,981,984,1040,988,982,1000,1014,995,993,994,996,992,1019,999,992,1027,1013,998,978,980,986,989,992,1004,994,994,1001,996,1002,1003,1001,1001,1001,994,995,1004,1027,1005,991,990,999,998,1002,993,993,1008,1028,1016,1000,1008,993,994,1008,1008,1005,1010,1002,1007,1005,998,993,975,977,992,995,988,990,992,1004,1005,1004,999,999,998,992,1001,994,995,996,1004,996,1003,996,1013,1024,1016,1015,1012,1034,974,973,987,983,1028,991,1010,1007,1006,1005,1003,1005,1005,1004,998,1007,998,973,981,990,984,987,1005,1075,1011,996,1001,1020,999,985,969,973,980,1019,985,985,988,1005,1015,990,989,991,1003,997,984,984,1005,1007,1011,1055,988,985,990,993,992,994,995,1011,1021,1017,1012,1009,1006,1005,1032,1009,1001,1002,992,993,995,997,997,983,975,991,1002,985,986,1000,1001,1005,989,999,991,1004,993,1004,1021,1006,987,988,1001,992,993,1005,1005,993,999,995,995,996,1012,1042,1023,1016,1002,1010,1007,996,995,997,1022,1028,1020,986,992,993,987,989,992,994,995,981,1018,974,975,981,998,989,990,1003,1003,992,992,1000,1019,1026,1024,1006,1011,1000,994,976,979,984,995,1001,990,991,1008,1018,1015,1011,1016,1006,1011,1009,998,1033,970,968,957,972,968,990,1004,1004,1004,1002,1040,1012,1016,1012,1020,1017,1009,997,988,974,987,982,985,989,1005,993,1007,1045,986,983,1001,1014,1014,1008,1005,1004,1002,1009,1001,1005,999,998,998,998,981,976,981,986,990,986,986,991,981,1003,1016,1022,1014,1007,1001,977,984,980,1001,1003,1003,1002,1001,1007,1484,1008,1016,1014,1008,997,995,996,1006,998,996,997,997,493,1029,1016,1011,1008,990,981,994,998,998,997,999,998,999,999,998,990,998,999,992,1011,1042,1021,1004,995,977,999,982,1002,1024,1000,981,982,987,1000,991,992,1014,1007,1011,990,998,1000,1004,1011,1009,1013,1007,1004,1002,1002,999,1018,1022,1018,1017,1008,1005,1004,1003,978,978,983,988,976,970,976,983,982,979,987,1010,993,988,988,1004,1016,1013,1010,997,1011,995,994,995,996,997,1015,1030,1003,997,990,1008,1013,1010,1013,1009,1002,1001,1000,1023,1000,994,995,996,997,991,975,978,991,987,999,1016,1024,1011,1015,1003,1008,999,982,975,980,985,999,1001,990,1006,992,992,994,1006,995,1006,1009,1001,992,1012,992,1027,1014,1009,1007,1004,1003,1001,1019,1032,1012,988,988,991,993,1002,1003,994,995,979,974,979,993,1002,988,989,1000,1005,1006,990,990,992,995,1003,1468,983,1001,1005,583,1016,1018,1009,1005,1041,1001,1029,1003,1016,986,1126,988,958,980,978,986,1006,1043,1007,1003,995,994,996,1005,1038,980,964,970,978,1064,967,963,976,999,1009,967,970,988,982,1024,993,984,996,997,997,1025,994,1008,1007,1018,1011,1006,1026,1000,1009,1001,988,989,992,994,1014,1017,1022,1003,984,985,988,991,990,993,977,981,986,988,992,1051,988,978,989,1010,1010,1014,1010,1002,1066,992,986,988,1000,1001,993,974,972,978,984,988,985,971,1001,1030,1001,1003,995,995,996,997,997,1016,1021,1017,1012,1009,1007,1012,1016,999,997,997,998,998,999,1002,1062,983,967,977,983,1002,1013,1007,1009,984,1307,979,975,966,963,970,978,1011,985,985,988,1011,1017,1012,1016,1012,1003,1001,1031,1023,1049,1014,1025,1021,1015,1010,1007,1050,976,972,975,961,1008,970,969,648,994,990,967,974,970,996,1003,1002,1002,1001,1019,1037,1004,987,1002,990,1041,996,982,1000,987,988,1011,1016,1016,986,1013,1336,1006,1007,1014,1012,1000,998,1004,999,997,1006,1006,996,995,996,1001,1000,990,1006,1006,993,979,974,978,998,998,988,989,1000,1003,1004,993,1006,1017,1015,1011,1009,1005,664,1053,1026,1017,1008,1033,978,990,979,970,990,981,998,977,974,990,983,1004,1048,1007,1006,1005,1058,1008,985,987,1000,1041,1010,1002,1001,1047,994,1006,1023,999,985,1014,986,985,988,991,1021,969,968,975,981,986,990,984,972,976,987,1056,1023,976,974,978,1051,1004,999,1000,998,1017,997,1009,1020,1058,992,977,979,979,988,978,972,996,1007,1010,1008,1002,1007,999,1012,975,974,980,994,987,995,1026,989,1346,985,1012,989,979,989,987,990,997,998,993,1009,1018,1043,1009,1002,1001,1000,1006,1024,1026,1014,1007,982,984,987,991,993,988,972,975,981,986,1000,991,992,993,728,1013,1023,1011,1002,1008,1000,1050,1006,986,982,994,974,996,996,977,1025,979,994,989,1007,1009,1008,1005,1003,1337,1085,1017,1000,979,982,986,990,992,1023,969,970,977,981,985,972,1001,973,976,996,1008,1007,1005,1004,1003,1009,1066,1021,1017,1004,978,981,1009,998,983,1001,638,978,985,994,995,992,1003,1010,1027,1022,1016,1002,1020,997,995,1014,1005,1052,996,988,983,995,1048,984,980,984,988,1002,968,975,977,983,995,1056,976,991,984,986,1042,999,995,988,1010,986,996,1012,1055,1003,1000,1014,1049,1023,1010,1009,999,997,977,975,980,986,990,993,973,973,980,992,988,990,992,994,1044,1026,987,986,1005,1011,1009,1012,1034,998,994,974,974,991,994,985,994,990,992,1008,994,994,1003,997,1674,1119,1082,1025,965,962,971,978,984,988,992,994,995,989,973,978,983,986,988,991,1610,852,863,917,918,938,954,996,978,1020,1053,1077,1107,1114,1095,1076,1051,1083,996,985,986,989,991,993,1030,995,985,1052,1042,978,975,981,983,987,1015,1003,993,1178,1018,1080,1058,690,1009,991,984,987,989,991,993,992,974,985,981,985,1011,1014,1010,435,1019,1003,1001,1011,1023,1027,1013,1002,983,984,1007,996,988,1000,1002,991,992,995,1009,1018,1015,1011,1008,1006,1012,1028,1028,1016,995,984,1012,986,987,990,979,997,973,977,999,988,987,990,1000,1018,1022,1017,1006,1029,999,1005,1006,981,1051,998,968,966,983,986,1052,977,983,988,986,994,1012,1015,1022,1004,1009,1008,997,996,997,1014,1014,1008,990,990,992,994,996,997,977,976,992,985,988,998,1023,998,987,996,991,992,1014,1027,1020,1013,1003,989,986,986,992,992,996,997,1014,1018,1010,1010,1003,978,1000,1005,1004,1008,1002,1000,993,986,990,1012,991,990,1000,1006,1013,993,979,982,994,1000,990,1000,1001,992,1002,993,992,994,995,1000,1017,1019,1015,1011,1008,1006,1004,1003,1018,1032,1008,989,989,992,1003,1004,1002,992,993,1012,1020,1022,994,983,986,985,990,977,976,980,994,998,999,999,1000,989,991,992,1012,1027,1020,1017,1011,1063,991,980,965,971,989,983,1011,1011,1022,1004,986,989,992,983,1005,999,995,987,1037,995,984,990,1012,1012,1010,1007,1004,1003,1011,1001,999,999,999,999,983,977,982,971,968,1052,1126,956,955,955,965,987,1003,1019,1016,998,1041,1002,1000,986,998,998,1007,1057,1014,1002,998,1006,1020,993,991,993,1041,990,997,988,990,992,1035,990,971,968,981,980,990,1012,1013,1014,1007,999,1003,1003,1006,1000,991,976,987,985,987,1005,1021,1017,1013,989,989,991,993,991,1012,1011,1017,1006,987,979,993,991,988,1005,1015,1013,1010,1007,1005,1004,1021,1427,1032,1018,1013,1008,1042,1000,996,976,976,999,990,985,1518,972,986,979,997,996,986,988,1055,1010,1009,1007,1004,998,998,997,1002,998,988,975,989,995,1004,1001,986,986,1010,1053,1006,999,999,1000,1023,1022,1017,1034,1005,1001,1000,992,976,979,979,964,971,978,984,994,992,992,998,1004,993,993,995,996,1017,1020,1020,1011,1009,981,981,986,990,1004,993,980,977,994,983,998,1011,1008,1006,1003,1002,1015,1025,1020,1014,1016,1013,1003,1009,999,998,999,999,984,988,983,1035,982,991,998,1028,996,993,997,979,993,996,986,1012,989,989,1015,1108,975,968,989,993,980,995,1004,999,987,988,993,994,999,1019,1017,1013,1010,1007,1050,1014,992,1017,999,986,988,1018,997,972,967,975,992,998,996,987,999,1000,989,991,1011,1019,1015,1010,1020,1013,1007,997,997,1029,971,970,977,992,989,1000,991,999,992,993,1012,1019,1016,1060,1012,994,993,994,1003,1004,430,1020,1036,1048,1019,989,986,989,991,994,995,991,975,1390,1069,998,952,955,772,847,947,1002,977,979,1068,1130,1117,1126,1110,1084,1068,1051,1033,1021,1021,1010,1005,1004,755,1021,998,988,990,992,993,995,996,990,975,1009,973,959,966,992,979,987,1009,1011,1008,1006,1013,1015,998,1012,1003,996,1024,1013,999,1008,997,989,975,988,996,993,987,1007,994,988,989,992,993,1010,1053,1012,1005,1002,1045,1011,1016,1012,1012,1017,1002,987,976,980,967,966,974,981,1001,987,990,1002,1001,992,1009,1017,1023,1002,982,981,989,1019,989,989,1007,1003,1001,990,1001,993,993,994,995,1014,1020,1016,1279,979,1035,979,740,1044,1017,994,1038,988,985,989,992,971,973,979,1000,987,1029,986,985,1005,1014,1019,1018,1012,1028,994,975,971,977,1014,984,985,1002,989,1002,1002,990,992,996,1005,1020,1001,1013,1012,1009,1006,1005,1003,1029,1026,1019,1013,1009,1057,999,1000,992,1014,1006,1017,1019,1043,1000,976,981,986,1014,979,981,985,989,971,970,977,983,1145,982,968,964,971,979,985,989,1030,1006,999,1001,1012,987,983,989,990,1011,1017,1031,1008,1003,1002,1001,1015,999,1002,997,1001,997,996,1039,992,989,991,990,972,985,981,994,996,998,1011,988,997,988,1025,1014,1000,1006,981,995,1000,1001,1000,987,1005,1035,988,998,1006,1006,1004,1003,1002,1014,1002,997,1022,996,992,994,1001,1001,1007,995,995,995,996,983,981,982,982,997,1021,998,985,1006,1020,1034,976,975,981,997,998,988,1001,991,1012,992,991,1004,998,1017,992,1038,1011,1006,1010,1003,1001,1000,1024,1076,1016,1000,994,974,975,1023,981,981,985,987,970,973,979,1025,995,980,982,989,1014,1023,1013,1012,1012,1000,979,981,993,998,1004,992,1003,985,997,1013,1021,1022,1006,999,998,998,999,999,1014,1003,995,995,1008,997,1001,1002,995,995,1046,968,967,979,1018,997,977,989,992,986,995,989,1013,1016,1013,1015,1006,1004,991,980,1007,985,984,998,990,990,1018,993,996,998,1000,992,1013,1017,1013,1009,1007,1006,1054,997,1012,1014,1012,1052,1001,994,971,973,979,984,989,1002,974,970,976,969,993,996,999,1004,993,993,995,996,997,1003,1003,997,1028,1019,1014,1009,1007,1008,1037,1004,992,993,1014,1027,1015,986,984,987,991,993,991,975,975,981,995,993,989,997,1002,992,999,995,1012,1007,1017,1014,1010,1008,1005,1017,1040,1034,1013,1006,980,979,983,988,991,981,972,977,983,966,969,984,985,985,988,1005,1026,1049,1031,1041,1039,1029,1021,1021,1010,1006,1003,1001,978,978,983,975,968,996,1004,1003,1008,1001,1000,995,976,986,982,986,989,1012,1017,1023,1009,990,980,998,1011,1010,1012,1004,1002,988,978,985,1048,982,1002,1022,1004,998,998,998,1005,1023,1021,1019,1011,1007,1005,988,978,983,964,968,975,989,985,994,992,1008,995,1014,990,1009,1015,1021,1008,1001,979,987,994,985,995,981,982,987,1073,1013,984,1011,988,999,1002,986,977,1004,1008,1011,1005,1008,1001,1005,1007,1004,1012,995,1012,992,992,1003,997,995,995,997,972,982,1003,1007,1024,983,1006,990,981,982,981,997,988,990,1013,1018,1015,1016,1050,998,996,1002,1001,1010,993,991,992,1011,1020,1018,1011,1005,981,980,989,992,991,1039,994,984,991,989,1034,989,982,966,970,977,984,988,975,978,993,1003,1004,1005,1006,1034,996,993,1006,1028,1024,1015,1008,1008,984,982,993,1018,982,982,986,1000,1014,1012,1009,1007,1004,1004,1025,1028,1019,999,986,986,989,992,994,983,973,978,982,965,973,992,997,998,1025,1005,1001,1000,1000,999,1020,1023,1017,1012,1013,1028,1011,1007,995,994,1004,1002,1001,996,994,1001,1020,1019,1058,1007,998,997,974,985,980,983,964,968,953,962,1041,1039,967,987,991,992,993,995,1005,1020,1018,1014,1014,1013,1004,1000,1009,1058,992,994,995,989,975,980,993,1010,1010,1000,999,998,1007,1004,1000,996,995,1032,993,995,997,995,995,999,995,1001,1002,997,1012,1021,1009,986,987,990,992,994,985,974,977,994,986,988,991,993,995,1018,1027,1016,1009,994,981,990,993,989,995,1009,1009,990,990,992,1005,1019,1016,1012,1009,1006,875,1016,1015,1009,992,980,982,987,967,970,978,991,1001,988,989,1032,1005,998,1009,1008,1006,1013,1007,1005,997,997,989,987,977,989,995,987,989,1024,989,989,991,996,995,995,1003,1021,1018,1014,1056,1002,996,1021,1033,994,984,997,988,990,1012,993,991,1035,991,987,989,972,972,979,991,987,989,1009,1004,1008,1019,1007,1007,1012,1013,1006,1028,994,973,972,977,983,1007,1003,988,988,991,1000,1018,1017,1024,1021,1061,993,986,984,977,988,997,1006,1002,1008,991,985,995,991,998,1008,1014,1004,993,992,997,1012,1004,978,979,995,1000,999,998,1006,987,1001,999,1014,1020,1008,999,980,988,984,1008,1020,1014,1004,1034,1005,993,994,995,1002,996,1048,991,986,967,969,977,1009,988,995,994,988,998,1016,1015,1011,1016,1012,1002,1033,1002,999,999,1010,980,998,994,995,996,989,974,978,992,993,1000,1000,992,991,1013,1017,1043,1006,1000,999,1012,1031,1023,996,993,986,988,991,993,1046,990,977,965,1006,985,975,991,984,987,996,992,993,1003,1042,989,997,997,1012,1019,1008,987,981,995,994,996,992,998,1013,1015,1012,1008,1035,1004,1001,1001,1041,1018,1009,995,981,983,966,968,976,1031,981,979,985,1008,1014,1011,1014,1005,1006,1010,999,979,976,981,986,989,985,972,980,994,972,976,999,1009,1008,1006,1006,1003,1008,1020,1022,1017,1013,1009,1014,1003,1001,1029,1005,1001,992,992,986,972,985,992,1016,990,996,984,1005,1012,1021,1006,984,994,993,1020,988,981,995,987,998,1000,1008,1014,1012,1019,1004,979,997,992,983,994,990,1002,997,994,1234,782,1037,981,929,929,892,918,934,952,967,974,1002,978,980,1014,994,989,996,1014,1016,1044,1048,1046,1019,1013,1010,1020,1014,1059,1053,978,971,985,982,988,993,1057,1007,999,999,1007,1008,1007,1016,1014,1015,1010,1008,1008,1001,1000,990,1033,1002,971,974,980,1015,986,985,989,992,994,996,996,997,1040,990,987,991,992,1023,992,990,992,994,996,997,997,1033,994,991,993,995,1000,1019,1017,1020,373,6,3,3,3,648,1015,1014,1013,1008,1005,1003,1002,1002,1001,1010,1013,1002,995,995,996,997,998,998,998,999,999,999,999,997,983,985,993,985,986,997,991,1004,993,993,994,996,997,998,998,998,999,997,997,998,999,1001,1005,998,999,997,997,998,1002,1001,998,998,1014,1020,1016,1012,1046,998,973,976,982,987,990,993,995,996,997,997,998,998,999,999,999,999,1000,999,999,999,1000,1009,1022,1020,1014,1010,1007,1005,1003,1002,1001,1023,1043,1052,1030,1027,1021,1008,1004,1003,992,208,256,251,341,453,607,698,744,806,860,897,916,1045,1082,919,899,919,940,957,968,977,983,987,991,1178,897,898,921,970,955,964,973,991,984,957,970,980,1024,988,1042,1081,1053,1054,975,985,1033,1085,1096,1079,1075,1031,1000,993,970,951,975,967,971,959,965,973,980,986,999,1015,1013,1047,1003,998,997,1042,991,987,990,993,994,996,997,997,998,1028,1005,1029,989,1002,986,1001,994,989,991,996,1008,1033,1052,1103,1039,999,992,970,972,978,991,995,978,968,982,986,987,1001,987,989,992,993,995,996,997,998,999,999,999,999,999,999,999,1000,999,999,999,999,1000,1000,1002,1005,1003,998,1007,1002,995,1004,1018,1016,1012,1033,1075,1011,983,982,986,997,996,992,993,990,1002,975,976,982,986,990,993,995,995,997,998,1015,1030,991,988,991,993,995,997,997,1010,1012,994,994,995,999,1005,997,1008,1019,1016,1012,1009,1006,1004,1003,1002,1001,1001,1011,983,989,1002,990,993,981,984,988,991,994,995,996,997,998,998,999,999,999,999,1011,1023,1020,1030,1008,1004,1002,1008,1000,998,976,1008,993,1000,1001,981,982,986,989,991,994,995,1007,1021,1018,1016,1010,1006,1004,1003,1002,1001,1011,1010,1004,998,971,985,978,983,987,990,993,995,996,997,997,998,999,999,999,999,999,1012,998,1009,996,996,997,998,1004,998,997,1002,1000,998,997,998,1018,1022,1017,1026,1011,1002,1001,1001,1002,1000,1000,999,1000,1016,1002,1004,1014,1000,979,972,1005,1006,977,986,477,965,1075,1064,1036,1025,1018,1013,1056,1000,994,995,996,998,1001,1007,1012,1023,1017,1064,1000,1012,1017,1012,1009,1023,994,979,990,983,994,988,989,992,994,1006,1010,992,982,972,978,1022,1021,1015,1026,1046,1025,997,985,985,992,990,987,989,1008,1007,1005,1014,999,1052,1058,1082,1058,1016,1043,996,1003,979,949,915,963,948,943,952,949,952,985,1020,1018,1029,1046,1065,1042,1029,1018,998,984,986,972,1014,970,959,956,979,994,977,991,1008,1008,1006,1055,1011,989,989,992,993,997,1021,1030,1007,1024,1219,1115,921,903,913,934,952,980,997,1000,1000,1000,1018,1024,1018,1013,1029,1001,983,985,981,985,988,991,994,995,997,998,998,998,998,1023,991,994,996,1009,1008,995,994,2995,927,893,872,879,941,957,950,956,962,1016,1048,1111,1025,939,964,1004,1098,1026,1012,1021,1065,1023,1048,1048,1036,1037,1018,993,989,992,990,1003,993,1040,1001,984,986,989,1115,901,910,946,948,961,997,999,993,1027,993,987,1009,1005,1022,1030,998,994,989,1000,1012,1021,504,8,4,4,4,7,119,2059,3025,2274,1964,999,876,882,909,934,994,998,1173,876,927,976,1017,1059,1077,1071,1054,1045,1028,1055,988,980,984,988,994,993,996,993,1000,998,998,998,998,1015,1022,1022,1012,1002,999,1003,981,983,987,996,992,993,994,996,997,1015,1042,1000,985,986,990,992,994,987,975,989,982,1013,998,998,1010,1008,1006,1004,1003,1019,1006,1000,1015,1019,1014,1013,1007,1005,1020,1007,997,997,997,998,998,998,986,976,980,985,998,1000,997,991,993,994,1019,1024,995,986,995,999,1006,1020,1005,985,986,990,998,993,1003,1000,995,1008,1024,997,1019,989,1038,1280,1022,913,919,944,963,972,977,982,986,998,1017,1015,1016,1007,987,980,984,988,991,1005,1002,993,996,1029,978,986,994,997,997,999,1041,1007,1018,1003,1010,1007,1004,981,979,1037,992,978,982,994,993,991,992,994,1005,1020,1018,1013,1009,1006,1004,1027,1033,1005,989,966,969,977,967,977,661,1124,1107,1080,1059,1042,1052,1046,1043,1025,1038,992,980,983,743,1000,999,1007,998,998,1009,1000,1008,995,994,1006,997,1011,994,993,1012,1020,1024,1019,1005,1003,1001,1005,1072,1024,1001,979,979,970,965,972,980,985,971,987,993,1001,1016,1000,998,1000,997,998,1006,1005,997,997,997,1015,1220,991,987,1032,1012,1006,1011,1003,1000,1006,999,999,999,1000,1027,1020,1022,986,982,964,967,975,982,987,990,1030,990,988,991,994,994,995,1017,1019,740,1020,1014,989,987,990,1002,994,993,1002,1022,1010,1001,1012,1018,1014,1055,1003,986,967,971,982,1006,986,985,991,1012,1059,1007,1009,999,996,1003,1007,1001,996,995,1046,1004,983,973,968,983,990,1001,1009,1008,1074,1002,987,994,1039,995,993,995,994,987,1003,1041,983,981,985,988,969,1025,972,984,983,983,988,993,1017,1046,1008,1002,1010,1000,998,998,998,1001,988,993,1009,983,986,992,998,1009,1008,1006,1013,1002,1180,1023,997,977,999,983,983,987,1013,1024,1013,1007,998,982,815,1004,977,985,982,1021,1009,1017,1012,1001,999,1000,1018,1022,1020,1063,1548,2081,4909,1461,931,915,623,1194,278,7,4,4,3,10,233,2931,2809,86,87,927,904,810,859,2030,1350,1211,1083,1020,1009,1006,1004]},"stackTable":{"length":6099,"prefix":[null,0,1,2,3,4,5,6,5,8,9,10,11,12,13,14,15,16,17,18,19,20,null,22,23,9,25,26,27,28,29,30,31,10,33,34,35,36,10,38,39,35,41,42,43,44,45,46,47,48,17,50,51,52,30,54,55,56,35,58,10,60,61,62,63,64,65,null,67,54,69,11,12,72,73,74,75,76,77,78,12,80,81,82,83,84,55,86,30,88,89,90,16,92,88,94,95,28,43,60,99,100,90,102,103,13,105,106,29,108,17,110,55,112,113,114,35,116,113,55,119,46,121,122,69,124,28,126,77,128,108,113,131,132,133,132,135,102,30,138,105,119,38,142,143,144,145,146,147,148,149,150,113,42,153,154,50,156,26,158,44,160,10,162,163,75,165,null,167,135,169,35,171,172,173,86,60,42,177,178,47,180,42,86,132,184,184,186,131,188,189,135,76,192,55,34,135,41,197,198,11,200,201,153,203,76,205,135,116,30,209,119,211,30,213,42,215,216,217,10,55,220,221,50,94,41,39,162,31,102,119,230,135,77,233,42,31,8,237,238,239,240,241,35,243,244,135,246,10,112,177,171,251,252,253,54,255,256,257,258,221,30,65,54,50,41,265,160,198,268,269,88,106,272,273,274,43,99,277,278,10,153,69,173,256,284,113,286,31,165,243,138,213,213,126,50,46,296,297,189,299,28,301,302,253,47,305,30,153,217,198,133,132,28,313,11,113,244,44,42,30,46,47,322,50,30,325,184,89,null,329,302,45,332,333,334,131,94,135,338,252,51,341,131,343,47,77,163,325,42,349,51,351,258,160,42,209,50,357,358,135,35,361,46,363,364,215,366,29,72,369,370,106,189,373,374,47,42,377,378,272,361,19,16,100,384,47,189,10,27,389,52,46,392,77,105,198,396,119,398,119,400,35,325,10,34,46,55,132,370,409,26,411,246,119,414,18,119,417,110,5,420,421,422,423,420,425,426,426,425,429,430,431,432,433,434,435,425,437,438,439,440,425,425,425,444,445,446,447,430,449,440,426,452,453,425,455,456,457,458,421,460,461,462,5,464,465,5,467,468,468,468,467,472,473,474,474,474,477,474,479,479,5,482,483,484,485,486,487,488,489,490,491,492,483,494,495,496,497,498,499,500,501,484,503,504,505,506,507,508,509,499,511,512,513,514,497,516,517,499,519,520,512,522,523,524,495,484,527,528,529,506,531,532,512,534,535,536,537,538,539,505,541,505,543,544,545,546,543,548,549,550,551,552,553,554,535,556,511,558,559,560,561,488,549,537,565,566,554,538,569,490,571,516,573,505,551,576,577,578,492,580,491,582,583,580,585,486,587,588,543,590,577,492,593,499,595,596,576,535,599,577,601,492,603,580,605,550,607,548,609,610,536,612,550,614,536,616,617,587,619,620,621,622,623,499,625,548,627,628,497,630,531,609,484,634,635,636,637,638,639,577,505,642,643,548,645,646,535,512,538,650,486,511,554,576,655,492,657,497,659,660,505,662,527,664,665,666,667,668,541,505,556,538,673,513,675,487,677,612,650,583,512,612,595,590,617,500,687,688,523,627,488,577,576,694,695,642,494,609,699,500,537,499,703,487,614,590,537,708,532,498,561,688,713,484,566,511,717,577,549,577,721,627,703,655,548,726,727,728,729,512,588,512,733,535,506,580,737,578,576,740,580,742,554,487,537,746,541,551,749,489,645,486,523,677,755,503,617,758,759,622,607,762,485,764,505,505,767,513,491,770,534,772,660,774,595,642,645,778,541,645,513,505,583,512,785,527,772,576,688,559,791,792,610,512,583,576,759,548,799,675,538,802,590,645,805,497,807,548,541,810,601,580,713,580,815,548,499,516,819,497,548,822,823,634,825,553,601,488,534,590,539,492,522,642,662,485,805,577,807,840,513,842,512,844,845,550,499,505,849,577,851,677,767,549,855,524,688,858,546,499,861,726,863,864,595,495,535,639,490,870,5,872,873,873,872,876,877,878,872,880,872,882,883,5,885,886,885,888,5,890,891,892,890,894,895,896,890,898,5,900,901,902,902,904,902,902,5,908,909,910,911,912,913,908,915,916,917,918,919,920,921,920,923,924,925,910,927,928,929,928,931,932,933,934,935,936,5,938,939,940,941,942,943,944,945,946,947,945,949,950,951,952,953,946,955,921,957,958,933,960,961,938,911,924,929,944,967,968,951,970,971,972,943,974,975,976,961,978,943,978,919,968,983,984,920,986,910,988,935,912,910,908,993,994,916,996,997,998,999,1000,910,971,1003,927,1005,946,952,928,976,910,1011,946,908,1014,1015,1016,1017,929,1019,1005,910,1022,910,921,1025,935,945,1028,943,1030,988,943,1033,1034,932,1036,944,1038,945,1040,1041,952,1043,929,1045,946,1047,934,946,1050,938,941,1053,953,950,1056,952,1058,941,1060,1011,943,1063,920,927,1066,1067,1068,1067,976,975,929,1073,1067,921,915,1077,1078,1079,915,929,1082,921,968,996,1086,1066,1014,1089,1090,928,1092,1063,919,1095,957,1005,945,1099,1100,932,1102,1103,1102,983,970,935,924,1109,933,935,1112,1038,957,1115,928,1117,1118,935,1120,1038,1122,1063,1003,1125,928,1127,1128,1129,1033,984,998,910,913,1058,919,1137,942,1139,934,911,1142,1143,940,1145,913,935,1014,1149,1150,943,976,943,957,1155,952,1157,1157,1159,1011,921,1162,1102,1137,1165,1127,970,1041,1036,1058,1171,1022,1067,968,1175,921,1177,1178,939,1180,940,1182,1183,1184,1185,946,941,1188,1189,910,1191,934,988,1058,1195,943,1197,974,916,1200,1201,1202,986,1204,945,1143,945,917,1209,1210,1211,1212,1213,961,1215,1216,945,1218,1219,1030,986,1092,1223,1011,1067,1226,1227,947,1165,1068,975,952,945,968,950,1236,908,1238,1030,910,1241,946,928,976,931,1246,1041,1248,994,924,928,1252,950,943,1255,1209,957,1258,5,1260,1261,1262,1263,1264,945,950,1058,974,1269,1270,1271,928,939,921,946,999,1277,1115,908,1236,1011,913,928,1269,1053,1286,1112,929,1197,911,1139,1038,945,1015,1014,1068,1297,1038,983,928,1301,1036,999,1304,908,1306,1307,1308,1309,1310,1311,1033,5,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1325,1329,1330,1325,1332,1333,1334,1335,1336,1337,1325,1323,1325,1325,1323,1343,1344,1345,1323,1347,1326,1349,1323,1351,1323,1353,1335,1343,1356,1357,1358,1326,1324,1361,1362,1323,1335,1356,1333,1333,1368,1361,1353,1343,1335,1373,1333,1336,1376,1344,1329,1325,1380,1358,1321,1383,1326,1337,1336,1321,1388,1325,1390,1391,1325,1345,1323,1395,1391,1326,1398,1395,1335,1391,1402,1336,1404,1323,1406,1333,1362,1409,1319,1345,1325,1413,1326,1415,1358,1417,1335,1362,1420,1390,1334,1423,1424,1425,1426,1333,1325,1332,1430,1324,1432,1395,1320,1335,1436,1437,1329,1333,1440,1357,1442,1344,1358,1335,1446,1447,1448,1333,1323,1325,1391,1325,1398,1321,1456,1351,1325,1459,1460,1326,1460,1463,1424,1465,1323,1319,1468,1362,1362,1471,1472,1473,1316,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1483,1487,1488,1489,1488,1483,1492,1482,1494,1495,1481,1497,1498,1479,1500,1501,1481,1492,1498,1500,1488,1507,1508,1509,1510,1481,1512,1481,1514,1495,1516,1488,1492,1519,1508,1521,1492,1482,1524,1483,1492,1527,1492,1529,1498,1531,1495,1527,1481,1500,1536,1484,1480,1539,1524,1492,1524,1481,1544,1492,1546,1510,1507,1549,1550,1492,1508,1477,1554,1497,1556,1557,1558,1483,1508,1480,1514,1508,1564,1565,1481,1479,1568,1569,1570,1509,1483,1558,1550,1575,1509,1577,1498,1487,1580,1492,1550,1583,1483,1585,1586,1481,1588,1557,1590,1580,1492,1593,1500,1595,1495,1575,1492,1483,1544,1544,1577,1495,1604,1507,1606,1479,1558,1498,1488,1611,1509,1514,1508,1615,1616,1617,1604,1619,1519,1583,1495,1606,1606,1564,1483,1627,1480,1485,1480,1631,1481,1633,1558,1516,1485,1637,1510,1588,1529,1606,1611,1544,1516,1483,1633,1531,1544,1492,1650,1521,1509,1512,1583,1588,1509,1657,1514,1606,1481,1564,1588,1531,1516,1565,1633,1492,1477,1492,1509,1671,1478,1673,1508,1514,1524,1492,1531,1679,1478,1681,1682,1683,1509,1558,1686,1619,1481,1481,1544,1509,1692,1550,1588,1544,1531,1686,1489,1583,1700,1554,1509,1550,1606,1483,1706,1707,1708,1483,1495,1508,1627,1483,1558,1627,1487,1717,1483,1682,1483,1721,1706,1723,1724,1512,1512,1727,1521,1729,1509,1569,1732,1477,1734,1707,1544,1509,1738,1508,1483,1741,1650,1497,1717,1477,1746,1483,1488,1524,1524,1495,1732,1673,1531,1507,1482,1593,1606,1489,1760,1550,1700,1509,1484,1492,1492,1509,1479,1769,1489,1509,1633,1577,1488,1492,1489,1570,1588,1724,1495,1494,1492,1558,1585,1492,1508,1554,1483,1509,1512,1700,1482,1633,1484,1488,1606,1479,1798,1492,1479,1575,1802,1492,1590,1482,1483,1492,1487,1558,1729,1492,1606,1480,1556,1483,1816,1529,1633,1508,1500,1494,1556,1823,1556,1508,1481,1497,1615,1489,1508,1831,1593,1492,1483,1575,1488,1492,1838,1611,1588,1841,1521,1717,1575,1575,1512,1673,1521,1495,1524,1497,1708,1558,1516,1485,1498,1588,1509,1516,1760,1590,1483,1509,1633,1509,1686,1564,1481,1575,1483,1509,1585,1556,1476,1509,1557,1650,1585,1619,1880,1802,1682,1883,1884,1671,1583,1617,1509,1590,1516,1891,1550,1588,1497,1549,1686,1580,1544,1479,1580,1593,1481,1556,1544,1905,1521,1492,1481,1492,1575,1549,1477,1488,1905,1683,1717,1508,1498,1512,1492,1509,1706,1546,1487,1717,1529,1492,1524,1524,1631,1514,1932,1637,1509,1508,1936,1479,1938,1679,1760,1564,1479,1707,1488,1588,1483,1947,1509,1500,1611,1509,1952,1558,1590,1650,1729,1524,1492,1507,1619,1588,1549,1557,1539,1679,1509,1509,1769,1969,1524,1627,1972,1973,1588,1619,1884,1509,1531,1544,1509,1500,1633,1972,1514,1483,1986,1481,1637,1734,1514,1936,1544,1484,1994,1681,1483,1512,1973,1482,1577,1479,1633,1508,2004,1798,2006,1514,1585,1483,1683,2011,1492,1488,1706,1492,1529,1508,1500,2019,1657,1544,1588,1692,1492,1673,2026,1539,1611,1509,1557,1488,1679,1615,1570,1583,1585,1631,1481,1488,1681,1936,1986,1544,1479,1514,1485,1657,1481,1509,2050,1700,1477,2053,1673,1483,1633,1577,1480,1479,1492,1514,1483,1514,1492,1489,1512,1617,1495,2069,1514,1484,1524,2069,1509,1507,1932,1586,1512,1507,1544,1544,1508,1549,1611,1529,1633,1706,1497,1488,1531,1536,1633,1650,1483,1679,1679,1692,1521,1492,1477,1905,1816,1482,1727,1524,2106,1484,1588,1650,1492,1706,2053,1479,2114,2069,1760,1501,1524,1633,1514,1802,1738,1611,2124,1611,1721,1932,1497,1616,1492,1512,1952,1492,2134,1527,1481,1972,1952,1682,1588,1616,1531,1508,1575,1508,1500,2147,1657,1673,1481,1616,1521,1483,1485,1585,1539,1500,1631,1539,1489,1583,1488,1531,1497,1514,1972,1492,1500,1509,1841,1501,1611,1546,1477,2011,1484,1633,1816,1611,1723,1673,1477,1969,1557,1483,1495,1508,1512,1479,2190,1516,1565,1947,1500,1519,1492,2011,1531,1509,1481,2004,1483,1546,1706,1884,1619,1489,1611,1512,2114,1516,1487,1729,1483,2215,1509,1760,2069,1831,1498,1479,1531,1476,1509,1558,1679,1683,1544,1489,1512,2006,1527,1509,1514,1905,1681,1483,1524,1952,1544,1531,1516,1554,1512,1606,1479,1477,1700,1884,1683,1973,1682,1531,1734,1508,1489,2147,1947,1727,1673,1488,1611,1524,1738,1492,1521,1611,2053,1707,2270,1500,1707,1524,1479,1494,1485,1823,1585,2069,1488,1706,1717,2283,1483,2285,1760,1708,1633,1497,1509,1550,1633,2293,1497,1479,2296,1972,1580,2299,1481,1727,1482,1708,1516,1734,2306,1527,1986,1544,1508,2270,1514,1516,1500,1617,1724,1554,1633,1727,1508,1617,1604,1564,1972,1802,1531,1514,1727,1760,2124,1583,1580,1509,1558,1478,1481,1481,1485,1509,2124,1619,1580,1554,2344,1627,1558,1580,2069,1952,1497,1483,1508,1492,2106,1509,1483,1508,1480,1492,1986,1569,1529,2293,1500,1479,2366,1531,1524,1673,1479,1485,1477,1509,1738,1577,1484,1816,1492,1509,1483,1492,1489,1633,1481,1841,1514,1604,1619,1700,1479,2391,1657,1509,1508,1556,1492,1556,1510,2283,1527,1816,1575,2270,1604,1539,2344,1508,1606,1482,1593,1489,1507,1570,2270,1692,1485,1508,1570,2419,1760,1637,1550,1606,1568,1568,1633,1617,2053,1521,1514,1494,1484,1738,1501,2134,1480,1673,2069,1509,1564,1483,2442,1606,1483,1509,1481,1724,1494,1508,1481,1512,1514,1738,1531,1611,1531,1611,1570,1932,1483,1489,1700,1489,1564,1760,1488,1611,1483,1682,1509,1492,1479,1521,1905,1637,1700,1509,1841,1544,1631,2481,1606,1619,1692,1481,1507,1485,1484,1692,1617,1480,1492,1550,1802,1479,2496,1539,1883,1831,1492,1831,1539,1611,1492,1708,1617,1611,1558,1492,1611,1633,1723,1481,1512,1679,1512,1509,1509,1484,1492,1583,1544,1577,1483,1524,1905,1488,1477,1932,2053,1583,2344,1512,1509,1492,1723,1575,1580,1633,1556,1936,1475,1516,1485,1619,1905,1557,2215,1488,1986,1823,2299,1514,2124,2296,1570,1519,1521,2190,1686,1514,1497,1615,1556,1952,1604,1544,2053,2006,1700,1683,1586,1479,2574,1717,2296,2577,1972,1729,1492,1558,1483,1577,1590,1633,1481,1516,1500,1802,1565,1619,1500,2296,1481,1631,1724,1727,1673,1880,1650,1569,1723,1588,1606,1936,2344,1492,1509,1514,2006,1509,1544,1521,1583,1512,1593,2293,1489,1769,1516,1488,2053,1883,1481,1633,1588,2577,1509,1633,1509,1604,1841,1508,1500,1816,1531,1514,1492,1519,1509,1617,1480,1516,1557,1585,1509,2004,1497,1479,1485,1492,1482,1508,1564,1588,2270,1494,2053,1619,1734,1514,1509,1524,1802,1492,1475,2106,1509,1708,1495,1489,1521,1512,1512,1481,1604,1484,1564,1479,1727,1519,1500,2683,1488,1986,1514,1481,1585,1549,1558,1627,1738,1884,1682,1544,1495,1619,1509,1564,1838,1492,1604,1500,1588,1477,2481,1593,1483,1546,1483,2270,1619,1483,1734,2574,1483,1495,1500,1558,1619,1512,1769,1969,2293,1802,1488,1476,1476,1500,2730,1577,1489,1549,1492,2574,1611,1724,1557,2069,1564,1492,1657,1492,1615,1604,1717,1724,2296,1550,1531,1478,1510,2006,1650,1480,1724,1512,1619,1544,1509,1588,1631,1544,1932,1492,1492,1708,1482,1483,1529,1564,1494,1554,1492,1524,1972,1507,1483,1932,1700,1482,1932,1481,1508,1483,2786,1972,1595,1802,1708,1557,1593,1481,2069,1487,1487,1489,1489,1508,1475,1529,1588,1488,1932,1831,1500,1479,1489,1531,2069,1932,1481,1483,1708,1479,2816,1657,1484,1544,1556,1482,1514,1738,1492,1484,1650,2293,1509,1507,1487,1521,1492,1487,1483,1905,1717,1509,2069,1557,1884,2004,1586,1746,2124,1841,1631,1495,1492,1683,1510,1936,1568,1557,1637,1489,1936,1494,2285,1544,1488,1492,1724,1489,1531,1972,1498,1489,1510,1588,2215,1514,1509,1575,1585,1633,2019,1631,1500,2106,1880,1489,1487,1479,1492,1717,1627,1539,1489,1500,1544,1508,1700,1524,1479,1615,1558,1512,1512,1484,1802,1679,1531,1508,1492,1509,1480,1707,1700,1477,1509,1972,1483,1500,1494,1529,1512,1724,1492,1531,1488,1588,2296,1972,1539,1588,1508,1550,1606,1604,1500,1509,1729,1585,1500,1481,1489,1481,1508,1700,1509,2124,1508,1500,1508,1679,1633,1479,1481,1558,1627,2069,1580,1514,1508,1558,1500,1521,1606,1544,1891,1524,2299,1509,1606,1481,1485,1606,1769,1524,1483,1508,1492,1706,1550,1932,1508,1512,1544,1588,1492,1489,2344,1550,1497,1593,1588,1544,1617,1531,1483,2053,2992,1485,1544,1497,2053,1477,1619,1507,1932,1492,1717,1492,1484,1932,1611,1673,2992,2683,1487,1558,1727,1802,1508,1479,1570,1905,1936,1637,1495,1544,1606,1619,2053,1485,1692,1509,1480,1524,1509,1509,1500,1492,1509,1501,1671,1497,1732,1633,1481,1481,1485,1619,1746,1823,2306,1488,1936,1831,1489,1519,1524,1972,1492,1498,1509,1616,1679,1500,1508,1483,1531,1479,3064,1604,1544,1497,1492,1831,1531,1484,2577,1986,1509,1588,1986,1616,1539,1488,1564,2050,1637,1554,1738,1565,2283,1637,1484,1514,1841,1891,2069,1816,1521,1564,1823,1564,2391,1498,1529,1482,1679,1514,1708,1509,2992,1880,1539,1580,1488,1514,1514,2683,1686,1512,1734,1611,1539,1606,2306,1508,2124,1512,1619,2147,1657,1508,3128,1481,1724,1544,1481,2816,1495,2114,1769,1483,1489,1588,1606,3141,1802,1510,1679,1972,1507,1508,1481,1891,2496,1708,3152,1557,1679,1569,1986,1531,1500,1972,1637,1708,1564,1485,1586,1905,1477,1611,2296,1516,1816,1700,1746,1841,1483,2496,1512,1686,1479,1615,1619,1495,1508,1673,1539,1531,1544,1734,1679,1492,2053,1570,2019,1724,1524,1831,1521,2124,1617,1516,1479,1564,1546,1972,1483,3205,1516,1738,1492,1539,3210,2050,1497,1683,1531,1492,1564,2344,1479,1509,1483,1550,2006,1512,1557,1604,1557,1483,1550,1531,2006,1531,2344,1488,1514,2026,1606,1724,1841,2006,2293,2019,1905,1717,1489,1891,1509,1637,1500,1512,1509,1482,1497,1583,1798,1700,2683,1531,1558,1816,1724,1514,1495,1588,1492,1508,1479,1686,1485,1838,1524,1483,1483,1884,1483,1485,1816,1569,1706,3064,1485,1585,1477,1483,1673,1509,1671,1483,2106,1604,1509,1708,1524,1619,2270,1531,1564,1509,2011,1841,1556,1488,1483,1485,1724,1484,1936,1508,1509,1692,1615,1482,1477,1546,1700,1657,1549,1544,3141,1546,1831,1615,1554,1986,1484,1477,1972,1492,1734,1483,1686,1650,1802,1724,1509,1708,1565,1631,1738,2683,1484,1482,1514,1519,1500,1531,1508,1500,1583,1516,1479,1488,1682,1509,1554,1479,3356,1565,1498,1568,3360,1586,1692,1498,1483,2069,1500,1708,1938,1509,1510,1479,3372,1637,1492,1489,1500,1760,1554,1721,1514,1679,1492,1880,1509,1516,1585,1604,1544,1481,1475,1746,1508,1509,1816,1484,1508,1619,1483,1512,1514,1480,1500,1508,1588,2481,1509,1480,1481,1479,2124,2992,1619,1495,1483,1972,1516,1588,1633,2992,1905,1570,1531,1483,1482,1932,1969,1516,null,3429,1707,1769,1973,1485,1514,1484,1485,1686,1492,2299,1544,1476,1508,1514,1708,1488,1494,1479,1905,1619,1593,1580,1508,1539,1738,1516,2019,1611,1485,1509,1544,2069,3462,1516,1708,1521,1492,1509,1521,1510,1606,1557,1727,1489,1481,3141,1554,1514,1521,1681,1510,1492,1550,1483,1495,1492,1633,1569,1568,1637,1483,1492,1481,1476,1883,2069,1479,1556,1479,1524,1483,1484,1938,1565,1479,2344,1492,1568,1315,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3518,3522,3518,3524,3518,3526,3527,3528,3527,3518,3514,3532,3516,3524,3527,3536,3537,3538,3539,3517,3541,3542,3543,3528,3524,3546,3536,3548,3514,3542,3551,3552,3524,3554,3518,3556,3536,3558,3559,3560,3512,3517,3516,3564,3565,3566,3567,3568,3551,3516,3571,3548,3564,3574,3575,3548,3541,3574,3543,3580,3556,3582,3583,3537,3532,3538,3587,3516,3589,3590,3524,3571,3520,3594,3516,3596,3542,3566,3528,3600,3527,3602,3516,3604,3551,3517,3607,3565,3587,3571,3604,3524,3613,3538,3514,3567,3516,3618,3575,3620,3538,3560,3537,3624,3625,3514,3567,3559,3629,3630,3596,3537,3518,3634,3604,3537,3514,3638,3639,3640,3527,3551,3538,3644,3618,3546,3548,3596,3649,3518,3566,3604,3511,3537,3613,3518,3657,3537,3556,3660,3661,3602,3596,3524,3665,3546,3514,3524,3558,3515,3671,3604,3514,3674,3575,3660,3677,3542,3551,3537,3537,3514,3683,3684,3575,3660,3537,3524,3689,3541,3613,3618,3575,3512,3695,3526,3697,3524,3699,3516,3613,3607,3602,3537,3543,3602,3538,3708,3583,3677,3548,3537,3516,3630,3596,3537,3564,3589,3589,3538,3526,3524,3723,3618,3604,3596,3620,3566,3729,3536,3538,3551,3520,3526,3551,3620,3697,3624,3618,3532,3513,3742,3743,3684,3551,3519,3747,3574,3520,3524,3751,3560,3537,3754,3755,3756,3743,3560,3515,3618,3542,3618,3604,3532,3765,3630,3604,3618,3543,3580,3596,3574,3537,3657,3775,3516,3518,3527,3689,3512,3548,3518,3644,3602,3618,3786,3689,3556,3538,3790,3542,3607,3516,3551,3517,3564,3538,3524,3538,3536,3516,3556,3514,3804,3528,3524,3538,3604,3518,3810,3811,3559,3532,3786,3657,3560,3657,3583,3518,3804,3575,3567,3514,3532,3825,3510,3560,3567,3518,3830,3571,3558,3775,3567,3565,3589,3537,3838,3602,3518,3841,3528,3620,3567,3524,3625,3607,3546,3604,3630,3554,3512,3853,3697,3575,3520,3602,3518,3604,3860,3607,3532,3863,3639,3865,3775,3560,3677,3537,3528,3589,3677,3518,3516,3516,3527,3513,3878,3699,3661,3689,3514,3604,3649,3811,3564,3786,3571,3514,3754,3567,3565,3551,3575,3589,3537,3527,3560,3565,3528,3515,3695,3541,3729,3677,3514,3520,3589,3589,3532,3537,3912,3565,3524,3624,3514,3518,3514,3919,3920,3542,3524,3538,3524,3689,3538,3538,3928,3538,3537,3931,3542,3528,3594,3580,3671,3697,3551,3514,3514,3941,3516,3538,3944,3560,3946,3765,3878,3697,3537,3951,3571,3953,3541,3526,3583,3528,3590,3607,3571,3571,3514,3963,3560,3775,3574,3583,3644,3514,3970,3742,3554,3528,3518,3514,3532,3977,3524,3587,3516,3571,3542,3520,3624,3511,3607,3528,3559,3583,3580,3524,3590,3589,3532,3754,3565,3519,3860,3596,3537,3580,3524,3742,3552,3575,3537,3644,3649,3516,3560,3853,3751,3548,3811,3853,3516,3538,3518,3695,4020,3624,3790,3528,3519,3729,3548,3524,3618,3518,3527,3671,3853,3618,3618,3575,3751,3514,3660,3811,3517,3512,3524,3618,3524,3524,3625,3951,4048,3624,3596,3524,3518,3532,4054,3607,3618,3542,4058,3538,3512,4061,3527,3751,3618,3538,3625,3538,3564,3699,3518,3811,3532,3649,3590,3532,4076,3756,3575,3528,3838,3538,3532,3743,4084,4085,3607,4087,3618,3512,4090,3511,3548,3554,3514,4095,3684,3519,3604,3518,3970,3551,3567,3538,3708,3546,3524,3629,3538,3548,4110,3860,3620,3912,3517,3543,3589,3946,3564,3520,3786,3512,4085,3532,3524,3583,3551,3538,4128,3708,3566,3567,3953,3514,3743,4135,3538,3526,4138,3620,3524,3514,3689,3567,3754,3542,3671,3594,3607,4087,3512,3607,3878,3538,3520,3548,3811,3583,3538,3566,3865,3526,3518,3853,4164,3677,3519,3811,4138,3538,3518,3567,3590,3589,3596,3697,3518,3841,3524,3517,4110,4048,3564,3517,3567,3541,3571,3941,3538,3527,3537,3537,3516,3528,3520,3537,3729,3754,3607,3625,3532,4201,3528,3644,3559,4090,3524,3524,3602,3519,3810,3684,3524,3520,3517,3515,4216,3697,3511,4090,3751,3537,3537,3604,3931,3571,3546,3618,3543,3743,3518,3565,4110,3708,3539,4048,3953,3514,3671,3527,3639,3542,3600,3629,3838,3620,3514,3524,3526,4128,3624,3629,4020,3538,3756,3970,3629,3575,3520,4138,3751,3756,3552,4087,3558,3689,3618,4138,3775,3580,3526,3560,3524,3538,3699,3518,3607,3853,3607,3841,3568,3671,3532,4138,3756,3583,3629,3620,3543,3865,3519,3589,3624,3580,4294,3542,3620,3538,3517,3660,3754,3537,3575,3624,3596,3548,3526,4216,3677,3539,4087,3708,3518,3518,4314,3590,3559,3538,3514,3527,3596,3565,4322,3556,3554,3543,4135,3538,4048,3596,3928,3537,3528,3524,3589,3519,3689,3575,4058,3671,3604,3580,3607,3677,3790,3786,3607,3532,3649,3515,3524,3518,3537,4322,3575,3560,4058,3538,3970,3853,3527,3537,3528,3524,3630,3543,3618,4216,4368,3538,3527,3677,4138,4373,3951,3524,3537,3514,3524,3514,3575,3574,3587,3596,3630,3596,3527,3515,3524,3558,4020,3524,3543,3524,3564,3528,3697,3786,3629,4294,3970,3528,3657,3538,3677,3518,3602,3755,3538,3537,3825,3551,3559,3538,4110,3575,3518,3977,3539,3548,3554,3571,3604,4090,3838,3515,4135,3594,3532,3639,3524,3624,3514,4314,3551,3825,3537,4437,3528,3519,3517,4373,3620,3604,3602,4445,3522,3931,3524,4322,3634,3620,3526,3556,3580,3528,3786,3604,4138,3970,3538,3589,3571,3640,3524,3510,3604,3514,4468,3566,3542,3743,3524,4084,3524,3946,3518,3518,3594,4110,3649,4095,3524,3756,4445,3620,3729,3524,3538,3564,4061,3524,3575,4437,3575,3953,4085,3941,3564,4076,3590,3538,3524,3674,3559,3512,3634,3941,3751,3541,3589,3512,3699,3518,3511,3568,3548,4437,3567,3516,3532,3699,3853,3951,3699,3756,3589,3607,3657,3524,3860,3853,3574,3951,4020,3515,3510,3560,3527,3571,3522,3838,3811,3729,3602,3920,3567,3624,3571,4090,3538,4058,3751,3571,3657,4058,3580,3515,3860,3630,3677,3618,3514,3657,4076,3811,4216,3602,3518,4058,3518,3594,3575,3524,3514,3554,3524,4090,3514,3528,3600,3518,4582,3526,4061,3542,3604,3526,3514,3515,3790,3551,3594,3838,3607,3607,3536,4138,3596,3559,3518,3514,3865,3537,3538,3618,3602,3841,3556,3537,3538,4058,3604,3527,3543,3629,3810,3537,3677,3538,3539,3790,3560,3607,3618,3516,3600,3860,4216,3524,3594,3516,3630,3583,3695,3543,3524,3684,3618,3518,4058,3634,3538,3526,3630,3560,3575,3618,3538,4216,3524,3537,3613,3524,3551,3580,4437,3520,3511,3548,3520,3580,3538,3538,3620,3543,3516,3568,3567,3538,3677,4671,3538,3928,3538,3587,4061,3528,3618,4373,3638,3754,3564,3695,3600,3589,3811,3607,3541,3931,3589,3519,3543,3564,3756,3589,3518,3516,3583,3551,3518,4701,3677,3528,3571,3527,3527,4084,3640,3536,3538,3754,3657,3518,3810,3518,4201,3524,3564,3552,3600,3564,3538,3607,3532,3520,3532,3602,3786,3583,3528,3537,3575,3519,3590,3514,4736,3575,3539,3613,3756,3512,3551,3565,4138,3607,3514,3928,3629,3587,3528,3838,3537,3689,3537,4445,3618,3519,3522,3520,3520,3756,3708,3551,3649,3590,3810,4087,3538,3567,3951,3634,3620,3524,3865,4775,3517,3602,3514,3589,3589,3970,4782,3538,4164,3541,3532,3516,4775,3602,3589,3946,3657,3607,3518,3517,3538,3559,3624,4076,3546,3552,3527,3510,4135,3537,3538,3568,3587,4582,3539,3524,3514,3567,3538,3567,4138,3520,3514,3565,4090,4821,3548,3566,3526,4084,3528,3865,3754,3516,3878,3537,3518,3944,3600,4437,3551,3931,3613,3600,3516,3524,3538,3607,3649,3582,3604,4138,3596,3590,3620,4294,3565,3596,3538,3516,3920,4821,3613,3618,3560,3775,3526,4061,3644,4058,3512,3538,3518,3524,3524,3841,3671,4873,3811,3697,3786,3568,3596,3575,3528,3604,3649,3536,3514,3604,3556,3528,3575,3514,4890,3565,3548,3528,3567,3657,3538,3765,3661,3575,3580,3566,3548,3541,3538,3567,3532,4907,3625,3600,4671,3596,3524,3618,3671,3953,3516,3512,3548,3519,3811,4921,3517,4085,3512,3538,3518,3524,3604,4201,3953,3538,3613,3567,3560,3607,3524,3538,3574,3514,3575,3951,4087,3537,3841,3941,3556,3878,4948,3537,3524,3607,3538,3625,3580,3596,3514,4957,3825,3618,3524,3552,3575,3538,3524,3538,3543,3551,3582,3524,3551,3564,3878,4445,4138,3618,3560,3671,3571,3602,3548,3522,3786,4128,4110,3542,3607,3515,3536,3596,3755,3522,3853,4138,3765,3657,3538,3613,3524,3532,3560,4216,3723,3528,3638,3755,3565,3575,3537,3527,4164,3518,5012,3527,4701,3524,3548,3538,3604,3946,3751,3729,3596,3537,3596,3554,3575,3941,3596,3596,3620,3516,3786,3519,3810,4445,3514,3546,3970,4110,3538,3970,3515,3514,5044,3538,3590,3538,3624,3532,3560,3543,3602,3811,3618,3532,3518,3524,3526,4138,3518,3583,3556,4294,4090,3532,3620,3518,3520,3538,4048,4873,3963,3607,3522,3587,3522,3514,3538,3522,3946,3518,3624,3754,3518,3559,3526,3620,4135,3618,3558,3519,3695,4216,3565,4437,3524,3571,3520,3532,3510,3519,3518,3519,3532,3589,3624,4048,3542,3589,3568,3590,4873,3552,3518,5115,4445,3571,3543,3543,3518,3524,3527,3538,3519,3919,3878,3602,3618,3825,3571,3567,4087,4084,3513,3518,4020,4090,3536,3537,3511,3564,3841,3512,4445,3527,3951,3543,3811,3751,3743,3589,3596,4921,3865,3607,3587,3587,3602,3565,3671,4087,5044,3537,3538,3841,3551,3928,4821,4294,3618,3512,3514,3775,4294,3524,3941,3755,3919,3571,3590,3618,3786,3519,3618,3596,3532,3519,3723,3538,4437,4135,5192,3640,3590,4135,3775,3514,5198,3580,4135,3624,3524,3919,3524,3517,3518,3542,3941,3587,4322,3536,3537,3514,3537,3524,4775,3644,3689,4437,3580,3519,3853,3607,3600,3564,3538,3602,4054,3878,3518,3860,3518,3532,3661,3516,3810,3517,3522,3575,4314,3538,3951,3708,3754,3589,3524,4445,3567,3514,3811,3566,4054,3589,3629,3548,3571,3519,3568,4058,3538,3754,3537,3946,3522,3931,3527,3695,3607,3560,3775,3697,3743,3951,3518,5275,3602,3596,3524,3560,3538,3630,3537,3524,3515,3629,3526,3522,3671,3575,3514,3638,5292,3537,3625,4445,3841,3519,3756,3596,3600,3838,3629,3524,4890,3618,3574,3571,3582,3582,4216,5044,3519,3951,3542,3602,3528,3538,3853,3526,3853,3564,3522,3542,3838,3542,3524,3786,3513,3602,3566,3539,3516,3708,3519,3516,3532,3516,3825,3524,3524,3532,4135,3517,3580,4135,3951,4084,3565,3677,3536,3524,3699,3919,3516,3743,3538,3613,3548,3583,3587,3624,3541,3644,3689,3604,3514,3524,3607,3532,3518,3620,3551,4110,3630,4921,3528,4782,4058,3519,3556,3551,3564,3587,4085,3574,3743,3518,3551,3538,3538,3751,3841,3951,3594,5115,3519,3775,3538,3583,3582,4054,3775,3515,3811,3538,3537,3810,3649,3575,3567,3514,5412,3510,4110,3538,3589,3567,3790,3517,3754,4054,3618,3538,3657,3708,3514,4138,3580,3552,3527,3589,3515,3604,3574,3624,3708,3634,3524,4058,3575,3527,3532,3604,3657,3624,5115,3860,3516,3526,3520,3514,4020,3538,3518,3518,5456,3677,3518,3536,3604,3536,3510,3528,3542,3600,3790,4095,3571,3790,3747,3511,3755,3624,4164,3546,3695,3537,3567,3657,3564,3536,3558,3520,3589,3838,3589,3580,3559,3532,3518,4076,3514,3970,3657,3542,3683,3604,3629,3512,3602,3566,3574,3538,3697,3751,3574,3516,4138,3539,3515,3683,3596,3571,4775,3532,3538,3538,3568,3928,3589,3624,3865,3542,3566,3542,3524,3524,3517,3640,3865,3518,3524,4314,4921,3518,3571,3756,4054,4957,3519,3516,4020,4061,3514,3583,3548,3532,3604,3543,3811,3518,3589,3589,3527,3517,3518,3515,3566,3554,3542,4095,3810,3518,3567,3524,3538,3596,3524,4437,3520,4701,3674,3587,4095,5198,3568,3697,3564,3524,3514,3624,3602,3538,3548,3524,3518,3580,3538,3786,3538,3524,3528,4921,4437,3920,3558,4061,3527,3629,3604,3517,4437,3697,5604,3751,3811,3518,5608,3596,3514,4921,3559,3697,3524,3560,3671,4736,4058,3515,3538,4084,3538,3537,3589,3574,3527,3538,3548,3583,3538,3514,3519,3838,3538,3527,4058,5637,3520,3660,4048,3524,3551,3518,3537,3548,4048,3928,3524,3657,3514,3558,3634,3520,3878,3564,3630,3600,3811,3528,4437,3516,3567,3518,3517,3624,3580,3683,3515,3536,3811,3590,3596,3524,3589,3649,3524,3596,3538,3514,3928,3790,3524,3629,3537,3548,3520,3811,3526,4058,3607,3554,3571,3560,3512,4216,3589,3571,5192,3624,3518,3538,3665,3684,4671,3510,3537,3518,3618,4373,3516,3565,3519,3551,3953,5275,3517,5604,3512,3618,3620,3574,3517,3512,3551,3551,4135,3551,4582,3543,3946,3575,4090,3524,3695,4437,3524,3546,3538,3567,3865,4138,3528,3580,3514,3977,3524,3517,3786,3596,3532,3548,3723,3660,3526,3516,3532,3541,3920,4671,3524,3551,3596,3729,3699,3520,5604,3838,3536,3589,3524,4128,3538,3556,3559,3695,3589,3618,3515,3527,3865,3567,3538,4821,3810,3951,3790,3520,3697,3519,5637,4058,3742,3589,3755,3649,4076,3515,3519,3518,3532,3520,3551,3953,3511,3649,3518,3638,3538,3518,3580,4873,3580,3604,3841,3513,3524,3528,4135,3568,3699,3575,3754,3528,3671,4087,3575,3559,3551,3607,4095,3604,3559,3524,3747,4216,3697,4090,3524,3532,3538,3548,3580,3810,3951,4921,3565,3518,3589,3618,3538,3620,3532,3524,3953,3919,5192,3695,3524,4048,3841,3514,3756,3566,3516,3518,3620,3532,3518,3661,5044,3512,3551,3537,3657,3620,3811,5412,3538,3600,3951,4873,4216,3528,3518,3811,3532,3878,3618,3537,3538,3524,3677,4048,3519,3537,3515,3618,3695,3543,3538,3518,3756,3538,3860,3644,3590,3575,3551,3582,3580,3516,3518,3756,3630,3556,3518,3695,3604,3537,3565,3951,3532,3747,3677,3811,3548,3620,3528,3639,3516,3596,4468,3567,3552,3625,3582,3790,3538,3538,3567,3556,3537,3522,3559,3514,3524,3583,3649,3602,3528,3515,3699,4085,3625,3560,4135,3527,4135,3630,4048,4445,3630,3594,3594,3566,3977,3524,3524,3625,4873,3512,3755,3536,3516,3624,3560,3528,3931,3524,3520,3865,3811,3532,3765,3742,4921,3536,3695,3518,3517,3538,3536,3556,3580,4085,3527,3524,3546,3811,3516,3629,4782,3537,3941,3536,4322,3677,3522,4201,3963,3519,3524,3589,1314,6015,6016,6017,6018,6019,6020,6021,1314,6023,6024,6025,1314,6027,6028,6029,6030,6031,6027,6033,6033,6035,6036,6037,6033,6039,6040,6041,6035,6035,6044,6045,6035,6045,6035,6035,6027,6051,6052,6052,6052,6027,6056,6057,6057,6057,6060,6061,4,6063,6064,6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,4,6080,6081,6082,6083,6084,6082,6086,6087,6083,6089,6090,6080,6092,6093,6093,6095,6093,6093],"frame":[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,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,28,42,43,17,28,44,45,46,28,44,45,47,41,28,48,49,50,51,52,53,54,55,56,57,24,58,59,60,37,61,62,14,15,16,17,28,48,49,63,64,55,56,57,24,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,60,89,42,43,71,51,31,90,91,44,92,65,93,94,82,95,48,49,44,96,97,17,28,48,98,44,99,51,100,51,101,102,103,54,55,56,57,104,105,106,107,108,109,44,110,111,112,113,114,51,71,115,116,117,118,119,37,120,24,110,47,67,73,74,121,122,123,65,93,124,125,47,126,127,65,128,93,94,18,19,129,130,60,90,131,132,133,18,19,134,85,135,136,137,47,18,138,139,140,50,51,45,47,36,90,112,69,81,141,142,143,74,144,145,146,147,148,149,150,37,151,152,153,65,154,131,90,155,64,55,56,156,7,100,82,157,137,152,158,159,160,68,69,81,161,18,19,162,74,163,121,164,165,166,167,60,37,90,162,74,121,168,135,169,170,171,172,173,174,24,175,99,140,176,20,177,119,51,37,90,178,90,37,179,180,181,48,182,183,20,37,143,74,121,37,184,185,186,187,161,188,189,131,112,190,191,192,193,194,145,195,196,110,47,197,198,97,199,190,200,24,201,18,19,20,202,203,204,45,47,205,137,47,60,90,206,126,207,208,209,210,151,47,211,97,212,90,65,93,94,213,198,51,112,214,215,214,216,217,84,85,218,219,162,74,176,220,143,74,121,221,97,134,192,222,223,224,134,225,60,90,226,227,228,229,230,20,51,125,226,137,185,231,232,233,234,131,235,229,135,221,236,51,185,184,47,237,110,47,238,239,240,241,242,243,244,245,246,247,248,249,250,64,55,56,156,7,251,252,253,249,254,255,247,256,257,258,249,259,260,261,259,248,249,259,262,253,249,263,264,265,253,249,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,9,10,11,12,13,14,15,16,17,28,286,25,26,27,28,29,30,67,73,204,33,34,35,67,68,69,81,90,41,28,44,151,47,44,110,287,36,82,95,65,93,288,289,290,52,291,292,293,73,294,295,42,43,17,28,44,137,287,100,296,41,18,19,20,51,28,42,43,17,18,19,20,37,71,90,18,19,162,74,297,298,299,65,93,183,150,184,47,119,97,45,47,300,28,44,151,47,44,102,18,19,301,151,226,62,84,61,60,97,133,65,302,100,82,303,212,119,208,137,304,48,189,184,47,71,97,65,93,94,60,305,119,306,18,19,307,14,15,16,17,28,308,198,97,48,182,94,309,310,311,312,38,103,54,55,56,57,313,314,31,82,303,44,125,111,315,316,45,47,317,318,90,227,319,112,113,112,69,320,198,97,53,54,55,56,57,321,88,164,37,151,226,184,47,84,61,37,226,322,145,323,324,37,325,68,69,326,124,189,327,328,65,93,94,140,329,330,331,168,286,50,90,332,37,161,227,228,333,334,121,81,89,335,336,60,72,220,77,110,47,49,37,228,112,69,81,82,303,337,233,338,228,109,339,137,152,152,48,180,125,47,340,341,209,342,343,60,37,344,345,346,347,85,348,349,162,74,350,351,82,157,85,352,353,36,354,92,60,161,355,232,81,340,51,356,184,226,340,357,358,359,360,209,361,362,37,363,364,20,82,95,365,212,307,366,163,367,228,152,110,47,90,110,47,143,204,126,82,368,47,133,369,45,47,370,371,151,226,229,143,74,350,372,373,134,226,374,77,375,47,376,377,378,37,233,379,102,74,380,110,47,112,214,381,382,383,50,384,385,386,387,97,355,37,388,389,390,208,31,238,214,391,392,97,393,192,24,71,37,394,395,396,397,398,399,400,401,402,403,404,405,264,406,407,408,409,410,411,412,276,413,271,414,415,416,276,417,418,276,277,419,280,281,420,421,422,423,424,67,73,74,144,425,426,427,428,429,17,28,212,18,19,20,37,41,28,44,430,42,43,17,28,44,431,228,432,433,27,28,29,30,41,28,44,137,47,42,43,17,28,48,434,184,226,44,45,47,18,19,435,436,437,134,438,18,19,439,18,19,20,37,67,73,74,440,20,37,371,441,442,162,74,380,60,369,100,90,133,443,164,444,445,446,447,428,429,17,28,131,448,162,449,60,51,133,376,450,451,31,97,139,452,78,453,276,454,137,47,90,198,51,455,456,457,458,209,459,50,51,460,36,82,461,71,97,60,51,65,93,94,112,113,45,462,125,47,126,431,463,464,65,128,189,119,90,44,187,44,220,88,198,296,465,18,19,20,37,307,466,204,184,467,134,376,468,469,470,471,472,431,463,473,307,474,475,476,477,276,478,143,443,97,119,90,479,97,112,69,480,119,82,157,97,481,476,482,162,204,483,110,379,37,125,226,65,93,94,151,379,82,461,90,74,121,112,214,391,392,90,350,484,485,486,102,71,37,87,90,131,68,214,487,60,296,121,488,489,174,490,353,144,491,151,226,65,492,93,183,356,112,113,37,82,493,113,494,183,88,45,111,97,322,20,37,48,182,495,496,72,18,19,162,74,350,497,112,69,205,50,37,363,88,110,47,31,498,339,499,64,55,500,82,157,501,502,503,474,468,469,470,170,504,162,74,380,48,182,94,37,37,74,350,505,162,74,350,379,461,506,507,229,131,129,71,37,508,509,238,36,97,510,376,121,355,356,288,289,511,188,227,228,512,100,97,513,431,514,515,64,55,56,156,7,516,91,517,68,69,81,296,518,519,126,520,18,476,47,521,522,51,523,235,190,93,94,226,96,37,168,51,340,524,525,526,82,157,527,449,48,189,37,60,161,528,103,54,55,56,156,529,37,530,531,532,533,534,433,27,28,29,30,41,28,44,45,47,48,182,94,42,43,17,28,44,125,47,535,164,536,370,67,73,74,144,31,90,110,47,100,296,36,537,196,68,69,81,90,139,18,19,307,195,538,539,315,71,37,494,37,540,209,541,109,151,152,443,49,209,542,51,543,228,544,545,546,44,139,65,93,94,196,121,50,90,547,184,47,72,131,288,548,110,46,198,37,549,20,51,550,551,112,190,385,386,82,95,552,553,90,554,18,19,162,74,121,555,131,355,90,60,51,97,556,65,93,94,98,119,51,389,557,204,37,112,214,391,558,559,560,561,365,286,226,112,539,537,143,74,144,133,562,563,20,90,564,114,90,439,162,74,562,565,566,534,433,27,28,29,30,41,28,65,93,94,42,43,71,97,567,44,510,18,19,568,67,73,204,44,184,47,371,569,570,571,17,28,44,45,111,36,51,31,97,20,37,109,45,47,48,572,133,60,51,573,137,226,151,226,74,144,574,152,353,137,226,377,87,97,97,575,150,100,576,125,111,47,18,19,577,578,518,114,90,68,69,81,579,580,286,581,238,65,93,94,564,112,69,81,51,133,376,51,20,97,110,226,582,355,97,583,162,481,48,182,94,50,97,389,390,356,110,226,125,226,134,51,584,181,324,354,47,162,204,60,161,585,37,586,119,37,220,356,112,214,391,587,74,350,226,204,588,72,90,492,143,507,589,590,591,37,198,306,375,150,288,289,226,90,47,37,296,90,97,126,97,592,88,184,379,593,510,296,594,537,137,47,37,595,596,597,51,598,90,599,37,430,519,600,431,228,60,51,145,601,161,602,562,565,18,19,20,90,99,82,603,75,604,383,378,125,379,307,605,606,607,608,90,74,297,37,224,134,32,112,69,81,37,145,609,229,610,538,97,204,611,612,363,307,367,228,214,391,613,89,82,83,182,614,328,389,615,236,616,617,37,184,47,212,309,618,47,339,97,619,620,621,192,306,90,622,390,232,451,465,166,47,51,82,95,588,121,623,624,625,187,139,65,626,88,627,90,628,629,630,32,37,37,295,307,494,631,632,189,224,131,633,212,634,97,350,635,378,636,512,632,143,204,637,638,82,639,640,641,318,642,213,643,90,183,102,97,644,539,456,645,185,601,646,647,476,214,502,648,376,455,649,113,37,209,650,304,651,308,306,91,431,228,375,82,608,652,37,612,37,90,37,653,188,654,655,232,208,32,656,657,658,659,595,83,660,661,662,140,663,95,664,164,232,229,637,665,666,667,668,70,46,49,562,669,368,162,74,670,671,672,673,674,615,82,461,188,384,168,494,83,51,208,196,675,467,676,190,82,461,189,482,300,677,90,678,679,680,157,37,681,126,507,305,139,682,113,47,77,51,111,220,37,378,90,82,461,683,684,456,457,685,228,686,687,688,212,70,689,232,227,228,544,99,323,151,226,161,557,226,690,691,692,693,121,498,138,694,32,695,696,697,93,94,384,74,562,565,698,699,700,701,486,51,187,133,51,702,177,209,459,448,703,97,704,705,140,330,706,707,708,37,709,351,46,710,232,227,711,74,350,88,712,235,82,687,358,442,713,714,379,715,151,47,111,716,441,47,717,82,157,90,378,102,320,718,719,720,721,722,723,724,725,726,476,727,728,97,729,681,730,226,731,385,732,163,496,140,605,286,150,462,733,734,735,32,736,737,738,739,740,741,553,90,90,742,141,37,743,203,95,744,232,745,232,32,363,476,97,152,340,539,746,559,747,47,375,152,748,749,750,226,49,751,752,639,753,754,368,82,608,755,601,545,756,757,232,227,514,51,157,185,633,305,758,95,111,82,83,340,514,303,759,760,761,356,47,385,386,47,762,763,46,134,177,487,350,764,32,708,45,47,46,632,359,765,180,766,183,593,88,697,32,37,208,767,484,121,768,384,144,769,139,770,461,226,179,152,771,303,199,595,772,51,773,90,774,775,205,776,301,370,32,309,618,51,777,463,778,379,779,780,781,602,231,463,782,226,666,121,297,51,208,88,228,306,783,94,685,514,651,780,675,459,443,784,785,786,206,306,787,369,375,788,739,121,111,789,72,790,494,791,32,792,537,793,724,97,72,238,573,794,380,795,97,563,588,796,788,524,140,226,514,797,354,798,141,296,46,799,434,616,88,389,615,224,800,89,376,801,802,803,804,805,806,190,82,608,543,228,608,306,498,807,808,622,82,493,809,48,49,466,82,368,810,95,203,208,811,82,461,379,812,498,813,814,51,340,102,815,816,724,177,157,817,818,819,820,121,780,466,378,639,368,780,821,340,822,612,203,823,195,824,825,95,451,826,82,827,443,296,37,150,379,828,829,830,831,95,832,833,834,835,836,837,70,838,639,220,42,839,840,72,208,370,841,842,843,545,111,844,845,846,847,848,849,378,724,850,780,537,722,851,852,853,854,185,855,638,856,438,857,792,95,838,858,595,390,449,51,493,859,605,483,152,498,483,90,660,838,365,734,82,493,303,548,574,208,190,666,89,295,90,665,296,860,312,226,628,732,861,97,356,862,554,338,228,140,863,430,864,865,866,366,867,601,868,304,163,869,870,90,871,83,872,616,75,72,873,874,875,691,370,876,877,682,145,878,608,879,796,438,639,704,82,493,378,702,185,880,881,882,883,545,884,885,99,876,461,886,887,305,888,342,825,812,716,306,889,97,613,232,32,890,595,606,891,892,150,893,606,546,894,895,896,897,758,838,898,616,95,899,900,780,51,449,157,632,901,674,487,375,21,32,902,903,904,378,905,607,780,906,228,549,541,907,157,232,608,180,97,152,908,909,157,178,910,911,912,111,570,913,633,914,201,51,336,338,514,88,182,915,163,744,916,89,917,152,918,238,919,89,510,157,124,163,920,189,921,232,818,461,161,922,111,800,923,375,323,924,925,546,926,89,451,927,724,928,570,460,185,157,323,312,72,929,37,204,930,178,354,94,931,384,932,933,303,934,578,705,380,306,862,462,935,865,936,369,800,937,647,228,938,450,939,940,941,942,755,305,641,943,305,944,51,945,946,632,303,647,947,303,625,375,948,306,949,375,537,950,951,952,953,363,608,185,110,47,954,342,576,955,956,957,305,582,462,350,622,356,439,958,959,960,514,497,821,961,150,962,368,46,963,379,964,965,966,967,595,228,131,129,968,150,144,969,492,744,95,608,970,971,464,431,463,379,654,972,973,974,788,975,976,369,977,978,304,488,757,594,202,673,979,980,523,635,185,981,792,982,392,724,796,983,984,340,51,601,985,986,130,51,987,988,545,989,138,356,990,375,991,147,992,368,993,465,687,994,995,996,997,981,46,998,633,480,999,560,97,1000,1001,1002,238,1003,1004,46,378,1005,493,1006,187,235,356,297,506,608,1007,934,90,456,727,628,688,595,1008,1009,498,379,1010,1011,185,83,1012,1013,1014,1015,843,1016,1017,303,90,1010,32,1018,163,514,183,1019,687,157,97,1020,517,32,1021,1022,539,1023,1024,758,845,972,463,296,1025,1026,1027,115,1028,350,821,868,304,296,1029,140,1030,150,572,576,838,654,1031,639,686,369,299,518,1032,324,1033,1034,305,847,1035,863,944,369,286,1036,654,378,605,1037,1038,1039,1040,1041,1042,520,1043,205,1044,1045,1042,201,1046,751,237,792,384,1047,1048,763,1049,324,1050,486,356,89,1051,129,375,1052,984,973,1053,1054,1055,1056,21,1057,1058,914,1059,461,1060,682,748,669,354,229,1061,506,722,681,90,354,1062,724,663,1063,232,632,1064,208,608,1065,324,1066,1067,606,1068,232,1069,1070,935,720,301,157,1071,441,1072,724,662,232,998,1073,437,111,323,323,558,1074,1075,82,1076,1077,1078,1079,1080,1081,380,1082,1083,1084,1085,701,1086,790,150,576,368,304,1087,691,303,1088,538,1089,161,1090,1091,1092,360,178,150,670,97,744,304,631,1093,441,799,692,1094,1095,1048,379,514,1096,965,323,1097,1098,1099,551,1100,487,493,1101,1102,1103,340,111,340,592,1104,897,1105,215,922,520,197,536,958,543,228,443,384,1106,623,542,551,1107,183,1006,583,969,1108,1109,1035,1110,895,386,1111,51,838,744,461,1112,1113,1114,95,303,739,1102,1050,127,1115,160,1116,481,287,1082,1117,969,161,1118,687,565,378,324,194,716,305,226,303,323,305,632,89,384,157,967,368,576,914,46,152,1119,997,1120,1121,1122,491,1123,1124,887,1125,1126,691,1127,82,303,493,545,563,1128,1129,791,1130,368,228,82,1131,1132,1133,205,542,851,1104,1134,1135,579,1136,1137,1138,83,1139,369,908,232,1091,670,1140,493,76,514,177,461,1141,1142,1143,322,1144,601,675,1145,681,1146,1147,1148,32,140,226,558,305,210,1149,493,392,616,1150,952,838,795,853,1151,654,152,1152,82,985,1153,1154,632,1155,544,1156,1157,131,968,1062,1158,702,306,617,1159,364,337,1160,1161,795,1162,303,1163,375,368,969,587,827,380,303,152,874,232,632,639,1164,1165,668,354,1166,1167,1168,1169,586,1170,46,1171,141,457,815,632,1172,238,1173,1174,1175,493,1176,671,498,473,1177,966,1150,1178,1123,976,1008,1179,1180,98,1181,1182,140,890,463,1183,687,481,896,506,324,486,1184,211,1185,717,95,368,1186,1187,518,1188,741,977,753,450,1189,152,912,1190,1191,185,1192,545,943,305,608,545,1193,1194,1195,650,1196,1197,1162,1198,375,1070,368,838,83,1199,831,141,1200,356,792,152,302,1201,1035,792,1202,1203,661,1204,933,296,552,1205,325,96,32,1206,228,1207,1208,214,803,1099,111,1209,1210,384,634,691,887,569,462,367,228,1211,1212,161,575,461,306,463,1213,1214,1215,1216,482,579,1217,1218,150,1219,1220,1221,1210,213,727,953,536,1222,764,324,1223,1224,1225,1226,632,303,584,1227,1228,1229,157,157,201,1230,715,840,739,606,72,461,368,498,1231,1232,1233,874,1053,324,1234,97,906,1235,1236,1138,1237,492,336,1238,1239,827,1195,1240,1241,724,140,1242,957,1243,1083,176,379,305,642,506,185,375,379,238,547,1239,1244,82,639,140,658,1245,1246,1148,1247,46,305,1248,493,1035,1249,687,1250,983,1251,1252,152,770,1253,1254,325,1255,296,1132,648,1256,784,1257,1258,436,819,72,791,1259,964,595,1260,1261,463,1262,1226,368,479,1186,1263,1264,534,433,27,28,29,30,41,28,65,93,1265,209,361,44,862,42,43,71,97,109,145,44,862,1266,1267,17,28,44,110,47,18,19,162,1268,51,45,47,60,37,363,20,82,157,184,226,112,857,18,19,20,37,1269,318,67,68,69,81,82,83,72,198,32,579,73,74,350,51,476,443,74,121,214,391,392,638,224,151,46,100,82,493,1270,37,288,1271,50,90,325,70,82,608,119,97,36,51,32,60,90,1272,47,97,72,137,152,761,126,161,31,356,562,1273,133,606,48,182,183,212,97,162,74,914,37,286,227,671,1274,376,112,69,389,557,1275,306,137,152,378,226,97,82,157,501,205,37,1276,1277,226,48,189,212,69,389,390,369,97,385,386,462,1278,1279,494,87,51,232,456,858,121,81,37,588,90,736,131,143,74,914,144,205,126,125,545,494,185,97,747,114,37,355,356,110,47,353,47,51,51,661,1280,90,45,47,613,32,161,1281,371,163,202,363,1282,88,37,139,299,431,228,522,97,51,565,389,1283,1082,1198,232,365,1000,633,563,51,1251,37,927,18,19,588,350,238,330,1284,204,94,151,47,90,112,214,391,884,574,97,733,88,134,90,90,151,47,350,324,724,204,350,232,449,1174,182,124,164,363,689,47,1285,632,126,226,37,82,157,152,113,125,226,307,232,455,37,147,339,877,102,668,1286,383,1287,1206,228,21,1032,510,579,143,74,991,134,510,303,49,238,434,816,131,514,466,37,729,110,47,1288,441,340,309,618,323,476,1289,296,1008,616,209,542,612,456,1290,37,709,90,510,336,202,152,724,121,152,496,97,306,451,1291,306,76,82,303,161,385,732,81,37,94,51,90,863,32,97,306,286,448,1292,512,60,97,226,1283,111,813,460,461,144,655,95,324,638,1287,632,539,97,1293,51,538,629,89,666,88,1294,378,866,615,51,229,1295,595,324,1164,1119,997,912,220,49,376,316,65,93,94,301,920,1296,1104,379,1297,184,47,187,227,1029,188,522,703,607,232,97,51,1069,209,361,195,385,386,82,83,111,37,969,65,895,82,83,972,77,558,90,780,37,51,739,685,228,498,183,507,865,462,48,1054,707,462,716,376,235,184,226,600,226,564,90,1298,124,1054,436,369,238,588,587,380,578,95,90,1299,1300,1259,1301,780,150,145,144,677,494,687,1074,1150,47,1302,604,177,90,462,378,350,88,880,328,524,82,1303,1050,47,1034,492,390,522,92,716,518,567,37,306,498,51,592,379,1304,70,763,1082,771,1305,89,640,1084,94,93,94,180,632,822,1306,45,47,306,232,553,1080,1104,619,1307,726,226,616,696,824,102,1308,838,212,1309,328,608,303,137,545,295,440,140,459,213,583,162,74,121,82,780,1035,236,632,1240,140,47,853,1310,993,977,140,516,180,788,51,602,226,111,986,204,1084,82,368,368,719,1311,351,821,232,780,437,1312,985,1313,350,102,133,741,375,431,228,1314,1315,89,639,308,20,37,497,611,868,1316,187,1317,792,724,1036,439,88,1256,97,157,1139,208,90,894,590,616,702,1047,789,1318,97,1319,229,82,157,232,312,981,356,220,708,498,368,202,305,89,642,727,1246,1320,95,590,168,987,306,237,724,1103,640,1187,1321,197,1322,945,1323,229,660,1142,305,124,125,47,324,379,435,90,520,1059,498,1324,204,121,1118,841,1325,591,97,37,464,97,287,967,1326,89,228,306,379,681,722,134,1327,190,780,838,46,183,780,145,356,91,70,876,985,586,1328,695,196,651,1329,887,712,481,493,623,587,665,672,781,1330,90,152,865,95,83,1252,226,983,375,1099,163,1016,537,832,822,46,1331,724,37,150,845,303,90,99,97,1027,673,582,1332,1333,90,895,811,1334,562,1332,1073,1335,99,1013,1336,113,501,1028,189,522,232,1337,1223,97,111,95,379,898,367,228,1083,307,1048,1338,718,1127,214,487,539,185,582,306,96,744,296,226,830,868,458,375,820,462,380,141,681,32,1339,340,632,46,461,612,139,493,1340,1297,1260,370,502,1341,969,97,836,1342,324,929,1343,296,935,380,1052,1344,82,83,697,899,208,82,608,1235,99,1345,337,139,1346,486,586,838,324,607,369,559,581,1347,138,83,224,767,894,1348,232,90,874,449,1349,652,323,1350,1351,161,934,296,487,1055,1352,185,1085,1160,430,493,1155,1353,47,379,324,1354,72,740,21,361,1043,90,1355,220,205,1356,434,784,671,208,226,456,727,1357,883,1009,157,1358,675,82,368,459,463,497,1359,463,1360,1361,1362,914,1363,368,654,324,49,631,704,378,615,682,1364,296,543,228,1365,622,307,761,1218,1366,493,1210,337,1135,608,95,1367,978,1368,639,1214,1184,438,684,540,1369,1164,1143,1370,1371,368,981,1372,1106,47,157,575,479,1373,188,1374,228,728,628,1252,208,519,1375,764,1376,780,306,772,179,491,1030,467,202,1377,379,1047,724,238,1251,571,83,232,481,1113,95,1378,904,605,970,150,342,1103,451,965,232,1099,595,665,305,306,1030,90,111,208,652,306,486,936,639,795,296,324,286,1379,379,121,90,632,638,238,197,289,795,1380,585,111,1042,37,76,369,639,338,887,1381,1382,129,739,1014,552,1383,379,654,548,837,522,378,465,384,506,574,736,518,51,813,1026,632,1085,772,1194,934,890,72,88,192,443,897,443,1226,140,1204,792,792,354,140,305,1384,368,461,51,1239,1211,1385,796,1386,97,586,647,670,140,1387,681,319,520,1001,981,576,163,868,637,969,345,1388,111,927,724,966,1389,730,1390,305,1391,796,1042,932,1392,449,864,1393,32,1394,82,493,1031,545,1267,545,1395,202,208,368,539,911,938,179,790,356,840,89,801,1396,739,1397,819,649,816,369,1398,1399,1121,1274,685,1400,238,306,498,875,1401,1402,1283,483,1403,912,937,366,582,784,226,877,768,303,95,1404,1405,32,1297,1406,984,1407,83,1408,1407,1409,551,160,83,886,514,981,152,462,815,900,691,1410,32,296,934,379,951,379,150,1108,473,287,1210,83,506,626,1411,1412,495,558,304,498,303,608,570,493,735,375,1324,514,1413,1414,82,493,483,378,366,579,306,182,94,968,303,943,832,1097,95,595,498,461,712,324,1415,1233,92,1253,1416,628,46,639,1417,1418,51,964,1414,157,152,228,226,697,1419,140,799,369,37,183,131,1420,82,687,654,1023,783,951,1421,616,1362,359,51,992,370,1153,1131,1022,369,514,46,687,1422,314,314,595,1423,1424,522,576,340,461,1349,695,713,238,1189,930,824,780,545,202,232,336,1425,1140,46,51,842,984,308,623,1026,1123,82,790,795,375,608,639,498,840,527,1195,780,754,1426,375,666,498,607,309,618,648,506,595,72,593,846,226,1184,1427,1231,320,32,1428,647,527,431,228,1291,780,157,208,984,306,633,157,1429,1430,90,1011,562,565,881,451,962,1431,450,932,616,185,687,1432,379,522,140,323,1433,224,570,646,75,977,608,1241,858,1434,912,82,303,524,631,498,1380,1435,852,658,338,514,1436,811,973,368,851,1065,831,488,610,378,907,1030,324,1437,232,461,232,739,595,691,89,340,72,1434,1438,514,687,948,1439,835,1167,1122,1440,728,51,306,379,1247,896,628,825,1246,178,32,887,375,190,215,1186,785,308,1441,95,1442,997,1443,228,1152,89,1444,340,95,304,918,378,646,654,379,1222,1006,724,616,1445,950,687,688,767,157,1446,838,956,461,600,189,982,227,228,1059,639,1447,572,1032,384,570,238,1161,32,847,1051,544,1448,601,661,1449,190,565,51,1450,1451,1071,1452,578,336,780,1029,179,541,792,1103,1453,662,210,368,1454,1247,757,1326,622,1455,1456,375,675,957,1457,658,356,856,1102,889,579,547,458,1458,1459,1460,302,345,32,1461,1462,1160,868,95,687,157,1302,1119,1311,303,616,951,897,1174,799,1463,862,1464,1465,323,32,579,111,369,1407,687,819,1325,235,1157,579,1466,503,1467,1468,1469,1470,95,1471,688,1472,607,792,188,150,1034,719,323,1407,1473,111,202,1474,983,368,1475,366,756,1091,296,185,83,1214,340,752,1476,744,1335,1095,459,803,895,140,790,375,780,953,323,579,684,1477,514,544,457,82,493,918,874,969,590,367,1478,1192,140,878,1447,160,630,465,1479,1480,1481,185,773,166,942,942,1482,96,1303,545,46,705,670,624,305,72,83,807,1246,343,46,161,992,95,830,1380,615,1483,481,754,1484,1162,974,959,1107,792,1485,716,692,780,232,1486,914,364,1314,340,1159,724,811,1377,608,654,920,1487,1387,639,1488,1478,549,90,375,150,1462,232,1253,820,543,1475,21,595,756,32,751,1192,1486,751,1489,1490,172,542,32,297,1491,214,487,235,547,687,903,1492,741,306,303,812,933,847,1493,72,582,232,1494,1495,37,1029,1235,1496,360,208,208,1497,150,1498,632,910,812,568,728,574,836,493,635,140,800,838,1499,152,127,1500,920,1501,152,1502,662,1010,340,1129,201,97,1464,204,1503,595,1504,1505,545,199,300,1298,847,287,369,1506,1436,593,678,838,838,306,1141,849,632,916,1507,893,140,83,1143,1335,1085,1508,356,1509,1008,1510,1511,462,163,897,435,1512,605,940,832,1513,924,160,1111,1514,554,656,1366,295,487,111,495,1515,486,438,450,1280,1157,796,675,1516,1517,1518,157,1010,522,21,152,1466,720,226,704,1032,180,111,1519,88,466,83,1520,1521,217,811,1159,956,46,887,637,633,763,484,940,323,1522,937,997,157,1258,1523,690,450,925,935,967,996,1524,1085,963,635,369,1325,1004,72,1525,1083,111,1526,654,462,1527,786,1528,1063,608,467,369,995,305,1529,1530,881,972,744,89,1488,161,763,980,697,748,226,661,593,1531,577,1490,356,1532,1533,89,1336,610,546,178,838,1534,596,51,304,1535,897,89,632,687,575,358,458,461,304,945,652,378,435,1536,1537,940,959,941,390,506,181,717,463,1538,1539,296,1540,628,887,755,1541,368,1019,1542,1027,296,625,595,1402,1543,1150,675,323,1544,693,1545,1546,1547,545,322,1548,449,863,202,1031,808,140,213,903,824,463,753,628,1549,228,687,1550,1551,684,988,98,724,682,150,1094,646,1552,1148,639,1553,770,632,563,1091,1508,943,1554,1555,821,378,203,845,82,95,46,592,853,1556,32,1557,1451,325,208,738,340,97,228,32,1558,1173,933,1347,181,871,821,194,1559,375,1560,1561,1562,952,541,717,555,82,83,1099,1547,547,1394,506,167,1563,811,124,111,1148,928,1564,801,974,1262,739,1096,1044,461,1155,704,753,921,826,1565,1286,1566,747,204,644,203,1567,985,375,1568,378,687,1012,811,769,197,462,545,1212,1280,1569,238,1570,466,1571,323,675,46,522,306,1572,378,296,375,83,804,552,926,732,380,639,1573,552,1574,737,83,1575,1576,1577,1578,998,514,635,608,1579,369,1039,1580,1581,1045,89,141,1122,579,1478,1582,925,1192,1213,430,871,924,1583,304,692,323,654,72,179,1584,1585,46,1048,1167,790,384,677,208,463,800,1586,1061,637,138,656,780,926,323,675,557,111,1587,368,1588,1589,305,1590,671,743,1591,577,498,238,758,1224,442,724,1085,1215,1592,586,873,838,1289,32,873,303,37,1593,632,1594,368,111,1595,1136,1596,1084,1597,739,95,1598,639,1599,857,1600,1585,451,368,551,632,1102,1286,674,1521,32,193,462,1601,713,89,739,639,1171,301,340,527,854,506,1602,583,1603,306,296,32,1105,438,1604,498,795,1159,1605,695,857,1338,654,654,1239,1606,1607,789,461,312,303,323,946,1099,705,1545,1408,976,1608,1609,922,1212,1069,660,514,1610,1611,196,723,1612,1143,1613,130,493,1614,1083,208,340,196,1192,1267,32,238,1615,916,1616,522,824,1617,1618,885,296,1407,1619,1620,1621,1622,1623,193,1021,1238,1203,522,1528,297,1624,1126,613,702,856,964,1363,1080,1232,757,1577,647,706,324,1339,595,750,356,906,1625,737,1029,324,493,1508,765,628,1568,946,208,1474,1626,1627,1628,1629,546,818,193,375,1078,1630,185,297,590,375,378,1025,324,852,1291,1238,1584,1631,1092,480,111,1166,1632,1633,608,1181,1109,1634,1635,1636,208,758,1475,846,939,579,1074,1637,628,476,1360,351,232,536,1638,627,1639,1142,1341,944,1640,916,287,1641,919,819,547,1557,542,1642,803,21,1588,545,974,1643,1644,72,1645,1646,1647,64,55,1648,156,7,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1663,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1670,1663,1671,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1516,1698,1697,376,1699,1700,271,414,276,1701,1702,276,1703,415,276,1704,276,277,279,282,1705,278,419],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["read_many_structs-8374511ab21ccefd","0x2b094","libc.so.6","0x29e3f","0x29d8f","0x1b4166","0x413d2","0x1b2930","0x19e646","0x1a0aca","0x19e663","0x151d54","0x2fa7c","0x81f00","0x81b1c","0x14e258","0x2d1d3","0x144361","0x2dffc4","0x2e0759","0x2e79f7","0x2e7fcd","0x302a00","0x2bb53b","0x1f","0xa4bda","0xa48b0","0x2e93c","0x319eb2","0x31b77b","0x2e7b06","0x2e9e68","0x2f84f1","0x2f963d","0x2bac16","0x81caf","0x105455","0x2be5a3","0x2f95c6","0x2bac0d","0x81fee","0x1521ba","0x1a08ca","0x2f965c","0x2e9aaf","0x2f69de","0x2e90db","0x2f165b","0x2ff66c","0x2ff637","0x2e8be6","0x2ecd94","0x2f96f7","0x2bb463","0x8231d","0x33a898","0x33ad75","0x354cb3","0xa5908","0xa4b89","0x0","0xa324b","0x2e7ae2","0x82522","0x14df22","0x14e39c","0x26c8f","0x2e8968","0x2eb889","0x2f954e","0x2faae9","0x2f3ce6","0x2ff1ce","0x2e05bc","0x2bad0d","0x2fabf6","0x2f41eb","0x2fe057","0x2e964f","0x2f6a39","0x33a661","0x254c9","0x33acb7","0x2fef33","0x2ba9c5","0x2bbf02","0x2d2a3","0x816c8","0x2ac88c","0x2f8916","0x2ba950","0x2bac41","0x2bb08c","0x2e06af","0x2efc0f","0x2ebe12","0x301ff9","0x2bbcfd","0x2f07ba","0x2bac71","0x2ed1b5","0x2ef127","0x2f935c","0x8252a","0x2ef4ee","0x1521a0","0xa48dc","0xa35f8","0xa25c5","0x11a8f3","0x11a82b","0x2e0d75","0x2eff04","0x2ff67e","0x2e92ec","0x2f3d46","0x31b0e6","0x2bb0c5","0x81e0c","0x2b9815","0x1e1612","0x2e0831","0x100ffff","0x2fe108","0x2ebce1","0x33a370","0x301f74","0x2eefbb","0x2e83e6","0x2ebbf1","0x2ec678","0x302bc4","0x2f085d","0x2e8d37","0x2be9da","0x2ef1f4","0x302b6b","0x2ac7fc","0x306848","0x2ef358","0x2e8086","0x2eedcb","0x2ba965","0x2bb429","0x81e1e","0x2e954f","0x2fe229","0x2e887c","0x2f4706","0x2e7f13","0x1a07d1","0x2b9325","0x2bb024","0x2ef625","0x2ff668","0x2efb8d","0x2eb88d","0x151d84","0xa4bca","0x2bbcf5","0x81cda","0x2f6e03","0x2ebd0a","0x2ba931","0x302a3e","0x2fe137","0x2fa0bb","0xa3f9b","0x2e7a6e","0x2e8de5","0x2fab1d","0x3069c8","0x2b9b68","0x1e1646","0x2f6eb1","0x25364","0xa5261","0x81f72","0x2fe4f0","0x2bb41c","0x2bb4b4","0x2bb4fd","0x2ecdfa","0x2e9051","0x2ece3a","0x302001","0x2eed53","0x2ff434","0x2fa01b","0x2ef2bc","0x302a25","0x2ed54d","0x2f3da7","0x81677","0x2e070e","0x2bbcf9","0x2e05e2","0x2f9a3b","0x2e8d6d","0x2e83c0","0x2f952f","0x2ebc26","0x7fffa45db3ff","0x2fe3e6","0x2bb41f","0x2e7e87","0x2f41b7","0x2ff07e","0x2f25b0","0x1e1687","0x2ba939","0x2e8426","0x2ea175","0x2fe1c5","0x2e8fdb","0x2f1666","0x2f3c86","0x2fd4ba","0x2fd521","0x2f84b7","0x2acb3b","0x2acbd2","0x2ef1b0","0x3062ba","0x33abe6","0x337c80","0x2eef80","0x81ce1","0x2ff67a","0x2e92ba","0x2f3bb8","0x2e9227","0x82569","0x2f9df8","0x2bac79","0x819a5","0x2be591","0x2e83d4","0x31b203","0x2e8041","0x2ba904","0x19eaf2","0x162a40","0x409b3","0x8df80","0x1dd15f","0x162c17","0x162f5f","0x3ef64","0x161f8b","0x3f202","0x1dd1c2","0x15d574","0x164965","0x8e517","0x4128c","0x1588b0","0x3ef6c","0x164a35","0x3f50a","0x8dc68","0x1b57a0","0x15d531","0x1a0861","0x3f374","0x1588dc","0x1a0806","0x40a1b","0x1b57a6","0x19eb43","0x8fb9a","0x1a0b71","0x19ecb6","0x52845","0x152403","0x1523b2","0x1523fc","0x52855","0xa5452","0xa2e9f","0xa1892","0xa1846","0xa1968","0xa1749","0xa191a","0xa174f","0xa1765","0x19ede1","0x2e8618","0x2ff60f","0x3023d9","0x2feb55","0x31b333","0x33a3f8","0x33abcf","0x337d97","0x2f4323","0x2bba86","0x2bad3d","0x2fdd30","0x144f2d","0x2f6c23","0x2f94c0","0x302ba2","0x2ec648","0x2bbd00","0x2ff630","0x2bb07d","0x2bb47b","0x302a20","0x2e8478","0x2e98e4","0x2f53cf","0x2f435c","0x2ebc60","0xa3ef8","0x2f14bc","0x2e0e54","0x2e94c3","0x14e31c","0x2e79da","0x2f3c19","0x2ff086","0xa4662","0x302bde","0x2baa2d","0x2baa49","0x3029f4","0x2fef10","0x144b7a","0x2f276d","0x31af97","0x2eb5cc","0x2eb414","0x2d1f3","0x2bba00","0x2f858b","0x81dd1","0x301fec","0x2e99e5","0x2e9a7d","0x2faaa6","0x2ba9f8","0x2d2e1","0x2ea62e","0x2ba9de","0x2e004a","0x2ef1fc","0x14de04","0x30266b","0x2ac90f","0x105240","0x2fe06e","0x2e7b6e","0x2acab8","0x2f94d0","0x2bb3df","0x2f6bf9","0x2ba925","0x2f1dc6","0x2f15b8","0x2f9690","0x302a01","0x2ea48f","0x33a76b","0x2e844b","0x2ff210","0x3020e0","0x2e8af0","0x2e951d","0x2bbc90","0x2bb0ac","0x2e8894","0x2f9671","0x152129","0x1a0845","0x1442c4","0x2bb0a4","0x2e8ab2","0x2ec6b1","0x2ba8f0","0x2ff655","0x2fe076","0x2fd4c9","0x2e05c2","0x2f9dd5","0x2bb483","0x2f2765","0x2f92f9","0x8261e","0x2feb89","0x2fef52","0x2bb6c6","0x2fd4b4","0x2bbbc6","0x31b143","0x19f410","0x16087f","0x5bfe4","0x5c03e","0x16147e","0x33d15d","0x33d5dd","0x1a0977","0x1609cf","0x15f148","0x160979","0x33d7e7","0x19f461","0x90695","0x1a0dc7","0x90721","0x1a0ba8","0x19f726","0x5146e","0xa26b1","0x15237f","0x5274e","0xa53f7","0xa285b","0x19f815","0xa18f2","0xa18a2","0xa18f6","0x1a0527","0x8029f","0x10924d","0x80597","0x8012e","0x14cf78","0x2cd7e","0x14670a","0x2f154f","0x2f2756","0x1a04fd","0xde0c1","0x2ed5cc","0x302b80","0xde5c2","0x2faadd","0x2efa9c","0x302d3b","0x2fe31f","0x2bb501","0x2e07e7","0x2f446d","0x8045e","0x2b9616","0x1e1694","0x14cc2b","0x2f946f","0x2f4164","0x2e893f","0x2fdd44","0x80959","0x255ab","0xa280a","0x2f95b7","0x2e8e67","0x2edfe7","0x2f074f","0x2ea4b1","0x2ba982","0x2bbca5","0x2ff410","0x2f3bb0","0xde4ef","0x2e79a0","0x2fe232","0x2ff632","0x7fcdc","0x8cb1d","0x366ce","0x2b9b6e","0x7ffe0","0x2e8ff1","0x2ce6b","0x80b92","0x2e8339","0x33a8aa","0xa28ca","0x2f1efa","0x2ff0e7","0x2f3fd4","0x2efb4d","0x2e7ba2","0x2e0785","0x2f9da5","0x2fe238","0x2fd480","0x2ef53b","0x33a379","0xa41af","0x2fa0e3","0x2eb899","0x2bbfe5","0x2e8049","0x3027dc","0x31ba91","0x2ef54b","0x2ba99c","0x14d0bf","0xa5838","0x2e8d44","0x2fd66e","0x2e95fb","0x1e1682","0x2ba976","0x2bb48b","0x2f4494","0x80501","0x2b93e0","0x2eeeaf","0x1e1666","0x2e0813","0x80c26","0x2f3bbc","0x1a05fa","0x2e8b5d","0x2f1541","0x2e8fe0","0x31b13b","0x2ef4f6","0x802a8","0x2bb0cf","0x2fe2fc","0x2e8470","0x2531d","0x33a301","0x2bb473","0x80669","0x1a0937","0x1a071a","0x18e509","0x184190","0x33691","0x17f58a","0x2e955b","0x2e9265","0x2bb09c","0x2e92f2","0x2f3cb5","0x2facf0","0x2ea4ab","0x2ea6d0","0x2e96e7","0x2eff16","0x2ff454","0x2f0747","0x30289f","0x2feb74","0x2e081e","0x31b72d","0x2fe1a2","0x2e8b45","0x302ac2","0x2ebbb3","0x2e08fd","0x2e7f2e","0x2bb6a1","0x2bbbd7","0x2e07fb","0x2f9683","0x2e8dbd","0x2fe36a","0x2fe8ac","0x2f977b","0x2fe730","0x33733","0x2e07f3","0x302d95","0x2ef23b","0x2f3f90","0x2efdc1","0x2ecd75","0x2e9665","0x302bae","0x2f25e0","0x2bb524","0x302b56","0x2eee24","0x2bb504","0x2e87dc","0x2f8583","0x2f3fa4","0x2f254f","0x2ef159","0x2e9bbb","0x2f41e7","0x2bba75","0x302bbb","0x2f8957","0x30200e","0x2f875c","0x2fe210","0x2ed550","0x2f42e4","0x2babf7","0x2f9ffe","0x2ebef7","0x2fdf1f","0x30207c","0x2f1e7c","0x2bb0cc","0x2efade","0x2bbccf","0x2f9676","0x2bb4e0","0x2bb46b","0x2fe12c","0x2bbcef","0x302aa7","0x2f41f7","0x2f6dea","0x2bb4b0","0x2bba69","0x302057","0x2bb6aa","0x2bb4bd","0x2ff19d","0x2f53ae","0x31b299","0x31deab","0x2e98ab","0x302b73","0x2eef66","0x2ebe62","0x2f087c","0x2ec653","0x2efbe6","0x2ff60c","0x2e0d7d","0x2efdde","0x2eef06","0x2baca9","0x2bb0d8","0x2ef5a4","0x2e79b4","0x2ebe26","0x2f1d89","0x2e9245","0x2bbed7","0x2efd8f","0x2bb6e5","0x2e8844","0x2f6ae2","0x2f89e3","0x2edfdd","0x2e85c5","0x2ef12f","0x2f3eca","0x2faaae","0x2eb3ac","0x2efe8e","0x2ecc55","0x2ed140","0x2bb4e6","0x2faa94","0x3028a0","0x2f44ac","0x2baa14","0x2f2702","0x2bb6b4","0x2e8fe8","0x2f1df4","0x2f1628","0x2eb8d4","0x2ecd9c","0x2f3daf","0xde537","0x2efabe","0x2fe784","0x2fe3fd","0x2f3c1d","0x2f4440","0x2bba6c","0x2eef88","0x2bb3e7","0x2f972b","0x2f26d5","0x2e7fc9","0x31bac5","0x2e06d8","0x2ba92d","0x2f1d81","0x2fed48","0x2eed4f","0x2e98b2","0x2fea04","0x2bbf8d","0x2eb480","0x2e0764","0x30203f","0x2bb0b4","0x2f1dce","0x2e7b1f","0x2ff05f","0x2fe75a","0x2ef351","0x2ef2c1","0x2bb3b1","0x2fdd59","0x2fdd50","0x2ef63e","0x2fdf0c","0x2feb59","0x2ba95d","0x2eea1e","0x2eb3c0","0x2e7fbc","0x2e8d75","0x2fe78c","0x2e98dd","0x2f3bdf","0x2ed5b3","0x2f3c54","0x2f2605","0x2e95ba","0x2bb1b5","0x2f1e5e","0x2e077d","0x2fe738","0x2f3c87","0x2baa10","0x2f45a2","0x2ed10f","0x2bacd8","0x2f937f","0x2e0580","0x2eea78","0x2ea4a6","0x2e9d9e","0x30239c","0x2f95b2","0x2f92bc","0x2f857f","0x2e8dcd","0x2ef639","0x2e8abf","0x2babfa","0x2efba8","0x2bb52b","0x2ba8f9","0x2bba7d","0x2eb890","0x2ef219","0x301f60","0x2e7b1b","0x2fabff","0x2fe25c","0x2e8b35","0x2fe867","0x2fe8b0","0x2eff0f","0x31b7eb","0x2ed614","0x2e7ade","0x2eb7f6","0x2eefb7","0x2f3c82","0x2baace","0x2fadc6","0x2fd462","0x2efb28","0x2fa023","0x2fe0e1","0x2e8625","0x2fd4f3","0x2e85ca","0x2f4068","0x2fab2d","0x2f089b","0x2ef25b","0x31b341","0x2eea58","0x2fd6d1","0x31b947","0x3025e0","0x2e85f2","0x30201b","0x2f1e9e","0x2f2647","0x2bbcd4","0x2fe1cf","0x2e8686","0x2f6a3e","0x2e9485","0x2fe24c","0xde1ed","0x2fe9d6","0x2bb3ff","0x2ef503","0x2bbd17","0x2e8e63","0x2ff6a1","0x2fe325","0x31ba4a","0x2fde47","0x2fe118","0x2bbf1d","0x2e0d95","0x2efa8d","0x2ff1da","0x2e7f90","0x302659","0x2fd460","0x2ecdd0","0x2bad2d","0x2e06f9","0x2faccb","0x2f0740","0x2fab9d","0x2fa05f","0x2bb094","0x2ea492","0x2e8621","0x2bb5d1","0x2bba80","0x2bba72","0x2e8969","0x2bbc18","0x2f455e","0x2ebbd2","0x2f403c","0x2efd2d","0x2f94b8","0x301f8f","0x2f13f9","0x2bb078","0x2bbf07","0x2fab35","0x2e8cbe","0x2e8db8","0x2eedf5","0x2eeec6","0x2e962a","0x2e92a8","0x2f8470","0x2ef188","0x2ea69d","0x2ff478","0x2f68b0","0x2fe36b","0x3024de","0x31b94a","0x2efe26","0x2ebc0c","0x2ee9ff","0x2efe58","0x2f14ee","0x2e92b3","0x2f257f","0x2f965d","0x2fe1ec","0x2fdeed","0x2e9719","0x2f47f9","0x2eeea8","0x2f3e9e","0x2f3e4e","0x2ed6fb","0x2e95c2","0x2e8099","0x2f88f2","0x2efa94","0x2e83ee","0x2f94e8","0x2bba6f","0x2e80db","0x2f9a5f","0x2ba9c6","0x2bad04","0x2fdd5d","0x2ba9b9","0x2e94fe","0x2eb83a","0x2bbfd5","0x2e06be","0x302b8d","0x2f1e9c","0x2ecb64","0x2feecf","0x2f9474","0x2e7ef0","0x30233c","0x2eb50e","0x2bbc7d","0x2f89d8","0x2e9c53","0x2f3bdb","0x2f42cc","0x2ef27b","0x2eefcf","0x2fd4d1","0x2f962e","0x2fe89a","0x2efcce","0x2eb7c3","0x2efb6b","0x2f4198","0x2e88e1","0x2e0773","0x31baa2","0x2efea5","0x2f3dd6","0x2eea3c","0x17f654","0x30265d","0x2ff1fc","0x2fd68f","0x2ed4c0","0x2f53a9","0x2faba8","0x2f3c8f","0x2f3c40","0x2ba97e","0x2fe3c6","0x3028a9","0x2f0802","0x2e8c82","0x2bb5d0","0x2f9662","0x2f151d","0x2f9dc1","0x2fe9c0","0x2fd4de","0x2ed730","0x2bbca8","0x2ef64a","0x2f13a1","0x2ed491","0x2e0946","0x2f947c","0x2f2665","0x2eef33","0x2f4554","0x2e9019","0x2f148f","0x2f8786","0x2ecb50","0x2fac9f","0x30211a","0x2ef1c7","0x2e79e6","0x2e8ac8","0x2e8371","0x2fded4","0x2baaa0","0x2efb8b","0x17f74e","0x302a44","0x2ed12b","0x2f9320","0x2f45c5","0x2ebc9b","0x2eb4be","0x2e0922","0x2f93b5","0x2ed40b","0x2e7fa4","0x2fe257","0x2eed10","0x2ebcf8","0x2f25b7","0x31b0f7","0x2e9555","0x2e8ae8","0x2bb6b9","0x2fdf13","0x2e841d","0x2f251e","0x2bb53c","0x2e0594","0xde28b","0x2e8354","0x2f1d7a","0x2f3bd7","0x2bbbf3","0x2ff079","0x2eb494","0x2ef4e9","0x2ed4b6","0x302d94","0x2fdd60","0x2f84e7","0x2ba955","0x2f1e18","0x2bbd05","0x2f1eb8","0x2e7b0c","0x2e969d","0x2ec6b6","0x2f1615","0x2fe181","0x2e92a0","0x2fe133","0x2f9a51","0x2e9590","0x2e980f","0x2bc0d0","0x2bbcdc","0x2ff47c","0x2f6a72","0x2f6ea6","0x2baa80","0x2e8972","0x17f5a5","0x2e05bd","0x2ea462","0x2f949c","0x2f3ce2","0x2e7a96","0x2efd5d","0x2ebf2d","0x2f0820","0x2e7ee8","0x2f6e4d","0x2ed13e","0x2f6e5a","0x2e981f","0x2fef34","0x31df53","0x302b5b","0x2ff63c","0x2ed75f","0x2fef19","0x2feb35","0x2e07df","0x2efcfc","0x2bbbcb","0x2fe30f","0x2f3bc4","0x2f1dab","0x2f13c9","0x2f1ed7","0x2f4249","0x2bb017","0x2babd0","0x2f3d1a","0x2eb85f","0x2bbce2","0x2fe89f","0x2fe284","0x2e9222","0x2efbc7","0x2f8979","0x2fdf26","0x31b231","0x2e8aad","0x2bba60","0x2ef121","0x2e0720","0x2ed572","0x2e8d3c","0x2f4436","0x3028a4","0x2ed433","0x2efdf4","0x2f966c","0x2f9542","0x2e8675","0x2f142a","0x2e8bda","0x2fa0c7","0x2e88d9","0x2ed58f","0x2bbcb5","0x2f273a","0x2f9d8c","0x302697","0x2eb926","0x2e981a","0x2e8ab7","0x2e92f8","0x2ba9d6","0x3029e0","0x2fdf20","0x2e8c22","0x2bbd42","0x30250b","0x2ba96e","0x2faa80","0x2bac5b","0x31b0c0","0x2e7b26","0x2bbd3a","0x2f166d","0x2bb520","0x2ec6ad","0x2f6919","0x2bbc97","0x2e8808","0x2bbfe3","0x2ed79f","0x2fed28","0x2f86a5","0x2f15c7","0x2f2610","0x2faf96","0x2f9a33","0x2f96b6","0x30204b","0x31dfd9","0x2e0b21","0x2ed7ce","0x2ea439","0x2f0840","0x2f0771","0x2faf70","0x2ec6e6","0x2ea5bb","0x2fd49a","0x2e05de","0x2feb81","0x2fed07","0x2ec691","0x2baaa7","0x2fd6af","0x2f4a01","0x2fe840","0x2ef368","0x2e9644","0x2f9d99","0x2bba78","0x2ba8f7","0x2ee008","0x302ac8","0x2ec6dd","0x2e84ea","0x2bb00d","0x2fe15c","0x2e7b45","0x2f94f8","0x2bbce9","0x2ff1be","0x2fe8b4","0x2fe18a","0x2feb41","0x2ebce4","0x302132","0x3025cd","0x31b78c","0x31df1c","0x2e94a3","0x2f3f76","0x2fe09c","0x2e9623","0x2fe06a","0x2bac6c","0x2fe755","0x2efc41","0x2ed41e","0x2e842c","0x2f4a0d","0x2f0794","0x2f92a0","0x2fab6d","0x2fe35d","0x2ec699","0x2bbecf","0x302bf8","0x2f4128","0x302b4c","0x2fe356","0x2fe27e","0x2e06a6","0x2f2706","0x2feb3e","0x2ef526","0x2e7b14","0x2faf78","0x2f4579","0x2fe3f3","0x2fe21c","0x302a49","0x2ef51f","0x2e9011","0x2e9685","0x302373","0x2e9d65","0x3024c0","0x2f3bc7","0x3025e8","0x31b104","0x2e9550","0x2e8605","0x2bb5e4","0x2ebe6f","0x2f3d82","0x2e07b3","0x302353","0x2f2672","0x2e7ae3","0x31b956","0x2fe0bd","0x2ea597","0x2f3d32","0x2ba9b1","0x2ec668","0x31b7a4","0x2f1e3e","0x2bbbf0","0x3027c0","0x2e79d7","0x2f1eff","0x2fde43","0x2efb01","0x2e0598","0x2e9e36","0x3027e4","0x2f444d","0x2f4204","0x2e8610","0x2feb5f","0x2f15f1","0x2bacf4","0x2fe7e5","0x2f08c5","0x2fe86c","0x2ed139","0x2f44f2","0x2f95ef","0x17f590","0x31dfe9","0x2fe34d","0x2baa31","0x2f84fa","0x2f0846","0x2e8fd6","0x2f8508","0x2fa08f","0x2e9bd9","0x302d04","0x2fe29e","0x2e85d8","0x2e79ee","0x366e7b","0x2eb872","0x2fe887","0x2baa46","0x2bbcf0","0x2ef299","0xde1e1","0x2e85ee","0x2e085b","0x2e9a5e","0x2bac7d","0x2ed114","0x2f145b","0x2ed17c","0x2fef53","0x2f9365","0x2baa3f","0x2ece36","0x2e838d","0x302bd9","0x2e923d","0x2f1512","0x2feb50","0x2efed1","0x2f9334","0x2f3f6d","0x2e88d1","0x2eb5db","0x3028a2","0x184908","0x31dd9","0x30285f","0x2f96e8","0x2f164a","0x2f41f2","0x31b861","0x2f25d8","0x2fed54","0x2f3dbc","0x2fe87f","0x2ba9be","0x2e0854","0xde122","0x2e958b","0x2e94d3","0x2f14cb","0x2f4209","0x2e8e2b","0x2faad5","0x2bb6e1","0x2eb436","0x31babf","0x2e7f31","0x2f3d6d","0x17f726","0x302074","0x2ed78f","0x3027b5","0x2f96f8","0x2fe213","0x2f8530","0x3023da","0x2f26a5","0x2ef553","0x302d97","0x2f263a","0x2f3d3e","0x2ebdf9","0x2bbfdd","0x2bbcbf","0x2e8d55","0x2ef2b4","0x2e84b9","0x31dfc9","0x2fab5d","0x2fe198","0x2f47fd","0x2bc111","0x3023f1","0x31ba7a","0x2ff424","0x2ff1ea","0x2fe7a0","0x2e9e5c","0x2ff1a7","0x2f69fd","0x2e7b85","0x2e8672","0x2f9530","0x302552","0x2ebed4","0x2e7b11","0x2e90b6","0x2e927e","0x2ea58b","0x2f6a31","0x302101","0x2e8601","0x2fe8a5","0x2f4520","0x2ed4c8","0x2fe83d","0x2ff207","0x2f6dc6","0x2e9506","0x2fe31b","0x2f8520","0x2fe318","0x2ed144","0x2e8635","0x2ba969","0x2e9275","0x2e9c2a","0x2efc6d","0x2fad13","0x2fe8b8","0x2ecbf2","0x2ef607","0x2e8812","0x2e9234","0x2ff5f6","0x2feb7d","0x2ef563","0x2ba922","0x2fea08","0x2fd545","0x2fe85c","0x2f69b5","0x2f3d26","0x2baa1c","0x17f615","0x2ff093","0x2eed24","0x2f4a3b","0x2bbc1f","0x31de90","0x2ed9a1","0x2fe2b0","0x2eb3b3","0x2ed7c8","0x31bae6","0x2ff61b","0xde4f7","0x2ec6e4","0x2f8557","0x2ed14c","0x2f07de","0x2f68c4","0x31df63","0x2f854a","0x2f9ddc","0x2f9382","0x2bba13","0x2e8415","0x2e8d4d","0x2eea64","0xde114","0x30254f","0x2fe84f","0x2bbefe","0x2efc9d","0x31e00f","0x2f3bc0","0x2ebe18","0x2e9a33","0x2f9a43","0x2f3c1e","0x2e0713","0x2f45ac","0x2f1599","0x2fab95","0x2ef621","0x30240b","0x2bb4dc","0x2bbbf7","0x2e87f4","0x2f3eb7","0x2ea467","0x3026ce","0x2fe7b1","0x2efedd","0x2e899b","0x2ed4d9","0x2e08f7","0x17f5e5","0x2e9dec","0x2f3d8e","0x2baa38","0x2f93bd","0x2bbce0","0x2fd6b8","0x2f6da2","0x2e9c12","0x2fe346","0x2e8069","0x2f9520","0x31b7bc","0x2ef643","0x2f262b","0x2ef5fe","0x2ea130","0x3027bc","0x2ff469","0x2fab55","0x2bbecb","0x2baa35","0x2fd50d","0x2e0e4e","0x2e9d87","0x2e075f","0x2eed54","0x2fe9b2","0x2ea0bf","0x2f1586","0x2f6c02","0x2bbc00","0x2ef596","0x2fe771","0x302112","0x2e9c1a","0x2e8c7a","0x2f7566","0x2fe99f","0x2ec675","0x17f64d","0x2ebe23","0x2e9492","0x2ecc58","0x3025c9","0x2e093c","0x2ebf2a","0x2ebebf","0x2e7e5d","0xde076","0x2fac09","0x2ed73b","0x31bad8","0x2e0745","0x2f4219","0x2ff444","0x2f3cad","0x2f3c20","0x2e94dc","0x2ebea7","0x2f3be2","0x2e85f5","0x302bfc","0x2eb3b8","0x2e8bbd","0x2f954f","0x2ea57b","0x2f3f65","0x2e9296","0x2f3d62","0x2ea144","0x2f86d4","0x2f429a","0x2e9dfd","0x2ebfe8","0x2f53cb","0x2fd522","0x2fd4db","0x2ebbc5","0x2ef5f2","0x2f6ee3","0x2f9528","0x2fa097","0x2f963e","0x2f1591","0x2f3cf1","0x2e7b2a","0x2f1f27","0x2bbc6d","0x2e9a0b","0x3027e0","0x2ebc43","0x2babdf","0x2fabf7","0x2e897c","0x2ff61f","0x2bc103","0x2f874b","0x2e9c85","0x2f7720","0x17f660","0x2e96c8","0x2e06b9","0x2bac91","0x2ed495","0x2f6c2f","0x2bc116","0x302d5e","0x2f49c2","0x2eb3d5","0x2fd4ef","0x2ed4a2","0x2fafa8","0x2ecd82","0x2f42bf","0x31b768","0x2f41ec","0x2f85ba","0x2fef58","0x302d3f","0x2fe9c3","0x2e8cb0","0x2bba32","0x2f972e","0x2e98ea","0x2fe169","0x2e08c7","0x2e9a44","0x2f8545","0x2ff1c6","0x2f47a4","0x2f4a09","0x2ba993","0x2fab15","0x2fdeea","0x2f2587","0x31df87","0x2e0926","0x2f4790","0x2e92e5","0x2f84a7","0x2f1ec4","0x2bba63","0x2f15d7","0x2e9a54","0x2e8ad0","0x2ea04e","0x2e9840","0x2ed5c6","0x2fe267","0x2efe4a","0x2e95f3","0x3026ec","0x2f6e23","0x31b7cc","0x17f5f1","0x2e953a","0x2f9a0b","0x2f3de1","0x2ebe3c","0x2ba916","0x31baaf","0x2f4455","0x2e79fd","0x2f4542","0x2f26ac","0x2fdef5","0x2e968d","0x2f69e7","0x302534","0x2ea59e","0x2e7e71","0x2f263e","0x2f3d2e","0x2bbcc8","0x2e7fc1","0x2fd4d8","0x2f8937","0x2e8c3c","0x30260a","0xde25d","0x2e85fe","0x2f1d76","0x2fe278","0x302bcc","0x2eb43f","0x2f2505","0x2eb498","0x2fe74c","0x2ef36d","0x2f9582","0x2e8982","0x31b0d4","0x2ba94c","0x2fe9e6","0x2f7735","0x2ebef2","0x2e867c","0x2f1645","0x2ec645","0x2e95aa","0x2f3fe0","0x2f0732","0x2e8943","0x2bbc10","0x2ef1ce","0x2fa063","0x2f95cf","0x2e8e5b","0x2ea49e","0x302be2","0x2e9a9f","0x2f8a44","0x2feb10","0x2f1390","0x301f77","0x2e7b07","0x2fa004","0x2ece40","0x2efdc9","0x2e7eda","0x2e7f0b","0x2e08af","0x2fe04d","0x2e7b36","0x2ec06d","0x2efde1","0x18fefd","0x1f2c90","0x1f3184","0xa5861","0x190905","0x1f0d12","0x1edef0","0x1ee80a","0x192dac","0x20aa98","0x2729c9","0x25cbea","0x25d55","0x1148bf","0x20ab23","0x2735e0","0x273637","0x245ae7","libm.so.6","0x37f02","0x764ac","0x274c1d","0x25cb69","0x3a6ccd","0x1145b4","0x24558f","0x245ad1","0xe380","0x245563","0x76488","0x245afe","0x245b0f","0x20ef07","0x28c9b9","0x24556f","0x245580","0x2455f6","0x20ef34","0x275d4b","0x2454cc","0x245b13","0x1b2dc2","0x1a76db","0x2a07b4","0x335cd9","0x28681","0x2a7bad","0x2a8449","0x2a9544","0x2abce0","0x2adda7","0x2a4c71","0x3113d4","0x2fb51a","0x2f7894","0x1b3c8b","0x540de","0xa274b","0x1523fb","0xa27ce","0xa29ad","0xa1710"],"tid":"700677.1","unregisterTime":116622126.552591},{"frameTable":{"length":216,"address":[1206333,-1,1206351,608962,4045208,3811257,614137,676317,674368,663915,662988,1174139,4045226,3445825,3446491,156499,2047333,2042824,2045333,2041225,2038911,2023152,2024918,2042147,2044528,1706698,2045928,2024572,2039452,2026242,2023387,2023941,2025061,2024595,2023432,2023463,2041214,1539459,2023374,2026214,2023348,2023620,2025279,2023947,2024758,1539473,2024592,2023445,2025413,2039730,676946,665389,2045572,2024620,2025028,2024469,2025533,2025796,2025928,2023095,1706410,2028804,2027129,2026480,2027207,2028248,2025097,2020974,2016405,2013424,2011421,1539647,2016528,2018025,2016768,1539516,1539487,2011809,2011613,1539633,1539499,2011472,2011774,1539652,1540089,1420446,216630,368184,366929,2022359,2025283,366912,2022160,2025272,2022690,217042,2025311,2022103,2025821,2023390,216788,1418669,2021921,1705920,2023460,2024612,2023472,2024952,2024709,2026119,2023456,2024558,1539510,2023450,2023385,2025020,2025251,2023344,2025570,368286,1538951,158863,3493043,677985,674762,2027356,2024336,2388800,2386437,2385510,2384827,2384764,229122,484628,2384739,484580,58240,484664,461340,2384790,484503,2384811,484544,484565,2386835,484596,2384786,484641,2384815,484911,229149,461496,229104,229184,484511,2386551,2388049,484587,229139,229169,484488,484651,484524,229157,155969,1084571,484906,2384711,484515,229194,461255,484637,484919,461248,484539,461480,461284,229159,484632,229112,2384724,2384831,461488,2384834,461332,461504,2384696,484901,229131,484658,2384823,484494,484531,2384799,484478,484482,484571,461262,229118,484614,229123,2384762,2384778,484583,229108,229153,229171,484623,484682,484473,2384774,229167,484656,229208,484497,484670],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":216,"name":[1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,-1,0,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,2,2,1,2,2,2,2,1,2,1,2,2,1,2,1,2,1,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,0,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,2,2,1,2,2,2,1,2,2,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700694>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.202131,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,5,134],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":687,"stack":[0,0,0,0,2,12,31,34,39,39,43,51,54,55,56,57,59,60,63,68,69,70,71,73,74,77,79,80,83,100,109,121,131,138,152,161,172,182,222,239,253,268,277,287,295,310,325,336,350,364,381,430,446,448,451,452,457,458,463,465,466,468,479,481,486,494,503,508,510,520,526,533,536,543,550,567,569,572,580,587,590,593,603,608,611,624,631,641,648,657,670,673,676,677,678,679,680,680,681,682,683,680,684,684,686,689,690,691,692,693,696,697,698,699,686,700,701,702,697,703,686,704,720,722,726,730,738,741,745,748,758,760,761,767,769,775,779,783,786,797,801,805,809,817,820,825,827,837,839,845,849,855,858,861,862,867,869,872,873,670,874,875,682,876,682,682,877,878,682,682,673,879,880,697,686,881,882,883,697,692,884,885,886,692,882,689,887,888,889,890,697,891,698,892,692,686,905,906,908,908,913,915,916,924,926,927,933,935,935,943,946,947,951,953,954,960,963,964,970,971,684,972,680,973,974,704,697,975,976,686,686,977,887,978,890,979,980,981,982,983,699,704,884,697,984,988,991,994,995,996,988,988,997,998,999,1000,1001,1002,988,1003,995,995,991,1004,1005,1013,1014,1015,1018,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,973,680,680,682,1032,680,1033,697,1034,697,1035,1036,692,686,1037,697,689,692,892,698,1038,686,1039,697,1040,1041,1042,1043,995,1001,988,1044,995,1000,995,995,1043,1045,995,1046,1047,1049,1050,1052,1050,1049,1054,1050,1049,1055,1050,1056,1057,1060,1050,1061,1050,1064,1066,1067,1067,1068,1074,1075,1076,1077,682,1031,680,682,1078,697,686,697,697,686,1079,1080,686,1081,686,686,1082,892,1083,686,697,1084,1085,1086,1089,722,1092,722,1093,1094,1096,1097,726,1099,1100,1100,1103,1104,1105,1106,1107,1108,1109,1111,1113,1114,1115,1117,1119,1120,1121,1122,1130,1131,1134,1135,1136,1142,1143,1146,1148,1149,682,1078,680,1150,1031,1151,1152,1153,680,680,1028,1153,682,1154,1077,1152,1153,682,698,983,1040,686,686,1155,704,984,892,975,689,686,689,1155,692,1038,1156,697,1157,1158,697,1159,686,887,1160,1160,1161,1164,1166,1167,1170,1171,1173,1174,1177,1180,1181,1189,1192,1195,1197,1200,1207,1208,1210,1216,1219,1224,1226,1227,1228,1229,682,880,1230,686,686,1231,1232,1233,1035,698,686,697,702,979,1234,983,692,689,1235,1236,722,1237,1238,1241,1242,1243,1106,1244,1114,1245,1246,1246,1247,745,1248,1251,1252,1253,1254,1255,1258,1259,1260,1261,769,1261,1264,1265,1267,1268,1189,1269,1270,1271,1274,1208,1275,1279,1282,1283,1284,1285,1286,1287,1288,1208,1208,1289,1290,682,670,1291,1292,1293,1294,680,1295,680,972,680,680,1296,1293,1297,682,1298,682,1291,682,682,1299,892,697,1082,979,697,686,1300,697,881,1301,686,686,881,1302,1303,1158,686,1304,686,686,1305,697,1306,892,1300,1307,1309,1310,1310,1311,1314,1315,1324,1325,1328,1330,1331,1332,1340,1341,1343,1344,1347,1354,1355,1357,1357,1358,1359,1362,1365,1368,682,1369,1150,1030,1153,680,1029,1149,1370,1153,1371,680,1372,973,1077,1373,1374,697,686,977,692,1232,686,697,697,984,686,1300,697,892,686,1375,697,686,686,686,1005,1376,995,988,988,1377,998,1378,995,1379,996,1380,1001,1381,1001,988,988,1382,1383,1384,1385,1386,1387,1390,1391,1384,1392,1393,1394,1396,1398],"time":[116621305.269716,116621305.274389,116621305.27626,116621305.278119,116621305.28027,116621305.318847,116621308.151745,116621314.869934,116621318.504262,116621321.355554,116621323.7578,116621325.671152,116621327.545195,116621328.981935,116621330.29021,116621331.488657,116621332.631582,116621333.723405,116621334.801955,116621335.861732,116621336.905075,116621337.900407,116621338.885126,116621339.871655,116621340.861967,116621343.376969,116621344.309568,116621345.223399,116621346.152372,116621347.097383,116621348.058231,116621349.025611,116621350.485975,116621351.481584,116621352.662809,116621353.708654,116621354.714028,116621356.254353,116621357.18799,116621363.363195,116621366.172464,116621366.968067,116621367.760692,116621368.604816,116621369.489129,116621370.387644,116621371.346509,116621372.305449,116621373.273703,116621374.250497,116621375.219167,116621376.190773,116621377.587612,116621378.603276,116621379.699553,116621380.818904,116621381.917163,116621383.005644,116621384.091802,116621385.179942,116621386.24784,116621387.316672,116621388.350285,116621389.378445,116621390.394727,116621391.419306,116621392.432038,116621393.465583,116621394.494188,116621395.531749,116621396.546444,116621397.55435,116621398.559508,116621399.5681,116621400.570783,116621401.607796,116621402.579632,116621403.547235,116621404.527253,116621405.505401,116621406.487053,116621407.47319,116621408.45733,116621409.421247,116621410.422062,116621411.394728,116621412.376081,116621413.358133,116621415.463557,116621417.577641,116621420.536866,116621421.333961,116621422.435386,116621423.537918,116621424.722511,116621425.750089,116621426.856638,116621428.136362,116621429.42339,116621430.668068,116621431.852494,116621432.988301,116621434.088151,116621436.876354,116621437.928654,116621439.305269,116621440.476609,116621441.532449,116621442.639714,116621443.619025,116621444.629528,116621445.734711,116621446.707052,116621447.656473,116621448.614349,116621449.727214,116621450.855838,116621451.755584,116621452.656922,116621453.580818,116621454.524979,116621455.7699,116621456.711518,116621457.634994,116621458.574377,116621459.718407,116621460.683561,116621461.603605,116621462.651024,116621463.634307,116621464.778294,116621465.708959,116621466.630367,116621467.728309,116621468.673175,116621469.612357,116621470.565051,116621471.688332,116621472.69288,116621473.641648,116621474.567928,116621475.535027,116621476.624685,116621477.57884,116621478.613589,116621479.624571,116621480.667862,116621482.767361,116621483.987594,116621484.966833,116621485.895832,116621486.948852,116621487.906222,116621488.872634,116621489.79845,116621490.72672,116621491.672045,116621494.732567,116621500.479552,116621502.482092,116621504.301434,116621506.101294,116621507.753591,116621509.96177,116621511.485484,116621512.890055,116621514.163097,116621515.279222,116621516.327116,116621517.329942,116621518.308433,116621519.312195,116621520.275583,116621521.219733,116621522.17491,116621523.141821,116621524.117593,116621525.100149,116621526.087556,116621527.078476,116621528.54866,116621529.485537,116621530.370056,116621531.263202,116621532.188018,116621533.168235,116621534.159872,116621535.175512,116621536.170003,116621537.163006,116621538.138844,116621539.132624,116621540.818953,116621541.822487,116621542.694671,116621543.581805,116621545.422348,116621546.395195,116621547.189223,116621548.010946,116621548.877847,116621549.768502,116621551.194962,116621552.136844,116621553.116238,116621554.104717,116621555.096838,116621556.091147,116621557.098182,116621558.054039,116621559.024195,116621560.033541,116621561.044869,116621562.079813,116621563.068466,116621564.029026,116621564.99536,116621565.967003,116621566.945844,116621567.93055,116621579.763078,116621583.630755,116621586.469051,116621588.701191,116621590.644968,116621592.375405,116621593.916206,116621595.269791,116621596.481768,116621597.63257,116621598.74261,116621599.823033,116621600.881811,116621601.924628,116621602.95568,116621603.97827,116621605.075629,116621607.853527,116621608.880566,116621609.935164,116621610.997161,116621612.029584,116621613.048409,116621614.102111,116621615.146801,116621616.180291,116621617.22724,116621618.244951,116621619.405438,116621620.575008,116621621.943895,116621622.978617,116621624.086784,116621625.344828,116621626.578651,116621627.713573,116621628.75086,116621629.789745,116621630.837615,116621631.875722,116621632.904011,116621634.201042,116621635.184462,116621636.248273,116621637.199751,116621638.169997,116621639.274424,116621640.224808,116621641.17136,116621642.462262,116621643.494421,116621644.384466,116621649.239792,116621650.198701,116621650.957526,116621651.710555,116621652.617062,116621653.598462,116621654.595451,116621655.57156,116621656.582121,116621657.772134,116621659.152569,116621660.432019,116621661.636374,116621662.786807,116621663.896896,116621664.977149,116621666.035995,116621667.247442,116621668.594503,116621669.555524,116621670.476036,116621671.398938,116621672.30027,116621673.187235,116621674.098052,116621675.032697,116621675.985154,116621676.946159,116621677.916895,116621678.896081,116621679.880706,116621680.869236,116621681.860917,116621682.855163,116621683.840861,116621684.795628,116621685.718052,116621686.651347,116621687.600387,116621688.599915,116621689.61307,116621690.622668,116621691.629552,116621692.634654,116621693.643257,116621694.689502,116621695.731937,116621696.763953,116621697.78728,116621698.804229,116621699.816698,116621700.825596,116621701.800957,116621702.763821,116621703.733679,116621704.711333,116621705.658226,116621706.607918,116621707.569819,116621708.54201,116621709.545067,116621710.529378,116621711.544758,116621712.572642,116621713.865122,116621714.95337,116621715.872427,116621716.779986,116621717.707193,116621718.653424,116621719.634887,116621725.906597,116621728.363228,116621730.458038,116621732.355006,116621734.086787,116621735.584073,116621736.936148,116621738.195194,116621739.376454,116621740.54509,116621741.673462,116621742.767866,116621743.837088,116621744.88741,116621745.923981,116621746.950395,116621748.259059,116621749.363671,116621750.425249,116621751.468254,116621752.499104,116621753.521795,116621754.538419,116621755.550294,116621756.559154,116621757.565673,116621758.549955,116621759.511875,116621760.496177,116621761.4713,116621762.44986,116621763.433859,116621764.422257,116621765.413969,116621766.407764,116621767.403117,116621768.39989,116621769.397805,116621770.395992,116621771.394545,116621772.393324,116621773.392592,116621774.392293,116621775.392522,116621776.367346,116621777.328527,116621778.296866,116621779.275837,116621780.259035,116621781.322293,116621782.31244,116621783.413064,116621784.500973,116621785.595608,116621786.640787,116621787.670062,116621788.690901,116621789.705906,116621791.292058,116621792.22903,116621793.135033,116621794.059168,116621795.542206,116621800.118183,116621800.993022,116621801.862206,116621802.746715,116621803.658441,116621804.594108,116621805.547856,116621806.514314,116621807.64194,116621808.938206,116621810.247181,116621811.497639,116621812.684018,116621813.821025,116621814.921219,116621815.994621,116621817.027005,116621818.016851,116621818.966497,116621819.912899,116621820.863012,116621821.79092,116621822.729325,116621823.68355,116621824.650531,116621825.626558,116621826.609219,116621827.596848,116621828.587861,116621829.581374,116621830.576866,116621831.573412,116621832.571034,116621833.604975,116621834.645539,116621835.748371,116621836.76345,116621837.8988,116621838.857789,116621840.007132,116621841.074693,116621842.163376,116621843.321667,116621844.283843,116621845.235723,116621846.35548,116621847.327646,116621848.250145,116621849.329296,116621850.271858,116621851.418736,116621852.496835,116621853.591985,116621854.665507,116621856.238631,116621857.3639,116621858.404192,116621859.386993,116621860.463591,116621861.460482,116621862.567172,116621863.54133,116621864.545649,116621865.684277,116621866.620815,116621867.610038,116621868.524099,116621869.449988,116621870.394981,116621887.242524,116621889.834407,116621892.698815,116621894.993057,116621896.984383,116621898.743982,116621900.275096,116621902.020245,116621903.166552,116621904.240161,116621905.263458,116621906.25545,116621907.245774,116621908.238095,116621909.232749,116621910.228888,116621911.222077,116621912.178483,116621913.140248,116621914.111493,116621915.090648,116621916.088802,116621917.080666,116621918.125829,116621919.110812,116621920.092532,116621921.077764,116621922.067166,116621923.059262,116621924.053595,116621925.049355,116621926.046311,116621927.04454,116621928.04306,116621929.041834,116621930.042049,116621931.056739,116621932.097925,116621933.13206,116621934.157498,116621935.175847,116621936.189866,116621937.199411,116621938.206472,116621939.182222,116621940.146504,116621941.118218,116621942.097378,116621943.082459,116621944.164156,116621945.145262,116621946.252304,116621947.176699,116621948.100156,116621949.041398,116621949.998163,116621950.962564,116621951.935969,116621952.916165,116621953.901898,116621954.891876,116621955.884472,116621956.878816,116621957.879046,116621958.917701,116621959.955847,116621960.984715,116621962.006187,116621963.019965,116621964.029592,116621965.03659,116621967.880395,116621968.767052,116621969.577811,116621970.419572,116621971.269735,116621972.155832,116621973.085521,116621974.060884,116621975.047377,116621976.038384,116621977.112915,116621978.10355,116621979.11918,116621980.136689,116621981.150195,116621982.160106,116621983.167388,116621984.172586,116621985.263605,116621986.370747,116621987.4785,116621988.560987,116621989.62171,116621990.666094,116621991.698581,116621992.881965,116621993.888157,116621994.915513,116621995.942826,116621996.930707,116621997.900129,116621998.873232,116621999.852927,116622000.838293,116622001.796578,116622002.745966,116622003.705262,116622004.682536,116622005.661241,116622006.643842,116622007.63093,116622010.413139,116622011.554671,116622012.572446,116622013.558489,116622014.543754,116622015.532421,116622016.524397,116622017.518418,116622018.513968,116622019.617038,116622020.615921,116622021.590822,116622022.568721,116622023.527712,116622024.506789,116622025.505167,116622026.473414,116622027.457281,116622028.4271,116622029.405551,116622030.395368,116622031.421032,116622032.445431,116622033.463496,116622034.444501,116622035.413456,116622036.388401,116622037.369697,116622038.509672,116622039.507695,116622040.466919,116622041.409737,116622042.344082,116622047.451631,116622048.291211,116622049.146823,116622050.209916,116622051.156337,116622052.11356,116622053.103192,116622054.267074,116622055.426292,116622056.58911,116622057.907517,116622059.116424,116622060.205196,116622061.261967,116622062.302076,116622063.331064,116622064.351951,116622065.367179,116622066.378676,116622067.386806,116622068.39247,116622069.396587,116622070.387243,116622071.345663,116622072.309835,116622073.282974,116622074.263427,116622075.249222,116622076.239198,116622077.231753,116622078.23169,116622079.273084,116622080.283644,116622081.268347,116622082.254193,116622083.243309,116622084.235152,116622085.380391,116622086.378776,116622087.345217,116622088.313146,116622089.288571,116622090.254708,116622091.24341,116622092.214602,116622093.171031,116622094.135697,116622095.10966,116622096.105027,116622097.112398,116622098.246731,116622099.257395,116622100.253204,116622101.248075,116622102.244276,116622103.241403,116622104.23937,116622105.238016,116622106.237075,116622107.236488,116622108.235939,116622109.205846,116622110.166348,116622111.134931,116622112.112214,116622113.095157,116622114.074837],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,4,1,1,2,38,2336,6718,3634,2814,2219,1913,1698,1436,1308,1198,1142,1091,1078,1059,1043,995,984,986,990,993,932,913,928,945,960,967,974,995,1049,1045,1005,999,933,3412,1454,786,792,840,884,898,958,958,968,976,968,967,1007,1015,1096,1119,1098,1088,1086,1088,1067,1068,1033,1022,1016,1024,1012,1033,1028,1031,1014,1007,1005,1003,1002,1031,971,962,970,978,981,986,984,963,993,972,975,982,1109,941,846,797,1101,1102,1078,1027,1106,1279,1287,1244,1184,1135,1099,1074,1052,1079,1125,1055,1003,979,1010,969,972,949,957,963,945,899,901,923,944,958,941,923,939,970,965,920,915,951,919,930,921,944,944,939,952,964,958,948,926,967,943,954,949,1010,960,974,955,952,928,939,933,910,925,928,945,956,2676,1987,1802,1799,1652,1710,1523,1404,1273,1116,1047,1002,978,980,963,944,955,966,975,982,987,990,992,936,884,893,924,980,991,994,994,993,975,993,1001,1003,872,887,915,833,794,821,866,890,917,941,979,988,992,994,984,955,970,1009,1011,1008,988,960,966,971,978,984,8179,3867,2838,2232,1943,1730,1540,1353,1211,1150,1110,1080,1058,1042,1031,1022,1016,1058,1027,1054,1042,1032,1018,1053,1044,1033,1024,1017,1007,1005,1066,1034,1060,1167,1121,1075,1037,1038,1047,1038,1028,1020,983,977,951,970,971,950,946,958,968,890,820,775,758,753,906,981,996,976,1010,1190,1380,1279,1204,1150,1110,1080,1058,1037,1005,961,920,922,901,886,910,934,952,961,970,979,984,988,991,994,985,954,922,933,949,999,1013,1009,1006,1005,1008,1046,1042,1032,1023,1016,1012,1008,975,962,969,977,946,949,961,972,1003,984,1015,1027,1013,976,919,907,927,946,960,3341,2456,2094,1878,1731,1481,1352,1259,1181,1168,1128,1094,1069,1050,1036,1026,1020,1104,1061,1043,1030,1022,1016,1011,1008,1006,984,961,984,975,978,983,988,991,993,995,996,997,998,998,998,999,999,1000,974,961,968,978,983,987,990,1100,1087,1065,1045,1029,1020,1015,1011,936,906,924,944,853,874,856,884,911,935,953,966,1127,1296,1308,1250,1186,1137,1100,1073,1032,989,949,946,950,927,938,954,966,976,982,987,991,993,995,996,997,1033,1040,1031,1015,996,958,1050,1031,1007,990,962,951,961,972,922,944,942,1065,1029,996,1021,1135,1049,984,982,1003,996,988,974,958,977,936,905,914,925,944,7920,2591,2864,2294,1991,1759,1497,1320,1146,1073,1023,991,990,992,994,996,993,956,961,971,979,984,991,988,984,981,985,989,992,994,995,996,998,998,998,1000,1014,1041,1034,1025,1018,1014,1009,1007,975,964,971,979,985,968,981,953,924,923,941,956,964,973,980,985,989,992,994,1000,1038,1038,1028,1021,1013,1009,1006,883,886,810,841,850,886,929,975,986,991,992,990,1015,1017,1013,1009,1007,1005,1091,1107,1107,1082,1060,1044,1032,1023,1006,1027,1027,987,969,973,979,985,958,949,959,969,978,982,987,990,1020,1017,986,985,988,991,994,995,996,998,974,977,958,979,998,968,960,969,971,989,1025,1024,1018,981,968,974,981,986,990,959,942,934,913,839,855,890,921,899,947,1112,1159,1162,1171,1173,1088,1056,1040,1028,1020,1015,1011,1008,1005,1004,990,958,964,973,980,985,989,992,999,1041,1010,984,985,989,991,993,977,966,967,975,966,988,971,956,964,973,995,1007,999,1010,995,994,996,997,997,998,999,999,999,969,960,968,977,982,979]},"stackTable":{"length":1399,"prefix":[null,null,1,null,3,4,5,6,7,8,9,10,11,4,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,27,32,33,26,35,36,37,38,36,40,41,42,24,44,45,46,47,48,49,50,47,52,53,53,50,50,46,58,50,53,61,62,45,64,65,66,67,67,67,67,64,72,67,65,75,76,67,78,76,65,81,82,22,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,91,101,102,103,104,105,106,107,108,89,110,111,112,113,114,115,116,117,118,119,120,111,122,123,124,125,126,127,128,129,130,123,132,133,134,135,136,137,87,139,140,141,142,143,144,145,146,147,148,149,150,151,142,153,154,155,156,157,158,159,160,140,162,163,164,165,166,167,168,169,170,171,163,173,174,175,176,177,178,179,180,181,null,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,16,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,16,240,241,242,243,244,245,246,247,248,249,250,251,252,250,254,255,256,257,258,259,260,261,262,263,264,265,266,267,259,269,270,271,272,273,274,275,276,257,278,279,280,281,282,283,284,285,286,279,288,289,290,291,292,293,294,248,296,297,298,299,300,301,302,303,304,305,306,307,308,309,299,311,312,313,314,315,316,317,318,319,320,321,322,323,324,314,326,327,328,329,330,331,332,333,334,335,314,337,338,339,340,341,342,343,344,345,346,347,348,349,340,351,352,353,354,355,356,357,358,359,360,361,362,363,354,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,370,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,16,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,442,447,443,449,450,443,441,453,454,455,456,454,454,459,460,461,462,460,464,461,456,467,439,469,470,471,472,473,474,475,476,477,478,477,480,476,482,483,484,485,474,487,488,489,490,491,492,493,488,495,496,497,498,499,500,501,502,496,504,505,506,507,507,509,472,511,512,513,514,515,516,517,518,519,514,521,522,523,524,525,512,527,528,529,530,531,532,530,534,535,528,537,538,539,540,541,542,538,544,545,546,547,548,549,437,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,563,568,562,570,571,560,573,574,575,576,577,578,579,574,581,582,583,584,585,586,584,588,589,582,591,592,558,594,595,596,597,598,599,600,601,602,597,604,605,606,607,605,609,610,595,612,613,614,615,616,617,618,619,620,621,622,623,617,625,626,627,628,629,630,615,632,633,634,635,636,637,638,639,640,434,642,643,644,645,646,647,225,649,650,651,652,653,654,655,656,16,658,659,660,661,662,663,664,665,666,667,668,669,669,671,672,669,674,675,675,675,672,669,675,669,675,672,668,685,685,687,688,685,688,685,688,685,694,695,685,695,687,695,687,687,695,688,666,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,716,721,714,723,724,725,724,727,728,729,712,731,732,733,734,735,736,737,734,739,740,732,742,743,744,743,746,747,710,749,750,751,752,753,754,755,756,757,754,759,759,752,762,763,764,765,766,763,768,750,770,771,772,773,774,773,776,777,778,771,780,781,782,781,784,785,708,787,788,789,790,791,792,793,794,795,796,794,798,799,800,792,802,803,804,803,806,807,808,790,810,811,812,813,814,815,816,813,818,819,811,821,822,823,824,822,826,788,828,829,830,831,832,833,834,835,836,835,838,833,840,841,842,843,844,841,846,847,848,831,850,851,852,853,854,854,856,857,853,859,860,859,854,863,864,865,866,864,868,853,870,871,672,669,672,672,675,674,688,688,685,695,695,695,688,695,688,685,695,688,694,687,664,893,894,895,896,897,898,899,900,901,902,903,904,903,902,907,900,909,910,911,912,910,914,914,898,917,918,919,920,921,922,923,920,925,925,918,928,929,930,931,932,929,934,896,936,937,938,939,940,941,942,941,944,945,944,939,948,949,950,949,952,952,937,955,956,957,958,959,959,961,962,959,958,965,966,967,968,969,969,675,675,675,695,685,695,685,688,688,688,695,688,688,666,985,986,987,987,989,990,987,992,993,987,993,990,990,990,987,987,990,990,993,990,986,1006,1007,1008,1009,1010,1011,1012,1012,1012,1010,1016,1017,1009,1019,1020,1021,1019,1021,675,672,669,672,675,671,672,675,687,695,685,685,688,694,695,688,993,990,993,987,989,989,993,986,1048,1048,1048,1051,1051,1053,1048,1053,1053,1048,1058,1059,1053,897,1062,1063,897,1065,895,897,896,1069,1070,1071,1072,1073,1073,672,675,675,694,695,687,695,688,717,717,719,721,1087,1088,721,1090,1091,1087,721,725,1095,725,1095,1098,725,727,1101,1102,1102,728,727,1101,735,735,735,1110,1110,1112,735,1112,740,1116,739,1118,1116,739,739,732,1123,1124,1125,1126,1127,1128,1129,1129,1128,1132,1133,1132,1133,1126,1137,1138,1139,1140,1141,1139,1139,1144,1145,1123,1147,669,674,669,674,671,669,695,695,688,688,685,715,723,723,1162,1163,733,1165,733,733,1168,1169,742,742,1172,753,753,1175,1176,762,1178,1179,762,750,1182,1183,1184,1185,1186,1187,1188,1188,1190,1191,1187,1193,1194,1194,1196,1193,1198,1199,1185,1201,1202,1203,1204,1205,1206,1205,1206,1209,1204,1211,1212,1213,1214,1215,1215,1217,1218,1214,1220,1221,1222,1223,1223,1225,1222,671,674,695,687,695,688,687,719,717,1088,1091,725,1239,1240,1239,729,737,1116,739,744,747,746,1249,1250,755,756,757,759,759,1256,1257,765,766,768,1184,1262,1263,1184,1188,1266,1191,1196,1194,1193,1205,1272,1273,1205,1204,1276,1277,1278,1276,1280,1281,1266,1191,1188,1193,1193,1196,1276,1278,675,675,674,675,672,672,672,675,687,687,694,688,694,694,687,694,707,707,1308,901,909,909,1312,1313,919,1073,1316,1317,1318,1319,1320,1321,1322,1323,1323,1323,1326,1327,1322,1329,1329,1329,1320,1333,1334,1335,1336,1337,1338,1339,1339,1336,1342,1342,1342,1345,1346,1316,1348,1349,1350,1351,1352,1353,1352,1351,1356,1350,1350,1350,1360,1361,1352,1363,1364,1364,1366,1367,671,672,675,672,672,694,688,993,987,993,990,993,993,990,990,1010,1017,1017,1020,1019,1388,1389,1019,1010,1012,895,895,1395,1395,1397],"frame":[0,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,17,18,17,18,17,18,17,18,19,20,21,22,23,24,25,26,19,20,21,27,28,21,29,30,26,17,18,19,28,21,29,31,20,21,32,33,34,35,36,37,38,39,29,40,26,19,28,21,41,42,43,44,36,45,46,20,21,47,29,40,48,49,50,51,52,15,16,17,18,17,18,17,18,17,26,17,18,19,28,21,53,26,17,18,17,26,19,28,21,54,26,17,18,17,18,17,18,19,28,21,39,55,26,17,18,17,18,19,20,21,29,47,26,17,26,19,20,21,56,26,17,18,17,18,17,26,17,18,19,28,21,29,40,26,17,26,17,18,19,20,21,57,26,17,18,17,18,17,26,19,20,21,58,26,17,18,17,18,19,20,21,29,35,17,52,15,16,17,26,17,26,17,26,17,52,15,16,17,52,15,16,17,18,17,26,17,52,15,16,17,18,17,18,17,18,17,18,17,26,19,20,59,60,61,62,63,62,63,62,63,62,63,64,15,65,63,64,15,65,66,67,68,69,68,69,68,69,68,69,68,69,68,70,71,72,15,73,69,68,69,68,69,68,69,74,69,68,70,75,74,69,68,69,74,69,74,70,76,74,69,68,69,74,69,68,69,74,77,74,69,74,69,74,69,74,78,72,15,73,69,68,69,74,69,68,69,68,69,74,70,79,72,15,73,69,68,69,68,69,68,69,68,69,74,70,80,74,69,68,69,74,69,74,69,68,70,71,72,15,73,69,68,69,68,69,68,69,68,69,68,81,72,15,73,69,68,69,68,69,74,69,74,69,74,82,74,69,72,15,73,69,68,69,74,69,74,69,74,69,68,70,83,74,69,74,69,68,69,74,69,72,15,73,69,68,69,72,15,73,69,72,15,73,69,72,15,73,69,68,69,74,69,72,15,73,69,72,15,73,69,68,69,68,69,74,69,68,69,74,70,84,85,86,87,86,87,86,87,86,87,86,87,86,88,89,21,90,91,75,92,21,93,94,95,88,92,21,96,97,89,21,39,39,40,29,98,35,29,99,100,15,101,87,86,87,86,87,86,91,75,88,102,95,88,89,59,103,95,87,86,88,89,21,39,40,95,87,86,88,89,21,29,29,104,95,88,89,21,105,29,35,95,87,86,87,86,88,89,21,29,44,95,88,89,21,29,106,95,87,86,88,92,21,107,89,21,108,95,87,86,88,92,21,109,95,88,92,21,29,29,110,100,15,101,87,86,87,86,87,86,87,86,87,86,88,89,21,111,91,71,95,91,112,95,87,86,88,92,21,29,113,95,88,89,21,29,39,99,39,39,40,92,21,114,95,87,86,87,86,88,92,21,39,47,95,88,92,21,115,89,21,116,100,15,101,87,86,87,86,88,89,21,39,29,117,95,88,89,21,39,39,106,100,15,101,87,86,88,92,21,29,118,119,120,121,122,123,124,25,125,63,64,15,65,63,62,29,126,127,128,129,128,129,128,129,128,129,128,129,128,130,131,132,133,134,132,135,136,137,138,139,140,141,142,143,144,141,131,132,145,146,147,148,149,134,132,143,139,133,150,151,152,153,140,154,155,15,156,129,128,129,128,129,128,129,128,129,128,131,132,157,144,141,144,129,128,141,144,131,132,157,144,129,128,129,128,134,132,142,144,131,158,144,129,128,139,144,134,158,144,129,128,129,128,129,128,134,132,142,144,141,148,144,129,128,131,132,142,144,141,144,129,128,129,128,141,144,131,132,136,144,129,128,141,144,131,152,144,129,128,129,128,129,128,129,128,131,159,144,134,132,160,144,129,128,141,144,131,132,161,144,129,128,129,128,134,132,160,144,131,159,144,129,128,134,159,144,139,155,15,156,129,128,129,128,129,128,139,144,141,144,129,128,131,132,142,144,131,132,160,155,15,156,129,128,139,131,132,160,144,134,152,139,129,128,134,132,162,131,163,155,164,165,166,167,168,154,154,169,170,162,130,171,172,149,173,174,171,167,175,176,150,163,155,15,156,129,128,129,128,129,128,129,128,134,177,139,144,141,144,129,128,134,163,144,141,139,144,129,128,129,128,131,132,135,144,141,139,144,129,128,134,132,178,144,139,144,129,128,129,128,129,128,141,144,134,179,139,144,129,128,141,144,180,139,155,15,156,129,128,139,131,132,161,141,155,15,156,129,128,139,141,168,171,174,154,181,182,183,133,160,184,185,143,135,144,129,128,139,131,132,173,134,132,182,141,143,162,133,178,186,148,145,187,157,143,155,15,156,129,128,134,132,135,170,151,131,132,143,144,131,132,143,141,171,149,151,183,172,161,188,161,189,177,176,186,190,191,158,191,192,162,149,151,193,188,163,194,144,139,141,131,163,132,176,130,136,171,134,132,161,195,131,132,194,134,188,141,139,155,15,156,129,128,139,148,196,151,133,163,197,198,145,199,141,180,182,134,132,154,131,132,161,150,130,134,200,139,132,172,148,134,132,151,160,163,141,150,139,201,131,159,132,145,141,143,132,171,134,153,161,130,141,155,15,156,129,128,129,128,139,141,144,131,152,202,200,155,15,156,134,132,182,186,131,132,182,164,165,148,163,180,200,163,186,189,142,161,151,193,141,141,134,132,161,131,163,130,134,132,196,139,131,200,139,131,132,151,134,132,149,141,155,15,156,129,128,129,128,139,131,132,154,144,131,163,132,162,134,132,133,155,15,156,129,128,134,179,141,132,203,155,15,156,129,128,139,134,132,192,155,15,156,131,163,132,145,139,204,205,135,206,161,137,179,143,183,133,133,131,132,170,153,135,191,143,139,148,163,131,132,199,139,177,171,139,131,132,207,163,157,139,134,132,142,139,134,200,143,170,150,139,131,132,145,139,144,131,132,149,134,132,191,163,135,130,141,186,185,141,187,195,187,179,162,178,208,145,145,188,200,179,136,205,200,204,188,141,131,177,139,139,131,132,209,148,129,128,129,128,129,128,129,128,141,139,131,132,197,144,210,202,141,155,15,156,129,128,134,132,151,161,144,141,139,131,132,149,155,15,156,129,128,131,211,148,144,139,141,139,131,132,212,129,128,148,131,132,189,198,189,173,171,135,213,178,214,130,161,195,133,174,137,171,139,173,172,188,134,132,215,139,141,197,139,131,158,132,143],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12683d","0x7fffa45db85f","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db998","0x3a27b9","0x95ef9","0xa51dd","0xa4a40","0xa216b","0xa1dcc","0x11ea7b","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1c7f","0x1edef0","0x1ee5d6","0x1f2923","0x1f3270","0x1a0aca","0x1f37e8","0x1ee47c","0x1f1e9c","0x1eeb02","0x1edfdb","0x1ee205","0x1ee665","0x1ee493","0x1ee008","0x1ee027","0x1f257e","0x177d83","0x1edfce","0x1eeae6","0x1edfb4","0x1ee0c4","0x1ee73f","0x1ee20b","0x1ee536","0x177d91","0x1ee490","0x1ee015","0x1ee7c5","0x1f1fb2","0xa5452","0xa272d","0x1f3684","0x1ee4ac","0x1ee644","0x1ee415","0x1ee83d","0x1ee944","0x1ee9c8","0x1edeb7","0x1a09aa","0x1ef504","0x1eee79","0x1eebf0","0x1eeec7","0x1ef2d8","0x1ee689","0x1ed66e","0x1ec495","0x1eb8f0","0x1eb11d","0x177e3f","0x1ec510","0x1ecae9","0x1ec600","0x177dbc","0x177d9f","0x1eb2a1","0x1eb1dd","0x177e31","0x177dab","0x1eb150","0x1eb27e","0x177e44","0x177ff9","0x15ac9e","0x34e36","0x59e38","0x59951","0x1edbd7","0x1ee743","0x59940","0x1edb10","0x1ee738","0x1edd22","0x34fd2","0x1ee75f","0x1edad7","0x1ee95d","0x1edfde","0x34ed4","0x15a5ad","0x1eda21","0x1a07c0","0x1ee024","0x1ee4a4","0x1ee030","0x1ee5f8","0x1ee505","0x1eea87","0x1ee020","0x1ee46e","0x177db6","0x1ee01a","0x1edfd9","0x1ee63c","0x1ee723","0x1edfb0","0x1ee862","0x59e9e","0x177b87","0x26c8f","0x354cb3","0xa5861","0xa4bca","0x1eef5c","0x1ee390","0x247340","0x246a05","0x246666","0x2463bb","0x24637c","libm.so.6","0x37f02","0x76514","0x246363","0x764e4","0xe380","0x76538","0x70a1c","0x246396","0x76497","0x2463ab","0x764c0","0x764d5","0x246b93","0x764f4","0x246392","0x76521","0x2463af","0x7662f","0x37f1d","0x70ab8","0x37ef0","0x37f40","0x7649f","0x246a77","0x247051","0x764eb","0x37f13","0x37f31","0x76488","0x7652b","0x764ac","0x37f25","0x26141","0x108c9b","0x7662a","0x246347","0x764a3","0x37f4a","0x709c7","0x7651d","0x76637","0x709c0","0x764bb","0x70aa8","0x709e4","0x37f27","0x76518","0x37ef8","0x246354","0x2463bf","0x70ab0","0x2463c2","0x70a14","0x70ac0","0x246338","0x76625","0x37f0b","0x76532","0x2463b7","0x7648e","0x764b3","0x24639f","0x7647e","0x76482","0x764db","0x709ce","0x37efe","0x76506","0x37f03","0x24637a","0x24638a","0x764e7","0x37ef4","0x37f21","0x37f33","0x7650f","0x7654a","0x76479","0x246386","0x37f2f","0x76530","0x37f58","0x76491","0x7653e"],"tid":"700694","unregisterTime":116622126.552591},{"frameTable":{"length":196,"address":[1206351,608962,4045226,3445825,3446491,156044,157446,1173645,156499,2047333,2042824,2045333,2041225,2039452,2023152,2026214,2023470,2038911,2026242,2023445,2045928,2023348,2023385,2025701,2023351,2045572,2024943,2026015,2024567,2024569,2025459,2025849,2041214,1539468,2025338,2025485,2024918,2024227,2023344,2023460,2038667,2023440,2024620,2024612,1539473,2025479,2025279,2023381,2039407,2025716,2028248,2026480,2027129,2025404,2018025,2013424,2016405,2016768,2011421,1539480,2011991,1539647,2016528,155527,3439896,3440340,1418669,368184,216630,366929,2022359,2024531,2022160,2023895,2023413,217042,366912,1539691,2023450,1539477,2023979,2024704,1539519,2026210,1539490,2024256,2025417,1539652,2024558,2024592,2024937,2026038,216788,2023467,2025712,2026489,2023390,2025561,2388049,2385510,2386551,2386437,2386835,2384739,229112,2384811,2384790,2384764,229131,229153,229122,484658,484531,484565,461498,484494,484605,484898,2384827,484628,461248,461262,461255,229171,2384688,2384696,229104,2384815,229123,461496,229149,229159,58240,484685,484571,229118,484587,484639,484651,2384774,2384715,484596,2384786,484911,484515,484637,484482,484568,461476,2384799,229139,-1,484614,484539,484544,2384724,484478,484623,2384778,461504,484524,229208,484682,484511,484794,484901,484548,2384758,229169,484488,484580,2384702,461488,484632,484919,484672,484664,229167,2384762,2384834,229157,2384711,2384749,2384807,155969,1084571,484641,484888,2384740,229201,155454,2384831,461480,2384819,484670,484556],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":196,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,1,2,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,2,2,2,2,2,2,1,2,-1,2,2,2,1,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,1,2,2,2,2,2,2,1,1,2,1,1,1,1,0,2,2,1,2,1,1,2,1,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700695>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.224361,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,106],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":722,"stack":[7,7,7,7,7,24,28,38,49,56,66,71,79,96,105,117,126,140,150,165,175,182,193,202,216,226,234,246,256,259,266,272,280,284,289,292,297,305,311,326,331,343,350,368,383,7,7,7,7,7,7,392,405,409,412,422,437,440,442,445,446,451,452,456,457,466,468,469,471,472,475,476,482,484,486,487,488,489,490,491,507,514,516,524,531,534,539,546,552,555,556,575,583,583,585,587,592,593,595,596,604,605,607,608,614,617,621,622,630,633,637,640,641,645,648,650,650,658,659,663,664,665,671,672,675,676,679,681,682,683,684,689,690,691,693,693,694,697,698,698,701,702,703,706,707,706,710,711,711,714,715,718,720,721,721,724,727,728,730,731,732,737,738,741,742,742,742,745,746,681,681,683,748,750,751,691,691,754,755,756,757,690,693,693,760,693,761,694,762,763,698,764,697,765,698,768,698,770,771,772,770,773,774,777,778,706,780,781,784,707,785,787,790,791,792,711,711,793,792,794,802,806,807,811,815,816,818,821,822,823,824,830,835,836,840,843,7,845,846,693,847,848,778,778,785,849,714,850,851,854,728,732,858,859,861,866,867,869,870,878,880,881,885,886,888,888,894,896,899,905,908,910,913,915,916,922,923,925,925,930,930,932,938,939,941,941,941,949,950,951,953,956,959,965,966,967,969,972,973,981,982,983,987,988,989,990,996,742,997,998,999,1000,1001,690,691,1003,1004,1005,694,693,1006,1007,1008,697,778,1009,1010,1011,1012,1013,1014,1015,780,706,1016,1017,1018,1019,1022,714,1023,714,721,1026,1027,1028,728,1029,724,1030,1032,1035,1037,1035,1040,1041,1042,859,1043,861,1045,1046,861,867,1049,1050,1051,1057,1060,1061,1066,1077,1079,1087,1090,1092,1093,698,703,785,780,711,792,1094,714,715,720,720,721,728,728,1095,1096,1097,731,859,1043,1043,861,1046,861,1046,1098,1051,1099,1100,870,869,1101,1102,1104,1107,1108,1109,1110,1113,1110,1119,1120,1127,1128,1129,1135,1136,1137,1138,1141,1142,1143,1144,1145,1146,1147,742,1148,1149,742,1151,742,742,681,683,681,1152,681,1155,1156,681,683,683,681,1157,690,1158,691,690,691,691,691,691,1159,691,691,690,691,693,1160,1093,694,693,1161,694,1162,1161,1163,1164,694,1175,1176,1178,1179,1183,1184,1186,1187,1193,1193,1194,1198,1199,1203,1206,1211,1212,1213,1216,1213,1218,1218,1218,1218,1218,1218,742,1220,742,1221,1222,1223,683,999,1224,999,690,691,690,1225,1226,1227,690,691,691,1228,1244,1245,1249,1251,1252,1253,1257,1257,1257,1261,1262,1262,1263,1269,1270,1273,1274,1278,1279,1280,1284,1287,1284,1284,1289,1292,1289,1293,1303,1304,1306,1306,1310,1311,1312,1313,1313,1321,1322,1323,1325,1326,1329,1312,1332,1335,1336,1337,1313,1340,1341,1344,1345,1322,1325,1346,1349,1350,1352,742,1353,1354,691,694,763,698,1355,703,785,1356,792,1358,1365,1366,1368,1368,1371,1375,1376,1379,1381,1381,1381,1384,1390,1393,1394,1398,1399,1400,1404,1405,1405,1405,1407,1408,1409,1416,1417,1417,1419,1420,1421,1423,1427,1428,1431,1439,1440,1442,1448,1448,1459,1460,1462,1466,1468,1470,1473,1477,1482,1485,1488,1498,1499,1501,1504,1505,1509,1509,1511,1512,1514,1515,1516,1519,1521,1522,1523,1524,1525,1526,1527,1530,1534,1535,1537,1542,1542,1544,1548,1549,1551,1556,1557,1559,1565,1566,1568,1569,1574,1575,1579,1580,1581,1585,1588,1589,1592,1593,1594,1599,1600,1601,1605,1606,1607,1610,1611,1613,1614,1617,1622,1623,1624,1628,1629,1630,1638,1640,1640,1644,1648,1650,1651,1657,1658,1659,1218],"time":[116621305.961255,116621305.965993,116621305.968522,116621305.971412,116621305.97408,116621305.996446,116621306.955879,116621312.395722,116621315.410565,116621317.757279,116621319.999923,116621322.003743,116621323.614761,116621325.149801,116621326.504355,116621327.763221,116621328.988443,116621330.14503,116621331.293643,116621332.38622,116621333.422353,116621334.432944,116621335.438432,116621336.442326,116621337.442346,116621338.441693,116621339.477281,116621340.473952,116621341.46614,116621342.460155,116621343.454954,116621344.466999,116621345.428155,116621346.395877,116621347.368182,116621348.373523,116621349.351728,116621350.331598,116621351.326299,116621352.351889,116621353.376227,116621354.393533,116621355.406823,116621356.415957,116621357.423261,116621358.944442,116621358.948804,116621358.951556,116621358.954271,116621358.957052,116621358.982475,116621363.956116,116621369.656847,116621372.403084,116621374.598757,116621376.459187,116621378.501628,116621380.202527,116621381.78954,116621383.222547,116621384.648624,116621385.894696,116621387.055119,116621388.155955,116621389.227228,116621390.27912,116621391.317191,116621392.350104,116621393.410434,116621394.460832,116621395.498711,116621396.526879,116621397.547527,116621398.56148,116621399.571461,116621400.578729,116621401.584134,116621402.555898,116621403.521541,116621404.494259,116621405.47423,116621406.46069,116621407.451251,116621408.4356,116621409.396566,116621410.397646,116621411.369748,116621412.385243,116621413.363374,116621414.336649,116621416.525039,116621418.131756,116621420.691781,116621421.595277,116621422.501808,116621423.431963,116621424.380969,116621425.327297,116621426.290584,116621427.435278,116621428.663064,116621429.887198,116621431.085434,116621432.217514,116621433.31273,116621434.382079,116621435.432795,116621436.470311,116621437.497025,116621438.516065,116621439.530252,116621440.504583,116621441.469304,116621442.441231,116621443.421012,116621444.423861,116621445.411299,116621446.40075,116621447.39189,116621448.406463,116621449.389104,116621450.340299,116621451.299488,116621452.268814,116621453.245741,116621454.228251,116621455.215649,116621456.207664,116621457.202577,116621458.198978,116621459.236596,116621460.228492,116621461.213794,116621462.165,116621463.123998,116621464.106721,116621465.090833,116621466.081057,116621467.132198,116621468.150666,116621469.161502,116621470.174345,116621471.179512,116621472.182073,116621473.183395,116621474.170189,116621475.133579,116621476.10411,116621477.083228,116621478.069281,116621479.111972,116621480.135263,116621481.150591,116621482.161631,116621483.169525,116621484.17495,116621485.1999,116621486.244676,116621487.278328,116621488.262853,116621489.244834,116621490.230416,116621491.219563,116621492.211677,116621498.325758,116621499.14814,116621499.947554,116621500.768374,116621501.633341,116621502.535901,116621503.466001,116621504.483645,116621505.581479,116621506.678624,116621507.873715,116621509.119233,116621510.379656,116621511.609765,116621512.783038,116621513.895744,116621514.929581,116621515.904347,116621516.867816,116621517.801882,116621518.744145,116621519.700771,116621520.634407,116621521.571662,116621522.524343,116621523.489631,116621524.464823,116621525.446581,116621526.434014,116621527.424662,116621528.417915,116621529.413075,116621530.382631,116621531.341214,116621532.319306,116621533.335852,116621534.353072,116621535.366423,116621536.376067,116621537.383076,116621538.365889,116621539.371125,116621540.37915,116621541.385663,116621542.39068,116621543.393826,116621544.39602,116621545.397555,116621546.398904,116621547.399647,116621548.400151,116621549.400433,116621550.400603,116621551.400818,116621552.40106,116621553.401538,116621554.401539,116621555.401441,116621556.401338,116621557.379128,116621558.34014,116621559.33073,116621560.346547,116621561.361471,116621562.372865,116621563.353983,116621564.321257,116621565.294509,116621566.274751,116621567.260465,116621568.250195,116621569.242746,116621570.338483,116621573.066562,116621574.005366,116621574.943166,116621575.870794,116621576.832377,116621577.809948,116621578.793943,116621579.805327,116621580.845615,116621581.943916,116621583.06699,116621584.179738,116621585.264988,116621586.327735,116621587.373497,116621588.406785,116621589.43087,116621590.448331,116621591.482704,116621592.505098,116621593.55255,116621594.574606,116621595.559935,116621596.543734,116621597.530993,116621598.521364,116621599.514716,116621600.509923,116621601.506247,116621602.503716,116621603.501629,116621604.500087,116621605.499438,116621606.462603,116621607.415016,116621608.344696,116621609.287803,116621610.275343,116621611.241714,116621612.212779,116621613.198928,116621614.223761,116621615.247262,116621616.26528,116621617.278602,116621618.288148,116621619.320616,116621620.322981,116621621.31529,116621622.273929,116621623.239885,116621624.212415,116621625.192041,116621626.21845,116621627.20416,116621628.187444,116621629.177147,116621630.208491,116621631.254706,116621632.277358,116621633.289796,116621634.308081,116621635.312955,116621636.339839,116621637.338653,116621638.361983,116621639.362553,116621640.353294,116621641.345712,116621642.339453,116621650.172479,116621651.344411,116621652.498134,116621653.656634,116621654.76767,116621655.848354,116621656.984779,116621658.3578,116621659.759081,116621661.086818,116621662.274065,116621663.404737,116621664.499515,116621665.581717,116621666.630599,116621667.665295,116621668.691116,116621669.72727,116621670.737268,116621671.72242,116621672.672512,116621673.620534,116621674.571402,116621675.532794,116621676.504407,116621677.483756,116621678.447547,116621679.431389,116621680.397741,116621681.366979,116621682.343538,116621683.326389,116621684.292587,116621685.263798,116621686.200172,116621687.147527,116621688.121882,116621689.123791,116621690.128296,116621691.132035,116621692.134754,116621693.174838,116621694.194774,116621695.218551,116621696.236909,116621697.294112,116621698.304313,116621699.301732,116621700.298367,116621701.318382,116621702.28401,116621703.248056,116621704.220272,116621705.187961,116621706.143233,116621707.107704,116621708.081481,116621709.076213,116621710.097354,116621711.089249,116621712.168473,116621713.243497,116621714.218373,116621715.171121,116621716.130988,116621717.101562,116621718.079642,116621719.08359,116621720.069795,116621730.964062,116621734.804024,116621737.503711,116621739.669078,116621741.622918,116621743.476062,116621744.940702,116621746.273789,116621747.488519,116621748.660271,116621749.773544,116621750.852117,116621751.909046,116621752.95062,116621753.980871,116621755.003271,116621756.01755,116621757.02748,116621758.034719,116621758.999884,116621760.134699,116621761.396808,116621762.305613,116621763.204292,116621764.125828,116621765.067953,116621766.026073,116621767.128092,116621768.090415,116621769.04714,116621770.013237,116621770.987968,116621771.967248,116621772.951282,116621773.93984,116621774.931456,116621775.918435,116621776.875371,116621777.834297,116621778.804267,116621779.782938,116621780.765886,116621781.753841,116621782.745545,116621783.739435,116621784.734462,116621785.730713,116621786.728055,116621787.725986,116621788.724485,116621789.723177,116621790.722367,116621791.721837,116621792.721522,116621793.721164,116621800.103324,116621801.019339,116621801.925438,116621802.841812,116621803.970924,116621804.962231,116621805.925596,116621808.934455,116621810.235973,116621811.621267,116621812.916128,116621814.103425,116621815.181744,116621816.231168,116621817.357427,116621818.381484,116621819.36462,116621820.278717,116621821.394779,116621822.406678,116621823.46809,116621824.463695,116621825.518799,116621826.482376,116621827.730233,116621828.65475,116621829.567405,116621830.652154,116621831.602364,116621832.609559,116621833.635074,116621834.779937,116621835.853843,116621836.903677,116621837.933897,116621838.916922,116621839.894747,116621840.877699,116621841.86554,116621842.855952,116621843.926983,116621844.922284,116621845.900769,116621846.88235,116621847.862682,116621848.82577,116621849.816045,116621850.790705,116621851.789746,116621852.924211,116621853.90018,116621854.879922,116621856.426384,116621857.351705,116621858.249402,116621859.172323,116621860.153172,116621861.145701,116621862.141268,116621864.597563,116621865.59617,116621866.623669,116621867.637747,116621868.647132,116621869.653465,116621870.657898,116621873.708889,116621873.713741,116621873.716688,116621873.719668,116621873.722585,116621873.758043,116621878.647395,116621881.444797,116621884.320685,116621886.189531,116621887.687159,116621889.038506,116621890.523332,116621892.058279,116621893.429119,116621894.701643,116621895.902581,116621897.05054,116621898.146067,116621899.214005,116621900.263237,116621901.299291,116621902.325429,116621903.387295,116621904.403054,116621905.493661,116621906.555936,116621907.601115,116621908.642058,116621909.666195,116621910.681859,116621911.669138,116621912.635111,116621913.605793,116621914.583803,116621915.568067,116621916.557519,116621917.550604,116621918.544082,116621919.539144,116621920.535502,116621921.533248,116621922.531249,116621923.52965,116621924.561669,116621925.561103,116621926.567314,116621927.560292,116621928.55169,116621929.552097,116621930.548953,116621931.579815,116621932.616892,116621933.645732,116621934.667139,116621935.682768,116621936.694204,116621937.702602,116621938.700215,116621939.662511,116621940.627367,116621941.600552,116621942.580856,116621943.550226,116621944.531528,116621945.528838,116621946.532344,116621947.489847,116621948.45216,116621949.42373,116621950.402769,116621951.387621,116621952.383351,116621953.375651,116621954.368873,116621955.363307,116621956.359061,116621957.355867,116621958.378299,116621959.417061,116621960.448518,116621961.471875,116621962.489049,116621963.501352,116621964.510273,116621969.599412,116621970.985844,116621972.323372,116621973.548622,116621974.729139,116621975.863312,116621976.961729,116621978.033877,116621979.116575,116621980.18705,116621981.239466,116621982.277579,116621983.305283,116621984.338652,116621985.441533,116621986.564443,116621987.677726,116621988.763561,116621989.826403,116621990.872286,116621991.930641,116621992.955413,116621993.978909,116621995.034826,116621996.079487,116621997.073089,116621998.055233,116621999.040048,116622000.028732,116622001.020487,116622001.975008,116622002.926695,116622003.888388,116622004.860229,116622005.839722,116622006.824927,116622007.814141,116622008.806358,116622009.800995,116622010.797017,116622011.794298,116622012.792067,116622013.790467,116622014.789224,116622015.817551,116622016.817042,116622017.810119,116622018.80401,116622019.799268,116622020.795611,116622021.793008,116622022.791131,116622023.756504,116622024.755942,116622025.761875,116622026.72644,116622027.691421,116622028.664696,116622029.645411,116622030.652516,116622031.684989,116622032.71354,116622033.733694,116622034.706964,116622035.677975,116622036.655608,116622037.639201,116622038.650075,116622039.641779,116622040.630543,116622041.592906,116622042.623762,116622047.85068,116622048.708293,116622049.645254,116622050.606596,116622051.579643,116622052.573788,116622053.626033,116622054.705059,116622055.833816,116622056.979602,116622058.135177,116622059.27142,116622060.37416,116622061.449269,116622062.545513,116622063.580901,116622064.601548,116622065.615705,116622066.626067,116622067.633716,116622068.639092,116622069.64292,116622070.62273,116622071.580773,116622072.545703,116622073.51983,116622074.500786,116622075.487134,116622076.47723,116622077.493964,116622078.505985,116622079.541719,116622080.534057,116622081.514235,116622082.497787,116622083.485694,116622084.476883,116622085.495015,116622086.487533,116622087.478898,116622088.472257,116622089.467136,116622090.447422,116622091.446314,116622092.416136,116622093.377511,116622094.347243,116622095.324747,116622096.331794,116622097.331419,116622098.340826,116622099.368998,116622100.392551,116622101.409983,116622102.42243,116622103.43151,116622104.43797,116622105.443125,116622106.446793,116622107.449345,116622108.478989,116622109.437696,116622110.393785,116622111.359877,116622112.335028,116622113.316942,116622114.287157,116622116.61337],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[151,4,2,2,2,22,959,5439,3014,2346,2242,2003,1611,1535,1354,1258,1225,1156,1123,1092,1036,1010,1005,1003,1000,999,998,996,992,994,994,995,961,967,972,976,978,979,994,1025,1024,1017,1013,1009,1007,919,4,2,2,2,25,1172,5014,2746,2195,1860,1718,1700,1587,1433,1308,1246,1160,1100,1071,1051,1038,1032,1060,1050,1037,1028,1020,1013,1009,1007,1005,971,965,972,979,986,990,984,960,966,972,970,978,973,984,874,607,903,906,930,949,946,963,1144,1227,1224,1198,1132,1095,1069,1050,1037,1026,1019,1014,974,964,971,979,985,987,989,991,993,982,951,959,969,976,982,987,992,994,996,995,991,985,951,958,968,984,990,1023,1018,1010,1006,1005,1002,1001,986,963,970,979,986,1026,1023,1015,1011,1007,1005,1024,1044,1033,984,981,985,989,992,945,822,799,820,864,902,930,1017,1097,1097,1195,1245,1260,1230,1173,1112,1033,974,963,934,942,956,933,937,952,965,975,981,987,990,993,995,969,958,978,1016,1017,1013,1009,1007,982,1005,1008,1006,1005,1003,1002,1001,1001,1000,1000,1000,1000,1000,1000,1000,1000,999,999,977,961,990,1015,1014,1011,981,967,973,980,985,989,992,994,968,938,937,927,961,977,983,1011,1040,1098,1123,1112,1085,1062,1045,1033,1024,1017,1012,1022,1047,1022,985,983,987,990,993,995,996,997,997,998,999,963,935,929,943,957,966,971,986,1024,1023,1018,1013,1009,1006,1002,992,958,965,972,979,984,985,983,989,1031,1029,1022,1012,1008,1004,1026,998,1023,1000,990,992,993,2364,1171,1153,1158,1111,1080,1136,1373,1401,1316,1187,1130,1094,1082,1048,1034,1025,1036,1009,985,950,948,950,961,971,979,963,983,966,969,976,982,966,971,936,947,974,1001,1004,1003,1002,1040,1019,1023,1018,1057,1010,997,996,1007,965,964,972,967,955,964,973,994,1021,991,1012,1012,974,952,959,970,978,1003,986,8137,3839,2699,2165,1953,1730,1464,1333,1214,1153,1113,1078,1056,1041,1030,1022,1014,1009,1007,965,976,956,908,898,921,942,958,969,962,956,966,974,979,984,988,991,986,956,958,969,978,982,987,991,993,995,996,997,997,998,998,999,999,999,999,906,916,906,916,936,954,923,1059,1301,1298,1214,1151,1078,1049,997,957,915,914,1004,989,974,973,956,963,950,924,912,931,950,928,969,1101,1073,1049,1030,983,977,982,987,990,992,995,978,981,980,963,990,974,999,968,975,979,988,925,897,922,980,992,995,996,998,1027,1014,1009,1006,1004,325,4,2,2,2,20,754,2774,2837,1841,1487,1338,1484,1534,1370,1272,1200,1147,1095,1067,1049,1036,1026,1018,1015,1090,1062,1045,1032,1024,1015,987,965,970,978,984,989,993,993,995,996,997,998,998,998,999,991,992,991,993,996,1030,1037,1028,1021,1015,1011,1008,997,962,964,973,980,969,981,997,968,957,962,971,979,984,988,992,993,994,995,996,1022,1038,1031,1023,1017,1012,1008,2706,1386,1305,1225,1180,1134,1098,1072,1082,1070,1052,1038,1027,1033,1102,1122,1113,1085,1062,1045,1033,1024,1023,1055,1044,993,982,984,988,991,954,951,961,971,979,985,989,992,994,996,997,997,998,998,998,999,993,993,995,996,997,998,965,999,1005,964,964,973,980,1007,1032,1028,1020,973,971,977,983,987,991,988,962,953,890,857,936,961,973,994,1052,1079,1128,1145,1155,1136,1102,1075,1054,1035,1020,1014,1010,1007,1005,1003,979,958,964,974,980,986,990,992,1012,1035,992,980,983,987,991,992,992,991,993,994,980,998,969,961,969,977,1007,999,1009,1028,1023,1017,1012,1009,1006,1005,1003,1002,1001,958,956,966,975,981,970,937]},"stackTable":{"length":1660,"prefix":[null,0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,20,25,26,27,14,29,30,31,32,33,34,35,36,37,12,39,40,41,42,43,44,45,46,47,48,42,50,51,52,53,54,55,40,57,58,59,60,61,62,63,64,65,60,67,68,69,70,58,72,73,74,75,76,77,78,10,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,87,97,98,99,100,101,102,103,104,85,106,107,108,109,110,111,112,113,114,115,116,107,118,119,120,121,122,123,124,125,83,127,128,129,130,131,132,133,134,135,136,137,138,139,130,141,142,143,144,145,146,147,148,149,128,151,152,153,154,155,156,157,158,159,160,161,162,163,164,158,166,167,168,169,170,171,172,173,174,167,176,177,178,179,180,181,156,183,184,185,186,187,188,189,190,191,192,184,194,195,196,197,198,199,200,201,154,203,204,205,206,207,208,209,210,211,212,213,214,215,206,217,218,219,220,221,222,223,224,225,218,227,228,229,230,231,232,233,204,235,236,237,238,239,240,241,242,243,244,245,236,247,248,249,250,251,252,253,254,255,91,257,258,89,260,261,262,263,264,265,261,267,268,269,270,271,98,273,274,275,276,277,278,279,102,281,282,283,109,285,286,287,288,113,290,291,111,293,294,295,296,119,298,299,300,301,302,303,304,121,306,307,308,309,310,83,312,313,314,315,316,317,318,319,320,321,322,323,324,325,323,327,328,329,330,317,332,333,334,335,336,337,338,339,340,341,342,319,344,345,346,347,348,349,315,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,354,369,370,371,372,373,374,375,376,377,378,379,380,381,382,8,384,385,386,387,388,389,390,391,8,393,394,395,396,397,398,399,400,401,402,403,404,400,406,407,408,407,410,411,398,413,414,415,416,417,418,419,420,421,8,423,424,425,426,427,428,429,430,431,432,433,434,435,436,434,438,439,439,441,432,443,444,444,443,447,448,449,450,444,447,453,454,455,455,430,458,459,460,461,462,463,464,465,460,467,463,463,470,467,461,473,474,464,459,477,478,479,480,481,480,483,477,485,480,480,483,480,483,428,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,501,508,509,510,511,512,513,508,515,499,517,518,519,520,521,522,523,518,525,526,527,528,529,530,526,532,533,532,535,536,537,538,497,540,541,542,543,544,545,543,547,548,549,550,551,550,553,554,384,8,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,558,576,577,578,579,580,581,582,581,584,584,586,579,588,589,590,591,590,589,594,594,577,597,598,599,600,601,602,603,601,600,606,606,598,609,610,611,612,613,611,615,616,610,618,619,620,618,558,623,624,625,626,627,628,629,629,631,632,628,634,635,636,634,638,639,634,626,642,643,644,644,646,647,643,649,624,651,652,653,654,655,656,657,655,654,660,661,662,660,660,652,666,667,668,669,670,668,667,673,674,673,582,677,678,677,680,680,680,680,584,685,686,687,688,686,686,685,692,692,590,695,696,696,695,699,700,699,699,594,704,705,705,704,708,709,708,601,712,713,713,713,716,717,712,719,719,606,722,723,723,725,726,723,722,729,729,729,598,733,734,735,736,736,735,739,740,678,678,743,744,744,680,747,747,749,749,686,752,753,688,688,686,692,758,759,692,692,759,696,696,696,766,767,700,769,700,699,769,769,699,775,776,699,705,779,705,705,782,783,705,779,786,708,788,789,708,708,708,789,577,795,796,797,798,799,800,801,800,803,804,805,803,798,808,809,810,809,812,813,814,812,801,817,801,819,820,803,803,803,798,825,826,827,828,829,827,831,832,833,834,832,831,837,838,839,839,841,842,582,844,null,759,767,789,717,719,723,852,853,611,855,856,857,856,855,860,618,862,863,864,865,863,862,868,868,562,871,872,873,874,875,876,877,876,879,879,874,882,883,884,884,883,887,872,889,890,891,892,893,892,895,895,897,898,890,900,901,902,903,904,904,906,907,903,909,568,911,912,912,914,569,566,917,918,919,920,921,919,918,924,911,926,927,928,929,929,931,928,933,934,935,936,937,936,934,940,926,942,943,944,945,946,947,948,946,946,945,952,952,954,955,952,957,958,943,960,961,962,963,964,964,964,961,968,968,970,971,968,570,974,975,976,977,978,979,980,980,978,977,984,985,986,986,986,985,975,991,992,993,994,995,744,680,680,747,752,692,1002,759,759,767,767,696,769,699,700,769,782,783,786,789,789,788,708,713,1020,1021,717,719,1024,1025,1024,1024,725,853,729,1031,729,1033,1034,1031,1036,856,1038,1039,857,1039,856,860,1044,860,863,1047,1048,863,1047,862,1052,1053,1054,1055,1056,1054,1058,1059,1056,1054,1062,1063,1064,1065,1062,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1074,1078,1072,1080,1081,1082,1083,1084,1085,1086,1084,1088,1089,1083,1091,1002,713,723,729,1036,863,863,868,871,871,562,1103,1103,1105,1106,875,875,882,882,1111,1112,872,1114,1115,1116,1117,1118,1118,1117,1121,1122,1123,1124,1125,1126,1125,1125,1124,1130,1131,1132,1133,1134,1134,1134,927,927,1139,1140,1139,942,942,942,744,743,678,678,678,1150,749,680,1153,1154,1154,749,752,686,759,692,1002,692,692,579,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1173,1172,1177,1177,1170,1180,1181,1182,1182,1181,1185,1185,1168,1188,1189,1190,1191,1192,1192,1191,1195,1196,1197,1195,1189,1200,1201,1202,1202,1204,1205,1201,1207,1208,1209,1210,1209,1167,1167,1214,1215,4,1217,1150,1219,747,1154,749,1154,688,688,753,688,685,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1241,1240,1246,1247,1248,1246,1250,1246,1246,1238,1254,1255,1256,1255,1258,1259,1260,1258,1258,1236,1264,1265,1266,1267,1268,1268,1268,1271,1272,1268,1267,1275,1276,1277,1275,1275,1265,1281,1282,1283,1283,1285,1286,1282,1288,1288,1290,1291,1288,1234,1294,1295,1296,1297,1298,1299,1300,1301,1302,1301,1299,1305,1297,1307,1308,1309,1309,1298,1298,1297,1314,1315,1316,1317,1318,1319,1320,1318,1318,1317,1324,1324,1324,1327,1328,1298,1330,1331,1307,1333,1334,1307,1334,1298,1338,1339,1331,1318,1342,1343,1319,1327,1324,1347,1348,1296,1296,1351,749,753,766,786,709,1357,801,1359,1360,1361,1362,1363,1364,1364,1363,1367,1367,1369,1370,1361,1372,1373,1374,1374,1374,1377,1378,1373,1380,1380,1382,1383,1359,1385,1386,1387,1388,1389,1389,1391,1392,1389,1388,1395,1396,1397,1395,1396,1386,1401,1402,1403,1403,1402,1406,1406,1406,803,1410,1411,1412,1413,1414,1415,1415,1414,1418,1418,1418,1418,1422,1412,1424,1425,1426,1426,1426,1429,1430,1410,1432,1433,1434,1435,1436,1437,1438,1438,1437,1441,1435,1443,1444,1445,1446,1447,1446,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1457,1456,1461,1454,1463,1464,1465,1465,1467,1464,1469,1469,1471,1472,1452,1474,1475,1476,1476,1478,1479,1480,1481,1481,1483,1484,1481,1486,1487,1480,1489,1490,1491,1492,1493,1494,1495,1496,1497,1497,1496,1500,1500,1502,1503,1500,1494,1506,1507,1508,1492,1510,582,584,1513,584,799,808,1517,1518,1362,1520,1372,1372,1387,1401,1413,1413,1424,1528,1529,1410,1531,1532,1533,1533,1532,1536,810,1538,1539,1540,1541,1540,1543,1538,1545,1546,1547,1547,1546,1550,812,1552,1553,1554,1555,1555,1554,1558,1552,1560,1561,1562,1563,1564,1563,1561,1567,1567,877,1570,1571,1572,1573,1571,1570,1576,1577,1578,1578,1576,879,1582,1583,1584,1583,1586,1587,1583,1582,1590,1591,1590,1590,884,1595,1596,1597,1598,1598,1598,1595,1602,1603,1604,1602,1602,887,1608,1609,1609,1608,1612,1612,1612,1615,1616,893,1618,1619,1620,1621,1619,1619,1618,1625,1626,1627,1627,1625,892,1631,1632,1633,1634,1635,1636,1637,1636,1639,1634,1641,1642,1643,904,1645,1646,1647,1647,1649,1646,1645,1652,1653,1654,1655,1656,1656,1656],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,10,11,10,11,10,11,10,11,12,13,14,15,16,17,14,18,19,20,10,11,10,20,12,17,14,18,21,20,10,11,10,11,10,11,12,13,14,22,20,10,11,12,13,14,23,20,10,11,10,11,12,17,14,15,24,20,12,17,14,21,20,10,20,12,13,14,18,21,25,8,9,10,11,10,11,10,11,10,11,10,20,12,17,14,26,20,10,20,10,11,12,17,14,27,20,10,11,10,20,10,11,12,13,14,18,28,20,10,20,10,11,12,17,14,29,20,10,11,10,11,10,11,10,20,12,13,14,15,30,20,10,11,10,20,12,17,14,15,31,25,8,9,10,11,10,11,10,11,10,11,10,11,32,33,20,10,11,10,11,12,13,14,15,19,20,10,20,12,13,14,34,20,10,11,10,20,10,11,12,17,14,35,20,10,11,10,20,12,13,14,36,20,10,11,10,11,10,11,10,20,12,13,14,15,37,20,10,11,10,11,12,13,14,18,24,20,10,20,12,13,14,15,21,20,10,11,10,20,10,11,12,17,14,18,38,20,10,11,10,20,12,13,14,18,39,11,12,40,20,10,11,12,13,14,21,20,12,17,14,15,41,11,10,20,12,17,14,18,42,13,14,15,43,11,10,11,32,44,17,14,45,20,12,13,14,21,11,10,20,12,13,14,18,46,20,12,17,14,15,21,25,8,9,10,11,10,20,10,20,10,11,10,11,32,44,20,12,17,14,22,11,10,20,10,11,10,11,12,13,14,18,47,11,10,20,10,11,12,48,25,8,9,10,20,10,11,10,11,10,11,10,20,12,13,14,15,49,11,10,20,10,11,10,20,10,11,12,13,14,15,15,24,50,51,52,51,52,15,18,15,53,54,55,56,55,56,55,56,55,56,55,57,58,59,57,55,56,60,57,58,61,62,8,54,55,56,55,62,63,64,65,66,67,68,67,68,67,68,67,68,67,68,69,70,14,71,72,14,73,18,74,75,76,77,44,69,72,14,18,78,79,70,14,18,80,81,75,67,68,69,70,14,15,15,19,76,82,83,18,38,84,72,14,85,24,75,69,70,14,15,21,18,86,76,87,88,89,90,91,21,92,8,66,67,68,67,68,67,68,67,68,69,72,14,18,22,75,69,70,14,18,18,93,76,44,75,67,68,69,70,14,15,21,75,67,68,69,72,14,94,75,76,44,69,70,14,15,21,92,8,66,67,68,76,87,75,69,70,14,15,95,18,18,96,97,98,99,100,8,98,99,100,8,98,99,101,99,102,99,102,99,101,103,104,101,99,101,99,101,99,101,105,102,106,107,108,102,99,101,107,109,105,102,106,105,102,99,101,99,101,103,110,111,105,102,105,106,102,99,101,103,110,112,107,110,113,102,103,110,114,105,102,99,101,99,101,99,101,106,103,110,115,102,103,110,116,107,110,117,106,102,99,101,118,103,110,119,102,106,102,99,101,99,101,103,110,120,106,102,107,110,121,106,105,102,99,101,107,110,122,105,102,107,123,106,99,101,124,102,105,118,106,125,99,101,107,110,120,105,106,102,106,105,99,101,106,105,102,107,126,127,105,99,101,106,127,102,103,128,106,99,101,105,106,103,110,129,102,106,105,99,101,106,107,110,115,105,102,106,127,105,100,8,98,103,130,131,107,110,132,105,103,110,133,134,107,135,110,136,121,103,110,137,121,138,139,103,110,111,139,140,141,142,139,107,110,129,110,143,104,142,144,145,103,110,146,106,103,131,125,107,110,141,105,110,114,107,110,143,118,105,125,147,100,8,98,99,101,99,101,125,102,103,110,120,125,102,99,101,105,102,103,110,148,106,107,128,103,110,121,127,106,105,100,8,98,103,110,115,99,101,103,110,129,149,100,8,98,106,103,110,146,103,150,151,152,153,154,152,155,103,110,156,99,101,107,104,105,102,105,99,101,103,110,157,106,102,106,105,101,99,101,99,101,99,101,105,102,158,106,102,99,101,106,105,102,105,102,99,101,99,101,125,102,106,107,110,119,100,8,98,99,101,105,103,110,152,102,106,101,107,126,110,159,106,102,99,101,103,110,160,105,102,106,99,101,99,101,105,103,104,102,99,101,103,110,143,161,102,106,102,99,101,99,101,107,110,145,118,106,102,106,107,110,162,103,110,113,102,99,101,103,110,141,163,154,102,125,107,110,164,106,101,99,101,99,101,107,110,133,163,106,102,107,110,129,165,113,128,100,8,98,103,110,138,166,167,127,168,150,107,168,132,169,169,145,149,170,171,168,172,126,145,169,136,173,150,171,107,110,119,169,103,110,154,168,126,126,119,107,126,103,110,173,110,136,103,110,174,168,136,106,107,168,106,107,110,169,105,168,100,8,98,103,110,175,107,110,176,170,99,101,107,110,170,100,8,98,99,101,99,101,99,101,107,150,102,106,100,8,98,99,101,103,110,169,107,110,119,102,105,177,178,179,118,169,125,127,127,118,127,102,105,103,110,169,125,106,105,107,110,138,100,8,98,99,101,105,106,100,8,98,99,101,103,180,127,105,100,8,98,107,110,170,113,143,105,107,110,138,104,125,106,139,169,131,125,118,107,126,169,103,110,156,115,115,108,181,134,127,108,118,182,100,8,98,99,101,99,101,99,101,103,131,105,102,127,105,102,99,101,105,183,102,105,106,102,99,101,99,101,105,106,102,107,110,115,106,102,99,101,106,107,110,119,100,8,98,107,177,118,105,107,110,154,184,185,110,186,128,129,120,141,117,187,169,122,100,8,98,99,101,99,101,99,101,99,101,99,101,107,110,170,106,102,103,110,173,107,104,106,105,102,99,101,105,102,103,110,156,106,188,102,99,101,99,101,106,105,107,110,112,127,102,103,110,186,106,118,102,99,101,106,107,110,138,102,105,103,110,173,106,100,8,98,99,101,99,101,103,110,186,104,102,106,102,99,101,105,106,106,105,100,8,98,99,101,107,110,119,106,105,102,105,106,103,110,113,107,110,129,107,110,120,106,163,103,110,120,162,103,110,172,180,128,107,110,129,183,103,189,163,129,180,120,110,146,99,101,99,101,99,101,106,105,102,106,107,110,169,102,99,101,140,105,107,110,138,102,105,107,110,111,102,99,101,99,101,106,107,110,119,105,102,103,110,119,105,180,102,99,101,118,106,102,125,127,105,99,101,99,101,99,101,106,105,102,106,105,125,107,128,102,99,101,155,105,103,110,143,100,8,98,99,101,99,101,106,105,102,106,100,8,98,99,101,105,100,8,98,99,101,99,101,99,101,107,130,105,102,105,102,99,101,106,103,135,102,105,107,110,154,100,8,98,106,99,101,99,101,105,107,110,119,103,110,153,100,8,98,99,101,99,101,99,101,105,106,102,127,103,110,144,106,100,8,98,106,100,190,191,103,130,118,105,107,110,154,107,168,106,125,106,105,105,106,107,110,173,102,99,101,106,105,102,127,99,101,99,101,118,102,106,102,99,101,105,118,102,105,99,101,99,101,106,105,102,105,102,99,101,103,110,152,177,102,106,105,99,101,107,110,192,193,102,103,110,120,144,105,99,101,107,128,103,110,129,105,102,103,135,142,105,99,101,103,110,194,136,121,102,103,110,119,105,106,99,101,106,127,102,155,106,103,110,145,99,101,103,110,143,105,106,102,107,110,160,117,106,100,8,98,99,101,99,101,106,102,105,102,99,101,106,99,101,107,130,110,113,106,100,8,98,107,110,111,141,195],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x2618c","0x26706","0x11e88d","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1e9c","0x1edef0","0x1eeae6","0x1ee02e","0x1f1c7f","0x1eeb02","0x1ee015","0x1f37e8","0x1edfb4","0x1edfd9","0x1ee8e5","0x1edfb7","0x1f3684","0x1ee5ef","0x1eea1f","0x1ee477","0x1ee479","0x1ee7f3","0x1ee979","0x1f257e","0x177d8c","0x1ee77a","0x1ee80d","0x1ee5d6","0x1ee323","0x1edfb0","0x1ee024","0x1f1b8b","0x1ee010","0x1ee4ac","0x1ee4a4","0x177d91","0x1ee807","0x1ee73f","0x1edfd5","0x1f1e6f","0x1ee8f4","0x1ef2d8","0x1eebf0","0x1eee79","0x1ee7bc","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177d98","0x1eb357","0x177e3f","0x1ec510","0x25f87","0x347d18","0x347ed4","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee453","0x1edb10","0x1ee1d7","0x1edff5","0x34fd2","0x59940","0x177e6b","0x1ee01a","0x177d95","0x1ee22b","0x1ee500","0x177dbf","0x1eeae2","0x177da2","0x1ee340","0x1ee7c9","0x177e44","0x1ee46e","0x1ee490","0x1ee5e9","0x1eea36","0x34ed4","0x1ee02b","0x1ee8f0","0x1eebf9","0x1edfde","0x1ee859","0x247051","0x246666","0x246a77","0x246a05","0x246b93","0x246363","libm.so.6","0x37ef8","0x2463ab","0x246396","0x24637c","0x37f0b","0x37f21","0x37f02","0x76532","0x764b3","0x764d5","0x70aba","0x7648e","0x764fd","0x76622","0x2463bb","0x76514","0x709c0","0x709ce","0x709c7","0x37f33","0x246330","0x246338","0x37ef0","0x2463af","0x37f03","0x70ab8","0x37f1d","0x37f27","0xe380","0x7654d","0x764db","0x37efe","0x764eb","0x7651f","0x7652b","0x246386","0x24634b","0x764f4","0x246392","0x7662f","0x764a3","0x7651d","0x76482","0x764d8","0x70aa4","0x24639f","0x37f13","0xffffffffba601199","0x76506","0x764bb","0x764c0","0x246354","0x7647e","0x7650f","0x24638a","0x70ac0","0x764ac","0x37f58","0x7654a","0x7649f","0x765ba","0x76625","0x764c4","0x246376","0x37f31","0x76488","0x764e4","0x24633e","0x70ab0","0x76518","0x76637","0x76540","0x76538","0x37f2f","0x24637a","0x2463c2","0x37f25","0x246347","0x24636d","0x2463a7","0x26141","0x108c9b","0x76521","0x76618","0x246364","0x37f51","0x25f3e","0x2463bf","0x70aa8","0x2463b3","0x7653e","0x764cc"],"tid":"700695","unregisterTime":116622126.552591},{"frameTable":{"length":212,"address":[1206351,608962,4045208,3811533,1174055,4045226,3445825,3446298,3442150,681464,673968,3446491,156499,2047333,2042824,2045333,2041225,2038911,2023152,2026214,2023401,2045928,2026242,2023355,2039452,2023358,2038817,2023456,2038663,2043024,2044292,158863,3493043,677985,674762,1706698,2023974,2026130,2023700,2024548,2023344,2025605,2025094,2025811,2024567,2025502,2041214,1539473,2025044,2023467,2023895,1539480,2023900,2045572,1539656,2024709,1539633,2026091,2023390,2023348,2026038,2024900,-1,2025266,2024909,2018025,2013424,2016405,2016768,2011421,1539516,2016528,1539477,2011477,1418669,368184,216630,366929,2022359,217042,2026488,2023387,366912,2024600,2022160,2023430,2026189,2026489,1539506,2026253,2023413,2023367,216788,2023897,2025259,2025584,2024441,112453,2024767,2024230,2025256,2025103,2023385,1539642,2023448,2024610,155674,3439771,156486,157666,3439601,165813,1173645,2388049,2385510,2386437,2384811,2384790,2386835,2384764,229139,2384823,2384696,2384815,2384739,229112,229122,484583,2384807,229167,229131,2386551,484628,461248,229175,484623,484596,484511,229157,484524,461262,229153,484658,2384834,484664,2384827,461488,484565,484637,484651,2384762,2384778,229169,484587,484605,484911,484544,2384799,58240,229104,2384786,2384728,461255,461496,229159,484580,2384774,484632,484646,484478,461270,484720,484539,2384749,484919,461328,229208,-1,-1,484571,484614,484792,484515,484531,2384688,2384724,2384740,2384702,484497,229149,229171,484482,461504,484488,484898,484714,484672,156044,157446,155454,155969,1084571,229123,229184,484705,461264,484682,461498,229118,2384831,2384715,484610],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":212,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,2,1,1,1,1,2,2,2,1,2,2,1,2,2,2,2,2,2,2,2,2,2,2,1,2,1,2,2,2,2,1,1,2,2,2,2,2,1,2,2,1,1,2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,-1,-1,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,1,1,1,1,0,2,2,2,2,2,2,2,1,1,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700696>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.244855,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,122],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":734,"stack":[4,4,4,4,4,10,28,34,42,43,49,50,57,67,70,71,76,80,81,82,83,91,95,96,98,99,106,109,111,112,113,128,136,139,149,157,170,177,186,187,207,218,227,245,258,267,286,302,316,323,333,339,346,346,351,359,367,371,376,387,394,396,403,412,413,419,428,432,439,452,454,460,469,470,478,481,486,488,495,503,506,508,513,513,513,513,513,525,526,531,533,539,541,541,545,546,547,549,549,549,557,559,560,564,565,566,570,571,573,575,577,575,591,592,595,598,599,605,608,609,611,611,617,619,622,624,627,632,633,636,638,640,650,651,655,656,657,663,664,666,667,670,676,677,685,688,689,695,696,697,698,526,701,702,706,707,708,709,710,711,711,711,713,716,717,717,717,717,719,720,723,720,724,727,730,541,731,732,547,733,547,736,739,740,549,743,744,745,747,748,749,750,751,752,753,754,756,754,757,759,760,762,763,770,772,773,775,775,777,778,781,782,792,793,797,798,798,804,805,809,810,810,811,814,816,817,819,732,547,547,820,821,560,565,754,754,822,823,773,773,777,829,830,832,833,847,850,851,852,853,857,858,859,861,863,866,863,874,875,876,877,881,882,882,888,889,890,894,895,896,895,904,905,908,909,911,914,911,918,919,922,924,924,927,924,933,936,939,940,944,950,951,953,810,954,711,955,717,956,732,547,547,549,557,566,957,958,575,959,960,782,777,961,962,965,966,969,970,973,976,977,977,983,986,989,993,996,998,999,1000,1001,999,1002,1002,1004,1011,1023,1024,1030,1033,1034,1042,1044,1044,1048,1050,1051,1059,1061,1062,1066,1072,1075,1076,1090,1091,1095,1096,1102,1103,1107,1108,1115,1117,1120,1121,810,1123,1124,1127,1128,1129,1130,1131,1132,1132,1133,1134,1137,1145,1146,1150,1151,1155,1156,1158,1159,1165,1166,1168,1169,1173,1177,1180,1181,1182,1183,1184,1185,1186,1189,1190,1193,1184,1184,1196,1199,1200,1201,1202,1205,1206,1207,1208,1211,1214,1208,1215,954,954,1217,1219,1221,1222,1223,1223,1224,1224,1227,1232,1234,1235,1236,1237,1238,1208,1239,1236,1240,1241,1244,1245,1246,811,1247,1248,1249,1250,1251,1252,1253,541,732,1254,547,547,1255,1256,1257,549,743,560,1258,1261,1262,1264,566,571,754,1266,1267,1269,1270,1271,599,1272,1273,1274,1275,633,1276,1288,1291,1295,1296,1300,1301,1304,1306,1314,1316,1319,1325,1326,1328,1331,1343,1347,1353,1356,1357,1363,1367,1373,1375,1381,1384,1387,1387,1387,1387,1387,1388,1390,526,1391,1391,1394,525,526,1395,708,1396,709,706,709,706,1397,811,1247,811,531,1398,1400,711,1401,1249,1402,1403,1404,1405,1249,1406,1407,817,723,1408,1409,720,1410,724,817,1411,1412,732,541,541,1413,1414,1415,547,1416,546,1419,1420,1421,546,547,736,1431,1433,1435,1439,1442,1444,1456,1457,1459,1461,1465,1466,1469,1471,1477,1480,1482,1482,1489,1492,1495,1499,1500,1506,1509,1513,1514,1522,1523,1527,526,708,708,1528,708,1401,711,711,1529,1530,811,1249,717,1249,717,1531,1532,1405,717,817,720,720,720,720,720,720,1533,1534,541,1535,541,1536,541,541,547,1537,546,1538,1539,1540,547,1541,549,744,1542,1543,744,549,1548,1549,1553,1554,1558,1560,1560,1561,1571,1571,1576,1577,1581,1582,1587,1589,1592,1598,1601,1602,708,708,1603,1604,711,1249,1605,1606,1607,817,720,541,732,732,1608,546,547,1609,744,549,1616,1617,1621,1623,1623,1631,1633,1634,1638,1640,1642,1651,1653,1654,1658,1660,1661,1667,1669,1672,1678,1680,1682,1683,1685,1686,1687,1571,1689,1690,1693,1697,1700,1704,1705,1706,1711,1712,1714,1717,1718,1719,1722,1719,1726,1727,1728],"time":[116621305.756975,116621305.761222,116621305.763601,116621305.765888,116621305.768475,116621305.799416,116621307.317317,116621312.946003,116621316.220247,116621318.62465,116621320.88938,116621322.866257,116621324.610755,116621326.097978,116621327.411236,116621328.638304,116621329.80461,116621330.926925,116621332.016497,116621333.06172,116621334.124387,116621335.158145,116621336.188211,116621337.192984,116621338.162874,116621339.135806,116621340.121662,116621341.115601,116621342.105764,116621343.098389,116621344.089689,116621345.071257,116621346.039031,116621347.012529,116621347.990851,116621348.967822,116621349.976293,116621350.968166,116621351.98489,116621353.021246,116621354.039598,116621355.048986,116621356.053672,116621357.057291,116621369.32006,116621371.900262,116621374.139545,116621375.92539,116621378.130814,116621379.739865,116621381.347853,116621382.863707,116621384.157511,116621385.428338,116621386.60988,116621387.709642,116621388.778133,116621389.827264,116621390.863005,116621391.889124,116621392.950929,116621394.005335,116621395.461891,116621396.619392,116621397.665889,116621398.690385,116621399.706959,116621400.71827,116621401.726456,116621402.695059,116621403.662104,116621406.127903,116621407.445847,116621408.326982,116621409.170261,116621410.043894,116621410.950694,116621411.87355,116621412.81577,116621413.790372,116621414.760603,116621416.967864,116621420.284745,116621420.288873,116621420.291922,116621420.294673,116621420.297719,116621420.325951,116621421.212565,116621425.145297,116621428.206491,116621431.002838,116621433.41946,116621435.369867,116621437.097611,116621438.57425,116621439.914637,116621441.129111,116621442.276524,116621443.358871,116621444.415768,116621445.456934,116621446.487206,116621447.509403,116621448.525015,116621449.517132,116621450.483495,116621451.455455,116621452.434065,116621453.417974,116621454.405644,116621455.447638,116621456.440961,116621457.54959,116621458.64625,116621459.717751,116621460.769796,116621461.780062,116621462.766928,116621463.75353,116621464.743198,116621465.744133,116621466.776581,116621467.810628,116621468.836891,116621469.862248,116621470.876501,116621471.885513,116621472.891813,116621473.89315,116621474.857909,116621475.823843,116621476.799175,116621477.782381,116621478.796308,116621479.824137,116621480.851832,116621481.869195,116621482.880774,116621483.88882,116621484.903422,116621485.951241,116621487.005309,116621487.999339,116621488.978788,116621489.960106,116621490.961946,116621491.951748,116621492.940466,116621493.931688,116621498.761064,116621499.496704,116621500.237253,116621501.110031,116621501.968168,116621502.833205,116621503.804875,116621504.843212,116621505.96835,116621507.055314,116621508.228745,116621509.569916,116621510.835721,116621511.98829,116621513.096097,116621514.14484,116621515.157344,116621516.127477,116621517.152709,116621518.418046,116621519.287706,116621520.144129,116621521.012583,116621521.913141,116621522.83073,116621523.769265,116621524.729062,116621525.696951,116621526.715959,116621527.696643,116621528.674018,116621529.65628,116621530.615745,116621531.576344,116621532.562288,116621533.5719,116621534.581963,116621535.58976,116621536.627809,116621537.628473,116621538.608226,116621539.605803,116621540.607208,116621541.608253,116621542.627567,116621543.626068,116621544.622551,116621545.619598,116621546.621948,116621547.620024,116621548.628838,116621549.625513,116621550.794662,116621551.834957,116621552.881341,116621553.871859,116621554.81833,116621555.844321,116621556.806027,116621557.733009,116621558.667543,116621559.645287,116621560.864875,116621561.902434,116621562.849948,116621563.768066,116621564.699023,116621565.671046,116621566.817699,116621567.766899,116621572.132913,116621573.062452,116621574.046645,116621575.032575,116621576.007705,116621577.005766,116621578.006458,116621579.007179,116621580.039427,116621581.094525,116621582.202645,116621583.32647,116621584.438536,116621585.523206,116621586.585886,116621587.631156,116621588.664089,116621589.687868,116621590.705188,116621591.717602,116621592.7506,116621593.803003,116621594.816543,116621595.803797,116621596.790189,116621597.779896,116621598.772376,116621599.766824,116621600.763034,116621601.760304,116621602.758067,116621603.756367,116621604.755304,116621605.749178,116621606.707301,116621607.633504,116621608.566276,116621609.515356,116621610.478361,116621611.451633,116621612.43175,116621613.43459,116621614.465513,116621615.492194,116621616.512179,116621617.526727,116621618.53739,116621619.544995,116621620.550958,116621621.53921,116621622.502846,116621623.472249,116621624.447915,116621625.430751,116621626.418843,116621627.40984,116621628.402326,116621629.408957,116621630.446265,116621631.478852,116621632.503286,116621633.521032,116621634.534253,116621635.543658,116621636.575078,116621637.577546,116621638.609635,116621639.606054,116621640.597827,116621641.591364,116621642.585883,116621643.581438,116621644.553566,116621649.101042,116621649.874907,116621650.643026,116621651.43979,116621652.286075,116621653.196282,116621654.146411,116621655.105433,116621656.049934,116621657.114437,116621658.397075,116621659.740842,116621660.991334,116621662.174764,116621663.292713,116621664.37699,116621665.438341,116621666.482829,116621667.515257,116621668.538664,116621669.555845,116621670.568345,116621671.558431,116621672.50311,116621673.42694,116621674.365481,116621675.320114,116621676.28732,116621677.263658,116621678.246781,116621679.234385,116621680.225263,116621681.218382,116621682.213518,116621683.21024,116621684.182952,116621685.127546,116621686.058438,116621687.003631,116621687.972784,116621688.980447,116621689.992462,116621691.001522,116621692.007799,116621693.012334,116621694.037454,116621695.080717,116621696.11585,116621697.141847,116621698.160905,116621699.174683,116621700.184561,116621701.187421,116621702.150602,116621703.117636,116621704.093121,116621705.063162,116621706.011776,116621706.970167,116621707.935054,116621708.920158,116621709.912578,116621710.901038,116621711.926992,116621712.955212,116621713.959032,116621714.934356,116621715.90932,116621716.891103,116621717.878023,116621718.86779,116621719.860075,116621723.690507,116621724.648057,116621725.620127,116621726.570917,116621727.528058,116621728.509767,116621729.524304,116621730.595749,116621731.643656,116621732.702435,116621733.769645,116621734.822272,116621735.86104,116621736.889225,116621737.909746,116621738.924495,116621739.974694,116621741.026579,116621742.06185,116621743.087219,116621744.10541,116621745.118643,116621746.128811,116621747.135875,116621748.140956,116621749.144528,116621750.14698,116621751.918183,116621752.92136,116621753.8074,116621754.694944,116621755.594318,116621756.516848,116621757.460169,116621758.405491,116621759.335646,116621760.296946,116621761.254962,116621762.221797,116621763.197279,116621764.178887,116621765.165601,116621766.155904,116621767.148989,116621768.144217,116621769.140508,116621770.137696,116621771.13606,116621772.134644,116621773.133463,116621774.132603,116621775.131974,116621776.116354,116621777.078441,116621778.046178,116621779.024185,116621780.007214,116621780.993605,116621781.983093,116621782.975942,116621783.969552,116621784.964469,116621785.960541,116621786.957786,116621787.955663,116621788.954028,116621789.952841,116621790.95204,116621791.951394,116621792.950985,116621793.9504,116621794.950327,116621795.939085,116621799.815329,116621800.725539,116621801.57966,116621802.457067,116621803.366578,116621804.292417,116621805.222101,116621807.293305,116621808.602171,116621809.928348,116621811.269788,116621812.466585,116621813.605996,116621814.707194,116621815.826739,116621816.871024,116621817.996896,116621818.955205,116621819.856808,116621820.763456,116621821.663039,116621822.582412,116621823.522883,116621824.525503,116621825.491406,116621826.458605,116621827.433474,116621828.415408,116621829.438218,116621830.524636,116621831.510082,116621832.475982,116621833.514659,116621834.519845,116621835.520073,116621836.519812,116621837.534388,116621838.510019,116621839.475587,116621840.447998,116621841.42767,116621842.412738,116621843.429439,116621844.418126,116621845.406973,116621846.397961,116621847.391263,116621848.366763,116621849.359554,116621850.448378,116621851.469558,116621852.426802,116621854.499278,116621855.479241,116621856.461638,116621857.448589,116621858.438872,116621859.443798,116621860.517198,116621861.535804,116621862.544056,116621863.53773,116621864.543196,116621865.548779,116621866.528466,116621867.500136,116621868.516195,116621869.494291,116621870.577555,116621873.49073,116621873.496418,116621873.499315,116621873.502166,116621873.505082,116621873.525173,116621877.017245,116621878.56054,116621879.366474,116621880.174348,116621880.998563,116621881.832919,116621882.860514,116621884.428577,116621885.77909,116621886.639676,116621887.518096,116621888.415409,116621889.3962,116621890.593807,116621891.887625,116621893.139256,116621894.300949,116621895.441843,116621896.523382,116621897.580073,116621898.621026,116621899.650679,116621900.672334,116621901.740288,116621902.778596,116621903.773218,116621904.761762,116621905.719279,116621906.679918,116621907.650142,116621908.636076,116621909.605438,116621910.559994,116621911.512102,116621912.486379,116621913.435467,116621914.39316,116621915.361445,116621916.33819,116621917.321308,116621918.309427,116621919.300422,116621920.293891,116621921.309228,116621922.303414,116621923.296431,116621924.291162,116621925.287369,116621926.316633,116621927.311266,116621928.336198,116621929.400782,116621930.379357,116621931.375002,116621932.386771,116621933.397418,116621934.405241,116621935.411352,116621936.415676,116621937.448619,116621938.447216,116621939.41361,116621940.379286,116621941.353114,116621942.33409,116621943.316264,116621944.291758,116621945.28741,116621946.288519,116621947.258629,116621948.229693,116621949.20707,116621950.190347,116621951.200447,116621952.189148,116621953.178024,116621954.169532,116621955.212026,116621956.201496,116621957.187825,116621958.190084,116621959.235212,116621960.252396,116621961.262708,116621962.269956,116621963.300569,116621971.395779,116621973.631679,116621975.625162,116621977.386605,116621978.914192,116621980.334939,116621981.610874,116621982.811136,116621983.957931,116621985.143211,116621986.320434,116621987.484142,116621988.608227,116621989.699501,116621990.766158,116621991.814932,116621992.850475,116621993.883496,116621994.950706,116621996.010527,116621997.013025,116621997.998812,116621998.984186,116621999.973344,116622000.964659,116622001.92183,116622002.874114,116622003.836548,116622004.808885,116622005.788824,116622006.773985,116622007.763281,116622008.755709,116622009.840685,116622010.837252,116622011.814412,116622012.7943,116622013.779,116622014.767948,116622015.759863,116622016.754046,116622017.749747,116622018.746685,116622019.770342,116622020.768967,116622021.761794,116622022.755759,116622023.718727,116622024.714718,116622025.720025,116622026.686825,116622027.649939,116622028.6217,116622029.600928,116622030.604757,116622031.674578,116622032.705864,116622033.840789,116622034.913626,116622035.959995,116622036.992733,116622038.028738,116622039.042992,116622040.051333,116622041.051702,116622042.016229,116622042.984996,116622047.762074,116622048.63786,116622049.539945,116622050.468109,116622051.415972,116622052.42665,116622053.459191,116622054.511016,116622055.61506,116622056.739515,116622057.875891,116622059.033326,116622060.134453,116622061.2066,116622062.258958,116622063.296997,116622064.324645,116622065.345157,116622066.359876,116622067.370467,116622068.378206,116622069.383637,116622070.376088,116622071.335639,116622072.30037,116622073.273887,116622074.289137,116622075.271111,116622076.253328,116622077.239762,116622078.235048,116622079.273092,116622080.287941,116622081.270178,116622082.253361,116622083.240405,116622084.230861,116622085.223786,116622086.218756,116622087.215378,116622088.212725,116622089.210648,116622090.193223,116622091.193522,116622092.175213,116622093.13718,116622094.105809,116622095.115965,116622096.109747,116622097.111211,116622098.124232,116622099.147791,116622100.164414,116622101.17624,116622102.193658,116622103.198824,116622104.201192,116622105.203034,116622106.204435,116622107.205298,116622108.205614,116622109.177624,116622110.138735,116622111.10726,116622112.084256,116622113.067919,116622114.049459,116622114.997838],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[105,4,2,2,2,30,1446,5628,3267,2398,2264,1970,1744,1487,1313,1227,1166,1122,1089,1045,1042,1033,1020,1004,969,972,979,985,990,992,991,973,967,973,978,976,980,985,1016,1022,1011,1009,1004,1003,7820,2580,2239,1785,1726,1609,1607,1402,1293,1212,1155,1099,1068,1049,1035,1026,1047,1054,1032,1028,1046,1024,1016,1011,1008,968,967,975,925,881,843,873,906,922,942,957,970,966,637,4,3,2,3,28,886,3932,3061,2796,2416,1950,1727,1476,1340,1214,1147,1082,1056,1041,1030,1022,1015,992,966,971,978,983,987,990,993,1108,1096,1071,1052,1010,986,986,989,1000,1032,1034,1026,1018,1014,1009,1006,1001,964,965,975,983,1013,1027,1022,1017,1011,1008,1014,1047,1043,994,979,981,984,989,988,991,1668,735,740,785,840,865,907,1038,1080,1086,1173,1201,1229,1152,1107,1048,998,970,964,925,869,856,868,900,917,938,955,967,1019,980,977,982,959,960,985,1009,1010,1007,1038,1000,979,997,1001,1001,1019,998,996,997,997,998,1008,996,995,975,995,952,946,949,961,926,934,977,1025,993,947,918,930,962,960,945,1674,929,984,985,975,998,1000,1000,1032,1055,1108,1123,1112,1084,1062,1045,1032,1023,1017,1012,1032,1052,1013,987,986,989,992,994,996,997,997,998,998,993,958,926,932,949,963,973,980,1002,1030,1026,1019,1014,1010,1007,1005,988,963,969,975,982,988,990,992,1006,1037,1032,1024,1017,1013,1009,1031,1002,1032,996,991,993,994,995,972,934,773,768,796,846,910,950,959,944,1064,1282,1343,1250,1183,1117,1084,1061,1044,1032,1023,1017,1012,990,944,923,938,954,967,976,983,987,990,993,995,996,972,944,930,945,969,1007,1012,1009,1006,1004,1025,1043,1035,1025,1019,1013,1009,1002,963,967,975,970,948,958,964,985,992,988,1025,1028,1003,975,974,981,986,989,992,987,957,972,950,957,981,1014,1071,1047,1058,1067,1052,1038,1028,1020,1014,1050,1051,1035,1025,1018,1013,1010,1007,1005,1003,1002,1001,1003,856,874,899,922,943,945,930,961,958,966,975,981,986,990,993,995,996,997,998,998,998,999,999,984,962,967,978,983,986,989,992,993,994,996,997,997,998,998,999,999,999,999,999,988,562,910,854,877,909,925,929,958,1308,1326,1341,1196,1139,1101,1119,1044,992,958,901,906,899,919,940,1002,965,967,974,981,1022,985,985,965,1038,1005,1000,999,1014,975,965,972,979,985,1016,988,988,990,993,975,992,982,1021,957,974,979,982,986,990,1004,1073,1018,1008,993,1005,1005,979,971,1016,978,979,686,5,2,2,2,20,545,287,805,807,824,834,1027,1545,933,855,873,897,980,1197,1293,1246,1161,1140,1081,1056,1040,1029,1021,1045,1018,994,988,957,960,970,985,969,954,952,974,949,957,968,976,983,988,990,993,1015,994,993,994,996,1029,994,991,993,978,995,1011,1010,1007,1006,1004,1032,998,966,965,973,980,982,975,995,1001,970,971,977,983,1010,988,988,991,1042,989,986,1002,1045,1017,1010,1007,1030,4660,2235,1993,1761,1527,1420,1275,1200,1146,1185,1177,1163,1124,1091,1066,1048,1035,1033,1067,1059,1002,985,985,989,991,957,952,962,972,979,985,989,992,992,996,977,979,984,988,991,994,995,996,997,998,992,993,962,995,1005,966,963,971,979,1003,1031,1031,1134,1072,1046,1032,1023,1014,1008,1000,964,968,909,875,902,928,947,968,1032,1051,1104,1124,1136,1146,1101,1072,1052,1038,1027,1020,1014,1010,1007,1005,992,959,964,973,980,981,982,986,995,1038,1007,982,983,987,990,992,994,996,997,997,982,1000,981,961,968,976,993,1001,994,1023,1016,1011,1008,1005,1002,1001,1001,1000,1000,972,961,968,976,983,981,948]},"stackTable":{"length":1729,"prefix":[null,0,1,2,3,1,5,6,7,8,9,6,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,22,29,30,31,32,33,20,35,36,37,38,39,40,41,38,36,44,45,46,47,48,45,19,51,52,53,54,55,56,18,58,59,60,61,62,63,64,65,66,63,68,69,69,61,72,73,74,75,73,77,78,79,78,75,75,59,84,85,86,87,88,89,90,87,92,93,94,89,86,97,93,85,100,101,102,103,104,105,101,107,108,100,110,103,103,16,114,115,116,117,118,119,120,121,122,123,124,125,126,127,123,129,130,131,132,133,134,135,130,137,138,121,140,141,142,143,144,145,146,147,148,141,150,151,152,153,154,155,156,119,158,159,160,161,162,163,164,165,166,167,168,169,161,171,172,173,174,175,176,159,178,179,180,181,182,183,184,185,null,179,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,195,208,209,210,211,212,213,214,215,216,217,209,219,220,221,222,223,224,225,226,117,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,12,246,247,248,249,250,251,252,253,254,255,256,257,249,259,260,261,262,263,264,265,266,247,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,271,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,12,303,304,305,306,307,308,309,310,311,312,313,314,315,310,317,318,319,320,321,322,308,324,325,326,327,328,329,330,331,332,327,334,335,336,337,338,306,340,341,342,343,344,345,343,347,348,349,350,341,352,353,354,355,356,357,358,353,360,361,362,363,364,365,366,363,368,369,370,361,372,373,374,375,304,377,378,379,380,381,382,383,384,385,386,382,388,389,390,391,392,393,388,395,380,397,398,399,400,401,402,398,404,405,406,407,408,409,410,411,409,405,414,415,416,417,418,378,420,421,422,423,424,425,426,427,425,429,430,431,423,433,434,435,436,437,438,434,440,441,442,443,444,445,446,447,448,449,450,451,449,453,445,455,456,457,458,459,443,461,462,463,464,465,466,467,468,468,464,471,472,473,474,475,476,477,474,479,480,463,482,483,484,485,463,487,465,489,490,491,492,493,494,489,496,497,498,499,500,501,502,499,504,505,11,507,11,509,510,511,512,12,514,515,516,517,518,519,520,521,522,523,524,524,521,527,528,529,530,528,532,519,534,535,536,537,538,537,540,535,542,543,544,544,544,543,548,517,550,551,552,553,554,555,556,556,558,556,555,561,562,563,561,561,553,567,568,569,569,569,572,568,574,574,576,551,578,579,580,581,582,583,584,585,586,587,588,589,590,588,588,593,594,587,596,597,596,585,600,601,602,603,604,602,606,607,607,601,610,583,612,613,614,615,616,616,618,616,620,621,615,623,623,625,626,613,628,629,630,631,630,630,634,635,629,637,637,639,581,641,642,643,644,645,646,647,648,649,647,646,652,653,654,652,652,644,658,659,660,661,662,660,659,665,665,665,668,669,642,671,672,673,674,675,675,674,678,679,680,681,682,683,684,684,686,687,687,683,690,691,692,693,694,694,692,524,524,699,700,699,523,703,704,705,705,703,703,529,529,532,712,532,714,715,532,538,718,538,538,721,722,718,540,725,726,540,728,729,725,540,544,544,734,735,548,737,738,737,548,741,742,548,556,558,746,746,561,563,563,562,562,569,569,755,755,576,758,574,574,761,758,551,764,765,766,767,768,769,768,771,768,769,774,767,776,776,776,779,780,776,765,783,784,785,786,787,788,789,790,791,789,788,794,795,796,794,786,799,800,801,802,803,802,800,806,807,808,522,529,529,812,813,712,815,538,718,818,742,556,761,758,765,824,825,826,827,828,826,825,831,831,515,834,835,836,837,838,839,840,841,842,843,844,845,846,845,848,849,848,848,848,843,854,855,856,856,856,856,860,855,862,862,864,865,841,867,868,869,870,871,872,873,871,873,871,870,878,879,880,878,868,883,884,885,886,887,887,885,884,891,892,893,891,891,839,897,898,899,900,901,902,903,903,903,906,907,907,902,910,910,912,913,900,915,916,917,917,917,920,921,916,923,923,925,926,898,928,929,930,931,932,932,934,935,932,937,938,932,931,941,942,943,943,945,946,947,948,949,948,949,952,522,712,818,561,572,576,768,826,826,831,963,964,842,842,967,968,867,867,971,972,899,974,975,928,837,978,979,980,981,982,982,984,985,981,987,988,979,990,991,992,992,994,995,991,997,840,840,840,897,897,1003,null,1005,1006,1007,1008,1009,1010,837,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1022,1019,1025,1026,1027,1028,1029,1026,1031,1032,1031,1017,1035,1036,1037,1038,1039,1040,1041,1038,1043,1036,1045,1046,1047,1046,1049,1049,1015,1052,1053,1054,1055,1056,1057,1058,1057,1060,1060,1055,1063,1064,1065,1064,1067,1068,1069,1070,1071,1069,1073,1074,1074,1053,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1087,1086,1092,1093,1094,1092,1084,1097,1098,1099,1100,1101,1099,1098,1104,1105,1106,1104,1082,1109,1110,1111,1112,1113,1114,1112,1116,1116,1118,1119,522,527,1122,527,536,1125,1126,536,542,554,554,567,766,766,824,1135,1136,515,1138,1139,1140,1141,1142,1143,1144,1144,1143,1147,1148,1149,1147,1141,1152,1153,1154,1154,1153,1157,1157,1139,1160,1161,1162,1163,1164,1164,1163,1167,1167,1161,1170,1171,1172,1171,1174,1175,1176,1174,1178,1179,518,518,550,550,1140,1140,1160,1187,1188,1160,518,1191,1192,1140,1194,1195,1160,1197,1198,1160,1192,518,550,1203,1204,1204,1204,836,836,1209,1210,836,1212,1213,836,522,1216,527,1218,1122,1220,527,536,542,542,1225,1226,517,1228,1229,1230,1231,1231,1233,1230,1212,1213,1209,1213,700,700,703,1242,1243,1243,1243,813,815,532,815,818,818,818,726,735,738,741,556,556,1259,1260,563,561,1263,755,1265,758,761,1268,758,594,602,610,616,626,637,581,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1287,1289,1290,1286,1292,1293,1294,1294,1284,1297,1298,1299,1299,1298,1302,1303,1302,1305,1282,1307,1308,1309,1310,1311,1312,1313,1310,1315,1315,1317,1318,1308,1320,1321,1322,1323,1324,1322,1321,1327,1327,1329,1330,1280,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1339,1344,1345,1346,1337,1348,1349,1350,1351,1352,1349,1354,1355,1354,1335,1358,1359,1360,1361,1362,1361,1364,1365,1366,1359,1368,1369,1370,1371,1372,1372,1374,1371,1376,1377,1378,1379,1380,1378,1382,1383,11,1385,1386,11,11,1389,524,524,1392,1393,700,704,705,812,530,1399,812,532,714,815,714,815,712,722,818,818,728,729,725,728,729,735,544,1417,1418,735,1418,543,1422,1423,1424,1425,1426,1427,1428,1429,1430,1429,1432,1432,1434,1427,1436,1437,1438,1437,1440,1441,1440,1443,1425,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1455,1454,1458,1458,1460,1452,1462,1463,1464,1464,1463,1467,1468,1468,1470,1450,1472,1473,1474,1475,1476,1476,1478,1479,1475,1481,1476,1483,1484,1485,1486,1487,1488,1488,1490,1491,1488,1493,1494,1487,1496,1497,1498,1496,1485,1501,1502,1503,1504,1505,1503,1507,1508,1502,1510,1511,1512,1512,1483,1515,1516,1517,1518,1519,1520,1521,1521,1520,1524,1525,1526,1243,813,529,532,815,538,729,726,728,734,735,544,735,742,738,548,1230,1544,1545,1546,1547,1547,1546,1550,1551,1552,1550,1544,1555,1556,1557,1556,1559,1545,1544,1562,1563,1564,1565,1566,1567,1568,1569,1570,1569,1572,1573,1574,1575,1574,1567,1578,1579,1580,1580,1580,1583,1584,1585,1586,1586,1588,1586,1590,1591,1585,1593,1594,1595,1596,1597,1595,1599,1600,700,703,812,532,532,722,1417,548,1547,1610,1611,1612,1613,1614,1615,1613,1612,1618,1619,1620,1619,1622,1610,1624,1625,1626,1627,1628,1629,1630,1627,1632,1632,1625,1635,1636,1637,1636,1639,1639,1641,1550,1643,1644,1645,1646,1647,1648,1649,1650,1647,1652,1652,1645,1655,1656,1657,1656,1659,1659,1643,1662,1663,1664,1665,1666,1665,1668,1668,1670,1671,1663,1673,1674,1675,1676,1677,1674,1679,1679,1681,1566,1565,1684,1684,1570,1569,1688,1688,1688,1691,1692,1567,1694,1695,1696,1696,1698,1699,1695,1701,1702,1703,1703,1703,1684,1707,1708,1709,1710,1710,1709,1713,1713,1715,1716,1716,520,520,1720,1721,519,1723,1724,1725,1725,1725],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,15,14,15,14,15,14,15,16,17,18,19,20,21,16,17,18,22,23,21,14,15,16,24,18,19,25,26,21,16,17,18,19,27,28,29,30,31,32,33,34,35,21,14,15,14,15,16,17,18,19,36,24,18,37,38,21,16,17,18,39,24,18,22,40,41,42,43,21,14,15,16,17,18,22,44,24,18,19,40,45,46,47,48,21,16,17,18,22,22,49,24,18,50,46,51,20,52,53,12,13,14,15,14,15,14,15,14,15,14,15,46,54,21,14,15,16,24,18,19,55,21,46,56,21,14,15,14,21,16,17,18,22,57,21,14,21,16,24,18,19,58,21,14,15,14,15,14,15,16,17,18,22,19,59,21,14,15,16,24,18,60,21,14,15,14,15,16,24,18,61,62,21,14,53,12,13,14,15,14,15,14,15,14,21,14,15,16,17,18,19,59,21,14,15,14,15,14,15,16,24,18,63,21,14,21,14,21,16,17,18,61,53,12,13,14,15,14,21,14,15,14,15,14,21,16,24,18,19,64,65,66,67,66,67,66,68,66,68,66,67,69,70,68,66,67,66,67,66,68,69,47,71,12,65,66,71,12,65,66,67,66,68,66,67,66,67,66,68,69,72,68,66,71,12,65,66,67,66,67,66,68,66,67,66,68,73,74,75,76,75,76,75,76,75,76,77,78,18,22,40,79,77,78,18,19,22,40,79,75,79,75,76,77,78,18,19,80,79,77,78,18,19,81,79,75,76,75,76,82,47,79,77,78,18,83,79,75,76,77,78,18,19,59,79,75,76,77,84,18,22,85,78,18,19,40,79,77,78,18,86,79,75,76,75,76,75,76,77,78,18,23,79,77,78,18,22,19,87,82,88,79,75,76,77,78,18,89,79,75,76,77,78,18,22,22,90,81,79,77,78,18,19,91,92,12,74,75,76,77,84,18,93,78,18,19,94,79,75,76,77,84,18,95,92,12,74,75,76,75,76,77,78,18,22,96,97,19,98,79,77,78,18,19,59,92,12,74,75,76,77,78,18,99,100,79,75,76,77,78,18,22,101,84,18,81,77,84,18,19,102,82,103,75,76,77,84,18,22,50,92,12,74,77,84,18,22,104,78,18,105,106,107,108,109,110,111,112,113,114,115,114,115,114,115,114,115,114,115,116,117,118,114,115,119,120,118,121,118,114,115,114,115,122,118,116,118,114,115,123,117,116,118,117,118,114,115,114,115,114,115,116,124,125,117,118,124,126,127,117,116,118,114,115,128,116,119,129,118,116,124,130,131,12,113,114,115,114,115,114,115,114,115,119,126,132,117,124,126,133,118,124,134,117,118,114,115,119,126,135,124,126,136,137,118,117,118,114,115,114,115,116,124,138,119,126,139,118,117,124,126,140,118,114,115,119,138,117,124,126,139,118,116,124,141,118,114,115,114,115,114,115,119,126,142,116,118,119,126,140,143,117,118,114,115,124,126,144,116,118,117,145,124,126,146,131,12,113,114,115,117,116,131,12,113,114,115,114,115,117,119,126,147,142,131,12,113,119,126,148,149,150,151,119,126,149,152,118,119,126,153,154,117,116,145,116,119,152,124,126,155,117,119,152,117,124,126,132,120,119,126,147,124,126,156,138,117,157,119,126,153,124,126,158,159,119,126,158,116,123,126,146,158,157,153,132,120,152,117,124,120,152,126,156,160,119,120,148,118,114,115,114,115,119,152,124,159,117,126,155,118,117,161,119,126,162,116,131,12,113,114,115,114,115,124,126,162,160,118,124,126,146,116,118,114,115,124,126,153,159,118,119,126,163,116,117,124,126,147,126,149,116,126,133,149,145,164,165,118,114,115,124,126,148,116,118,117,116,131,12,113,114,115,114,115,114,115,114,115,114,115,166,118,119,138,117,123,145,118,114,115,116,117,166,119,125,118,116,124,126,132,118,114,115,114,115,124,126,167,117,142,116,118,124,126,168,116,118,114,115,119,126,169,148,116,118,124,126,170,123,116,118,114,115,114,115,114,115,116,117,124,126,149,132,118,116,119,126,171,118,114,115,145,117,119,126,172,118,117,124,126,148,118,114,115,114,115,173,124,126,174,119,126,136,117,131,12,113,116,114,115,114,115,119,138,116,126,175,117,125,127,145,125,152,116,117,123,124,126,135,116,124,126,135,116,124,126,139,119,126,140,117,118,114,115,114,115,116,124,126,165,118,124,164,118,114,115,122,119,126,153,118,117,117,116,123,117,124,176,177,178,114,118,119,126,169,131,12,113,114,115,114,115,114,115,114,118,116,123,118,114,115,119,126,179,118,119,130,145,118,114,115,114,115,124,126,180,118,116,118,114,115,116,118,117,145,118,114,115,114,115,114,115,117,118,117,116,118,114,115,117,131,12,113,124,126,148,119,126,181,182,131,12,113,114,115,114,115,114,115,114,115,124,126,148,116,118,119,126,183,117,118,114,115,119,126,135,117,118,119,126,139,116,118,114,115,114,115,119,138,118,116,119,126,169,145,119,164,117,124,126,144,116,184,116,185,116,123,116,124,126,149,118,114,115,114,115,114,115,117,123,118,124,126,153,117,118,114,115,121,117,118,145,116,118,114,115,114,115,117,116,118,186,117,118,114,115,116,118,124,126,148,119,126,132,123,145,187,116,117,116,119,126,137,117,119,126,188,124,126,132,124,126,172,116,155,116,119,126,133,140,174,116,124,126,149,119,126,174,117,124,125,124,134,126,155,123,117,117,124,126,174,131,12,113,124,164,126,148,117,189,136,190,148,162,191,124,126,153,132,158,156,192,116,180,180,156,132,148,162,193,164,151,119,126,194,162,119,152,126,132,132,126,181,146,195,117,116,117,156,117,131,12,113,114,115,114,115,114,115,114,115,116,124,126,136,118,124,126,180,165,118,114,115,116,161,118,124,129,119,176,118,114,115,114,115,124,126,144,118,117,124,126,196,118,114,115,119,126,133,116,118,116,119,126,196,131,12,113,114,115,114,115,114,115,119,126,132,118,124,126,193,118,114,115,119,126,165,118,124,152,117,118,114,115,114,115,157,118,119,126,180,131,12,113,114,115,117,119,159,131,12,113,124,126,180,119,126,144,197,198,112,199,200,201,187,124,126,158,132,152,193,159,126,193,120,157,120,156,152,153,120,158,153,158,120,132,152,152,193,132,124,126,156,192,148,131,12,113,114,115,114,115,114,115,161,118,157,124,159,118,114,115,116,118,124,202,119,120,131,12,113,114,115,114,115,114,115,114,115,160,151,118,116,124,203,118,114,115,116,117,118,119,159,126,204,131,12,113,114,115,117,124,126,205,118,117,114,115,114,115,114,115,116,124,126,174,119,126,179,118,119,126,204,117,118,114,115,124,126,137,119,126,206,118,124,126,137,165,131,12,113,114,115,114,115,157,117,118,119,126,167,207,149,123,123,193,123,148,149,208,130,139,143,148,142,180,145,114,115,114,115,117,116,118,124,126,149,209,118,114,115,143,118,117,117,131,12,113,114,115,114,115,114,115,116,131,12,113,124,125,117,131,12,113,184,116,114,115,114,115,116,119,152,124,126,174,131,12,113,119,126,165,124,126,140,169,122,125,210,151,172,125,122,114,115,114,115,119,126,156,116,118,114,115,145,118,123,118,114,115,114,115,119,126,135,118,151,116,118,114,115,117,118,145,124,202,114,115,114,115,114,115,119,126,139,118,116,117,118,114,115,116,118,123,116,118,114,115,114,115,116,118,187,119,126,135,118,114,115,124,126,169,118,209,124,164,116,118,116,117,210,118,123,116,119,126,211,118,114,115,116,119,126,136,118,119,126,156,182,165,114,115,114,115,117,145,118,116,124,126,163,132,117,119,126,133,131,12,113,116,123,117],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db998","0x3a28cd","0x11ea27","0x3db9aa","0x349441","0x34961a","0x3485e6","0xa65f8","0xa48b0","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1c7f","0x1edef0","0x1eeae6","0x1edfe9","0x1f37e8","0x1eeb02","0x1edfbb","0x1f1e9c","0x1edfbe","0x1f1c21","0x1ee020","0x1f1b87","0x1f2c90","0x1f3184","0x26c8f","0x354cb3","0xa5861","0xa4bca","0x1a0aca","0x1ee226","0x1eea92","0x1ee114","0x1ee464","0x1edfb0","0x1ee885","0x1ee686","0x1ee953","0x1ee477","0x1ee81e","0x1f257e","0x177d91","0x1ee654","0x1ee02b","0x1ee1d7","0x177d98","0x1ee1dc","0x1f3684","0x177e48","0x1ee505","0x177e31","0x1eea6b","0x1edfde","0x1edfb4","0x1eea36","0x1ee5c4","0xffffffffba601199","0x1ee732","0x1ee5cd","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177dbc","0x1ec510","0x177d95","0x1eb155","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x34fd2","0x1eebf8","0x1edfdb","0x59940","0x1ee498","0x1edb10","0x1ee006","0x1eeacd","0x1eebf9","0x177db2","0x1eeb0d","0x1edff5","0x1edfc7","0x34ed4","0x1ee1d9","0x1ee72b","0x1ee870","0x1ee3f9","0x1b745","0x1ee53f","0x1ee326","0x1ee728","0x1ee68f","0x1edfd9","0x177e3a","0x1ee018","0x1ee4a2","0x2601a","0x347c9b","0x26346","0x267e2","0x347bf1","0x287b5","0x11e88d","0x247051","0x246666","0x246a05","0x2463ab","0x246396","0x246b93","0x24637c","libm.so.6","0x37f13","0x2463b7","0x246338","0x2463af","0x246363","0x37ef8","0x37f02","0x764e7","0x2463a7","0x37f2f","0x37f0b","0x246a77","0x76514","0x709c0","0x37f37","0x7650f","0x764f4","0x7649f","0x37f25","0x764ac","0x709ce","0x37f21","0x76532","0x2463c2","0x76538","0x2463bb","0x70ab0","0x764d5","0x7651d","0x7652b","0x24637a","0x24638a","0x37f31","0x764eb","0x764fd","0x7662f","0x764c0","0x24639f","0xe380","0x37ef0","0x246392","0x246358","0x709c7","0x70ab8","0x37f27","0x764e4","0x246386","0x76518","0x76526","0x7647e","0x709d6","0x76570","0x764bb","0x24636d","0x76637","0x70a10","0x37f58","0x759600000c6f","0x75961e9ff0af","0x764db","0x76506","0x765b8","0x764a3","0x764b3","0x246330","0x246354","0x246364","0x24633e","0x76491","0x37f1d","0x37f33","0x76482","0x70ac0","0x76488","0x76622","0x7656a","0x76540","0x2618c","0x26706","0x25f3e","0x26141","0x108c9b","0x37f03","0x37f40","0x76561","0x709d0","0x7654a","0x70aba","0x37efe","0x2463bf","0x24634b","0x76502"],"tid":"700696","unregisterTime":116622126.55093},{"frameTable":{"length":212,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041225,2039452,2023152,2026242,2026214,2023472,2038911,2023348,2023424,2041214,1539652,2023445,2024572,2023941,2023460,2023374,2026072,2045572,2025256,2039593,2038635,2038777,2023440,2025762,2024227,1539516,2026481,1539484,2025404,2025094,2025279,2038809,1539661,2023385,2023427,2039225,2023413,2023762,2023344,2025378,2023456,2025061,2023390,156044,157446,1173645,156555,157666,3439509,2043024,2044631,676946,666818,594523,155969,1084571,2028248,2025502,2018025,2013424,2016405,2016768,2011421,1539633,2012221,1539490,2011555,1539462,2011620,1539513,2016528,1539642,1539647,2011641,1539837,1418669,368184,216630,366929,2022359,2025307,217042,2022160,2025924,2025537,2023328,216788,2021951,2023734,366912,2023467,2023095,1706373,2025073,1539465,2024767,2025318,2023367,2026488,2024654,2025545,2025776,2025017,2025645,2025498,2025548,368286,1538985,1706698,2388049,2385510,2386437,2384739,229122,58240,2384811,2384764,229169,229139,2384790,2386551,484478,2386835,484488,461496,484587,2384702,484628,484482,484614,484682,484524,484565,484672,461255,484503,484714,484911,484596,484651,484637,2384774,484919,2384778,229104,484792,-1,484544,484664,461504,484531,484548,484580,229175,461248,461498,484511,2384799,484632,484571,155527,3439896,3440388,461262,229153,2384815,2384696,2384728,461328,484539,461340,2384827,461284,461488,229123,461480,484605,229131,229112,484583,2388025,484623,2384711,229167,2384819,484658,229157,156064,484697,484515,484898,229159,484646,229184,2384786,229208,484685,461270,155674,229188,229201,229171],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":212,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,2,2,1,1,2,2,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,2,2,-1,2,2,2,2,2,2,2,2,2,2,1,2,2,1,1,1,2,2,1,1,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,2,1,2,2,1,2,2,2,2,2,2,1,2,2,2,1,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700697>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.260199,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,125],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":742,"stack":[22,32,41,50,56,63,69,79,85,93,99,117,124,131,136,139,157,162,170,176,178,189,195,200,206,208,219,224,229,232,238,248,251,259,262,279,286,295,307,317,335,348,359,377,380,380,380,380,380,384,389,389,389,389,389,391,394,407,411,414,420,425,434,436,441,460,479,497,534,549,551,556,558,566,569,570,577,578,580,595,600,602,611,614,618,621,632,635,642,647,652,653,665,670,674,687,693,702,703,711,718,725,733,736,741,744,758,759,761,759,762,763,777,780,786,792,794,800,802,812,816,817,821,823,829,831,837,841,847,848,862,863,869,871,875,876,884,885,889,890,896,897,899,902,910,913,917,920,924,927,929,932,940,941,945,949,952,955,956,966,968,972,974,980,983,995,998,1002,1003,1008,1011,1014,1020,1020,1023,1024,1029,1030,1031,1035,1036,1039,1040,1046,1047,1049,1052,1053,1059,1062,1063,1067,1068,1069,1070,1076,1077,1080,1083,1085,1087,1089,1101,1102,1104,1110,1111,1115,1116,1124,1125,1127,1133,1134,1136,1139,1143,1147,1151,1156,1158,1164,1166,1180,1184,1186,1189,1195,1197,1200,1204,1206,1214,1217,1221,1227,1229,1232,1240,1242,1244,1248,1250,1258,1259,1263,1264,1266,1269,763,761,1270,1272,1273,759,1040,1274,1275,1276,1277,1278,1036,1279,1282,1047,1283,1047,1047,1283,1047,1047,1284,1049,1285,1285,1286,1287,1049,1284,1290,1293,1296,1297,1298,1299,1300,1301,1302,1305,910,1306,1307,924,1308,941,1309,949,1312,1321,1325,1326,1330,1333,1340,1344,1350,1353,1363,1365,1371,1372,1374,1380,1382,1388,1392,1395,1396,1399,1036,1400,1283,1283,1402,1403,1405,1406,1407,1077,1408,1409,1410,1418,1419,1423,1424,1428,1429,1431,1434,1435,1442,1445,1449,1450,1455,1456,1457,1460,1461,1473,1474,1477,1480,1484,1487,1489,1490,1497,1499,1502,1503,1507,1509,1513,1514,1526,1531,1532,1536,1544,1545,1549,1553,1556,1558,1566,1568,1573,1574,1577,1584,1587,1591,1595,1599,1600,1604,1605,1606,1607,763,1606,759,1608,1609,1610,1277,1611,1040,1036,1612,1283,1613,1613,1614,1283,1615,1283,1616,1402,1049,1052,1617,1049,1618,1053,1053,1053,1620,1621,1622,1623,1624,1059,1625,1637,1640,1644,1648,1649,1651,1654,1660,1662,1666,1672,1673,1683,1684,1686,1689,1691,1697,1700,1708,1711,1715,1716,1722,1723,1732,1733,1737,1739,1743,1744,1745,1746,1747,1748,1750,1751,1754,1755,1763,1764,1766,1770,1771,1773,1774,1777,1778,1779,1782,1785,1786,1789,1790,1746,1793,1794,1795,1747,1798,1800,1801,1804,1806,1807,759,1808,1809,1036,1810,1811,1279,1047,1813,1049,1814,1059,1815,1059,1816,1819,1820,1821,1821,1087,1822,1823,1826,1827,1418,1833,1835,1838,1839,1842,1843,1778,1844,1847,1786,1848,1849,1852,1746,1853,1854,1854,1855,1856,1859,1860,1861,1862,1863,1865,1868,1869,1872,1873,1875,1876,1877,1880,1881,1882,1883,1884,1887,1888,1891,1894,1895,1896,1897,1766,1899,1901,1904,1771,1771,1905,1908,1911,1912,1913,1913,1916,1917,1920,1921,1922,1923,1924,1927,1929,1930,1931,1932,1933,1933,1936,1937,1938,1950,1951,1950,1954,1955,1961,1962,1966,1967,1973,1975,1977,1981,1982,1986,1987,1991,1992,759,762,763,763,759,1993,1994,1995,1996,1277,1608,1036,1997,1998,1047,1614,1283,1998,1283,1047,1613,1053,1999,1049,2000,1049,1053,1284,2001,2002,2003,2004,2005,2006,2008,2011,2013,2015,2017,2018,2020,2021,2031,2034,2038,2041,2047,2051,2059,2062,2076,2079,2081,2085,2088,2098,2100,2104,2106,2111,2112,2116,2119,2122,2123,2124,2134,2135,2141,2144,758,763,1605,2145,761,763,1036,2146,1036,1611,1277,1400,1400,2147,1998,1283,2148,2149,2150,1047,1047,2151,1049,1053,1402,1053,1049,2152,1617,1618,1049,1297,2153,2154,2155,2156,2157,2160,2161,2162,2164,2165,2168,2169,2170,2171,2174,2175,2176,2177,2180,2182,2183,2185,2187,2190,968,972,2193,974,2196,2202,2205,2206,2208],"time":[116621309.14857,116621311.470051,116621313.429487,116621315.214543,116621316.699873,116621318.115047,116621319.473391,116621320.77775,116621322.006623,116621323.113007,116621324.183148,116621325.233462,116621326.270525,116621327.297867,116621328.378704,116621329.434278,116621330.458353,116621331.481153,116621332.497953,116621333.480364,116621334.45632,116621335.437705,116621336.424985,116621337.412249,116621338.402443,116621339.395696,116621340.391244,116621341.387808,116621342.385409,116621343.383604,116621344.434431,116621345.394107,116621346.356251,116621347.323706,116621348.325792,116621349.301181,116621350.278949,116621351.270087,116621352.294187,116621353.31786,116621354.334978,116621355.34816,116621356.35727,116621357.364347,116621358.052388,116621358.059499,116621358.064607,116621358.068909,116621358.073107,116621358.082057,116621358.557409,116621358.56154,116621358.564317,116621358.567195,116621358.570358,116621358.595948,116621363.078541,116621365.68458,116621366.593713,116621367.530667,116621368.487445,116621369.457124,116621370.415372,116621371.420232,116621372.410784,116621373.401996,116621374.399993,116621375.377063,116621376.356432,116621377.822645,116621378.847748,116621379.946994,116621381.061382,116621382.141807,116621383.219195,116621384.308564,116621385.393432,116621386.457962,116621387.52424,116621388.556386,116621389.577667,116621390.593179,116621391.618299,116621392.637712,116621393.671712,116621394.699928,116621395.731784,116621396.745906,116621397.754808,116621398.761097,116621399.765576,116621400.800315,116621401.802067,116621402.766475,116621403.732549,116621404.706585,116621405.687837,116621406.674292,116621407.664576,116621408.64573,116621409.612303,116621410.609021,116621411.583958,116621412.563157,116621413.546761,116621415.503228,116621420.905705,116621421.811274,116621422.767162,116621423.73865,116621424.718529,116621425.676103,116621426.726861,116621428.015871,116621429.267912,116621430.498637,116621431.674225,116621432.804038,116621433.898999,116621434.968501,116621436.060593,116621437.088372,116621438.103041,116621439.112925,116621440.107215,116621441.120381,116621442.078738,116621443.020398,116621443.973762,116621444.934796,116621445.941009,116621446.919371,116621447.895303,116621448.876477,116621449.838249,116621450.796655,116621451.804714,116621452.77595,116621453.749309,116621454.728777,116621455.722398,116621456.711492,116621457.703441,116621458.697073,116621459.691851,116621460.723291,116621461.698207,116621462.657127,116621463.62323,116621464.597957,116621465.631729,116621466.654183,116621467.664394,116621468.668601,116621469.676568,116621470.678433,116621471.678561,116621472.694143,116621473.692045,116621474.662341,116621475.628863,116621476.602839,116621477.583678,116621478.586211,116621479.60832,116621480.66739,116621481.676886,116621482.678872,116621483.679752,116621484.724686,116621485.752911,116621486.775587,116621487.774922,116621488.754583,116621489.756442,116621490.739404,116621491.724633,116621494.903167,116621498.787248,116621499.585365,116621500.378104,116621501.200434,116621502.072069,116621502.99231,116621503.961928,116621505.05253,116621506.168405,116621507.297556,116621508.522371,116621509.785975,116621511.040121,116621512.209971,116621513.332847,116621514.393177,116621515.398737,116621516.38388,116621517.354063,116621518.300829,116621519.231526,116621520.166128,116621521.094643,116621522.039259,116621522.998461,116621523.964921,116621524.939871,116621525.921559,116621526.951552,116621527.94033,116621528.923284,116621529.905351,116621530.864543,116621531.827567,116621532.823784,116621533.8352,116621534.845775,116621535.853837,116621536.891953,116621537.887501,116621538.872818,116621539.870994,116621540.872117,116621541.873372,116621542.892777,116621543.891405,116621544.887799,116621545.88487,116621546.882732,116621547.881565,116621548.891521,116621549.889576,116621550.88656,116621551.884389,116621552.915231,116621553.91119,116621554.903129,116621555.896161,116621556.890699,116621557.856072,116621558.824026,116621559.830283,116621560.88388,116621561.890363,116621562.884322,116621563.85076,116621564.833484,116621565.809702,116621566.788891,116621567.773263,116621568.761993,116621572.870367,116621573.789011,116621574.799667,116621575.801687,116621576.855801,116621577.870504,116621578.872925,116621579.914121,116621580.986745,116621582.10726,116621583.233547,116621584.368473,116621585.472721,116621586.602091,116621587.657876,116621588.686915,116621589.70655,116621590.748755,116621591.770183,116621592.789709,116621593.822458,116621594.82734,116621595.812832,116621596.798605,116621597.787687,116621598.776511,116621599.754855,116621600.719028,116621601.687595,116621602.66463,116621603.647784,116621604.653764,116621605.642976,116621606.600696,116621607.539822,116621608.481244,116621609.43714,116621610.405324,116621611.381488,116621612.418811,116621613.417513,116621614.427397,116621615.436566,116621616.453897,116621617.45894,116621618.459938,116621619.4604,116621620.495841,116621621.48691,116621622.447689,116621623.41373,116621624.388339,116621625.369871,116621626.356729,116621627.346842,116621628.339721,116621629.341839,116621630.370217,116621631.395241,116621632.441681,116621633.455379,116621634.459156,116621635.461085,116621636.51969,116621637.518862,116621638.534191,116621639.522217,116621640.508081,116621641.496792,116621642.488367,116621649.855939,116621650.87423,116621651.890037,116621652.895083,116621653.91708,116621654.937384,116621655.952535,116621657.050055,116621658.373514,116621659.740908,116621661.031707,116621662.203191,116621663.324365,116621664.412534,116621665.508523,116621666.551469,116621667.59841,116621668.615678,116621669.625864,116621671.670839,116621672.624626,116621673.556882,116621674.501317,116621675.460185,116621676.430332,116621677.430197,116621678.415144,116621679.364427,116621680.321516,116621681.289709,116621682.266462,116621683.249656,116621684.263461,116621685.205695,116621686.135708,116621687.080591,116621688.051261,116621689.052117,116621690.605095,116621691.609518,116621692.63058,116621693.652118,116621694.722739,116621695.760262,116621696.785392,116621697.803451,116621698.816786,116621699.826221,116621700.83325,116621701.815341,116621702.786673,116621703.807296,116621704.785215,116621705.732313,116621706.685206,116621707.649816,116621708.637692,116621709.636432,116621710.618565,116621711.641525,116621712.695187,116621714.183869,116621715.095469,116621715.985048,116621716.885182,116621717.809937,116621718.755084,116621719.715626,116621720.729635,116621724.22643,116621725.202345,116621726.178556,116621727.160147,116621728.147066,116621729.167407,116621730.22095,116621731.264568,116621732.343388,116621733.382737,116621734.421024,116621735.477173,116621736.992026,116621738.002041,116621738.911213,116621739.857478,116621740.827969,116621741.808302,116621742.794508,116621743.820264,116621744.817011,116621745.837493,116621746.858653,116621747.904397,116621748.916574,116621749.918512,116621750.918986,116621751.965413,116621752.965827,116621753.972453,116621754.938305,116621755.919066,116621756.883622,116621757.851345,116621758.80414,116621760.293819,116621761.255649,116621762.245457,116621763.240608,116621764.268179,116621765.262074,116621766.253867,116621767.247324,116621768.242739,116621769.239199,116621770.237157,116621771.235413,116621772.233928,116621773.232961,116621774.232525,116621775.246107,116621776.229989,116621777.19633,116621778.168774,116621779.148001,116621780.132944,116621781.122178,116621782.114585,116621783.575269,116621784.570993,116621785.599,116621786.624226,116621787.643136,116621788.656919,116621789.667057,116621790.686709,116621791.692057,116621792.692899,116621793.703025,116621802.07052,116621804.600693,116621806.788426,116621809.222953,116621811.404021,116621813.33142,116621815.041844,116621816.507407,116621817.832707,116621818.991315,116621820.077654,116621821.111034,116621822.105749,116621823.097348,116621824.090305,116621825.08465,116621826.080886,116621827.078315,116621828.263937,116621829.262804,116621830.221264,116621831.184938,116621832.157489,116621833.154693,116621834.18168,116621835.205652,116621836.223579,116621837.236654,116621838.227827,116621839.193917,116621840.165338,116621841.144866,116621842.160673,116621843.160267,116621844.143443,116621845.136161,116621846.125053,116621847.122483,116621848.10894,116621849.085627,116621850.068411,116621851.053605,116621852.043895,116621853.012749,116621853.995422,116621855.014274,116621856.040239,116621857.055262,116621858.06432,116621859.071979,116621860.12049,116621861.162019,116621862.19312,116621863.213114,116621864.214669,116621865.234414,116621866.226221,116621867.204546,116621868.175768,116621869.152706,116621870.135744,116621872.573796,116621877.215946,116621879.298659,116621880.109938,116621880.922108,116621881.751304,116621882.802556,116621884.302605,116621885.478322,116621886.317979,116621887.217899,116621888.134803,116621889.079152,116621890.238546,116621891.509945,116621892.824909,116621894.002297,116621895.212348,116621896.27703,116621897.432585,116621898.498553,116621899.545951,116621900.526991,116621901.510752,116621902.618751,116621903.599338,116621904.654102,116621905.577476,116621906.488183,116621907.418138,116621908.516479,116621909.537946,116621910.547992,116621911.499987,116621912.393102,116621913.382287,116621914.39128,116621915.325745,116621916.344909,116621917.294382,116621918.234396,116621919.292235,116621920.244881,116621921.27228,116621922.226867,116621923.184168,116621924.278742,116621925.239345,116621926.328183,116621927.281351,116621928.299252,116621929.249274,116621930.205203,116621931.263411,116621932.278609,116621933.276853,116621934.273219,116621935.290339,116621936.286146,116621937.280549,116621938.275644,116621939.240088,116621940.198357,116621941.165595,116621942.24613,116621943.216734,116621944.237598,116621945.204053,116621946.242993,116621947.239204,116621948.241477,116621949.175385,116621950.107746,116621951.179957,116621952.126858,116621953.072845,116621954.174681,116621955.126898,116621956.075219,116621957.187033,116621958.154713,116621959.140135,116621960.290326,116621961.356901,116621962.317559,116621963.267087,116621964.372585,116621965.059788,116621968.2277,116621969.211061,116621970.21209,116621971.167431,116621972.128126,116621973.109025,116621974.116123,116621975.176553,116621976.176677,116621977.170409,116621978.165032,116621979.203259,116621980.227256,116621981.243618,116621982.25535,116621983.402952,116621984.4243,116621985.473825,116621986.58448,116621987.674428,116621988.741645,116621989.79089,116621990.971068,116621992.267829,116621993.255426,116621994.332469,116621995.462076,116621997.618071,116621998.622896,116621999.6999,116622000.690612,116622001.645965,116622002.589911,116622003.54486,116622004.551431,116622005.504589,116622006.446361,116622007.898782,116622008.87822,116622009.763955,116622010.685714,116622011.632556,116622012.59458,116622013.567258,116622014.554207,116622015.539493,116622016.52804,116622017.66764,116622018.637685,116622019.568898,116622020.511901,116622021.469008,116622022.438217,116622023.45133,116622024.419177,116622025.401429,116622026.368778,116622027.385131,116622028.349128,116622029.422769,116622030.404109,116622031.591759,116622032.581648,116622033.806677,116622034.862478,116622035.848083,116622036.826826,116622037.80957,116622040.064474,116622041.021518,116622043.646739,116622047.844227,116622048.689365,116622049.649234,116622050.753154,116622051.727202,116622052.756227,116622053.816846,116622054.891199,116622055.997199,116622057.12604,116622058.286706,116622059.41973,116622060.518799,116622061.591431,116622062.652885,116622063.691562,116622064.717593,116622065.736171,116622066.795537,116622067.805625,116622068.802388,116622069.798376,116622070.781527,116622071.954396,116622072.922592,116622073.853061,116622074.831745,116622075.788974,116622076.749147,116622077.718871,116622078.717352,116622079.736244,116622080.719144,116622081.666407,116622082.619001,116622083.600118,116622084.573912,116622085.550912,116622087.645363,116622088.633825,116622089.608852,116622090.577159,116622091.582701,116622092.544382,116622093.503365,116622094.471799,116622095.448425,116622096.453681,116622097.475618,116622098.48335,116622099.496332,116622100.506726,116622101.578594,116622102.62795,116622103.617411,116622104.597975,116622105.582047,116622106.583192,116622107.574449,116622108.564864,116622109.52609,116622110.490803,116622111.562601,116622112.543129,116622116.584643],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[3372,2311,1959,1785,1485,1415,1358,1304,1228,1106,1070,1050,1037,1027,1038,1024,1024,1022,1016,982,975,981,987,987,990,993,995,996,997,998,996,959,962,967,973,975,977,991,1024,1023,1017,1013,1009,1007,616,7,5,4,4,8,292,4,2,2,3,25,1064,1518,909,936,956,969,958,1004,990,991,993,977,979,1017,1025,1099,1114,1080,1077,1089,1084,1064,1066,1032,1021,1015,1025,1019,1034,1028,1031,1014,1008,1006,1004,1034,1001,964,966,974,981,986,990,981,966,996,974,979,983,816,1734,905,955,971,979,957,1050,1289,1252,1230,1175,1129,1094,1069,1092,1027,1014,1009,994,1013,958,941,953,961,1006,978,975,981,961,958,1008,971,973,979,993,989,991,993,994,1031,974,958,966,974,1033,1022,1010,1004,1002,1001,1000,1015,997,970,966,973,980,1002,1022,1059,1009,1001,1000,1044,1028,1022,999,979,1001,982,985,985,855,798,792,822,871,920,969,1090,1115,1129,1224,1263,1254,1169,1122,1060,1005,985,970,946,930,934,928,944,959,966,974,981,1029,988,982,982,959,963,996,1011,1010,1008,1038,995,985,998,1001,1001,1019,998,996,997,997,998,1009,998,996,997,1030,995,991,993,994,965,967,1006,1053,1006,993,966,982,976,979,984,988,954,918,1010,1002,1054,1014,1002,1041,1072,1120,1126,1134,1104,1129,1055,1029,1019,1042,1021,1019,1032,1004,985,985,989,988,978,964,968,977,983,1005,989,957,939,941,955,968,976,1037,998,1009,1009,1017,1005,1000,1000,1035,991,960,966,974,981,986,990,992,1002,1028,1025,1046,1013,1003,1001,1058,999,1015,988,985,988,991,1748,1018,1015,1005,1021,1020,1015,1097,1323,1367,1290,1171,1121,1088,1095,1042,1026,1017,1010,987,953,932,944,958,970,999,984,949,957,968,976,983,1013,942,930,944,970,1000,1036,1004,1021,1021,1070,1037,1025,1018,1013,1009,1007,982,971,1020,977,947,952,964,987,998,982,1009,1053,990,911,889,900,924,945,960,1014,954,975,976,981,986,1020,1053,1043,1055,1039,1038,1056,1020,1010,909,946,970,980,986,1025,996,1020,1021,1045,1012,1001,1000,1046,1000,988,965,980,964,967,952,951,961,989,995,1027,993,991,993,995,996,997,998,998,999,999,998,983,966,972,979,984,989,992,993,995,1028,1025,1018,1013,1010,1007,1005,1000,1010,3327,2530,2187,2423,2181,1927,1710,1465,1282,1158,1086,1033,994,991,992,994,996,997,997,998,958,963,972,997,1026,1023,1017,1013,991,966,971,979,984,988,983,984,988,989,976,976,982,985,990,968,982,1018,1018,1015,1009,1007,1048,1041,1031,1019,994,1019,991,967,971,976,983,987,610,882,811,812,829,983,1500,1002,839,899,916,944,1159,1271,1239,1177,1119,1064,1035,1012,992,981,970,977,980,955,923,910,929,947,962,931,915,893,910,922,934,930,949,940,952,952,952,954,957,967,960,954,953,946,950,955,985,1015,998,996,996,995,994,995,964,958,967,974,970,945,966,946,927,923,933,932,947,946,945,958,952,948,959,967,985,990,993,960,949,959,672,502,983,1001,955,960,980,1007,1060,1000,993,994,1038,1023,1016,1011,1007,1021,1049,1110,1089,1067,1049,1035,1065,987,1077,1129,1048,1004,989,990,955,943,954,1006,953,941,953,979,885,921,946,962,972,986,985,988,986,970,931,943,957,969,1013,967,982,967,1001,963,964,981,1003,989,1071,1055,985,978,982,987,957,931,846,845,959,981,974,1029,1060,1074,1106,1128,1160,1133,1099,1072,1061,1038,1026,1018,1059,1010,996,995,983,962,968,930,978,957,960,969,998,1018,982,947,952,963,973,977,987,988,975,968,1005,961,958,968,976,1005,1021,1007,1012,1010,1007,1049,989,980,984,1001,991,990,961,964,971,980,942]},"stackTable":{"length":2209,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,11,23,24,25,26,27,28,29,30,31,24,33,34,35,36,37,38,39,40,9,42,43,44,45,46,47,48,49,47,51,52,53,54,55,45,57,58,59,60,61,62,58,64,65,66,67,68,43,70,71,72,73,74,75,76,77,78,73,80,81,82,83,84,71,86,87,88,89,90,91,92,87,94,95,96,97,98,7,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,109,118,119,120,121,122,123,107,125,126,127,128,129,130,126,132,133,134,135,133,137,138,105,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,151,158,159,160,161,149,163,164,165,166,167,168,169,164,171,172,173,174,175,171,177,147,179,180,181,182,183,184,185,186,187,188,182,190,191,192,193,194,180,196,197,198,199,197,201,202,203,204,205,204,207,145,209,210,211,212,213,214,215,216,217,218,214,220,221,222,223,212,225,226,227,228,226,230,231,230,233,234,235,236,237,210,239,240,241,242,243,244,245,246,247,242,249,250,240,252,253,254,255,256,257,258,253,260,261,143,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,272,280,281,282,283,284,285,270,287,288,289,290,291,292,293,294,268,296,297,298,299,300,301,302,303,304,305,306,297,308,309,310,311,312,313,314,315,316,266,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,321,336,337,338,339,340,341,342,343,344,345,346,347,337,349,350,351,352,353,354,355,356,357,358,323,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,318,378,379,318,381,382,383,6,385,386,387,388,4,390,5,392,393,5,395,396,397,398,399,400,401,402,403,404,405,406,402,408,409,410,409,412,413,400,415,416,417,418,419,416,421,422,423,424,398,426,427,428,429,430,431,432,433,431,435,429,437,438,439,440,427,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,453,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,468,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,487,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,5,535,536,537,538,539,540,541,542,543,544,545,546,547,548,548,550,544,552,553,554,555,555,557,542,559,560,561,562,563,564,565,562,567,568,564,560,571,572,573,574,575,576,576,574,579,540,581,582,583,584,585,586,587,588,589,590,591,592,593,594,592,596,597,598,599,596,601,590,603,604,605,606,607,608,609,610,604,612,613,612,615,616,617,615,619,620,588,622,623,624,625,626,627,628,629,630,631,625,633,634,623,636,637,638,639,640,641,637,643,644,645,646,644,648,649,650,651,649,586,654,655,656,657,658,659,660,661,662,663,664,659,666,667,668,669,667,671,672,673,657,675,676,677,678,679,680,681,682,683,684,685,686,682,688,689,690,691,692,680,694,695,696,697,698,699,700,701,699,695,704,705,706,707,708,709,710,705,712,713,714,715,716,717,678,719,720,721,722,723,724,721,726,727,728,729,730,731,732,728,734,735,726,737,738,739,740,535,742,743,5,745,746,747,748,749,750,751,752,753,754,755,756,757,755,755,760,756,755,754,764,765,766,767,768,769,770,771,772,773,774,775,776,773,778,779,771,781,782,783,784,785,769,787,788,789,790,791,790,793,788,795,796,797,798,799,796,801,767,803,804,805,806,807,808,809,810,811,808,813,814,815,813,806,818,819,820,819,822,804,824,825,826,827,828,827,830,825,832,833,834,835,836,833,838,839,840,752,842,843,844,845,846,844,750,849,850,851,852,853,854,855,856,857,858,859,860,861,861,858,864,865,866,867,868,866,870,865,872,873,874,874,856,877,878,879,880,881,882,883,881,880,886,887,888,886,878,891,892,893,894,895,895,892,898,898,900,901,854,903,904,905,906,907,908,909,909,911,912,908,914,915,916,914,918,919,906,921,922,923,923,925,926,922,928,928,930,931,904,933,934,935,936,937,938,939,937,936,942,943,944,934,946,947,948,948,950,951,947,953,954,953,852,957,958,959,960,961,962,963,964,965,964,967,962,969,970,971,970,973,960,975,976,977,978,979,978,981,982,976,984,985,986,987,988,989,990,991,992,993,994,992,996,997,991,999,1000,1001,1001,989,1004,1005,1006,1007,1005,1009,1010,1009,1012,1013,987,1015,1016,1017,1018,1019,1018,1021,1022,1021,1016,1025,1026,1027,1028,null,757,754,1032,1033,1034,1032,1032,1037,1038,1032,752,1041,1042,1043,1044,1045,1043,1042,1048,1048,1050,1051,1048,750,1054,1055,1056,1057,1058,1058,1060,1061,1061,1057,1064,1065,1066,1066,1066,1066,1055,1071,1072,1073,1074,1075,1073,1073,1078,1079,1072,1081,1082,1081,1084,1082,1086,1084,1088,748,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1098,1097,1103,1095,1105,1106,1107,1108,1109,1109,1106,1112,1113,1114,1113,1093,1117,1118,1119,1120,1121,1122,1123,1123,1120,1126,1118,1128,1129,1130,1131,1132,1130,1129,1135,1135,1137,1138,1098,1140,1141,1142,1140,1144,1145,1146,1145,1148,1149,1150,1103,1152,1153,1154,1155,1154,1157,1152,1159,1160,1161,1162,1163,1160,1165,1095,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1176,1181,1182,1183,1183,1185,1182,1187,1188,1174,1190,1191,1192,1193,1194,1193,1196,1196,1198,1199,1191,1201,1202,1203,1202,1205,1172,1207,1208,1209,1210,1211,1212,1213,1213,1215,1216,1212,1218,1219,1220,1210,1222,1223,1224,1225,1226,1223,1228,1228,1230,1231,1208,1233,1234,1235,1236,1237,1238,1239,1236,1241,1241,1243,1234,1245,1246,1247,1246,1249,1170,1251,1252,1253,1254,1255,1256,1257,1257,1254,1260,1261,1262,1262,1253,1265,1251,1267,1268,757,760,1271,757,1037,1038,1037,1037,1038,1045,1043,1280,1281,1043,1050,1051,1048,1048,853,1288,1289,852,1291,1292,859,1294,1295,859,867,873,881,886,893,898,1303,1304,914,914,930,944,953,1310,1311,1291,1313,1314,1315,1316,1317,1318,1319,1320,1319,1322,1323,1324,1322,1317,1327,1328,1329,1328,1331,1332,1315,1334,1335,1336,1337,1338,1339,1337,1341,1342,1343,1335,1345,1346,1347,1348,1349,1346,1351,1352,1313,1354,1355,1356,1357,1358,1359,1360,1361,1362,1359,1364,1357,1366,1367,1368,1369,1370,1368,1367,1373,1355,1375,1376,1377,1378,1379,1378,1381,1376,1383,1384,1385,1386,1387,1384,1389,1390,1391,853,1393,1394,1394,961,1397,1398,1033,1048,1401,1058,1058,1404,1064,1064,1074,1086,1081,748,1411,1412,1413,1414,1415,1416,1417,1417,1416,1420,1421,1422,1420,1414,1425,1426,1427,1427,1426,1430,1430,1432,1433,1432,1412,1436,1437,1438,1439,1440,1441,1440,1443,1444,1439,1446,1447,1448,1446,1437,1451,1452,1453,1454,1453,1454,1452,1458,1459,1458,746,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1470,1469,1475,1476,1475,1478,1479,1467,1481,1482,1483,1483,1485,1486,1482,1488,1488,1465,1491,1492,1493,1494,1495,1496,1496,1498,1494,1500,1501,1500,1492,1504,1505,1506,1506,1508,1505,1510,1511,1512,1511,1463,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1524,1527,1528,1529,1530,1529,1528,1533,1534,1535,1522,1537,1538,1539,1540,1541,1542,1543,1541,1540,1546,1547,1548,1538,1550,1551,1552,1551,1554,1555,1555,1557,1520,1559,1560,1561,1562,1563,1564,1565,1564,1567,1562,1569,1570,1571,1572,1571,1570,1575,1576,1560,1578,1579,1580,1581,1582,1583,1582,1585,1586,1581,1588,1589,1590,1579,1592,1593,1594,1593,1596,1597,1598,1598,1518,1601,1602,1603,1271,755,1271,1033,1034,1038,1032,1038,1280,1045,1045,1044,1050,1401,1404,1619,1061,1060,1619,1060,1061,1057,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1636,1638,1639,1635,1641,1642,1643,1633,1645,1646,1647,1647,1646,1650,1650,1652,1653,1631,1655,1656,1657,1658,1659,1659,1661,1658,1663,1664,1665,1656,1667,1668,1669,1670,1671,1671,1668,1674,1675,1676,1677,1678,1679,1680,1681,1682,1680,1679,1685,1685,1687,1688,1685,1690,1677,1692,1693,1694,1695,1696,1694,1698,1699,1693,1701,1702,1703,1704,1705,1706,1707,1707,1709,1710,1706,1712,1713,1714,1713,1704,1717,1718,1719,1720,1721,1719,1719,1724,1725,1726,1727,1728,1729,1730,1731,1731,1728,1734,1735,1736,1734,1738,1726,1740,1741,1742,1742,1041,1071,1425,1451,1468,1749,1481,1493,1752,1753,1504,1463,1756,1757,1758,1759,1760,1761,1762,1760,1759,1765,1757,1767,1768,1769,1769,1768,1772,5,753,1775,1776,753,1041,1041,1780,1781,1056,1783,1784,1056,1056,1787,1788,1071,1415,1791,1792,1792,1415,1425,1796,1797,1438,1799,1799,1438,1802,1803,1451,1805,1451,757,1271,1038,1034,1401,1812,1812,1619,1065,1064,1817,1818,1074,1073,1081,1081,1417,1824,1825,1417,1416,1828,1829,1830,1831,1832,1832,1834,1414,1836,1837,1119,753,1840,1841,753,1041,1041,1845,1846,1784,1788,1071,1850,1851,1851,1415,1792,1425,1425,1857,1858,1796,1803,1803,1438,1805,1864,1451,1866,1867,1451,1468,1870,1871,1871,1749,1874,1870,1481,1481,1878,1879,1879,1493,1753,1753,1493,1885,1886,1504,1504,1889,1890,1504,1892,1893,1760,1762,1760,1765,1898,1898,1900,1769,1902,1903,1769,1772,1906,1907,1772,1909,1910,1910,751,1054,1914,1915,1413,1413,1918,1919,1436,1436,1466,1466,1491,1925,1926,1517,1928,1517,1517,1517,1523,1523,1934,1935,1537,1537,1520,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1949,1948,1952,1953,1952,1946,1956,1957,1958,1959,1960,1960,1957,1963,1964,1965,1963,1944,1968,1969,1970,1971,1972,1972,1974,1974,1976,1971,1978,1979,1980,1978,1969,1983,1984,1985,1985,1984,1988,1989,1990,760,756,1034,1032,1034,1033,1280,1050,1051,1048,857,857,877,877,905,905,2007,905,2009,2010,933,2012,933,2014,1316,2016,1316,1334,2019,1334,1313,2022,2023,2024,2025,2026,2027,2028,2029,2030,2029,2032,2033,2027,2035,2036,2037,2037,2039,2040,2036,2042,2043,2044,2045,2046,2045,2048,2049,2050,2025,2052,2053,2054,2055,2056,2057,2058,2057,2060,2061,2055,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2073,2077,2078,2072,2080,2070,2082,2083,2084,2083,2086,2087,2068,2089,2090,2091,2092,2093,2094,2095,2096,2097,2095,2099,2094,2101,2102,2103,2101,2105,2092,2107,2108,2109,2110,2109,2108,2113,2114,2115,2091,2117,2118,2091,2120,2121,2097,2095,2094,2125,2126,2127,2128,2129,2130,2131,2132,2133,2131,2130,2136,2137,2138,2139,2140,746,2142,2143,1271,1038,1043,1045,1043,1043,1281,1051,866,874,881,883,886,893,2158,2159,900,901,909,2163,916,923,2166,2167,2167,928,939,942,2172,2173,2172,948,1311,959,2178,2179,959,2181,959,965,2184,2184,2186,967,2188,2189,971,2191,2192,973,2194,2195,960,2197,2198,2199,2200,2201,2199,2203,2204,2204,1420,2207],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,13,14,15,9,7,8,7,8,10,16,12,14,17,9,7,8,10,11,12,14,14,18,9,7,8,7,8,7,8,19,20,9,10,16,12,13,21,9,7,8,10,11,12,22,9,10,16,12,14,23,9,7,8,7,8,10,16,12,14,17,9,10,11,12,13,24,9,7,8,10,16,12,13,25,9,10,11,12,13,26,27,5,6,7,8,7,8,7,8,7,8,7,9,10,16,12,13,21,9,7,8,10,16,12,28,9,7,8,7,8,10,29,9,7,8,10,30,9,10,31,27,5,6,7,8,7,8,7,8,7,8,7,8,10,11,12,14,32,9,10,16,12,33,9,7,8,10,16,12,13,21,9,10,16,12,14,34,19,35,9,7,8,7,8,10,11,12,13,14,21,9,10,11,12,14,36,9,7,8,19,37,9,10,16,12,14,38,13,17,9,7,8,7,8,7,8,10,16,12,39,9,10,16,12,40,9,7,8,10,41,9,19,42,10,16,12,13,14,43,9,7,8,7,8,10,11,12,14,44,9,10,45,9,7,8,10,16,12,14,17,9,19,20,27,5,6,7,8,7,8,7,8,7,8,7,8,10,11,12,46,9,7,9,10,16,12,47,9,7,9,7,8,10,11,12,17,9,7,8,7,9,7,8,10,16,12,14,48,9,7,8,7,9,10,11,12,13,49,27,5,6,7,8,7,8,7,8,7,9,7,9,10,16,12,14,50,9,7,8,7,8,7,8,7,8,10,16,12,17,9,7,9,7,8,7,9,10,11,12,51,27,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,14,52,53,54,55,56,57,58,55,59,60,61,62,63,64,65,66,14,67,68,69,70,69,70,69,70,69,70,69,71,72,73,71,69,70,74,71,72,75,71,69,70,69,71,76,71,69,70,72,35,71,69,70,69,70,69,70,72,77,71,78,71,69,70,72,79,80,5,68,69,80,5,68,69,70,69,70,69,70,69,70,69,71,72,81,71,69,71,69,80,5,68,69,70,69,71,69,70,69,71,69,71,72,82,80,5,68,69,80,5,68,69,70,69,70,69,70,69,70,69,70,83,71,69,80,5,68,69,70,69,71,69,70,69,71,69,80,5,68,69,80,5,68,69,80,5,68,69,70,69,71,69,70,69,71,69,71,72,84,85,86,87,86,87,86,87,86,87,86,87,88,89,12,17,13,90,91,88,89,12,15,13,43,91,86,87,88,89,12,14,17,92,12,93,94,91,88,89,12,14,14,95,17,13,48,96,5,85,86,87,86,87,86,87,86,87,86,87,88,97,91,88,89,12,98,99,81,91,86,87,88,89,12,14,13,100,91,99,35,88,92,101,102,89,12,103,91,86,87,86,87,88,89,12,14,14,18,91,99,104,91,86,87,88,92,12,105,91,88,92,12,106,89,12,13,13,107,108,91,86,87,86,87,86,87,88,89,12,13,17,91,88,89,12,17,92,12,14,109,96,5,85,86,87,86,87,86,87,88,89,12,110,91,88,92,12,14,111,91,86,87,88,92,12,13,13,95,112,91,86,87,88,89,12,14,32,91,88,92,12,13,14,100,96,5,85,88,92,12,113,86,87,88,92,12,14,13,107,89,12,114,91,88,92,12,115,116,117,118,119,120,121,120,121,120,121,120,121,120,121,122,123,124,125,126,127,128,129,130,5,119,120,121,120,121,120,121,120,121,122,123,131,132,122,128,132,120,132,126,123,133,132,120,121,120,121,129,132,125,132,120,121,126,123,134,132,129,132,120,121,120,121,120,121,126,123,135,132,122,123,124,125,132,120,121,125,132,136,132,120,121,120,121,129,132,129,132,120,121,126,123,137,132,122,123,124,130,5,119,126,123,135,129,130,5,119,120,121,120,121,120,121,120,121,126,123,138,133,132,120,121,126,123,139,122,128,132,126,123,140,141,132,120,121,120,121,126,123,135,125,132,126,123,142,129,132,120,121,122,123,143,144,132,125,126,123,145,132,120,121,120,121,120,121,129,122,123,146,132,122,123,133,126,123,147,132,120,121,125,122,123,148,132,125,126,123,149,132,120,121,120,121,126,123,150,125,132,122,123,142,132,120,121,151,122,123,152,132,122,127,153,130,5,119,120,121,120,121,120,121,129,132,125,132,120,121,125,132,129,132,120,121,120,121,129,132,122,154,130,5,119,120,121,120,121,120,121,122,123,133,126,123,145,132,126,123,144,155,132,120,121,126,154,132,122,128,126,123,124,132,120,121,120,121,129,132,126,154,129,132,120,121,126,154,156,157,132,122,123,152,125,126,123,158,129,132,120,121,126,123,140,125,132,125,126,123,137,129,132,120,121,120,121,125,122,123,157,159,132,126,123,160,157,161,144,132,120,121,126,123,149,129,122,123,162,132,122,128,126,163,123,150,123,135,130,5,119,120,121,120,121,120,121,122,123,164,129,132,125,132,120,121,122,123,143,165,132,122,123,147,154,132,120,121,120,121,126,123,158,164,132,129,132,120,121,126,123,162,129,132,125,122,123,139,120,121,126,128,132,120,121,129,132,122,123,133,120,121,120,121,125,132,125,132,120,121,122,123,137,132,125,130,5,119,120,121,120,121,120,121,120,121,122,123,166,132,120,121,125,126,154,132,122,127,132,120,121,120,121,167,132,125,122,123,140,132,120,121,129,132,125,132,120,121,120,121,120,121,129,122,123,159,132,126,123,133,132,120,121,122,123,168,132,125,126,123,150,132,120,121,120,121,122,123,124,132,125,126,154,132,120,121,129,132,129,130,5,119,120,121,126,123,169,155,132,122,123,143,161,122,128,170,171,172,149,123,137,173,174,137,128,127,135,162,122,123,137,129,154,124,175,176,122,123,150,132,126,128,122,123,124,125,154,127,129,177,125,122,123,178,175,167,127,179,126,123,139,120,121,120,121,120,121,120,121,125,132,126,123,152,129,132,120,121,125,132,122,154,132,120,121,120,121,126,127,132,122,123,133,132,120,121,126,123,135,132,122,128,132,120,121,120,121,120,121,126,123,137,132,125,132,120,121,126,123,180,181,132,129,132,120,121,120,121,136,132,125,132,120,121,122,123,182,132,126,123,137,126,123,183,133,126,123,124,128,122,128,175,126,127,125,129,128,135,125,132,120,121,120,121,120,121,129,125,132,126,123,139,125,132,120,121,125,129,132,125,122,123,133,127,132,120,121,120,121,122,127,126,123,157,132,126,123,147,125,132,120,121,126,127,125,154,132,126,128,129,132,120,121,120,121,120,121,120,121,122,123,124,125,132,126,127,122,123,137,132,120,121,129,126,123,135,132,125,167,132,120,121,120,121,126,127,123,137,132,126,127,125,132,120,121,125,126,127,132,122,123,133,128,130,5,119,120,121,120,121,120,121,120,121,129,132,120,121,122,128,125,132,126,123,157,132,120,121,120,121,126,123,124,125,132,126,123,168,132,120,121,129,132,126,127,123,133,132,120,121,120,121,120,121,175,132,129,132,120,121,126,184,125,132,126,127,132,120,121,120,121,122,154,126,123,124,132,126,123,135,132,120,121,129,132,122,123,142,148,130,5,119,125,133,167,124,127,157,166,153,149,127,124,133,127,127,127,123,135,173,154,157,127,135,130,5,119,120,121,120,121,120,121,120,121,129,126,123,142,132,122,123,185,132,120,121,129,125,132,129,126,123,133,132,120,121,120,121,125,126,174,132,126,123,139,132,120,121,122,123,173,145,130,5,119,120,121,120,121,122,123,148,175,132,125,126,123,166,122,174,132,120,121,126,123,186,122,123,147,130,5,119,120,121,120,121,129,126,123,147,132,126,123,147,187,130,5,119,126,123,133,129,120,121,120,121,120,121,126,123,138,147,132,122,123,144,126,174,132,120,121,125,129,129,125,125,175,126,188,129,122,123,134,176,132,120,121,120,121,122,123,189,125,132,125,132,120,121,125,129,132,129,190,122,123,152,129,125,126,123,148,126,123,150,129,122,123,134,129,126,123,137,191,192,126,123,149,126,193,128,122,123,164,126,127,194,195,141,157,137,123,189,147,137,196,122,123,148,188,125,181,129,126,123,135,175,130,5,119,120,121,181,122,196,130,197,65,129,126,123,198,125,175,122,123,137,199,200,126,123,137,158,129,173,129,122,123,168,201,150,202,181,123,138,122,123,173,129,122,123,202,134,123,137,174,125,126,123,162,149,125,173,147,126,123,140,129,126,123,140,122,123,137,153,140,129,126,203,123,150,122,123,168,204,122,123,133,126,123,182,141,129,122,123,137,129,122,123,134,129,181,181,129,126,123,145,126,187,129,125,181,129,126,123,195,125,129,130,5,119,120,121,120,121,120,121,120,121,125,129,132,122,205,175,132,120,121,122,123,206,142,132,126,123,207,125,132,120,121,120,121,125,126,184,123,162,132,126,123,141,181,132,120,121,204,129,130,208,171,172,128,127,135,175,162,154,128,174,133,136,125,129,129,181,175,126,184,122,123,140,126,209,122,174,122,184,153,126,210,129,130,5,119,120,121,120,121,120,121,125,132,126,127,132,120,121,129,122,123,137,130,5,119,120,121,125,132,122,123,124,130,5,119,120,121,120,121,129,132,122,128,130,5,119,120,121,120,121,120,121,120,121,122,123,137,126,123,150,132,129,132,120,121,129,132,122,127,130,5,119,120,121,120,121,122,123,135,126,184,132,126,123,166,122,128,132,120,121,126,174,129,132,122,123,164,122,123,147,126,123,144,158,129,130,5,119,120,121,120,121,122,123,133,129,130,5,119,126,123,138,130,64,65,135,133,175,137,136,192,124,135,125,150,167,137,125,126,123,137,154,147,126,211,152,126,123,135,137,129,155,126,123,133,201,125,155,122,123,133,126,201,129,122,127,123,137,126,123,142,126,123,162,126,123,147,130,5,119,122,123,135,126,123,147,183,122,154],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f2589","0x1f1e9c","0x1edef0","0x1eeb02","0x1eeae6","0x1ee030","0x1f1c7f","0x1edfb4","0x1ee000","0x1f257e","0x177e44","0x1ee015","0x1ee47c","0x1ee205","0x1ee024","0x1edfce","0x1eea58","0x1f3684","0x1ee728","0x1f1f29","0x1f1b6b","0x1f1bf9","0x1ee010","0x1ee922","0x1ee323","0x177dbc","0x1eebf1","0x177d9c","0x1ee7bc","0x1ee686","0x1ee73f","0x1f1c19","0x177e4d","0x1edfd9","0x1ee003","0x1f1db9","0x1edff5","0x1ee152","0x1edfb0","0x1ee7a2","0x1ee020","0x1ee665","0x1edfde","0x2618c","0x26706","0x11e88d","0x2638b","0x267e2","0x347b95","0x1f2c90","0x1f32d7","0xa5452","0xa2cc2","0x9125b","0x26141","0x108c9b","0x1ef2d8","0x1ee81e","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177e31","0x1eb43d","0x177da2","0x1eb1a3","0x177d86","0x1eb1e4","0x177db9","0x1ec510","0x177e3a","0x177e3f","0x1eb1f9","0x177efd","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee75b","0x34fd2","0x1edb10","0x1ee9c4","0x1ee841","0x1edfa0","0x34ed4","0x1eda3f","0x1ee136","0x59940","0x1ee02b","0x1edeb7","0x1a0985","0x1ee671","0x177d89","0x1ee53f","0x1ee766","0x1edfc7","0x1eebf8","0x1ee4ce","0x1ee849","0x1ee930","0x1ee639","0x1ee8ad","0x1ee81a","0x1ee84c","0x59e9e","0x177ba9","0x1a0aca","0x247051","0x246666","0x246a05","0x246363","libm.so.6","0x37f02","0xe380","0x2463ab","0x24637c","0x37f31","0x37f13","0x246396","0x246a77","0x7647e","0x246b93","0x76488","0x70ab8","0x764eb","0x24633e","0x76514","0x76482","0x76506","0x7654a","0x764ac","0x764d5","0x76540","0x709c7","0x76497","0x7656a","0x7662f","0x764f4","0x7652b","0x7651d","0x246386","0x76637","0x24638a","0x37ef0","0x765b8","0xffffffffba6000c2","0x764c0","0x76538","0x70ac0","0x764b3","0x764c4","0x764e4","0x37f37","0x709c0","0x70aba","0x7649f","0x24639f","0x76518","0x764db","0x25f87","0x347d18","0x347f04","0x709ce","0x37f21","0x2463af","0x246338","0x246358","0x70a10","0x764bb","0x70a1c","0x2463bb","0x709e4","0x70ab0","0x37f03","0x70aa8","0x764fd","0x37f0b","0x37ef8","0x764e7","0x247039","0x7650f","0x246347","0x37f2f","0x2463b3","0x76532","0x37f25","0x261a0","0x76559","0x764a3","0x76622","0x37f27","0x76526","0x37f40","0x246392","0x37f58","0x7654d","0x709d6","0x2601a","0x37f44","0x37f51","0x37f33"],"tid":"700697","unregisterTime":116622126.516938},{"frameTable":{"length":210,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2041225,2039452,2023152,2026242,2023398,2045928,2025094,2026214,2023450,2041214,1539652,2038911,2025279,2024572,2043024,2044292,158863,3493043,677985,674762,1706698,2023286,2024211,2023344,2025251,2023348,2023385,2023374,2044396,2045572,2024567,2023351,1539473,2025088,2025548,2025490,2024612,2025853,1539513,2023472,2023979,2024531,2023800,2041330,2039397,2025616,2025479,2026072,2023381,2023897,2025498,2038656,2024758,2023972,2025366,155969,1084571,156044,157446,1173645,2044222,1705937,2018025,2013424,2016528,2016405,2016768,2011421,1539661,2012474,365295,674518,1418669,368184,216630,366929,1539633,217042,2022359,2024934,2023445,2022160,2025013,2025502,2023642,2025017,2026488,2023463,216788,366912,1539459,2023432,2021915,1539516,2024575,1539647,2025526,2025561,2023440,2023271,2026149,2026022,2388049,2385510,2386437,2386835,2384764,229122,461498,2384819,484651,2384790,2384739,229157,461248,484464,2384815,2386551,229149,229123,484632,2384811,229194,484587,484539,229175,484656,484568,2384827,2384774,2384688,484637,484605,58240,229112,484610,2384807,2384702,484478,484646,484524,484511,484628,484544,484639,484580,484911,484658,461504,461496,484488,229159,484596,461488,484565,2384749,229192,484556,229108,2384696,484919,2384831,484599,229167,484614,484531,484503,229139,2384786,2384823,461262,484494,229169,484497,2384762,229153,484682,229131,2384834,229188,2384711,484571,229104,2384799,461255,461284,156486,157666,3439601,165650,484623,484482,484720,2384778,484898,461472,2384740,461328,484664,484794,484583],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":210,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,1,1,2,2,2,1,1,2,2,2,1,2,2,2,2,2,2,1,1,1,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,2,1,1,2,2,2,2,1,2,2,2,1,2,1,2,2,1,2,2,1,1,1,1,2,2,2,1,2,2,1,2,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700698>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.275914,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,118],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":734,"stack":[21,26,28,33,37,43,50,60,66,69,76,77,83,84,91,109,118,127,136,149,159,170,179,189,194,196,205,207,210,211,220,239,246,255,263,274,278,289,294,300,314,322,332,339,350,355,364,372,380,402,404,404,404,404,404,407,407,407,407,407,407,410,413,430,442,461,478,489,494,505,511,514,523,528,535,543,544,549,560,566,568,573,578,582,588,598,599,602,612,615,623,629,631,637,644,648,649,661,666,667,677,691,695,699,705,708,714,718,719,734,737,739,740,741,740,746,747,748,751,753,756,758,759,760,766,767,768,769,771,774,775,771,776,780,783,780,780,786,789,790,791,791,799,799,803,804,808,811,812,813,815,804,816,819,825,827,830,833,836,837,838,841,838,843,844,845,846,847,848,851,853,854,714,857,858,859,860,860,868,871,874,878,879,880,886,889,890,894,895,896,904,905,907,910,911,915,916,917,920,921,924,934,936,939,942,944,947,950,950,952,955,969,971,972,976,978,978,986,990,993,997,1001,1002,1010,1012,1012,1018,1026,1027,1031,1032,1035,1039,1040,1043,1044,844,1047,1048,1049,1050,1051,1051,1052,1051,847,848,705,848,1053,1056,705,848,1057,1058,1059,1060,1060,1060,1063,1064,1064,1065,1066,1064,1065,860,1068,1069,1071,1072,860,1075,1076,1076,1077,1078,1081,1082,1085,1093,1094,1096,1097,1101,1102,1105,1107,1117,1119,1123,1124,1128,1129,1130,838,1131,1133,1134,1135,1138,1139,1140,1143,1144,942,942,1146,1149,1151,1152,1155,950,1158,952,1161,1162,1170,1171,1172,1174,1174,1177,1181,1184,1185,1199,1202,1204,1207,1208,1208,1212,1213,1212,1214,1218,1219,1221,1222,1228,1228,1228,1231,1235,1238,1239,1243,1243,1246,1247,1249,1250,1249,1251,1259,1259,1260,1260,1263,1266,1267,1271,1274,1275,1278,1278,1278,1278,1278,1280,1281,1282,1285,1286,1140,1287,1288,1296,1297,1300,1304,1304,1306,1309,1315,1318,1320,1322,1328,1329,1331,1334,1335,1335,1336,1338,1339,1340,1343,1346,1347,1348,1349,1350,1350,1352,1353,1356,1357,1358,1360,1336,1363,1364,1365,1335,1366,1367,1336,1370,1371,1372,1373,1373,1374,1376,1378,1379,1382,1385,1391,1394,1395,1398,1339,1399,1400,1401,1348,1404,1405,1408,1409,1410,1353,1411,1371,1373,1373,1413,1414,1415,1357,1416,1366,1336,1339,1417,1420,1340,1421,1423,1424,1425,1347,1347,1348,1428,1429,1431,1434,1435,1409,1436,1437,1447,1448,1450,1454,1454,1456,1457,1464,1466,1467,1471,1473,1474,1475,1476,1477,1480,1401,1482,1401,1484,1347,1378,1485,1486,1489,1490,1493,1494,1495,1496,1497,1501,1512,413,1514,1515,1516,1517,1044,1518,1040,1520,1048,1048,1521,1522,847,1523,1524,846,1527,1528,705,848,705,848,1529,1530,1531,1532,1058,1533,1534,1535,1536,1064,1537,1538,1064,1539,1064,1540,1541,1542,860,1543,1544,1072,1545,1545,1545,1546,1547,740,740,740,740,1548,1549,1550,747,1551,1553,1554,753,1555,1557,1558,1559,1569,1572,1575,1578,1579,1590,1591,1592,1594,1597,1598,1602,1603,1604,1606,1609,1610,1616,1617,1620,1621,1622,1339,1623,1624,1625,1401,1348,1348,1626,1627,1628,1629,1630,1409,1632,1633,1634,1635,1372,1411,1636,1637,1638,1640,1643,1414,1646,1281,1281,1131,1648,1649,1651,1135,1652,1653,1139,1656,1657,1288,1494,1485,1658,1486,1661,1665,1666,1669,1670,1674,1675,1681,1682,1686,1687,1694,1697,1698,1702,1703,1707,1708,1707,1711,1712,1713,1719,1720,1721,1722,1723,1281,1281,1724,846,1725,705,1726,1064,1066,1542,1727,1728,1729,1730,895,1731,1733,1734,907,917,917,1735,1738,1739,1741,1744,1747,1748,1750,1750,1753,1756,1760,1763,1764,1766,1769,1774,1775,1777,1780,1784,1786,1787,1794,1795,1797,1799,1803,1807,1808,1814,1816,1818,1823,1825,1827,1828,1834,1835,1837,1845,1847,1855,1856,1856],"time":[116621307.133966,116621308.38041,116621309.56239,116621310.695989,116621311.763422,116621312.821068,116621313.872164,116621314.919987,116621315.956718,116621316.992149,116621318.131088,116621319.230126,116621320.31826,116621321.896349,116621322.945186,116621323.881405,116621324.821833,116621325.776471,116621326.743759,116621327.742393,116621328.74937,116621329.730474,116621330.727455,116621331.738881,116621332.805991,116621333.781119,116621334.750445,116621335.726343,116621336.74814,116621337.732633,116621338.709112,116621339.666511,116621340.650327,116621341.624308,116621342.621398,116621343.600159,116621344.58218,116621346.025945,116621346.93722,116621347.81234,116621348.728928,116621349.686224,116621350.633357,116621351.598031,116621352.585421,116621353.615666,116621354.619696,116621355.609342,116621356.597777,116621357.617105,116621358.029592,116621358.034231,116621358.037519,116621358.040676,116621358.043776,116621358.062051,116621358.771832,116621358.777648,116621358.780805,116621358.784045,116621358.787259,116621358.802885,116621363.111518,116621368.993554,116621371.813933,116621374.039463,116621375.81733,116621378.002045,116621379.598592,116621381.214741,116621382.613493,116621383.905781,116621385.160711,116621386.331613,116621387.455007,116621388.545089,116621389.61082,116621390.658741,116621391.693837,116621392.739842,116621393.7988,116621394.84637,116621395.882203,116621396.908086,116621397.926764,116621398.940501,116621399.950225,116621400.957083,116621401.954584,116621402.920053,116621403.886201,116621404.860604,116621405.858169,116621406.844864,116621407.831681,116621408.800366,116621409.756619,116621410.71976,116621411.712128,116621412.693021,116621413.674646,116621422.959081,116621425.212592,116621427.15535,116621429.204093,116621433.071183,116621436.088325,116621437.605915,116621439.150142,116621440.481646,116621441.696936,116621442.851321,116621443.965126,116621445.049146,116621446.10229,116621447.14039,116621449.784469,116621450.764645,116621451.668717,116621452.585598,116621453.67884,116621454.613733,116621455.593789,116621456.536875,116621457.60806,116621459.295557,116621460.396132,116621461.421743,116621462.441355,116621463.423087,116621464.441274,116621465.427109,116621466.428158,116621467.447977,116621468.465746,116621469.478688,116621470.488101,116621471.494847,116621472.500024,116621473.510961,116621474.487057,116621475.450317,116621476.451051,116621477.430613,116621478.422621,116621479.513373,116621480.528691,116621482.075398,116621483.13054,116621484.137197,116621485.174757,116621486.213895,116621487.242483,116621488.221796,116621489.199643,116621490.182272,116621491.16932,116621492.160029,116621493.153404,116621494.140287,116621498.188588,116621499.062529,116621499.901664,116621500.754467,116621501.642802,116621502.561726,116621503.503565,116621504.534636,116621505.641286,116621506.743057,116621507.957484,116621509.209178,116621510.473457,116621511.702553,116621512.87511,116621513.982948,116621515.012456,116621515.986046,116621516.946261,116621517.88059,116621518.82335,116621519.780731,116621520.711279,116621521.800442,116621522.735202,116621523.669282,116621524.740262,116621525.762698,116621526.77911,116621527.869076,116621529.196463,116621530.065791,116621530.904917,116621531.759806,116621532.842026,116621533.801031,116621534.736594,116621535.784858,116621536.809934,116621537.888215,116621538.921173,116621540.05617,116621541.068444,116621542.33184,116621543.360426,116621544.298268,116621545.2412,116621546.240931,116621547.229703,116621548.196576,116621549.165761,116621550.142762,116621551.17261,116621552.155506,116621553.136712,116621554.122412,116621555.111535,116621556.10344,116621557.112284,116621558.066634,116621559.048278,116621560.054812,116621561.062304,116621562.067955,116621563.057658,116621564.022218,116621564.99191,116621565.966425,116621566.947569,116621567.933671,116621568.923558,116621569.916166,116621575.306892,116621578.09978,116621580.337757,116621582.444745,116621584.411998,116621586.158981,116621587.648818,116621589.00806,116621590.240588,116621591.408524,116621592.546241,116621593.685942,116621594.766649,116621595.799645,116621596.819155,116621597.832599,116621598.842051,116621599.848922,116621600.85374,116621601.857398,116621602.859961,116621603.862489,116621604.864237,116621605.855264,116621606.814338,116621607.746686,116621608.678934,116621609.637646,116621610.600045,116621611.570049,116621612.547751,116621613.553242,116621614.582566,116621615.607502,116621616.626427,116621617.639959,116621618.649966,116621619.657119,116621620.858445,116621621.834644,116621622.758424,116621623.693356,116621624.643611,116621625.606835,116621626.580825,116621627.56202,116621628.547996,116621629.555505,116621630.589708,116621631.61884,116621632.640851,116621633.657004,116621634.668809,116621635.683159,116621636.716407,116621637.718896,116621638.747995,116621639.742522,116621640.732917,116621641.725188,116621642.719071,116621643.714012,116621649.169521,116621650.17841,116621650.98111,116621651.772126,116621652.609431,116621653.519877,116621654.463686,116621655.406682,116621656.369107,116621657.777747,116621659.209354,116621660.499194,116621661.87044,116621663.149738,116621664.298748,116621665.419287,116621666.461551,116621667.61831,116621668.692558,116621669.676067,116621670.646641,116621671.601575,116621672.688411,116621673.581018,116621674.548544,116621675.454322,116621676.569965,116621677.694496,116621678.740767,116621679.770364,116621680.82501,116621681.803868,116621682.839766,116621683.805011,116621684.82392,116621685.775992,116621686.671496,116621687.575535,116621688.659493,116621689.703973,116621690.668891,116621691.624872,116621692.713475,116621693.732081,116621694.811974,116621695.848691,116621696.85807,116621697.826085,116621698.877433,116621699.93374,116621700.895262,116621701.916062,116621702.836717,116621703.752209,116621704.686525,116621705.778851,116621706.691813,116621707.600412,116621708.64545,116621709.65158,116621710.676306,116621711.703243,116621712.808402,116621713.761673,116621714.664704,116621715.602838,116621716.541316,116621717.491793,116621718.454446,116621719.426867,116621720.406752,116621720.841357,116621720.845852,116621720.849301,116621720.852623,116621720.856244,116621720.874987,116621724.010027,116621727.582071,116621730.39688,116621732.70772,116621734.774754,116621736.592296,116621738.218444,116621739.653996,116621741.009951,116621742.243425,116621743.412511,116621744.53651,116621745.627191,116621746.693353,116621747.786603,116621748.822493,116621749.838315,116621750.847891,116621751.854659,116621752.859645,116621753.863382,116621755.089724,116621756.065198,116621757.022517,116621757.987408,116621758.921483,116621759.860542,116621760.827132,116621761.790559,116621762.76136,116621763.739508,116621764.724054,116621765.712693,116621766.704205,116621767.698155,116621768.69371,116621769.690409,116621770.688125,116621771.686595,116621772.685115,116621773.684038,116621774.683436,116621775.682816,116621776.646348,116621777.607196,116621778.577729,116621779.557379,116621780.541002,116621781.529607,116621782.521443,116621783.515834,116621784.510719,116621785.506736,116621786.504094,116621787.502062,116621788.500679,116621789.49976,116621790.499472,116621791.532778,116621792.532506,116621793.524717,116621794.517948,116621795.512713,116621799.749527,116621800.600019,116621801.423361,116621802.270237,116621803.155868,116621804.073057,116621805.013508,116621805.970664,116621806.969884,116621808.201102,116621809.472164,116621810.754751,116621812.041711,116621813.187598,116621814.28716,116621815.358777,116621816.410642,116621817.409434,116621818.381455,116621819.352816,116621820.305031,116621821.238858,116621822.168155,116621823.113453,116621824.073519,116621825.044617,116621826.023911,116621827.008963,116621827.997932,116621828.988741,116621829.981776,116621830.976612,116621831.972783,116621832.980269,116621834.022088,116621835.056942,116621836.083016,116621837.10209,116621838.102643,116621839.071486,116621840.044275,116621841.024506,116621842.010572,116621842.999597,116621843.990709,116621844.98373,116621845.978202,116621846.97427,116621847.961279,116621848.936565,116621849.928737,116621850.912433,116621851.909763,116621852.880756,116621853.855947,116621854.875196,116621855.898362,116621856.923413,116621857.936999,116621858.945169,116621859.989494,116621861.037254,116621862.069955,116621863.093353,116621864.084793,116621865.144237,116621866.13742,116621867.098801,116621868.065722,116621869.040991,116621870.022894,116621871.010071,116621872.000816,116621872.993674,116621877.141278,116621877.266534,116621877.348358,116621879.630639,116621880.775948,116621881.900013,116621883.3006,116621884.859768,116621885.943393,116621886.840244,116621887.701973,116621888.588843,116621889.598021,116621890.81253,116621892.073355,116621893.255282,116621894.387618,116621895.485016,116621896.55591,116621897.607494,116621898.644992,116621899.672109,116621900.691753,116621901.877963,116621902.868105,116621903.841493,116621904.813668,116621905.754492,116621906.701682,116621907.662088,116621908.633174,116621909.612394,116621910.597291,116621911.567312,116621912.518222,116621913.477754,116621914.447606,116621915.425495,116621916.409961,116621917.401251,116621918.392548,116621919.385912,116621920.380939,116621921.377413,116621922.37484,116621923.372906,116621924.371864,116621925.37098,116621926.370473,116621927.369889,116621928.369884,116621929.36978,116621930.371445,116621931.400295,116621932.441537,116621933.474252,116621934.49849,116621935.516039,116621936.52895,116621937.538189,116621938.543274,116621939.5062,116621940.470638,116621941.443732,116621942.424022,116621943.399832,116621944.375118,116621945.372177,116621946.346857,116621947.30873,116621948.277942,116621949.254915,116621950.238355,116621951.226341,116621952.217917,116621953.211633,116621954.207092,116621955.204065,116621956.201757,116621957.200218,116621958.216907,116621959.256393,116621960.289244,116621961.313551,116621962.33127,116621963.344177,116621964.353301,116621965.35993,116621968.24567,116621969.186651,116621970.141666,116621971.062677,116621971.997677,116621972.950114,116621973.946048,116621974.951452,116621975.956527,116621976.960145,116621977.962915,116621979.054959,116621980.283725,116621981.461847,116621982.538037,116621983.681629,116621984.750479,116621985.936976,116621987.061793,116621988.134563,116621989.31775,116621990.338146,116621991.338367,116621992.336232,116621993.495393,116621994.582745,116621995.625345,116621996.667865,116621997.602572,116621998.637565,116621999.645488,116622000.632478,116622001.55171,116622002.535579,116622003.457228,116622004.379785,116622005.320538,116622006.432734,116622007.382603,116622008.32809,116622009.445034,116622010.414389,116622011.356092,116622012.308335,116622013.440416,116622014.459705,116622015.435421,116622016.460397,116622017.454797,116622018.455127,116622019.400375,116622020.345315,116622021.302835,116622022.434378,116622023.374173,116622024.308954,116622025.435035,116622026.385444,116622027.394938,116622028.363316,116622029.482227,116622030.626371,116622031.669367,116622032.781604,116622033.854698,116622034.812435,116622035.971745,116622037.029755,116622038.287053,116622039.376353,116622040.429957,116622041.623622,116622047.133482,116622048.004473,116622048.859711,116622049.747685,116622050.706444,116622051.647078,116622052.608922,116622053.634476,116622054.810733,116622055.927903,116622057.037525,116622058.148353,116622059.259331,116622060.344236,116622061.406749,116622062.604114,116622063.619128,116622064.745603,116622065.777801,116622066.928701,116622067.891009,116622068.930733,116622069.87339,116622070.872847,116622071.778954,116622072.721567,116622073.648734,116622074.585931,116622075.538902,116622076.504592,116622077.479737,116622078.477441,116622079.697262,116622080.723663,116622081.73217,116622082.725986,116622083.664702,116622084.712552,116622085.685008,116622086.701331,116622087.744107,116622088.690776,116622089.68935,116622090.707192,116622091.658315,116622092.636082,116622093.554608,116622094.476394,116622095.524573,116622096.573043,116622097.578925,116622098.623176,116622099.597136,116622100.658706,116622101.629315,116622102.595602,116622103.558727,116622104.529784,116622105.712943,116622106.74843,116622107.772253,116622108.763981,116622109.661785,116622110.563017,116622111.57978,116622112.514411],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[1338,1246,1181,1133,1067,1057,1051,1047,1036,1035,1119,1099,1088,1065,1048,936,940,954,967,975,1006,981,996,1011,1067,975,969,975,1021,984,976,957,983,973,975,978,982,1002,911,875,897,957,936,964,987,1030,995,989,988,1019,324,4,3,3,3,18,35,5,3,3,3,15,841,4641,2788,2225,1777,1711,1596,1599,1398,1292,1254,1170,1123,1090,1065,1047,1035,1046,1058,1047,1035,1025,1018,1013,1009,1006,997,965,966,974,980,986,986,968,956,963,972,980,981,4556,2253,1942,2048,1805,1608,1517,1544,1331,1215,1154,1113,1084,1053,1038,1021,980,904,916,936,934,933,943,1071,1068,1100,1025,981,981,976,985,1001,1019,1017,1012,1009,1006,1005,1003,976,963,971,979,992,1019,1015,998,1055,1006,1019,1039,1028,979,977,982,987,990,993,986,781,873,839,852,888,918,941,1031,1106,1101,1214,1251,1264,1229,1172,1107,1029,973,960,934,942,957,930,937,934,934,949,962,944,937,939,869,839,854,915,959,935,947,955,1060,1032,1033,1012,995,965,937,942,955,968,966,969,977,982,982,981,985,989,991,982,954,968,1006,1007,1005,989,964,969,974,981,986,989,992,3402,2776,2237,2106,1967,1746,1489,1359,1232,1167,1137,1139,1080,1032,1019,1013,1009,1006,1004,1003,1002,1002,1001,991,959,923,932,947,962,970,977,1005,1029,1024,1018,1013,1010,1007,1005,976,923,934,950,963,973,981,985,1007,1034,1029,1022,1016,1011,1014,1024,1002,1029,994,990,992,993,994,752,822,802,791,837,910,943,942,962,1143,1359,1246,1282,1216,1117,1071,1042,1023,1016,983,970,954,914,892,891,905,1035,1032,1016,987,979,978,966,965,921,889,895,904,965,971,964,955,964,982,993,991,973,968,966,973,961,918,920,915,934,912,912,908,929,968,929,971,968,953,903,916,938,950,962,972,979,61,4,3,3,3,18,547,3572,2814,2310,2067,1817,1626,1435,1355,1233,1169,1123,1090,1066,1047,1035,1015,1009,1006,1004,1003,1002,975,957,964,934,939,966,963,970,978,984,988,991,993,995,996,997,998,998,998,999,999,963,960,970,979,983,988,991,994,994,996,997,997,998,999,999,999,999,992,993,994,947,850,823,846,885,917,940,957,999,1231,1271,1282,1232,1145,1099,1071,1051,998,972,942,952,933,929,945,960,971,979,985,988,990,993,994,996,1007,1041,1034,1026,1019,1000,968,972,980,986,989,991,993,994,996,987,975,992,983,997,970,975,1019,1023,1017,1013,1008,1044,1047,1032,1023,991,1015,993,961,966,975,981,987,990,992,1042,75,36,1223,1145,1102,1400,1559,965,896,861,886,988,1214,1260,1181,1132,1097,1070,1051,1037,1027,1019,1014,990,973,972,940,947,960,971,979,984,970,950,959,969,977,984,991,991,993,995,996,997,998,998,999,999,999,999,999,1001,1028,1041,1032,1024,1017,1012,1009,1005,962,964,973,980,975,975,997,974,961,969,976,983,987,991,993,995,996,997,998,1016,1039,1032,1024,1017,1012,1009,1006,983,940,955,921,935,952,995,1005,1005,1003,1002,1036,1159,1121,1076,1047,1068,1100,1124,1072,1050,1020,1000,997,997,1014,1010,966,934,933,939,940,919,900,921,922,940,956,949,945,957,969,941,952,964,973,938,939,949,942,945,944,957,968,939,934,966,950,911,917,1032,1039,1042,1018,1004,957,1051,1058,1127,1089,1053,1014,227,870,855,887,916,940,961,1025,1062,1117,1109,1110,1110,1084,1062,1045,1015,993,980,966,962,929,942,898,906,904,927,937,952,965,975,997,1034,961,935,940,938,939,954,941,940,946,935,926,951,905,918,921,940,975,942,967,973,962,970,955,963,971,978,984,937,933,897,901,924,934]},"stackTable":{"length":1857,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,15,22,23,24,25,25,27,13,29,30,31,32,31,34,35,36,30,38,39,40,41,42,29,44,45,46,47,48,49,11,51,52,53,54,55,56,57,58,59,54,61,62,63,64,65,64,67,68,52,70,71,72,73,74,75,75,71,78,79,80,81,82,82,10,85,86,87,88,89,90,9,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,99,110,111,112,113,114,115,116,117,97,119,120,121,122,123,124,125,126,120,128,129,130,131,132,133,134,135,95,137,138,139,140,141,142,143,144,145,146,147,148,140,150,151,152,153,154,155,156,157,158,138,160,161,162,163,164,165,166,167,168,169,163,171,172,173,174,175,176,177,178,161,180,181,182,183,184,185,186,187,188,103,190,191,192,193,114,195,122,197,198,199,200,201,202,203,204,135,206,146,208,209,157,151,212,213,214,215,216,217,218,219,138,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,230,240,241,242,243,244,245,228,247,248,249,250,251,252,253,254,248,256,257,258,259,260,261,262,226,264,265,266,267,268,269,270,271,272,273,267,275,276,277,265,279,280,281,282,283,284,285,286,287,288,280,290,291,292,293,291,295,296,297,298,299,224,301,302,303,304,305,306,307,308,309,310,311,312,313,306,315,316,317,318,319,320,321,304,323,324,325,326,327,328,329,330,331,324,333,334,335,336,337,338,302,340,341,342,343,344,345,346,347,348,349,343,351,352,353,354,341,356,357,358,359,360,361,362,363,357,365,366,367,368,369,370,371,101,373,374,375,376,377,378,379,111,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,92,403,92,405,406,8,408,409,4,411,412,5,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,421,431,432,433,434,435,436,437,438,439,440,441,432,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,454,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,5,479,480,481,482,483,484,485,486,487,488,486,490,491,492,493,484,495,496,497,498,499,500,501,502,503,504,498,506,507,508,509,510,507,512,513,482,515,516,517,518,519,520,521,522,518,524,525,526,527,516,529,530,531,532,533,534,530,536,537,538,539,540,541,542,542,537,545,546,547,548,480,550,551,552,553,554,555,556,557,558,559,557,561,562,563,564,565,565,567,555,569,570,571,572,570,574,575,576,577,576,579,580,581,575,583,584,585,586,587,553,589,590,591,592,593,594,595,596,597,597,592,600,601,590,603,604,605,606,607,608,609,610,611,608,613,614,606,616,617,618,619,620,621,622,617,624,625,626,627,628,627,630,607,632,633,634,635,636,632,638,639,640,641,642,643,619,645,646,647,646,617,650,651,652,653,654,655,656,657,658,659,660,655,662,663,664,665,665,653,668,669,670,671,672,673,674,675,676,5,678,679,680,681,682,683,684,685,686,687,688,689,690,685,692,693,694,693,696,697,698,683,700,701,702,703,704,703,706,707,701,709,710,711,712,713,710,715,716,717,715,681,720,721,722,723,724,725,726,727,728,729,730,731,732,733,731,735,736,736,738,735,735,729,742,743,744,745,744,744,744,749,750,743,752,752,754,755,752,757,755,755,727,761,762,763,764,765,765,765,765,764,770,770,772,773,773,773,762,777,778,779,779,781,782,778,784,785,784,787,788,784,784,725,792,793,794,795,796,797,798,797,800,801,802,800,795,805,806,807,806,809,810,809,798,798,814,800,800,817,818,795,820,821,822,823,824,823,826,826,828,829,796,831,832,796,834,835,832,686,686,839,840,694,842,694,698,696,696,704,704,849,850,707,852,852,711,855,856,856,717,715,681,861,862,863,864,865,866,867,867,869,870,867,872,873,866,875,876,877,875,876,864,881,882,883,884,885,883,887,888,888,882,891,892,893,891,891,862,897,898,899,900,901,902,903,901,900,906,906,908,909,909,898,912,913,914,914,914,913,918,919,918,918,922,923,679,925,926,927,928,929,930,931,932,933,930,935,935,937,938,931,940,941,941,943,940,945,946,935,948,949,948,951,951,953,954,928,956,957,958,959,960,961,962,963,964,965,966,967,968,965,970,970,963,973,974,975,974,977,961,979,980,981,982,983,984,985,982,987,988,989,987,991,992,980,994,995,996,995,998,999,1000,998,959,1003,1004,1005,1006,1007,1008,1009,1008,1011,1006,1013,1014,1015,1016,1017,1016,1019,1020,1021,1022,1023,1024,1025,1025,1024,1028,1029,1030,1030,1030,1033,1034,687,1036,1037,1038,688,688,1041,1042,688,694,1045,1046,694,1046,696,696,698,704,704,1054,1055,706,706,706,706,706,1061,1062,711,711,711,715,1067,1067,1067,1070,715,730,1073,1074,730,742,763,763,1079,1080,777,777,1083,1084,725,1086,1087,1088,1089,1090,1091,1092,1090,1089,1095,1095,1087,1098,1099,1100,1100,1099,1103,1104,1104,1106,723,1108,1109,1110,1111,1112,1113,1114,1115,1116,1114,1118,1113,1120,1121,1122,1120,1111,1125,1126,1127,1127,839,692,702,1132,702,709,865,1136,1137,881,881,899,1141,1142,912,943,1145,945,1147,1148,946,1150,945,949,1153,1154,949,1156,1157,951,1159,1160,951,928,1163,1164,1165,1166,1167,1168,1169,1168,1167,1166,1173,1173,1175,1176,1164,1178,1179,1180,1180,1182,1183,1183,1179,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1198,1200,1201,1197,1203,1203,1205,1206,1203,1195,1209,1210,1211,1211,1211,1210,1215,1216,1217,1217,1215,1220,1215,1193,1223,1224,1225,1226,1227,1227,1229,1230,1226,1232,1233,1234,1232,1236,1237,1232,1224,1240,1241,1242,1242,1244,1245,1245,1241,1248,1248,1248,1191,1252,1253,1254,1255,1256,1257,1258,1258,1257,1261,1262,1261,1264,1265,1264,1255,1268,1269,1270,1270,1272,1273,1270,1268,1276,1277,1268,1279,686,702,709,1283,1284,865,899,912,679,1289,1290,1291,1292,1293,1294,1295,1295,1294,1298,1299,1292,1301,1302,1303,1302,1305,1305,1307,1308,1290,1310,1311,1312,1313,1314,1314,1316,1317,1313,1319,1319,1321,1311,1323,1324,1325,1326,1327,1325,1324,1330,1330,1332,1333,680,1289,1289,1337,684,700,700,1341,1342,863,1344,1345,897,897,1293,1301,1312,1351,1323,1323,1354,1355,680,680,680,1359,1289,1361,1362,680,1359,1289,1362,682,1368,1369,682,682,861,929,929,1375,1375,1377,960,960,1380,1381,960,1383,1384,959,1386,1387,1388,1389,1390,1390,1392,1393,1393,684,1396,1397,700,700,863,897,1402,1403,1293,1301,1406,1407,1312,1312,682,1291,1412,1310,1310,680,1397,684,1418,1419,1342,863,1422,863,863,1293,1426,1427,1293,1293,1430,1301,1432,1433,1406,1351,1312,1311,1438,1439,1440,1441,1442,1443,1444,1445,1446,1446,1445,1449,1443,1451,1452,1453,1452,1455,1455,1441,1458,1459,1460,1461,1462,1463,1461,1465,1465,1459,1468,1469,1470,1469,1472,1472,684,1397,700,700,1478,1479,1422,1481,897,1483,929,1163,1163,1487,1488,1377,929,1491,1492,929,958,958,958,4,1498,1499,1500,1292,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1036,1513,1038,1042,690,690,842,1519,1046,1046,696,698,696,1525,1526,696,1055,1055,850,1062,1062,1062,852,1062,855,711,856,715,717,715,717,717,732,738,735,750,750,750,744,745,1552,752,755,757,1556,755,755,727,1560,1561,1562,1563,1564,1565,1566,1567,1568,1566,1570,1571,1565,1573,1574,1573,1576,1577,1573,1563,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1588,1589,1587,1593,1593,1595,1596,1593,1585,1599,1600,1601,1601,1601,1600,1605,1605,1607,1608,1608,1583,1611,1612,1613,1614,1615,1615,1613,1618,1619,1397,1397,700,1479,863,1403,1293,1427,1301,1433,1351,1631,1355,1323,1354,861,861,1412,1412,1639,1310,1641,1642,1310,1644,1645,1132,1647,702,709,1650,865,881,899,1654,1655,1141,1487,941,1659,1660,1659,1662,1663,1664,1664,945,1667,1668,1668,1667,1671,1672,1673,1671,930,1676,1677,1678,1679,1680,1680,1679,1683,1684,1685,1683,1680,1688,1689,1690,1691,1692,1693,1693,1695,1696,1693,1692,1699,1700,1701,1699,1690,1704,1705,1706,1706,1705,1709,1710,1709,1709,1688,1714,1715,1716,1717,1718,1716,1716,1717,1716,1045,1525,852,867,877,875,883,891,901,1732,906,918,1660,1736,1737,1737,1736,1740,1740,1742,1743,1662,1745,1746,1746,1745,1749,1668,1751,1752,1752,1754,1755,1751,1757,1758,1759,1671,1761,1762,1762,1761,1765,1765,1767,1768,949,1770,1771,1772,1773,1773,1772,1776,1776,1778,1779,1770,1781,1782,1783,1782,1785,1785,951,1788,1789,1790,1791,1792,1793,1791,1790,1796,1796,1798,1788,1800,1801,1802,1801,1804,1805,1806,1804,1167,1809,1810,1811,1812,1813,1812,1815,1811,1817,1809,1819,1820,1821,1822,1822,1824,1820,1826,1826,1166,1829,1830,1831,1832,1833,1833,1833,1836,1832,1838,1839,1840,1841,1842,1843,1844,1844,1846,1843,1848,1849,1850,1851,1852,1853,1854,1852],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,8,7,8,9,10,11,12,13,14,9,10,11,15,16,17,14,7,8,18,19,9,20,11,21,14,9,20,11,16,22,23,24,25,26,27,28,29,14,7,8,7,8,9,10,11,12,30,14,9,10,11,12,31,16,12,32,14,7,8,9,20,11,33,34,14,9,20,11,12,35,36,23,37,25,26,27,28,29,38,5,6,7,8,7,8,7,8,7,14,7,14,9,20,11,16,39,14,7,14,7,8,9,20,11,40,14,7,8,7,14,7,8,18,41,14,7,8,7,14,9,10,11,42,14,7,8,7,8,7,8,7,8,9,10,11,43,14,7,8,7,8,9,10,11,16,34,14,7,8,7,8,7,8,9,20,11,21,14,7,14,9,10,11,12,12,44,14,7,14,7,14,9,20,11,16,45,8,9,10,11,46,18,47,8,7,14,9,20,11,12,16,48,12,36,20,11,22,49,14,7,14,9,20,11,12,16,34,38,5,6,7,8,7,8,7,8,7,8,7,14,9,10,11,16,12,48,14,7,14,9,20,11,50,14,7,8,7,14,9,20,11,51,14,7,8,9,10,11,16,32,14,7,8,7,8,7,8,9,10,11,15,14,7,8,52,14,7,8,7,8,9,10,11,16,16,34,14,7,8,9,53,14,9,10,11,16,54,14,7,8,7,8,7,8,7,14,9,20,11,12,55,14,7,14,9,10,11,12,56,14,7,8,7,14,9,10,11,12,57,14,7,8,9,10,11,58,14,7,8,7,8,7,8,9,10,11,59,14,7,8,9,60,14,7,8,7,8,9,20,11,61,14,7,8,9,10,11,12,62,8,7,8,9,20,11,16,32,38,5,6,7,38,5,6,7,8,7,8,7,14,7,14,7,14,9,10,11,12,63,64,65,66,67,68,23,69,70,66,67,68,71,72,73,5,71,72,74,72,74,72,74,72,75,72,75,76,77,75,72,74,72,75,72,75,78,79,26,27,80,75,72,75,72,73,5,71,72,74,72,74,72,74,72,75,72,74,76,41,75,72,73,5,71,72,74,72,74,72,74,72,75,72,74,76,41,81,82,83,82,83,82,83,82,83,84,85,86,84,87,11,88,86,82,86,82,83,84,87,11,12,12,89,86,84,90,11,12,48,87,11,91,86,82,83,82,83,84,87,11,92,86,84,87,11,93,86,82,83,84,87,11,94,86,82,83,84,87,11,12,95,96,86,84,90,11,13,97,5,81,82,83,82,83,82,83,98,99,86,84,87,11,16,100,16,57,86,82,83,84,101,86,82,83,98,102,84,87,11,15,86,84,87,11,12,103,86,82,83,82,83,84,87,11,12,35,32,86,98,104,97,5,81,82,83,84,87,11,12,105,90,11,106,86,82,83,84,90,11,16,107,86,84,87,11,16,40,12,108,82,83,84,87,11,109,86,84,87,11,12,12,34,87,11,16,89,89,97,5,81,82,83,82,83,84,87,11,16,32,86,84,87,11,89,35,97,5,81,82,83,84,87,11,16,110,111,112,113,112,113,112,113,112,113,112,114,115,116,117,114,112,113,118,114,115,116,119,114,112,113,112,113,120,114,121,122,114,112,113,121,116,123,114,115,116,124,125,126,5,111,112,113,112,113,112,113,112,113,112,113,115,127,114,115,128,116,129,120,130,114,112,113,115,131,120,130,121,116,132,114,130,115,116,133,121,134,135,136,114,112,113,112,113,137,138,139,130,114,137,121,116,140,141,142,114,112,113,120,115,116,119,114,115,143,121,116,144,145,120,126,5,111,112,113,112,113,130,114,121,116,119,120,114,112,113,120,114,115,122,130,120,115,127,146,115,116,147,126,5,111,112,113,120,114,145,121,116,148,115,116,149,121,116,150,140,130,121,116,151,121,128,130,152,120,130,130,115,116,123,116,153,154,115,116,155,156,157,120,114,112,113,112,113,112,113,137,115,116,158,121,116,159,114,115,116,154,130,160,114,112,113,121,116,161,115,116,162,155,114,115,116,140,120,146,114,112,113,112,113,115,116,161,130,114,120,121,116,163,158,114,112,113,137,164,120,114,121,165,120,115,116,166,126,5,111,112,113,112,113,121,116,147,114,130,115,116,140,112,113,120,115,122,114,115,167,112,113,130,114,120,121,116,152,126,5,111,112,113,112,113,112,113,112,113,115,116,161,114,130,120,114,112,113,120,114,125,114,112,113,112,113,115,116,152,114,121,116,147,115,116,140,114,112,113,168,114,121,116,142,120,114,112,113,112,113,112,113,130,114,130,126,5,111,112,113,125,126,5,111,112,113,112,113,120,130,126,5,111,120,130,115,116,151,113,115,116,117,130,121,116,119,120,115,116,169,120,119,137,168,155,125,121,116,149,125,130,170,120,115,116,171,120,130,125,121,128,172,116,161,137,121,116,173,130,168,130,121,116,149,130,121,116,174,114,112,113,112,113,121,116,169,120,114,130,120,114,112,113,130,120,114,121,128,116,140,114,112,113,112,113,112,113,121,116,175,115,176,114,115,116,156,130,114,112,113,177,130,122,120,115,160,178,120,115,116,133,130,120,121,116,159,137,116,162,121,116,149,116,155,130,115,116,140,121,116,161,115,116,150,130,114,112,113,112,113,115,116,179,128,130,114,120,121,116,169,114,112,113,120,115,116,149,152,126,5,111,112,113,112,113,112,113,112,113,112,113,125,115,116,161,114,130,115,116,163,120,114,112,113,120,125,130,114,121,116,180,154,115,181,137,114,112,113,112,113,130,121,116,119,114,115,116,119,121,116,119,120,114,112,113,120,115,116,182,147,114,130,137,183,114,112,113,112,113,112,113,130,120,114,121,128,115,116,132,127,126,5,111,130,115,116,119,120,66,67,68,64,65,120,168,115,116,123,125,120,120,114,112,113,112,113,112,113,130,168,114,115,184,114,112,113,130,114,130,121,116,149,114,112,113,112,113,130,115,116,185,114,120,121,122,114,112,113,115,116,158,130,114,120,115,116,140,130,120,121,186,120,125,115,116,169,121,116,149,130,120,139,120,115,143,120,121,116,151,120,137,121,122,115,116,180,125,127,130,154,115,116,119,120,130,120,187,115,188,116,140,130,115,116,151,121,116,173,126,5,111,112,113,125,121,116,179,155,115,116,140,168,146,130,121,116,158,189,115,116,185,130,125,137,115,143,120,130,139,123,121,116,190,163,115,122,125,120,115,116,140,130,121,122,121,116,152,191,172,138,126,5,111,112,113,112,113,112,113,130,120,114,120,114,112,113,130,114,130,120,114,112,113,112,113,121,186,114,189,130,114,112,113,130,114,120,130,130,161,192,121,116,158,116,161,115,122,130,130,121,116,179,193,121,116,194,120,130,192,120,195,196,197,198,126,5,111,112,114,112,113,112,126,64,65,121,128,150,140,155,154,116,155,199,200,138,201,121,116,140,202,179,203,155,158,150,119,158,155,165,192,158,168,204,130,158,163,130,179,205,206,171,154,170,116,163,120,123,116,161,207,152,126,5,111,112,113,112,113,121,116,149,115,116,208,114,121,128,115,116,156,130,126,5,111,112,113,112,113,112,113,115,186,120,128,114,187,121,116,157,120,114,112,113,130,125,120,114,130,115,116,140,161,126,5,111,115,116,185,151,121,116,158,157,135,120,209,138,119,120,163,164,179,116,119,149,130,143,137,130,128,116,155,121,116,199,115,116,156,116,159,146,121,172,130,137,115,116,132,122,143,112,113,168,114,115,116,190,174,112,113,120,130,114,115,116,174,130,126,5,111,112,113,139,168,114,121,116,159,187,112,113,112,113,112,113,120,121,116,190,130,114,115,116,150,120,114,112,113,130,137,114,121,128,120,125,126,5,111,121,116,151,145,120,184,130,191,186,200,120,142,120,130,130,121,143,130,130,112,113,130,120,114,164,121,116,154,112,113,130,120,114,130,112,113,130,121,116,199,114,115,116,152,112,113,125,130,114,125,115,116,155,112,113,112,113,125,130,114,120,121,116,154,114,112,113,130,114,130,125,112,113,112,113,115,116,142,137,114,146,115,181,114,112,113,120,114,115,116,148,130,112,113,112,113,115,176,121,176,114,120,114,112,113,115,172,116,174,114,120,130,126,5,111,112,113,130,120,121,184,126,5,111,112,113,112,113,205,121,176,126,5,111,112,113,115,116,150,130],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1e9c","0x1edef0","0x1eeb02","0x1edfe6","0x1f37e8","0x1ee686","0x1eeae6","0x1ee01a","0x1f257e","0x177e44","0x1f1c7f","0x1ee73f","0x1ee47c","0x1f2c90","0x1f3184","0x26c8f","0x354cb3","0xa5861","0xa4bca","0x1a0aca","0x1edf76","0x1ee313","0x1edfb0","0x1ee723","0x1edfb4","0x1edfd9","0x1edfce","0x1f31ec","0x1f3684","0x1ee477","0x1edfb7","0x177d91","0x1ee680","0x1ee84c","0x1ee812","0x1ee4a4","0x1ee97d","0x177db9","0x1ee030","0x1ee22b","0x1ee453","0x1ee178","0x1f25f2","0x1f1e65","0x1ee890","0x1ee807","0x1eea58","0x1edfd5","0x1ee1d9","0x1ee81a","0x1f1b80","0x1ee536","0x1ee224","0x1ee796","0x26141","0x108c9b","0x2618c","0x26706","0x11e88d","0x1f313e","0x1a07d1","0x1ecae9","0x1eb8f0","0x1ec510","0x1ec495","0x1ec600","0x1eb11d","0x177e4d","0x1eb53a","0x592ef","0xa4ad6","0x15a5ad","0x59e38","0x34e36","0x59951","0x177e31","0x34fd2","0x1edbd7","0x1ee5e6","0x1ee015","0x1edb10","0x1ee635","0x1ee81e","0x1ee0da","0x1ee639","0x1eebf8","0x1ee027","0x34ed4","0x59940","0x177d83","0x1ee008","0x1eda1b","0x177dbc","0x1ee47f","0x177e3f","0x1ee836","0x1ee859","0x1ee010","0x1edf67","0x1eeaa5","0x1eea26","0x247051","0x246666","0x246a05","0x246b93","0x24637c","libm.so.6","0x37f02","0x70aba","0x2463b3","0x7652b","0x246396","0x246363","0x37f25","0x709c0","0x76470","0x2463af","0x246a77","0x37f1d","0x37f03","0x76518","0x2463ab","0x37f4a","0x764eb","0x764bb","0x37f37","0x76530","0x764d8","0x2463bb","0x246386","0x246330","0x7651d","0x764fd","0xe380","0x37ef8","0x76502","0x2463a7","0x24633e","0x7647e","0x76526","0x764ac","0x7649f","0x76514","0x764c0","0x7651f","0x764e4","0x7662f","0x76532","0x70ac0","0x70ab8","0x76488","0x37f27","0x764f4","0x70ab0","0x764d5","0x24636d","0x37f48","0x764cc","0x37ef4","0x246338","0x76637","0x2463bf","0x764f7","0x37f2f","0x76506","0x764b3","0x76497","0x37f13","0x246392","0x2463b7","0x709ce","0x7648e","0x37f31","0x76491","0x24637a","0x37f21","0x7654a","0x37f0b","0x2463c2","0x37f44","0x246347","0x764db","0x37ef0","0x24639f","0x709c7","0x709e4","0x26346","0x267e2","0x347bf1","0x28712","0x7650f","0x76482","0x76570","0x24638a","0x76622","0x70aa0","0x246364","0x70a10","0x76538","0x765ba","0x764e7"],"tid":"700698","unregisterTime":116622126.552591},{"frameTable":{"length":213,"address":[1206333,1206351,608962,4045208,3811556,1174187,4045226,3445825,3446491,156499,2047333,2042824,2045333,2041225,2038911,2023152,2025366,2026214,2023328,2045928,2038797,2039452,2023445,2023467,2025256,2038829,2025327,2023456,2026242,2023413,2025840,2023472,2039411,2041214,1539633,2023355,2023440,1539503,2024664,2025849,2026481,2024991,2041111,2023540,2045572,1539516,2025125,2023667,2024600,2025720,2025553,2025474,2026038,2025512,2024592,2025263,2026011,2023385,2023348,2023351,2025573,2023344,2024752,2039791,2025299,2038656,155969,1084571,155333,3439261,2028248,2026480,2027129,2027207,156044,157446,1173645,2018025,2013424,2016405,2016768,2012209,2011421,1539473,2011802,2012011,1539652,2016528,1539456,2011541,1418669,368184,216630,366912,217042,366929,2022359,2023463,2022160,2023387,2025404,2023432,2024572,216788,2025622,2023496,2021909,2023341,1539661,2023427,2026064,2025248,2024567,1539513,2025479,2026027,2023448,2025645,2027356,2024610,2024304,2388049,2385510,2386437,2386835,2384790,2384739,229192,2384764,229171,229122,461262,2384811,484614,461496,484911,2384827,229157,484596,484494,2384711,484531,229153,229169,229159,484524,2386551,2384815,484637,484482,484919,2384786,484656,461488,461248,484628,484651,2384696,229149,484544,2384834,484565,484497,229123,484571,484580,484488,229104,58240,2384762,484664,461498,2384778,484605,484587,484623,2384724,229167,229131,229175,484548,461472,484511,484468,229112,229118,2384831,2384774,484478,484898,229108,156064,2384749,484794,484658,484906,461270,229194,461332,484685,484682,229139,484583,484515,484568,461284,2384737,2384823,2384688,484539,484503,2384807,461255],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":213,"name":[1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,2,1,2,2,2,1,2,2,2,1,2,2,2,2,2,1,1,2,2,2,1,2,2,2,2,2,1,2,2,1,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,2,2,2,2,2,2,2,2,2,1,1,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,1,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700699>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.296732,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,4,129],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":723,"stack":[0,0,0,0,0,5,24,26,29,32,35,42,43,48,52,62,64,67,71,80,81,84,90,101,103,109,113,120,122,127,128,132,147,155,164,171,183,190,196,205,212,225,232,241,249,255,267,275,285,294,311,322,334,343,351,362,371,390,392,392,392,392,392,394,406,418,425,434,440,450,457,472,479,493,506,512,516,525,528,533,542,546,551,559,562,565,570,584,585,591,596,600,605,612,614,627,632,634,641,649,650,655,659,661,663,669,671,681,691,694,703,709,392,712,712,712,712,712,716,726,731,733,742,746,750,752,760,761,765,769,770,772,773,780,781,785,786,790,793,795,726,726,798,799,801,802,803,805,806,807,808,811,752,752,819,820,821,823,826,830,833,834,835,836,830,837,840,843,846,848,851,855,857,860,860,862,865,866,870,875,876,878,881,884,884,886,889,889,891,894,899,903,904,907,909,911,914,915,917,918,921,923,923,931,933,934,938,941,943,946,947,948,949,950,949,953,956,957,958,961,970,971,973,978,979,989,990,994,996,1001,1002,1004,1006,1007,1011,1012,1013,1014,1015,1018,1019,1022,1023,1026,843,1027,1028,1030,1032,1033,1033,1036,1033,1033,1039,1042,1043,1043,846,1044,1045,848,1046,848,1049,848,1050,1064,1065,1069,1075,1078,1079,1081,1083,1089,1089,1091,1094,1100,1103,1107,1108,1117,1119,1121,1124,1130,1131,1133,1136,1146,1149,1151,1154,1160,1161,1165,1166,1172,1172,947,947,1173,1174,1175,1176,1179,1182,1183,1184,1184,1185,1186,1187,1188,1190,1191,1192,1193,1194,1197,1198,1184,1199,1200,1201,1202,1203,1204,1205,947,1185,1206,1208,1210,1211,1212,1213,1214,1176,1175,1216,1217,1218,1220,1221,1222,1223,1224,1198,1227,1228,1231,1234,1235,1238,1239,1239,1240,1240,1243,1244,1245,1246,1246,1248,1250,1253,1254,1257,1258,1260,1261,1262,1263,1030,846,1043,1264,1266,1266,1268,1269,1270,1271,1272,1273,1275,1276,1276,1277,1278,1279,1280,1280,1283,1284,1284,889,889,1287,1288,1291,1292,1292,1293,1294,1297,1299,1299,1304,1307,1311,1312,1315,1319,1320,1323,1329,1331,1332,1336,1337,1343,1344,1346,1348,1351,1352,1358,1359,1360,1361,1362,1367,1368,1371,1374,1375,1377,1381,1382,1385,1386,799,1389,806,746,1390,752,1391,1393,1394,1401,1402,1401,1405,1408,1410,1411,1412,1411,1412,1411,1415,1420,1421,1421,1421,1421,1422,1421,1422,1424,1425,1426,1429,1430,1425,1426,1437,1438,1440,1443,1444,1438,1445,1444,1447,1448,1449,1449,1447,1448,1450,1460,1462,1464,1467,1468,1470,1473,1483,1484,1485,1486,1043,1487,1488,1488,1491,1492,1494,1495,1497,1500,857,1271,860,1501,1504,1506,1508,1509,1512,1515,1516,1519,1520,1278,1521,1521,1522,1523,1280,1525,1530,1532,1534,1539,1540,1543,1544,1549,1552,1554,1559,1560,1564,1565,1258,1258,1568,1569,1579,1580,1582,1593,1594,1594,1596,1599,1596,1607,1608,1609,1615,1616,1620,1622,1623,1623,1623,1626,1627,1628,1638,1639,1643,1644,1645,1261,1261,1646,1647,1650,1651,1652,1653,1654,1657,1658,802,1660,1661,1662,1665,1666,1173,949,1174,1667,1175,1176,1216,1672,1674,1675,1681,1682,1684,1684,1689,1691,1693,1697,1700,1704,1705,1710,1711,1713,1717,1720,1722,1723,1730,1734,1735,1739,1742,1744,1744,1745,1747,1747,1748,1749,1750,1752,1749,1754,1757,1758,1748,1748,1759,1760,1763,1748,1766,1769,1770,1771,1773,1774,1775,1776,1777,1778,1014,1779,1780,843,843,1030,1781,1782,1030,1043,1783,1784,846,1785,848,1786,1785,1488,1266,1266,1266,1787,851,1789,1790,1791,1270,1793,1794,1271,1271,857,1795,1798,1798,1799,1800,1800,1802,862,1812,1815,1816,1820,1823,1823,1826,1830,1833,1838,1839,1853,1856,1858,1861,1864,1870,1871,1872,1874,1877,1878],"time":[116621305.36331,116621305.366859,116621305.368797,116621305.370595,116621305.372517,116621305.424987,116621306.715757,116621307.440593,116621308.202874,116621309.024418,116621309.895557,116621310.790531,116621311.69208,116621312.608101,116621313.583575,116621314.566669,116621315.552276,116621316.541339,116621317.555876,116621318.630117,116621319.732098,116621320.816125,116621321.898335,116621322.941669,116621323.971313,116621324.992382,116621326.032125,116621327.039603,116621328.041652,116621329.049177,116621330.061457,116621331.118433,116621332.137763,116621333.136871,116621334.129047,116621335.110676,116621336.094994,116621337.08252,116621338.073061,116621339.267927,116621340.28142,116621341.205249,116621342.13722,116621343.086404,116621344.214839,116621345.15032,116621346.071988,116621347.013457,116621347.973737,116621348.934701,116621349.903665,116621350.880467,116621351.943874,116621352.959822,116621353.960412,116621354.9998,116621355.99872,116621356.988489,116621362.584593,116621362.591081,116621362.594791,116621362.598362,116621362.60182,116621362.617269,116621364.334051,116621366.436369,116621367.869427,116621369.249022,116621370.474295,116621371.650058,116621372.789238,116621373.89252,116621374.956653,116621375.976907,116621377.485968,116621378.539004,116621379.64178,116621380.776052,116621381.884609,116621382.959126,116621384.022652,116621385.092427,116621386.147306,116621387.187673,116621388.216643,116621389.2373,116621390.528797,116621391.540194,116621392.502234,116621393.495346,116621394.533749,116621395.534612,116621396.52648,116621397.519933,116621398.514008,116621399.509394,116621400.50629,116621401.503983,116621402.472949,116621403.434601,116621404.404262,116621405.382455,116621406.366463,116621407.354993,116621408.341532,116621409.299257,116621410.263629,116621411.235601,116621412.250012,116621413.231091,116621414.212975,116621416.870167,116621417.059138,116621417.369804,116621417.374978,116621417.37765,116621417.380264,116621417.382947,116621417.404434,116621427.471782,116621431.696683,116621434.839587,116621437.961072,116621439.941057,116621441.687648,116621444.829962,116621446.140642,116621447.409751,116621448.612337,116621453.328978,116621454.311233,116621456.94428,116621457.932438,116621458.84046,116621459.786651,116621460.898495,116621461.820795,116621464.079371,116621464.960096,116621465.838691,116621466.778655,116621467.743788,116621468.71976,116621469.709578,116621470.696878,116621471.686036,116621472.677855,116621473.672058,116621474.635087,116621475.595649,116621476.566022,116621477.563425,116621478.564794,116621479.77235,116621480.794892,116621482.376411,116621483.544588,116621484.628745,116621485.727737,116621486.811228,116621487.846054,116621488.848484,116621489.845362,116621490.8421,116621491.839702,116621492.837933,116621493.836722,116621501.321212,116621503.555279,116621505.72288,116621507.803823,116621509.908593,116621511.904289,116621513.667768,116621515.084694,116621516.296964,116621517.41244,116621518.472532,116621519.513027,116621520.512261,116621521.491559,116621522.473667,116621523.460164,116621524.450535,116621525.443326,116621526.438426,116621527.434693,116621528.432107,116621529.430381,116621530.401129,116621531.361402,116621532.350514,116621533.367982,116621534.383874,116621535.39556,116621536.404108,116621537.410221,116621538.392494,116621539.39726,116621540.404707,116621541.411044,116621542.415869,116621543.418915,116621544.42118,116621545.422988,116621546.424567,116621547.425584,116621548.425927,116621549.426201,116621550.426222,116621551.426145,116621552.426087,116621553.425916,116621554.4258,116621555.42574,116621556.425486,116621557.402183,116621558.363057,116621559.354344,116621560.370214,116621561.385454,116621562.396647,116621563.377069,116621564.344475,116621565.318302,116621566.298779,116621567.284716,116621568.274686,116621569.267337,116621572.911853,116621573.804812,116621574.69926,116621575.601955,116621576.74038,116621577.746091,116621578.685448,116621579.64124,116621580.64597,116621581.703413,116621582.791375,116621584.078679,116621585.182386,116621586.238468,116621587.308749,116621588.328145,116621589.312936,116621590.441621,116621591.485563,116621592.503354,116621593.525028,116621594.563734,116621595.511385,116621596.45693,116621597.41513,116621598.384195,116621599.339054,116621600.308785,116621601.269987,116621602.23942,116621603.216794,116621604.218651,116621605.20452,116621606.174862,116621607.125834,116621608.064129,116621609.01611,116621609.991941,116621610.962434,116621611.93772,116621612.973521,116621613.989101,116621614.998661,116621616.02005,116621617.033621,116621618.032048,116621619.029571,116621620.02784,116621621.061492,116621622.029165,116621622.992215,116621623.959703,116621624.9353,116621625.917499,116621626.904415,116621627.895006,116621628.888249,116621629.908118,116621630.936882,116621631.960006,116621633.004877,116621634.016859,116621635.018944,116621636.034947,116621637.074889,116621638.078525,116621639.080591,116621640.066783,116621641.05414,116621642.044939,116621643.038192,116621644.170484,116621649.228713,116621650.089669,116621650.949795,116621651.813364,116621652.711892,116621653.665732,116621654.639636,116621655.597531,116621656.597913,116621657.779409,116621659.152353,116621660.424899,116621661.624678,116621662.771458,116621663.879082,116621664.957799,116621666.01543,116621667.052504,116621668.078816,116621669.097894,116621670.11173,116621671.121482,116621672.084389,116621673.009688,116621673.944499,116621674.88931,116621675.847535,116621676.81722,116621677.795014,116621678.779022,116621679.767566,116621680.759672,116621681.753607,116621682.749193,116621683.740515,116621684.696376,116621685.622267,116621686.555599,116621687.504128,116621688.498775,116621689.51229,116621690.52261,116621691.529775,116621692.534935,116621693.539425,116621694.585597,116621695.628271,116621696.66066,116621697.684471,116621698.701771,116621699.714441,116621700.72335,116621701.703117,116621702.665978,116621703.635092,116621704.612094,116621705.562725,116621706.512611,116621707.473904,116621708.445401,116621709.447899,116621710.43147,116621711.442367,116621712.470213,116621713.493686,116621714.47175,116621715.446254,116621716.42612,116621717.41265,116621718.402283,116621719.394174,116621720.38826,116621724.054441,116621725.045375,116621726.029119,116621726.994428,116621727.961614,116621728.96705,116621730.016697,116621731.07266,116621732.113379,116621733.184738,116621734.242843,116621735.286089,116621736.31739,116621737.34017,116621738.356623,116621739.383463,116621740.43607,116621741.479345,116621742.511798,116621743.535757,116621744.552514,116621745.564595,116621746.573457,116621747.580064,116621748.585237,116621749.588624,116621750.590967,116621751.592774,116621752.59393,116621754.058277,116621755.003026,116621755.909481,116621756.832725,116621757.775484,116621758.706923,116621759.636446,116621760.598671,116621761.557823,116621762.524967,116621763.501115,116621764.483669,116621765.471284,116621766.461975,116621767.455194,116621768.450408,116621769.446825,116621770.444166,116621771.442087,116621772.447783,116621773.446994,116621774.445243,116621775.443335,116621776.414958,116621777.375118,116621778.34306,116621779.321843,116621780.304526,116621781.2921,116621782.283001,116621783.277495,116621784.27202,116621785.267727,116621786.264604,116621787.262571,116621788.260884,116621789.259726,116621790.258877,116621791.258814,116621792.259106,116621793.258651,116621794.258819,116621803.975595,116621807.105377,116621810.04882,116621812.528565,116621814.660399,116621816.527172,116621818.117428,116621819.435353,116621820.65878,116621821.775229,116621822.85049,116621823.903957,116621824.942622,116621825.970853,116621826.991596,116621828.00704,116621829.017224,116621830.024202,116621831.029257,116621832.032744,116621833.048015,116621834.092245,116621835.129189,116621836.156598,116621837.176384,116621838.174468,116621839.143754,116621840.11711,116621841.097996,116621842.084079,116621843.073454,116621844.065871,116621845.060046,116621846.055578,116621847.052611,116621848.037334,116621849.017964,116621850.01005,116621850.997751,116621851.99206,116621852.962944,116621853.950206,116621854.969077,116621855.990081,116621857.006578,116621858.017223,116621859.02491,116621860.072551,116621861.143358,116621862.175187,116621863.190736,116621864.179106,116621865.191292,116621866.184718,116621867.152545,116621868.125083,116621869.104167,116621870.089097,116621872.502451,116621875.965573,116621880.90651,116621883.93255,116621886.209467,116621887.785264,116621889.306257,116621890.987227,116621892.640621,116621894.080652,116621895.363195,116621896.567891,116621897.71819,116621898.828038,116621899.908447,116621900.967127,116621902.010527,116621903.039001,116621904.058677,116621905.056194,116621906.023952,116621906.995778,116621907.971733,116621908.953631,116621909.940445,116621910.930855,116621911.890299,116621912.84382,116621913.806708,116621914.779779,116621915.760065,116621916.747629,116621917.737924,116621918.72986,116621919.724214,116621920.720044,116621921.716614,116621922.714147,116621923.712159,116621924.710943,116621925.710113,116621926.709526,116621927.708998,116621928.708797,116621929.708961,116621930.710811,116621931.753771,116621932.794901,116621933.826289,116621934.849191,116621935.866238,116621936.878641,116621937.887325,116621938.87741,116621939.840211,116621940.806011,116621941.780443,116621942.761831,116621943.725024,116621944.713741,116621945.712628,116621946.69003,116621947.651726,116621948.618453,116621949.593786,116621950.575418,116621951.562702,116621952.553321,116621953.546534,116621954.541496,116621955.537693,116621956.53473,116621957.532449,116621958.562582,116621959.601726,116621960.632914,116621961.656164,116621962.672816,116621963.684984,116621964.693832,116621968.4729,116621969.409203,116621970.352448,116621971.271122,116621972.205567,116621973.1735,116621974.186351,116621975.189631,116621976.190816,116621977.191228,116621978.192436,116621979.232618,116621980.268497,116621981.295803,116621982.315489,116621983.329729,116621984.354577,116621985.449465,116621986.566668,116621987.675268,116621988.75748,116621989.818323,116621990.862817,116621991.933186,116621992.95669,116621993.976742,116621995.029859,116621996.072311,116621997.064391,116621998.053076,116621999.036516,116622000.023235,116622001.013074,116622001.966844,116622002.917591,116622003.878696,116622004.849847,116622005.828838,116622006.814104,116622007.803229,116622008.795249,116622009.84154,116622010.867344,116622011.852521,116622012.833177,116622013.817827,116622014.806278,116622015.798083,116622016.799274,116622017.794923,116622018.78986,116622019.786139,116622020.783293,116622021.78105,116622022.779595,116622023.745002,116622024.744223,116622025.750105,116622026.714512,116622027.71019,116622028.683374,116622029.656351,116622030.65708,116622031.684719,116622032.709364,116622033.726938,116622034.698158,116622035.667561,116622036.643895,116622037.626563,116622038.614553,116622039.605768,116622040.599079,116622041.567043,116622042.524462,116622043.490748,116622047.895788,116622048.771386,116622049.713033,116622050.675996,116622051.650228,116622052.647702,116622053.703185,116622054.785386,116622055.916938,116622057.06587,116622058.208423,116622059.342375,116622060.44372,116622061.518042,116622062.572365,116622063.612017,116622064.640842,116622065.661928,116622066.677404,116622067.688676,116622068.696564,116622069.702013,116622070.68028,116622071.639712,116622072.60585,116622073.580671,116622074.562188,116622075.549017,116622076.539723,116622077.532674,116622078.54637,116622079.588047,116622080.583196,116622081.566932,116622082.553016,116622083.542598,116622084.534934,116622085.529803,116622086.525987,116622087.523293,116622088.521343,116622089.520017,116622090.503146,116622091.504344,116622092.473213,116622093.435422,116622094.405581,116622095.383719,116622096.394082,116622097.391779,116622098.403564,116622099.431983,116622100.455068,116622101.472571,116622102.485386,116622103.494963,116622104.502064,116622105.507051,116622106.510939,116622107.51365,116622108.515687,116622109.475845,116622110.437625,116622111.408491,116622112.38732],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,3,1,1,1,52,832,724,762,821,871,894,895,916,975,983,985,989,1014,1074,1101,1084,1082,1043,1029,1021,1039,1007,1002,1000,1012,1056,1019,999,979,981,984,987,990,987,938,923,931,949,961,935,921,941,951,960,968,976,1006,1015,1000,1039,998,989,1629,6,3,3,3,15,578,1413,1433,1379,1225,1175,1139,1103,1064,1020,1034,1053,1102,1134,1108,1074,1063,1069,1054,1040,1028,1020,1015,1011,962,993,999,1000,991,993,994,995,996,997,968,961,969,978,984,988,986,957,964,971,978,981,981,990,34,21,5,2,2,2,21,7396,4224,2926,2286,1979,1680,1430,1310,1269,1202,1121,982,984,988,908,919,937,922,888,880,878,939,965,975,982,987,989,991,994,963,960,970,978,1001,1021,1022,1100,1168,1084,1098,1083,1034,1002,996,996,997,998,998,4024,2234,2167,2080,2104,1995,1763,1416,1212,1115,1060,1040,999,979,982,986,990,992,995,996,997,998,970,960,980,1017,1015,1011,1008,1006,982,1004,1007,1006,1004,1003,1002,1001,1001,1001,1000,1000,1000,999,999,999,999,999,999,976,960,991,1015,1015,1011,980,967,973,980,985,989,992,1501,892,894,902,940,961,925,955,1004,1057,1087,1127,1073,1035,1070,1019,979,992,1017,970,989,973,947,945,958,969,954,969,961,969,977,1001,985,970,950,938,951,964,970,975,1035,1015,1009,1006,1013,998,997,998,1033,967,963,967,975,982,986,990,993,1019,1028,1023,1044,1007,1002,1016,1039,1003,1002,986,987,990,993,1120,1249,860,860,863,898,953,973,957,1000,1181,1372,1272,1199,1146,1107,1078,1057,1037,1026,1019,1013,1009,962,925,934,944,958,969,977,984,988,992,993,995,991,955,925,933,948,994,1013,1010,1007,1005,1004,1046,1042,1032,1023,1017,1012,1008,979,962,969,977,950,949,961,971,1002,983,1010,1027,1023,978,974,979,986,989,991,994,975,990,983,965,967,1005,1049,1055,1040,1071,1058,1043,1031,1022,1016,1026,1052,1043,1032,1023,1016,1012,1008,1006,1005,1003,1002,1001,1001,999,944,906,923,942,931,929,962,959,967,976,982,987,990,993,995,996,997,997,998,999,998,998,971,960,967,978,982,987,990,994,994,995,996,997,998,998,999,999,1000,999,1000,4560,3129,2943,2479,2131,1866,1590,1317,1223,1116,1075,1053,1038,1028,1020,1015,1010,1006,1005,1003,1015,1044,1036,1027,1019,998,969,973,980,986,989,992,994,995,997,984,980,992,987,994,970,978,1018,1021,1016,1010,1007,1047,1042,1031,1015,988,1012,993,967,972,979,984,832,161,2869,3026,2276,1575,1520,1680,1653,1440,1282,1204,1150,1109,1080,1058,1043,1028,1019,997,967,971,975,981,986,990,959,953,962,973,980,987,990,991,994,995,996,997,998,998,999,999,999,999,1000,1001,1042,1041,1031,1022,1017,1012,1008,990,962,965,974,981,963,988,998,960,961,966,975,981,987,990,993,994,996,997,997,1030,1039,1031,1023,1016,1012,1008,804,936,943,918,934,967,1000,1003,1001,1000,1001,1040,1035,1027,1019,1014,1024,1094,1117,1108,1082,1060,1044,1031,1023,1020,1053,1042,992,980,983,986,989,953,950,961,971,978,985,989,992,993,995,985,980,984,988,991,993,995,994,996,997,997,998,965,999,1005,964,963,973,972,1000,1027,1024,1017,971,969,976,982,987,991,993,967,957,966,898,875,941,962,974,997,1055,1082,1131,1148,1142,1133,1101,1074,1054,1039,1028,1021,1015,1011,1007,1005,978,959,966,974,981,986,990,992,1013,1041,995,983,986,989,992,994,996,997,998,998,983,1001,968,962,970,978,1010,997,1011,1028,1023,1017,1012,1009,1007,1004,1003,1002,1002,960,961,970,978]},"stackTable":{"length":1879,"prefix":[null,null,1,2,3,4,2,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,23,25,19,27,28,28,30,31,28,33,34,17,36,37,38,39,40,41,39,37,44,45,46,47,45,49,50,51,15,53,54,55,56,57,58,59,60,61,60,63,56,65,66,66,68,69,70,54,72,73,74,75,76,77,78,79,75,73,82,83,82,85,86,87,88,89,13,91,92,93,94,95,96,97,98,99,100,97,102,96,104,105,106,107,108,105,110,111,112,94,114,115,116,117,118,119,119,121,115,123,124,125,126,123,124,129,130,131,92,133,134,135,136,137,138,139,140,141,142,143,144,145,146,142,148,149,150,151,152,153,154,140,156,157,158,159,160,161,162,163,157,165,166,167,168,169,170,138,172,173,174,175,176,177,178,179,180,181,182,175,184,185,186,187,188,189,185,191,192,193,194,195,173,197,198,199,200,201,202,203,204,198,206,207,208,209,210,211,136,213,214,215,216,217,218,219,220,221,222,223,224,218,226,227,228,229,230,231,216,233,234,235,236,237,238,239,240,234,242,243,244,245,246,247,248,243,250,251,252,253,254,214,256,257,258,259,260,261,262,263,264,265,266,259,268,269,270,271,272,273,274,257,276,277,278,279,280,281,282,283,284,277,286,287,288,289,290,291,292,293,11,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,302,312,313,314,315,316,317,318,319,320,321,300,323,324,325,326,327,328,329,330,331,332,333,324,335,336,337,338,339,340,341,342,336,344,345,346,347,348,349,350,298,352,353,354,355,356,357,358,359,360,361,355,363,364,365,366,367,368,369,370,353,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,8,391,8,393,9,395,396,397,398,399,400,401,402,403,404,405,9,407,408,409,410,411,412,413,414,415,416,417,412,419,420,421,422,423,424,410,426,427,428,429,430,431,432,433,427,435,436,437,438,439,408,441,442,443,444,445,446,447,448,449,444,451,452,453,454,455,456,442,458,459,460,461,462,463,464,465,466,467,468,469,470,471,465,473,474,475,476,477,478,465,480,481,482,483,484,485,486,487,488,489,490,491,492,9,494,495,496,497,498,499,500,501,502,503,504,505,503,507,508,509,510,511,508,513,514,515,501,517,518,519,520,521,522,523,524,518,526,527,526,529,530,531,532,499,534,535,536,537,538,539,540,541,539,543,544,545,537,547,548,549,550,535,552,553,554,555,556,557,558,555,560,561,553,563,564,563,566,567,568,569,497,571,572,573,574,575,576,577,578,579,580,581,582,583,582,578,586,587,588,589,590,576,592,593,594,595,595,597,598,599,593,601,602,603,604,602,606,607,608,609,610,611,606,613,574,615,616,617,618,619,620,621,622,623,624,625,626,620,628,629,630,631,631,633,618,635,636,637,638,639,640,636,642,643,644,645,646,647,648,647,643,651,652,653,654,617,656,657,658,617,660,658,662,619,664,665,666,667,668,666,670,618,672,673,674,675,676,677,678,679,680,675,682,683,684,685,686,687,688,689,690,687,692,693,685,695,696,697,698,699,700,701,702,402,704,705,706,707,708,8,710,711,395,713,714,715,9,717,718,719,720,721,722,723,724,725,722,727,728,729,730,728,732,718,734,735,736,737,738,739,740,741,739,743,744,745,737,747,748,749,748,751,735,753,754,755,756,757,758,759,759,756,762,763,764,754,766,767,768,768,767,771,771,720,774,775,776,777,778,779,778,777,782,783,784,784,775,787,788,789,789,791,792,788,794,724,796,797,796,729,800,729,732,741,804,740,744,743,749,809,810,735,812,813,814,815,816,817,818,818,818,817,822,822,824,825,815,827,828,829,829,831,832,832,829,829,832,829,838,839,782,841,842,789,844,845,844,847,794,849,850,725,852,853,854,852,856,796,858,859,858,861,729,863,864,864,863,867,868,869,732,871,872,873,874,872,871,877,877,879,880,740,882,883,882,885,743,887,888,887,890,890,892,893,749,895,896,897,898,895,900,901,902,900,751,905,906,906,908,905,910,757,912,913,913,912,916,916,762,919,920,919,922,754,924,925,926,927,928,929,930,929,932,932,927,935,936,937,937,939,940,936,942,776,944,945,776,945,787,787,723,951,952,723,954,955,955,727,727,959,960,718,962,963,964,965,966,967,968,969,968,967,972,965,974,975,976,977,976,975,980,981,982,983,984,985,986,987,988,988,985,991,992,993,991,995,778,997,998,999,1000,1000,998,1003,1003,1005,1000,997,1008,1009,1010,1010,1010,1010,1008,1008,1016,1017,842,842,1020,1021,1021,842,1024,1025,1025,1025,841,1029,1029,1031,1029,1029,1034,1035,845,1037,1038,845,1040,1041,845,1041,1041,847,847,1047,1048,1047,788,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1063,1062,1066,1067,1068,1060,1070,1071,1072,1073,1074,1072,1076,1077,1074,1071,1080,1080,1082,1058,1084,1085,1086,1087,1088,1087,1090,1090,1092,1093,1085,1095,1096,1097,1098,1099,1097,1101,1102,1096,1104,1105,1106,1104,1056,1109,1110,1111,1112,1113,1114,1115,1116,1116,1118,1114,1120,1120,1122,1123,1112,1125,1126,1127,1128,1129,1127,1126,1132,1132,1134,1135,1110,1137,1138,1139,1140,1141,1142,1143,1144,1145,1145,1147,1148,1144,1150,1150,1152,1153,1142,1155,1156,1157,1158,1159,1159,1156,1162,1163,1164,1162,1140,1167,1168,1169,1170,1171,787,723,727,727,738,1177,1178,747,1180,1181,755,766,776,787,954,954,727,1189,960,738,747,747,755,1195,1196,755,774,774,721,721,736,753,753,776,787,1207,1207,1209,1209,951,951,723,1189,1215,738,1177,747,1219,1181,747,1196,1196,766,1225,1226,1226,766,1229,1230,719,1232,1233,719,734,1236,1237,734,717,717,1241,1242,1241,719,719,774,1247,1247,1249,721,1251,1252,964,964,1255,1256,968,969,1259,778,778,842,1048,849,1265,850,1267,853,853,856,859,859,861,1274,864,869,867,872,877,883,1281,1282,885,890,1285,1286,896,896,1289,1290,900,814,816,816,1295,1296,815,1298,818,1300,1301,1302,1303,1303,1305,1306,1302,1308,1309,1310,1310,1310,1313,1314,1309,1316,1317,1318,1318,1316,1321,1322,1300,1324,1325,1326,1327,1328,1328,1330,1328,1327,1333,1334,1335,1334,1325,1338,1339,1340,1341,1342,1340,1340,1345,1339,1347,1347,1349,1350,1347,817,1353,1354,1355,1356,1357,1355,1357,1357,1355,1355,1363,1364,1365,1366,1364,1364,1369,1370,1364,1372,1373,1373,1373,1376,1372,1378,1379,1380,1380,1363,1383,1384,794,732,1387,1388,810,757,762,1392,762,930,1395,1396,1397,1398,1399,1400,1400,1400,1403,1404,1400,1406,1407,1399,1409,1409,1409,1409,1413,1414,1397,1416,1417,1418,1419,1418,1418,1417,1423,1423,1423,1423,1427,1428,1428,1395,1431,1432,1433,1434,1435,1436,1435,1436,1439,1435,1441,1442,1435,1442,1434,1446,1446,1446,1446,1432,1451,1452,1453,1454,1455,1456,1457,1458,1459,1459,1461,1461,1463,1458,1465,1466,1465,1466,1469,1454,1471,1472,829,1474,1475,1476,1477,1478,1479,1480,1481,1482,1021,1031,1038,1048,1265,850,1489,1490,1490,854,1493,1493,853,1496,856,1498,1499,859,859,1502,1503,861,1505,1274,1507,1507,864,1510,1511,864,1513,1514,1514,867,1517,1518,1518,872,874,880,877,1524,968,1526,1527,1528,1529,1527,1531,1526,1533,972,1535,1536,1537,1538,1537,1535,1541,1542,1541,976,1545,1546,1547,1548,1545,1550,1551,1550,1553,975,1555,1556,1557,1558,1557,1556,1561,1562,1563,1561,972,1566,1567,1566,965,1570,1571,1572,1573,1574,1575,1576,1577,1578,1576,1575,1581,1573,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1591,1590,1595,1595,1597,1598,1588,1600,1601,1602,1603,1604,1605,1606,1604,1604,1603,1610,1611,1612,1613,1614,1614,1613,1617,1618,1619,1617,1621,1527,1533,1624,1625,1625,1625,967,1629,1630,1631,1632,1633,1634,1635,1636,1637,1637,1636,1640,1641,1642,1640,1640,784,782,789,1648,1649,1648,794,794,725,725,1655,1656,796,800,1659,732,1388,776,1663,1664,945,951,1527,1668,1669,1670,1671,1670,1673,1673,1668,1676,1677,1678,1679,1680,1678,1677,1683,1533,1685,1686,1687,1688,1688,1690,1687,1692,1685,1694,1695,1696,1696,1698,1699,1695,1701,1702,1703,1701,1536,1706,1707,1708,1709,1709,1708,1712,1706,1714,1715,1716,1716,1718,1719,1715,1721,1721,1541,1724,1725,1726,1727,1728,1729,1726,1731,1732,1733,1731,1724,1736,1737,1738,1738,1740,1741,1737,1743,1574,1573,1746,1574,1574,1746,1574,1751,1751,1753,1746,1755,1756,1746,1751,1756,1746,1761,1762,1574,1764,1765,1587,1767,1768,1768,1587,1586,1772,1772,1772,998,998,1010,1008,1020,1031,1031,1037,1038,847,1048,850,1267,1788,850,853,1496,1792,1496,1499,859,1796,1797,1503,861,1505,1801,722,1803,1804,1805,1806,1807,1808,1809,1810,1811,1808,1813,1814,1813,1806,1817,1818,1819,1809,1821,1822,1822,1824,1825,1821,1827,1828,1829,1827,1831,1832,1813,1834,1835,1836,1837,1835,1834,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1850,1854,1855,1849,1857,1857,1859,1860,1857,1862,1863,1847,1865,1866,1867,1868,1869,1867,1867,1866,1873,1873,1875,1876,1873],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,12,11,12,11,12,11,12,11,12,13,14,15,16,17,18,19,13,20,21,15,22,14,15,23,19,11,12,13,14,15,24,25,19,13,14,15,26,21,15,17,23,19,11,12,11,12,13,14,15,17,27,28,29,19,13,25,14,15,28,30,19,11,12,13,21,15,17,28,31,32,19,33,34,13,14,15,17,28,35,19,11,12,11,12,11,12,13,21,15,36,33,37,19,13,14,15,17,31,21,15,28,38,19,11,12,13,14,15,39,28,40,19,13,14,15,41,42,21,15,28,43,44,9,10,11,12,11,12,11,12,11,12,11,19,33,45,19,11,19,13,14,15,28,46,19,11,12,11,12,13,21,15,47,19,11,12,13,14,15,48,19,11,12,11,12,11,12,13,14,15,28,49,19,11,12,13,21,15,50,19,13,21,15,17,51,19,11,12,11,19,13,21,15,52,19,11,19,13,14,15,53,19,11,12,11,12,11,12,11,12,13,21,15,54,19,11,12,13,14,15,55,19,11,12,11,12,13,14,15,56,19,11,12,13,14,15,17,57,19,13,21,15,28,58,19,11,12,11,12,11,19,13,21,15,17,31,19,11,19,13,14,15,28,51,19,11,12,11,19,13,14,15,17,59,19,11,19,13,21,15,17,17,57,44,9,10,11,12,11,12,11,12,11,12,11,12,13,21,15,60,19,11,12,11,12,13,14,15,17,17,61,19,11,12,11,12,11,12,13,14,15,17,31,19,11,12,11,12,13,14,15,61,19,11,19,13,14,15,17,62,19,11,12,11,12,11,19,11,19,13,63,19,11,19,11,19,13,14,15,64,19,11,12,11,44,9,10,11,12,11,19,11,19,11,12,11,19,13,65,66,67,68,69,70,71,72,71,73,9,70,71,73,74,75,76,77,78,79,78,79,78,79,78,80,78,80,81,80,78,80,78,80,82,83,80,78,79,78,80,78,80,82,83,80,78,80,78,80,84,80,78,79,78,79,78,80,78,79,85,80,78,79,78,80,82,86,87,9,77,78,79,78,80,78,80,78,79,78,80,82,45,79,78,80,78,79,82,88,87,9,77,78,79,78,80,78,79,78,80,78,79,89,90,91,92,91,92,91,92,91,92,91,92,93,34,94,95,96,15,28,97,98,15,28,99,94,91,92,95,96,15,28,28,61,94,93,34,95,96,15,28,59,94,91,92,91,92,95,98,15,100,96,15,17,36,94,95,98,15,27,94,91,92,95,96,15,17,101,98,15,54,94,93,86,95,96,15,28,102,103,9,90,91,92,91,92,91,92,95,96,15,17,57,104,94,95,96,15,28,105,94,91,92,95,106,96,15,28,107,94,91,92,93,108,94,95,96,15,28,17,58,93,108,103,9,90,91,92,91,92,95,96,15,28,17,61,94,95,96,15,109,28,110,94,91,92,95,96,15,111,94,91,92,95,96,15,17,27,112,94,95,96,15,23,95,96,15,61,93,113,28,114,95,96,15,17,17,61,28,115,103,9,90,91,92,95,98,15,28,116,103,9,90,91,92,95,96,15,28,24,98,15,117,103,9,90,91,92,95,96,15,52,72,71,118,17,28,119,74,75,76,28,17,17,120,121,122,123,122,124,122,123,122,123,125,124,122,123,126,127,124,125,124,122,123,122,123,122,123,128,129,124,126,130,131,124,122,123,125,124,132,124,122,123,122,123,126,130,133,134,124,128,130,135,124,122,123,136,132,124,125,132,123,122,123,122,123,128,137,125,124,128,130,138,139,124,122,123,140,126,130,141,124,125,124,128,142,125,128,143,132,132,130,141,132,144,132,128,130,145,146,9,121,122,123,122,123,136,147,132,124,125,126,130,148,146,9,121,132,128,130,149,150,151,125,148,126,130,152,122,123,132,122,123,125,124,132,122,124,125,122,123,126,137,124,132,122,123,125,124,125,122,123,147,132,124,126,130,153,122,123,128,130,154,125,124,147,126,130,155,122,123,125,124,132,122,123,132,124,147,128,130,154,122,123,126,130,156,124,128,130,145,125,122,123,157,126,158,124,125,122,123,136,147,124,132,125,122,123,136,124,132,146,9,121,122,123,122,123,125,124,125,132,124,122,123,132,126,130,159,124,160,128,130,138,125,161,125,136,128,130,162,126,130,139,135,132,126,130,138,146,9,121,122,123,122,123,128,143,147,124,125,124,122,123,128,163,132,146,9,121,122,123,122,123,126,130,131,148,124,128,130,156,126,163,122,123,126,130,164,165,128,143,130,155,159,124,126,130,161,165,166,148,125,128,130,161,147,128,130,133,155,126,130,135,155,159,124,132,128,167,125,126,130,166,128,130,168,126,130,166,132,168,161,169,128,130,150,143,146,9,121,122,123,122,123,122,123,122,123,122,123,125,147,124,126,130,170,124,122,123,126,130,155,128,130,171,166,124,147,126,163,124,122,123,122,123,132,124,172,126,130,171,124,122,123,128,130,165,126,130,173,124,126,130,138,132,124,122,123,122,123,122,123,128,137,130,138,124,125,128,130,174,124,122,123,128,130,166,132,124,132,126,130,155,146,9,121,122,123,122,123,122,123,125,128,130,155,124,132,128,130,155,124,122,123,126,130,175,133,124,128,130,150,125,146,9,121,122,123,125,132,125,147,125,126,130,149,128,130,145,157,132,132,176,177,178,128,143,166,125,147,136,128,130,138,125,132,125,125,132,132,132,125,157,126,179,130,153,148,163,129,132,130,139,132,137,126,163,148,132,180,145,128,130,134,181,126,130,182,126,130,154,132,126,130,171,132,132,126,130,156,163,151,125,128,144,130,156,126,130,145,147,128,130,148,132,130,183,132,147,136,141,123,132,126,184,125,132,125,157,132,126,185,125,148,125,132,125,128,130,141,125,126,130,141,125,128,130,141,132,125,186,126,130,150,124,125,122,123,122,123,132,128,130,138,124,122,123,132,187,128,130,165,124,128,130,145,138,126,130,150,124,122,123,122,123,125,128,137,147,124,126,130,175,163,124,122,123,126,130,150,125,128,185,124,147,126,130,156,136,146,9,121,128,130,188,125,133,138,132,122,123,126,130,180,172,128,130,189,122,123,132,147,128,190,124,126,130,166,148,146,191,67,132,126,130,154,161,125,126,185,125,122,123,122,123,122,123,125,192,126,130,153,128,130,165,124,157,132,125,126,130,166,124,122,123,126,179,132,125,124,136,132,125,126,130,135,155,124,122,123,122,123,128,137,132,130,154,126,130,155,125,174,124,147,132,125,136,146,9,121,122,123,122,123,122,123,132,128,163,130,155,124,128,184,132,130,154,146,66,67,122,123,122,124,122,123,122,124,126,143,159,158,193,194,125,128,130,195,138,130,134,135,128,163,128,130,196,136,126,130,166,128,197,130,175,150,126,130,198,128,130,148,199,128,130,200,182,136,148,154,128,163,122,123,128,130,141,126,137,124,132,122,123,126,130,165,201,124,126,163,140,122,123,128,130,202,124,126,177,128,137,124,122,123,128,144,132,124,128,130,141,125,128,130,148,158,146,9,121,122,123,122,123,128,130,155,157,124,132,146,9,121,122,123,122,123,122,123,128,163,132,124,125,126,130,203,146,9,121,122,123,128,130,138,125,132,146,9,121,122,123,132,125,124,126,130,152,128,163,132,128,130,204,131,205,146,9,121,122,123,122,123,122,123,206,125,124,126,130,195,125,132,164,132,128,130,145,184,136,207,136,128,130,138,136,130,195,208,171,126,130,171,162,137,122,123,122,123,125,124,132,147,124,122,123,126,130,150,125,124,132,122,123,122,123,125,126,158,124,132,124,122,123,132,128,130,159,124,128,130,209,136,122,123,122,123,132,136,124,132,124,122,123,132,126,130,133,124,147,125,122,123,122,123,128,130,148,124,128,130,210,125,124,122,123,125,128,130,161,124,132,147,124,125,125,132,136,128,163,130,166,128,130,145,211,137,154,126,130,212,126,130,149,128,130,134,200,132,124,147,132,125,147,125,154,157,190,184,177,137,159,125,138,157,130,135,132,136,130,148,144,141,128,130,148,148,132,130,164,146,9,121,122,123,122,123,128,130,135,124,126,143,132,146,9,121,132,122,123,125,128,130,131,124,126,130,155,128,130,165,122,123,126,130,134,125,146,9,121,122,123,122,123,122,123,122,123,126,130,134,128,130,138,124,132,128,130,212,126,130,165,124,122,123,128,130,155,125,132,124,125,128,130,155,132],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12683d","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db998","0x3a28e4","0x11eaab","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f2589","0x1f1c7f","0x1edef0","0x1ee796","0x1eeae6","0x1edfa0","0x1f37e8","0x1f1c0d","0x1f1e9c","0x1ee015","0x1ee02b","0x1ee728","0x1f1c2d","0x1ee76f","0x1ee020","0x1eeb02","0x1edff5","0x1ee970","0x1ee030","0x1f1e73","0x1f257e","0x177e31","0x1edfbb","0x1ee010","0x177daf","0x1ee4d8","0x1ee979","0x1eebf1","0x1ee61f","0x1f2517","0x1ee074","0x1f3684","0x177dbc","0x1ee6a5","0x1ee0f3","0x1ee498","0x1ee8f8","0x1ee851","0x1ee802","0x1eea36","0x1ee828","0x1ee490","0x1ee72f","0x1eea1b","0x1edfd9","0x1edfb4","0x1edfb7","0x1ee865","0x1edfb0","0x1ee530","0x1f1fef","0x1ee753","0x1f1b80","0x26141","0x108c9b","0x25ec5","0x347a9d","0x1ef2d8","0x1eebf0","0x1eee79","0x1eeec7","0x2618c","0x26706","0x11e88d","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb431","0x1eb11d","0x177d91","0x1eb29a","0x1eb36b","0x177e44","0x1ec510","0x177d80","0x1eb195","0x15a5ad","0x59e38","0x34e36","0x59940","0x34fd2","0x59951","0x1edbd7","0x1ee027","0x1edb10","0x1edfdb","0x1ee7bc","0x1ee008","0x1ee47c","0x34ed4","0x1ee896","0x1ee048","0x1eda15","0x1edfad","0x177e4d","0x1ee003","0x1eea50","0x1ee720","0x1ee477","0x177db9","0x1ee807","0x1eea2b","0x1ee018","0x1ee8ad","0x1eef5c","0x1ee4a2","0x1ee370","0x247051","0x246666","0x246a05","0x246b93","0x246396","0x246363","libm.so.6","0x37f48","0x24637c","0x37f33","0x37f02","0x709ce","0x2463ab","0x76506","0x70ab8","0x7662f","0x2463bb","0x37f25","0x764f4","0x7648e","0x246347","0x764b3","0x37f21","0x37f31","0x37f27","0x764ac","0x246a77","0x2463af","0x7651d","0x76482","0x76637","0x246392","0x76530","0x70ab0","0x709c0","0x76514","0x7652b","0x246338","0x37f1d","0x764c0","0x2463c2","0x764d5","0x76491","0x37f03","0x764db","0x764e4","0x76488","0x37ef0","0xe380","0x24637a","0x76538","0x70aba","0x24638a","0x764fd","0x764eb","0x7650f","0x246354","0x37f2f","0x37f0b","0x37f37","0x764c4","0x70aa0","0x7649f","0x76474","0x37ef8","0x37efe","0x2463bf","0x246386","0x7647e","0x76622","0x37ef4","0x261a0","0x24636d","0x765ba","0x76532","0x7662a","0x709d6","0x37f4a","0x70a14","0x7654d","0x7654a","0x37f13","0x764e7","0x764a3","0x764d8","0x709e4","0x246361","0x2463b7","0x246330","0x764bb","0x76497","0x2463a7","0x709c7"],"tid":"700699","unregisterTime":116622126.552591},{"frameTable":{"length":197,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041225,2038911,2023152,2024726,2041214,1539516,2026242,2026214,2023348,2039452,2023496,1539633,2023385,2038642,2023924,2023344,2023387,2023470,2024527,2039730,676946,666129,2023467,2024610,1539652,2025581,2025498,1539647,2023460,2038635,2023450,2025120,2026015,2039484,2025061,2045572,2026488,2023445,2038675,2023286,155969,1084571,2043024,2044292,158863,3493043,677985,674697,674012,669105,1174187,156044,157446,1173645,2028248,2025283,2018025,2013424,2016405,2016768,2011421,1539480,2016528,1539499,1539473,1418669,368184,216630,366929,2022359,217042,2023891,2023351,2022160,2025526,2023440,2025482,366912,2026149,2026197,2025299,2025675,2025094,1539493,2024539,2024479,128050,216788,2023355,2025345,2022089,368286,1539050,674762,1706698,2388049,2385510,2386551,2386437,2384739,229122,484651,2386835,2384790,2384827,2384758,2384764,484544,2384815,2384811,2384715,58240,484614,484580,2384819,2384696,484548,484888,484478,484637,229157,229139,461248,484565,484632,2384786,461496,229167,484596,2384799,484488,2384807,229123,2384834,461488,461262,484658,229131,484682,229118,484482,484623,484583,229112,484587,2384724,484646,484524,229169,2384711,484568,461476,484628,484911,229149,229153,484599,461284,484610,484497,484714,484503,484919,484664,484539,484531,2384823,229159,2384702,461255,484468,484494,2384831,461328,461504,484794,484511,484672,229208,484473,229194,2384778,484571,2384774,2384688,461498,484726],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":197,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,2,2,1,1,1,1,1,2,1,1,1,2,2,2,1,1,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700700>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.373896,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,112],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":737,"stack":[20,29,38,47,54,60,66,70,81,90,102,112,120,125,129,136,138,144,146,147,151,158,163,165,170,173,174,179,184,191,197,198,203,206,224,234,243,268,270,270,270,270,270,279,282,282,282,282,282,284,297,304,315,330,353,368,374,383,389,392,401,407,409,417,423,424,426,437,438,443,450,452,458,460,462,463,470,486,488,491,496,500,513,519,520,525,532,537,547,551,553,559,563,567,568,570,578,580,581,585,587,590,598,602,603,607,608,610,615,616,619,623,624,627,631,632,634,635,637,641,643,644,647,648,651,654,657,659,660,661,664,665,669,670,669,673,674,677,678,681,686,687,688,692,693,698,699,700,704,705,708,717,719,722,730,732,733,734,735,736,736,737,631,632,634,738,740,752,754,756,757,757,761,764,766,767,770,778,779,780,784,785,786,790,792,796,799,800,814,816,816,817,821,821,821,825,826,826,832,832,835,836,838,839,840,845,846,847,849,850,849,860,861,863,869,870,872,880,881,883,891,892,894,897,903,904,907,908,909,910,616,736,631,913,914,915,916,917,651,660,659,918,919,920,674,922,678,923,924,926,927,928,929,705,934,935,939,943,944,946,949,952,953,955,960,961,963,963,973,975,978,983,985,986,991,992,996,997,998,1002,1003,1005,1008,1009,1012,1013,1015,1015,1019,1021,1022,1026,1027,1030,1031,1032,1035,1036,1037,1043,1046,1047,1048,1049,616,736,1050,1051,1052,1053,631,632,1056,1059,1056,1060,635,634,1061,1062,637,1065,752,1066,1067,1067,1068,767,1080,1082,1083,1087,1089,1090,1094,1095,1098,1102,1105,1106,1107,1115,1116,1119,1121,1122,1123,1127,1129,1132,1134,1137,1140,1148,1151,1152,1154,1157,1154,1162,1164,1167,1181,1182,1186,1187,1191,1193,1196,1202,1203,1211,1212,1214,1215,1217,1218,1220,551,1221,1222,1223,1224,1227,1228,1229,1230,1231,1233,1235,580,1236,587,1237,1238,1239,1240,1243,1244,1247,610,1248,1249,1249,1250,1253,1254,1255,1255,1258,1259,992,998,1260,1003,1262,1263,1270,1273,1275,1278,1279,1285,1288,1298,1298,1300,1304,1305,1306,1312,1313,1314,1316,1319,1321,1327,1328,1330,1342,1342,1343,1347,1348,1348,1349,1350,632,635,644,915,648,1351,1352,659,1353,1354,1355,1356,1357,678,1369,1370,1372,1378,1379,1381,1388,1389,1391,1393,1399,1401,1404,1412,1414,1414,1418,1420,1423,1429,1431,1434,1438,1441,1442,1443,631,632,634,1444,1445,1446,1447,1351,661,1450,1451,1354,1463,1464,1465,1469,1470,1480,1481,1483,1486,1489,1493,1496,1497,1498,1503,1505,1506,282,1509,1510,1512,1513,1516,1255,1519,1520,1259,1523,1524,1525,1528,1529,1530,1530,1533,1534,1535,1536,1537,1538,1539,1541,1542,1543,1543,1546,1548,1222,1550,1223,1553,1556,1557,1558,1559,1561,1229,567,1563,1565,1566,1567,1568,735,1569,1570,1571,1572,1573,635,738,1574,1577,644,648,648,651,651,651,659,660,1579,665,1580,1354,1583,1586,1587,1588,1589,1590,1591,1597,1598,1599,1602,1603,1605,1215,1215,1606,1607,1610,1611,551,1612,1614,1222,1221,1615,1223,1616,1617,1618,1619,1558,1622,1624,1230,1627,570,1628,1629,578,1632,1634,1635,1637,1638,1641,1642,1644,1646,587,1647,1650,1651,1652,1655,1656,1657,1660,608,1661,1662,1663,1666,1667,1668,1669,1670,1671,1672,1673,1676,1679,1680,1681,1682,1688,1690,1692,1692,1692,1695,1696,1699,1702,1704,1704,1711,1712,1712,1713,1249,1249,1250,1513,1720,1721,1723,1729,1731,1731,1736,1740,1744,1747,1749,1757,1757,1759,1760,1764,1766,1767,1773,1775,1775,1781,1783,1786,1789,1790,1794,1797,1797,1799,1803,1804,1806,1811,1814,1818,1819,1822,1824,1825,1830,1844,1845,1847,1848,1852,1853,1855,1858,1866,1867,1869,1872,1878,1881,1882,1885,1886,1888,1889],"time":[116621308.498026,116621310.555753,116621312.32249,116621313.920439,116621315.415605,116621316.691685,116621317.936298,116621319.264867,116621320.481106,116621321.637333,116621322.999768,116621324.044951,116621325.55985,116621326.535841,116621327.411531,116621328.324061,116621329.573573,116621330.541596,116621331.457508,116621332.386905,116621340.168568,116621341.000914,116621341.833812,116621342.703429,116621344.12444,116621345.032678,116621345.975179,116621346.929954,116621347.894934,116621348.865793,116621349.843255,116621350.839536,116621351.855952,116621352.880266,116621353.901438,116621354.917072,116621355.928039,116621356.935901,116621358.078945,116621358.083591,116621358.086716,116621358.08978,116621358.093101,116621358.113071,116621361.078628,116621361.084388,116621361.087051,116621361.089676,116621361.092385,116621361.112069,116621368.090549,116621370.50174,116621372.596883,116621374.443471,116621376.043364,116621378.021471,116621379.434367,116621380.785538,116621382.082922,116621383.247248,116621384.387013,116621386.332768,116621387.311933,116621388.240674,116621389.254134,116621390.209453,116621391.161096,116621392.122168,116621393.128889,116621394.142773,116621396.53466,116621397.382668,116621398.248934,116621399.148468,116621400.075512,116621401.023055,116621401.976257,116621402.907291,116621403.848312,116621404.811627,116621405.780216,116621406.755533,116621407.737981,116621408.767669,116621409.716828,116621410.668475,116621415.254574,116621418.247659,116621421.391395,116621422.83519,116621424.259084,116621425.494829,116621426.702217,116621428.096307,116621429.435553,116621430.739326,116621431.970059,116621433.141001,116621434.251605,116621435.394611,116621436.444359,116621437.472872,116621438.492655,116621439.506899,116621440.483137,116621441.474728,116621442.45561,116621443.428013,116621444.405811,116621445.389517,116621446.379099,116621447.37066,116621448.363808,116621449.347096,116621450.301733,116621451.388755,116621452.360761,116621453.311719,116621454.271738,116621455.258657,116621456.237475,116621457.218903,116621458.248243,116621459.231901,116621460.214649,116621461.198218,116621462.14848,116621463.106872,116621464.07533,116621465.060618,116621466.054115,116621467.0809,116621468.104132,116621469.127634,116621470.140273,116621471.148365,116621472.154088,116621473.158487,116621474.147984,116621475.112447,116621476.084005,116621477.063507,116621478.049,116621479.074962,116621480.100117,116621481.14501,116621482.156045,116621483.160776,116621484.163534,116621485.186154,116621486.229432,116621487.262808,116621488.246257,116621489.227665,116621490.212784,116621491.201636,116621492.193503,116621498.558448,116621499.336176,116621500.110668,116621500.936698,116621501.79245,116621502.685581,116621503.608452,116621504.669275,116621505.770092,116621506.859324,116621508.069774,116621509.287869,116621510.543746,116621511.765454,116621512.932041,116621514.033087,116621515.049665,116621516.020627,116621516.982033,116621517.916028,116621518.857998,116621519.814441,116621520.742954,116621521.680181,116621522.633215,116621523.599114,116621524.574386,116621525.556768,116621526.54415,116621527.605266,116621528.598868,116621529.578452,116621530.528178,116621531.477168,116621532.45427,116621533.465896,116621534.479096,116621535.488923,116621536.496597,116621537.502,116621538.483666,116621539.487716,116621540.803227,116621541.809801,116621542.75038,116621543.697606,116621544.657752,116621545.668313,116621546.642783,116621547.618902,116621548.61454,116621549.59994,116621550.587339,116621551.635614,116621552.621863,116621553.604447,116621554.590662,116621555.580162,116621556.572626,116621557.559041,116621558.548182,116621559.541064,116621560.543449,116621561.546367,116621562.548439,116621563.516439,116621564.479065,116621565.449818,116621566.428391,116621567.413029,116621568.401711,116621569.393557,116621572.597309,116621573.548048,116621574.642652,116621575.629684,116621576.62584,116621577.626264,116621578.627681,116621579.645545,116621580.851995,116621581.959167,116621583.051126,116621584.138634,116621585.205742,116621586.25537,116621587.29125,116621588.317197,116621589.335563,116621590.349022,116621591.358871,116621592.373224,116621593.423939,116621594.454801,116621595.510222,116621596.487591,116621597.497639,116621598.477692,116621599.45479,116621600.436987,116621601.649454,116621602.683568,116621603.674604,116621604.612198,116621605.558471,116621606.480562,116621607.388654,116621608.300815,116621609.235003,116621610.186492,116621611.151395,116621612.12588,116621613.111369,116621614.138727,116621615.164433,116621616.183898,116621617.198599,116621618.208892,116621619.216643,116621620.221997,116621621.298155,116621622.25236,116621623.205594,116621624.167881,116621625.139782,116621626.119771,116621627.106385,116621628.095532,116621629.087389,116621630.121833,116621631.154245,116621632.17865,116621633.196389,116621634.209357,116621635.218946,116621636.250411,116621637.253316,116621638.276041,116621639.282001,116621640.27427,116621641.267345,116621642.26189,116621643.257148,116621644.273686,116621645.221245,116621649.457414,116621650.258168,116621651.06209,116621651.902878,116621652.776372,116621653.707899,116621654.665263,116621655.610492,116621656.602886,116621657.777316,116621659.142216,116621660.410992,116621661.608098,116621662.75263,116621663.859239,116621664.937254,116621665.993961,116621667.12287,116621668.139358,116621669.140461,116621670.139912,116621671.139275,116621672.09426,116621673.014114,116621673.945392,116621674.88701,116621675.843102,116621676.8112,116621677.794762,116621678.778253,116621679.765195,116621680.755499,116621681.74814,116621682.742662,116621683.733437,116621684.688684,116621685.61444,116621686.547188,116621687.495294,116621688.489396,116621689.502616,116621690.5406,116621691.544627,116621692.543787,116621693.543429,116621694.585938,116621695.625874,116621696.656781,116621697.678817,116621698.695028,116621699.706718,116621700.715284,116621701.695126,116621702.657859,116621703.626697,116621704.603453,116621705.554241,116621706.503947,116621707.465341,116621708.437002,116621709.439632,116621710.423668,116621711.434611,116621712.490302,116621713.57545,116621714.551963,116621715.507752,116621716.471069,116621717.444625,116621718.42479,116621719.415286,116621720.404627,116621723.79412,116621724.752999,116621725.6546,116621726.544251,116621727.45568,116621728.400361,116621729.389668,116621730.438466,116621731.479314,116621732.52212,116621733.581299,116621734.628902,116621735.66373,116621736.728544,116621737.747204,116621738.751831,116621739.785018,116621740.82973,116621741.865152,116621742.891518,116621743.910516,116621744.924298,116621745.934491,116621746.94176,116621747.947414,116621748.951238,116621749.953856,116621750.955739,116621751.957333,116621752.963889,116621753.965001,116621754.964253,116621755.963579,116621756.967966,116621757.972215,116621758.934001,116621759.969041,116621760.949394,116621761.905846,116621762.867976,116621763.83996,116621764.824032,116621765.8092,116621766.801752,116621767.793099,116621768.785721,116621769.780013,116621770.780222,116621771.777287,116621772.774287,116621773.77561,116621774.774248,116621775.771342,116621776.730924,116621777.691093,116621778.661576,116621779.640992,116621780.624582,116621781.612766,116621782.604427,116621783.628407,116621784.619696,116621785.609389,116621786.601263,116621787.595101,116621788.590656,116621789.587916,116621790.586519,116621791.585114,116621792.584113,116621793.582847,116621800.2154,116621801.098334,116621801.979631,116621802.875076,116621803.801764,116621804.744701,116621805.702154,116621806.751559,116621807.945294,116621809.231518,116621810.498332,116621811.73179,116621812.90184,116621814.031455,116621815.110424,116621816.166036,116621817.205897,116621818.193368,116621819.130711,116621820.075674,116621821.0201,116621821.950912,116621822.888639,116621823.841147,116621824.806655,116621825.80293,116621826.784875,116621827.766842,116621828.752867,116621829.779726,116621830.788202,116621831.789047,116621832.775529,116621833.807749,116621834.83825,116621835.860224,116621836.876075,116621837.883919,116621838.85045,116621839.815957,116621840.789783,116621841.771359,116621842.756909,116621843.745937,116621844.738169,116621845.732273,116621846.728212,116621847.724941,116621848.690422,116621849.690363,116621850.680479,116621851.685011,116621852.719939,116621853.693556,116621854.690784,116621855.697537,116621856.703627,116621857.707995,116621858.716663,116621859.748322,116621860.791993,116621861.827436,116621862.858185,116621863.856175,116621864.869062,116621865.878004,116621866.846664,116621867.81504,116621868.790198,116621869.77159,116621870.780076,116621873.579393,116621880.424018,116621882.147798,116621884.638532,116621885.979753,116621887.351004,116621888.45848,116621889.590882,116621890.942485,116621892.311918,116621893.563749,116621894.755433,116621895.890464,116621896.987322,116621898.058029,116621899.108769,116621900.140696,116621901.280366,116621902.297082,116621903.282951,116621904.268278,116621905.257677,116621906.20847,116621907.163242,116621908.128774,116621909.104168,116621910.086225,116621911.072964,116621912.024193,116621912.980034,116621913.942233,116621914.913751,116621915.892989,116621916.888976,116621917.878928,116621918.868471,116621919.860147,116621920.854145,116621921.849971,116621922.856703,116621923.854494,116621924.850981,116621925.84785,116621926.845541,116621927.843752,116621928.842327,116621929.842108,116621930.848531,116621931.891606,116621932.931939,116621933.962431,116621934.984645,116621936.001581,116621937.013946,116621938.021717,116621939.005881,116621939.970203,116621940.936565,116621941.911149,116621942.892547,116621943.854006,116621944.843817,116621945.88328,116621946.843653,116621947.79546,116621948.810446,116621949.831946,116621950.84686,116621951.810342,116621952.770861,116621953.740369,116621954.718178,116621955.701831,116621956.689913,116621957.681851,116621958.713359,116621959.748959,116621960.776683,116621961.796982,116621962.811814,116621963.822524,116621968.130083,116621969.026402,116621969.940384,116621970.833366,116621971.746792,116621972.671832,116621973.647356,116621974.640608,116621975.637831,116621976.635991,116621977.63459,116621978.651925,116621979.690966,116621980.723912,116621981.748795,116621982.766874,116621983.779909,116621984.842777,116621985.944905,116621987.071468,116621988.162426,116621989.228892,116621990.277193,116621991.312427,116621992.39069,116621993.403552,116621994.438807,116621995.485484,116621996.509539,116621997.516365,116621998.492571,116621999.47064,116622000.454048,116622001.427953,116622002.37618,116622003.333072,116622004.322437,116622005.299464,116622006.277585,116622007.260705,116622008.248516,116622009.239633,116622010.233481,116622011.228959,116622012.225435,116622013.222984,116622014.221111,116622015.230775,116622016.229932,116622017.226852,116622018.223959,116622019.221638,116622020.220029,116622021.218703,116622022.217871,116622023.207371,116622024.184517,116622025.189619,116622026.177351,116622027.142697,116622028.113751,116622029.092357,116622030.07634,116622031.104975,116622032.135319,116622033.158482,116622034.155555,116622035.126766,116622036.102025,116622037.083652,116622038.070442,116622039.103829,116622040.092314,116622041.071646,116622042.021501,116622047.713168,116622048.57538,116622049.473981,116622050.814661,116622051.754937,116622052.769557,116622053.846001,116622054.975561,116622056.118406,116622057.261691,116622058.410263,116622059.541716,116622060.640613,116622061.726023,116622062.779289,116622063.815151,116622064.841558,116622065.860061,116622066.944332,116622067.953917,116622068.945288,116622069.936325,116622070.894286,116622071.845969,116622072.807618,116622073.779194,116622074.758555,116622075.743824,116622076.733062,116622077.725276,116622078.747182,116622079.784576,116622080.774264,116622081.757512,116622082.743595,116622083.733291,116622084.754795,116622085.771247,116622087.268778,116622088.420967,116622089.294791,116622090.155008,116622091.061656,116622091.983144,116622092.890182,116622093.813385,116622094.75667,116622095.715889,116622096.721389,116622097.700823,116622098.717476,116622099.740295,116622100.758478,116622101.771942,116622102.781594,116622103.788579,116622104.793881,116622105.797465,116622106.800149,116622107.802341,116622108.803694,116622109.76178,116622110.722318,116622111.774051,116622112.7523],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[2658,2057,1766,1597,1473,1276,1244,1265,1216,1156,1086,1045,976,975,875,912,933,968,915,929,924,832,832,869,901,908,942,954,964,970,977,982,1016,1024,1021,1015,1010,1007,1025,4,3,3,3,19,70,5,2,2,2,19,4392,2411,2095,1846,1599,1435,1412,1351,1271,1164,1139,1122,979,928,939,955,951,961,1006,1013,1009,848,866,899,927,947,953,931,941,955,968,975,982,968,949,951,630,918,1224,1443,1390,1235,1207,1394,1339,1303,1230,1170,1110,1078,1049,1028,1019,1014,976,991,980,972,977,983,989,991,993,983,954,962,972,950,960,969,978,981,985,983,982,983,950,958,968,985,993,1026,1023,1016,1012,1008,1005,1004,989,964,971,979,985,1025,1025,1018,1011,1004,1002,1022,1043,1033,983,981,985,988,991,915,777,774,826,855,893,922,1027,1100,1089,1210,1218,1255,1221,1166,1101,1016,970,961,933,941,956,928,937,953,965,975,982,987,989,993,979,949,948,977,1011,1013,1009,1007,1005,981,1004,1005,1006,940,947,960,970,974,976,981,985,987,990,986,982,986,989,992,964,955,992,1002,1002,1002,968,962,970,978,984,988,991,973,950,1013,987,996,1000,1001,1017,1049,1107,1091,1087,1067,1049,1035,1025,1018,1013,1009,1014,1050,1030,987,977,974,980,977,982,986,962,948,937,946,922,908,912,934,951,964,974,985,1027,1025,1019,1014,1010,1007,1005,997,954,953,962,971,979,986,989,991,1034,1032,1024,1017,1012,1009,1031,1002,1022,1005,992,993,994,995,983,947,876,800,803,840,873,931,957,945,992,1174,1364,1268,1197,1144,1106,1078,1056,1040,1016,1001,999,999,954,919,931,941,956,968,977,983,986,990,992,994,990,955,925,932,948,994,1013,1009,1004,999,999,1042,1039,1030,1022,1016,1011,1008,979,962,968,976,950,949,961,971,1002,984,1010,1027,1020,970,955,963,973,980,984,989,981,951,901,889,911,944,989,1048,1034,1042,1059,1047,1034,1024,1018,1004,1033,1044,1035,1026,1018,1013,1010,1007,1005,1003,1002,1001,1001,1000,1001,999,999,998,999,961,961,975,956,962,971,978,985,987,991,992,994,995,997,997,997,998,997,959,960,970,979,983,988,991,993,991,989,991,993,995,997,998,998,998,998,949,882,881,895,920,942,957,981,1188,1286,1266,1226,1170,1123,1078,1055,1011,982,937,944,944,930,937,952,965,974,981,981,986,988,992,986,986,1027,1030,1021,1015,1007,966,965,973,981,985,989,992,994,995,996,965,999,974,1004,966,968,997,1006,1006,1004,1002,1031,1043,1035,1025,993,1012,1008,968,968,975,981,986,260,2361,1723,2350,1341,1227,1107,1132,1351,1369,1251,1182,1135,1096,1070,1045,1031,1022,1016,985,985,964,950,954,965,975,982,986,951,955,962,971,979,986,989,989,991,993,995,996,997,996,996,997,998,998,999,1006,1043,1040,1030,1022,1016,1012,1007,984,964,966,974,981,961,989,991,960,951,961,971,967,963,960,969,977,983,988,991,1031,1035,1027,1020,1014,1010,994,896,913,892,900,925,975,993,997,998,998,1017,1039,1032,1024,1018,1013,1062,1102,1126,1090,1066,1048,1035,1024,1012,1035,1046,1024,979,976,978,983,973,948,956,967,977,978,983,987,991,993,995,996,997,998,998,999,996,997,997,998,998,999,989,977,1005,987,965,971,978,983,1028,1030,1023,997,971,975,981,986,989,988,979,949,902,862,898,926,940,1014,1076,1106,1142,1143,1148,1131,1098,1072,1053,1035,1026,1018,1011,1009,991,991,957,951,961,971,979,985,989,992,1021,1037,989,983,986,989,992,994,986,925,873,860,906,921,907,923,943,959,1005,979,1016,1022,1018,1013,1009,1006,1005,1003,1002,1002,988,958,960,968,978]},"stackTable":{"length":1890,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,9,21,22,23,24,25,26,27,28,24,30,31,32,33,34,35,36,37,22,39,40,41,42,43,44,45,46,11,48,49,50,51,52,53,15,55,56,57,58,59,31,61,62,63,64,65,44,67,68,69,7,71,72,73,74,75,76,77,78,79,80,74,82,83,84,85,86,87,88,89,72,91,92,93,94,95,96,97,98,99,100,101,92,103,104,105,106,107,108,109,110,111,104,113,114,115,116,117,118,119,51,121,122,123,124,52,126,127,128,49,130,131,132,133,134,135,135,137,131,139,140,141,142,143,16,145,58,56,148,149,150,13,152,153,154,155,156,157,153,159,160,161,162,159,164,27,166,167,168,169,26,171,172,62,62,175,176,177,178,33,180,181,182,183,40,185,186,187,188,189,190,186,192,193,194,195,196,44,42,199,200,201,202,200,204,205,7,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,214,225,226,227,228,229,230,231,232,233,212,235,236,237,238,239,240,241,242,238,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,207,269,6,271,272,273,274,275,276,277,278,4,280,281,5,283,5,285,286,287,288,289,290,291,292,293,294,295,296,290,298,299,300,301,302,303,286,305,306,307,308,309,310,311,312,313,314,306,316,317,318,319,320,321,322,323,324,325,326,327,328,329,323,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,5,354,355,356,357,358,359,360,361,362,363,364,365,366,367,363,369,370,371,372,373,361,375,376,377,378,379,380,381,382,376,384,385,386,387,388,385,390,391,359,393,394,395,396,397,398,399,400,396,402,403,404,405,406,402,408,394,410,411,412,413,414,415,416,411,418,419,420,421,422,421,418,425,357,427,428,429,430,431,432,433,434,435,436,436,432,439,440,441,442,430,444,445,446,447,448,449,446,451,445,453,454,455,456,457,456,459,457,461,459,355,464,465,466,467,468,469,467,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,481,487,480,489,490,478,492,493,494,495,494,497,498,499,493,501,502,503,504,505,506,507,508,509,510,511,512,508,514,515,516,517,518,515,506,521,522,523,524,473,526,527,528,529,530,531,5,533,534,535,536,534,538,539,540,541,542,543,544,545,546,541,548,549,550,549,552,539,554,555,556,557,558,557,560,561,562,555,564,565,566,566,565,569,534,571,572,573,574,575,576,577,576,579,579,574,582,583,584,583,586,586,588,589,572,591,592,593,594,595,596,597,594,599,600,601,599,592,604,605,606,606,605,609,544,611,612,613,614,612,612,617,618,611,620,621,622,622,620,625,626,543,628,629,630,630,629,633,633,633,636,550,638,639,640,640,642,639,638,645,646,645,552,649,650,650,652,653,650,655,656,649,658,658,658,558,662,663,663,662,666,667,668,666,560,671,672,672,671,675,676,675,675,679,680,566,682,683,684,685,683,685,682,689,690,691,689,569,694,695,696,697,697,695,694,701,702,703,701,701,706,707,535,709,710,711,712,713,714,715,716,713,718,718,720,721,711,723,724,725,726,727,728,729,727,731,727,614,620,620,630,633,636,739,541,741,742,743,744,745,746,747,748,749,750,751,751,753,750,755,755,748,758,759,760,760,762,763,759,765,765,765,768,769,746,771,772,773,774,775,776,777,776,775,774,781,782,783,781,783,772,787,788,789,789,791,788,793,794,795,793,797,798,795,744,801,802,803,804,805,806,807,808,809,810,811,812,813,812,815,815,810,818,819,820,819,822,823,824,822,808,827,828,829,830,831,831,833,834,831,830,837,837,837,828,841,842,843,844,843,843,842,848,848,806,851,852,853,854,855,856,857,858,859,859,858,862,856,864,865,866,867,868,866,865,871,854,873,874,875,876,877,878,879,877,876,882,874,884,885,886,887,888,889,890,890,889,893,893,895,896,887,898,899,900,901,902,902,900,905,906,900,906,613,633,911,912,739,639,645,645,663,666,666,676,921,685,683,689,925,697,696,707,577,930,931,932,933,933,930,936,937,938,579,940,941,942,942,940,945,945,947,948,584,950,951,951,950,954,586,956,957,958,959,957,956,962,572,964,965,966,967,968,969,970,971,972,969,974,974,976,977,967,979,980,981,982,980,984,984,970,987,988,989,990,988,987,993,994,995,993,993,974,999,1000,1001,1000,999,1004,1004,1006,1007,1007,981,1010,1011,1011,1010,1014,984,1016,1017,1018,1017,1020,1017,1016,1023,1024,1025,1023,970,1028,1029,1029,970,974,1033,1034,1034,1034,967,1038,1039,1040,1041,1042,1040,1044,1045,1045,614,614,626,621,626,622,630,1054,1055,630,1057,1058,912,912,912,751,1063,1064,755,760,765,746,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1079,1081,1079,1078,1084,1085,1086,1084,1088,1084,1076,1091,1092,1093,1093,1093,1096,1097,1092,1099,1100,1101,1099,1103,1104,1104,1104,1074,1108,1109,1110,1111,1112,1113,1114,1114,1112,1117,1118,1111,1120,1120,1120,1109,1124,1125,1126,1126,1128,1126,1130,1131,1125,1133,1133,1135,1136,1133,1138,1139,1072,1141,1142,1143,1144,1145,1146,1147,1147,1149,1150,1150,1146,1153,1153,1155,1156,1144,1158,1159,1160,1161,1161,1163,1160,1165,1166,1159,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1180,1177,1183,1184,1185,1183,1175,1188,1189,1190,1189,1192,1192,1194,1195,1173,1197,1198,1199,1200,1201,1201,1200,1204,1205,1206,1207,1208,1209,1210,1208,1207,1213,544,544,1216,628,628,1219,552,552,558,562,560,1225,1226,566,566,569,577,577,1232,579,1234,584,588,595,595,600,606,1241,1242,606,609,1245,1246,542,548,556,556,1251,1252,564,575,582,1256,1257,582,993,1004,1261,1004,1040,1264,1265,1266,1267,1268,1269,1269,1271,1272,1268,1274,1274,1276,1277,1276,1266,1280,1281,1282,1283,1284,1282,1286,1287,1281,1289,1290,1291,1292,1293,1294,1295,1296,1297,1297,1299,1296,1301,1302,1303,1301,1303,1294,1307,1308,1309,1310,1311,1311,1311,1308,1315,1315,1317,1318,1315,1320,1292,1322,1323,1324,1325,1326,1326,1326,1329,1325,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1341,1340,1344,1345,1346,1344,544,630,650,658,663,666,668,672,679,555,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1368,1367,1371,1365,1373,1374,1375,1376,1377,1377,1374,1380,1363,1382,1383,1384,1385,1386,1387,1386,1385,1390,1390,1392,1383,1394,1395,1396,1397,1398,1395,1400,1400,1402,1403,1361,1405,1406,1407,1408,1409,1410,1411,1410,1413,1408,1415,1416,1417,1416,1419,1419,1421,1422,1406,1424,1425,1426,1427,1428,1427,1430,1430,1432,1433,1425,1435,1436,1437,1436,1439,1440,1439,544,639,642,645,650,663,1448,1449,663,557,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1462,1460,1459,1466,1467,1468,1466,1457,1471,1472,1473,1474,1475,1476,1477,1478,1479,1477,1476,1482,1482,1484,1485,1482,1487,1488,1474,1490,1491,1492,1492,1494,1495,1495,1492,1455,1499,1500,1501,1502,1502,1504,1504,542,1507,1508,548,556,1511,564,564,1514,1515,575,1517,1518,1257,593,1521,1522,1522,1522,604,1526,1527,1526,538,538,1531,1532,571,571,546,546,546,1219,1219,1540,1219,550,550,1544,1545,552,1547,552,1549,558,1551,1552,558,1554,1555,560,560,560,566,1560,569,1562,1562,1564,1564,612,612,626,621,1054,1057,739,642,639,1575,1576,663,1578,663,666,1581,1582,1460,1584,1585,1462,1460,1468,1466,1468,1457,1592,1593,1594,1595,1596,1594,1594,1593,1600,1601,1600,1601,1604,544,628,628,1608,1609,1219,1545,550,1613,1549,1551,1554,561,560,566,1620,1621,1560,1623,569,1625,1626,1564,577,577,1630,1631,579,1633,1633,1234,1636,584,584,1639,1640,584,586,1643,1643,1645,1645,595,1648,1649,597,595,599,1653,1654,599,1653,606,1658,1659,606,1246,1246,609,1664,1665,1508,542,548,556,556,1366,1366,1373,1674,1675,1384,1677,1678,1384,1394,1394,1361,1683,1684,1685,1686,1687,1687,1689,1686,1691,712,1693,1694,712,727,1697,1698,1698,1700,1701,1697,1703,726,1705,1706,1707,1708,1709,1710,1709,542,714,1714,1715,1716,1717,1718,1719,1717,1716,1722,1714,1724,1725,1726,1727,1728,1725,1730,718,1732,1733,1734,1735,1734,1737,1738,1739,1732,1741,1742,1743,1743,1745,1746,1742,1748,711,1750,1751,1752,1753,1754,1755,1756,1755,1758,1758,1753,1761,1762,1763,1762,1765,1765,1751,1768,1769,1770,1771,1772,1771,1774,1769,1776,1777,1778,1779,1780,1777,1782,1782,1784,1785,1717,1787,1788,1788,1787,1791,1792,1793,1722,1795,1796,1795,1798,1726,1800,1801,1802,1801,1800,1805,1730,1807,1808,1809,1810,1808,1812,1813,1807,1815,1816,1817,1815,1735,1820,1821,1820,1823,1823,1737,1826,1827,1828,1829,1826,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1841,1840,1846,1846,1838,1849,1850,1851,1851,1850,1854,1854,1856,1857,1836,1859,1860,1861,1862,1863,1864,1865,1863,1862,1868,1868,1870,1871,1860,1873,1874,1875,1876,1877,1875,1879,1880,1875,1875,1883,1884,1884,1883,1887,1887],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,9,7,8,7,8,10,11,12,13,9,7,8,7,8,7,8,14,15,9,7,9,10,11,12,16,17,18,9,7,9,7,8,10,19,12,20,8,7,8,7,9,14,21,9,10,11,12,17,22,8,10,19,12,17,18,11,12,17,18,9,7,8,7,8,7,9,7,8,10,23,9,7,8,7,9,10,11,12,24,9,7,8,7,8,7,9,10,19,12,16,25,9,7,8,7,8,10,19,12,17,26,9,7,9,10,11,12,16,27,8,10,11,12,28,10,29,30,31,9,7,8,10,19,12,32,16,33,9,10,19,12,16,25,14,34,20,19,12,16,35,9,7,8,10,11,12,25,9,10,19,12,36,14,37,10,19,12,17,38,9,14,21,39,11,12,16,16,40,19,12,16,17,41,8,7,8,10,19,12,42,9,10,11,12,16,18,43,9,10,19,12,44,11,12,22,45,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,16,46,9,7,9,7,8,10,19,12,17,47,9,7,8,7,8,7,9,10,48,9,7,45,5,6,7,45,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,17,17,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,67,69,67,68,67,68,67,68,70,15,69,67,69,67,69,70,21,69,67,68,67,69,67,68,67,69,70,71,72,5,66,67,68,67,68,67,68,67,69,67,68,70,73,69,67,72,5,66,67,68,67,72,5,66,67,68,67,68,67,68,67,69,67,69,70,74,75,76,77,76,77,76,77,76,77,76,77,78,79,12,18,80,78,79,12,16,81,80,76,77,78,79,12,16,17,82,80,78,83,12,16,84,79,12,85,80,76,77,76,77,78,79,12,86,80,78,79,12,16,25,87,74,80,76,77,78,83,12,17,88,80,78,79,12,17,18,89,87,37,80,76,77,76,77,76,77,78,79,12,90,91,80,78,79,12,92,80,76,77,78,83,12,18,87,93,80,78,79,12,16,82,17,94,95,96,22,97,5,75,76,77,87,74,97,5,75,76,77,76,77,76,77,76,77,78,79,12,17,98,87,74,80,87,21,80,76,77,87,15,78,79,12,86,97,5,75,76,77,76,77,76,77,78,83,12,99,80,78,79,12,17,32,100,80,76,77,87,34,101,102,54,55,56,103,104,105,106,107,50,51,108,106,108,106,108,106,108,109,110,111,112,106,108,113,112,114,112,106,108,106,108,115,112,116,110,117,112,106,108,113,118,112,119,112,106,108,106,108,106,108,119,112,119,115,112,106,108,120,112,113,109,110,121,112,106,108,106,108,116,110,122,112,116,110,123,124,112,106,108,125,113,112,119,106,108,116,110,126,113,109,110,127,112,109,110,128,117,116,110,129,112,106,108,119,113,112,113,119,109,130,106,108,109,131,110,132,119,112,116,130,113,106,108,119,109,110,133,116,110,134,112,113,119,114,106,108,135,113,112,109,110,136,119,106,108,119,113,112,116,137,113,109,110,129,106,108,116,110,129,119,138,112,116,110,123,119,106,108,116,110,138,129,139,112,109,110,129,113,116,110,138,5,105,106,108,106,108,116,110,140,112,141,116,110,122,107,5,105,106,108,116,110,136,109,142,143,144,119,113,125,114,110,145,107,5,105,106,108,106,108,106,108,106,108,113,116,142,112,119,113,112,106,108,119,116,110,136,112,119,113,109,110,146,112,106,108,106,108,116,110,132,147,119,112,116,110,121,119,148,112,106,108,113,116,149,112,109,110,150,116,110,151,132,107,5,105,106,108,106,108,106,108,106,108,106,108,139,112,113,119,112,106,108,119,112,116,110,152,113,112,106,108,106,108,119,116,110,132,118,112,113,118,139,112,106,108,109,153,118,113,112,113,119,107,5,105,106,108,106,108,106,108,114,119,112,119,112,106,108,109,110,122,113,112,119,112,106,108,106,108,116,110,154,155,112,113,107,5,105,106,108,106,108,113,119,112,114,116,110,111,107,5,105,109,110,111,129,116,110,156,119,157,158,116,110,154,151,113,118,119,125,125,159,110,160,133,113,109,131,154,137,111,106,108,116,110,161,111,112,109,110,152,106,108,116,130,153,112,119,109,110,162,106,108,119,113,112,113,106,108,116,110,123,118,112,113,107,5,105,106,108,106,108,116,110,163,112,114,109,110,162,112,106,108,116,164,112,119,118,106,108,109,110,163,119,112,116,110,129,118,119,106,108,116,165,119,112,119,116,110,157,144,106,108,119,113,112,119,106,108,109,142,116,164,119,112,116,110,166,119,109,110,136,167,118,116,110,163,162,144,107,5,105,116,110,123,109,110,168,123,162,129,169,165,133,133,116,110,136,109,110,111,136,163,157,109,110,140,135,113,114,107,5,105,106,108,106,108,106,108,106,108,124,109,130,113,112,116,110,138,109,142,113,112,106,108,119,113,116,110,129,112,109,110,129,116,110,170,144,171,112,106,108,106,108,109,110,172,128,116,110,136,112,118,113,125,112,106,108,119,109,137,116,110,166,112,113,109,110,162,116,110,111,112,106,108,106,108,106,108,125,116,110,173,123,112,119,116,110,123,112,106,108,116,130,110,129,109,110,138,107,5,105,106,108,106,108,106,108,106,108,116,110,123,174,112,116,110,175,119,112,106,108,119,112,118,116,110,152,107,5,105,106,108,113,176,107,5,105,106,108,109,110,136,118,112,125,119,116,149,114,109,137,119,113,119,128,109,110,160,119,114,113,113,116,177,116,158,113,131,119,114,130,109,110,175,119,116,110,174,124,119,118,109,110,121,178,119,116,110,122,119,113,109,147,113,106,108,106,108,106,108,113,109,110,111,112,113,116,110,179,149,112,106,108,116,110,180,109,110,132,107,5,105,106,108,106,108,106,108,119,116,130,112,116,110,132,113,160,112,106,108,116,110,163,117,162,112,119,116,110,129,109,130,107,5,105,106,108,114,113,109,130,107,5,105,106,108,106,108,106,108,106,108,113,119,112,109,110,111,119,114,118,113,125,118,113,151,114,147,107,5,105,106,108,106,108,106,108,106,108,113,119,112,113,112,106,108,109,110,138,181,112,115,112,106,108,106,108,116,149,115,112,119,109,153,112,106,108,116,110,123,112,113,116,110,136,112,106,108,106,108,106,108,114,112,113,112,106,108,118,112,119,109,110,150,112,106,108,106,108,119,112,113,116,110,128,112,106,108,119,112,109,130,159,159,118,146,176,182,109,110,123,119,107,5,105,106,108,106,108,106,108,116,110,157,136,119,112,116,110,167,114,107,5,105,106,108,106,108,116,110,157,119,112,119,116,110,162,109,110,138,107,5,105,113,109,110,128,132,114,107,5,105,116,142,110,129,145,109,110,183,114,116,130,113,116,110,133,109,110,138,162,116,110,160,184,172,116,110,140,142,119,116,110,152,114,119,132,151,144,142,110,162,153,119,116,110,132,109,153,116,137,116,110,166,109,110,148,113,119,135,109,130,116,142,110,167,138,118,114,157,153,131,153,185,186,116,110,172,116,142,114,116,110,186,109,110,162,117,113,175,113,133,112,106,108,116,110,187,119,118,112,116,142,113,110,138,113,119,116,110,145,130,129,109,142,188,177,130,158,141,116,110,163,110,157,109,110,117,154,118,109,110,183,109,147,165,110,123,114,116,110,129,119,116,142,110,156,157,109,110,121,189,118,109,110,162,113,190,116,110,123,191,132,123,109,110,126,117,119,113,182,119,113,139,109,110,150,116,110,132,113,118,113,107,5,105,106,108,113,109,147,112,113,116,110,146,113,106,108,119,116,110,138,112,119,107,5,105,106,108,116,130,119,113,106,108,106,108,116,110,123,119,112,139,112,106,108,109,110,152,112,119,106,108,106,108,113,112,116,110,175,112,106,108,119,116,110,181,112,119,112,106,108,106,108,106,108,113,112,119,113,112,106,108,113,112,114,119,112,106,108,106,108,113,112,113,112,106,108,109,110,117,112,159,109,110,192,106,108,118,113,112,109,110,174,106,108,119,112,113,106,108,109,158,113,112,119,106,108,116,110,117,109,110,121,112,116,110,134,113,106,108,113,112,193,113,106,108,109,110,123,107,5,105,106,108,106,108,106,108,106,108,116,110,129,113,112,119,113,112,106,108,113,194,112,113,109,110,154,112,106,108,106,108,116,110,195,119,112,119,116,110,136,107,5,105,109,110,132,116,110,196,118,106,108,113,119,112,119,113],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f2589","0x1f1c7f","0x1edef0","0x1ee516","0x1f257e","0x177dbc","0x1eeb02","0x1eeae6","0x1edfb4","0x1f1e9c","0x1ee048","0x177e31","0x1edfd9","0x1f1b72","0x1ee1f4","0x1edfb0","0x1edfdb","0x1ee02e","0x1ee44f","0x1f1fb2","0xa5452","0xa2a11","0x1ee02b","0x1ee4a2","0x177e44","0x1ee86d","0x1ee81a","0x177e3f","0x1ee024","0x1f1b6b","0x1ee01a","0x1ee6a0","0x1eea1f","0x1f1ebc","0x1ee665","0x1f3684","0x1eebf8","0x1ee015","0x1f1b93","0x1edf76","0x26141","0x108c9b","0x1f2c90","0x1f3184","0x26c8f","0x354cb3","0xa5861","0xa4b89","0xa48dc","0xa35b1","0x11eaab","0x2618c","0x26706","0x11e88d","0x1ef2d8","0x1ee743","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177d98","0x1ec510","0x177dab","0x177d91","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x34fd2","0x1ee1d3","0x1edfb7","0x1edb10","0x1ee836","0x1ee010","0x1ee80a","0x59940","0x1eeaa5","0x1eead5","0x1ee753","0x1ee8cb","0x1ee686","0x177da5","0x1ee45b","0x1ee41f","0x1f432","0x34ed4","0x1edfbb","0x1ee781","0x1edac9","0x59e9e","0x177bea","0xa4bca","0x1a0aca","0x247051","0x246666","0x246a77","0x246a05","0x246363","libm.so.6","0x37f02","0x7652b","0x246b93","0x246396","0x2463bb","0x246376","0x24637c","0x764c0","0x2463af","0x2463ab","0x24634b","0xe380","0x76506","0x764e4","0x2463b3","0x246338","0x764c4","0x76618","0x7647e","0x7651d","0x37f25","0x37f13","0x709c0","0x764d5","0x76518","0x246392","0x70ab8","0x37f2f","0x764f4","0x24639f","0x76488","0x2463a7","0x37f03","0x2463c2","0x70ab0","0x709ce","0x76532","0x37f0b","0x7654a","0x37efe","0x76482","0x7650f","0x764e7","0x37ef8","0x764eb","0x246354","0x76526","0x764ac","0x37f31","0x246347","0x764d8","0x70aa4","0x76514","0x7662f","0x37f1d","0x37f21","0x764f7","0x709e4","0x76502","0x76491","0x7656a","0x76497","0x76637","0x76538","0x764bb","0x764b3","0x2463b7","0x37f27","0x24633e","0x709c7","0x76474","0x7648e","0x2463bf","0x70a10","0x70ac0","0x765ba","0x7649f","0x76540","0x37f58","0x76479","0x37f4a","0x24638a","0x764db","0x246386","0x246330","0x70aba","0x76576"],"tid":"700700","unregisterTime":116622126.552591},{"frameTable":{"length":215,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041388,365295,3493043,677985,674697,672408,2041225,2038911,2023152,2024600,2039452,2023348,2026481,2023835,2026242,2024595,2025675,2041214,1539516,2025013,2038738,2025094,2026214,2023445,2025817,2026488,2045572,2038809,2023387,2026253,2023467,2023344,2025345,2025413,2023390,2023472,2023941,2023460,2023420,2025272,2039133,676832,2023351,2025263,2025080,2038635,2025498,1539513,2025749,2025545,2025811,2023413,2023470,2023509,2023600,2026072,2038525,155969,1084571,156044,157446,1173645,2018025,2013424,2016405,2011421,1539647,1539652,2016528,2016768,2011482,1539473,1418669,368184,216630,366929,2022359,2025279,2023456,217042,366912,2023264,2021971,1539656,2022160,2023385,2024681,1539477,2025256,2023271,1539493,2021955,2025712,2024620,216788,2023895,2023496,2024558,2023374,2025128,1539633,2026022,2024567,368286,1539050,158863,674012,669105,1174187,674762,1706698,2028248,2025291,2388049,2385510,2386437,2384764,229122,484571,2386835,2384702,2384790,2384811,2384739,229118,229184,461262,229157,229159,484623,484596,484628,484488,484614,2384827,229123,484583,2384815,484919,461496,484664,484651,484524,484580,2386551,484632,484658,484639,2384831,484539,2384696,2384758,484531,2384799,484587,2384819,484637,229131,229104,229112,229149,58240,229139,2384724,2384823,484911,461248,2384749,2384711,2384774,484641,484497,229143,484494,461476,484565,461255,461488,461504,229188,484511,229169,484901,229171,484544,484605,484682,229153,2384807,2384786,484482,2384715,2386498,2019197,461340,484670,484792,229167,484656,484478,2384778,2384834,484568,484906,461498],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":215,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,2,2,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2,2,1,2,2,2,1,2,1,1,2,1,2,1,2,2,2,2,2,2,2,1,1,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,1,1,2,2,2,2,2,2,1,1,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700701>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.660189,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,129],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":757,"stack":[22,33,42,55,64,76,86,93,100,102,110,111,119,121,129,135,150,156,164,169,178,184,191,196,208,215,219,228,235,245,251,257,262,280,285,286,291,296,303,309,316,323,334,340,347,352,370,381,395,406,421,423,426,426,426,426,426,439,440,454,489,504,506,509,515,523,526,529,531,535,545,547,549,552,553,559,560,564,569,570,575,576,579,580,582,590,591,594,601,607,608,610,612,613,622,622,622,622,622,624,426,426,426,426,426,626,426,426,426,426,426,426,636,642,643,645,650,653,657,659,660,665,666,667,670,671,674,677,678,681,682,683,683,684,685,685,687,690,666,692,693,698,700,704,707,710,711,711,715,716,719,722,726,727,728,731,734,738,739,753,754,755,757,760,766,767,768,774,777,778,426,426,426,426,426,426,781,782,783,787,788,788,789,790,789,791,794,795,796,796,799,796,800,801,802,803,802,805,806,806,805,806,806,806,807,805,810,806,811,825,825,827,833,834,836,842,842,844,848,849,851,859,859,861,865,866,868,874,875,877,882,885,887,888,889,890,891,710,711,892,893,895,896,731,897,898,901,903,907,908,910,913,914,916,917,920,923,924,925,891,891,711,928,929,893,931,932,727,731,739,739,901,901,935,937,908,940,946,947,949,951,954,955,956,957,958,961,962,963,966,972,974,976,982,985,987,990,994,996,1000,1001,1002,1003,957,1006,1007,1008,782,782,782,783,1009,782,1010,782,1012,1024,1025,1026,1029,1032,1033,1037,1037,1038,1042,1043,1044,1052,1053,1054,1057,1059,1060,1066,1067,1068,1070,1071,1074,1080,1083,1084,1095,1096,1099,1103,1104,1107,1113,1116,1117,1121,1122,1123,1129,1132,1135,1136,1138,1142,1145,1147,1149,1152,1155,1165,1166,1168,1171,1173,1174,1184,1184,1186,1191,1192,1194,1195,782,1196,789,1197,789,1198,1200,1202,1203,1204,806,806,1205,1206,1209,1210,1213,1210,1210,1215,1216,1216,1219,1222,1223,1226,1227,1222,1235,1237,1247,1251,1252,1256,1256,1257,1259,1260,1268,1269,1271,1272,1277,1279,1281,1283,1292,1293,1297,1298,1299,1303,1306,1308,1309,1315,1316,1319,1320,1332,1333,1337,1338,1346,1349,1353,1354,1355,1356,783,1357,789,1358,796,1359,1210,1215,1222,1360,1362,1365,1367,1368,1372,1374,1375,1378,1382,1383,1386,1386,1388,1391,1391,1393,1396,1399,1402,1403,1405,1407,1410,1411,1415,1418,1419,1420,1422,1423,1426,1430,1432,1433,1445,1447,1449,1453,1454,1458,1464,1465,1467,1471,1472,1474,1488,1489,1491,1491,1495,1497,1498,1504,1505,1507,1508,1518,1519,1522,1524,1526,1527,1529,423,426,426,1532,426,426,1536,1532,426,1537,1553,1555,1556,1557,1558,710,1559,1560,1562,1563,896,728,1564,1565,1566,1569,1570,1573,1391,1574,1575,1578,1579,1580,1579,1581,1582,1583,1584,1585,1586,1587,1399,1585,1588,1589,1396,1585,1591,1403,1592,1595,1596,1597,1592,1402,1403,1592,1402,1595,1600,1601,1602,1603,1604,1601,1605,1606,1607,1608,1609,1606,1611,1419,1612,1613,1614,1615,1419,1616,1617,1618,1419,1618,1619,1619,1619,1622,1623,1624,1625,1423,1626,1627,1628,1619,1631,1631,1631,1631,1631,1633,1634,1635,1637,1638,1639,666,1641,692,782,1642,796,1643,1644,1209,1210,1215,1227,1227,1645,1646,1647,1648,1648,1649,1652,1653,1654,1655,1383,1656,1386,1388,962,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1008,1669,1669,1580,1670,1586,1583,1585,1671,1672,1592,1402,1680,1683,1684,1686,1686,1692,1693,1695,1695,1696,643,682,1697,1698,1699,1579,1391,1585,1700,1701,1670,1402,1402,1702,1703,1602,1704,1705,1601,1706,1419,1419,1707,1419,1708,1619,1709,1423,1619,1623,1710,1430,1433,1711,1713,1715,1716,1718,1719,1721,1728,1729,1729,1730,1729,1732,1732,1735,1737,1738,1742,1743,1746,1742,1742,1748,1749,1752,1755,1756,1766,1767,1768,1776,1777,1780],"time":[116621307.025171,116621308.052218,116621309.059857,116621310.063861,116621311.066816,116621312.028871,116621313.009123,116621314.041903,116621315.053003,116621316.059245,116621317.071645,116621318.128653,116621319.224388,116621320.317896,116621321.40872,116621322.458668,116621323.493065,116621324.51788,116621325.536155,116621326.573524,116621327.580516,116621328.582556,116621329.582985,116621330.600153,116621331.670034,116621332.690456,116621333.675664,116621334.653898,116621335.636926,116621336.623507,116621337.613795,116621338.604411,116621339.611581,116621340.576873,116621341.546235,116621342.523108,116621343.505558,116621344.492397,116621345.457674,116621346.425971,116621347.401848,116621348.3832,116621349.369404,116621350.359446,116621351.361065,116621352.384378,116621353.404933,116621354.42061,116621355.472915,116621356.476093,116621357.473228,116621361.591202,116621364.976985,116621364.981272,116621364.983872,116621364.986428,116621364.98902,116621365.014671,116621366.012212,116621371.287947,116621374.50331,116621377.359734,116621379.552858,116621381.817937,116621383.649662,116621385.541665,116621386.990861,116621388.282431,116621389.558196,116621390.690904,116621391.769023,116621392.848028,116621393.928619,116621395.02461,116621396.062551,116621397.109002,116621398.124545,116621399.13052,116621400.13374,116621401.135561,116621402.122152,116621403.085957,116621404.055485,116621405.033522,116621406.017293,116621407.005766,116621407.996809,116621408.961583,116621409.920507,116621410.885606,116621411.872056,116621412.853976,116621413.837619,116621414.82602,116621415.428206,116621415.433475,116621415.436568,116621415.43948,116621415.442356,116621415.460986,116621417.398749,116621417.403899,116621417.40669,116621417.409232,116621417.411941,116621417.433933,116621418.385784,116621418.389979,116621418.392456,116621418.395212,116621418.398,116621418.423876,116621421.371876,116621426.983417,116621431.263694,116621434.040494,116621436.295005,116621438.200919,116621439.886381,116621441.360376,116621442.661265,116621443.863402,116621445.010431,116621446.104326,116621447.171277,116621448.21972,116621449.247644,116621450.230587,116621451.213473,116621452.200115,116621453.189845,116621454.181686,116621455.175643,116621456.171625,116621457.169665,116621458.181517,116621459.178529,116621460.174251,116621461.1691,116621462.126601,116621463.08948,116621464.061574,116621465.049579,116621466.0624,116621467.090353,116621468.110587,116621469.13168,116621470.141935,116621471.148049,116621472.152477,116621473.155661,116621474.144722,116621475.108987,116621476.080039,116621477.05956,116621478.044872,116621479.070521,116621480.095543,116621481.149132,116621482.185783,116621483.312584,116621484.418521,116621485.532636,116621486.634882,116621487.691667,116621488.704437,116621489.7083,116621490.710203,116621491.711784,116621492.712649,116621497.934971,116621497.939595,116621497.942343,116621497.956796,116621497.959511,116621497.966018,116621498.192493,116621501.6262,116621505.36034,116621508.435861,116621511.245465,116621513.536163,116621515.403198,116621516.997138,116621518.383657,116621519.626832,116621520.761755,116621521.843831,116621522.901816,116621523.943808,116621524.974076,116621525.996043,116621527.012177,116621528.022766,116621529.030627,116621530.023781,116621530.988733,116621531.954445,116621532.964783,116621533.986353,116621535.004481,116621536.01622,116621537.024783,116621538.017551,116621539.015018,116621540.022728,116621541.029459,116621542.034737,116621543.038271,116621544.040754,116621545.043075,116621546.04501,116621547.046125,116621548.047012,116621549.047723,116621550.047952,116621551.073014,116621552.086463,116621553.0918,116621554.084143,116621555.111672,116621556.101161,116621557.07855,116621558.03033,116621558.998817,116621560.005299,116621561.015918,116621562.024648,116621563.018117,116621563.983819,116621564.950593,116621565.925219,116621566.906606,116621567.893073,116621572.401886,116621573.32964,116621574.258446,116621575.192756,116621576.14007,116621577.114612,116621578.098159,116621579.086113,116621580.111831,116621581.163528,116621582.268191,116621583.435845,116621584.556227,116621585.766072,116621586.935665,116621588.061869,116621589.153454,116621590.210053,116621591.24984,116621592.281835,116621593.348968,116621594.394641,116621595.391697,116621596.383454,116621597.376289,116621598.370765,116621599.366824,116621600.363829,116621601.361923,116621602.360388,116621603.359248,116621604.3928,116621605.392684,116621606.352318,116621607.302744,116621608.227035,116621609.166234,116621610.182261,116621611.145804,116621612.108033,116621613.082029,116621614.101373,116621615.121561,116621616.137021,116621617.148569,116621618.156664,116621619.162487,116621620.166613,116621621.169224,116621622.131617,116621623.099212,116621624.073581,116621625.05431,116621626.040773,116621627.032312,116621628.024762,116621629.019085,116621630.052787,116621631.086892,116621632.112609,116621633.13164,116621634.145372,116621635.155309,116621636.187466,116621637.190366,116621638.210115,116621639.219034,116621640.211983,116621641.204916,116621642.199222,116621643.19454,116621644.181904,116621645.137093,116621649.319248,116621650.131782,116621650.950314,116621651.780308,116621652.652182,116621653.587994,116621654.549158,116621655.501368,116621656.483917,116621657.639208,116621658.986701,116621660.308165,116621661.513992,116621662.661958,116621663.770145,116621664.848954,116621665.906711,116621666.948376,116621667.978871,116621669.001841,116621670.017919,116621671.028359,116621671.996008,116621672.921356,116621673.846782,116621674.788929,116621675.746481,116621676.716106,116621677.694374,116621678.678342,116621679.666639,116621680.657992,116621681.651479,116621682.646795,116621683.64214,116621684.598046,116621685.527303,116621686.460479,116621687.408505,116621688.398283,116621689.411722,116621690.421807,116621691.42924,116621692.434351,116621693.438479,116621694.481392,116621695.524149,116621696.55703,116621697.581467,116621698.598694,116621699.611237,116621700.620635,116621701.605021,116621702.56779,116621703.536834,116621704.513503,116621705.468089,116621706.417706,116621707.378422,116621708.349436,116621709.35174,116621710.334895,116621711.341681,116621712.369348,116621713.393431,116621714.375744,116621715.350602,116621716.330298,116621717.31667,116621718.306062,116621719.298025,116621720.292153,116621724.645323,116621725.948818,116621727.205986,116621728.382172,116621729.538261,116621730.704637,116621731.82249,116621732.934275,116621734.030803,116621735.095199,116621736.154383,116621737.185479,116621738.206302,116621739.227588,116621740.272047,116621741.31663,116621742.342962,116621743.361369,116621744.374647,116621745.407644,116621746.456557,116621747.487255,116621748.508654,116621749.524069,116621750.535582,116621751.559198,116621752.563202,116621753.564085,116621754.552779,116621755.550825,116621756.518135,116621757.489983,116621758.457792,116621759.410806,116621760.387262,116621761.359523,116621762.336219,116621763.318414,116621764.350876,116621765.335882,116621766.319229,116621767.306554,116621768.31994,116621769.310107,116621770.30006,116621771.292327,116621772.2866,116621773.307607,116621774.301653,116621775.294188,116621776.33266,116621777.293818,116621778.252469,116621779.220575,116621780.197099,116621781.179926,116621782.167802,116621783.158733,116621784.152749,116621785.148196,116621786.144859,116621787.142422,116621788.140862,116621789.139793,116621790.139151,116621791.138587,116621792.18582,116621793.179263,116621794.168816,116621799.518474,116621800.382345,116621801.269486,116621802.169815,116621803.094969,116621804.040734,116621805.00189,116621805.969509,116621806.981369,116621808.225701,116621809.506484,116621810.795126,116621812.03246,116621813.186961,116621814.298798,116621815.380023,116621816.438863,116621817.440687,116621818.414876,116621819.360266,116621820.314299,116621821.255896,116621822.191923,116621823.14243,116621824.106034,116621825.080318,116621826.061245,116621827.204011,116621828.195092,116621829.153751,116621830.117972,116621831.137787,116621832.248857,116621833.229756,116621834.223264,116621835.219688,116621836.217001,116621837.215146,116621838.196483,116621839.155157,116621840.120639,116621841.095894,116621842.07804,116621843.06441,116621844.054464,116621845.047671,116621846.042651,116621847.039424,116621848.024058,116621849.003796,116621849.995508,116621850.981844,116621851.975893,116621852.946193,116621853.923856,116621854.943128,116621855.966178,116621856.991946,116621858.005517,116621859.012883,116621860.059431,116621861.101113,116621862.132819,116621863.155757,116621864.147497,116621865.162737,116621866.159454,116621867.129358,116621868.103717,116621869.084474,116621870.070361,116621871.079024,116621871.263916,116621872.097662,116621873.604332,116621873.741653,116621875.92882,116621876.118666,116621876.29794,116621876.727938,116621876.811166,116621876.955957,116621876.997258,116621877.150925,116621877.192397,116621878.745006,116621880.166673,116621881.431032,116621882.727513,116621884.665743,116621885.704527,116621886.649436,116621887.56642,116621888.495558,116621889.503197,116621890.730045,116621892.020718,116621893.224516,116621894.373287,116621895.481923,116621896.561306,116621897.619341,116621898.661741,116621899.719971,116621900.742327,116621901.790168,116621902.796844,116621903.792739,116621904.784167,116621905.737485,116621906.693634,116621907.660435,116621908.63638,116621909.618877,116621910.625115,116621911.595402,116621912.543365,116621913.50008,116621914.468188,116621915.444835,116621916.428373,116621917.432343,116621918.421682,116621919.411594,116621920.404006,116621921.398332,116621922.420159,116621923.417329,116621924.409548,116621925.402671,116621926.397641,116621927.410977,116621928.408358,116621929.402536,116621930.399682,116621931.425973,116621932.464354,116621933.495042,116621934.517551,116621935.534151,116621936.546613,116621937.555246,116621938.559108,116621939.52166,116621940.486127,116621941.458991,116621942.439429,116621943.414424,116621944.38953,116621945.411017,116621946.384337,116621947.340571,116621948.305244,116621949.278985,116621950.271304,116621951.256269,116621952.243876,116621953.234305,116621954.227732,116621955.222809,116621956.21899,116621957.216284,116621958.232709,116621959.271991,116621960.313576,116621961.336905,116621962.352322,116621963.363309,116621964.371406,116621965.377243,116621965.895521,116621965.902309,116621965.905881,116621965.909114,116621965.912385,116621965.926517,116621968.177268,116621971.147352,116621973.420411,116621975.449419,116621977.237621,116621978.868225,116621980.377271,116621981.712275,116621982.956215,116621984.136456,116621985.34607,116621986.547812,116621987.722126,116621988.853167,116621989.949454,116621991.020269,116621992.065599,116621993.098002,116621994.140202,116621995.203953,116621996.254108,116621997.244945,116621998.230308,116621999.218785,116622000.209976,116622001.206547,116622002.158906,116622003.115733,116622004.083328,116622005.065026,116622006.048114,116622007.038892,116622008.029088,116622009.020468,116622010.019084,116622011.014212,116622012.009836,116622013.006816,116622014.009046,116622015.006938,116622016.004589,116622017.002495,116622018.006168,116622019.004682,116622020.00741,116622021.005401,116622022.00307,116622023.00117,116622023.972096,116622024.97183,116622025.966643,116622026.929738,116622027.89844,116622028.871272,116622029.95306,116622030.973423,116622031.981353,116622032.98647,116622033.978825,116622034.940046,116622035.902979,116622036.87484,116622037.854286,116622038.839544,116622039.828712,116622040.820744,116622047.317243,116622048.172203,116622049.091871,116622050.038444,116622051.0004,116622051.969673,116622052.980457,116622054.039513,116622055.135598,116622056.255021,116622057.394019,116622058.544285,116622059.672268,116622060.76814,116622061.838433,116622062.889775,116622063.927248,116622064.954511,116622065.974241,116622066.988779,116622067.999308,116622069.007432,116622070.012545,116622070.977026,116622071.936572,116622072.903758,116622073.879302,116622074.861454,116622075.848671,116622076.839266,116622077.832622,116622078.860248,116622079.893062,116622080.882342,116622081.865619,116622082.852189,116622083.842347,116622084.835332,116622085.830084,116622086.826848,116622087.824865,116622088.822986,116622089.816441,116622090.804411,116622091.800578,116622092.76146,116622093.72423,116622094.695799,116622095.675095,116622096.694687,116622097.684278,116622098.708367,116622099.736969,116622100.75946,116622101.776176,116622102.788808,116622103.797534,116622104.803578,116622105.808041,116622106.811133,116622107.813536,116622108.803293,116622109.763003,116622110.725942,116622111.698149,116622112.677829,116622113.663073],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[1167,1027,1007,1004,1002,962,980,1032,1011,1006,1012,1057,1095,1093,1090,1049,1034,1024,1018,1037,1006,1002,1000,1017,1069,1020,985,978,983,986,990,990,1007,965,969,976,982,986,965,968,975,981,986,990,1001,1023,1020,1015,1052,1003,997,990,829,4,2,2,2,25,997,5261,3215,2429,2193,2095,1831,1675,1449,1291,1184,1132,1078,1079,1080,1062,1037,1021,1015,1005,1003,1001,986,963,969,978,983,988,991,964,958,965,973,981,983,988,322,5,3,2,2,18,199,5,2,2,2,21,385,4,2,2,2,25,1148,5611,4280,2776,2189,1905,1685,1473,1300,1202,1147,1093,1066,1048,1027,982,982,986,989,991,993,995,998,997,997,995,994,957,962,972,988,993,1027,1020,1014,1010,1006,1004,1003,989,964,971,979,985,1025,1025,1018,1015,1126,1105,1114,1102,1056,1012,1003,1001,1001,1000,635,4,2,14,2,6,226,3433,3734,3075,2809,2290,1867,1593,1386,1243,1134,1082,1057,1041,1030,1021,1016,1010,1007,993,964,965,1010,1021,1018,1011,1008,992,997,1007,1006,1005,1003,1002,1002,1001,1001,1000,1000,1000,999,997,994,992,991,989,977,951,968,1006,1010,1008,993,965,966,974,981,986,1293,927,928,934,947,974,983,987,1025,1051,1104,1121,1120,1209,1169,1126,1080,1056,1039,1031,1067,1045,997,991,992,994,996,997,998,998,998,998,999,959,932,924,939,955,963,962,973,1019,1020,1015,1011,1008,1005,1004,1002,962,967,974,980,986,991,992,994,1033,1034,1025,1019,1013,1009,1032,1002,1019,1008,992,992,994,995,987,955,894,812,818,829,871,935,961,952,982,1155,1347,1321,1205,1147,1108,1078,1057,1041,1030,1022,1016,1010,967,925,925,942,957,969,978,983,988,991,993,995,995,955,929,933,948,989,1013,1010,1007,1005,1004,1042,1042,1032,1024,1017,1012,1009,984,962,969,976,954,949,960,971,1002,983,1006,1027,1024,982,974,979,986,989,991,994,1464,1303,1257,1176,1156,1166,1117,1111,1096,1064,1059,1031,1020,1021,1044,1044,1026,1018,1013,1032,1048,1030,1021,1015,1011,1023,1004,1000,988,998,967,971,967,953,976,972,976,982,1032,985,983,987,1013,990,989,992,994,995,994,992,1009,961,958,968,976,982,987,990,994,995,996,997,998,998,999,999,1047,993,989,1469,863,887,900,925,945,961,967,1011,1244,1280,1288,1237,1154,1111,1081,1058,1001,974,945,954,941,936,950,963,974,980,986,991,958,964,973,975,980,993,996,997,998,981,958,965,975,982,986,990,993,994,996,984,979,991,986,994,970,977,1019,1023,1017,1013,1007,1046,1041,1031,1022,991,1015,996,969,974,980,985,464,167,833,94,40,23,70,22,84,75,25,27,41,41,393,1421,1264,1290,1861,1038,944,916,929,1007,1226,1290,1203,1148,1108,1079,1058,1042,1030,1022,1009,1006,995,991,953,956,966,975,982,987,970,947,956,968,976,983,989,989,989,992,994,995,997,992,993,994,995,997,994,997,1026,1038,1030,1022,1016,1012,1008,1003,962,964,972,980,974,975,996,973,956,964,973,980,984,987,990,993,995,996,997,1016,1039,1031,1023,1015,1010,1008,1005,175,6,3,3,3,12,417,2962,2273,2029,1788,1630,1509,1335,1243,1180,1209,1201,1174,1131,1096,1070,1045,1032,1042,1063,1050,990,985,988,991,989,952,956,967,976,983,985,990,991,993,995,995,995,1002,997,997,997,998,998,997,997,997,998,966,999,994,963,964,972,978,1020,1007,1005,992,961,962,971,979,985,989,992,951,854,919,946,961,969,1010,1059,1096,1119,1138,1150,1127,1095,1070,1051,1037,1027,1019,1014,1010,1008,1005,964,959,967,975,982,987,990,993,1027,1032,989,983,986,990,992,994,996,998,998,993,987,996,960,962,971,979,1019,989,1024,1028,1022,1016,1012,1008,1006,1004,1003,1002,989,959,962,972,979,985]},"stackTable":{"length":1781,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,9,23,24,25,26,27,28,29,30,31,32,24,34,35,36,37,38,39,40,41,7,43,44,45,46,47,48,49,50,51,52,53,54,46,56,57,58,59,60,61,62,63,44,65,66,67,68,69,70,71,72,73,74,75,66,77,78,79,80,81,82,83,84,85,11,87,88,89,90,91,92,88,94,95,96,97,98,99,16,101,13,103,104,105,106,107,108,109,32,26,112,113,114,115,116,117,118,41,120,35,122,123,124,125,126,127,128,123,130,131,132,133,134,7,136,137,138,139,140,141,142,143,144,145,146,147,148,149,147,151,152,153,154,155,145,157,158,159,160,161,162,163,158,165,166,167,168,143,170,171,172,173,174,175,176,177,173,179,180,181,182,183,171,185,186,187,188,189,190,186,192,193,194,195,141,197,198,199,200,201,202,203,204,205,206,207,202,209,210,211,212,213,214,210,216,217,218,200,220,221,222,223,224,225,226,227,221,229,230,231,232,233,234,198,236,237,238,239,240,241,242,243,244,239,246,247,248,249,250,237,252,253,254,255,256,253,258,259,260,261,139,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,274,281,282,283,284,284,272,287,288,289,290,288,292,293,294,295,270,297,298,299,300,301,302,300,304,305,306,307,308,298,310,311,312,313,314,315,311,317,318,319,320,321,322,268,324,325,326,327,328,329,330,331,332,333,329,335,336,337,338,339,327,341,342,343,344,345,346,342,348,349,350,351,325,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,358,371,372,373,374,375,376,377,378,379,380,356,382,383,384,385,386,387,388,389,390,391,392,393,394,360,396,397,398,399,400,401,402,403,404,405,356,407,408,409,410,411,412,413,414,415,416,417,418,419,420,4,422,4,424,425,5,427,428,429,430,431,432,433,434,435,436,437,438,438,430,441,442,443,444,445,446,447,448,449,450,451,452,453,444,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,5,490,491,492,493,494,495,496,497,498,499,500,501,502,503,503,505,499,507,508,507,510,511,512,513,514,497,516,517,518,519,520,521,522,521,524,525,517,527,528,527,530,528,532,533,534,495,536,537,538,539,540,541,542,543,544,543,546,540,548,539,550,551,551,550,554,555,556,557,558,556,554,561,562,563,537,565,566,567,568,568,566,571,572,573,574,572,572,577,578,578,571,581,493,583,584,585,586,587,588,589,589,586,592,593,585,595,596,597,598,599,600,595,602,603,604,605,606,606,585,609,588,611,589,490,614,615,616,617,618,619,620,621,618,623,5,625,5,627,628,629,630,631,632,633,634,635,628,637,638,639,640,641,633,632,644,630,646,647,648,649,647,651,652,640,654,655,656,654,658,641,638,661,662,663,664,663,629,629,668,669,637,637,672,673,637,675,676,635,644,679,680,644,648,651,654,641,686,663,688,689,662,691,691,633,694,695,696,697,695,699,694,701,702,703,701,705,706,644,708,709,709,708,712,713,714,714,648,717,718,718,720,721,717,723,724,725,723,723,651,729,730,730,732,733,729,735,736,737,735,628,740,741,742,743,744,745,746,747,748,749,750,751,752,750,751,749,756,756,758,759,747,761,762,763,764,765,765,763,762,769,770,771,772,773,771,775,776,771,695,779,780,780,780,779,784,785,786,784,784,786,784,701,792,793,793,793,793,797,798,798,793,793,798,792,804,804,804,804,808,809,808,632,812,813,814,815,816,817,818,819,820,821,822,823,824,823,826,821,828,829,830,831,832,830,829,835,819,837,838,839,840,841,840,843,838,845,846,847,847,846,850,817,852,853,854,855,856,857,858,857,860,855,862,863,864,864,863,867,853,869,870,871,872,873,873,872,876,873,878,879,880,881,881,883,884,880,886,886,697,697,701,714,718,723,894,894,735,737,654,899,900,899,902,641,904,905,906,905,904,909,663,911,912,912,911,915,915,691,918,919,918,921,922,921,695,709,926,927,713,718,930,723,902,933,934,905,936,909,938,939,638,941,942,943,944,945,945,944,948,631,950,631,952,953,631,646,646,646,748,959,960,748,761,761,964,965,745,967,968,969,970,971,968,973,973,975,743,977,978,979,980,981,981,983,984,980,986,986,988,989,978,991,992,993,993,995,992,997,998,999,997,631,646,742,1004,1005,742,742,780,780,780,1011,779,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1023,1023,1022,1027,1028,1027,1030,1031,1027,1020,1034,1035,1036,1036,1035,1039,1040,1041,1039,1040,1018,1045,1046,1047,1048,1049,1050,1051,1049,1051,1048,1055,1056,1056,1058,1058,1046,1061,1062,1063,1064,1065,1063,1065,1062,1069,1069,1069,1072,1073,1016,1075,1076,1077,1078,1079,1077,1081,1082,1077,1077,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1092,1092,1097,1098,1091,1100,1101,1102,1100,1100,1105,1106,1089,1108,1109,1110,1111,1112,1110,1114,1115,1110,1109,1118,1119,1120,1120,1120,1087,1124,1125,1126,1127,1128,1128,1130,1131,1127,1133,1134,1133,1134,1137,1125,1139,1140,1141,1141,1143,1144,1141,1146,1140,1148,1148,1150,1151,1148,1153,1154,1085,1156,1157,1158,1159,1160,1161,1162,1163,1164,1162,1162,1167,1161,1169,1170,1170,1172,1169,1159,1175,1176,1177,1178,1179,1180,1181,1182,1183,1182,1185,1180,1187,1188,1189,1190,1189,1188,1193,1193,1011,786,786,793,1199,1199,1201,1199,798,809,808,709,1207,1208,1208,1208,1211,1212,1207,1214,1214,1214,1217,1218,712,1220,1221,1221,1221,1224,1225,1221,1220,1228,1229,1230,1231,1232,1233,1234,1231,1236,1232,1238,1239,1240,1241,1242,1243,1244,1245,1246,1244,1248,1249,1250,1248,1242,1253,1254,1255,1255,1254,1258,1258,1240,1261,1262,1263,1264,1265,1266,1267,1265,1264,1270,1270,1262,1273,1274,1275,1276,1275,1278,1274,1280,1280,1282,1238,1284,1285,1286,1287,1288,1289,1290,1291,1290,1289,1294,1295,1296,1294,1296,1287,1300,1301,1302,1302,1304,1305,1301,1307,1307,1285,1310,1311,1312,1313,1314,1314,1313,1317,1318,1317,1311,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1331,1328,1334,1335,1336,1334,1326,1339,1340,1341,1342,1343,1344,1345,1343,1347,1348,1342,1350,1351,1352,1350,1350,1345,780,1199,804,1224,1220,1361,718,1363,1364,1363,1366,1366,723,1369,1370,1371,1369,1373,1373,730,1376,1377,1376,1379,1380,1381,1379,735,1384,1385,1384,1387,750,1389,1390,1389,1392,1392,1394,1395,1392,1397,1398,756,1400,1401,1401,1401,1404,1400,1406,1406,1408,1409,1409,763,1412,1413,1414,1413,1416,1417,1413,1413,1412,1421,1421,1421,1424,1425,762,1427,1428,1429,1429,1431,1429,1428,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1444,1446,1443,1448,1441,1450,1451,1452,1452,1451,1455,1456,1457,1439,1459,1460,1461,1462,1463,1463,1462,1466,1460,1468,1469,1470,1470,1469,1473,745,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1485,1484,1490,1482,1492,1493,1494,1493,1496,1496,1480,1499,1500,1501,1502,1503,1503,1502,1506,1506,1500,1509,1510,1511,1512,1513,1514,1515,1516,1517,1515,1515,1520,1521,1514,1523,1523,1525,1523,1525,1528,740,1530,1531,743,1533,1534,1535,1201,630,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,699,1554,1554,702,709,712,714,930,1561,718,733,730,732,735,1567,1568,735,1390,1571,1572,1572,1571,1390,1576,1577,1390,1390,1576,1398,1394,1394,1392,1392,1395,1395,1395,1404,1590,1401,1401,1593,1594,1401,1590,1406,1598,1599,1406,1406,1599,1598,1599,1406,1409,1599,1409,1414,1610,1610,1414,1413,1414,1610,1610,1413,1421,1421,1620,1621,1620,1621,1620,1621,1425,1425,769,1629,1630,1475,1632,634,680,652,1636,654,641,664,1640,785,798,804,1361,1364,1364,1366,1370,1373,1650,1651,1373,1377,1377,1385,748,761,969,969,973,973,984,986,986,993,997,997,1572,1392,1590,1593,1400,1673,1674,1675,1676,1677,1678,1679,1679,1681,1682,1679,1678,1685,1676,1687,1688,1689,1690,1691,1691,1690,1694,635,648,651,652,1395,1398,1590,1594,1408,1598,1409,1413,1417,1621,1429,1431,1431,1712,1428,1714,1714,1714,1717,1714,1717,1720,969,1722,1723,1724,1725,1726,1727,1725,1725,1724,1731,1731,1733,1734,1731,1736,1731,1722,1739,1740,1741,1741,1741,1744,1745,1740,1747,1747,1747,1750,1751,1747,1753,1754,1751,968,1757,1758,1759,1760,1761,1762,1763,1764,1765,1765,1763,1762,1769,1770,1771,1772,1773,1774,1775,1775,1773,1778,1779],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,9,7,8,7,8,10,11,12,13,14,15,9,7,8,7,8,7,8,16,17,18,19,9,7,8,7,8,16,20,18,21,9,7,8,7,8,7,8,7,8,16,17,18,22,9,7,8,7,8,16,17,18,23,9,7,8,7,8,7,8,16,17,18,24,25,9,7,8,7,8,16,20,18,24,26,8,7,8,7,8,27,28,9,7,8,16,20,18,29,16,30,9,7,8,16,20,18,24,21,31,9,7,8,16,17,18,32,33,24,34,9,7,8,16,17,18,32,35,9,16,20,18,32,33,36,5,6,7,8,7,8,7,8,7,8,7,8,16,37,9,16,20,18,24,21,9,7,8,16,17,18,24,38,9,16,20,18,39,9,7,8,7,8,16,20,18,40,9,16,20,18,24,41,9,7,8,16,17,18,42,9,16,17,18,43,9,7,8,7,8,7,8,16,17,18,24,44,9,16,20,18,24,24,45,17,18,32,46,9,7,8,16,20,18,24,32,47,9,16,20,18,32,24,41,9,7,8,7,8,16,20,18,24,48,9,16,17,18,24,49,9,7,8,16,50,51,9,16,20,18,38,36,5,6,7,8,7,8,7,8,7,8,7,8,16,17,18,32,52,9,16,17,18,53,54,9,7,8,16,55,9,16,20,18,56,9,7,8,7,8,27,57,9,16,20,18,32,58,9,7,8,16,20,18,59,9,16,20,18,24,24,47,9,7,8,7,8,7,8,16,20,18,60,9,16,20,18,32,61,9,7,8,16,17,18,62,9,16,20,18,63,36,5,6,7,8,7,8,7,8,7,8,7,8,16,20,18,24,21,9,7,9,7,9,7,9,16,20,18,64,9,7,9,7,9,7,8,7,9,16,20,18,32,65,9,7,9,7,8,16,20,18,24,32,41,36,5,6,7,8,7,9,7,8,7,9,7,8,16,66,67,68,69,70,71,72,73,74,73,74,73,74,73,74,73,74,75,76,77,78,5,72,73,74,73,79,73,79,73,74,73,79,80,78,5,72,73,78,5,72,73,78,5,72,73,79,73,78,5,72,73,74,73,78,5,72,73,74,73,74,73,79,73,74,73,74,75,81,82,83,84,83,84,83,84,83,84,83,84,85,86,18,87,24,88,89,90,77,85,86,18,32,24,21,89,83,84,85,86,18,24,41,32,32,91,89,85,92,90,93,94,18,32,95,89,83,84,83,84,85,86,18,32,96,24,41,90,81,89,90,97,28,85,86,18,32,24,52,98,94,18,24,99,89,83,84,90,100,81,89,85,94,18,88,101,86,18,102,103,90,28,104,5,82,85,86,18,32,105,106,94,18,107,83,84,85,86,18,24,108,89,85,86,18,32,21,109,90,110,24,111,112,113,114,115,12,13,14,116,117,118,119,120,121,122,123,124,125,124,125,124,125,126,127,128,129,124,125,124,129,130,131,129,132,129,124,125,133,134,129,133,135,125,133,127,136,126,137,132,129,124,125,126,138,131,131,126,127,139,131,126,127,140,133,127,141,142,133,127,143,131,132,131,144,126,145,133,127,146,129,131,147,124,125,126,127,136,133,138,129,133,127,148,126,127,149,124,125,131,132,129,126,127,150,151,124,125,131,126,127,141,129,133,127,140,144,132,124,125,132,126,127,152,129,133,127,153,132,154,5,123,124,125,124,125,124,125,124,125,133,127,155,147,137,129,131,126,127,139,129,124,125,126,127,153,156,132,154,5,123,126,127,157,133,127,139,131,124,125,158,132,131,129,126,127,139,131,132,159,147,124,125,160,161,131,133,127,152,162,163,132,146,129,131,132,147,126,127,155,137,154,5,123,124,125,124,125,124,125,124,125,124,125,132,129,132,129,124,125,126,127,164,132,129,131,129,124,125,124,125,132,129,161,129,124,125,132,131,129,160,129,124,125,124,125,124,125,131,129,131,129,124,125,131,165,129,132,154,5,123,124,125,131,147,129,147,124,125,124,125,131,126,127,166,129,132,131,128,151,132,164,132,126,167,168,131,162,124,125,131,129,132,124,125,126,169,131,129,131,124,125,144,131,129,132,131,124,125,147,129,126,138,131,158,133,127,162,170,133,137,147,133,127,171,133,172,126,127,148,154,5,123,124,125,165,173,129,131,126,170,133,127,171,131,132,131,174,126,127,171,132,131,126,127,140,129,124,125,133,127,166,129,161,133,134,129,124,125,124,125,131,126,127,175,129,173,126,127,176,129,124,125,132,133,134,129,126,127,153,130,132,177,133,127,175,131,132,178,179,126,137,154,5,123,124,125,124,125,124,125,124,125,160,179,132,129,126,145,133,127,180,131,129,124,125,132,147,129,133,127,181,131,182,129,124,125,124,125,133,127,140,132,151,129,126,145,127,183,136,129,124,125,126,127,136,131,181,129,158,132,126,127,184,154,5,123,133,127,152,126,127,140,131,124,125,124,125,124,125,124,125,133,127,148,132,126,127,152,129,126,127,151,131,133,127,151,129,124,125,126,127,185,133,127,175,131,129,126,127,166,186,187,129,124,125,124,125,132,126,127,149,129,133,172,132,127,188,129,124,125,131,126,127,149,133,145,129,132,126,127,143,133,127,140,154,5,123,124,125,124,125,126,127,151,131,133,170,129,126,189,127,190,131,154,5,123,124,125,124,125,124,125,132,129,131,129,124,125,126,137,132,129,131,132,191,142,141,126,191,127,192,172,164,166,193,124,125,147,132,133,127,164,129,132,131,126,127,171,124,125,131,130,133,127,140,132,154,5,123,124,125,133,127,164,129,132,124,125,124,125,124,125,124,125,126,191,129,126,127,164,163,129,124,125,131,132,129,131,132,129,124,125,124,125,133,127,194,131,129,144,132,129,124,125,126,191,133,191,129,132,133,172,129,124,125,124,125,124,125,126,191,131,129,133,127,128,131,194,129,124,125,131,126,127,153,129,131,132,129,124,125,124,125,147,132,129,133,172,132,154,5,123,124,125,124,125,124,125,126,127,194,195,129,126,127,142,131,154,5,123,124,125,126,127,190,133,127,185,129,133,127,196,132,131,141,160,197,198,172,129,144,124,125,178,129,199,131,124,125,133,167,129,144,160,124,125,131,129,133,127,151,131,124,125,131,129,132,124,125,132,129,144,126,127,139,133,127,141,124,125,131,147,133,134,129,160,126,127,151,200,124,125,126,169,133,127,149,132,160,129,201,132,133,127,176,129,124,125,132,126,138,131,154,5,123,124,125,124,125,124,125,124,125,132,133,145,129,131,129,124,125,131,132,129,133,127,136,129,124,125,124,125,132,131,129,131,129,124,125,131,147,129,131,154,5,123,124,125,124,125,124,125,124,125,126,127,136,132,129,131,129,124,125,131,129,132,131,129,124,125,124,125,132,160,129,131,178,154,5,123,124,125,124,125,133,127,150,132,126,127,190,129,132,126,137,131,127,166,69,70,71,154,69,70,71,194,154,5,123,124,129,124,154,5,123,124,129,124,129,124,202,203,127,153,190,145,144,144,175,127,141,147,204,147,145,126,127,152,147,126,127,149,205,137,133,127,153,131,174,145,149,134,137,131,147,175,206,200,127,150,132,126,127,190,130,152,133,127,162,132,147,175,145,149,131,175,141,156,127,148,185,207,147,145,181,136,131,131,126,127,141,137,208,145,148,153,190,69,70,71,67,68,191,152,127,176,131,131,127,155,191,209,165,132,210,147,132,131,126,127,183,132,132,161,163,131,132,132,211,132,201,212,132,131,144,131,165,146,132,166,137,154,5,123,124,125,124,125,132,133,127,155,147,129,132,154,5,123,124,125,161,132,129,131,151,131,132,207,166,187,188,166,197,193,141,179,213,214,147,182,127,206,129,132,144,133,169,147,127,166,124,125,124,125,126,127,151,131,132,129,131,126,127,190,133,145,132,129,124,125,131,147,126,127,166,129,199,131,133,127,184,126,127,141,148,154,5,123,124,125,124,125,126,127,149,166,198,154,5,123,124,125,133,127,175,153,126,127,166],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f262c","0x592ef","0x354cb3","0xa5861","0xa4b89","0xa4298","0x1f2589","0x1f1c7f","0x1edef0","0x1ee498","0x1f1e9c","0x1edfb4","0x1eebf1","0x1ee19b","0x1eeb02","0x1ee493","0x1ee8cb","0x1f257e","0x177dbc","0x1ee635","0x1f1bd2","0x1ee686","0x1eeae6","0x1ee015","0x1ee959","0x1eebf8","0x1f3684","0x1f1c19","0x1edfdb","0x1eeb0d","0x1ee02b","0x1edfb0","0x1ee781","0x1ee7c5","0x1edfde","0x1ee030","0x1ee205","0x1ee024","0x1edffc","0x1ee738","0x1f1d5d","0xa53e0","0x1edfb7","0x1ee72f","0x1ee678","0x1f1b6b","0x1ee81a","0x177db9","0x1ee915","0x1ee849","0x1ee953","0x1edff5","0x1ee02e","0x1ee055","0x1ee0b0","0x1eea58","0x1f1afd","0x26141","0x108c9b","0x2618c","0x26706","0x11e88d","0x1ecae9","0x1eb8f0","0x1ec495","0x1eb11d","0x177e3f","0x177e44","0x1ec510","0x1ec600","0x1eb15a","0x177d91","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee73f","0x1ee020","0x34fd2","0x59940","0x1edf60","0x1eda53","0x177e48","0x1edb10","0x1edfd9","0x1ee4e9","0x177d95","0x1ee728","0x1edf67","0x177da5","0x1eda43","0x1ee8f0","0x1ee4ac","0x34ed4","0x1ee1d7","0x1ee048","0x1ee46e","0x1edfce","0x1ee6a8","0x177e31","0x1eea26","0x1ee477","0x59e9e","0x177bea","0x26c8f","0xa48dc","0xa35b1","0x11eaab","0xa4bca","0x1a0aca","0x1ef2d8","0x1ee74b","0x247051","0x246666","0x246a05","0x24637c","libm.so.6","0x37f02","0x764db","0x246b93","0x24633e","0x246396","0x2463ab","0x246363","0x37efe","0x37f40","0x709ce","0x37f25","0x37f27","0x7650f","0x764f4","0x76514","0x76488","0x76506","0x2463bb","0x37f03","0x764e7","0x2463af","0x76637","0x70ab8","0x76538","0x7652b","0x764ac","0x764e4","0x246a77","0x76518","0x76532","0x7651f","0x2463bf","0x764bb","0x246338","0x246376","0x764b3","0x24639f","0x764eb","0x2463b3","0x7651d","0x37f0b","0x37ef0","0x37ef8","0x37f1d","0xe380","0x37f13","0x246354","0x2463b7","0x7662f","0x709c0","0x24636d","0x246347","0x246386","0x76521","0x76491","0x37f17","0x7648e","0x70aa4","0x764d5","0x709c7","0x70ab0","0x70ac0","0x37f44","0x7649f","0x37f31","0x76625","0x37f33","0x764c0","0x764fd","0x7654a","0x37f21","0x2463a7","0x246392","0x76482","0x24634b","0x246a42","0x1ecf7d","0x70a1c","0x7653e","0x765b8","0x37f2f","0x76530","0x7647e","0x24638a","0x2463c2","0x764d8","0x7662a","0x70aba"],"tid":"700701","unregisterTime":116622126.552591},{"frameTable":{"length":209,"address":[1206351,608962,4045226,3445825,3446491,156044,157446,1173645,156499,2047333,2042824,2045333,2041214,1539510,2041225,2038911,2023152,2026214,2023467,2023445,2026242,2039452,2023344,2045928,2023385,2041330,2023286,2026111,2025485,1539647,1539667,2025498,2024256,2026181,2026269,2023972,2023348,2023381,2025428,2023951,2045572,2025366,2023450,2023472,2025530,2025895,2025404,2023463,2023408,2026087,2041388,365295,3493043,677985,674697,672392,2025279,2025553,2023338,2025826,2023351,2023482,2023460,2043024,2044327,1706698,2018025,2013424,2016405,2016768,2011421,1539652,1539519,2016528,1539473,1539633,2013558,1418669,368184,216630,366929,2022359,2025557,217042,2024567,2022061,2023420,366912,1539516,2022160,2023374,2021939,2023432,2023401,1539487,2025295,2025796,216788,2023390,2023900,2025321,2025517,1539797,2024610,2022068,155969,1084571,368286,1539152,676946,666818,594523,2028248,2026480,2027129,2027207,2388049,2385510,2386437,2384811,2384764,229122,484524,229169,2384702,2386835,2384790,484587,2384739,229184,484488,461255,58240,484580,484637,229104,2384778,2384758,229208,484911,484544,484565,484628,2384696,229139,2386551,2384827,484651,484596,484571,461248,484639,484531,2384711,229123,229157,484511,2384815,484599,2384807,484464,461496,484497,229118,2384819,484494,229153,484583,484658,484898,484919,484623,484632,2384765,484548,484473,484515,484610,484682,484482,484605,2384762,484708,461262,229112,229159,229175,229149,2384823,2384786,229167,2384724,484614,2384831,229131,484478,2384749,461472,484503,2384774,2384799,461498,461284,461488,484664,2384715,484646,484556,484672],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":209,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,2,1,2,2,2,2,2,2,2,1,1,2,2,2,2,2,1,2,1,1,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,1,2,1,2,1,2,2,1,2,2,1,1,2,2,2,2,1,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700702>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.796001,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,123],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":754,"stack":[7,21,26,27,29,33,39,43,49,50,60,63,68,73,78,84,86,99,100,105,108,110,117,118,123,124,141,147,154,159,161,171,176,183,188,201,207,210,218,224,234,240,248,254,256,273,294,336,339,352,363,380,385,392,394,403,409,417,422,428,434,438,444,452,457,462,469,475,475,478,483,487,495,500,502,514,519,522,529,533,534,541,548,551,553,560,561,563,568,570,573,573,573,573,573,575,580,580,580,580,580,596,608,611,612,613,615,616,619,616,624,625,626,626,628,631,628,634,635,641,644,645,646,641,648,650,651,652,652,653,657,658,660,662,664,666,664,667,664,675,676,679,682,683,684,686,683,690,693,696,690,700,701,702,702,708,709,709,711,712,714,716,717,718,724,725,727,725,729,731,729,734,740,743,746,746,746,746,746,748,7,7,7,7,7,749,750,756,615,616,625,758,759,628,760,761,763,646,764,765,766,652,769,653,652,770,771,658,657,773,775,664,775,667,676,776,777,778,675,684,779,780,683,783,690,784,785,784,786,702,789,790,701,791,797,799,800,803,805,809,811,814,817,818,819,820,616,821,626,626,822,822,628,641,823,646,652,652,652,658,824,825,826,827,667,837,837,839,839,843,845,846,852,852,854,864,865,869,870,874,876,878,892,893,896,899,901,904,910,911,912,914,917,920,928,931,932,934,935,934,941,942,943,947,948,948,949,951,952,955,958,959,960,608,961,616,962,615,626,963,964,965,966,646,967,968,969,652,970,971,972,658,974,975,664,976,675,977,980,981,982,683,784,983,690,984,985,986,987,990,987,993,994,995,997,1002,1005,1006,1011,1012,1016,1017,1025,1026,1028,1031,1037,1038,1041,1042,1046,1048,1059,1061,1063,1068,1069,1073,1079,1080,1082,1085,1091,1092,608,615,615,625,822,1093,1094,653,1095,1096,664,667,676,683,684,1097,790,1098,709,1099,714,1100,1101,729,1109,1111,1113,1117,1119,1121,1127,1128,1141,1144,1146,1146,1150,1152,1153,1165,1166,1168,1169,1175,1176,1178,1181,1189,1192,1194,1195,1201,1202,1206,1207,1212,1213,1216,1221,1223,1223,1227,1227,1229,1229,1230,1230,1232,1233,1235,1236,818,1237,1238,1241,608,1242,616,1245,1246,1247,619,1259,1262,1264,1264,1266,1270,1270,1273,1270,1275,1278,1280,1288,1291,1293,1294,1297,1301,1301,1304,1307,1308,1309,1323,1324,1326,1330,1333,1335,1336,1342,1344,1345,1351,1352,1356,1366,1367,1369,1370,1374,1378,1379,1385,1386,1390,1394,1394,1400,1403,1406,1408,1408,1412,1413,1413,1416,1417,1420,1428,1429,1430,1431,1247,1433,1433,1434,1435,1094,641,1438,1439,658,1440,667,1441,1442,1443,683,1444,1445,702,790,702,1447,709,1448,1451,1452,725,1454,1455,729,1456,1456,1457,1113,1458,1459,1121,1121,1127,1461,1462,1468,1469,1472,1473,1482,1483,1486,1489,1493,1494,1498,1499,1507,1509,1511,1514,1520,1527,1528,1531,1532,1543,1545,1549,1550,1556,1557,1568,1571,1576,1577,1579,1581,1582,1590,1592,1596,1597,1603,1604,1609,1612,608,608,1613,608,1614,615,616,616,616,616,615,1615,1616,1617,1618,1619,1620,626,625,822,1621,628,1622,628,822,1623,641,1624,1624,1625,1626,646,646,1627,652,652,1628,1629,1630,652,1631,1633,658,657,1634,657,658,657,770,975,1636,667,1637,664,1638,667,664,1639,1640,676,776,675,683,683,1641,1642,684,1643,1644,683,690,1097,784,690,1645,1646,784,1647,1649,749,1659,1660,1661,1663,1665,1663,1666,1672,1673,1673,1674,1676,1679,1680,1681,1682,1688,1689,1692,1693,1696,1698,1701,1702,1703,1706,1712,1713,1714,1716,1717,1719,1722,1725,1726,1727,1737,1739,1743,1745,1747,1753,1756,1762,1764,1767,1770,1772,1773,1776,1786,1788,1792,1796,1802,1805,1807,1810,1811,1817,1820,1821],"time":[116621305.922889,116621306.013206,116621306.02564,116621306.050508,116621306.289987,116621307.688871,116621309.525747,116621311.114114,116621312.803634,116621314.077273,116621315.20712,116621316.294515,116621317.712402,116621318.859802,116621320.077434,116621321.303287,116621322.794651,116621323.861522,116621324.986743,116621325.98491,116621326.927702,116621327.901776,116621328.888487,116621330.164036,116621331.231707,116621332.55851,116621333.575768,116621334.873733,116621336.195264,116621337.16184,116621338.103925,116621339.335401,116621340.342298,116621341.245894,116621342.277082,116621343.178798,116621344.088867,116621345.051968,116621346.735204,116621347.734047,116621348.778139,116621349.823413,116621350.818411,116621351.923172,116621352.889792,116621354.066391,116621356.093794,116621357.172992,116621358.115373,116621368.025942,116621370.138036,116621371.960248,116621373.700346,116621375.172746,116621376.486476,116621378.249232,116621379.519533,116621380.753581,116621381.934706,116621383.060613,116621384.324494,116621385.419145,116621386.455745,116621387.478307,116621388.493526,116621389.504471,116621390.512733,116621391.549141,116621392.567359,116621393.602947,116621395.12975,116621396.088738,116621397.016091,116621397.956653,116621398.906738,116621399.868863,116621400.853886,116621401.830801,116621402.775532,116621403.725909,116621404.688526,116621405.661919,116621406.643219,116621407.629336,116621408.60685,116621409.563171,116621410.52578,116621411.978726,116621413.370731,116621414.222415,116621415.137813,116621415.143841,116621415.147195,116621415.150122,116621415.153562,116621415.169012,116621415.40456,116621415.410795,116621415.414328,116621415.417428,116621415.420418,116621416.843761,116621420.392022,116621421.186515,116621422.064343,116621422.992459,116621423.936678,116621424.89541,116621425.833688,116621426.951031,116621428.212276,116621429.455548,116621430.730858,116621431.890577,116621433.007387,116621434.082903,116621435.174013,116621436.208766,116621437.225207,116621438.235701,116621439.247624,116621440.270093,116621441.246499,116621442.20004,116621443.141432,116621444.098873,116621445.064931,116621446.079294,116621447.055909,116621448.039605,116621449.021246,116621449.978256,116621450.968213,116621451.947049,116621452.920844,116621453.89739,116621454.878537,116621455.86906,116621456.853971,116621457.841946,116621458.833654,116621459.869663,116621460.864448,116621461.832372,116621462.79008,116621463.755509,116621464.771797,116621465.783806,116621466.89631,116621467.901922,116621468.882533,116621469.872223,116621470.858432,116621471.866257,116621472.857588,116621473.846829,116621474.807611,116621475.770652,116621476.743096,116621477.72292,116621478.72899,116621479.79061,116621480.811297,116621481.815335,116621482.816662,116621483.852562,116621484.870461,116621485.894448,116621486.919741,116621487.913904,116621488.916382,116621489.90113,116621490.880998,116621491.864372,116621494.910206,116621494.915266,116621494.918227,116621494.921265,116621494.924539,116621494.944656,116621498.028783,116621498.034167,116621498.037154,116621498.040315,116621498.043221,116621498.063328,116621498.711972,116621502.932903,116621506.477191,116621509.901494,116621512.376616,116621514.33169,116621515.953172,116621517.381718,116621518.607959,116621519.765206,116621520.83553,116621521.87468,116621522.901305,116621523.920335,116621525.065921,116621526.059648,116621527.039583,116621528.022711,116621529.163689,116621530.120367,116621531.04535,116621531.983744,116621532.969002,116621533.970291,116621534.972974,116621535.975692,116621536.977331,116621537.967231,116621538.957304,116621539.960499,116621540.965872,116621541.996524,116621542.999882,116621543.996343,116621545.063486,116621546.053115,116621547.036744,116621548.293124,116621549.28429,116621550.21993,116621551.164737,116621552.14176,116621553.111681,116621554.085549,116621555.065773,116621556.051143,116621558.737119,116621559.727629,116621560.758119,116621561.78547,116621562.802055,116621563.77654,116621564.748898,116621565.794768,116621566.779753,116621567.753354,116621568.731767,116621572.479006,116621573.429352,116621574.374976,116621575.317067,116621576.30807,116621577.289138,116621578.269731,116621579.257263,116621580.302319,116621581.367423,116621582.465353,116621583.588398,116621584.690353,116621587.290477,116621588.407884,116621589.508871,116621590.584361,116621591.640235,116621592.702241,116621593.778059,116621594.809363,116621595.8088,116621596.871936,116621597.868425,116621598.850269,116621599.834332,116621600.822509,116621601.813853,116621602.807694,116621603.803116,116621604.799839,116621605.790053,116621606.746838,116621607.783967,116621608.707708,116621609.716074,116621610.732543,116621611.728914,116621612.663774,116621613.623986,116621614.614636,116621615.611001,116621616.822876,116621617.821735,116621618.959003,116621620.015303,116621620.941143,116621621.832788,116621622.858517,116621623.802512,116621624.714959,116621626.867027,116621627.807898,116621628.852271,116621630.075581,116621631.128161,116621632.152019,116621633.167053,116621634.177715,116621635.185321,116621636.215292,116621637.217216,116621638.237424,116621639.244842,116621640.236978,116621641.23013,116621642.22441,116621643.21965,116621644.205556,116621649.217957,116621650.062156,116621650.889347,116621651.721083,116621652.591513,116621653.527661,116621654.48907,116621655.443341,116621656.41936,116621657.563328,116621658.899771,116621660.226802,116621661.434364,116621662.583957,116621663.692899,116621664.772388,116621665.914082,116621666.957216,116621667.969653,116621668.976148,116621669.98014,116621670.98313,116621671.947531,116621672.870838,116621673.79325,116621674.73277,116621675.688608,116621676.656603,116621677.63375,116621678.617457,116621679.605606,116621680.596889,116621681.590573,116621682.585742,116621683.600117,116621684.556635,116621685.483743,116621686.412886,116621687.357847,116621688.342851,116621689.355108,116621690.364201,116621691.370904,116621692.375581,116621693.379276,116621694.419676,116621695.462865,116621696.496197,116621697.52042,116621698.53798,116621699.550807,116621700.560112,116621701.546821,116621702.509673,116621703.478291,116621704.454774,116621705.532192,116621706.482377,116621707.415811,116621708.362519,116621709.346292,116621710.316616,116621711.313271,116621712.533704,116621713.552201,116621714.484559,116621715.420693,116621716.386782,116621717.368076,116621718.337387,116621719.312111,116621720.293365,116621724.333074,116621725.560894,116621726.477876,116621727.348552,116621728.248161,116621729.484772,116621730.516183,116621731.473564,116621732.44654,116621733.454998,116621734.642833,116621735.691579,116621736.659729,116621737.621672,116621738.592015,116621739.722075,116621740.74915,116621741.817119,116621742.809666,116621743.787161,116621744.768205,116621745.898327,116621746.925605,116621748.084323,116621749.133652,116621750.248186,116621751.415088,116621752.391485,116621753.750664,116621754.721331,116621755.617866,116621756.530107,116621757.609201,116621758.574312,116621759.465066,116621760.388992,116621761.467721,116621762.414111,116621763.431967,116621764.412278,116621765.475411,116621766.499529,116621767.4272,116621768.422423,116621769.429607,116621770.363718,116621771.302029,116621772.255258,116621773.363345,116621774.376058,116621775.32217,116621776.252869,116621777.179584,116621778.122091,116621779.082026,116621780.052426,116621781.029566,116621782.373639,116621783.424678,116621784.379207,116621785.3535,116621786.323626,116621787.248042,116621788.184486,116621789.256565,116621790.379566,116621791.428332,116621792.339938,116621793.257558,116621794.195167,116621795.149783,116621799.954066,116621800.781516,116621801.619624,116621802.487525,116621803.390166,116621804.320014,116621805.26948,116621806.233111,116621807.287794,116621808.559334,116621809.848419,116621811.137695,116621812.336295,116621813.47985,116621814.585168,116621815.66194,116621816.711433,116621817.705209,116621818.666769,116621819.612306,116621820.567805,116621821.500093,116621822.43719,116621823.389421,116621824.354791,116621825.329703,116621826.311672,116621827.298814,116621828.289343,116621829.282369,116621830.277169,116621831.273475,116621832.270718,116621833.362584,116621834.403376,116621835.420697,116621836.431678,116621837.439354,116621838.417822,116621839.380843,116621840.351044,116621841.329904,116621842.314416,116621843.302495,116621844.293859,116621845.287168,116621846.282398,116621847.27916,116621848.254674,116621849.243718,116621850.226938,116621851.22365,116621852.211334,116621853.191077,116621854.183944,116621855.204003,116621856.222272,116621857.235953,116621858.245918,116621859.261575,116621860.310919,116621861.35247,116621862.383174,116621863.394859,116621864.396073,116621865.412164,116621866.397863,116621867.367484,116621868.34246,116621869.323485,116621870.309644,116621871.30026,116621872.293643,116621879.514873,116621880.583408,116621881.595719,116621882.718405,116621884.431453,116621885.469381,116621886.360066,116621887.246957,116621888.146047,116621889.136285,116621890.300831,116621891.565754,116621892.809083,116621893.993657,116621895.12999,116621896.253619,116621897.311696,116621898.349893,116621899.377073,116621900.416664,116621902.023554,116621902.955303,116621903.860194,116621904.765507,116621905.662045,116621906.578758,116621907.540511,116621908.522363,116621909.472124,116621910.406094,116621911.346561,116621912.276307,116621913.243972,116621914.200057,116621915.165366,116621916.139775,116621917.120708,116621918.155864,116621919.139986,116621920.122556,116621921.108879,116621922.143097,116621923.613569,116621924.552557,116621925.454829,116621926.373597,116621927.313667,116621928.269963,116621929.23845,116621930.215993,116621931.222799,116621932.242881,116621933.258619,116621934.269929,116621935.278573,116621936.30715,116621937.311375,116621938.309184,116621939.282574,116621940.250222,116621941.243337,116621942.225098,116621943.206949,116621944.175487,116621945.168024,116621947.024138,116621948.00878,116621948.94515,116621949.88368,116621950.836488,116621951.802274,116621952.777477,116621953.759345,116621954.756128,116621955.745527,116621956.736484,116621957.729768,116621958.755399,116621959.816498,116621960.833868,116621961.842565,116621962.848375,116621963.887805,116621964.887414,116621968.311809,116621969.212261,116621970.133013,116621971.02916,116621971.94598,116621972.881195,116621973.865564,116621975.087496,116621976.106018,116621977.056645,116621978.011628,116621979.054544,116621980.058954,116621981.05787,116621982.071181,116621983.068624,116621984.064589,116621985.158882,116621986.264592,116621987.504311,116621988.701059,116621989.847886,116621990.955649,116621992.034923,116621993.085939,116621994.14074,116621995.214526,116621996.270885,116621997.26628,116621998.255177,116621999.245961,116622000.239064,116622001.22879,116622002.193709,116622003.152204,116622004.119189,116622005.095214,116622006.077481,116622007.064767,116622008.055606,116622009.049472,116622010.044734,116622011.04167,116622012.038925,116622013.03677,116622014.035161,116622015.034014,116622016.033171,116622017.032709,116622018.032265,116622019.031824,116622020.03155,116622021.031387,116622022.031295,116622023.028813,116622023.997694,116622024.997876,116622025.993449,116622026.958077,116622027.92417,116622028.898159,116622029.87906,116622030.896541,116622031.929306,116622032.957025,116622033.96605,116622034.938819,116622035.92977,116622036.908215,116622037.887597,116622038.872015,116622039.860497,116622040.940796,116622041.895639,116622042.832679,116622043.782789,116622045.067566,116622047.824539,116622048.740722,116622049.685317,116622050.646027,116622051.618376,116622052.621579,116622053.689999,116622054.806127,116622055.92303,116622057.052973,116622058.204124,116622059.379194,116622060.478733,116622061.553072,116622062.616826,116622063.650489,116622064.672985,116622065.744378,116622066.762903,116622067.759993,116622068.753511,116622069.802014,116622070.770166,116622071.721764,116622072.682203,116622073.687465,116622074.662321,116622075.639639,116622076.622544,116622077.68524,116622078.730787,116622079.741124,116622080.708541,116622081.642705,116622082.585431,116622083.542487,116622084.511498,116622085.503996,116622086.486458,116622087.47186,116622088.460621,116622089.452375,116622090.435231,116622091.431703,116622092.408084,116622093.424428,116622094.394043,116622095.365466,116622096.362556,116622097.353495,116622098.400888,116622099.413041,116622100.418722,116622101.427507,116622102.440424,116622103.440429,116622104.438875,116622105.437153,116622106.435854,116622107.435152,116622108.49493,116622109.45819,116622110.414895,116622111.381034,116622112.356271],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[76,90,12,24,239,1398,1836,1588,1345,1273,1129,1087,1088,1147,1217,1225,1113,1066,972,968,942,974,958,976,1067,1091,1017,1068,1081,966,942,937,939,903,894,901,910,963,932,924,920,928,896,912,918,1176,1100,1079,874,4751,2087,1822,1740,1472,1282,1248,1270,1234,1181,1125,1095,1094,1036,1022,1015,1010,1008,1005,1018,1035,1029,958,927,940,950,962,971,976,944,950,962,973,981,986,977,956,962,970,979,851,314,6,3,2,3,15,49,6,3,3,2,334,836,787,877,928,944,958,938,1117,1251,1243,1218,1159,1112,1070,1091,1034,1016,1010,1006,1022,976,948,941,952,966,1009,976,977,981,957,989,971,965,971,976,990,984,987,991,1028,994,963,957,965,1012,993,1019,1005,980,982,986,1003,991,989,960,963,972,979,1006,1057,1020,1004,1001,1031,1017,1023,1021,994,998,980,979,983,1025,5,2,3,3,20,23,5,2,3,2,20,648,4220,3341,2886,2475,1955,1621,1406,1226,1157,1070,1039,1026,1019,1014,993,979,983,987,956,924,938,985,1001,1002,1002,1001,989,990,1003,1005,1003,1003,996,996,989,983,986,991,935,944,958,969,973,980,985,977,990,1030,1027,1016,974,972,978,984,973,978,965,950,945,942,960,981,980,987,1025,1065,1097,1123,1101,1076,1117,1100,1075,1055,1062,1075,1031,999,995,996,981,984,988,991,993,995,996,990,956,921,923,923,942,937,934,960,990,996,996,998,952,959,925,891,900,924,912,929,940,1044,1078,1052,1023,1015,1010,1007,1029,1001,1020,1007,992,993,994,995,985,926,823,827,831,870,936,961,954,976,1143,1336,1327,1207,1149,1108,1079,1057,1043,1012,1006,1003,1002,964,923,922,939,955,967,977,983,988,991,993,995,996,956,927,929,944,985,1012,1009,1006,1004,1003,1040,1043,1033,1024,1017,1012,1009,986,962,968,976,955,950,933,946,983,970,996,1020,1018,932,936,951,965,969,974,981,957,930,916,870,899,956,1017,957,972,1008,1009,1008,968,961,970,1001,1027,994,992,977,981,984,988,1078,1049,1025,1008,976,962,970,896,912,934,914,890,923,929,946,925,931,930,936,927,922,930,934,938,953,965,957,946,930,926,942,959,970,977,983,988,916,909,917,924,936,952,950,944,911,917,937,954,904,827,838,867,902,929,949,963,1054,1271,1289,1289,1198,1143,1105,1076,1049,993,961,945,955,932,937,952,965,974,981,987,990,993,994,996,997,1020,1040,1017,1010,1007,978,963,970,978,984,988,991,993,995,996,975,989,983,996,987,970,992,1020,1018,1013,1009,1015,1049,1041,1030,1011,1001,1016,985,969,974,981,986,990,993,2040,1068,1012,1103,1713,1037,890,886,899,990,1164,1264,1243,1184,1136,1123,1058,1038,1027,1018,1058,931,887,905,896,916,961,981,949,933,940,929,967,956,965,974,980,1035,984,982,986,1021,988,924,902,918,940,956,968,977,1006,1020,1015,1011,1008,1028,1004,997,973,967,993,981,981,968,992,971,984,936,938,952,965,975,981,996,989,990,993,1025,1061,1017,1008,1005,1039,999,1441,900,920,896,916,935,984,997,971,950,954,999,1004,998,998,997,995,1073,1105,1239,1196,1146,1107,1079,1051,1054,1073,1056,995,988,990,993,989,952,958,966,976,982,987,990,993,995,996,997,997,998,998,999,999,999,999,999,999,999,997,968,1000,995,964,966,973,980,1017,1032,1027,1009,972,971,978,979,984,988,990,954,937,950,1156,940,916,944,960,972,1003,1068,1116,1116,1129,1151,1166,1099,1074,1063,1033,1022,1071,1004,997,993,1048,968,951,960,1005,974,977,982,987,1045,1005,967,934,942,957,969,992,982,985,988,991,982,996,976,1016,969,971,997,990,1047,1012,1005,1003,1012,1000,998,998,998,999,1059,963,956,966,975]},"stackTable":{"length":1822,"prefix":[null,0,1,2,3,4,5,6,4,8,9,10,11,12,13,14,15,16,17,18,19,20,19,22,23,24,25,25,24,28,22,30,31,32,18,34,35,36,37,38,16,40,41,42,41,44,45,46,47,48,47,14,51,52,53,54,55,56,57,58,59,54,61,62,61,64,65,66,67,52,69,70,71,72,71,74,75,76,77,70,79,80,81,82,83,82,85,12,87,88,89,90,91,92,93,94,95,96,97,98,96,92,101,102,103,104,104,106,107,104,109,90,111,112,113,114,115,116,116,112,119,120,121,122,122,88,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,136,142,143,144,145,146,134,148,149,150,151,152,153,149,155,156,157,158,158,160,132,162,163,164,165,166,167,168,169,170,165,172,173,174,175,163,177,178,179,180,181,182,178,184,185,186,187,130,189,190,191,192,193,194,195,196,197,198,199,200,194,202,203,204,205,206,203,208,209,192,211,212,213,214,215,216,217,212,219,220,221,222,223,190,225,226,227,228,229,230,231,232,233,228,235,236,237,238,239,226,241,242,243,244,245,246,247,242,249,250,251,252,253,253,255,128,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,262,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,null,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,87,337,338,8,340,341,342,343,344,345,346,347,348,349,350,351,341,353,354,355,356,357,358,359,360,361,362,343,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,375,381,382,383,384,373,386,387,388,389,390,391,372,393,8,395,396,397,398,399,400,401,402,398,404,405,406,407,408,396,410,411,412,413,414,415,416,411,418,419,420,421,419,423,424,425,426,427,399,429,430,431,432,433,432,435,436,437,431,439,440,441,442,443,429,445,446,447,448,449,450,451,446,453,454,455,456,456,458,459,460,461,454,463,464,465,466,467,468,404,470,471,472,473,474,472,476,477,470,479,480,481,482,481,484,485,486,480,488,489,490,491,492,493,494,489,496,497,498,499,496,501,396,503,504,505,506,507,508,509,510,511,512,513,508,515,516,517,518,516,520,521,506,523,524,525,526,527,528,525,530,531,532,532,530,535,536,537,538,539,540,536,542,543,544,545,546,547,547,549,550,507,552,506,554,555,556,557,558,559,555,507,562,505,564,565,566,567,505,569,503,571,572,503,574,395,576,577,578,579,8,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,8,597,598,599,600,601,602,603,604,605,606,607,607,609,610,609,607,606,614,614,614,617,618,604,620,621,622,623,622,622,621,627,627,629,630,627,632,633,633,602,636,637,638,639,640,640,642,643,643,640,640,647,639,649,649,649,649,637,654,655,656,656,656,659,656,661,655,663,663,665,663,600,668,669,670,671,672,673,674,674,674,677,678,673,680,681,680,680,681,685,671,687,688,689,689,691,692,689,694,695,688,697,698,699,699,697,669,703,704,705,706,707,707,707,710,707,706,713,713,715,713,713,704,719,720,721,722,723,721,721,726,720,728,728,730,728,732,733,598,735,736,737,738,739,739,741,742,735,744,745,4,747,601,601,598,751,752,753,754,755,623,757,633,630,630,647,762,762,762,649,649,767,768,656,656,659,772,663,774,677,677,678,685,685,680,781,782,689,689,692,697,787,788,697,788,669,792,793,794,795,796,795,798,798,796,801,802,802,804,801,806,807,808,808,810,808,812,813,813,815,816,607,610,617,622,627,640,656,772,665,663,600,828,829,830,831,832,833,834,835,836,835,838,833,840,841,842,841,844,844,831,847,848,849,850,851,850,853,848,855,856,857,858,859,860,861,862,863,863,862,866,867,868,866,860,871,872,873,872,875,875,877,858,879,880,881,882,883,884,885,886,887,888,889,890,891,891,889,894,895,888,897,898,898,900,897,902,903,886,905,906,907,908,909,907,909,906,913,913,915,916,913,918,919,884,921,922,923,924,925,926,927,927,929,930,930,926,933,933,924,936,937,938,939,940,940,938,937,944,945,946,944,925,925,950,925,936,953,954,936,956,957,954,610,610,618,757,632,633,629,642,643,768,768,772,659,774,973,663,663,674,674,978,979,782,782,695,697,697,699,796,796,988,989,796,991,992,798,798,798,996,802,998,999,1000,1001,1000,1003,1004,1003,998,1007,1008,1009,1010,1009,1008,1013,1014,1015,1013,801,1018,1019,1020,1021,1022,1023,1024,1022,1021,1027,1027,1029,1030,1019,1032,1033,1034,1035,1036,1034,1033,1039,1040,1039,795,1043,1044,1045,1045,1047,1045,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1057,1060,1060,1062,1055,1064,1065,1066,1067,1066,1065,1070,1071,1072,1053,1074,1075,1076,1077,1078,1078,1077,1081,1081,1083,1084,1075,1086,1087,1088,1089,1090,1088,627,640,649,661,692,699,713,721,722,752,1102,1103,1104,1105,1106,1107,1108,1108,1110,1107,1112,1105,1114,1115,1116,1116,1118,1115,1120,1103,1122,1123,1124,1125,1126,1126,1125,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1139,1142,1143,1138,1145,1136,1147,1148,1149,1148,1151,1151,1134,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1164,1163,1167,1167,1161,1170,1171,1172,1173,1174,1172,1171,1177,1177,1179,1180,1159,1182,1183,1184,1185,1186,1187,1188,1186,1190,1191,1185,1193,1193,1183,1196,1197,1198,1199,1200,1200,1197,1203,1204,1205,1204,1157,1208,1209,1210,1211,1210,1210,1214,1215,1210,1217,1218,1219,1220,1219,1222,1217,1224,1225,1226,1225,1228,1218,1218,1231,1224,1224,1234,1224,610,609,607,1239,1240,617,614,1243,1244,1243,617,604,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1258,1260,1261,1257,1263,1263,1265,1255,1267,1268,1269,1269,1271,1272,1268,1274,1274,1276,1277,1274,1279,1253,1281,1282,1283,1284,1285,1286,1287,1285,1289,1290,1284,1292,1292,1292,1295,1296,1282,1298,1299,1300,1300,1302,1303,1299,1305,1306,1305,1305,1251,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1322,1321,1325,1319,1327,1328,1329,1329,1331,1332,1328,1334,1334,1317,1337,1338,1339,1340,1341,1340,1343,1343,1338,1346,1347,1348,1349,1350,1348,1347,1353,1354,1355,1315,1357,1358,1359,1360,1361,1362,1363,1364,1365,1365,1362,1368,1368,1360,1371,1372,1373,1372,1375,1376,1377,1377,1358,1380,1381,1382,1383,1384,1384,1383,1387,1388,1389,1381,1391,1392,1393,1392,1395,1396,1397,1398,1399,1399,1401,1402,1399,1404,1405,1398,1407,1313,1409,1410,1411,1411,1411,1414,1415,1415,1415,1418,1419,1414,1421,1422,1423,1424,1425,1426,1427,1426,1427,618,622,1432,630,627,649,1436,1437,659,973,978,978,781,691,692,707,1446,715,713,1449,1450,721,726,1453,732,1108,1112,1116,1116,1125,1460,1460,1123,1463,1464,1465,1466,1467,1465,1464,1470,1471,1470,753,1474,1475,1476,1477,1478,1479,1480,1481,1479,1478,1484,1485,1484,1487,1488,1476,1490,1491,1492,1492,1491,1495,1496,1497,1495,1474,1500,1501,1502,1503,1504,1505,1506,1504,1508,1503,1510,1510,1512,1513,1501,1515,1516,1517,1518,1519,1517,1521,1522,1523,1524,1525,1526,1524,1523,1529,1530,1529,1521,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1542,1544,1540,1546,1547,1548,1546,1538,1551,1552,1553,1554,1555,1555,1553,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1565,1569,1570,1564,1572,1573,1574,1575,1574,1573,1578,1578,1580,1578,1562,1583,1584,1585,1586,1587,1588,1589,1587,1591,1586,1593,1594,1595,1595,1584,1598,1599,1600,1601,1602,1602,1599,1605,1606,1607,1608,1607,1610,1611,610,609,614,622,623,757,622,622,627,633,627,643,762,642,1437,768,649,649,1437,661,1632,656,665,1635,665,665,674,674,685,685,782,685,695,689,599,751,1648,739,1650,1651,1652,1653,1654,1655,1656,1657,1658,1657,1658,1656,1662,1662,1664,1664,1654,1667,1668,1669,1670,1671,1669,1670,1668,1675,1675,1677,1678,1675,1677,1675,1652,1683,1684,1685,1686,1687,1687,1687,1690,1691,1690,1687,1694,1695,1686,1697,1697,1699,1700,1697,1699,1697,1704,1705,1684,1707,1708,1709,1710,1711,1709,1709,1709,1715,1711,1708,1718,1718,1720,1721,1718,1723,1724,1718,1720,1650,1728,1729,1730,1731,1732,1733,1734,1735,1736,1735,1738,1733,1740,1741,1742,1741,1744,1744,1746,1731,1748,1749,1750,1751,1752,1751,1754,1755,1749,1757,1758,1759,1760,1761,1758,1763,1734,1765,1766,1734,1768,1769,1740,1771,1740,1750,1774,1775,1749,1777,1778,1779,1780,1781,1782,1783,1784,1785,1784,1787,1782,1789,1790,1791,1790,1793,1794,1795,1780,1797,1798,1799,1800,1801,1801,1803,1804,1800,1806,1806,1808,1809,1801,1800,1812,1813,1814,1815,1816,1814,1818,1819,1816],"frame":[0,1,2,3,4,5,6,7,8,9,10,11,10,11,10,11,10,11,10,11,12,13,14,15,16,17,18,19,20,18,21,16,20,22,23,14,15,16,20,24,23,10,11,25,23,14,15,16,20,26,27,23,10,11,10,11,14,21,16,20,28,23,12,29,14,21,16,17,18,23,10,11,12,30,14,21,16,20,31,23,14,21,16,20,32,17,33,23,10,11,10,11,10,11,14,15,16,20,20,22,34,23,14,21,16,35,20,17,36,17,37,23,10,11,14,15,16,22,38,23,14,15,16,33,39,40,8,9,10,11,10,11,10,11,10,11,10,11,14,21,16,41,23,14,21,16,17,42,23,10,11,14,21,16,43,23,14,15,16,44,20,45,23,10,11,10,11,14,15,16,20,46,23,14,15,16,47,23,10,11,14,21,16,48,23,14,15,16,49,23,10,11,10,11,10,11,50,51,52,53,54,55,23,14,21,16,17,56,15,16,57,23,10,11,14,15,16,20,58,23,14,21,16,20,59,23,10,11,10,11,14,21,16,20,42,23,14,21,16,17,60,23,10,11,14,21,16,20,36,23,14,21,16,17,24,20,36,40,8,9,10,11,10,11,10,23,10,23,10,23,14,15,16,61,23,10,23,10,40,8,9,10,11,10,11,10,23,10,11,10,23,14,15,16,62,40,8,9,10,11,10,23,10,23,10,40,8,9,10,23,10,23,10,40,8,9,10,40,8,9,10,40,8,9,10,11,10,23,10,23,10,23,14,15,16,20,36,63,64,65,66,67,68,67,68,67,69,67,69,67,68,70,71,69,67,69,67,69,67,68,67,69,70,72,69,67,73,8,66,67,68,67,68,67,68,67,68,67,68,70,74,69,67,69,70,75,69,67,68,67,69,70,71,76,65,77,78,79,78,79,80,81,16,82,83,80,81,16,17,84,83,78,79,80,81,16,20,18,83,78,79,80,85,83,80,81,16,17,86,78,79,78,79,87,88,80,89,16,22,83,80,81,16,20,90,83,78,79,80,81,16,20,36,83,78,79,80,91,89,16,17,17,92,83,80,89,16,17,20,93,78,79,78,79,87,94,83,87,75,83,78,79,87,94,80,81,16,95,83,78,79,80,81,16,17,36,83,80,81,16,96,87,71,97,8,77,78,79,78,79,80,89,16,20,98,83,80,89,16,99,81,16,100,97,8,77,80,89,16,101,78,79,87,102,71,83,78,79,80,81,16,103,97,8,77,80,81,16,98,17,20,24,87,71,83,80,81,16,20,17,24,91,80,104,80,81,16,20,22,87,74,5,6,7,105,106,107,108,109,110,111,112,113,114,113,114,113,114,113,115,8,112,113,115,8,112,44,116,117,118,117,118,117,118,117,118,117,118,119,120,121,122,123,124,125,126,119,120,121,127,125,117,118,128,129,126,119,125,126,128,121,130,120,121,131,132,125,117,118,117,118,126,120,121,133,134,119,128,135,125,136,137,126,119,125,117,118,126,119,120,138,128,135,125,126,120,138,119,125,117,118,117,118,117,118,126,119,128,121,139,125,120,135,119,126,121,130,125,117,118,126,128,121,140,120,121,140,125,128,121,141,142,119,125,117,118,117,118,119,126,120,135,143,125,119,120,144,124,126,125,117,118,128,121,132,119,120,123,125,119,128,144,120,121,130,145,8,116,117,118,146,128,121,133,5,6,7,105,106,119,126,125,117,125,128,121,147,121,148,149,150,122,121,151,134,152,143,120,121,147,153,146,121,149,128,154,154,155,156,131,147,128,121,134,119,157,139,120,121,158,126,141,145,8,116,117,118,159,125,126,157,117,118,119,120,155,145,8,116,126,128,155,117,118,119,120,121,160,126,161,123,157,119,146,157,162,163,164,145,8,116,117,118,117,118,117,118,119,125,119,125,117,118,119,125,126,146,125,117,118,117,118,126,125,126,145,8,116,117,118,117,118,117,118,119,126,125,128,121,165,157,125,117,118,126,125,126,128,166,145,8,116,117,118,117,118,117,118,117,118,128,121,134,167,120,121,168,125,120,155,121,169,128,121,161,125,117,118,120,121,170,153,150,125,119,128,121,171,120,121,156,145,8,116,117,118,117,118,119,120,121,172,148,125,119,159,125,117,118,120,121,171,161,146,125,128,121,148,126,126,128,155,173,128,121,140,120,121,156,174,175,176,174,141,154,177,154,129,165,178,148,179,155,121,180,146,181,124,120,121,134,161,182,183,124,157,130,126,128,121,176,120,121,134,146,119,120,184,117,118,117,118,143,125,120,185,126,125,117,118,120,185,126,125,128,121,133,119,125,117,118,117,118,120,121,133,126,125,119,120,121,140,125,117,118,128,121,179,119,125,128,186,119,145,8,116,126,120,163,117,118,117,118,117,118,117,118,117,118,119,125,126,128,187,125,117,118,120,184,126,125,120,121,132,125,117,118,117,118,119,157,125,146,120,121,142,145,8,116,120,121,127,157,188,157,189,154,133,165,188,157,144,118,117,118,117,118,117,118,119,128,123,125,126,125,117,118,126,128,185,125,126,125,117,118,117,118,126,119,145,8,116,117,118,117,118,117,118,117,118,128,190,120,121,147,125,119,125,117,118,119,125,126,143,145,8,116,117,118,117,118,117,118,117,118,191,119,125,119,126,125,117,118,120,121,179,119,125,119,120,121,152,125,117,118,117,118,128,121,192,120,121,161,125,126,193,125,117,118,120,121,174,134,125,120,121,167,155,145,8,116,128,166,126,120,121,141,117,118,117,118,119,125,119,125,117,118,119,125,126,126,120,194,119,128,154,126,134,190,128,121,130,185,128,121,180,155,135,145,8,116,117,118,117,118,117,118,117,118,126,128,121,142,125,119,128,184,125,117,118,119,128,121,134,125,119,120,121,175,128,154,125,117,118,117,118,128,121,139,120,121,122,125,146,119,120,121,175,125,117,118,119,128,121,150,125,120,155,119,126,145,8,116,117,118,117,118,117,118,117,118,117,118,119,157,125,126,125,117,118,126,128,121,195,125,157,126,125,117,118,117,118,119,125,119,146,125,117,118,128,121,134,126,125,120,121,171,125,117,118,117,118,117,118,120,121,130,149,125,146,119,125,117,118,126,125,120,121,141,161,125,117,118,117,118,196,119,125,120,121,141,125,117,118,126,145,8,116,117,118,126,120,121,195,128,121,183,125,119,145,8,116,146,119,117,118,119,146,120,121,178,145,8,116,117,118,120,121,134,184,147,140,120,123,140,157,128,121,197,144,127,185,123,135,138,198,128,144,135,128,121,130,126,121,142,123,126,119,199,119,125,126,119,125,117,118,128,121,142,119,125,120,135,119,117,118,117,118,117,118,128,121,132,126,125,120,144,128,121,127,125,117,118,200,119,125,120,121,140,119,125,117,118,117,118,120,121,132,128,123,125,119,120,121,142,145,8,116,128,121,161,117,118,117,118,128,121,132,126,125,120,123,126,145,8,116,117,118,117,118,117,118,120,154,121,192,125,120,121,201,119,145,8,116,128,121,176,134,117,118,117,118,117,118,117,118,120,121,201,128,121,202,125,117,118,120,138,119,125,119,128,154,126,125,117,118,117,118,120,121,202,128,135,125,128,121,127,203,125,117,118,120,121,204,192,145,8,116,120,135,128,121,149,141,155,157,146,155,147,191,196,189,170,153,140,161,144,140,134,146,157,183,121,149,205,121,147,184,185,181,193,141,132,152,206,134,124,119,120,166,117,118,117,118,117,118,117,118,128,123,119,135,125,126,120,123,155,125,117,118,128,121,207,126,144,125,119,120,121,148,136,144,126,125,117,118,117,118,126,119,128,121,140,135,120,121,142,125,126,120,121,140,119,123,128,121,204,125,117,118,120,121,140,157,119,128,135,132,125,119,128,121,127,120,121,140,126,135,145,8,116,117,118,117,118,117,118,146,125,119,125,117,118,136,125,119,120,123,125,117,118,117,118,119,125,120,123,125,117,118,128,121,132,125,119,120,121,130,128,121,208,120,187,126,120,121,148,145,8,116,117,118,117,118,117,118,126,125,119,125,117,118,157,125,128,121,127,145,8,116,117,118,189,120,121,142,125,126,120,121,142,119,145,8,116,128,121,132,120,121,148,156],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x2618c","0x26706","0x11e88d","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f257e","0x177db6","0x1f2589","0x1f1c7f","0x1edef0","0x1eeae6","0x1ee02b","0x1ee015","0x1eeb02","0x1f1e9c","0x1edfb0","0x1f37e8","0x1edfd9","0x1f25f2","0x1edf76","0x1eea7f","0x1ee80d","0x177e3f","0x177e53","0x1ee81a","0x1ee340","0x1eeac5","0x1eeb1d","0x1ee224","0x1edfb4","0x1edfd5","0x1ee7d4","0x1ee20f","0x1f3684","0x1ee796","0x1ee01a","0x1ee030","0x1ee83a","0x1ee9a7","0x1ee7bc","0x1ee027","0x1edff0","0x1eea67","0x1f262c","0x592ef","0x354cb3","0xa5861","0xa4b89","0xa4288","0x1ee73f","0x1ee851","0x1edfaa","0x1ee962","0x1edfb7","0x1ee03a","0x1ee024","0x1f2c90","0x1f31a7","0x1a0aca","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177e44","0x177dbf","0x1ec510","0x177d91","0x177e31","0x1eb976","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee855","0x34fd2","0x1ee477","0x1edaad","0x1edffc","0x59940","0x177dbc","0x1edb10","0x1edfce","0x1eda33","0x1ee008","0x1edfe9","0x177d9f","0x1ee74f","0x1ee944","0x34ed4","0x1edfde","0x1ee1dc","0x1ee769","0x1ee82d","0x177ed5","0x1ee4a2","0x1edab4","0x26141","0x108c9b","0x59e9e","0x177c50","0xa5452","0xa2cc2","0x9125b","0x1ef2d8","0x1eebf0","0x1eee79","0x1eeec7","0x247051","0x246666","0x246a05","0x2463ab","0x24637c","libm.so.6","0x37f02","0x764ac","0x37f31","0x24633e","0x246b93","0x246396","0x764eb","0x246363","0x37f40","0x76488","0x709c7","0xe380","0x764e4","0x7651d","0x37ef0","0x24638a","0x246376","0x37f58","0x7662f","0x764c0","0x764d5","0x76514","0x246338","0x37f13","0x246a77","0x2463bb","0x7652b","0x764f4","0x764db","0x709c0","0x7651f","0x764b3","0x246347","0x37f03","0x37f25","0x7649f","0x2463af","0x764f7","0x2463a7","0x76470","0x70ab8","0x76491","0x37efe","0x2463b3","0x7648e","0x37f21","0x764e7","0x76532","0x76622","0x76637","0x7650f","0x76518","0x24637d","0x764c4","0x76479","0x764a3","0x76502","0x7654a","0x76482","0x764fd","0x24637a","0x76564","0x709ce","0x37ef8","0x37f27","0x37f37","0x37f1d","0x2463b7","0x246392","0x37f2f","0x246354","0x76506","0x2463bf","0x37f0b","0x7647e","0x24636d","0x70aa0","0x76497","0x246386","0x24639f","0x70aba","0x709e4","0x70ab0","0x76538","0x24634b","0x76526","0x764cc","0x76540"],"tid":"700702","unregisterTime":116622126.552591},{"frameTable":{"length":213,"address":[1206351,608962,4045226,3445825,3446491,156499,2048185,2045333,2042824,2045165,157666,3439601,165813,1173645,-1,3439580,2041225,2039452,2023152,2026214,2024227,2038911,2026091,2024256,2024921,2045928,2039407,2023358,2023445,2026242,2024610,2045572,2047333,2025479,2025345,2041214,1539496,2043024,2044396,158863,3493043,677985,674697,674012,668235,2023460,2025256,2023385,2025961,2023941,2025482,2025375,2025392,2024543,2023348,1539456,2024572,2025291,2025629,2041540,365295,673322,661283,1539473,2026493,2025776,2025655,1539513,2023408,2025485,1539516,2023440,2028248,2026480,2027207,156044,157446,155969,1084571,2025275,2025088,2018025,2013424,2016405,2016768,2011528,2011991,2011536,2012221,2011421,1539647,2016528,2012003,1418669,368184,216630,366929,2022359,2025831,217042,2022160,2023646,2023456,2023351,2023265,2023745,2024595,2023450,2025526,2023472,216788,2025570,2023344,2023463,2025301,2025530,2023053,676396,2021921,2023374,2026199,2025299,2023323,2026000,2024794,2023390,2023716,2388049,2385510,2386835,2386551,2386437,2384739,229122,484488,2384790,2384764,229169,484511,484544,2384811,461248,484539,2384696,229104,2384827,484628,2384815,229149,484664,484565,484651,484548,2384774,484524,484614,484632,461264,461255,229139,2384786,484587,461280,58240,229123,484919,484464,484580,484599,484682,229171,229208,484637,484571,2384758,484623,229159,229153,2384778,484596,484556,2384799,229157,484911,2384702,484888,461340,2384749,461504,484478,484605,461496,484639,461498,484658,484646,229118,461262,484670,229112,484531,2384762,2384724,484482,484503,229175,461480,461328,484568,229131,2384711,229188,484792],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":213,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,0,-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,1,2,2,1,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,2,1,2,2,1,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700703>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.821767,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,135],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":742,"stack":[19,19,19,19,19,22,30,33,34,35,38,42,43,47,48,65,74,85,96,107,115,125,136,138,142,147,150,151,158,159,166,167,172,174,176,182,186,187,195,197,202,203,205,220,228,238,243,284,290,293,295,299,300,301,313,321,327,337,344,358,372,385,390,397,405,411,415,424,429,437,445,446,452,462,471,478,481,490,495,503,505,512,515,525,526,531,532,539,543,555,568,575,576,583,592,600,611,611,611,611,611,623,624,626,628,630,631,637,638,639,638,641,644,645,647,641,653,656,657,653,653,659,660,661,664,665,666,670,671,673,675,676,678,680,681,678,678,682,691,694,695,696,700,701,702,703,704,709,711,714,715,716,717,719,722,723,725,719,733,735,738,740,743,748,758,761,763,766,772,773,774,776,777,780,786,800,803,807,809,813,816,818,821,829,830,834,835,836,842,843,845,845,853,856,860,861,866,867,870,873,881,883,887,890,894,897,899,900,903,904,905,906,908,909,910,912,915,916,919,922,923,926,927,938,939,942,944,948,952,953,963,966,970,972,975,976,977,978,979,980,981,984,985,645,653,986,989,990,991,670,682,682,992,994,997,702,709,998,723,719,1003,1004,1008,1009,1013,1015,1017,1017,1018,1021,1024,1026,1029,1030,1031,1034,1037,1040,1043,1045,1046,1049,1050,1052,1053,1055,1056,1059,1067,1069,1070,1077,1080,1082,1085,1088,1094,1096,1100,1101,1107,1110,1112,1113,1119,1120,1122,1123,1126,1126,1126,1126,1126,1123,1129,638,1131,1133,1134,660,1137,1140,1142,1143,1144,1145,702,1146,1147,703,1148,1149,1150,719,1151,719,1153,1154,1154,1009,1155,1156,1159,1161,1162,1164,1165,1166,1167,1168,1170,1171,1172,1056,1173,1174,1175,1176,1179,1180,1182,1183,1184,1188,1192,1195,1196,1197,1198,1201,1204,1206,1207,1207,1208,1208,1211,295,979,1212,1213,1214,1215,645,657,656,1216,670,1217,1218,1219,992,1220,702,1221,998,1222,1223,1223,1009,1155,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1237,1239,1242,1246,1248,1249,1250,1251,1252,1253,1254,1255,1258,1259,1262,1167,1263,1264,1265,1172,1172,1268,1269,1270,1273,1274,1275,1276,1277,1280,1281,1284,1281,1285,1259,1286,1292,1295,1296,1297,1298,1299,645,1300,1301,1302,660,991,1303,681,992,1304,702,1305,1306,998,1308,1309,1310,1311,1155,1314,1315,1316,1317,1320,1263,1321,1322,1171,1171,1056,1323,1175,1324,1325,1327,1328,1329,1334,1335,1339,1341,1342,1346,1347,1349,1350,1352,1355,1356,1360,1361,1364,1365,1367,1370,1372,1376,1379,1380,1382,1388,1402,1403,1407,1409,1415,1416,1297,1417,1418,638,645,1419,653,653,1216,1420,670,1217,678,1421,1304,702,703,1422,1423,1424,1425,1426,1223,1154,1009,1155,1427,1428,1017,1017,1435,1436,1438,1438,1444,1445,1447,1452,1453,1455,1455,1459,1460,1464,1466,1475,1478,1479,1485,1486,1489,1491,1497,1498,1501,1503,1505,1506,1501,1512,1513,1521,1522,1524,1525,1525,1529,1530,1530,1532,1535,1532,1542,1545,1545,1547,1550,1552,1556,1559,1563,1564,1565,1566,1567,1570,626,1571,1572,981,1573,1574,1575,645,1576,1577,1591,1595,1596,1601,1602,1604,1607,1615,1616,1619,1621,1625,1628,1630,1631,1631,1639,1642,1646,1647,1652,1653,1655,1657,1658,1664,1665,1668,1669,1673,1676,1683,1685,1689,1690,1700,1702,1704,1710,1712,1713,1713,1713,1716,1721,1724,1728,1734,1735,1739,1740,1745,1747,1749,1755,1757,1760,1765,1768,1772,1773,1781,1782,1250,1785,1786,1789,1790,624,1212,1212,1299,1791,1792,1793,1794,659,666,1795,1796,1797,1798,1799,1800,695,1801,703,1802,998,1222,1803,1223,1004,1009,1009,1013,1804,1165,1165,1805,1806,1808,1810,830,1811,916,845,1812,1814,926,1816,1817,1818,1821,899,1824,1825,1828,1829,1830,1831,1832,1834,1832,1835,1838],"time":[116621305.999794,116621306.006165,116621306.009861,116621306.013649,116621306.017107,116621306.028935,116621306.301729,116621309.370875,116621312.418502,116621314.802617,116621316.850973,116621318.765862,116621320.5904,116621322.156966,116621323.511037,116621324.767532,116621325.957061,116621327.096604,116621328.186377,116621329.250678,116621330.296388,116621331.330154,116621332.354928,116621333.428828,116621334.444427,116621335.442967,116621336.438178,116621337.464308,116621338.424744,116621339.381359,116621340.347582,116621341.323298,116621342.306403,116621343.295231,116621344.285328,116621345.38611,116621346.355221,116621347.298483,116621348.249125,116621349.234802,116621350.206606,116621351.185461,116621352.201145,116621353.219251,116621354.232712,116621355.242493,116621356.249828,116621357.256201,116621363.511623,116621363.917277,116621363.989356,116621364.009305,116621364.017346,116621364.062242,116621365.471769,116621367.744621,116621369.796764,116621371.561362,116621373.089787,116621374.578397,116621375.819729,116621377.543619,116621378.673849,116621380.102137,116621381.213131,116621382.435927,116621383.525879,116621384.611291,116621385.644793,116621386.782079,116621387.835956,116621388.819483,116621389.889947,116621390.929899,116621392.10265,116621393.21717,116621394.263693,116621395.292641,116621396.554685,116621397.545685,116621398.642281,116621399.606466,116621400.755863,116621401.880655,116621402.873192,116621403.983473,116621404.970476,116621405.999751,116621406.980202,116621408.068967,116621408.997171,116621409.908173,116621410.837614,116621411.785587,116621412.748469,116621413.721287,116621418.233413,116621418.237372,116621418.240216,116621418.243066,116621418.246232,116621421.4085,116621422.59772,116621423.754252,116621424.871754,116621425.922536,116621427.126675,116621428.655845,116621429.981497,116621431.201171,116621432.341621,116621433.441966,116621434.526451,116621435.581154,116621436.62055,116621437.647976,116621438.666455,116621439.678955,116621440.655578,116621441.628176,116621442.577624,116621443.530697,116621444.537067,116621445.516706,116621446.490059,116621447.46701,116621448.448961,116621449.465728,116621450.42482,116621451.382001,116621452.348133,116621453.323237,116621454.304987,116621455.364711,116621456.350319,116621457.328228,116621458.310734,116621459.313039,116621460.454501,116621461.43467,116621462.362454,116621463.331703,116621464.281986,116621465.248852,116621466.232136,116621467.239918,116621468.2484,116621469.260383,116621470.264624,116621471.266702,116621472.268199,116621473.269121,116621474.256576,116621475.26186,116621476.232258,116621477.20586,116621478.189805,116621479.427849,116621480.447393,116621481.540927,116621482.621554,116621483.701412,116621484.743125,116621485.804103,116621486.855694,116621487.874045,116621488.868917,116621489.869207,116621490.862288,116621491.85625,116621498.686833,116621500.075985,116621501.393475,116621502.678165,116621503.901099,116621505.194263,116621506.450599,116621507.718525,116621509.114682,116621510.423326,116621511.6754,116621512.863814,116621514.040737,116621515.075415,116621516.061877,116621517.04063,116621518.031399,116621518.958928,116621519.885551,116621520.798432,116621521.743385,116621522.690606,116621523.647832,116621524.616307,116621525.593624,116621526.621973,116621527.61012,116621528.592557,116621529.577773,116621530.541199,116621531.502489,116621532.48603,116621533.521604,116621534.52862,116621535.531055,116621536.532388,116621537.571124,116621538.550634,116621539.54416,116621540.541616,116621541.540375,116621542.53936,116621543.538767,116621544.538623,116621545.579839,116621546.574665,116621547.565345,116621548.557901,116621549.59195,116621550.588007,116621551.576074,116621552.566243,116621553.558698,116621554.553097,116621555.56563,116621556.560694,116621557.533935,116621558.49889,116621559.523048,116621560.533351,116621561.535992,116621562.536945,116621563.512943,116621564.505477,116621565.482139,116621566.459518,116621567.442283,116621572.09443,116621573.04456,116621573.999564,116621574.957331,116621575.956664,116621576.930575,116621577.903904,116621578.883552,116621579.946641,116621581.008751,116621582.097724,116621583.210091,116621584.344232,116621585.442621,116621586.513474,116621587.564999,116621588.60226,116621589.629445,116621590.694881,116621591.703652,116621592.722005,116621593.75741,116621594.811029,116621595.792388,116621596.769989,116621597.752181,116621598.737222,116621599.694801,116621600.656221,116621601.627134,116621602.605952,116621603.590741,116621604.579721,116621605.579816,116621606.628573,116621607.558336,116621608.483176,116621609.425178,116621610.382793,116621611.404326,116621612.37512,116621613.358417,116621614.38605,116621615.425866,116621616.426928,116621617.424023,116621618.421066,116621619.418672,116621620.460969,116621621.447256,116621622.406832,116621623.372093,116621624.345285,116621625.361667,116621626.344514,116621627.326229,116621628.31226,116621629.30805,116621630.33306,116621631.355331,116621632.37239,116621633.38445,116621634.402032,116621635.408298,116621636.431142,116621637.431138,116621638.452237,116621639.451217,116621640.443344,116621641.436602,116621642.475379,116621643.326637,116621643.331291,116621643.3348,116621643.338262,116621643.341841,116621643.359779,116621649.179453,116621652.245589,116621654.664311,116621656.760434,116621659.161086,116621661.237358,116621663.060948,116621664.691801,116621666.163471,116621667.470526,116621668.694431,116621669.858651,116621670.978453,116621672.025258,116621672.999717,116621673.963612,116621674.93387,116621675.91142,116621676.895024,116621677.882999,116621678.874607,116621679.8682,116621680.863811,116621681.860848,116621682.858631,116621683.846745,116621684.8032,116621685.726994,116621686.661181,116621687.610289,116621688.610905,116621689.624427,116621690.634159,116621691.641171,116621692.646223,116621693.655493,116621694.701719,116621695.743952,116621696.775756,116621697.798933,116621698.815899,116621699.828272,116621700.837748,116621701.813223,116621702.775922,116621703.745458,116621704.722841,116621705.669339,116621706.619647,116621707.581628,116621708.553975,116621709.557242,116621710.541451,116621711.557254,116621712.58515,116621713.604644,116621714.580833,116621715.555317,116621716.535847,116621717.522585,116621718.512295,116621719.504336,116621720.498274,116621721.600952,116621724.540693,116621725.479049,116621726.39294,116621727.321285,116621728.273568,116621729.271823,116621730.322346,116621731.362811,116621732.405478,116621733.469529,116621734.521134,116621735.559753,116621736.58806,116621737.608137,116621738.622686,116621739.659309,116621740.710897,116621741.752027,116621742.782316,116621743.804386,116621744.820535,116621745.832247,116621746.840995,116621747.847303,116621748.8519,116621749.855211,116621750.857515,116621751.859274,116621752.86025,116621753.860894,116621754.861325,116621755.861532,116621756.861817,116621757.862127,116621758.829913,116621759.788578,116621760.772082,116621761.746464,116621762.725015,116621763.708779,116621764.697064,116621765.688497,116621766.682044,116621767.677518,116621768.674707,116621769.672298,116621770.670389,116621771.668884,116621772.667897,116621773.667331,116621774.66692,116621775.666621,116621776.630915,116621777.591997,116621778.562475,116621779.542226,116621780.526007,116621781.514597,116621782.506754,116621783.501048,116621784.496228,116621785.49239,116621786.489682,116621787.487543,116621788.48575,116621789.48447,116621790.483967,116621791.483262,116621792.482848,116621793.482332,116621794.481936,116621795.48167,116621800.227533,116621801.123684,116621802.008437,116621802.923249,116621803.852975,116621804.779255,116621805.717439,116621806.716684,116621807.922505,116621809.275077,116621811.234532,116621812.372343,116621813.431618,116621814.469355,116621815.509718,116621816.529112,116621817.506815,116621818.491693,116621819.424376,116621820.357303,116621821.273304,116621822.193139,116621823.13204,116621824.087687,116621825.055685,116621826.07035,116621827.049256,116621828.029203,116621829.013535,116621830.512131,116621831.440506,116621832.343888,116621833.284194,116621834.257658,116621835.24148,116621836.270892,116621837.257476,116621838.22962,116621839.202127,116621840.165977,116621841.137498,116621842.116705,116621843.144262,116621844.127729,116621845.110887,116621846.097718,116621847.087845,116621848.109642,116621849.087298,116621850.068279,116621851.051348,116621852.040708,116621853.497622,116621854.435742,116621855.359076,116621856.298689,116621857.254275,116621858.222442,116621859.203675,116621860.219449,116621861.280997,116621862.28799,116621863.284311,116621864.267835,116621865.270052,116621866.285667,116621867.253624,116621868.224101,116621869.201661,116621870.185636,116621878.698928,116621879.532458,116621880.416493,116621881.307138,116621882.332995,116621883.797814,116621887.425797,116621888.202353,116621889.00937,116621890.303107,116621891.499209,116621892.621409,116621893.829186,116621894.996476,116621896.12138,116621897.201595,116621898.259184,116621899.300879,116621900.337116,116621901.359169,116621902.450009,116621903.452285,116621904.443824,116621905.403552,116621906.356046,116621907.324182,116621908.302388,116621909.281394,116621910.264586,116621911.246752,116621912.201292,116621913.158768,116621914.125762,116621915.101959,116621916.084296,116621917.07411,116621918.064661,116621919.057368,116621920.051824,116621921.047813,116621922.045104,116621923.04301,116621924.041553,116621925.040283,116621926.039469,116621927.03901,116621928.038699,116621929.038538,116621930.039412,116621931.150366,116621932.28397,116621933.290968,116621934.279074,116621935.390372,116621936.366745,116621937.423957,116621938.387915,116621939.315241,116621940.248424,116621941.36894,116621942.327004,116621943.373397,116621944.411196,116621945.456403,116621946.467147,116621947.527158,116621948.513484,116621949.485955,116621950.46825,116621951.451279,116621952.443101,116621953.433297,116621954.424644,116621955.418001,116621956.417267,116621957.417911,116621958.44126,116621959.477894,116621960.507625,116621961.529333,116621962.545154,116621963.556488,116621964.565114,116621968.70371,116621969.45071,116621970.218025,116621971.028016,116621971.928072,116621972.815711,116621973.753549,116621974.710193,116621975.678625,116621976.655718,116621977.639173,116621978.660152,116621979.680449,116621980.696381,116621981.708392,116621982.75831,116621983.75997,116621984.794275,116621985.884863,116621987.02317,116621988.114544,116621989.180189,116621990.227611,116621991.262388,116621992.331235,116621993.344662,116621994.371616,116621995.409299,116621996.433195,116621997.432399,116621998.416318,116621999.40049,116622000.388513,116622001.372028,116622002.337998,116622003.302826,116622004.275768,116622005.242471,116622006.196181,116622007.189757,116622008.158389,116622009.131607,116622010.164038,116622011.220762,116622012.228521,116622013.224691,116622014.220368,116622015.265097,116622016.258649,116622017.263785,116622018.227914,116622019.399157,116622020.365917,116622021.334463,116622022.275624,116622023.215112,116622024.157029,116622025.131424,116622026.104471,116622027.063313,116622028.029919,116622029.005261,116622029.994248,116622031.007487,116622032.025874,116622033.040572,116622034.053006,116622035.031062,116622036.007264,116622036.988481,116622037.981961,116622039.007871,116622039.994712,116622040.977076,116622041.505675,116622042.470669,116622047.693823,116622048.65146,116622049.715632,116622050.776433,116622051.822613,116622052.92427,116622054.07032,116622055.18911,116622056.310037,116622057.457322,116622058.65867,116622059.798631,116622060.896397,116622062.563026,116622063.614816,116622064.664403,116622065.757454,116622066.778255,116622067.787228,116622068.792908,116622069.850285,116622070.823106,116622071.77944,116622072.743611,116622073.764686,116622074.740783,116622075.71631,116622076.697245,116622077.683565,116622078.729091,116622079.752164,116622080.732978,116622081.678394,116622082.629797,116622083.593384,116622084.566815,116622086.076555,116622087.121782,116622088.122573,116622089.118625,116622090.103841,116622091.102156,116622092.090631,116622093.107933,116622094.076424,116622095.060614,116622096.045907,116622097.044079,116622098.079507,116622099.089842,116622100.094981,116622101.098276,116622102.110158,116622103.110542,116622104.109543,116622105.108694,116622106.107919,116622107.107431,116622108.661988,116622109.629504,116622110.614274,116622111.604284,116622112.597492],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[77,6,3,3,3,11,272,3069,3047,2384,2048,1914,1824,1550,1354,1256,1189,1139,1089,1064,1045,1033,1024,1005,1015,998,995,978,960,956,966,975,983,988,990,965,969,943,950,960,971,978,1015,1018,1013,1009,1007,1006,2985,28,10,19,8,44,676,2272,1931,1718,1528,1340,1216,1167,1130,1166,1110,1084,1032,1053,1033,1020,1023,983,975,977,1105,1114,1046,1028,1072,991,961,964,1067,1059,992,976,980,955,980,955,928,911,929,947,962,972,1718,3,2,2,3,1366,1189,1156,1117,1050,1204,1341,1290,1219,1140,1100,1084,1054,1039,1027,1018,1012,976,972,949,953,1006,967,973,976,981,1016,959,957,966,975,981,1029,985,977,982,1002,987,980,927,969,950,966,983,1007,1008,1005,1004,1002,1001,1000,987,1005,970,973,983,1058,1019,1093,1080,1079,1041,1060,1051,1018,994,1000,993,993,1615,1389,1317,1275,1222,1283,1256,1267,1396,1308,1252,1188,1176,1034,986,973,990,927,926,912,944,947,957,968,977,1028,988,982,985,963,961,983,1035,1007,1002,1001,1038,979,993,997,998,998,999,999,1041,994,990,992,1034,996,988,990,992,994,1012,995,973,964,1024,1010,1002,1000,975,992,976,977,982,984,950,955,957,999,973,973,979,1063,1062,1088,1112,1134,1098,1070,1051,1037,1027,1065,1008,1018,1035,1053,981,977,982,985,957,961,970,978,984,988,1000,961,929,924,942,957,1021,970,983,1027,1039,1001,997,997,997,1042,986,959,965,973,1004,982,981,986,995,1025,1022,1017,1012,1017,1006,1022,999,1021,998,992,993,1038,835,4,3,3,3,17,533,3066,2418,2096,2400,2076,1823,1630,1471,1307,1223,1164,1119,1046,974,963,970,977,983,987,991,993,995,997,997,988,956,923,934,949,1000,1013,1009,1007,1005,1009,1046,1042,1031,1023,1016,1012,1009,975,962,969,977,946,950,961,972,1003,984,1015,1027,1019,976,974,980,986,989,992,993,995,960,938,913,928,952,998,1050,1040,1042,1064,1051,1038,1028,1020,1014,1036,1051,1041,1030,1022,1016,1011,1008,1006,1004,1003,1002,1001,1000,1000,1000,1000,1000,1000,967,958,983,974,978,983,988,991,993,995,997,997,998,998,999,999,999,999,964,961,970,979,983,988,992,994,995,996,997,997,998,998,999,999,999,999,999,999,1040,896,884,914,929,926,938,983,1205,1352,1306,1137,1059,1037,1040,1019,977,960,932,932,916,919,938,955,967,1014,978,979,984,987,928,903,940,973,983,1029,986,972,956,963,971,979,1027,983,983,986,990,1021,977,980,983,989,971,938,923,939,955,968,981,1015,1046,1006,996,983,1002,1015,967,970,977,983,1587,833,884,890,915,1464,1104,776,807,1027,1136,1122,1207,1167,1124,1080,1057,1041,1029,1022,1013,1002,991,959,952,962,972,979,983,982,949,957,966,976,982,989,990,992,994,995,997,997,998,998,999,999,999,999,1000,1018,1028,1006,988,988,976,967,963,927,933,948,958,1046,1037,1045,1004,986,986,972,976,983,986,990,991,993,994,996,1023,1036,1029,1021,1015,1011,1008,1865,747,767,809,900,887,932,956,968,977,983,1020,1020,1015,1012,1049,1001,1034,1090,1138,1091,1065,1047,1034,1068,1013,1026,1037,1023,993,983,984,988,983,965,964,972,966,953,993,968,973,1000,1017,1007,996,995,1044,993,987,964,956,966,968,941,939,941,974,973,958,966,975,988,1013,1018,1014,1012,978,976,981,983,1025,986,982,512,964,987,957,1064,1060,1046,1074,1146,1118,1120,1147,1201,1139,1097,1069,1051,1049,1093,1020,1008,1005,1057,972,956,964,1007,976,975,980,986,1045,1023,980,945,951,963,973,979,1045,1000,996,985,998,988,1017,968,970,985,998,1035,1010,1005,1003,1011,1000,999,999,999,999,1039,967,984,990,993]},"stackTable":{"length":1839,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,null,20,21,14,23,24,25,26,27,28,29,26,31,32,32,29,24,36,37,37,39,40,41,41,37,44,45,46,45,12,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,56,66,67,68,69,70,71,72,73,54,75,76,77,78,79,80,81,82,83,84,52,86,87,88,89,90,91,92,93,94,95,87,97,98,99,100,101,102,103,104,105,106,67,108,109,110,111,112,113,114,89,116,117,118,119,120,121,122,123,124,98,126,127,128,129,130,131,132,133,134,135,64,137,62,139,140,141,60,143,144,145,146,144,148,149,149,58,152,153,154,155,156,157,157,153,160,161,162,163,164,165,163,161,168,169,170,171,113,173,110,175,109,177,178,179,180,181,178,183,184,185,180,69,188,189,190,191,192,193,194,188,196,71,198,199,200,201,73,199,204,54,206,207,208,209,210,211,212,213,214,215,216,217,218,219,215,221,222,223,224,225,226,227,213,229,230,231,232,233,234,235,236,237,230,239,240,241,242,null,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,5,285,286,287,288,289,4,291,292,4,294,285,296,297,298,296,285,5,302,303,304,305,306,307,308,309,310,311,312,305,314,315,316,317,318,319,320,315,322,323,324,325,326,303,328,329,330,331,332,333,334,335,336,331,338,339,340,341,342,343,329,345,346,347,348,349,350,351,352,353,354,355,356,357,350,359,360,361,362,363,364,365,366,367,368,369,370,371,5,373,374,375,376,377,378,379,380,381,382,383,384,380,386,387,388,389,378,391,392,393,394,395,396,392,398,399,400,401,402,403,404,399,406,407,408,409,410,407,412,413,414,376,416,417,418,419,420,421,422,423,419,425,426,427,428,417,430,431,432,433,434,435,436,431,438,439,440,441,442,443,444,444,439,447,448,449,450,451,374,453,454,455,456,457,458,459,460,461,456,463,464,465,466,467,468,469,470,464,472,473,474,475,476,477,473,479,480,457,482,483,484,485,486,487,488,489,484,491,492,493,494,482,496,497,498,499,500,501,502,501,504,497,506,507,508,509,510,511,507,513,514,456,516,517,518,519,520,521,522,523,524,523,519,527,528,529,530,523,527,533,534,535,536,537,538,535,540,541,542,533,544,545,546,547,548,549,550,551,552,553,554,549,556,557,558,559,560,561,562,563,564,565,566,567,563,569,570,571,572,573,574,573,561,577,578,579,580,581,582,578,584,585,586,587,588,589,590,591,587,593,594,595,596,597,598,599,5,601,602,603,604,605,606,607,608,609,610,602,612,613,614,615,616,617,618,619,620,621,622,620,619,625,625,627,627,629,629,617,632,633,634,635,636,634,636,633,640,640,642,643,640,640,646,615,648,649,650,651,652,652,654,655,652,651,658,658,658,658,662,663,662,662,649,667,668,669,669,669,672,672,674,669,668,677,677,679,677,679,613,683,684,685,686,687,688,689,690,689,692,693,689,693,688,697,698,699,698,697,697,699,686,705,706,707,708,708,710,707,712,713,710,707,713,706,718,718,720,721,721,718,724,684,726,727,728,729,730,731,732,729,734,730,736,737,736,739,739,741,742,734,744,745,746,747,744,749,750,751,752,753,754,755,756,757,757,759,760,756,762,762,764,765,754,767,768,769,770,771,769,618,650,775,667,705,778,779,684,781,782,783,784,785,602,787,788,789,790,791,792,793,794,795,796,797,798,799,797,801,802,796,804,805,806,804,808,794,810,811,812,812,814,815,811,817,817,819,820,792,822,823,824,825,826,827,828,826,825,831,832,833,833,831,823,837,838,839,840,841,841,838,844,790,846,847,848,849,850,851,852,852,854,855,851,857,858,859,857,849,862,863,864,865,864,863,868,869,868,871,872,847,874,875,876,877,878,879,880,878,882,877,884,885,886,884,888,889,875,891,892,893,893,895,896,892,898,898,791,901,902,791,846,799,808,907,815,817,826,911,831,913,914,839,844,917,918,852,920,921,857,864,924,925,872,847,928,929,930,931,932,933,934,935,936,937,936,935,940,941,941,943,933,945,946,947,946,949,950,951,949,931,954,955,956,957,958,959,960,961,962,959,964,965,957,967,968,969,968,971,956,973,974,973,973,620,620,625,634,634,982,983,642,655,658,987,988,663,674,689,690,993,697,995,996,707,783,999,1000,1001,1002,1002,999,1005,1006,1007,1005,782,1010,1011,1012,1012,1014,1011,1016,795,795,1019,1020,810,1022,1023,824,1025,824,1027,1028,837,850,850,1032,1033,862,1035,1036,876,1038,1039,891,1041,1042,891,1044,795,795,1047,1048,1023,810,1051,824,1025,1054,837,837,1057,1058,790,1060,1061,1062,1063,1064,1065,1066,1063,1068,1068,1064,1071,1072,1073,1074,1075,1076,1076,1078,1079,1075,1081,1081,1083,1084,1081,1086,1087,1073,1089,1090,1091,1092,1093,1091,1095,1090,1097,1098,1099,1097,1071,1102,1103,1104,1105,1106,1106,1108,1109,1105,1111,1111,1103,1114,1115,1116,1117,1118,1118,1115,1121,1121,1121,1124,1125,618,1127,1128,646,1130,652,1132,663,669,1135,1136,677,1138,1139,679,1141,1139,689,692,996,995,707,707,712,724,1000,1152,1000,1005,1007,1012,1157,1158,1014,1160,1012,1016,1163,1016,1019,795,1023,1051,1169,824,824,1057,850,850,862,862,1177,1178,1177,934,1181,945,945,931,1185,1186,1187,1186,1189,1190,1191,1191,1193,1194,1194,793,793,822,1199,1200,1074,1202,1203,1074,1205,1089,1104,1114,1209,1210,625,627,635,636,663,669,1139,677,698,710,718,1000,1157,1012,1016,616,616,648,685,685,781,781,604,1234,1235,1236,1235,1238,1238,1240,1241,604,1243,1244,1245,1244,1247,1247,614,683,683,1234,1243,1243,614,1256,1257,614,683,1260,1261,795,810,1169,837,1266,1267,837,1032,850,1271,1272,862,1178,932,932,932,1278,1279,1185,1185,1282,1283,1257,1257,613,1287,1288,1289,1290,1291,1289,1293,1294,1294,618,983,634,643,654,663,1141,689,698,710,724,1307,718,1152,1000,1005,1312,1313,1160,1160,1016,1016,1318,1319,1169,1023,1266,862,1036,876,1326,1038,1042,797,1330,1331,1332,1333,1333,1330,1336,1337,1338,1336,1340,1340,804,1343,1344,1345,1344,1345,1348,1344,1343,1351,1351,1353,1354,1354,812,1357,1358,1359,1359,1358,1362,1363,1358,1357,1366,1366,1368,1369,1366,1371,817,1373,1374,1375,1374,1377,1378,1374,1375,1381,1373,1383,1384,1385,1386,1387,1386,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1399,1398,1404,1405,1406,1404,1408,1396,1410,1411,1412,1413,1414,1414,1127,636,643,988,1141,995,713,710,1307,721,1157,1012,1236,1429,1430,1431,1432,1433,1434,1432,1431,1437,1429,1439,1440,1441,1442,1443,1441,1440,1446,1238,1448,1449,1450,1451,1451,1450,1454,1448,1456,1457,1458,1458,1457,1461,1462,1463,1461,1465,608,1467,1468,1469,1470,1471,1472,1473,1474,1472,1476,1477,1477,1470,1480,1481,1482,1483,1484,1482,1481,1487,1488,1487,1490,1468,1492,1493,1494,1495,1496,1496,1496,1499,1500,1495,1502,1502,1504,1496,1495,1507,1508,1509,1510,1511,1511,1510,1514,1515,1516,1517,1518,1519,1520,1520,1519,1523,1523,1517,1526,1527,1528,1528,1527,1531,1531,1533,1534,609,1536,1537,1538,1539,1540,1541,1541,1543,1544,1540,1546,1546,1548,1549,1546,1551,1538,1553,1554,1555,1555,1557,1558,1554,1560,1561,1562,1560,1560,621,622,625,1568,1569,629,629,982,636,643,640,640,615,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1589,1592,1593,1594,1592,1587,1597,1598,1599,1600,1599,1598,1603,1603,1605,1606,1585,1608,1609,1610,1611,1612,1613,1614,1612,1611,1617,1618,1617,1620,1609,1622,1623,1624,1624,1626,1627,1623,1629,1629,1583,1632,1633,1634,1635,1636,1637,1638,1638,1640,1641,1637,1643,1644,1645,1645,1635,1648,1649,1650,1651,1650,1651,1654,1649,1656,1656,1633,1659,1660,1661,1662,1663,1663,1662,1666,1667,1666,1660,1670,1671,1672,1672,1674,1675,1671,1677,1678,1679,1680,1681,1682,1682,1684,1680,1686,1687,1688,1688,1581,1691,1692,1693,1694,1695,1696,1697,1698,1699,1697,1701,1696,1703,1694,1705,1706,1707,1708,1709,1706,1711,1693,1693,1714,1715,1697,1717,1718,1719,1720,1720,1722,1723,1719,1725,1726,1727,1717,1729,1730,1731,1732,1733,1731,1730,1736,1737,1738,1736,1703,1741,1742,1743,1744,1743,1746,1746,1748,1741,1750,1751,1752,1753,1754,1751,1756,1756,1758,1759,1707,1761,1762,1763,1764,1764,1766,1767,1763,1769,1770,1771,1769,1761,1774,1775,1776,1777,1778,1779,1780,1780,683,1783,1784,1234,612,1787,1788,603,640,646,1132,654,674,1136,677,1139,693,692,697,710,724,1158,797,805,812,1807,817,1809,832,852,857,1813,869,1815,878,886,893,1819,1820,793,1822,1823,1823,822,1826,1827,1827,822,1062,1062,1062,1833,1064,1064,1836,1837],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,8,9,10,11,12,13,14,15,13,7,8,7,16,17,18,19,20,21,18,22,23,24,25,16,26,17,18,19,27,28,21,18,29,28,30,31,5,32,8,7,8,7,8,7,8,7,8,7,16,17,18,33,25,8,25,8,25,16,17,18,34,25,8,25,8,25,8,7,16,17,18,28,25,8,7,8,25,8,7,8,25,35,36,25,8,7,37,38,39,40,41,42,43,44,7,8,7,16,21,18,19,45,7,8,7,8,25,16,21,18,29,46,25,8,25,8,7,16,17,18,19,19,47,19,48,21,18,29,23,25,16,17,18,49,21,18,50,45,25,8,7,16,17,18,51,50,25,16,21,18,19,29,52,53,17,18,29,19,54,29,54,35,55,25,16,21,18,29,56,17,18,19,57,58,7,59,60,40,41,42,61,62,35,63,21,18,19,19,64,65,29,66,31,5,32,8,7,8,7,8,7,8,7,8,25,35,67,25,8,25,16,17,18,29,68,25,8,7,8,7,16,17,18,29,69,25,8,7,35,70,5,6,7,8,7,8,7,8,31,5,32,8,7,8,31,5,32,8,7,8,31,5,32,8,31,5,32,8,7,8,7,8,7,8,25,8,7,16,21,18,71,72,73,74,75,76,13,75,76,13,77,78,19,29,19,51,79,80,81,82,83,82,83,82,83,82,83,82,84,85,84,82,83,82,83,82,83,86,84,82,83,82,84,87,84,82,83,82,83,82,84,82,83,88,84,82,84,82,84,89,90,91,5,81,82,84,82,84,82,83,82,83,82,83,87,91,5,81,82,83,82,84,82,83,82,83,82,84,92,93,94,95,94,95,94,95,94,95,96,97,18,98,99,96,100,18,101,99,94,95,96,100,18,102,99,94,95,96,97,18,29,54,99,96,97,18,19,103,100,18,19,104,99,94,95,94,95,96,97,18,105,99,96,97,18,106,99,94,95,96,100,18,29,107,99,94,95,96,100,18,29,108,27,99,96,97,18,19,109,110,5,93,94,95,96,100,18,29,111,99,94,95,96,100,18,29,19,112,99,96,97,18,29,29,113,100,18,114,94,95,94,95,96,97,18,19,103,99,96,97,18,115,99,94,95,96,97,18,19,45,29,54,99,94,95,96,100,116,117,99,96,118,110,5,93,94,95,96,97,18,29,119,120,99,96,97,18,28,121,94,95,96,97,18,29,122,100,18,29,52,110,5,93,94,95,94,95,96,97,18,29,123,110,5,93,94,95,94,95,94,95,96,100,18,124,99,96,100,18,19,29,125,107,99,94,95,96,97,18,30,110,5,93,94,95,96,97,18,126,110,5,93,96,97,18,29,109,127,128,129,128,130,5,127,128,130,77,78,131,128,131,128,131,128,131,128,131,132,133,134,135,129,135,136,137,133,134,138,129,128,131,136,133,139,140,141,129,135,136,133,142,140,132,137,129,128,131,128,131,135,132,133,139,140,129,140,135,143,136,133,134,137,144,129,128,131,140,145,136,137,133,146,147,129,135,136,148,140,137,129,128,131,128,131,128,131,132,144,136,133,149,140,150,129,132,133,151,144,135,140,152,129,128,131,132,137,133,139,136,133,151,146,153,134,129,135,136,133,154,134,132,144,130,5,127,128,131,132,133,139,129,140,128,131,135,129,140,132,133,155,128,131,136,133,156,130,5,127,128,131,128,131,128,131,140,132,133,156,129,135,136,133,157,130,5,127,132,133,158,147,140,132,159,160,132,133,134,129,128,131,132,133,161,130,5,127,128,131,128,131,128,131,128,131,136,133,162,132,133,163,129,132,133,146,136,164,129,128,131,140,136,133,165,129,135,136,133,139,129,128,131,128,131,132,133,149,140,129,136,133,154,166,140,129,128,131,132,133,167,154,129,140,129,128,131,128,131,128,131,135,136,133,168,129,136,133,169,140,129,128,131,132,170,147,129,132,144,136,133,158,129,128,131,128,131,136,133,166,132,171,129,136,133,172,132,133,156,129,128,131,135,132,133,173,129,135,174,136,133,175,135,135,161,133,161,134,140,136,137,132,133,168,135,132,133,139,132,133,146,135,136,133,146,161,130,5,127,128,131,128,131,128,131,132,176,140,129,132,177,133,163,129,128,131,178,129,136,133,163,135,130,5,127,128,131,128,131,132,133,139,129,136,159,129,128,131,140,129,140,132,133,179,159,137,140,147,147,135,132,133,146,137,134,132,133,134,139,134,135,133,180,136,133,163,140,128,131,132,133,139,146,129,136,133,163,140,129,128,131,140,132,159,129,140,181,136,133,163,136,133,167,132,182,136,133,183,135,184,132,133,179,136,133,152,132,133,155,132,133,139,136,144,143,132,133,138,179,132,182,178,133,185,140,132,133,146,130,5,127,128,131,136,133,173,129,135,140,128,131,128,131,128,131,140,136,133,163,129,140,136,133,173,132,133,134,129,128,131,132,133,146,136,144,129,136,133,186,135,129,128,131,128,131,135,136,133,154,129,140,187,129,128,131,136,133,188,146,129,147,140,136,133,149,136,133,172,133,189,136,182,146,132,133,190,132,133,179,133,167,191,187,164,167,182,135,143,164,182,136,176,140,135,192,136,133,193,133,194,135,132,164,135,170,140,195,133,188,140,135,177,147,140,135,132,133,142,137,132,196,135,140,129,128,131,135,130,5,127,140,136,133,172,168,140,135,132,133,197,136,133,172,132,159,140,140,136,133,167,140,177,137,194,154,135,198,145,199,200,140,135,199,145,201,135,145,135,140,135,135,140,131,128,131,135,129,135,132,133,139,129,128,131,147,129,135,202,140,135,145,145,135,147,132,133,203,135,136,133,191,135,147,146,136,133,151,202,137,136,133,165,145,189,135,140,132,133,200,135,136,133,183,146,191,130,5,127,132,133,146,136,133,139,175,135,197,147,158,164,167,149,145,159,149,133,204,147,205,147,132,133,146,183,206,184,136,133,146,154,151,171,147,150,136,177,159,156,128,131,136,133,172,169,129,136,133,207,132,159,148,128,131,136,177,140,133,191,135,129,140,132,133,165,134,128,131,136,177,137,132,133,139,160,129,140,136,133,139,132,164,128,131,132,159,136,133,167,140,133,146,130,5,127,128,131,135,130,5,127,128,131,128,131,128,131,128,131,136,133,163,135,129,136,133,207,132,164,130,5,127,136,133,146,158,176,208,150,142,172,159,203,172,146,189,196,147,128,131,128,131,136,133,172,135,129,140,129,128,131,136,133,183,140,129,135,128,131,128,131,135,140,129,140,129,128,131,140,135,129,132,133,165,136,182,131,128,131,128,131,128,131,136,177,129,136,209,199,129,128,131,136,133,154,140,129,132,164,136,199,130,5,127,128,131,147,140,136,133,191,129,140,132,182,135,130,5,127,128,131,135,178,130,5,127,128,131,128,131,135,140,129,140,135,129,128,131,140,135,129,135,132,133,150,5,127,128,131,128,131,140,136,133,138,129,140,136,133,138,132,182,129,128,131,135,132,133,163,129,132,133,151,140,135,137,155,132,133,188,156,155,159,190,191,210,160,130,5,127,128,131,128,131,128,131,128,131,128,131,140,129,132,133,146,147,129,128,131,136,144,160,129,135,132,133,139,129,128,131,128,131,136,133,134,140,129,132,159,136,137,129,128,131,135,132,133,189,129,140,135,129,128,131,128,131,128,131,184,132,133,149,129,136,133,161,139,129,128,131,136,137,145,133,163,129,147,140,129,128,131,128,131,140,135,129,132,144,140,129,128,131,135,132,133,139,130,5,127,128,131,136,211,133,155,129,132,133,158,161,130,5,127,128,131,128,131,136,133,134,132,137,129,140,129,128,131,132,133,139,129,135,140,136,133,155,128,131,128,131,140,132,133,179,129,136,133,139,129,128,131,132,133,146,140,129,132,133,212,140,128,131,128,131,178,129,135,132,182,129,128,131,132,133,163,129,160,132,133,158,128,131,128,131,135,136,133,180,129,132,133,183,135,130,5,127,128,131,132,133,165,167,132,133,161,147,132,133,163,140,153,144,137,148,139,163,181,161,161,137,145,161,137,134,140,159,132,159,132,176,137,140,132,144,133,146,135,163,136,133,139,136,133,179,165,136,133,183,179,135,147,135,132,177,145,132,133,154],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f40b9","0x1f3595","0x1f2bc8","0x1f34ed","0x267e2","0x347bf1","0x287b5","0x11e88d","0x75961d1fd38f","0x347bdc","0x1f2589","0x1f1e9c","0x1edef0","0x1eeae6","0x1ee323","0x1f1c7f","0x1eea6b","0x1ee340","0x1ee5d9","0x1f37e8","0x1f1e6f","0x1edfbe","0x1ee015","0x1eeb02","0x1ee4a2","0x1f3684","0x1f3d65","0x1ee807","0x1ee781","0x1f257e","0x177da8","0x1f2c90","0x1f31ec","0x26c8f","0x354cb3","0xa5861","0xa4b89","0xa48dc","0xa324b","0x1ee024","0x1ee728","0x1edfd9","0x1ee9e9","0x1ee205","0x1ee80a","0x1ee79f","0x1ee7b0","0x1ee45f","0x1edfb4","0x177d80","0x1ee47c","0x1ee74b","0x1ee89d","0x1f26c4","0x592ef","0xa462a","0xa1723","0x177d91","0x1eebfd","0x1ee930","0x1ee8b7","0x177db9","0x1edff0","0x1ee80d","0x177dbc","0x1ee010","0x1ef2d8","0x1eebf0","0x1eeec7","0x2618c","0x26706","0x26141","0x108c9b","0x1ee73b","0x1ee680","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb188","0x1eb357","0x1eb190","0x1eb43d","0x1eb11d","0x177e3f","0x1ec510","0x1eb363","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edbd7","0x1ee967","0x34fd2","0x1edb10","0x1ee0de","0x1ee020","0x1edfb7","0x1edf61","0x1ee141","0x1ee493","0x1ee01a","0x1ee836","0x1ee030","0x34ed4","0x1ee862","0x1edfb0","0x1ee027","0x1ee755","0x1ee83a","0x1ede8d","0xa522c","0x1eda21","0x1edfce","0x1eead7","0x1ee753","0x1edf9b","0x1eea10","0x1ee55a","0x1edfde","0x1ee124","0x247051","0x246666","0x246b93","0x246a77","0x246a05","0x246363","libm.so.6","0x37f02","0x76488","0x246396","0x24637c","0x37f31","0x7649f","0x764c0","0x2463ab","0x709c0","0x764bb","0x246338","0x37ef0","0x2463bb","0x76514","0x2463af","0x37f1d","0x76538","0x764d5","0x7652b","0x764c4","0x246386","0x764ac","0x76506","0x76518","0x709d0","0x709c7","0x37f13","0x246392","0x764eb","0x709e0","0xe380","0x37f03","0x76637","0x76470","0x764e4","0x764f7","0x7654a","0x37f33","0x37f58","0x7651d","0x764db","0x246376","0x7650f","0x37f27","0x37f21","0x24638a","0x764f4","0x764cc","0x24639f","0x37f25","0x7662f","0x24633e","0x76618","0x70a1c","0x24636d","0x70ac0","0x7647e","0x764fd","0x70ab8","0x7651f","0x70aba","0x76532","0x76526","0x37efe","0x709ce","0x7653e","0x37ef8","0x764b3","0x24637a","0x246354","0x76482","0x76497","0x37f37","0x70aa8","0x70a10","0x764d8","0x37f0b","0x246347","0x37f44","0x765b8"],"tid":"700703","unregisterTime":116622126.552591},{"frameTable":{"length":202,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041225,2038911,2023152,2026214,2023445,2026242,2023385,2023106,2039452,2024558,2023351,2023448,2025629,2023344,2024595,2024521,2024610,2023966,2023095,1705924,2026133,2045572,2023663,2041214,1539473,2025049,2023348,1539652,2025895,2023467,2039411,2024221,2023341,2023440,2026005,2043024,2044187,158863,3493043,677985,674697,674012,668235,1539906,2044631,676946,666818,594523,2044666,665610,2018025,2013424,2016405,2016768,2011421,1539633,2016528,1539647,2011620,1539490,1418669,368184,216630,366929,2022160,217042,2022359,2023463,2023301,2025237,2025444,366912,1539516,2023387,2025541,2025957,2025348,2023920,2025404,1539477,2025251,2026215,2023456,2025482,2025968,2023398,216788,2025553,2023367,2023413,2025315,2023358,155969,1084571,156044,157446,1173645,156486,157666,3439601,165813,2388049,2385510,2386437,2384724,2384790,2386835,2384764,229122,461496,2384811,2384739,58240,2384827,229157,484919,229123,229139,484544,484524,2384711,484628,484596,484911,229112,484658,484488,461328,484632,484531,2386551,2384807,484664,229131,484637,484580,484587,461504,229153,484511,229169,461262,484672,484682,229104,484548,461255,461498,2384702,484792,484571,484515,2384774,2384815,2384762,484651,484641,484565,229208,229201,2384728,229184,484503,2384786,484794,229175,484556,484605,461280,484888,229118,461340,2384758,484901,461284,461248,229171,2384778,229188,229149,461488,156064,484691,484568,484482,229167,484610,2384799,2384819,229159,484614,484583],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":202,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,1,1,2,2,2,2,2,1,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,1,2,2,2,1,2,2,2,2,2,1,1,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700704>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.872855,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,120],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":727,"stack":[21,30,31,36,40,42,52,57,58,59,64,68,70,72,73,90,104,113,118,126,136,141,148,154,155,164,183,223,233,250,289,295,295,295,295,295,295,299,312,319,342,356,375,387,394,402,411,416,420,430,437,444,446,451,456,462,463,469,475,477,484,487,493,499,504,509,512,518,521,524,533,536,545,559,564,567,575,586,588,588,591,596,596,596,596,596,606,607,613,621,625,629,637,639,640,644,646,647,649,607,653,654,655,657,658,659,662,665,666,667,668,671,672,674,676,677,678,681,682,683,692,695,696,700,701,702,706,709,710,712,715,725,726,727,729,732,738,741,743,744,749,751,752,751,753,591,756,756,757,760,763,764,767,783,786,791,795,797,805,808,814,815,817,825,828,832,838,839,842,850,851,853,859,862,866,878,882,883,889,893,901,902,904,908,911,912,920,922,927,929,930,936,943,945,946,952,956,647,607,959,655,960,963,964,966,967,968,971,972,975,976,682,977,980,981,984,990,993,996,1001,1004,1008,1009,1011,1016,1019,1020,1021,1023,1024,1027,1031,1032,1033,1033,1034,1037,1040,613,1037,1045,1048,1049,1050,1052,1052,1053,1056,1057,1060,1063,1064,1065,1068,1065,1069,1070,1072,1075,1076,1080,1081,1082,1083,1097,1100,1103,1108,1109,1113,1121,1125,1126,1132,1134,1142,1144,1147,1148,1151,1157,1158,1160,1163,1173,1175,1178,1184,1185,1186,1187,1188,1189,1191,1192,1009,1193,1194,1195,1196,1197,1198,1199,1197,1024,1202,1203,1204,1205,1206,1207,1210,1211,1212,1034,1213,1214,1215,1034,1216,1217,613,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1224,1228,1230,1231,1231,1233,1234,1231,1235,1245,1247,1251,1252,1258,1259,1268,1270,1275,1277,1287,1288,1290,1298,1302,1305,1302,1306,1194,1307,1308,1016,1309,1024,1310,1311,1312,1220,613,1313,1314,1315,1316,1231,1317,1318,1318,1319,1320,1321,629,1322,1323,1324,1324,1325,1328,640,639,640,1329,1330,1333,646,1334,1335,1336,1197,1207,1034,1337,1338,1050,1053,1343,1344,1346,1349,1352,1355,1356,1360,1361,1366,1367,1371,1372,1374,1376,1378,1270,1379,1382,1385,1388,1391,1393,588,1394,1395,1396,1397,1024,1398,1399,1400,1401,1402,1403,1404,1070,1406,1325,1407,1408,1329,1411,1412,1415,1418,1419,1424,1426,1431,1432,1435,1440,1443,1446,1448,1450,1451,1452,743,1460,1463,1466,1472,1475,1479,1482,1483,1484,1205,1485,1034,1486,1487,1225,1231,1490,1493,1499,1501,1502,1503,1506,1507,1509,1510,1511,1512,1513,1514,1517,1520,1521,1529,1530,1531,588,588,588,588,588,588,1533,591,607,1535,607,607,1536,1537,1538,659,1539,671,1542,1543,1544,1547,1548,1549,1550,1553,1554,1555,1556,1562,1566,1567,1575,1576,1579,1580,1584,1585,1587,1590,1591,1592,1593,1594,1595,1598,1599,1600,1601,1604,1607,1608,1611,1613,1617,1617,1620,1623,1624,1625,1626,1627,764,1629,1630,1599,1631,1632,1633,1634,1635,1636,1637,1639,1641,1644,1645,1648,1649,1650,1653,1654,1655,1656,1657,1658,1661,1664,1667,1670,1671,1674,1675,1676,1677,1679,1680,1681,1682,1683,672,1684,677,1687,1688,1689,1690,701,1554,706,1691,1694,1695,1696,1567,1701,1703,1705,1706,1707,1024,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1328,1719,1329,1334,1721,1722,1723,1726,1727,1728,1729,1730,1740,1742,1750,1753,1764,1767,1771,1772,1784,1785,1789,1795,1798,1800,1806,1811,1814,1816,1819,1820,1821,1822,1830,1834,1848,1853,1855,1863,1867,1871,1879,1883,1888,1890,1896,1900,1905,1907,1919,1922,1924,1930,1933,1940,1943,1948,1951,1959,1961,1967,1970,1976,1978,1982,1985,1999,2001,2005,2006,2010,2016,2020,2024,2028,2038,2040,2044,2048,2056,2059,2064,2068,2071,2072,2075,2076,2077,2080,2084,2085,2088,2072,2091],"time":[116621312.630594,116621315.876459,116621319.679571,116621321.893603,116621323.859996,116621326.583678,116621328.006933,116621329.341061,116621330.726181,116621331.931096,116621334.488522,116621335.477112,116621336.465658,116621337.455403,116621338.539197,116621339.786395,116621340.765458,116621341.692672,116621342.630075,116621344.702799,116621345.632225,116621346.679533,116621347.723866,116621348.757071,116621350.676385,116621351.715316,116621352.906121,116621353.910158,116621354.87344,116621356.179774,116621357.116565,116621358.134451,116621358.14283,116621358.1483,116621358.153679,116621358.159078,116621358.167108,116621358.252952,116621368.266474,116621370.594565,116621372.594161,116621374.529779,116621375.96967,116621377.87218,116621379.162016,116621380.436976,116621381.663178,116621382.825705,116621383.950308,116621385.106303,116621386.18942,116621387.246227,116621388.286808,116621389.316022,116621390.337296,116621391.352871,116621392.370544,116621393.418783,116621394.460195,116621395.537387,116621396.554417,116621397.561754,116621398.565614,116621399.568181,116621400.570137,116621401.582746,116621402.552429,116621403.513378,116621404.483002,116621405.460534,116621406.462905,116621407.448579,116621408.427711,116621409.382274,116621410.379711,116621411.348114,116621412.319502,116621413.297661,116621415.434826,116621417.092834,116621418.604545,116621423.002752,116621423.007589,116621423.010303,116621423.012901,116621423.015557,116621423.037571,116621423.856171,116621430.515297,116621434.018489,116621436.48621,116621438.6104,116621440.43881,116621442.063515,116621443.442207,116621444.715172,116621445.916756,116621447.064477,116621448.159452,116621449.221041,116621450.302547,116621451.292224,116621452.27456,116621453.25942,116621454.248081,116621455.239709,116621456.233784,116621457.229925,116621458.227384,116621459.224712,116621460.223403,116621461.218526,116621462.177611,116621463.142104,116621464.114949,116621465.222213,116621466.208525,116621467.210657,116621468.214121,116621469.216817,116621470.218744,116621471.220469,116621472.221474,116621473.222389,116621474.207295,116621475.170371,116621476.14092,116621477.120404,116621478.107386,116621479.133712,116621480.158394,116621481.176934,116621482.190799,116621483.218546,116621484.225938,116621485.250568,116621486.292782,116621487.322271,116621488.304875,116621489.285331,116621490.269998,116621491.258825,116621492.250755,116621493.245136,116621494.229168,116621498.023632,116621499.125215,116621499.244284,116621499.361622,116621499.58543,116621500.011422,116621500.660271,116621501.401704,116621502.23284,116621503.155446,116621504.121529,116621505.291625,116621506.375967,116621507.487803,116621508.74785,116621509.971865,116621511.192452,116621512.343653,116621513.50668,116621514.548252,116621515.531479,116621516.630238,116621517.611967,116621518.517981,116621519.415144,116621520.319728,116621521.231269,116621522.181255,116621523.13066,116621524.091627,116621525.063228,116621526.042543,116621527.072751,116621529.166846,116621530.124497,116621531.067783,116621532.022283,116621533.050978,116621534.051214,116621535.047952,116621536.044685,116621537.079806,116621538.066409,116621539.056421,116621540.051254,116621541.047468,116621542.044826,116621543.042414,116621544.040715,116621545.166079,116621546.149489,116621547.123043,116621548.101852,116621549.086033,116621550.114071,116621551.100635,116621552.199751,116621553.188253,116621554.154298,116621555.142433,116621556.118989,116621557.09351,116621558.048904,116621559.019818,116621560.053336,116621561.056326,116621562.055497,116621563.044663,116621564.0131,116621565.009255,116621565.986458,116621566.964393,116621567.947562,116621568.9354,116621572.795896,116621573.717381,116621575.715573,116621576.657397,116621577.664548,116621578.676833,116621579.71697,116621580.830408,116621581.940076,116621583.071064,116621584.207453,116621585.528921,116621586.579093,116621587.595058,116621588.603844,116621589.60944,116621590.65915,116621591.656374,116621592.664407,116621593.693701,116621594.745629,116621595.724295,116621596.699357,116621597.679955,116621598.665966,116621599.622733,116621600.583173,116621601.553531,116621602.531995,116621603.516255,116621604.505127,116621605.504873,116621606.470971,116621607.415857,116621608.357915,116621609.314671,116621610.28167,116621611.309989,116621612.285717,116621613.269622,116621614.283025,116621615.342291,116621616.346873,116621617.473666,116621618.454996,116621619.426671,116621620.929348,116621622.328017,116621623.197308,116621624.01381,116621624.860158,116621625.84738,116621626.737426,116621627.752057,116621628.78351,116621629.827095,116621630.874406,116621631.912017,116621632.939448,116621633.963246,116621634.986488,116621636.010847,116621637.018779,116621638.028777,116621639.04265,116621640.036838,116621641.030393,116621642.025338,116621643.065581,116621649.154283,116621650.073431,116621650.86154,116621651.645369,116621652.485169,116621653.406092,116621654.345211,116621655.300654,116621656.27871,116621657.406075,116621658.733609,116621660.06664,116621661.298825,116621662.446645,116621663.552221,116621664.629084,116621665.815897,116621666.855124,116621669.059769,116621670.157512,116621671.240826,116621672.263619,116621673.241848,116621674.229288,116621675.211055,116621676.196395,116621677.185722,116621678.166068,116621679.128023,116621680.123458,116621681.096959,116621682.074434,116621683.057864,116621684.133003,116621685.096954,116621686.012204,116621686.941554,116621687.887667,116621688.873817,116621689.870341,116621690.868883,116621691.867966,116621692.867488,116621693.917972,116621694.947525,116621695.968829,116621696.984224,116621698.039058,116621699.041287,116621700.037435,116621701.033592,116621702.017807,116621702.985011,116621703.954201,116621704.926801,116621705.964537,116621706.922404,116621707.87071,116621708.836436,116621709.819414,116621710.828132,116621711.836038,116621712.84551,116621714.70175,116621715.675428,116621716.929132,116621717.862499,116621718.879567,116621719.801022,116621720.716539,116621724.203735,116621725.208889,116621726.155597,116621727.108112,116621728.072632,116621729.074441,116621730.11154,116621731.14788,116621732.176964,116621733.228506,116621734.270911,116621735.315958,116621736.338708,116621737.352279,116621738.361455,116621739.379175,116621740.424878,116621741.456627,116621742.478458,116621743.494084,116621744.505306,116621745.55008,116621746.589332,116621747.617829,116621748.63866,116621749.653795,116621750.92014,116621751.929835,116621753.007562,116621754.066511,116621755.110465,116621756.107146,116621757.099442,116621758.093783,116621759.056805,116621761.014933,116621761.992414,116621762.91028,116621763.885521,116621764.833154,116621765.784104,116621766.746914,116621767.742941,116621768.723258,116621769.703821,116621770.688766,116621771.677831,116621772.669886,116621773.664349,116621774.660362,116621775.689883,116621776.659624,116621777.620118,116621778.588978,116621779.566055,116621780.549837,116621781.537768,116621782.529039,116621783.631455,116621784.626809,116621785.599233,116621786.575618,116621787.55794,116621788.544939,116621789.535586,116621790.616181,116621791.658453,116621792.759118,116621793.83627,116621794.892883,116621796.403819,116621800.324885,116621801.153434,116621801.982489,116621802.846622,116621803.739088,116621804.641136,116621805.559776,116621806.513122,116621807.652045,116621808.989387,116621810.386459,116621811.707758,116621812.887456,116621814.005494,116621815.079867,116621816.162342,116621817.175446,116621818.162551,116621819.116864,116621820.058834,116621820.988806,116621821.904457,116621822.835071,116621823.783788,116621824.746587,116621825.757086,116621826.758443,116621827.743406,116621828.720622,116621829.729413,116621830.715748,116621831.69888,116621832.68529,116621833.706349,116621834.731473,116621835.750779,116621836.805877,116621837.811834,116621838.778487,116621839.778185,116621840.748884,116621841.723113,116621842.746519,116621843.73234,116621844.719239,116621845.703116,116621846.689494,116621847.721411,116621848.688229,116621849.674508,116621850.644243,116621851.641228,116621852.628515,116621853.613986,116621854.615645,116621855.624977,116621856.632734,116621857.638732,116621858.64309,116621859.665523,116621860.734097,116621861.794407,116621862.80459,116621863.788482,116621864.836355,116621865.878685,116621866.843872,116621867.798059,116621868.761207,116621869.733944,116621870.714399,116621871.293952,116621873.709585,116621873.714628,116621873.71753,116621873.720373,116621873.723715,116621873.745434,116621877.035655,116621878.441413,116621879.073286,116621879.145988,116621879.223792,116621879.421841,116621879.910076,116621880.635406,116621881.443669,116621882.306256,116621883.881649,116621885.209013,116621886.045096,116621886.874597,116621887.706537,116621888.572191,116621889.556705,116621890.754518,116621892.037719,116621893.239819,116621894.38769,116621895.521143,116621896.597532,116621897.65044,116621898.688306,116621899.715879,116621900.73575,116621903.039964,116621904.014501,116621904.981947,116621905.928262,116621906.881074,116621907.845619,116621908.827447,116621909.787884,116621911.849654,116621912.812939,116621913.731766,116621914.664168,116621915.613734,116621916.698452,116621917.672076,116621918.625445,116621919.587509,116621920.559294,116621921.558664,116621922.541509,116621923.526537,116621924.51525,116621925.538896,116621926.533302,116621927.61715,116621928.607841,116621929.579067,116621930.55537,116621931.696224,116621932.714653,116621933.700795,116621934.68655,116621935.675547,116621936.69751,116621937.691777,116621938.67627,116621939.635163,116621940.598679,116621941.571279,116621942.551463,116621943.526292,116621944.508428,116621946.599901,116621947.56689,116621948.524411,116621949.490539,116621950.487902,116621951.679831,116621952.635107,116621953.579201,116621954.583774,116621955.551403,116621956.516648,116621957.48942,116621958.514069,116621959.530617,116621960.54,116621961.546354,116621962.576106,116621963.57909,116621969.085516,116621970.229786,116621971.80142,116621972.879433,116621973.87205,116621974.860627,116621975.851318,116621976.844653,116621977.857642,116621978.875056,116621979.899143,116621980.927722,116621981.983335,116621982.992303,116621983.989181,116621985.039464,116621986.142604,116621987.26754,116621988.37222,116621989.435412,116621990.477479,116621991.507634,116621993.069912,116621994.159452,116621995.218189,116621996.260261,116621997.253914,116621998.251206,116621999.241,116622000.232397,116622001.223404,116622002.19096,116622003.156364,116622004.12961,116622005.101546,116622006.054844,116622007.048017,116622008.016168,116622008.988778,116622010.000351,116622011.017225,116622012.02944,116622013.037609,116622014.043721,116622015.576609,116622016.575709,116622017.47493,116622018.358684,116622019.263538,116622020.193719,116622021.142999,116622022.146722,116622023.11172,116622024.062646,116622025.045139,116622026.026585,116622026.988867,116622027.953781,116622028.926875,116622029.907163,116622030.925024,116622031.96145,116622032.977318,116622033.979303,116622034.967605,116622035.941944,116622036.919245,116622037.9019,116622039.373735,116622040.306273,116622041.206105,116622048.439493,116622049.854704,116622051.208614,116622052.455708,116622053.753176,116622054.995735,116622056.227845,116622057.455884,116622058.67934,116622059.856297,116622060.987625,116622062.084413,116622063.155164,116622064.198369,116622065.228711,116622066.250575,116622067.312017,116622068.317675,116622069.316152,116622070.308916,116622071.282122,116622072.300369,116622073.358394,116622074.31804,116622075.391506,116622076.345526,116622077.297851,116622078.266181,116622079.274138,116622080.266078,116622081.224213,116622082.17159,116622083.130199,116622084.099963,116622085.077801,116622086.061948,116622087.101478,116622088.08786,116622089.07125,116622090.047586,116622091.05722,116622092.039212,116622093.000456,116622093.964036,116622094.936289,116622095.920641,116622096.928066,116622097.952337,116622098.981724,116622099.994946,116622101.00204,116622102.007263,116622103.054287,116622104.05103,116622105.043528,116622106.037204,116622107.045458,116622108.039957,116622109.019031,116622109.984231,116622110.952251,116622111.928031],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[6752,3230,2605,2214,1862,1641,1423,1334,1257,1204,1095,988,988,989,991,982,979,927,937,942,929,1047,1044,1033,1018,1038,1008,1004,963,964,936,807,8,5,5,5,8,85,4999,2285,1999,1771,1439,1346,1289,1274,1226,1162,1124,1124,1083,1056,1040,1029,1021,1015,1017,1048,1041,1030,1017,1007,1003,1002,1001,1001,969,960,969,977,983,985,979,954,963,968,971,978,1224,406,428,99,4,2,2,2,22,818,6103,3503,2467,2124,1828,1624,1378,1272,1201,1147,1094,1061,1004,989,982,984,988,991,994,996,997,997,998,995,959,964,972,987,986,1002,1003,1002,1001,1001,1001,1000,984,963,970,979,986,1026,1024,1018,1013,1009,1007,1024,1042,1029,982,980,984,988,991,994,984,691,1101,119,117,223,425,648,741,831,922,966,1065,1084,1111,1260,1224,1220,1151,1163,1041,983,969,981,906,897,904,911,949,949,960,971,979,1030,982,957,943,954,1022,1000,996,996,1035,982,986,994,996,997,997,998,1015,983,973,978,984,1028,986,984,988,966,988,976,974,955,970,1033,1002,999,989,968,996,977,977,983,987,960,921,924,936,1007,1012,1040,1113,1109,1126,1136,1112,1050,1015,1008,1005,1049,997,1008,1029,1051,978,975,980,986,956,960,970,978,984,988,999,966,944,942,956,966,1028,975,983,1013,1059,1004,997,981,971,1021,950,819,816,846,891,890,1014,1026,1043,1047,1037,1027,1019,1023,1024,1007,1009,1013,994,993,994,1040,940,794,788,783,839,920,939,955,978,1127,1327,1333,1232,1147,1105,1076,1068,1039,1018,1097,1083,1022,978,987,981,985,989,980,961,995,973,977,983,970,963,915,929,946,986,996,998,999,999,1050,1029,1021,1015,1054,1002,996,996,984,967,969,972,951,957,948,965,982,1008,1007,1009,987,973,942,933,921,921,915,911,1005,946,952,964,1001,1037,1036,1029,1051,1042,1045,1022,1013,1009,1017,1045,1031,1021,1015,1011,1044,1039,1028,1020,1015,1025,1009,1077,1058,1043,996,992,994,963,966,977,917,975,947,950,962,996,980,980,984,989,992,994,996,1029,969,960,968,977,983,987,991,992,995,972,976,982,986,990,992,1042,1100,1077,1056,635,824,828,829,853,892,902,918,953,1138,1337,1397,1258,1179,1118,1074,1066,1013,987,954,941,929,915,930,948,962,1010,979,976,977,1008,986,983,986,1021,1025,1019,1055,1005,966,966,970,974,1023,985,979,983,986,1031,966,986,969,996,987,973,1001,1009,1007,1005,1004,1022,1035,1060,1010,983,999,1030,961,954,963,972,980,557,971,5,2,2,3,21,350,98,631,72,77,198,488,725,808,862,1390,1218,836,829,831,865,984,1197,1283,1202,1147,1133,1076,1052,1037,1027,1019,1014,974,967,946,952,964,981,960,940,963,918,932,949,962,973,953,962,971,999,982,985,988,1023,994,987,990,971,976,1008,1018,986,985,988,1021,994,984,958,963,972,980,974,982,994,966,957,966,997,981,955,944,1004,967,965,972,1024,1016,1009,1006,1029,1002,2045,1144,1101,1078,992,988,990,993,1012,1017,1024,1019,1055,1008,996,1050,1103,1124,1087,1063,1042,1030,1021,1089,1058,1042,993,997,989,991,991,967,965,973,971,953,993,968,972,992,1016,1012,1008,1006,1035,999,899,883,904,930,949,1003,964,950,982,981,962,964,973,980,1017,1021,1015,1001,988,974,977,982,987,932,899,1916,1415,1353,1247,1297,1242,1232,1228,1223,1176,1131,1096,1070,1043,1030,1021,1061,1005,998,992,973,967,968,959,994,954,952,968,1007,991,958,947,958,969,977,984,1039,986,983,976,1009,981,961,963,972,984,1007,1024,1016,1013,1007,1005,1047,996,992,993,1008,994,979,965,968,975]},"stackTable":{"length":2092,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,13,22,23,24,25,26,27,28,29,26,23,32,33,34,35,33,37,38,39,38,41,11,43,44,45,46,47,48,49,50,51,48,53,54,55,56,55,50,46,60,61,62,63,61,65,66,67,65,69,63,71,67,44,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,77,91,92,93,94,95,96,97,98,99,100,101,102,103,79,105,106,107,108,109,110,111,112,110,114,115,116,117,108,119,120,121,122,123,124,125,106,127,128,129,130,131,132,133,134,135,128,137,138,139,140,83,142,143,144,145,146,147,85,149,150,151,152,153,87,81,156,157,158,159,160,161,162,163,157,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,null,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,212,224,225,226,227,228,229,230,231,232,168,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,null,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,239,290,291,292,293,294,156,296,297,298,5,300,301,302,303,304,305,306,307,308,309,310,311,305,313,314,315,316,317,318,301,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,331,343,344,345,346,347,348,349,350,351,352,353,354,355,346,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,5,376,377,378,379,380,381,382,383,384,385,386,381,388,389,390,391,392,393,379,395,396,397,398,399,400,401,396,403,404,405,406,407,408,409,410,404,412,413,414,415,413,417,418,419,377,421,422,423,424,425,426,427,428,429,424,431,432,433,434,435,436,422,438,439,440,441,442,443,443,445,439,447,448,449,450,448,452,453,454,455,382,457,458,459,460,461,461,457,464,465,466,467,468,388,470,471,472,473,474,471,476,470,478,479,480,481,482,483,479,485,486,485,488,489,490,491,492,397,494,495,496,497,498,494,500,501,502,503,501,505,506,507,508,406,510,511,412,513,514,515,516,517,515,519,520,513,522,523,377,525,526,527,528,529,530,531,532,532,534,535,528,537,538,539,540,541,542,543,544,542,546,547,548,549,550,551,552,553,554,555,556,557,558,553,560,561,562,563,563,565,566,551,568,569,570,571,572,573,574,569,576,577,578,579,580,581,582,583,584,585,4,587,4,589,590,4,592,593,594,595,5,597,598,599,600,601,602,603,604,605,605,602,608,609,610,611,612,600,614,615,616,617,618,619,620,619,622,623,624,617,626,627,628,615,630,631,632,633,634,635,636,633,638,638,631,641,642,643,642,645,605,605,648,604,650,651,652,651,650,610,656,656,610,609,660,661,660,663,664,664,618,618,618,669,670,626,626,673,673,675,632,632,641,679,680,641,641,598,684,685,686,687,688,689,690,691,690,693,694,694,689,697,698,699,699,697,687,703,704,705,705,707,708,705,704,711,711,713,714,685,716,717,718,719,720,721,722,723,724,724,724,723,728,728,730,731,721,733,734,735,736,737,735,739,740,734,742,742,719,745,746,747,748,748,750,747,750,608,754,755,608,608,758,759,616,761,762,616,630,765,766,598,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,779,784,785,777,787,788,789,790,788,792,793,794,792,796,775,798,799,800,801,802,803,804,801,806,807,799,809,810,811,812,813,811,810,816,773,818,819,820,821,822,823,824,824,826,827,823,829,830,831,821,833,834,835,836,837,835,834,840,841,819,843,844,845,846,847,848,849,848,846,852,844,854,855,856,857,858,856,860,861,855,863,864,865,771,867,868,869,870,871,872,873,874,875,876,877,874,879,880,881,879,872,884,885,886,887,888,885,890,891,892,870,894,895,896,897,898,899,900,899,897,903,895,905,906,907,906,909,910,909,868,913,914,915,916,917,918,919,918,921,916,923,924,925,926,924,928,928,914,931,932,933,934,935,933,937,938,939,940,941,942,939,944,944,937,947,948,949,950,951,948,953,954,955,650,957,958,610,610,961,962,660,661,965,670,618,626,969,970,626,632,973,974,632,680,778,978,979,778,787,982,983,775,985,986,987,988,989,989,991,992,988,994,995,605,997,998,999,1000,998,1002,1003,997,1005,1006,1007,1005,1005,1010,650,1012,1013,1014,1015,1013,1017,1018,1018,1015,1012,1022,1022,1022,1025,1026,611,1028,1029,1030,1028,1028,1028,612,1035,1036,612,1038,1039,660,1041,1042,1043,1044,1042,1046,1047,1047,1042,1041,1051,1051,1051,1054,1055,620,620,1058,1059,620,1061,1062,620,622,622,1066,1067,624,628,628,1071,628,1073,1074,1071,627,1077,1078,1079,1077,1079,1079,615,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1096,1098,1099,1095,1101,1102,1093,1104,1105,1106,1107,1106,1105,1110,1111,1112,1091,1114,1115,1116,1117,1118,1119,1120,1117,1122,1123,1124,1122,1115,1127,1128,1129,1130,1131,1128,1133,1089,1135,1136,1137,1138,1139,1140,1141,1141,1143,1140,1145,1146,1146,1145,1149,1150,1138,1152,1153,1154,1155,1156,1156,1153,1159,1159,1161,1162,1087,1164,1165,1166,1167,1168,1169,1170,1171,1172,1169,1174,1174,1176,1177,1167,1179,1180,1181,1182,1183,998,1002,1003,1000,998,1010,1190,1190,1007,1005,1014,1015,1013,1018,1013,1022,1200,1201,1025,1026,1201,1201,1201,1028,1208,1209,1030,1030,1030,1028,1029,1036,1038,1039,1039,612,1036,1044,1047,1047,1042,1044,1044,1054,1051,1229,1051,1229,1232,1055,1055,600,1236,1237,1238,1239,1240,1241,1242,1243,1244,1244,1246,1243,1248,1249,1250,1249,1241,1253,1254,1255,1256,1257,1255,1254,1260,1261,1262,1263,1264,1265,1266,1267,1265,1269,1263,1271,1272,1273,1274,1272,1276,1239,1278,1279,1280,1281,1282,1283,1284,1285,1286,1284,1283,1289,1281,1291,1292,1293,1294,1295,1296,1297,1296,1299,1300,1301,1301,1303,1304,999,1005,1014,1013,1026,1208,1208,1039,1044,1044,1232,1055,620,624,623,623,1074,1078,1077,634,634,1326,1327,643,643,645,1331,1332,645,999,1005,1209,1036,1244,1339,1340,1341,1342,1342,1339,1345,1345,1347,1348,1248,1350,1351,1351,1353,1354,1353,1350,1357,1358,1359,1357,1255,1362,1363,1364,1365,1365,1362,1368,1369,1370,1368,1266,1373,1267,1375,1269,1377,1286,1284,1380,1381,1289,1383,1384,1289,1386,1387,1293,1389,1390,1293,1392,1003,1190,1014,1014,1029,1035,1042,1232,1059,1066,1067,1077,1405,636,638,643,1409,1410,645,690,1413,1414,1413,1416,1417,1417,697,1420,1421,1422,1423,1420,1425,705,1427,1428,1429,1430,1430,1427,1433,1434,711,1436,1437,1438,1439,1436,1441,1442,724,1444,1445,724,1447,728,1449,740,735,719,1453,1454,1455,1456,1457,1458,1459,1457,1461,1462,1456,1464,1465,1454,1467,1468,1469,1470,1471,1469,1473,1474,1468,1476,1477,1478,605,1480,1481,1014,1015,1029,1036,1043,1242,1488,1489,1253,1491,1492,1239,1494,1495,1496,1497,1498,1495,1500,1246,1248,1248,1504,1505,1255,1254,1508,1508,1381,1386,1289,1297,1297,1515,1516,1296,1518,1519,1518,1294,1522,1523,1524,1525,1526,1527,1528,1526,1527,4,1532,648,1534,652,652,961,660,618,1540,1541,969,974,632,1545,1546,680,690,699,697,1551,1552,705,714,711,685,1557,1558,1559,1560,1561,1560,1563,1564,1565,1563,1558,1568,1569,1570,1571,1572,1573,1574,1574,1573,1577,1578,1577,1571,1581,1582,1583,1583,1582,1586,1586,1588,1589,603,603,608,755,762,616,1596,1597,630,765,688,688,1602,1603,703,1605,1606,703,1559,1609,1610,1559,1612,1558,1614,1615,1616,603,1618,1619,603,1621,1622,755,755,758,1597,630,1628,766,1603,688,703,1606,1612,1610,1609,1614,1638,1638,1640,597,1642,1643,597,599,1646,1647,1647,684,684,1651,1652,1647,1647,684,1643,1643,597,1659,1660,601,1662,1663,601,1665,1666,614,1668,1669,1669,686,1672,1673,686,1534,652,656,1678,1678,663,1541,1541,970,641,1685,1686,680,694,1552,714,1561,1692,1693,1693,1563,1614,1697,1698,1699,1700,1697,1702,1702,1704,1480,1018,1028,1209,612,1043,1232,1058,1066,1073,1077,634,638,1718,1414,1720,1416,1421,1425,1724,1725,1428,1433,1437,1438,1436,1731,1732,1733,1734,1735,1736,1737,1738,1739,1736,1741,1734,1743,1744,1745,1746,1747,1748,1749,1748,1751,1752,1746,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1762,1765,1766,1761,1768,1769,1770,1770,1759,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1783,1782,1786,1787,1788,1780,1790,1791,1792,1793,1794,1791,1796,1797,1797,1799,1778,1801,1802,1803,1804,1805,1803,1807,1808,1809,1810,1808,1812,1813,1807,1815,1815,1817,1818,1803,1803,1003,997,1823,1824,1825,1826,1827,1828,1829,1828,1831,1832,1833,1826,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1844,1849,1850,1851,1852,1850,1854,1842,1856,1857,1858,1859,1860,1861,1862,1857,1864,1865,1866,1865,1868,1869,1870,1840,1872,1873,1874,1875,1876,1877,1878,1877,1880,1881,1882,1875,1884,1885,1886,1887,1885,1889,1873,1891,1892,1893,1894,1895,1894,1897,1898,1899,1892,1901,1902,1903,1904,1902,1906,1838,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1915,1920,1921,1921,1923,1913,1925,1926,1927,1928,1929,1926,1931,1932,1911,1934,1935,1936,1937,1938,1939,1937,1941,1942,1935,1944,1945,1946,1947,1945,1949,1950,1909,1952,1953,1954,1955,1956,1957,1958,1957,1960,1955,1962,1963,1964,1965,1966,1963,1968,1969,1953,1971,1972,1973,1974,1975,1974,1977,1972,1979,1980,1981,1980,1983,1984,604,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1995,2000,1993,2002,2003,2004,2004,2003,2007,2008,2009,1991,2011,2012,2013,2014,2015,2014,2017,2018,2019,2012,2021,2022,2023,2022,2025,2026,2027,1989,2029,2030,2031,2032,2033,2034,2035,2036,2037,2034,2039,2032,2041,2042,2043,2042,2045,2046,2047,2030,2049,2050,2051,2052,2053,2054,2055,2052,2057,2058,2050,2060,2061,2062,2063,2061,2065,2066,2067,2067,2069,2070,1992,2011,2073,2074,2031,2049,1990,2078,2079,1989,2081,2082,2083,1988,1988,2086,2087,1992,2089,2090],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,8,7,9,10,11,12,13,14,9,7,8,10,11,12,15,13,16,17,9,10,18,12,19,11,12,13,20,15,21,9,7,8,7,8,10,11,12,13,22,18,12,15,15,23,24,25,9,10,11,12,26,18,12,13,27,28,29,13,30,20,31,5,6,7,8,7,9,7,8,7,9,7,9,10,11,12,32,9,7,8,7,9,7,9,7,9,10,11,12,13,23,8,7,8,7,8,7,8,33,34,9,10,11,12,35,9,7,9,10,18,12,15,36,9,7,8,7,9,10,18,12,13,21,9,7,8,33,37,8,7,8,10,18,12,38,8,10,18,12,15,39,40,9,7,8,7,9,10,11,12,41,31,5,6,7,8,7,9,7,8,7,9,7,8,10,18,12,15,15,42,7,8,7,8,7,9,7,31,5,6,7,8,7,9,7,9,7,31,5,6,7,31,5,6,7,8,7,8,7,8,7,8,7,9,10,18,12,15,15,43,9,7,8,7,8,10,18,12,15,44,31,5,6,7,8,7,8,7,9,45,46,47,48,49,50,51,52,6,7,8,7,8,7,9,7,31,5,6,7,8,7,9,7,9,7,31,5,6,7,31,5,6,7,8,7,9,7,8,7,31,5,6,7,9,33,53,9,45,54,55,56,57,45,58,55,59,60,61,62,61,63,61,62,61,62,61,63,64,37,63,61,63,61,63,64,65,66,5,60,61,66,5,60,61,66,5,60,61,62,61,62,61,63,61,63,61,63,64,67,66,5,60,61,62,61,63,61,62,61,62,61,62,68,63,61,63,61,66,5,60,61,62,61,62,61,63,61,62,61,63,64,69,70,71,72,71,72,71,72,73,74,12,15,43,75,73,74,12,13,13,39,75,71,72,73,76,12,15,23,75,71,72,73,74,12,13,13,77,75,73,74,12,78,76,12,13,23,75,71,72,71,72,73,74,12,13,79,75,73,76,12,15,13,36,75,71,72,73,76,12,80,13,14,75,71,72,81,82,75,73,76,12,83,71,72,73,76,12,84,85,75,73,76,12,15,86,71,72,73,74,12,87,81,67,75,71,72,73,76,12,88,75,81,89,73,76,12,15,13,20,71,72,73,76,12,90,75,73,76,12,91,74,12,15,13,92,76,12,93,71,72,73,76,12,94,74,12,95,75,81,34,96,5,70,71,72,73,76,12,97,15,15,98,96,5,70,71,72,71,72,81,34,96,5,70,71,72,71,72,71,72,73,76,12,15,99,75,73,76,12,14,13,13,98,75,71,72,73,74,12,13,100,96,5,70,71,72,73,76,12,13,15,101,102,103,104,105,106,107,108,109,110,106,111,112,113,112,113,112,113,112,113,114,115,116,112,113,112,116,115,116,112,113,112,113,112,113,115,116,117,118,119,116,112,113,120,116,112,113,112,113,121,118,122,116,123,115,116,112,113,120,116,115,120,121,124,116,121,118,125,126,120,117,127,124,115,116,121,126,117,118,128,129,115,130,121,118,131,115,117,126,118,132,120,123,117,118,133,120,123,116,112,113,112,113,112,113,117,134,121,118,135,136,116,117,118,137,138,120,116,112,113,115,117,118,139,120,116,115,121,118,133,140,5,111,112,113,112,113,112,113,115,120,141,116,120,117,118,132,116,112,113,117,118,142,121,118,128,116,115,120,140,5,111,117,143,118,144,115,145,117,118,131,120,121,118,122,117,118,146,120,121,118,131,140,5,111,112,113,112,113,112,113,112,113,112,113,117,118,147,116,121,127,116,112,113,117,148,116,117,118,122,121,148,116,112,113,112,113,117,118,138,116,117,126,116,112,113,121,118,128,120,116,123,116,112,113,112,113,112,113,115,121,118,132,116,121,118,149,116,112,113,121,118,147,120,116,117,126,116,112,113,112,113,117,118,122,150,116,115,116,112,113,121,118,122,117,118,146,116,117,118,151,116,112,113,112,113,112,113,112,113,117,118,133,116,117,118,151,115,116,112,113,117,118,152,116,121,118,153,116,112,113,112,113,117,118,131,150,116,130,116,112,113,115,116,117,127,120,116,112,113,112,113,112,113,120,116,115,116,112,113,121,154,116,115,120,140,5,111,121,118,151,112,113,112,113,117,118,155,116,115,120,116,112,113,121,118,122,116,121,118,131,117,118,156,120,121,118,138,123,118,157,145,120,121,118,149,158,121,118,131,115,153,117,118,136,115,117,118,159,140,5,111,112,113,115,121,118,131,116,121,150,112,113,121,118,160,117,118,146,116,121,118,160,120,117,126,112,113,117,118,131,121,118,147,161,145,116,115,120,121,118,142,113,121,118,136,158,162,120,121,118,145,117,118,153,112,113,117,118,149,121,118,146,132,120,116,120,163,121,118,125,123,117,118,138,121,118,133,164,115,121,118,165,166,115,117,126,121,118,132,150,116,117,118,167,163,139,159,140,5,111,112,113,112,113,112,113,112,113,112,113,115,121,118,131,116,121,168,116,112,113,121,169,170,116,121,118,131,116,112,113,112,113,121,118,119,116,117,118,122,120,116,112,113,121,118,136,116,115,140,5,111,112,113,112,113,120,121,169,116,121,171,126,117,118,172,116,112,113,117,118,125,132,116,173,117,118,151,140,5,111,112,113,112,113,121,118,159,116,120,121,118,174,140,5,111,121,118,151,115,150,132,132,120,118,167,156,136,115,175,136,115,167,120,117,118,142,124,147,129,144,136,117,118,138,142,144,176,173,168,177,126,131,122,120,133,122,178,144,115,179,136,154,117,154,115,118,167,149,146,140,5,111,112,113,112,113,112,113,115,121,168,116,117,118,155,127,116,112,113,117,118,125,163,140,5,111,112,113,112,113,117,127,116,120,116,112,113,117,154,116,120,140,5,111,112,113,112,113,121,118,122,120,116,115,140,5,111,112,113,112,113,123,140,5,111,115,117,118,131,127,170,150,173,152,180,168,144,181,131,133,131,120,131,127,154,167,154,115,120,117,118,136,115,182,121,118,145,120,154,123,183,136,112,113,117,118,177,138,116,120,117,118,146,112,113,115,121,118,131,126,116,117,118,133,115,112,113,117,118,160,156,116,117,118,122,120,121,154,118,132,117,154,136,117,118,160,117,118,184,121,118,185,117,118,157,121,126,125,142,169,186,154,127,187,160,136,127,131,121,127,128,130,117,118,157,158,112,113,120,116,117,168,154,112,113,117,118,119,116,120,112,113,117,118,136,165,116,117,127,112,113,117,118,133,116,117,186,121,118,122,117,175,121,171,131,123,116,112,113,112,113,117,118,129,121,118,131,116,117,126,116,112,113,121,118,138,117,118,142,116,117,118,128,117,118,122,188,159,189,125,124,117,118,128,121,118,146,116,112,113,117,118,128,116,120,127,120,121,118,157,120,116,123,120,146,154,120,115,121,118,190,116,121,126,115,140,5,111,112,113,117,118,133,173,126,191,103,118,131,159,165,127,115,117,118,146,126,144,117,118,190,149,163,125,121,118,185,163,119,173,116,112,113,112,113,115,116,117,118,190,115,140,5,111,112,113,112,113,115,120,116,121,127,120,116,112,113,120,115,116,187,121,118,136,173,123,115,152,156,121,118,125,115,150,115,117,118,190,117,118,156,123,117,118,144,121,150,116,121,118,125,117,118,153,121,118,133,145,161,171,192,117,168,193,167,187,115,194,195,196,126,117,186,118,128,117,118,128,115,117,118,132,159,163,117,118,166,161,184,115,133,152,121,118,153,117,118,128,121,118,149,117,118,131,177,121,118,151,115,167,147,118,156,157,154,157,167,136,121,118,122,136,160,136,136,117,118,122,131,120,112,113,117,118,159,116,123,121,127,148,131,115,156,123,186,165,150,126,150,120,197,117,150,121,154,198,120,117,118,128,115,120,163,199,140,5,111,112,113,112,113,121,118,156,116,115,140,5,111,112,113,112,113,120,116,121,150,140,5,111,112,113,112,113,112,113,121,150,117,118,167,116,117,118,136,200,140,5,111,112,113,112,113,112,113,112,113,158,115,116,117,118,131,116,112,113,117,118,145,116,121,150,118,131,140,5,111,117,118,145,112,113,117,118,153,121,118,146,116,173,117,118,201,187,115,131,140,5,111,112,113,112,113,120,116,121,118,176,140,5,111,112,113,112,113,112,113,112,113,112,116,115,116,112,113,121,127,116,173,116,112,113,112,113,121,118,131,116,112,113,115,116,121,118,146,116,112,113,112,113,112,113,115,116,121,118,146,116,112,113,117,154,116,120,116,112,113,112,113,120,116,117,118,131,116,112,113,121,154,116,187,116,112,113,112,113,112,113,112,113,121,118,128,116,121,127,118,165,116,112,113,121,118,131,116,117,124,116,112,113,112,113,121,127,116,117,150,116,112,113,117,127,116,117,154,116,112,113,112,113,112,113,120,116,120,116,112,113,121,118,136,116,121,127,116,112,113,112,113,120,116,120,116,112,113,115,116,121,127,140,5,111,112,113,112,113,112,113,112,113,117,118,146,116,123,116,112,113,115,163,116,117,118,131,116,112,113,112,113,120,116,117,118,131,116,112,113,120,116,121,118,136,116,112,113,112,113,112,113,121,118,128,116,173,116,112,113,115,116,121,118,146,116,112,113,112,113,121,118,128,116,117,154,116,112,113,121,154,140,5,111,115,117,118,125,120,117,118,146,115,158,117,118,132,140,5,111,120,120,117,118,156,117,118,132],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f2589","0x1f1c7f","0x1edef0","0x1eeae6","0x1ee015","0x1eeb02","0x1edfd9","0x1edec2","0x1f1e9c","0x1ee46e","0x1edfb7","0x1ee018","0x1ee89d","0x1edfb0","0x1ee493","0x1ee449","0x1ee4a2","0x1ee21e","0x1edeb7","0x1a07c4","0x1eea95","0x1f3684","0x1ee0ef","0x1f257e","0x177d91","0x1ee659","0x1edfb4","0x177e44","0x1ee9a7","0x1ee02b","0x1f1e73","0x1ee31d","0x1edfad","0x1ee010","0x1eea15","0x1f2c90","0x1f311b","0x26c8f","0x354cb3","0xa5861","0xa4b89","0xa48dc","0xa324b","0x177f42","0x1f32d7","0xa5452","0xa2cc2","0x9125b","0x1f32fa","0xa280a","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177e31","0x1ec510","0x177e3f","0x1eb1e4","0x177da2","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edb10","0x34fd2","0x1edbd7","0x1ee027","0x1edf85","0x1ee715","0x1ee7e4","0x59940","0x177dbc","0x1edfdb","0x1ee845","0x1ee9e5","0x1ee784","0x1ee1f0","0x1ee7bc","0x177d95","0x1ee723","0x1eeae7","0x1ee020","0x1ee80a","0x1ee9f0","0x1edfe6","0x34ed4","0x1ee851","0x1edfc7","0x1edff5","0x1ee763","0x1edfbe","0x26141","0x108c9b","0x2618c","0x26706","0x11e88d","0x26346","0x267e2","0x347bf1","0x287b5","0x247051","0x246666","0x246a05","0x246354","0x246396","0x246b93","0x24637c","libm.so.6","0x37f02","0x70ab8","0x2463ab","0x246363","0xe380","0x2463bb","0x37f25","0x76637","0x37f03","0x37f13","0x764c0","0x764ac","0x246347","0x76514","0x764f4","0x7662f","0x37ef8","0x76532","0x76488","0x70a10","0x76518","0x764b3","0x246a77","0x2463a7","0x76538","0x37f0b","0x7651d","0x764e4","0x764eb","0x70ac0","0x37f21","0x7649f","0x37f31","0x709ce","0x76540","0x7654a","0x37ef0","0x764c4","0x709c7","0x70aba","0x24633e","0x765b8","0x764db","0x764a3","0x246386","0x2463af","0x24637a","0x7652b","0x76521","0x764d5","0x37f58","0x37f51","0x246358","0x37f40","0x76497","0x246392","0x765ba","0x37f37","0x764cc","0x764fd","0x709e0","0x76618","0x37efe","0x70a1c","0x246376","0x76625","0x709e4","0x709c0","0x37f33","0x24638a","0x37f44","0x37f1d","0x70ab0","0x261a0","0x76553","0x764d8","0x76482","0x37f2f","0x76502","0x24639f","0x2463b3","0x37f27","0x76506","0x764e7"],"tid":"700704","unregisterTime":116622126.550943},{"frameTable":{"length":217,"address":[1206351,608962,4045226,3445825,3446491,156499,2047333,2042824,2045333,2045928,2041225,2038911,2023152,2026214,2023448,2039452,2026242,2023348,2023095,1706392,2023440,2023445,2024610,2023344,2025924,2024906,2023351,2025849,2039476,2025857,2023413,2041214,1539487,2026015,1539652,2023620,1539647,2024595,2023385,2038837,2039133,676839,2026489,2025094,2023424,2025272,2039644,2025564,-1,1706698,2024844,2026235,2025436,2024772,2024620,2024221,2045572,2038829,2024748,156044,157446,1173645,156045,2043024,2044631,676946,666818,594523,2044187,158863,3493043,677985,674697,674012,669105,1174187,2028248,2026480,2027207,2018025,2013424,2016405,2016768,2011421,1539493,2011606,2012404,1539468,2016528,1539473,1539484,2011551,1539513,1418669,368184,216630,366929,2022160,2024818,217042,2022359,2025275,2023460,2023467,2023432,216788,2023323,2023557,2025530,2021927,2023756,2023450,2024465,2023401,366912,1539642,2023646,1539633,2025315,2025490,2025080,2025517,2025307,2026072,2021909,2022674,2023472,2023367,2023427,2023355,216725,217561,2388049,2385510,2386437,2384764,229122,484605,229157,2386835,484637,2384815,2384811,484580,2384790,2384739,484623,484556,2384834,2384688,484651,484919,2384827,484596,2386551,461262,484587,484628,484571,229139,461248,484531,484911,484544,229131,484524,484632,2384696,484568,484639,461496,58240,229169,484478,484482,461498,229123,229118,484539,229159,484583,2384762,461472,484494,229153,484497,484565,461284,229104,2384728,2384786,2384774,484488,461504,229208,461268,461488,484511,461255,461280,2384799,2384702,484664,484548,2384765,2384778,484672,229184,484614,484641,484691,484682,229149,484703,484515,484503,229112],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":217,"name":[1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,-1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,1,2,1,1,2,2,1,1,2,2,1,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,1,1,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"Thread <700705>","isMainThread":false,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700677.1","processName":"read_many_struc","processShutdownTime":116622126.552591,"processStartupTime":116605319.240631,"processType":"default","registerTime":116621305.893731,"resourceTable":{"length":3,"lib":[0,3,4],"name":[0,3,138],"host":[null,null,null],"type":[1,1,1]},"samples":{"length":744,"stack":[22,33,42,53,62,73,80,94,101,110,119,130,135,145,153,156,164,167,168,170,176,182,183,184,188,191,197,200,203,208,209,212,215,218,225,229,231,236,238,244,247,252,256,258,273,288,300,342,384,387,387,387,387,387,388,393,393,393,393,393,402,405,411,405,405,405,424,430,438,445,460,471,480,486,495,518,530,535,543,551,557,571,576,583,586,594,599,606,611,615,627,634,639,647,650,655,660,662,666,672,678,685,688,695,698,705,710,720,732,738,740,748,762,763,767,768,773,774,774,776,778,781,784,785,786,794,796,797,798,800,801,804,805,806,810,813,816,817,818,832,835,837,843,844,848,849,857,859,860,864,866,868,878,879,881,881,885,889,892,898,901,903,909,910,913,927,928,932,933,938,941,942,945,947,953,954,958,959,965,966,972,973,974,982,986,987,988,989,990,996,999,1001,1004,1008,1008,1010,1013,1017,1020,1024,1025,1029,1030,1031,1033,1033,1037,1040,1044,1045,1050,1051,1067,1068,1072,1075,1076,1082,1085,1088,1090,1091,1097,1098,1097,1100,1101,1105,1105,1107,1109,1110,1118,1119,1122,1124,1125,1125,1133,1134,1135,1136,774,1137,1137,1138,804,1139,1142,1143,1148,1151,1154,1157,1159,1162,1165,1167,1170,1173,1175,1176,1181,1182,1184,1187,1188,1190,1191,1194,1196,1197,1200,1202,1205,1208,1210,1211,1214,1218,1219,1224,1228,1229,1231,1232,1234,1235,1236,1242,1245,1246,1248,1251,1252,1253,1256,1259,1260,1263,1264,1267,1268,1269,1272,1273,1274,1280,1281,1282,1136,1283,1284,1286,778,1287,798,1289,1290,1291,813,818,1292,1293,1294,1294,1295,1296,1297,1300,1303,1306,1162,1307,1308,1309,1167,1310,1312,1173,1315,1316,1175,1317,1320,1321,1324,1325,1326,1329,1188,1332,1333,1336,1337,1338,1339,1342,1343,1345,1347,1349,1349,1359,1360,1361,1365,1366,1372,1373,1374,1384,1387,1391,1395,1401,1403,1407,1410,1418,1421,987,1423,1425,1137,778,1426,1428,810,1429,1432,1433,1434,1435,1157,1436,1439,1440,1441,1442,1176,1455,1457,1458,1459,1458,1461,1461,1462,1465,1466,1469,1473,1476,1477,1478,1479,1480,1483,1486,1489,1490,1492,1493,1494,1495,1505,1507,1508,1514,1516,1532,1535,1537,1540,1543,1547,1548,1552,1553,1561,1564,1566,1569,1572,1576,1578,1580,1581,1587,1590,1594,1283,1595,1596,778,1138,1597,1598,1599,810,1143,1600,1294,1601,1602,1297,1603,1604,1159,1605,1605,1165,1608,1167,1609,1610,1611,1175,1613,1616,1620,1624,1626,1628,1636,1638,1642,1645,1649,1650,1651,1653,1656,1657,1658,1660,1663,1664,1667,1668,1669,1671,1672,1673,1674,1675,1281,1678,1679,1682,1683,1684,1685,1689,1690,1697,1698,1702,1705,1709,1711,762,1712,1715,1716,1717,1718,1286,778,1719,1720,1721,1722,1723,1724,1139,1726,1727,1730,1731,1295,1733,1734,1603,1735,1736,1737,1605,1738,1739,1310,1740,1741,1742,1743,1745,1746,1749,1750,1751,1754,1755,1759,1761,1765,1766,1771,1772,1775,1779,1780,1783,1786,1788,1789,1796,1797,1799,1802,1806,1809,1813,1816,1823,1826,1828,1832,1833,1841,1844,1846,1847,1856,1857,1861,1862,1870,1873,1875,1877,1883,1886,1890,1891,1892,1893,1891,1894,1894,1895,1896,1897,778,1898,1899,1598,1900,1901,1902,1292,1903,1294,1904,1905,1906,1435,1907,1162,1159,1159,1908,1909,1910,1312,1913,1913,1916,1176,1917,1918,1919,1921,1923,1926,1188,1927,1927,1338,1928,1929,1930,1931,1932,1933,1935,1936,1941,1945,1949,1957,1957,1959,1965,1968,1978,1979,1983,1986,1995,1999,2011,2012,2014,2020,2021,2025,2031,2034,2040,2043,2047,2048,2051,2052,1894,1595,1137,2053,798,2054,2055,805,816,817,2056,1726,1292,2057,1294,2058,2059,2060,1435,2061,1159,1605,2062,2063,1309,1167,1609,1173,1743,2064,2065,1918,1919,1918,2066,2067,2068,1188,1190,2069,2070,1338,1339,2071,2071,1343,1343,1202,2072,2073,2073,1210,1211,2079,2080,2081,2082,2083,2084],"time":[116621307.551247,116621308.977248,116621310.357822,116621311.586291,116621312.724967,116621313.852785,116621314.96088,116621316.031757,116621317.060845,116621318.139593,116621319.268895,116621320.393131,116621321.526116,116621322.596244,116621323.639085,116621324.823081,116621325.825987,116621327.115553,116621328.066716,116621329.000083,116621329.93971,116621330.894379,116621331.860517,116621332.830822,116621333.857612,116621334.847893,116621335.83035,116621336.81524,116621337.772801,116621338.727431,116621339.69237,116621340.667544,116621341.707622,116621342.695612,116621343.673276,116621344.649302,116621345.709754,116621346.672006,116621347.618536,116621348.573937,116621349.538234,116621350.511997,116621351.508644,116621352.530845,116621353.551811,116621354.568767,116621355.58068,116621356.589856,116621357.59661,116621358.306479,116621358.325332,116621358.32914,116621358.332836,116621358.336599,116621358.342748,116621358.475488,116621358.480795,116621358.488104,116621358.491659,116621358.495254,116621358.503931,116621361.077491,116621361.486544,116621362.180676,116621362.432024,116621362.556715,116621366.281437,116621367.492965,116621368.667691,116621369.793449,116621370.902803,116621371.970627,116621373.015684,116621374.050929,116621375.063322,116621376.178922,116621377.89509,116621379.043662,116621380.196279,116621381.358518,116621382.479483,116621383.565034,116621384.672712,116621385.769029,116621386.836885,116621387.895182,116621388.929434,116621389.979389,116621390.99625,116621392.002987,116621393.089004,116621394.112141,116621395.124055,116621396.132217,116621397.189763,116621398.187079,116621399.178774,116621400.171222,116621401.165804,116621402.160343,116621403.127108,116621404.098407,116621405.077242,116621406.068861,116621407.076047,116621408.064692,116621409.031068,116621409.995409,116621410.964326,116621411.94675,116621412.9301,116621413.916009,116621420.667134,116621422.22656,116621423.645703,116621424.952817,116621426.149465,116621427.503541,116621428.883458,116621430.230183,116621431.477265,116621432.658759,116621433.838234,116621434.935731,116621435.9972,116621437.040733,116621438.068305,116621439.087669,116621440.09563,116621441.062047,116621442.03187,116621443.009134,116621444.011106,116621444.997363,116621445.982975,116621446.971684,116621447.993126,116621448.98694,116621449.938215,116621450.888654,116621451.851098,116621452.822847,116621453.82743,116621454.812029,116621455.794773,116621456.782342,116621457.773611,116621458.76683,116621459.761649,116621460.781726,116621461.761118,116621462.714149,116621463.69098,116621464.660202,116621465.642494,116621466.681809,116621467.705044,116621468.717497,116621469.730897,116621470.736701,116621471.739707,116621472.741748,116621473.743242,116621474.708277,116621475.672456,116621476.646003,116621477.681688,116621478.684612,116621479.700046,116621480.71353,116621481.723673,116621482.7315,116621483.736469,116621484.742121,116621485.788259,116621486.83162,116621487.837405,116621488.819342,116621489.801467,116621490.78766,116621491.777698,116621492.770442,116621498.690518,116621504.546656,116621508.363941,116621511.546511,116621514.069253,116621515.954237,116621517.654482,116621519.119724,116621520.367863,116621521.507874,116621522.605643,116621523.676234,116621524.734552,116621525.772359,116621526.798638,116621527.817324,116621528.83069,116621529.836096,116621530.802751,116621531.76947,116621532.773119,116621533.795288,116621534.814443,116621535.828999,116621536.839634,116621537.840872,116621538.830256,116621539.836327,116621540.878668,116621541.884951,116621542.881822,116621543.879123,116621544.877062,116621545.875144,116621546.881131,116621547.880207,116621548.878113,116621549.876,116621550.874534,116621551.873249,116621552.872462,116621553.871819,116621554.871165,116621555.870752,116621556.869402,116621557.829824,116621558.791536,116621559.801978,116621560.819382,116621561.905269,116621562.907827,116621563.859651,116621564.813528,116621565.778516,116621566.753057,116621567.742951,116621568.729656,116621569.717965,116621572.494868,116621573.850277,116621575.553542,116621576.812592,116621577.984507,116621579.108656,116621580.226591,116621581.357886,116621582.513411,116621583.711625,116621584.865714,116621585.961134,116621587.025764,116621588.066596,116621589.095608,116621590.116367,116621591.131272,116621592.142126,116621593.192974,116621594.236761,116621595.227403,116621596.213802,116621597.709288,116621598.701578,116621599.595398,116621600.503101,116621601.447025,116621602.397168,116621603.357977,116621604.350605,116621605.329992,116621606.281308,116621607.210389,116621608.131269,116621609.070154,116621610.024831,116621610.991595,116621611.963906,116621612.943207,116621613.966276,116621614.996212,116621616.020254,116621617.036447,116621618.047666,116621619.077011,116621620.083416,116621621.553984,116621622.455739,116621623.33799,116621624.243578,116621625.174283,116621626.148576,116621627.110616,116621628.078954,116621629.055415,116621630.076853,116621631.100532,116621632.118875,116621633.132353,116621634.142466,116621635.169042,116621636.196468,116621637.193601,116621638.208836,116621639.214568,116621640.204853,116621641.196304,116621642.189511,116621643.183816,116621649.348326,116621650.032861,116621650.744946,116621651.499021,116621652.304086,116621653.183469,116621654.113961,116621655.056938,116621656.01441,116621657.072737,116621658.35892,116621659.694859,116621660.962597,116621662.148425,116621663.260545,116621664.339668,116621665.442382,116621666.480366,116621667.501499,116621668.515666,116621669.526251,116621670.57682,116621671.56856,116621672.515529,116621673.48221,116621674.425951,116621675.380519,116621676.34296,116621677.318114,116621678.322323,116621679.269193,116621680.228958,116621681.192707,116621682.165321,116621683.145505,116621684.160487,116621685.105048,116621686.033755,116621686.976934,116621687.936598,116621688.932053,116621690.003454,116621691.023761,116621692.009178,116621692.993924,116621694.020581,116621695.039787,116621696.053564,116621697.070392,116621698.077059,116621699.080711,116621700.08343,116621701.088144,116621702.055496,116621703.071354,116621704.045039,116621705.013722,116621705.964764,116621706.919683,116621707.898591,116621708.881304,116621709.871427,116621710.855482,116621711.939711,116621712.958056,116621714.110242,116621715.168111,116621716.211846,116621717.2354,116621718.257941,116621719.268559,116621720.275543,116621723.582151,116621724.469262,116621725.322035,116621726.204121,116621727.117152,116621728.054493,116621729.036106,116621730.055596,116621731.083242,116621732.102767,116621733.187063,116621734.220837,116621735.241699,116621736.283522,116621737.309812,116621738.324047,116621739.324687,116621740.352462,116621741.376248,116621742.394221,116621743.407462,116621744.45268,116621745.48139,116621746.511902,116621747.535742,116621748.582034,116621749.590867,116621750.59375,116621751.595621,116621752.6429,116621753.63758,116621754.645368,116621755.600976,116621756.584993,116621757.551265,116621758.510636,116621759.465303,116621760.498448,116621761.45743,116621762.417537,116621763.386917,116621764.395395,116621765.375418,116621766.368936,116621767.353438,116621768.340434,116621769.331223,116621770.324616,116621771.319519,116621772.315909,116621773.313434,116621774.311593,116621775.342069,116621776.320011,116621777.282279,116621778.251521,116621779.228738,116621780.212129,116621781.200186,116621782.197718,116621783.215972,116621784.208561,116621785.19875,116621786.190694,116621787.184937,116621788.180582,116621789.177777,116621790.175395,116621791.173864,116621792.172813,116621793.181647,116621800.899903,116621802.135033,116621803.315908,116621804.436776,116621805.507379,116621806.618962,116621807.925261,116621809.340114,116621810.687564,116621812.006598,116621813.183348,116621814.306535,116621815.396683,116621816.507539,116621817.515895,116621818.494628,116621819.44104,116621820.372492,116621821.298752,116621822.228419,116621823.174773,116621824.235023,116621825.207889,116621826.164873,116621827.130162,116621828.104167,116621829.121372,116621830.103546,116621831.086554,116621832.072966,116621833.117297,116621834.136673,116621835.148837,116621836.157736,116621837.178461,116621838.169628,116621839.138177,116621840.112082,116621841.09224,116621842.077408,116621843.094195,116621844.083034,116621845.071442,116621846.062569,116621847.056097,116621848.042292,116621849.024785,116621850.017573,116621851.038594,116621852.030241,116621853.000497,116621853.991374,116621855.001766,116621856.020902,116621857.028408,116621858.031267,116621859.032646,116621860.111427,116621861.13624,116621862.149408,116621863.15943,116621864.154612,116621865.160527,116621866.154099,116621867.126827,116621868.142599,116621869.120404,116621870.099738,116621870.957871,116621872.144821,116621878.758152,116621879.568146,116621880.391702,116621881.220298,116621882.082923,116621883.380634,116621884.83927,116621885.720571,116621886.563725,116621887.413625,116621888.28447,116621889.275512,116621890.434647,116621891.69127,116621892.919275,116621894.092115,116621895.22099,116621896.319163,116621897.370985,116621898.406469,116621899.431235,116621900.449738,116621901.524192,116621902.528847,116621903.523418,116621904.51747,116621905.485714,116621906.449235,116621907.421114,116621908.454521,116621909.425091,116621910.369666,116621911.317894,116621912.252441,116621913.223355,116621914.181786,116621915.148997,116621916.13732,116621917.118127,116621918.151144,116621919.133222,116621920.114257,116621921.099555,116621922.120503,116621923.122917,116621924.108595,116621925.096088,116621926.086481,116621927.079611,116621928.074649,116621929.07101,116621930.072966,116621931.081559,116621932.11919,116621933.143426,116621934.160329,116621935.172674,116621936.181486,116621937.210592,116621938.212361,116621939.189572,116621940.157519,116621941.13214,116621942.131558,116621943.115894,116621944.084067,116621945.07585,116621946.08017,116621947.046287,116621948.015709,116621948.992677,116621949.973442,116621950.959151,116621951.948409,116621952.945342,116621953.93953,116621954.944198,116621955.938904,116621956.933544,116621957.934513,116621958.997268,116621960.025943,116621961.038994,116621962.047153,116621963.08868,116621964.089041,116621968.441838,116621969.427051,116621970.373599,116621971.309896,116621972.260176,116621973.237801,116621974.240013,116621975.296382,116621976.293131,116621977.284835,116621978.305397,116621979.342625,116621980.359095,116621981.369567,116621982.376764,116621983.381911,116621984.399987,116621985.480738,116621986.620648,116621987.732582,116621988.815443,116621989.876524,116621990.921255,116621991.994427,116621993.018217,116621994.036658,116621995.076221,116621996.152275,116621997.16063,116621998.134887,116621999.110725,116622000.092182,116622001.078541,116622002.036879,116622002.99875,116622003.966182,116622004.976976,116622005.925727,116622006.87189,116622007.831158,116622008.800922,116622009.803981,116622010.819908,116622011.835631,116622012.847814,116622013.862835,116622014.869314,116622015.872802,116622016.874793,116622017.865115,116622018.842295,116622019.811645,116622020.787446,116622021.769625,116622022.806544,116622023.772442,116622024.753926,116622025.744989,116622026.748895,116622027.713552,116622028.688473,116622029.660341,116622030.670573,116622031.686302,116622032.697261,116622033.706063,116622034.679614,116622035.676716,116622036.652871,116622037.63221,116622038.616696,116622039.663579,116622040.653283,116622041.613013,116622047.194487,116622049.634288,116622051.76768,116622053.677163,116622055.522611,116622057.178612,116622058.687192,116622060.082974,116622061.34039,116622062.526791,116622063.663363,116622064.763339,116622065.836481,116622066.933093,116622067.972175,116622068.990927,116622070.003469,116622070.972248,116622071.935114,116622072.904744,116622073.882473,116622074.898316,116622075.886346,116622076.870166,116622077.875469,116622078.900296,116622079.923638,116622080.906448,116622081.88518,116622082.868146,116622083.85563,116622084.846939,116622085.840873,116622086.836165,116622087.838369,116622088.836064,116622089.828127,116622090.815205,116622091.814705,116622092.775229,116622093.736319,116622094.71143,116622095.68995,116622096.707512,116622097.695568,116622098.723486,116622099.755513,116622100.776345,116622101.790651,116622102.800632,116622103.8079,116622104.813196,116622105.831916,116622106.835268,116622107.833727,116622108.8192,116622109.775982,116622110.737044,116622111.707982,116622112.686526,116622113.671104,116622114.629222],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[1652,1426,1373,1228,1138,1122,1108,1070,1029,1078,1129,1124,1094,1070,1042,1029,1002,985,951,933,939,954,966,970,973,990,982,984,957,954,964,975,981,987,977,976,952,962,946,955,964,973,996,1022,1020,1016,1011,1009,1006,367,18,3,3,3,6,17,5,7,3,3,8,206,255,26,58,111,1749,1211,1169,1125,1109,1067,1045,1027,1012,1115,1149,1139,1152,1162,1103,1085,1107,1090,1067,1058,1034,1023,1016,1006,1086,1023,1011,1008,1057,997,991,992,994,994,966,971,978,984,1007,988,966,964,968,975,983,985,1423,1559,1419,1307,1196,1326,1379,1346,1247,1181,1132,1097,1061,1043,1027,1019,996,966,969,977,983,986,985,988,991,993,951,950,962,971,978,984,982,987,991,993,994,995,970,953,958,969,982,1011,1023,1012,1007,1005,1003,1002,1001,965,964,973,981,1002,1015,1013,1010,1007,1004,1005,1046,1043,1005,981,982,986,990,992,1567,5846,3817,3182,2522,1884,1700,1427,1248,1140,1097,1070,1050,1037,1026,1018,1013,1005,966,966,1003,1022,1019,1014,1010,1001,989,1006,1007,1006,996,997,997,998,998,999,997,997,998,998,999,999,999,999,998,960,961,1010,1017,1013,1002,951,953,964,974,981,986,988,682,1331,1241,1259,1171,1124,1117,1131,1155,1169,1131,1095,1064,1040,1029,1020,1014,1010,1050,1043,990,986,988,992,893,907,930,950,960,970,979,951,929,920,938,954,966,972,979,1023,1029,1024,1016,1011,1007,1006,982,901,882,905,930,949,962,968,976,1021,1023,1018,1013,1010,1006,1027,997,1015,1005,990,991,993,994,1439,684,712,754,805,873,920,942,957,1058,1286,1335,1267,1178,1112,1079,1088,1037,1021,1014,1010,1045,991,946,930,943,949,962,971,1004,946,952,963,972,980,1014,944,928,943,959,995,1041,1020,985,984,1026,1019,1013,1009,1006,1003,1002,1004,967,1015,973,968,951,954,978,982,990,984,1051,1018,1152,1057,1034,1023,1015,1010,1006,294,887,852,882,913,937,981,1019,1027,1019,1045,1033,1020,1041,1026,1014,991,1027,1023,1017,1013,1045,1028,1030,1023,1046,1008,1002,1001,1047,994,975,955,984,966,959,947,1033,958,960,969,1008,980,980,984,986,990,993,994,996,997,998,998,977,962,969,977,983,988,990,1018,992,990,991,994,995,997,997,998,998,1008,3580,1235,1180,1120,1070,1111,1306,1414,1347,1319,1176,1123,1090,1110,1008,978,946,931,926,929,946,1000,972,956,965,974,1017,982,983,986,1044,1019,1012,1008,1020,991,968,973,980,985,1016,988,988,991,993,986,982,992,1021,991,970,990,1010,1010,1007,1002,1001,1078,1024,1013,1010,995,1005,993,972,1015,977,979,846,1176,936,809,823,828,862,1297,1382,881,829,845,870,991,1159,1256,1228,1172,1128,1098,1051,1035,1024,1018,1074,1004,994,994,968,963,971,1028,970,944,948,934,970,958,967,974,980,1033,982,981,985,1020,1002,985,987,990,993,995,996,996,1008,1037,1024,1016,1012,1008,1029,1001,977,967,974,999,984,968,991,1004,966,969,976,980,985,989,991,994,1004,994,994,1000,1062,1028,1013,1008,1041,1000,1794,985,946,936,950,977,1002,1056,996,991,996,1037,1016,1010,1007,1005,1018,1080,1139,1111,1082,1061,1044,1073,1023,1018,1039,1076,1008,974,975,981,986,958,961,967,1010,948,946,959,969,1003,1015,1015,1012,1015,1006,1003,1001,990,977,969,975,982,1036,965,981,991,1003,964,962,971,1010,1015,1010,1008,973,997,976,979,984,1046,989,959,877,2439,2084,1909,1830,1656,1502,1395,1257,1186,1136,1099,1073,1052,1039,1018,1012,968,962,969,977,983,988,983,986,1024,1023,982,978,982,987,991,993,995,996,997,992,987,994,960,961,969,978,1017,988,1022,1027,1020,1014,1009,1007,1005,1003,1003,998,985,956,961,970,978,984,958]},"stackTable":{"length":2085,"prefix":[null,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,11,23,24,25,26,27,28,29,30,31,32,24,34,35,36,37,38,39,40,41,9,43,44,45,46,47,48,49,50,51,52,46,54,55,56,57,58,59,60,61,44,63,64,65,66,67,68,69,70,71,72,64,74,75,76,77,78,79,7,81,82,83,84,85,86,87,88,89,90,91,92,93,86,95,96,97,98,99,100,84,102,103,104,105,106,107,108,109,103,111,112,113,114,115,116,117,118,82,120,121,122,123,124,125,126,127,128,129,123,131,132,133,134,121,136,137,138,139,140,141,142,143,144,137,146,147,148,149,150,151,152,147,154,155,13,157,158,159,160,161,162,163,158,165,166,19,16,169,15,171,172,173,174,175,26,177,178,179,180,181,32,28,35,185,186,187,37,189,190,48,192,193,194,195,196,50,198,199,51,201,202,55,204,205,206,207,59,66,210,211,68,213,214,70,216,217,75,219,220,221,222,223,224,77,226,227,228,null,230,88,232,233,234,235,89,237,96,239,240,241,242,243,98,245,246,105,248,249,250,251,107,253,254,255,109,257,103,259,260,261,262,263,264,265,266,267,268,269,270,271,272,262,274,275,276,277,278,279,280,281,282,283,284,285,286,287,264,289,290,291,292,293,294,295,296,297,298,299,null,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,null,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,259,385,386,259,102,389,390,391,392,83,394,395,396,397,398,399,400,401,4,403,404,5,406,407,408,409,410,5,412,413,414,415,416,417,418,419,420,421,422,423,417,425,426,427,428,429,415,431,432,433,434,435,436,437,432,439,440,441,442,443,444,413,446,447,448,449,450,451,452,453,454,455,456,457,458,459,449,461,462,463,464,465,466,467,468,469,470,462,472,473,474,475,476,477,478,479,464,481,482,483,484,485,451,487,488,489,490,491,492,493,494,449,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,5,519,520,521,522,523,524,525,526,527,528,529,524,531,532,533,534,522,536,537,538,539,540,541,542,537,544,545,546,547,548,549,550,545,552,553,554,555,556,520,558,559,560,561,562,563,564,565,566,567,568,569,570,565,572,573,574,575,563,577,578,579,580,581,582,580,584,585,578,587,588,589,590,591,592,593,588,595,596,597,598,561,600,601,602,603,604,605,603,607,608,609,610,608,612,613,614,601,616,617,618,619,620,621,622,623,624,625,626,621,628,629,630,631,632,633,619,635,636,637,638,636,640,641,642,643,644,645,646,643,648,649,641,651,652,653,654,523,656,657,658,659,536,661,536,663,664,665,566,667,668,669,670,671,667,673,674,675,676,677,572,679,680,681,682,683,684,681,686,687,679,689,690,691,692,693,694,690,696,697,563,699,700,701,702,703,704,704,706,707,708,709,702,711,712,713,714,715,716,717,718,719,714,721,722,723,724,725,726,727,728,729,730,731,726,733,734,735,736,737,724,739,724,741,742,743,744,745,746,747,5,749,750,751,752,753,754,755,756,757,758,759,760,761,760,758,764,765,766,764,756,769,770,771,772,771,772,775,770,777,777,779,780,777,782,783,777,777,754,787,788,789,790,791,792,793,791,795,793,791,790,799,799,799,802,803,799,799,788,807,808,809,809,811,812,809,814,815,809,809,808,819,820,821,822,823,824,825,826,827,828,829,830,831,831,833,834,830,836,828,838,839,840,841,842,840,839,845,846,847,845,826,850,851,852,853,854,855,856,853,858,858,851,861,862,863,863,865,862,867,824,869,870,871,872,873,874,875,876,877,875,874,880,872,882,883,884,883,886,887,888,886,890,891,870,893,894,895,896,897,896,899,900,900,902,894,904,905,906,907,908,908,905,911,912,822,914,915,916,917,918,919,920,921,922,923,924,925,926,924,923,929,930,931,931,921,934,935,936,937,936,939,940,936,935,943,944,944,946,919,948,949,950,951,952,952,951,955,956,957,955,949,960,961,962,963,964,964,961,967,968,969,970,971,971,755,750,975,976,977,978,979,980,981,976,983,984,985,757,769,789,807,752,991,992,993,994,995,995,997,998,994,1000,1000,1002,1003,992,1005,1006,1007,1006,1009,1009,1011,1012,978,1014,1015,1016,1016,1018,1019,1015,1021,1022,1023,1021,979,1026,1027,1028,1027,1027,1026,1032,984,1034,1035,1036,1036,1038,1039,1035,1041,1042,1043,1041,985,1046,1047,1048,1049,1047,1046,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1064,1063,1069,1070,1071,1069,1073,1074,1069,1061,1077,1078,1079,1080,1081,1079,1083,1084,1078,1086,1087,1087,1089,1086,1059,1092,1093,1094,1095,1096,1096,1095,1099,1099,1093,1102,1103,1104,1104,1106,1103,1108,1108,1057,1111,1112,1113,1114,1115,1116,1117,1117,1117,1120,1121,1116,1123,1123,1114,1126,1127,1128,1129,1130,1131,1132,1130,759,764,777,791,815,808,1140,1141,1140,995,1144,1145,1146,1147,1144,1149,1150,1149,1152,1153,1000,1155,1156,1155,1158,1158,1160,1161,1007,1163,1164,1163,1166,1166,1168,1169,1009,1171,1172,1171,1174,1174,1016,1177,1178,1179,1180,1180,1177,1183,1021,1185,1186,1186,1185,1189,1189,1027,1192,1193,1192,1195,1195,1032,1198,1199,1198,1201,1201,1203,1204,1036,1206,1207,1206,1209,1209,1041,1212,1213,1212,1215,1216,1217,1215,1047,1220,1221,1222,1223,1220,1225,1226,1227,1225,1058,1230,1058,1230,1233,1111,1111,1055,1237,1238,1239,1240,1241,1239,1243,1244,1239,1238,1247,1247,1249,1250,1247,755,755,1254,1255,787,1257,1258,1258,787,1261,1262,993,993,1265,1266,993,1005,1005,1270,1271,1271,751,750,1275,1276,1277,1278,1279,1277,760,765,771,771,1285,782,795,1288,799,802,1140,1141,1145,1145,1153,1149,1156,1298,1299,1156,1301,1302,1158,1304,1305,1160,1164,1164,1169,1166,1311,1172,1313,1314,1174,1174,1178,1318,1319,1178,1183,1322,1323,1322,1183,1186,1327,1328,1189,1330,1331,1331,1193,1334,1335,1334,1193,1195,1195,1340,1341,1199,1199,1344,1344,1346,1201,1348,976,1350,1351,1352,1353,1354,1355,1356,1357,1358,1357,1358,1355,1362,1363,1364,1364,1353,1367,1368,1369,1370,1371,1371,1369,1368,1375,1376,1377,1378,1379,1380,1381,1382,1383,1382,1385,1386,1380,1388,1389,1390,1389,1392,1393,1394,1378,1396,1397,1398,1399,1400,1399,1402,1397,1404,1405,1406,1406,1408,1409,1408,1411,1412,1413,1414,1415,1416,1417,1415,1419,1420,757,1422,1285,1424,795,799,1427,809,1140,1430,1431,1147,1152,1156,1158,1164,1437,1438,1169,1168,1313,1277,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1452,1456,1452,1452,1451,1460,1460,1460,1463,1464,1460,1460,1467,1468,1449,1470,1471,1472,1472,1474,1475,1475,1474,1472,1475,1472,1481,1482,1471,1484,1485,1484,1487,1488,1484,1485,1491,1488,1484,1485,1447,1496,1497,1498,1499,1500,1501,1502,1503,1504,1503,1506,1506,1501,1509,1510,1511,1512,1513,1510,1515,1499,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1529,1533,1534,1528,1536,1536,1538,1539,1536,1541,1542,1526,1544,1545,1546,1546,1545,1549,1550,1551,1550,1524,1554,1555,1556,1557,1558,1559,1560,1558,1562,1563,1557,1565,1565,1567,1568,1565,1570,1571,1555,1573,1574,1575,1575,1577,1574,1579,1579,1522,1582,1583,1584,1585,1586,1586,1588,1589,1585,1591,1592,1593,771,1424,791,799,812,1140,1147,1150,1298,1298,1158,1164,1606,1607,1166,1172,1313,1174,1612,1448,1614,1615,1447,1617,1618,1619,1445,1621,1622,1623,1623,1625,1622,1627,1443,1629,1630,1631,1632,1633,1634,1635,1632,1637,1630,1639,1640,1641,1641,1643,1644,1640,1646,1647,1648,1278,1279,1444,1652,1629,1654,1655,1448,1617,1625,1659,1627,1661,1662,1633,1637,1665,1666,1641,1648,1652,1670,1629,1670,1670,1654,1444,1676,1677,1670,1629,1680,1681,1629,1444,1444,1443,1686,1687,1688,1688,1688,1691,1692,1693,1694,1695,1696,1696,1693,1699,1700,1701,1699,1703,1704,1691,1706,1707,1708,1708,1710,759,764,1713,1714,764,766,772,782,1288,1288,802,803,815,1141,1725,1431,1145,1728,1729,1147,1150,1732,1732,1299,1158,1161,1607,1438,1169,1169,1314,1172,1612,1744,1744,1450,1747,1748,1450,1450,1470,1752,1753,1470,1617,1756,1757,1758,1758,1760,1756,1762,1763,1764,1762,1623,1767,1768,1769,1770,1769,1768,1773,1774,1767,1776,1777,1778,1777,1627,1781,1782,1782,1784,1785,1781,1787,1787,1694,1790,1791,1792,1793,1794,1795,1794,1792,1798,1798,1800,1801,1790,1803,1804,1805,1805,1807,1808,1804,1810,1811,1812,1810,1814,1815,1699,1817,1818,1819,1820,1821,1822,1819,1824,1825,1825,1827,1817,1829,1830,1831,1831,1830,1834,1835,1836,1837,1838,1839,1840,1840,1842,1843,1839,1845,1845,1837,1848,1849,1850,1851,1852,1853,1854,1855,1854,1853,1858,1859,1860,1858,1851,1863,1864,1865,1866,1867,1868,1869,1869,1871,1872,1868,1874,1874,1876,1866,1878,1879,1880,1881,1882,1882,1884,1885,1881,1887,1888,1889,1887,1884,1885,757,775,775,783,1288,1288,802,812,815,1140,1729,1149,1732,1299,1606,1437,1169,1172,1911,1912,1174,1914,1915,1744,1178,1178,1183,1920,1920,1922,1186,1924,1925,1331,1335,1340,1341,1199,1199,1199,1348,1934,1204,1356,1937,1938,1939,1940,1939,1942,1943,1944,1943,1946,1947,1948,1937,1950,1951,1952,1953,1954,1955,1956,1953,1958,1951,1960,1961,1962,1963,1964,1961,1966,1967,1355,1969,1970,1971,1972,1973,1974,1975,1976,1977,1977,1974,1980,1981,1982,1980,1984,1985,1972,1987,1988,1989,1990,1991,1992,1993,1994,1992,1996,1997,1998,1990,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2008,2007,2013,2005,2015,2016,2017,2018,2019,2017,2016,2022,2023,2024,2003,2026,2027,2028,2029,2030,2030,2032,2033,2029,2035,2036,2037,2038,2039,2039,2041,2042,2038,2044,2045,2046,753,991,2049,2050,983,777,1288,803,1431,1147,1153,1732,1153,1302,1606,1606,1915,1915,1183,1323,1925,1330,1335,1195,1201,1207,1035,2074,2075,2076,2077,2078,2076,2078,2078,2077,2076],"frame":[0,1,2,3,4,5,6,7,8,7,8,7,8,7,9,7,8,10,11,12,13,13,14,9,7,8,7,9,10,15,12,13,16,17,9,7,9,10,11,12,16,16,17,9,7,8,7,8,7,9,10,11,18,19,9,7,9,10,11,12,16,13,20,9,7,8,7,9,10,15,12,16,16,21,9,7,9,10,15,12,22,9,7,8,7,8,7,8,7,9,10,15,12,13,23,9,7,9,10,15,12,24,9,7,8,7,9,10,15,12,25,9,7,9,10,15,12,16,16,26,9,7,8,7,8,7,9,10,11,12,27,9,7,8,10,28,9,7,8,7,8,10,11,12,13,29,9,7,8,10,15,12,13,30,9,31,32,8,7,8,10,11,12,16,33,9,31,34,35,31,36,9,10,15,12,16,37,8,10,11,12,13,26,38,39,8,10,40,41,15,12,17,8,10,15,12,13,42,15,12,43,12,13,44,8,10,11,12,45,33,8,10,46,11,12,47,13,13,17,8,10,15,12,13,16,17,11,12,16,26,48,49,8,10,15,12,50,31,34,8,10,15,12,16,51,11,12,52,8,10,15,12,53,11,12,13,54,13,55,56,5,6,7,9,7,9,7,8,7,8,7,9,10,57,8,7,9,7,8,7,8,7,9,10,15,12,13,16,23,8,7,9,7,9,7,8,10,11,12,13,58,3,4,5,6,7,9,7,8,7,9,7,56,5,6,7,9,7,9,7,56,5,6,7,56,5,6,7,8,7,9,7,9,7,8,7,8,10,15,12,16,13,23,7,56,5,6,7,8,7,56,5,6,7,8,7,9,7,9,7,56,5,6,7,9,7,56,5,6,7,9,7,8,7,9,7,9,7,8,10,11,12,16,16,38,59,60,61,62,63,64,65,66,67,63,68,69,70,71,72,73,74,75,59,60,61,76,77,78,59,60,61,79,80,81,80,81,80,81,80,82,80,82,83,84,82,80,82,80,82,85,82,80,81,80,82,80,81,86,82,80,81,80,82,83,87,88,5,79,80,81,80,81,80,81,80,82,80,82,83,89,82,80,81,80,81,80,81,80,81,83,84,82,80,82,80,81,80,81,83,90,82,80,82,80,81,91,82,80,81,80,82,80,81,83,36,88,5,79,80,88,5,79,80,88,5,79,80,81,80,82,80,81,80,81,80,82,83,92,93,94,95,94,95,94,95,96,97,12,13,98,99,96,100,12,101,99,94,95,96,100,12,13,102,99,94,95,96,100,12,16,103,99,96,100,12,16,104,105,5,93,94,95,94,95,94,95,96,100,12,16,106,99,96,100,12,107,99,94,95,96,100,12,21,97,12,108,99,94,95,96,100,12,16,17,99,96,100,12,20,99,94,95,94,95,96,109,99,96,97,12,110,100,12,16,111,105,5,93,94,95,94,95,96,97,12,16,112,99,96,100,12,16,13,113,99,94,95,114,115,99,94,95,96,100,12,13,21,97,12,108,99,96,97,12,116,96,97,12,16,103,114,117,96,100,12,118,94,95,96,97,12,119,99,96,97,12,16,120,94,95,96,100,12,16,121,97,12,122,99,94,95,96,100,12,123,99,96,124,105,5,93,94,95,96,125,100,12,13,13,126,105,5,93,94,95,96,97,12,13,127,105,5,93,94,95,94,95,96,100,12,16,128,99,96,97,12,13,129,130,131,99,94,95,96,97,12,13,113,132,133,134,133,134,133,134,133,134,133,134,135,136,137,138,139,135,136,140,141,139,133,134,135,138,142,136,143,139,144,145,136,146,135,136,147,148,149,139,133,134,133,134,145,136,150,135,138,151,142,139,149,148,135,136,146,141,152,139,133,134,142,145,136,153,135,136,140,144,141,154,5,132,133,134,133,134,133,134,133,134,133,134,142,145,136,155,139,142,139,133,134,145,136,155,142,139,135,136,156,152,139,133,134,133,134,145,136,157,139,152,144,139,133,134,144,135,138,139,142,139,133,134,133,134,133,134,145,136,158,142,139,142,139,133,134,144,139,135,136,140,145,136,150,139,133,134,133,134,142,139,135,159,136,160,139,133,134,135,136,157,161,139,135,138,154,5,132,133,134,133,134,133,134,133,134,145,136,146,142,139,135,136,160,162,139,133,134,135,138,145,136,163,142,139,135,164,136,165,139,133,134,133,134,144,142,139,135,136,146,142,139,133,134,145,136,166,151,154,5,132,135,136,162,157,144,139,133,134,133,139,135,136,143,139,133,139,142,142,144,152,167,139,133,134,133,134,142,135,136,168,139,144,135,136,169,139,133,134,142,139,142,145,136,170,134,133,134,144,145,136,171,139,145,136,151,167,133,134,135,172,144,142,139,144,134,133,134,144,145,136,173,139,135,136,174,152,133,134,145,136,175,142,154,5,132,133,134,133,134,133,134,133,134,133,134,135,136,157,142,139,135,136,150,145,136,153,144,139,133,134,145,136,146,135,136,150,139,145,176,136,162,144,139,133,134,133,134,142,144,139,142,144,139,133,134,144,145,138,139,142,144,139,133,134,133,134,133,134,144,142,135,136,146,139,142,144,154,5,132,133,134,135,136,140,144,144,142,142,144,171,139,135,177,142,133,134,135,136,178,139,145,179,135,136,143,133,134,142,139,144,145,136,171,133,134,142,139,144,135,136,178,133,134,142,139,142,144,133,134,145,136,155,180,139,142,133,134,167,142,139,144,142,133,134,142,139,181,152,133,134,181,139,142,145,136,170,133,134,144,139,144,142,133,134,152,139,145,136,182,142,133,134,135,136,183,139,135,136,171,142,145,184,144,136,185,141,144,139,133,134,135,136,162,145,136,166,144,139,152,135,136,186,167,152,145,136,187,145,136,150,183,135,136,170,144,145,136,160,142,144,145,136,153,162,181,154,5,132,145,136,143,142,188,159,189,145,159,159,136,157,142,172,144,172,144,142,166,142,135,136,156,145,136,143,135,136,157,172,190,144,151,145,159,135,136,157,141,191,135,136,192,152,145,136,162,159,191,145,136,193,135,136,162,163,135,136,157,176,144,144,135,136,140,142,135,159,136,166,135,172,154,5,132,133,134,133,134,145,136,156,194,192,139,145,136,166,156,139,133,134,135,136,187,137,144,154,5,132,133,134,133,134,133,134,144,139,135,172,139,133,134,144,139,135,136,156,139,133,134,133,134,144,139,167,154,5,132,144,133,134,144,154,5,132,133,134,145,136,195,135,136,157,135,172,136,186,172,145,172,191,145,136,171,163,172,144,190,145,136,157,192,188,138,133,134,133,134,133,134,133,134,133,134,135,136,163,145,188,144,152,139,142,144,135,136,140,152,145,136,196,139,133,134,144,135,136,137,192,188,142,166,145,136,171,139,145,188,135,136,158,142,136,140,192,144,172,154,5,132,133,134,133,134,133,134,142,139,142,144,139,133,134,145,136,192,139,142,154,5,132,133,134,133,134,133,134,133,134,133,134,135,136,197,145,136,160,139,141,145,136,198,135,136,171,139,133,134,144,167,139,135,136,166,188,139,133,134,133,134,145,136,199,135,136,137,139,144,135,136,197,145,136,199,139,133,134,142,135,188,139,142,144,154,5,132,133,134,144,135,136,196,139,135,136,186,144,171,200,144,163,201,192,188,188,172,142,135,136,157,142,152,188,145,188,145,136,162,139,145,136,156,139,133,134,144,135,188,139,142,139,133,134,133,134,145,136,202,139,142,139,133,134,190,135,136,162,139,135,136,140,164,155,135,179,135,136,203,144,144,136,157,135,136,192,144,135,136,160,142,171,136,192,142,171,150,172,145,136,150,174,145,136,203,204,144,205,154,5,132,144,142,133,134,133,134,135,136,162,197,139,135,136,206,145,136,170,154,5,132,144,145,207,142,145,136,202,144,163,176,194,186,208,188,150,162,136,157,162,145,136,209,166,136,143,208,160,191,210,197,165,171,140,163,144,136,186,160,145,136,211,142,190,135,136,211,190,133,134,135,176,136,198,139,145,136,208,144,133,134,135,136,160,138,145,136,163,139,145,136,211,207,133,134,144,145,136,187,139,142,144,133,134,133,134,145,136,165,188,139,141,145,136,163,139,133,134,144,145,136,193,139,145,136,163,135,136,147,133,134,133,134,135,136,171,139,145,179,136,160,139,133,134,204,142,154,5,132,133,134,133,134,144,135,136,143,139,144,142,154,5,132,133,134,133,134,145,212,201,139,145,136,155,144,154,5,132,133,134,133,134,144,135,136,175,139,142,135,138,154,5,132,133,134,205,145,136,213,139,135,136,214,144,194,143,144,178,215,163,171,162,138,186,157,204,165,152,196,166,172,207,163,145,136,162,135,136,137,198,142,144,135,176,136,156,135,136,162,197,197,176,211,144,205,201,136,208,202,133,134,133,134,142,139,133,134,144,139,145,136,163,139,133,134,133,134,145,136,192,139,144,139,133,134,145,136,147,139,145,159,154,5,132,133,134,133,134,135,136,192,163,139,145,136,156,135,136,156,154,5,132,133,134,133,134,135,194,139,145,136,182,154,5,132,133,134,133,134,133,134,145,136,153,142,139,142,139,133,134,135,136,186,144,139,135,136,140,154,5,132,133,134,144,135,136,163,154,5,132,133,134,142,135,136,197,154,5,132,144,152,135,136,173,144,181,153,173,146,153,171,146,183,150,138,216,163,157,144,170,174,138,143,142,144,142,154,5,132,135,136,165,142,170,157,194,144],"category":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["libc.so.6","0x12684f","0x94ac2","read_many_structs-8374511ab21ccefd","0x3db9aa","0x349441","0x3496db","0x26353","0x1f3d65","0x1f2bc8","0x1f3595","0x1f37e8","0x1f2589","0x1f1c7f","0x1edef0","0x1eeae6","0x1ee018","0x1f1e9c","0x1eeb02","0x1edfb4","0x1edeb7","0x1a0998","0x1ee010","0x1ee015","0x1ee4a2","0x1edfb0","0x1ee9c4","0x1ee5ca","0x1edfb7","0x1ee979","0x1f1eb4","0x1ee981","0x1edff5","0x1f257e","0x177d9f","0x1eea1f","0x177e44","0x1ee0c4","0x177e3f","0x1ee493","0x1edfd9","0x1f1c35","0x1f1d5d","0xa53e7","0x1eebf9","0x1ee686","0x1ee000","0x1ee738","0x1f1f5c","0x1ee85c","0x7fffa45da8cf","0x1a0aca","0x1ee58c","0x1eeafb","0x1ee7dc","0x1ee544","0x1ee4ac","0x1ee31d","0x1f3684","0x1f1c2d","0x1ee52c","0x2618c","0x26706","0x11e88d","0x2618d","0x1f2c90","0x1f32d7","0xa5452","0xa2cc2","0x9125b","0x1f311b","0x26c8f","0x354cb3","0xa5861","0xa4b89","0xa48dc","0xa35b1","0x11eaab","0x1ef2d8","0x1eebf0","0x1eeec7","0x1ecae9","0x1eb8f0","0x1ec495","0x1ec600","0x1eb11d","0x177da5","0x1eb1d6","0x1eb4f4","0x177d8c","0x1ec510","0x177d91","0x177d9c","0x1eb19f","0x177db9","0x15a5ad","0x59e38","0x34e36","0x59951","0x1edb10","0x1ee572","0x34fd2","0x1edbd7","0x1ee73b","0x1ee024","0x1ee02b","0x1ee008","0x34ed4","0x1edf9b","0x1ee085","0x1ee83a","0x1eda27","0x1ee14c","0x1ee01a","0x1ee411","0x1edfe9","0x59940","0x177e3a","0x1ee0de","0x177e31","0x1ee763","0x1ee812","0x1ee678","0x1ee82d","0x1ee75b","0x1eea58","0x1eda15","0x1edd12","0x1ee030","0x1edfc7","0x1ee003","0x1edfbb","0x34e95","0x351d9","0x247051","0x246666","0x246a05","0x24637c","libm.so.6","0x37f02","0x764fd","0x37f25","0x246b93","0x7651d","0x2463af","0x2463ab","0x764e4","0x246396","0x246363","0x7650f","0x764cc","0x2463c2","0x246330","0x7652b","0x76637","0x2463bb","0x764f4","0x246a77","0x709ce","0x764eb","0x76514","0x764db","0x37f13","0x709c0","0x764b3","0x7662f","0x764c0","0x37f0b","0x764ac","0x76518","0x246338","0x764d8","0x7651f","0x70ab8","0xe380","0x37f31","0x7647e","0x76482","0x70aba","0x37f03","0x37efe","0x764bb","0x37f27","0x764e7","0x24637a","0x70aa0","0x7648e","0x37f21","0x76491","0x764d5","0x709e4","0x37ef0","0x246358","0x246392","0x246386","0x76488","0x70ac0","0x37f58","0x709d4","0x70ab0","0x7649f","0x709c7","0x709e0","0x24639f","0x24633e","0x76538","0x764c4","0x24637d","0x24638a","0x76540","0x37f40","0x76506","0x76521","0x76553","0x7654a","0x37f1d","0x7655f","0x764a3","0x76497","0x37ef8"],"tid":"700705","unregisterTime":116622126.552591},{"frameTable":{"length":4,"address":[1206333,1206351,1127094,271859],"inlineDepth":[0,0,0,0],"category":[1,1,1,1],"subcategory":[0,0,0,0],"func":[0,1,2,3],"nativeSymbol":[null,null,null,null],"innerWindowID":[null,null,null,null],"implementation":[null,null,null,null],"line":[null,null,null,null],"column":[null,null,null,null],"optimizations":[null,null,null,null]},"funcTable":{"length":4,"name":[1,2,3,4],"isJS":[false,false,false,false],"relevantForJS":[false,false,false,false],"resource":[0,0,0,0],"fileName":[null,null,null,null],"lineNumber":[null,null,null,null],"columnNumber":[null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"read_many_struc","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700678","processName":"read_many_struc","processShutdownTime":116605320.710808,"processStartupTime":116605320.503973,"processType":"default","registerTime":116605320.503973,"resourceTable":{"length":1,"lib":[0],"name":[0],"host":[null],"type":[1]},"samples":{"length":6,"stack":[0,0,0,0,0,3],"time":[116605320.572028,116605320.577902,116605320.58088,116605320.583573,116605320.586248,116605320.608861],"weight":[1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,5,2,2,2,22]},"stackTable":{"length":4,"prefix":[null,null,1,2],"frame":[0,1,2,3],"category":[1,1,1,1],"subcategory":[0,0,0,0]},"stringArray":["libc.so.6","0x12683d","0x12684f","0x1132b6","0x425f3"],"tid":"700678","unregisterTime":116605320.710808},{"frameTable":{"length":4,"address":[1206333,1206351,1127094,271859],"inlineDepth":[0,0,0,0],"category":[1,1,1,1],"subcategory":[0,0,0,0],"func":[0,1,2,3],"nativeSymbol":[null,null,null,null],"innerWindowID":[null,null,null,null],"implementation":[null,null,null,null],"line":[null,null,null,null],"column":[null,null,null,null],"optimizations":[null,null,null,null]},"funcTable":{"length":4,"name":[1,2,3,4],"isJS":[false,false,false,false],"relevantForJS":[false,false,false,false],"resource":[0,0,0,0],"fileName":[null,null,null,null],"lineNumber":[null,null,null,null],"columnNumber":[null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"read_many_struc","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700679","processName":"read_many_struc","processShutdownTime":116605321.27785,"processStartupTime":116605321.011449,"processType":"default","registerTime":116605321.011449,"resourceTable":{"length":1,"lib":[0],"name":[0],"host":[null],"type":[1]},"samples":{"length":6,"stack":[0,0,0,0,0,3],"time":[116605321.104868,116605321.110305,116605321.113133,116605321.11575,116605321.118619,116605321.145002],"weight":[1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,5,2,2,2,26]},"stackTable":{"length":4,"prefix":[null,null,1,2],"frame":[0,1,2,3],"category":[1,1,1,1],"subcategory":[0,0,0,0]},"stringArray":["libc.so.6","0x12683d","0x12684f","0x1132b6","0x425f3"],"tid":"700679","unregisterTime":116605321.27785},{"frameTable":{"length":291,"address":[-1,6172712,171583,171407,6961188,24789293,6390936,6318722,6891257,6960008,18228651,18275296,24914034,18274897,18699523,18771153,21111941,21108987,21108630,20823459,20830300,20018520,20022754,20111892,20766442,676946,665754,20830877,20672381,20672633,6891289,6934036,6792192,13278183,13759878,15502080,15478939,9410720,10807483,11805301,10559929,24440989,24437325,24293764,24256972,678152,674697,673972,15479242,12639360,12525656,14888033,10726274,7678591,15502397,15513626,15423342,12748670,12785321,11042784,12622957,12592860,12583627,13906546,12526981,24863840,12785594,12593422,14220139,14216945,14157073,14141548,14157674,14172651,12823739,12755374,14156737,14153608,10701076,7543730,10456572,11513563,-1,-1,675014,12824704,11143741,12840658,14887932,1678766,14151252,14143273,24807926,24829710,1132514,14161319,9460591,9600230,8340942,22912464,14157184,10731025,10760191,14160794,9526482,10834176,9526184,12787445,10474752,12820778,11513802,14151406,25070500,15425997,7504141,676449,673968,15514285,12469939,14785128,12437100,21355648,21373932,21371646,15502705,15482608,11839161,25068696,13761948,12781637,8339248,12525404,15429958,10461824,12525356,11513906,13762848,15370014,15372001,12512714,14220822,14218513,14209891,14052403,13396235,15645529,9310656,10279229,9133562,15651595,15666596,9013880,9014382,11579843,25019051,15640939,10556323,24425005,24331705,672428,14218358,14125042,14093504,24811757,1131835,9133812,10328566,9093107,10079783,9064693,10573461,9349041,11080695,11027283,11155027,9278084,10556977,24435370,24296615,24291392,15672942,15632382,14960431,15633903,14962974,11108750,24811909,24871465,943867,943687,24326145,24359520,24282072,24300715,9310236,10225661,9085143,9131689,10383615,10243123,9099847,10355352,9640020,10585860,9354634,15643514,11707111,25019005,10558103,24432283,24308707,24321659,24291333,24291685,674012,668235,9309633,10236333,9096898,10922424,1678717,15669755,24876565,24900956,1130558,24435203,24295760,11707003,24422154,24298549,24298668,1706387,15652541,15738448,15442794,12834129,1678188,9096339,10358942,24454312,14204722,24808216,13763122,15417377,12696080,12694763,12697221,12706001,12703994,12701053,12704095,665353,-1,1706698,13285546,8215405,8217643,8022372,8223974,8025787,7982183,8276241,8276258,8224090,8173943,8172009,8224063,8170397,676866,8215426,8261407,8043633,7936278,8043569,7976313,8029664,6792723,6361152,6375985,6365348,6796269,6362481,6318554,1706056,6797622,11246538,19262743,25060274,19262017,19260593,961585],"inlineDepth":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"category":[2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"func":[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,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290],"nativeSymbol":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"innerWindowID":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"implementation":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"line":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"column":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"optimizations":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"funcTable":{"length":291,"name":[0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292],"isJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"relevantForJS":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false],"resource":[-1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1],"fileName":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"lineNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"columnNumber":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"markers":{"length":0,"category":[],"data":[],"endTime":[],"name":[],"phase":[],"startTime":[]},"name":"cargo","isMainThread":true,"nativeSymbols":{"length":0,"address":[],"functionSize":[],"libIndex":[],"name":[]},"pausedRanges":[],"pid":"700679.1","processName":"cargo","processShutdownTime":116605410.457627,"processStartupTime":116605321.27785,"processType":"default","registerTime":116605321.27785,"resourceTable":{"length":2,"lib":[2,0],"name":[1,3],"host":[null,null],"type":[1,1]},"samples":{"length":55,"stack":[0,26,29,47,53,66,81,94,97,115,116,127,132,133,137,139,137,142,143,153,155,166,174,178,186,192,205,211,221,231,245,260,270,274,285,290,294,301,313,317,319,325,330,340,345,368,370,382,387,391,398,402,406,412,413],"time":[116605322.252443,116605327.661932,116605331.237976,116605333.69534,116605335.718355,116605337.46061,116605339.025401,116605340.36129,116605341.485774,116605342.459274,116605343.349324,116605344.176907,116605344.981288,116605345.73664,116605346.483377,116605347.272837,116605348.018021,116605348.750951,116605349.488646,116605350.302169,116605351.192857,116605352.074562,116605352.981325,116605353.903962,116605354.848428,116605355.834996,116605356.804454,116605357.77553,116605358.763347,116605359.760661,116605360.747701,116605361.858367,116605362.949489,116605364.507125,116605365.410252,116605366.268071,116605367.18311,116605368.161212,116605369.139296,116605370.168478,116605371.101386,116605372.036788,116605372.987638,116605373.954599,116605374.937349,116605396.15161,116605398.339467,116605400.11704,116605401.519846,116605402.701684,116605403.755017,116605404.756779,116605405.654807,116605406.498732,116605410.199762],"weight":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"weightType":"samples","threadCPUDelta":[0,5409,3497,2457,2023,1742,1564,1335,1107,973,890,827,804,755,746,789,745,732,737,813,890,881,906,922,944,986,969,971,987,997,987,1110,1091,1557,903,857,915,978,978,1029,932,935,950,966,982,1186,2187,1777,1402,1181,1053,1001,898,843,3050]},"stackTable":{"length":414,"prefix":[null,null,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,19,27,28,7,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,35,48,49,50,51,52,null,54,55,56,57,58,59,60,61,62,63,64,65,null,67,68,69,70,71,72,73,74,75,76,77,78,79,80,57,82,83,84,85,86,87,88,89,90,91,92,93,null,95,96,null,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,89,82,117,118,119,120,121,122,123,124,125,126,109,128,129,130,131,88,89,134,135,136,null,138,109,140,141,140,null,144,145,146,147,148,149,150,151,152,89,154,null,156,157,158,159,160,161,162,163,164,165,34,167,168,169,170,171,172,173,34,175,176,177,144,179,180,181,182,183,184,185,33,187,188,189,190,191,null,193,194,195,196,197,198,199,200,201,202,203,204,201,206,207,208,209,210,201,212,213,214,215,216,217,218,219,220,33,222,223,224,225,226,227,228,229,230,null,232,233,234,235,236,237,238,239,240,241,242,243,244,144,246,247,248,249,250,251,252,253,254,255,256,257,258,259,206,261,262,263,264,265,266,267,268,269,215,271,272,273,232,275,276,277,278,279,280,281,282,283,284,254,286,287,288,289,256,291,292,293,259,295,296,297,298,299,300,null,302,303,304,305,306,307,308,309,310,311,312,206,314,315,316,257,318,286,320,321,322,323,324,201,326,327,328,329,null,331,332,333,334,335,336,337,338,339,226,341,342,343,344,33,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,null,369,32,371,372,373,374,375,376,377,378,379,380,381,374,383,384,385,386,374,388,389,390,371,392,393,394,395,396,397,31,399,400,401,31,403,404,405,31,407,408,409,410,411,null],"frame":[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,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,52,53,34,54,55,56,57,58,59,60,61,62,63,64,65,54,55,56,57,66,59,60,67,68,69,70,71,72,73,74,75,66,59,60,67,68,69,76,77,78,79,80,81,82,83,84,55,56,75,66,59,60,67,68,69,70,71,72,73,85,86,87,88,89,90,58,59,60,67,68,69,76,91,92,93,94,95,96,97,98,99,100,91,92,93,94,101,102,103,104,105,106,33,34,54,55,56,75,107,108,109,110,111,112,30,31,32,33,34,54,55,113,114,115,116,54,117,118,119,120,121,122,123,124,125,126,127,128,55,56,75,129,130,131,81,128,55,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,39,156,157,158,43,44,45,46,159,136,137,138,139,140,160,161,162,163,164,145,146,147,165,166,167,168,169,170,171,172,173,174,175,136,137,138,139,140,141,142,143,144,155,39,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,115,116,208,209,210,211,212,213,44,45,46,214,215,139,140,141,142,143,144,145,216,217,218,219,220,221,222,223,224,225,226,227,228,229,228,230,231,232,233,234,235,236,141,142,143,144,145,216,217,237,238,239,141,240,241,163,164,242,243,244,245,246,247,246,247,248,244,244,244,244,244,245,246,247,246,247,249,250,25,251,252,253,254,255,256,257,258,259,260,261,260,261,260,262,263,264,265,25,251,266,264,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290],"category":[2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subcategory":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"stringArray":["0xffffffffba601199","cargo","0x5e3028","libc.so.6","0x29e3f","0x29d8f","0x6a3824","0x17a412d","0x618498","0x606a82","0x6926f9","0x6a3388","0x11625ab","0x116dbe0","0x17c2872","0x116da51","0x11d5503","0x11e6cd1","0x1422485","0x14218fb","0x1421796","0x13dbda3","0x13dd85c","0x1317558","0x13185e2","0x132e214","0x13cdeea","0xa5452","0xa289a","0x13dda9d","0x13b6f7d","0x13b7079","0x692719","0x69ce14","0x67a400","0xca9be7","0xd1f586","0xec8b00","0xec309b","0x8f98a0","0xa4e8bb","0xb42275","0xa121b9","0x174f09d","0x174e24d","0x172b184","0x17221cc","0xa5908","0xa4b89","0xa48b4","0xec31ca","0xc0dc80","0xbf2058","0xe32c61","0xa3ab82","0x752a7f","0xec8c3d","0xecb81a","0xeb576e","0xc2877e","0xc316a9","0xa87fe0","0xc09c6d","0xc026dc","0xc002cb","0xd43272","0xbf2585","0x17b6460","0xc317ba","0xc0290e","0xd8fb6b","0xd8eef1","0xd80511","0xd7c86c","0xd8076a","0xd841eb","0xc3acbb","0xc2a1ae","0xd803c1","0xd7f788","0xa34914","0x731bb2","0x9f8dfc","0xafaedb","0xfffffffffffffffe","0x32","0xa4cc6","0xc3b080","0xaa0a3d","0xc3eed2","0xe32bfc","0x199dae","0xd7ee54","0xd7cf29","0x17a89f6","0x17adf0e","0x1147e2","0xd815a7","0x905b6f","0x927ce6","0x7f45ce","0x15d9dd0","0xd80580","0xa3be11","0xa42fff","0xd8139a","0x915cd2","0xa55100","0x915ba8","0xc31ef5","0x9fd500","0xc3a12a","0xafafca","0xd7eeee","0x17e8ba4","0xeb61cd","0x72810d","0xa5261","0xa48b0","0xecbaad","0xbe46b3","0xe19a68","0xbdc66c","0x145dc80","0x14623ec","0x1461afe","0xec8d71","0xec3ef0","0xb4a6b9","0x17e8498","0xd1fd9c","0xc30845","0x7f3f30","0xbf1f5c","0xeb7146","0x9fa280","0xbf1f2c","0xafb032","0xd20120","0xea871e","0xea8ee1","0xbeedca","0xd8fe16","0xd8f511","0xd8d363","0xd66c33","0xcc690b","0xeebb59","0x8e11c0","0x9cd93d","0x8b5dfa","0xeed30b","0xef0da4","0x898a78","0x898c6e","0xb0b1c3","0x17dc2ab","0xeea96b","0xa113a3","0x174b22d","0x17345b9","0xa42ac","0xd8f476","0xd787f2","0xd70cc0","0x17a98ed","0x11453b","0x8b5ef4","0x9d99f6","0x8abff3","0x99ce27","0x8a50f5","0xa15695","0x8ea7b1","0xa913f7","0xa84353","0xaa3653","0x8d9284","0xa11631","0x174daaa","0x172bca7","0x172a840","0xef266e","0xee87fe","0xe4472f","0xee8def","0xe4511e","0xa9818e","0x17a9985","0x17b8229","0xe66fb","0xe6647","0x1733001","0x173b260","0x17283d8","0x172ccab","0x8e101c","0x9c07fd","0x8aa0d7","0x8b56a9","0x9e70ff","0x9c4c33","0x8ada47","0x9e0298","0x931854","0xa18704","0x8ebd8a","0xeeb37a","0xb2a2e7","0x17dc27d","0xa11a97","0x174ce9b","0x172ebe3","0x1731e7b","0x172a805","0x172a965","0xa48dc","0xa324b","0x8e0dc1","0x9c31ad","0x8acec2","0xa6a9b8","0x199d7d","0xef19fb","0x17b9615","0x17bf55c","0x11403e","0x174da03","0x172b950","0xb2a27b","0x174a70a","0x172c435","0x172c4ac","0x1a0993","0xeed6bd","0xf02650","0xeba36a","0xc3d551","0x199b6c","0x8acc93","0x9e109e","0x17524a8","0xd8bf32","0x17a8b18","0xd20232","0xeb4021","0xc1ba10","0xc1b4eb","0xc1be85","0xc1e0d1","0xc1d8fa","0xc1cd7d","0xc1d95f","0xa2709","0x20","0x1a0aca","0xcab8aa","0x7d5b6d","0x7d642b","0x7a6964","0x7d7ce6","0x7a76bb","0x79cc67","0x7e4911","0x7e4922","0x7d7d5a","0x7cb977","0x7cb1e9","0x7d7d3f","0x7cab9d","0xa5402","0x7d5b82","0x7e0f1f","0x7abc71","0x791916","0x7abc31","0x79b579","0x7a85e0","0x67a613","0x611040","0x614a31","0x6120a4","0x67b3ed","0x611571","0x6069da","0x1a0848","0x67b936","0xab9bca","0x125ed17","0x17e63b2","0x125ea41","0x125e4b1","0xeac31"],"tid":"700679.1","unregisterTime":116605410.457627}],"pages":[],"profilerOverhead":[],"counters":[]} \ No newline at end of file diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 2db138cd..bbb52872 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -8,7 +8,8 @@ use winnow::combinator::{ }; use winnow::error::{ErrMode, Needed}; use winnow::stream::{ - Accumulate, CompareResult, FindSlice, Location, SliceLen, Stream, StreamIsPartial, + Accumulate, CompareResult, ContainsToken, FindSlice, Location, SliceLen, Stream, + StreamIsPartial, }; use winnow::token::{one_of, take_till, take_until, take_while}; use winnow::Parser; @@ -238,6 +239,7 @@ impl<'top> TextBuffer<'top> { /// Always succeeds and consumes none of the input. Returns an empty slice of the buffer. // This method is useful for parsers that need to match an optional construct but don't want // to return an Option<_>. For an example, see its use in `match_optional_whitespace`. + #[inline] fn match_nothing(&mut self) -> IonMatchResult<'top> { // use winnow's `empty` parser to return an empty slice from the head position empty.take().parse_next(self) @@ -254,10 +256,21 @@ impl<'top> TextBuffer<'top> { } /// Matches any amount of contiguous comments and whitespace, including none. - pub fn match_optional_comments_and_whitespace(&mut self) -> IonMatchResult<'top> { + pub fn full_match_optional_comments_and_whitespace(&mut self) -> IonMatchResult<'top> { zero_or_more(alt((Self::match_whitespace1, Self::match_comment))).parse_next(self) } + /// Matches any amount of contiguous comments and whitespace, including none. + #[inline] + pub fn match_optional_comments_and_whitespace(&mut self) -> IonMatchResult<'top> { + if let Some(&byte) = self.bytes().first() { + if WHITESPACE_BYTES.contains_token(byte) || byte == b'/' { + return self.full_match_optional_comments_and_whitespace(); + } + } + self.match_nothing() + } + /// Matches a single /// // Rest-of-the-line /// or @@ -323,16 +336,27 @@ impl<'top> TextBuffer<'top> { } /// Matches one or more annotations. + #[inline] pub fn match_annotations(&mut self) -> IonMatchResult<'top> { - let matched = one_or_more(Self::match_annotation).parse_next(self)?; - if matched.len() > u16::MAX as usize { - let error = InvalidInputError::new(matched) - .with_description("the maximum supported annotations sequence length is 65KB") - .with_label("parsing annotations"); - Err(ErrMode::Cut(IonParseError::Invalid(error))) - } else { - Ok(matched) + #[inline(never)] + fn full_match_annotations<'t>(input: &mut TextBuffer<'t>) -> IonMatchResult<'t> { + let matched = one_or_more(TextBuffer::match_annotation).parse_next(input)?; + if matched.len() > u16::MAX as usize { + let error = InvalidInputError::new(matched) + .with_description("the maximum supported annotations sequence length is 65KB") + .with_label("parsing annotations"); + Err(ErrMode::Cut(IonParseError::Invalid(error))) + } else { + Ok(matched) + } } + + if let Some(&byte) = self.bytes().first() { + if [b'\'', b'$', b'_'].contains(&byte) || byte.is_ascii_alphabetic() { + return full_match_annotations(self); + } + }; + self.match_nothing() } /// Matches an annotation (symbol token) and a terminating '::'. @@ -395,12 +419,19 @@ impl<'top> TextBuffer<'top> { result } + #[inline] fn apply_annotations>( &self, maybe_annotations: Option>, mut value: LazyRawTextValue<'top, E>, ) -> LazyRawTextValue<'top, E> { - if let Some(annotations) = maybe_annotations { + // This is a separately defined function so the common case (no annotations) is more readily + // inlined. + fn full_apply_annotations<'t, T: TextEncoding<'t>>( + input: &TextBuffer<'t>, + annotations: &TextBuffer<'t>, + value: &mut LazyRawTextValue<'t, T>, + ) { let annotations_length = u16::try_from(annotations.len()).expect("already length checked"); // Update the encoded value's record of how many bytes of annotations precede the data. @@ -409,11 +440,15 @@ impl<'top> TextBuffer<'top> { .with_annotations_sequence(annotations_length); let unannotated_value_length = value.input.len(); // Rewind the value's input to include the annotations sequence. - value.input = self.slice( - annotations.offset() - self.offset(), + value.input = input.slice( + annotations.offset() - input.offset(), annotations_length as usize + unannotated_value_length, ); } + + if let Some(annotations) = maybe_annotations { + full_apply_annotations(self, &annotations, &mut value); + } value } @@ -615,7 +650,10 @@ impl<'top> TextBuffer<'top> { Self::match_symbol.map(MatchedFieldNameSyntax::Symbol), )) .with_taken() - .map(|(syntax, matched_input)| MatchedFieldName::new(matched_input, syntax)) + .map( + #[inline] + |(syntax, matched_input)| MatchedFieldName::new(matched_input, syntax), + ) .parse_next(self) } @@ -1329,7 +1367,7 @@ impl<'top> TextBuffer<'top> { if self.bytes().starts_with(b"(::") { return fatal_parse_error( *self, - format!("parameter '{}' has cardinality `ExactlyOne`; it cannot accept an expression group", parameter.name()) + format!("parameter '{}' has cardinality `ExactlyOne`; it cannot accept an expression group", parameter.name()), ); } let maybe_expr = Self::match_sexp_value_1_1 @@ -2255,16 +2293,30 @@ impl<'top> TextBuffer<'top> { } /// Matches a timestamp of any precision. + #[inline] pub fn match_timestamp(&mut self) -> IonParseResult<'top, MatchedTimestamp> { - alt(( - Self::match_timestamp_y, - Self::match_timestamp_ym, - Self::match_timestamp_ymd, - Self::match_timestamp_ymd_hm, - Self::match_timestamp_ymd_hms, - Self::match_timestamp_ymd_hms_fractional, - )) - .parse_next(self) + #[inline(never)] + pub fn full_match_timestamp<'t>( + input: &mut TextBuffer<'t>, + ) -> IonParseResult<'t, MatchedTimestamp> { + alt(( + TextBuffer::match_timestamp_y, + TextBuffer::match_timestamp_ym, + TextBuffer::match_timestamp_ymd, + TextBuffer::match_timestamp_ymd_hm, + TextBuffer::match_timestamp_ymd_hms, + TextBuffer::match_timestamp_ymd_hms_fractional, + )) + .parse_next(input) + } + + match self.bytes().first() { + Some(byte) if byte.is_ascii_digit() => full_match_timestamp(self), + Some(_) => Err(ErrMode::Backtrack(IonParseError::Invalid( + InvalidInputError::new(self.clone()), + ))), + None => self.incomplete("a timestamp"), + } } /// Matches a timestamp with year precision. From 58ce9cd568c1592af95ed1710d48c77d655c118d Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Sun, 5 Jan 2025 07:46:39 -0500 Subject: [PATCH 11/32] Removes special cases for incompleteness detection --- src/lazy/text/buffer.rs | 183 +++++----------------------------------- 1 file changed, 20 insertions(+), 163 deletions(-) diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index bbb52872..9976928b 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -255,17 +255,22 @@ impl<'top> TextBuffer<'top> { take_while(0.., WHITESPACE_BYTES).parse_next(self) } - /// Matches any amount of contiguous comments and whitespace, including none. - pub fn full_match_optional_comments_and_whitespace(&mut self) -> IonMatchResult<'top> { - zero_or_more(alt((Self::match_whitespace1, Self::match_comment))).parse_next(self) - } - /// Matches any amount of contiguous comments and whitespace, including none. #[inline] pub fn match_optional_comments_and_whitespace(&mut self) -> IonMatchResult<'top> { + pub fn full_match_optional_comments_and_whitespace<'t>( + input: &mut TextBuffer<'t>, + ) -> IonMatchResult<'t> { + zero_or_more(alt(( + TextBuffer::match_whitespace1, + TextBuffer::match_comment, + ))) + .parse_next(input) + } + if let Some(&byte) = self.bytes().first() { if WHITESPACE_BYTES.contains_token(byte) || byte == b'/' { - return self.full_match_optional_comments_and_whitespace(); + return full_match_optional_comments_and_whitespace(self); } } self.match_nothing() @@ -550,10 +555,7 @@ impl<'top> TextBuffer<'top> { separated_pair( whitespace_and_then(Self::match_struct_field_name), whitespace_and_then(":"), - whitespace_and_then(alt(( - Self::match_annotated_long_string_in_struct, - Self::match_annotated_value_1_1, - ))), + whitespace_and_then(Self::match_annotated_value_1_1), ), whitespace_and_then(alt((",", Self::peek_struct_end))), ) @@ -603,42 +605,6 @@ impl<'top> TextBuffer<'top> { }) } - /// In the context of a list, long-form strings need to be parsed differently to properly detect incomplete - /// input. For example, at the top level... - /// ```ion - /// // string empty symbol - /// '''foo''' '' - /// ``` - /// - /// But in the context of a list... - /// - /// ```ion - /// [ // v--- Incomplete - /// '''foo''' '' - /// ``` - /// - /// the same partial value is an `Incomplete` because it must be followed by a `,` or `]` to be - /// complete. - pub fn match_annotated_long_string_in_list( - &mut self, - ) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - Self::match_annotated_value_parser( - Self::match_long_string_in_list.map(|s| EncodedTextValue::new(MatchedValue::String(s))), - ) - .parse_next(self) - } - - /// Like `match_annotated_long_string_in_list` above, but for structs. - pub fn match_annotated_long_string_in_struct( - &mut self, - ) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - Self::match_annotated_value_parser( - Self::match_long_string_in_struct - .map(|s| EncodedTextValue::new(MatchedValue::String(s))), - ) - .parse_next(self) - } - /// Matches a struct field name. That is: /// * A quoted symbol /// * An identifier @@ -965,11 +931,7 @@ impl<'top> TextBuffer<'top> { ) .map(|matched| Some(RawValueExpr::EExp(matched))), "]".value(None), - terminated( - Self::match_annotated_long_string_in_list.map(Some), - Self::match_delimiter_after_list_value, - ) - .map(|maybe_matched| maybe_matched.map(RawValueExpr::ValueLiteral)), + // .map(|maybe_matched| maybe_matched.map(RawValueExpr::ValueLiteral)), terminated( Self::match_annotated_value_1_1.map(Some), // ...followed by a comma or end-of-list @@ -1658,7 +1620,6 @@ impl<'top> TextBuffer<'top> { // This function's "1" suffix is a style borrowed from `nom`. fn take_base_16_digits1(&mut self) -> IonMatchResult<'top> { ( - // We need at least one digit; if input's empty, this is Incomplete. one_of(|b: u8| b.is_ascii_hexdigit()), // After we have our digit, take digits until we find a non-digit (including EOF). take_while(.., |b: u8| b.is_ascii_hexdigit()), @@ -1925,85 +1886,7 @@ impl<'top> TextBuffer<'top> { } pub fn match_long_string(&mut self) -> IonParseResult<'top, MatchedString> { - // This method is used at the top level and inside s-expressions. - // Specific contexts that need to specify a delimiter will call - // `match_long_string_with_terminating_delimiter` themselves. - // This includes lists, structs, and clobs. - Self::match_only_complete_if_terminated( - "reading a long-form string", - Self::match_long_string_segments, - // Don't specify a terminating delimiter -- always succeed. - Self::match_nothing, - Self::match_partial_long_string_delimiter, - ) - .parse_next(self) - } - - pub fn match_long_string_in_struct(&mut self) -> IonParseResult<'top, MatchedString> { - Self::match_only_complete_if_terminated( - "reading a long-form string in a struct", - Self::match_long_string_segments, - alt((",", "}")), - Self::match_partial_long_string_delimiter, - ) - .parse_next(self) - } - - pub fn match_long_string_in_list(&mut self) -> IonParseResult<'top, MatchedString> { - Self::match_only_complete_if_terminated( - "reading a long-form string in a list", - Self::match_long_string_segments, - alt((",", "]")), - Self::match_partial_long_string_delimiter, - ) - .parse_next(self) - } - - /// Matches a parser that must be followed by input that matches `terminator`. - /// - /// This is used in contexts where the expression being parsed must be followed by one of a - /// set of known delimiters (ignoring whitespace and comments). For example: - /// * in a list, a long string must be followed by `,` or `]` - /// * in a struct, a long string must be followed by `,` or `}` - /// * in a clob, a long string must be followed by `}}`. - /// - /// Without this, it would be impossible to determine whether `''' ''` is legal or incomplete - /// in a given context. - /// - /// If the input is NOT terminated properly, the parser will check to see if `partial` matches. - /// If so, it will return an `Incomplete`. - /// If not, it will return an `Err` that includes the provided `label`. - pub fn match_only_complete_if_terminated( - label: &'static str, - mut parser: impl IonParser<'top, Output>, - mut terminator: impl IonParser<'top, Output3>, - mut partial: impl IonParser<'top, Output2>, - ) -> impl Parser> { - move |input: &mut Self| { - // Save a copy of the original input. - let original_input = *input; - // If the parser raises an error, bubble it up. - let matched = parser.parse_next(input)?; - // If the next thing in input is the terminator, report success. - match terminator.parse_peek(input.clone()) { - Ok(_) => return Ok(matched), - // Otherwise, report that the original input was incomplete. - Err(ErrMode::Incomplete(_)) => return original_input.incomplete(label), - _ => { - // no match - } - }; - // Otherwise, see if the next thing in input is an indication that the input was - // incomplete. - if partial.parse_peek(input.clone()).is_ok() { - // If so, report that the original input was incomplete. - return original_input.incomplete(label); - } - - Err(ErrMode::Backtrack(IonParseError::Invalid( - InvalidInputError::new(original_input).with_label(label), - ))) - } + Self::match_long_string_segments.parse_next(self) } /// Matches a long string comprised of any number of `'''`-enclosed segments interleaved @@ -2035,25 +1918,6 @@ impl<'top> TextBuffer<'top> { .parse_next(self) } - /// In the context of a list or s-expression, a truncated long-form string makes it impossible - /// to tell whether the input is malformed or just incomplete. For example, at the top level, - /// this is incomplete: - /// '''foo''' ' - /// while this: - /// '''foo''' '' - /// is valid--it's a string followed by an empty symbol. Inside a list, however, the same partial - /// long string has to be read differently. If the reader sees this: - /// ['''foo''' '' - /// It needs to consider it incomplete, not valid; for the last token to be an empty symbol, - /// there would need to be a delimiting comma (`,`) between the two values. Structs also require - /// a delimiting comma between a value and the next field. - /// - /// If an error is encountered while traversing a list or struct, this method can be used to - /// see if the problematic data was the beginning of another string segment. - pub fn match_partial_long_string_delimiter(&mut self) -> IonMatchResult<'top> { - whitespace_and_then(terminated("''", eof)).parse_next(self) - } - /// Matches a single long string segment enclosed by `'''` delimiters. /// Returns the match and a boolean indicating whether the body contained escape sequences. pub fn match_long_string_segment(&mut self) -> IonParseResult<'top, (Self, bool)> { @@ -2548,19 +2412,12 @@ impl<'top> TextBuffer<'top> { /// Matches the body (inside the `{{` and `}}`) of a long-form clob. fn match_long_clob_body(&mut self) -> IonMatchResult<'top> { - let body = Self::match_only_complete_if_terminated( - "reading a long-form clob", - one_or_more(preceded( - Self::match_whitespace0, - Self::match_long_clob_body_segment, - )) - .take(), - preceded(Self::match_whitespace0, "}}"), - preceded(Self::match_whitespace0, "''"), - ) - .parse_next(self)?; - - Ok(body) + one_or_more(preceded( + Self::match_whitespace0, + Self::match_long_clob_body_segment, + )) + .take() + .parse_next(self) } /// Matches a single segment of a long-form clob's content. From 3205514099241971cd199fedab657452d65f4932 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Sun, 5 Jan 2025 09:17:01 -0500 Subject: [PATCH 12/32] `match_value` now uses `dispatch!` instead of `alt` --- src/lazy/text/buffer.rs | 131 +++++++++++++++++++++++++++------------- 1 file changed, 90 insertions(+), 41 deletions(-) diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 9976928b..0fe59f32 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -11,8 +11,8 @@ use winnow::stream::{ Accumulate, CompareResult, ContainsToken, FindSlice, Location, SliceLen, Stream, StreamIsPartial, }; -use winnow::token::{one_of, take_till, take_until, take_while}; -use winnow::Parser; +use winnow::token::{any, one_of, take_till, take_until, take_while}; +use winnow::{dispatch, Parser}; use crate::lazy::decoder::{LazyRawFieldExpr, LazyRawValueExpr, RawValueExpr}; use crate::lazy::encoding::{TextEncoding, TextEncoding_1_0, TextEncoding_1_1}; @@ -48,6 +48,17 @@ use crate::lazy::text::as_utf8::AsUtf8; use bumpalo::collections::Vec as BumpVec; use winnow::ascii::{digit0, digit1}; +// .map(|int| EncodedTextValue::new(MatchedValue::Int(int))), + +macro_rules! value_matchers { + ($($parser:expr => $variant:ident => $new_parser:ident),*$(,)?) => { + $(fn $new_parser>(&mut self) -> IonParseResult<'top, EncodedTextValue<'top, E>> { + $parser.map(|matched| EncodedTextValue::new(MatchedValue::$variant(matched))).parse_next(self) + })* + }; +} + + impl Debug for TextBuffer<'_> { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { const CHARS_TO_SHOW: usize = 64; @@ -671,53 +682,76 @@ impl<'top> TextBuffer<'top> { .parse_next(self) } - /// Matches a single scalar value or the beginning of a container. + /// Matches a single Ion 1.0 value. pub fn match_value(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { let allocator = self.context().allocator(); - alt(( - // For `null` and `bool`, we use `read_` instead of `match_` because there's no additional - // parsing to be done. - Self::match_null.map(|ion_type| EncodedTextValue::new(MatchedValue::Null(ion_type))), - Self::match_bool.map(|value| EncodedTextValue::new(MatchedValue::Bool(value))), - // For `int` and the other types, we use `match` and store the partially-processed input in the - // `matched_value` field of the `EncodedTextValue` we return. - Self::match_int - .map(|matched_int| EncodedTextValue::new(MatchedValue::Int(matched_int))), - Self::match_float - .map(|matched_float| EncodedTextValue::new(MatchedValue::Float(matched_float))), - Self::match_decimal.map(|matched_decimal| { - EncodedTextValue::new(MatchedValue::Decimal(matched_decimal)) - }), - Self::match_timestamp.map(|matched_timestamp| { - EncodedTextValue::new(MatchedValue::Timestamp(matched_timestamp)) - }), - Self::match_string - .map(|matched_string| EncodedTextValue::new(MatchedValue::String(matched_string))), - Self::match_symbol - .map(|matched_symbol| EncodedTextValue::new(MatchedValue::Symbol(matched_symbol))), - Self::match_blob - .map(|matched_blob| EncodedTextValue::new(MatchedValue::Blob(matched_blob))), - Self::match_clob - .map(|matched_clob| EncodedTextValue::new(MatchedValue::Clob(matched_clob))), - Self::match_list.map(|_matched_list| { + let mut peek_next_token = |input: &mut TextBuffer<'top>| { + let mut input_copy = input.clone(); + any(&mut input_copy) + }; + dispatch! { + peek_next_token; + byte if byte.is_ascii_digit() || byte == b'-' || byte == b'+' => { + alt(( + Self::match_int_value, + Self::match_float_value, + Self::match_decimal_value, + Self::match_timestamp_value, + )) + }, + byte if byte.is_ascii_alphabetic() => { + alt(( + Self::match_null_value, + Self::match_bool_value, + Self::match_identifier_value, + Self::match_float_special_value, // nan + )) + }, + b'$' | b'_' => { + Self::match_symbol_value // identifiers and symbol IDs + }, + b'"' | b'\'' => { + alt(( + Self::match_string_value, + Self::match_symbol_value, + )) + }, + b'[' => { + Self::match_list.map(|_matched_list| { // TODO: Cache child expressions found in 1.0 list let not_yet_used_in_1_0 = bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); EncodedTextValue::new(MatchedValue::List(not_yet_used_in_1_0)) - }), - Self::match_sexp.map(|_matched_sexp| { + }) + }, + b'(' => { + Self::match_sexp.map(|_matched_sexp| { // TODO: Cache child expressions found in 1.0 sexp let not_yet_used_in_1_0 = bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); EncodedTextValue::new(MatchedValue::SExp(not_yet_used_in_1_0)) - }), - Self::match_struct.map(|_matched_struct| { - // TODO: Cache child expressions found in 1.0 struct - let not_yet_used_in_1_0 = - bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); - EncodedTextValue::new(MatchedValue::Struct(not_yet_used_in_1_0)) - }), - )) + }) + }, + b'{' => { + alt(( + Self::match_blob_value, + Self::match_clob_value, + Self::match_struct.map(|_matched_struct| { + // TODO: Cache child expressions found in 1.0 struct + let not_yet_used_in_1_0 = + bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); + EncodedTextValue::new(MatchedValue::Struct(not_yet_used_in_1_0)) + }), + )) + }, + _other => { + // `other` is not a legal start-of-value byte. + |input: &mut TextBuffer<'top>| { + let error = InvalidInputError::new(*input); + return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); + } + }, + } .with_taken() .map(|(encoded_value, input)| LazyRawTextValue_1_0 { encoded_value, @@ -1514,6 +1548,21 @@ impl<'top> TextBuffer<'top> { .parse_next(self) } + value_matchers!( + Self::match_null => Null => match_null_value, + Self::match_bool => Bool => match_bool_value, + Self::match_int => Int => match_int_value, + Self::match_float => Float => match_float_value, + Self::match_float_special => Float => match_float_special_value, + Self::match_decimal => Decimal => match_decimal_value, + Self::match_timestamp => Timestamp => match_timestamp_value, + Self::match_string => String => match_string_value, + Self::match_symbol => Symbol => match_symbol_value, + Self::match_identifier => Symbol => match_identifier_value, + Self::match_blob => Blob => match_blob_value, + Self::match_clob => Clob => match_clob_value, + ); + /// Matches a base-2 notation integer (e.g. `0b0`, `0B1010`, or `-0b0111`) and returns the /// partially parsed value as a [`MatchedInt`]. fn match_base_2_int(&mut self) -> IonParseResult<'top, MatchedInt> { @@ -1639,7 +1688,7 @@ impl<'top> TextBuffer<'top> { fn match_float(&mut self) -> IonParseResult<'top, MatchedFloat> { terminated( alt(( - Self::match_float_special_value, + Self::match_float_special, Self::match_float_numeric_value, )), Self::peek_stop_character, @@ -1648,7 +1697,7 @@ impl<'top> TextBuffer<'top> { } /// Matches special IEEE-754 values, including +/- infinity and NaN. - fn match_float_special_value(&mut self) -> IonParseResult<'top, MatchedFloat> { + fn match_float_special(&mut self) -> IonParseResult<'top, MatchedFloat> { alt(( "nan".value(MatchedFloat::NotANumber), "+inf".value(MatchedFloat::PositiveInfinity), From 84a0a2605251388f22fb0e655e0c7bb1c803f89c Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Mon, 6 Jan 2025 08:38:31 -0500 Subject: [PATCH 13/32] Added macro to define mappings from MatchedValue to LazyRawTextValue --- src/lazy/text/buffer.rs | 117 +++++++++++++++---------------- src/lazy/text/parse_result.rs | 4 +- src/lazy/text/raw/sequence.rs | 4 +- src/lazy/text/raw/v1_1/reader.rs | 4 +- 4 files changed, 63 insertions(+), 66 deletions(-) diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 0fe59f32..f8a0ada3 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -11,7 +11,7 @@ use winnow::stream::{ Accumulate, CompareResult, ContainsToken, FindSlice, Location, SliceLen, Stream, StreamIsPartial, }; -use winnow::token::{any, one_of, take_till, take_until, take_while}; +use winnow::token::{one_of, take_till, take_until, take_while}; use winnow::{dispatch, Parser}; use crate::lazy::decoder::{LazyRawFieldExpr, LazyRawValueExpr, RawValueExpr}; @@ -48,9 +48,7 @@ use crate::lazy::text::as_utf8::AsUtf8; use bumpalo::collections::Vec as BumpVec; use winnow::ascii::{digit0, digit1}; -// .map(|int| EncodedTextValue::new(MatchedValue::Int(int))), - -macro_rules! value_matchers { +macro_rules! scalar_value_matchers { ($($parser:expr => $variant:ident => $new_parser:ident),*$(,)?) => { $(fn $new_parser>(&mut self) -> IonParseResult<'top, EncodedTextValue<'top, E>> { $parser.map(|matched| EncodedTextValue::new(MatchedValue::$variant(matched))).parse_next(self) @@ -58,6 +56,21 @@ macro_rules! value_matchers { }; } +macro_rules! container_value_matchers_1_0 { + ($($parser:expr => $variant:ident => $new_parser:ident),*$(,)?) => { + $(fn $new_parser(&mut self) -> IonParseResult<'top, EncodedTextValue<'top, TextEncoding_1_0>> { + $parser.map(|nested_item_cache| EncodedTextValue::new(MatchedValue::$variant(nested_item_cache))).parse_next(self) + })* + }; +} + +macro_rules! container_value_matchers_1_1 { + ($($parser:expr => $variant:ident => $new_parser:ident),*$(,)?) => { + $(fn $new_parser(&mut self) -> IonParseResult<'top, EncodedTextValue<'top, TextEncoding_1_1>> { + $parser.map(|nested_item_cache| EncodedTextValue::new(MatchedValue::$variant(nested_item_cache))).parse_next(self) + })* + }; +} impl Debug for TextBuffer<'_> { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { @@ -213,6 +226,13 @@ impl<'top> TextBuffer<'top> { self.data } + pub fn peek_byte(&self) -> IonParseResult<'top, u8> { + let Some(byte) = self.bytes().first().copied() else { + return self.incomplete("a value"); + }; + Ok(byte) + } + /// Returns the number of bytes between the start of the original input byte array and the /// subslice of that byte array that this `TextBuffer` represents. pub fn offset(&self) -> usize { @@ -385,7 +405,7 @@ impl<'top> TextBuffer<'top> { } /// Matches an optional annotations sequence and a value, including operators. - pub fn match_sexp_value(&mut self) -> IonParseResult<'top, Option>> { + pub fn match_sexp_item(&mut self) -> IonParseResult<'top, Option>> { let (maybe_sexp_value, matched_input) = whitespace_and_then(alt(( ")".value(None), ( @@ -412,7 +432,7 @@ impl<'top> TextBuffer<'top> { /// Matches either: /// * A macro invocation /// * An optional annotations sequence and a value - pub fn match_sexp_value_1_1( + pub fn match_sexp_item_1_1( &mut self, ) -> IonParseResult<'top, Option>> { let input = self.clone(); @@ -684,14 +704,9 @@ impl<'top> TextBuffer<'top> { /// Matches a single Ion 1.0 value. pub fn match_value(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { - let allocator = self.context().allocator(); - let mut peek_next_token = |input: &mut TextBuffer<'top>| { - let mut input_copy = input.clone(); - any(&mut input_copy) - }; dispatch! { - peek_next_token; - byte if byte.is_ascii_digit() || byte == b'-' || byte == b'+' => { + |input: &mut TextBuffer<'top>| input.peek_byte(); + byte if byte.is_ascii_digit() || byte == b'-' => { alt(( Self::match_int_value, Self::match_float_value, @@ -716,34 +731,16 @@ impl<'top> TextBuffer<'top> { Self::match_symbol_value, )) }, - b'[' => { - Self::match_list.map(|_matched_list| { - // TODO: Cache child expressions found in 1.0 list - let not_yet_used_in_1_0 = - bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); - EncodedTextValue::new(MatchedValue::List(not_yet_used_in_1_0)) - }) - }, - b'(' => { - Self::match_sexp.map(|_matched_sexp| { - // TODO: Cache child expressions found in 1.0 sexp - let not_yet_used_in_1_0 = - bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); - EncodedTextValue::new(MatchedValue::SExp(not_yet_used_in_1_0)) - }) - }, + b'[' => Self::match_list_value, + b'(' => Self::match_sexp_value, b'{' => { alt(( Self::match_blob_value, Self::match_clob_value, - Self::match_struct.map(|_matched_struct| { - // TODO: Cache child expressions found in 1.0 struct - let not_yet_used_in_1_0 = - bumpalo::collections::Vec::new_in(allocator).into_bump_slice(); - EncodedTextValue::new(MatchedValue::Struct(not_yet_used_in_1_0)) - }), + Self::match_struct_value, )) }, + b'+' => Self::match_float_special_value, // +inf _other => { // `other` is not a legal start-of-value byte. |input: &mut TextBuffer<'top>| { @@ -807,7 +804,7 @@ impl<'top> TextBuffer<'top> { /// Matches a list. /// /// If the input does not contain the entire list, returns `IonError::Incomplete(_)`. - pub fn match_list(&mut self) -> IonMatchResult<'top> { + pub fn match_list(&mut self) -> IonParseResult<'top, &'top [LazyRawValueExpr<'top, TextEncoding_1_0>]> { // If it doesn't start with [, it isn't a list. if self.bytes().first() != Some(&b'[') { let error = InvalidInputError::new(*self); @@ -832,11 +829,9 @@ impl<'top> TextBuffer<'top> { } }; - // For the matched span, we use `self` again to include the opening `[` - let matched = self.slice(0, span.len()); - let remaining = self.slice_to_end(span.len()); - *self = remaining; - Ok(matched) + self.consume(span.len()); + // TODO: Populate the nested expr cache, which isn't yet used in the 1.0 parser. + Ok(&[]) } /// Matches an Ion v1.1 list, which allows e-expressions (macro invocations) to appear in value @@ -934,7 +929,7 @@ impl<'top> TextBuffer<'top> { /// /// If a value is found, returns `Ok(Some(value))`. If the end of the list is found, returns /// `Ok(None)`. - pub fn match_list_value(&mut self) -> IonParseResult<'top, Option>> { + pub fn match_list_item(&mut self) -> IonParseResult<'top, Option>> { preceded( // Some amount of whitespace/comments... Self::match_optional_comments_and_whitespace, @@ -955,7 +950,7 @@ impl<'top> TextBuffer<'top> { /// Matches either: /// * An e-expression (i.e. macro invocation) /// * An optional annotations sequence and a value - pub fn match_list_value_1_1( + pub fn match_list_item_1_1( &mut self, ) -> IonParseResult<'top, Option>> { whitespace_and_then(alt(( @@ -989,7 +984,7 @@ impl<'top> TextBuffer<'top> { /// Matches an s-expression (sexp). /// /// If the input does not contain the entire s-expression, returns `IonError::Incomplete(_)`. - pub fn match_sexp(&mut self) -> IonMatchResult<'top> { + pub fn match_sexp(&mut self) -> IonParseResult<'top, &'top[LazyRawValueExpr<'top, TextEncoding_1_0>]> { if self.bytes().first() != Some(&b'(') { let error = InvalidInputError::new(*self); return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); @@ -1011,17 +1006,15 @@ impl<'top> TextBuffer<'top> { } } }; - // For the matched span, we use `self` again to include the opening `(` - let matched = self.slice(0, span.len()); - let remaining = self.slice_to_end(span.len()); - *self = remaining; - Ok(matched) + self.consume(span.len()); + // TODO: Populate the nested expr cache, which isn't yet used in the 1.0 parser. + Ok(&[]) } /// Matches a struct. /// /// If the input does not contain the entire struct, returns `IonError::Incomplete(_)`. - pub fn match_struct(&mut self) -> IonMatchResult<'top> { + pub fn match_struct(&mut self) -> IonParseResult<'top, &'top [LazyRawFieldExpr<'top, TextEncoding_1_0>]> { // If it doesn't start with {, it isn't a struct. if self.bytes().first() != Some(&b'{') { let error = InvalidInputError::new(*self); @@ -1046,11 +1039,9 @@ impl<'top> TextBuffer<'top> { } }; - // For the matched span, we use `self` again to include the opening `{` - let matched = self.slice(0, span.len()); - let remaining = self.slice_to_end(span.len()); - *self = remaining; - Ok(matched) + self.consume(span.len()); + // TODO: Populate the nested expr cache, which isn't yet used in the 1.0 parser. + Ok(&[]) } pub fn match_struct_1_1( @@ -1366,7 +1357,7 @@ impl<'top> TextBuffer<'top> { format!("parameter '{}' has cardinality `ExactlyOne`; it cannot accept an expression group", parameter.name()), ); } - let maybe_expr = Self::match_sexp_value_1_1 + let maybe_expr = Self::match_sexp_item_1_1 .map(|expr| expr.map(EExpArgExpr::::from)) .parse_next(self)?; match maybe_expr { @@ -1401,7 +1392,7 @@ impl<'top> TextBuffer<'top> { whitespace_and_then(alt(( Self::parser_with_arg(Self::match_empty_arg_group, parameter).map(Some), // TODO: Match a non-empty arg group and turn it into a failure with a helpful error message - Self::match_sexp_value_1_1.map(|maybe_expr| { + Self::match_sexp_item_1_1.map(|maybe_expr| { maybe_expr.map(|expr| { EExpArg::new(parameter, EExpArgExpr::::from(expr)) }) @@ -1419,7 +1410,7 @@ impl<'top> TextBuffer<'top> { alt(( Self::parser_with_arg(Self::match_e_expression_arg_group, parameter) .map(|group| Some(EExpArg::new(parameter, EExpArgExpr::ArgGroup(group)))), - Self::match_sexp_value_1_1.map(|expr| { + Self::match_sexp_item_1_1.map(|expr| { expr.map(EExpArgExpr::from) .map(|expr| EExpArg::new(parameter, expr)) }), @@ -1460,7 +1451,7 @@ impl<'top> TextBuffer<'top> { let parser = |input: &mut TextBuffer<'top>| { while let Some(expr) = alt(( whitespace_and_then(peek(")")).value(None), - Self::match_sexp_value_1_1, + Self::match_sexp_item_1_1, )) .parse_next(input)? { @@ -1548,7 +1539,7 @@ impl<'top> TextBuffer<'top> { .parse_next(self) } - value_matchers!( + scalar_value_matchers!( Self::match_null => Null => match_null_value, Self::match_bool => Bool => match_bool_value, Self::match_int => Int => match_int_value, @@ -1563,6 +1554,12 @@ impl<'top> TextBuffer<'top> { Self::match_clob => Clob => match_clob_value, ); + container_value_matchers_1_0!( + Self::match_list => List => match_list_value, + Self::match_sexp => SExp => match_sexp_value, + Self::match_struct => Struct => match_struct_value, + ); + /// Matches a base-2 notation integer (e.g. `0b0`, `0B1010`, or `-0b0111`) and returns the /// partially parsed value as a [`MatchedInt`]. fn match_base_2_int(&mut self) -> IonParseResult<'top, MatchedInt> { diff --git a/src/lazy/text/parse_result.rs b/src/lazy/text/parse_result.rs index 7788ab14..36174b31 100644 --- a/src/lazy/text/parse_result.rs +++ b/src/lazy/text/parse_result.rs @@ -337,14 +337,14 @@ pub(crate) fn fatal_parse_error>, O>( input: TextBuffer<'_>, description: D, ) -> IonParseResult<'_, O> { - Err(winnow::error::ErrMode::Cut( + Err(ErrMode::Cut( InvalidInputError::new(input) .with_description(description) .into(), )) } -/// An extension trait that allows a [std::result::Result] of any kind to be mapped to an +/// An extension trait that allows a [Result] of any kind to be mapped to an /// `IonParseResult` concisely. pub(crate) trait OrFatalParseError { fn or_fatal_parse_error( diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index 785f512d..2510d2bd 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -138,7 +138,7 @@ impl<'data> Iterator for RawTextListIterator_1_0<'data> { if self.has_returned_error { return None; } - match self.input.match_list_value() { + match self.input.match_list_item() { Ok(Some(value)) => { let value = RawValueExpr::ValueLiteral(LazyRawTextValue_1_0::from(value)); Some(Ok(value)) @@ -229,7 +229,7 @@ impl<'data> Iterator for RawTextSExpIterator_1_0<'data> { if self.has_returned_error { return None; } - match self.input.match_sexp_value() { + match self.input.match_sexp_item() { Ok(Some(value)) => Some(Ok(RawValueExpr::ValueLiteral(LazyRawTextValue_1_0::from( value, )))), diff --git a/src/lazy/text/raw/v1_1/reader.rs b/src/lazy/text/raw/v1_1/reader.rs index a529bdfb..7dec5226 100644 --- a/src/lazy/text/raw/v1_1/reader.rs +++ b/src/lazy/text/raw/v1_1/reader.rs @@ -550,7 +550,7 @@ impl<'top> Iterator for RawTextSExpIterator_1_1<'top> { if self.has_returned_error { return None; } - match self.input.match_sexp_value_1_1() { + match self.input.match_sexp_item_1_1() { Ok(Some(value)) => Some(Ok(value)), Ok(None) => None, Err(e) => { @@ -701,7 +701,7 @@ impl<'top> Iterator for RawTextListIterator_1_1<'top> { if self.has_returned_error { return None; } - match self.input.match_list_value_1_1() { + match self.input.match_list_item_1_1() { Ok(Some(value_expr)) => Some(Ok(value_expr)), Ok(None) => { // Don't update `remaining` so subsequent calls will continue to return None From 41dabd0293a17c6de6593366d08b049a0371615b Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Mon, 6 Jan 2025 09:36:53 -0500 Subject: [PATCH 14/32] `match_value_1_1` now uses `dispatch` instead of `alt` --- benches/read_many_structs.rs | 10 +-- src/lazy/text/buffer.rs | 132 +++++++++++++++++------------------ 2 files changed, 68 insertions(+), 74 deletions(-) diff --git a/benches/read_many_structs.rs b/benches/read_many_structs.rs index 0f448790..4d299a79 100644 --- a/benches/read_many_structs.rs +++ b/benches/read_many_structs.rs @@ -47,9 +47,8 @@ fn maximally_compact_1_1_data(num_values: usize) -> TestData_1_1 { let text_1_1_data = r#"(:event 1670446800245 418 "6" "1" "abc123" (:: "region 4" "2022-12-07T20:59:59.744000Z"))"#.repeat(num_values); - let mut binary_1_1_data = vec![0xE0u8, 0x01, 0x01, 0xEA]; // IVM #[rustfmt::skip] - let mut binary_1_1_data_body: Vec = [MacroTable::FIRST_USER_MACRO_ID as u8, // Macro ID + let mut binary_1_1_data: Vec = [MacroTable::FIRST_USER_MACRO_ID as u8, // Macro ID 0b10, // [NOTE: `0b`] `parameters*` arg is an arg group 0x66, // 6-byte integer (`timestamp` param) 0x75, 0x5D, 0x63, 0xEE, 0x84, 0x01, @@ -107,9 +106,8 @@ fn moderately_compact_1_1_data(num_values: usize) -> TestData_1_1 { "#; let text_1_1_data = r#"(:event 1670446800245 418 "scheduler-thread-6" "example-client-1" "aws-us-east-5f-abc123" (:: "region 4" "2022-12-07T20:59:59.744000Z"))"#.repeat(num_values); - let mut binary_1_1_data = vec![0xE0u8, 0x01, 0x01, 0xEA]; // IVM #[rustfmt::skip] - let mut binary_1_1_data_body: Vec = [MacroTable::FIRST_USER_MACRO_ID as u8, // Macro ID + let mut binary_1_1_data: Vec = [MacroTable::FIRST_USER_MACRO_ID as u8, // Macro ID 0b10, // [NOTE: `0b` prefix] `parameters*` arg is an arg group 0x66, // 6-byte integer (`timestamp` param) 0x75, 0x5D, 0x63, 0xEE, 0x84, 0x01, @@ -176,9 +174,8 @@ fn length_prefixed_moderately_compact_1_1_data(num_values: usize) -> TestData_1_ "#; let text_1_1_data = r#"(:event 1670446800245 418 "scheduler-thread-6" "example-client-1" "aws-us-east-5f-abc123" (:: "region 4" "2022-12-07T20:59:59.744000Z"))"#.repeat(num_values); - let mut binary_1_1_data = vec![0xE0u8, 0x01, 0x01, 0xEA]; // IVM #[rustfmt::skip] - let mut binary_1_1_data_body: Vec = [0xF5, // LP invocation + let mut binary_1_1_data: Vec = [0xF5, // LP invocation ((MacroTable::FIRST_USER_MACRO_ID * 2) + 1) as u8, // Macro ID 0xDF, // Length prefix: FlexUInt 111 0b10, // [NOTE: `0b` prefix] `parameters*` arg is an arg group @@ -213,7 +210,6 @@ fn length_prefixed_moderately_compact_1_1_data(num_values: usize) -> TestData_1_ 0x2E, 0x37, 0x34, 0x34, 0x30, 0x30, 0x30, 0x5A].repeat(num_values); - binary_1_1_data.append(&mut binary_1_1_data_body); TestData_1_1 { name: "moderately compact w/length-prefixed top level".to_owned(), template_definition_text: template_definition_text.to_owned(), diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index f8a0ada3..86743546 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -758,47 +758,57 @@ impl<'top> TextBuffer<'top> { } pub fn match_value_1_1(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - alt(( - // For `null` and `bool`, we use `read_` instead of `match_` because there's no additional - // parsing to be done. - Self::match_null.map(|ion_type| EncodedTextValue::new(MatchedValue::Null(ion_type))), - Self::match_bool.map(|value| EncodedTextValue::new(MatchedValue::Bool(value))), - // For `int` and the other types, we use `match` and store the partially-processed input in the - // `matched_value` field of the `EncodedTextValue` we return. - Self::match_int - .map(|matched_int| EncodedTextValue::new(MatchedValue::Int(matched_int))), - Self::match_float - .map(|matched_float| EncodedTextValue::new(MatchedValue::Float(matched_float))), - Self::match_decimal.map(|matched_decimal| { - EncodedTextValue::new(MatchedValue::Decimal(matched_decimal)) - }), - Self::match_timestamp.map(|matched_timestamp| { - EncodedTextValue::new(MatchedValue::Timestamp(matched_timestamp)) - }), - Self::match_string - .map(|matched_string| EncodedTextValue::new(MatchedValue::String(matched_string))), - Self::match_symbol - .map(|matched_symbol| EncodedTextValue::new(MatchedValue::Symbol(matched_symbol))), - Self::match_blob - .map(|matched_blob| EncodedTextValue::new(MatchedValue::Blob(matched_blob))), - Self::match_clob - .map(|matched_clob| EncodedTextValue::new(MatchedValue::Clob(matched_clob))), - Self::match_list_1_1.map(|(_matched_list, child_expr_cache)| { - EncodedTextValue::new(MatchedValue::List(child_expr_cache)) - }), - Self::match_sexp_1_1.map(|(_matched_sexp, child_expr_cache)| { - EncodedTextValue::new(MatchedValue::SExp(child_expr_cache)) - }), - Self::match_struct_1_1.map(|(_matched_struct, field_expr_cache)| { - EncodedTextValue::new(MatchedValue::Struct(field_expr_cache)) - }), - )) + dispatch! { + |input: &mut TextBuffer<'top>| input.peek_byte(); + byte if byte.is_ascii_digit() || byte == b'-' => { + alt(( + Self::match_int_value, + Self::match_float_value, + Self::match_decimal_value, + Self::match_timestamp_value, + )) + }, + byte if byte.is_ascii_alphabetic() => { + alt(( + Self::match_null_value, + Self::match_bool_value, + Self::match_identifier_value, + Self::match_float_special_value, // nan + )) + }, + b'$' | b'_' => { + Self::match_symbol_value // identifiers and symbol IDs + }, + b'"' | b'\'' => { + alt(( + Self::match_string_value, + Self::match_symbol_value, + )) + }, + b'[' => Self::match_list_value_1_1, + b'(' => Self::match_sexp_value_1_1, + b'{' => { + alt(( + Self::match_blob_value, + Self::match_clob_value, + Self::match_struct_value_1_1, + )) + }, + b'+' => Self::match_float_special_value, // +inf + _other => { + // `other` is not a legal start-of-value byte. + |input: &mut TextBuffer<'top>| { + let error = InvalidInputError::new(*input); + return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); + } + }, + } .with_taken() - .map(|(encoded_value, input)| LazyRawTextValue_1_1 { - encoded_value, - input, - }) - .parse_next(self) + .map(|(encoded_value, input)| LazyRawTextValue_1_1 { + encoded_value, + input, + }) + .parse_next(self) } /// Matches a list. @@ -843,10 +853,7 @@ impl<'top> TextBuffer<'top> { &mut self, ) -> IonParseResult< 'top, - ( - TextBuffer<'top>, - &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], - ), + &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], > { // If it doesn't start with [, it isn't a list. if self.bytes().first() != Some(&b'[') { @@ -877,11 +884,8 @@ impl<'top> TextBuffer<'top> { } }; - // For the matched span, we use `self` again to include the opening `[` - let matched = self.slice(0, span.len()); - let remaining = self.slice_to_end(span.len()); - *self = remaining; - Ok((matched, child_exprs)) + self.consume(span.len()); + Ok(child_exprs) } // TODO: DRY with `match_sexp` @@ -889,10 +893,7 @@ impl<'top> TextBuffer<'top> { &mut self, ) -> IonParseResult< 'top, - ( - TextBuffer<'top>, - &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], - ), + &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], > { if self.bytes().first() != Some(&b'(') { let error = InvalidInputError::new(*self); @@ -917,11 +918,8 @@ impl<'top> TextBuffer<'top> { } } }; - // For the matched span, we use `self` again to include the opening `(` - let matched = self.slice(0, span.len()); - let remaining = self.slice_to_end(span.len()); - *self = remaining; - Ok((matched, child_expr_cache)) + self.consume(span.len()); + Ok(child_expr_cache) } /// Matches a single value in a list OR the end of the list, allowing for leading whitespace @@ -1048,10 +1046,7 @@ impl<'top> TextBuffer<'top> { &mut self, ) -> IonParseResult< 'top, - ( - TextBuffer<'top>, - &'top [LazyRawFieldExpr<'top, TextEncoding_1_1>], - ), + &'top [LazyRawFieldExpr<'top, TextEncoding_1_1>], > { // If it doesn't start with {, it isn't a struct. if self.bytes().first() != Some(&b'{') { @@ -1082,11 +1077,8 @@ impl<'top> TextBuffer<'top> { } }; - // For the matched span, we use `self` again to include the opening `{` - let matched = self.slice(0, span.len()); - let remaining = self.slice_to_end(span.len()); - *self = remaining; - Ok((matched, fields)) + self.consume(span.len()); + Ok(fields) } pub fn match_e_expression_arg_group( @@ -1560,6 +1552,12 @@ impl<'top> TextBuffer<'top> { Self::match_struct => Struct => match_struct_value, ); + container_value_matchers_1_1!( + Self::match_list_1_1 => List => match_list_value_1_1, + Self::match_sexp_1_1 => SExp => match_sexp_value_1_1, + Self::match_struct_1_1 => Struct => match_struct_value_1_1, + ); + /// Matches a base-2 notation integer (e.g. `0b0`, `0B1010`, or `-0b0111`) and returns the /// partially parsed value as a [`MatchedInt`]. fn match_base_2_int(&mut self) -> IonParseResult<'top, MatchedInt> { From 1d1def2d2d813ed662a63cafa1ef1a953415c362 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Mon, 6 Jan 2025 09:53:28 -0500 Subject: [PATCH 15/32] clippy suggestions --- src/lazy/encoding.rs | 5 ++--- src/lazy/text/buffer.rs | 16 ++++++++-------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index e61a5160..e272385c 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -1,8 +1,5 @@ #![allow(non_camel_case_types)] -use std::fmt::Debug; -use std::io; - use crate::lazy::any_encoding::{IonEncoding, IonVersion, LazyRawAnyValue}; use crate::lazy::binary::raw::annotations_iterator::RawBinaryAnnotationsIterator; use crate::lazy::binary::raw::r#struct::{LazyRawBinaryFieldName_1_0, LazyRawBinaryStruct_1_0}; @@ -33,6 +30,8 @@ use crate::lazy::text::value::{ LazyRawTextValue, LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker_1_0, LazyRawTextVersionMarker_1_1, RawTextAnnotationsIterator, }; +use std::fmt::Debug; +use std::io; use crate::lazy::binary::raw::v1_1::e_expression::BinaryEExpression_1_1; use crate::{ diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 86743546..a964a749 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -435,7 +435,7 @@ impl<'top> TextBuffer<'top> { pub fn match_sexp_item_1_1( &mut self, ) -> IonParseResult<'top, Option>> { - let input = self.clone(); + let input = *self; let result = whitespace_and_then(alt(( Self::match_e_expression.map(|matched| Some(RawValueExpr::EExp(matched))), peek(")").value(None), @@ -595,7 +595,7 @@ impl<'top> TextBuffer<'top> { /// Matches an optional annotation sequence and a trailing value. pub fn match_annotated_value(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { - let input = self.clone(); + let input = *self; ( opt(Self::match_annotations), whitespace_and_then(Self::match_value), @@ -608,7 +608,7 @@ impl<'top> TextBuffer<'top> { pub fn match_annotated_value_1_1( &mut self, ) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - let input = self.clone(); + let input = *self; ( opt(Self::match_annotations), whitespace_and_then(Self::match_value_1_1), @@ -745,7 +745,7 @@ impl<'top> TextBuffer<'top> { // `other` is not a legal start-of-value byte. |input: &mut TextBuffer<'top>| { let error = InvalidInputError::new(*input); - return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); + Err(ErrMode::Backtrack(IonParseError::Invalid(error))) } }, } @@ -799,7 +799,7 @@ impl<'top> TextBuffer<'top> { // `other` is not a legal start-of-value byte. |input: &mut TextBuffer<'top>| { let error = InvalidInputError::new(*input); - return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); + Err(ErrMode::Backtrack(IonParseError::Invalid(error))) } }, } @@ -1119,7 +1119,7 @@ impl<'top> TextBuffer<'top> { // `input` is now positioned after the opening delimiter. // The rest of the group uses s-expression syntax. Scan ahead to find the end of this // group. - let sexp_iter = RawTextSExpIterator_1_1::new(input.clone()); + let sexp_iter = RawTextSExpIterator_1_1::new(*input); // The sexp iterator holds the body of the expression. When finding the input span it occupies, // we tell the iterator how many bytes comprised the head of the group: `(::` followed // by whitespace. @@ -2172,7 +2172,7 @@ impl<'top> TextBuffer<'top> { // Whether we've encountered any escapes while looking for the delimiter let mut contained_escapes = false; // The input left to search - let mut remaining = self.clone(); + let mut remaining = *self; loop { // Look for the first unescaped instance of the delimiter's head. // If the input doesn't contain one, this will return an `Incomplete`. @@ -2221,7 +2221,7 @@ impl<'top> TextBuffer<'top> { match self.bytes().first() { Some(byte) if byte.is_ascii_digit() => full_match_timestamp(self), Some(_) => Err(ErrMode::Backtrack(IonParseError::Invalid( - InvalidInputError::new(self.clone()), + InvalidInputError::new(*self), ))), None => self.incomplete("a timestamp"), } From 7cd83c83aacfe5083401cafee1151f240cb58665 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Mon, 6 Jan 2025 12:43:50 -0500 Subject: [PATCH 16/32] Adds text version-agnostic container parsers --- src/lazy/encoding.rs | 120 +++++++++++++++++++++++++++++---- src/lazy/text/buffer.rs | 8 +-- src/lazy/text/encoded_value.rs | 2 +- 3 files changed, 113 insertions(+), 17 deletions(-) diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index e272385c..61508c71 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -5,6 +5,7 @@ use crate::lazy::binary::raw::annotations_iterator::RawBinaryAnnotationsIterator use crate::lazy::binary::raw::r#struct::{LazyRawBinaryFieldName_1_0, LazyRawBinaryStruct_1_0}; use crate::lazy::binary::raw::reader::LazyRawBinaryReader_1_0; use crate::lazy::binary::raw::sequence::{LazyRawBinaryList_1_0, LazyRawBinarySExp_1_0}; +use crate::lazy::binary::raw::v1_1::e_expression::BinaryEExpression_1_1; use crate::lazy::binary::raw::v1_1::r#struct::LazyRawBinaryFieldName_1_1; use crate::lazy::binary::raw::v1_1::reader::LazyRawBinaryReader_1_1; use crate::lazy::binary::raw::v1_1::value::LazyRawBinaryVersionMarker_1_1; @@ -19,25 +20,34 @@ use crate::lazy::decoder::Decoder; use crate::lazy::encoder::write_as_ion::WriteAsIon; use crate::lazy::encoder::Encoder; use crate::lazy::never::Never; -use crate::lazy::text::raw::r#struct::{LazyRawTextFieldName_1_0, LazyRawTextStruct_1_0}; +use crate::lazy::text::buffer::{whitespace_and_then, IonParser, TextBuffer}; +use crate::lazy::text::encoded_value::EncodedTextValue; +use crate::lazy::text::matched::MatchedValue; +use crate::lazy::text::parse_result::fatal_parse_error; +use crate::lazy::text::raw::r#struct::{ + LazyRawTextFieldName_1_0, LazyRawTextStruct_1_0, RawTextStructIterator_1_0, +}; use crate::lazy::text::raw::reader::LazyRawTextReader_1_0; -use crate::lazy::text::raw::sequence::{LazyRawTextList_1_0, LazyRawTextSExp_1_0}; +use crate::lazy::text::raw::sequence::{ + LazyRawTextList_1_0, LazyRawTextSExp_1_0, RawTextListIterator_1_0, RawTextSExpIterator_1_0, +}; use crate::lazy::text::raw::v1_1::reader::{ LazyRawTextFieldName_1_1, LazyRawTextList_1_1, LazyRawTextReader_1_1, LazyRawTextSExp_1_1, - LazyRawTextStruct_1_1, TextEExpression_1_1, + LazyRawTextStruct_1_1, RawTextListIterator_1_1, RawTextSExpIterator_1_1, + RawTextStructIterator_1_1, TextEExpression_1_1, }; use crate::lazy::text::value::{ LazyRawTextValue, LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker_1_0, LazyRawTextVersionMarker_1_1, RawTextAnnotationsIterator, }; -use std::fmt::Debug; -use std::io; - -use crate::lazy::binary::raw::v1_1::e_expression::BinaryEExpression_1_1; use crate::{ - AnnotationsEncoding, ContainerEncoding, FieldNameEncoding, IonResult, SymbolValueEncoding, - TextFormat, ValueWriterConfig, WriteConfig, + AnnotationsEncoding, ContainerEncoding, FieldNameEncoding, HasRange, IonError, IonResult, + SymbolValueEncoding, TextFormat, ValueWriterConfig, WriteConfig, }; +use std::fmt::Debug; +use std::io; +use winnow::combinator::opt; +use winnow::Parser; /// Marker trait for types that represent an Ion encoding. pub trait Encoding: Encoder + Decoder { @@ -246,10 +256,96 @@ pub trait TextEncoding<'top>: Value<'top> = LazyRawTextValue<'top, Self>, > { - // No methods, just a marker + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; + fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; + fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; + fn container_matcher( + label: &'static str, + mut make_iterator: MakeIterator, + mut end_matcher: impl IonParser<'top, TextBuffer<'top>>, + ) -> impl IonParser<'top, &'top [Expr]> + where + Expr: HasRange + 'top, + Iter: Iterator>, + MakeIterator: FnMut(TextBuffer<'top>) -> Iter, + { + use bumpalo::collections::Vec as BumpVec; + move |input: &mut TextBuffer<'top>| { + // Skip the opening token of the container, i.e. '[', '(', or '{' + let iterator = make_iterator(input.slice_to_end(1)); + // The input has already skipped past the opening delimiter. + let start = input.offset(); + let mut child_expr_cache = BumpVec::new_in(input.context().allocator()); + for expr_result in iterator { + let expr = match expr_result { + Ok(expr) => expr, + Err(IonError::Incomplete(..)) => { + return input.incomplete(label); + } + Err(e) => { + return fatal_parse_error(*input, format!("failed to parse {label}: {e:?}")) + } + }; + child_expr_cache.push(expr); + } + + let last_expr_end = child_expr_cache + .last() + .map(|expr| expr.range().end) + .unwrap_or(input.offset() + 1); + let mut remaining = input.slice_to_end(last_expr_end - input.offset()); + let _matched_end = end_matcher.parse_next(&mut remaining)?; + let end = remaining.offset(); + let span = start..end; + input.consume(span.len()); + Ok(child_expr_cache.into_bump_slice()) + } + } +} +impl<'top> TextEncoding<'top> for TextEncoding_1_0 { + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator_1_0::new(buffer); + let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); + Self::container_matcher("a v1.0 list", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::List(nested_expr_cache))) + } + + fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextSExpIterator_1_0::new(buffer); + let end_matcher = whitespace_and_then(")"); + Self::container_matcher("a v1.0 sexp", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::SExp(nested_expr_cache))) + } + + fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextStructIterator_1_0::new(buffer); + let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("}")).take(); + Self::container_matcher("a v1.0 struct", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) + } +} +impl<'top> TextEncoding<'top> for TextEncoding_1_1 { + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator_1_1::new(buffer); + let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); + Self::container_matcher("a v1.1 list", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::List(nested_expr_cache))) + } + + fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextSExpIterator_1_1::new(buffer); + let end_matcher = whitespace_and_then(")"); + Self::container_matcher("a v1.1 sexp", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::SExp(nested_expr_cache))) + } + + fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextStructIterator_1_1::new(buffer); + let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("}")).take(); + Self::container_matcher("a v1.1 struct", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) + } } -impl TextEncoding<'_> for TextEncoding_1_0 {} -impl TextEncoding<'_> for TextEncoding_1_1 {} /// Marker trait for encodings that support macros. pub trait EncodingWithMacroSupport {} diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index a964a749..95421b92 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -185,7 +185,7 @@ impl<'top> TextBuffer<'top> { self.context } - fn incomplete(&self, label: &'static str) -> IonParseResult<'top, T> { + pub(crate) fn incomplete(&self, label: &'static str) -> IonParseResult<'top, T> { if self.is_final_data() { fatal_parse_error(*self, format!("ran out of data while parsing {label}")) } else { @@ -731,13 +731,13 @@ impl<'top> TextBuffer<'top> { Self::match_symbol_value, )) }, - b'[' => Self::match_list_value, - b'(' => Self::match_sexp_value, + b'[' => TextEncoding_1_0::list_matcher(), + b'(' => TextEncoding_1_0::sexp_matcher(), b'{' => { alt(( Self::match_blob_value, Self::match_clob_value, - Self::match_struct_value, + TextEncoding_1_0::struct_matcher(), )) }, b'+' => Self::match_float_special_value, // +inf diff --git a/src/lazy/text/encoded_value.rs b/src/lazy/text/encoded_value.rs index 060388fe..0b8b34ee 100644 --- a/src/lazy/text/encoded_value.rs +++ b/src/lazy/text/encoded_value.rs @@ -11,7 +11,7 @@ use crate::IonType; /// allowing a user to re-read (that is: parse) the body of the value as many times as necessary /// without re-parsing its header information each time. #[derive(Copy, Clone, Debug, PartialEq)] -pub(crate) struct EncodedTextValue<'top, E: TextEncoding<'top>> { +pub struct EncodedTextValue<'top, E: TextEncoding<'top>> { // Each encoded text value has up to three components, appearing in the following order: // // [annotations? | data ] From 8201e0444b80f2bb5be0f8d40c8098467d28bb6f Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Mon, 6 Jan 2025 13:37:03 -0500 Subject: [PATCH 17/32] Removes lots of version-specific container parsing code --- src/lazy/encoding.rs | 18 ++ src/lazy/text/buffer.rs | 479 +++++----------------------------------- 2 files changed, 78 insertions(+), 419 deletions(-) diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index 61508c71..2c727dde 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -256,6 +256,10 @@ pub trait TextEncoding<'top>: Value<'top> = LazyRawTextValue<'top, Self>, > { + fn new_value( + input: TextBuffer<'top>, + encoded_text_value: EncodedTextValue<'top, Self>, + ) -> Self::Value<'top>; fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; @@ -303,6 +307,13 @@ pub trait TextEncoding<'top>: } } impl<'top> TextEncoding<'top> for TextEncoding_1_0 { + fn new_value( + input: TextBuffer<'top>, + encoded_text_value: EncodedTextValue<'top, Self>, + ) -> Self::Value<'top> { + LazyRawTextValue_1_0::new(input, encoded_text_value) + } + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator_1_0::new(buffer); let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); @@ -325,6 +336,13 @@ impl<'top> TextEncoding<'top> for TextEncoding_1_0 { } } impl<'top> TextEncoding<'top> for TextEncoding_1_1 { + fn new_value( + input: TextBuffer<'top>, + encoded_text_value: EncodedTextValue<'top, Self>, + ) -> Self::Value<'top> { + LazyRawTextValue_1_1::new(input, encoded_text_value) + } + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator_1_1::new(buffer); let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 95421b92..402d4d0b 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -1,3 +1,4 @@ +#![deny(dead_code)] use std::fmt::{Debug, Formatter}; use std::ops::Range; use std::str::FromStr; @@ -26,20 +27,19 @@ use crate::lazy::text::matched::{ }; use crate::lazy::text::parse_result::{fatal_parse_error, InvalidInputError, IonParseError}; use crate::lazy::text::parse_result::{IonMatchResult, IonParseResult}; -use crate::lazy::text::raw::r#struct::{LazyRawTextFieldName_1_0, RawTextStructIterator_1_0}; -use crate::lazy::text::raw::sequence::{RawTextListIterator_1_0, RawTextSExpIterator_1_0}; +use crate::lazy::text::raw::r#struct::LazyRawTextFieldName_1_0; use crate::lazy::text::raw::v1_1::arg_group::{EExpArg, EExpArgExpr, TextEExpArgGroup}; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, MacroIdRef, RawTextListIterator_1_1, RawTextSExpIterator_1_1, - RawTextStructIterator_1_1, SystemMacroAddress, TextEExpression_1_1, TextListSpanFinder_1_1, - TextSExpSpanFinder_1_1, TextStructSpanFinder_1_1, + LazyRawTextFieldName_1_1, MacroIdRef, RawTextSExpIterator_1_1 + , SystemMacroAddress, TextEExpression_1_1, + TextSExpSpanFinder_1_1, }; use crate::lazy::text::value::{ LazyRawTextValue, LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker, }; use crate::result::DecodingError; use crate::{ - v1_1, Encoding, HasRange, IonError, IonResult, IonType, RawSymbolRef, TimestampPrecision, + Encoding, HasRange, IonError, IonResult, IonType, RawSymbolRef, TimestampPrecision, }; use crate::lazy::expanded::macro_table::{Macro, ION_1_1_SYSTEM_MACROS}; @@ -56,22 +56,6 @@ macro_rules! scalar_value_matchers { }; } -macro_rules! container_value_matchers_1_0 { - ($($parser:expr => $variant:ident => $new_parser:ident),*$(,)?) => { - $(fn $new_parser(&mut self) -> IonParseResult<'top, EncodedTextValue<'top, TextEncoding_1_0>> { - $parser.map(|nested_item_cache| EncodedTextValue::new(MatchedValue::$variant(nested_item_cache))).parse_next(self) - })* - }; -} - -macro_rules! container_value_matchers_1_1 { - ($($parser:expr => $variant:ident => $new_parser:ident),*$(,)?) => { - $(fn $new_parser(&mut self) -> IonParseResult<'top, EncodedTextValue<'top, TextEncoding_1_1>> { - $parser.map(|nested_item_cache| EncodedTextValue::new(MatchedValue::$variant(nested_item_cache))).parse_next(self) - })* - }; -} - impl Debug for TextBuffer<'_> { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { const CHARS_TO_SHOW: usize = 64; @@ -100,17 +84,14 @@ impl Debug for TextBuffer<'_> { } /// The Ion specification's enumeration of whitespace characters. -const WHITESPACE_CHARACTERS: &[char] = &[ - ' ', // Space - '\t', // Tab - '\r', // Carriage return - '\n', // Newline - '\x09', // Horizontal tab - '\x0B', // Vertical tab - '\x0C', // Form feed -]; - -/// Same as [WHITESPACE_CHARACTERS], but formatted as a string for use in some `nom` APIs +/// +/// ' ', Space +/// '\t', Tab +/// '\r', Carriage return +/// '\n', Newline +/// '\x09', Horizontal tab +/// '\x0B', Vertical tab +/// '\x0C', Form feed pub(crate) const WHITESPACE_BYTES: &[u8] = b" \t\r\n\x09\x0B\x0C"; /// A slice of unsigned bytes that can be cheaply copied and which defines methods for parsing @@ -414,7 +395,7 @@ impl<'top> TextBuffer<'top> { // int `3` while recognizing the input `-3` as the int `-3`. If `match_operator` runs before // `match_value`, it will consume the sign (`-`) of negative number values, treating // `-3` as an operator (`-`) and an int (`3`). Thus, we run `match_value` first. - whitespace_and_then(alt((Self::match_value, Self::match_operator))), + whitespace_and_then(alt((Self::match_value::, Self::match_operator))), ) .map(Some), ))) @@ -425,7 +406,7 @@ impl<'top> TextBuffer<'top> { return Ok(None); }; Ok(Some( - matched_input.apply_annotations(maybe_annotations, value), + matched_input.apply_annotations::(maybe_annotations, value), )) } @@ -445,7 +426,7 @@ impl<'top> TextBuffer<'top> { // int `3` while recognizing the input `-3` as the int `-3`. If `match_operator` runs before // `match_value`, it will consume the sign (`-`) of negative number values, treating // `-3` as an operator (`-`) and an int (`3`). Thus, we run `match_value` first. - whitespace_and_then(alt((Self::match_value_1_1, Self::match_operator))), + whitespace_and_then(alt((Self::match_value::, Self::match_operator))), ) .map(|(maybe_annotations, value)| input.apply_annotations(maybe_annotations, value)) .map(RawValueExpr::ValueLiteral) @@ -523,7 +504,7 @@ impl<'top> TextBuffer<'top> { separated_pair( whitespace_and_then(Self::match_struct_field_name), whitespace_and_then(":"), - whitespace_and_then(Self::match_annotated_value), + whitespace_and_then(Self::match_annotated_value::), ), whitespace_and_then(alt((",", Self::peek_struct_end))), ) @@ -586,7 +567,7 @@ impl<'top> TextBuffer<'top> { separated_pair( whitespace_and_then(Self::match_struct_field_name), whitespace_and_then(":"), - whitespace_and_then(Self::match_annotated_value_1_1), + whitespace_and_then(Self::match_annotated_value::), ), whitespace_and_then(alt((",", Self::peek_struct_end))), ) @@ -594,48 +575,16 @@ impl<'top> TextBuffer<'top> { } /// Matches an optional annotation sequence and a trailing value. - pub fn match_annotated_value(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { + pub fn match_annotated_value>(&mut self) -> IonParseResult<'top, E::Value<'top>> { let input = *self; ( opt(Self::match_annotations), - whitespace_and_then(Self::match_value), + whitespace_and_then(Self::match_value::), ) .map(|(maybe_annotations, value)| input.apply_annotations(maybe_annotations, value)) .parse_next(self) } - /// Matches an optional annotation sequence and a trailing v1.1 value. - pub fn match_annotated_value_1_1( - &mut self, - ) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - let input = *self; - ( - opt(Self::match_annotations), - whitespace_and_then(Self::match_value_1_1), - ) - .map(|(maybe_annotations, value)| input.apply_annotations(maybe_annotations, value)) - .parse_next(self) - } - - /// Constructs a parser that reads an optional annotations sequence and a value read using the provided - /// `value_parser`. The constructed parser returns a `LazyRawTextValue_1_1`. - fn match_annotated_value_parser( - value_parser: impl Parser, IonParseError<'top>>, - ) -> impl Parser, IonParseError<'top>> { - ( - opt(Self::match_annotations), - whitespace_and_then(value_parser), - ) - .with_taken() - .map(|((maybe_annotations, encoded_value), matched_input)| { - let value = LazyRawTextValue_1_1 { - encoded_value, - input: matched_input, - }; - matched_input.apply_annotations(maybe_annotations, value) - }) - } - /// Matches a struct field name. That is: /// * A quoted symbol /// * An identifier @@ -670,7 +619,7 @@ impl<'top> TextBuffer<'top> { // We check for IVMs first because the rules for a symbol identifier will match them. alt(( Self::match_ivm::.map(RawStreamItem::VersionMarker), - Self::match_annotated_value + Self::match_annotated_value:: .map(LazyRawTextValue_1_0::from) .map(RawStreamItem::Value), )) @@ -695,7 +644,7 @@ impl<'top> TextBuffer<'top> { alt(( Self::match_ivm::.map(RawStreamItem::VersionMarker), Self::match_e_expression.map(RawStreamItem::EExp), - Self::match_annotated_value_1_1 + Self::match_annotated_value:: .map(LazyRawTextValue_1_1::from) .map(RawStreamItem::Value), )) @@ -703,7 +652,7 @@ impl<'top> TextBuffer<'top> { } /// Matches a single Ion 1.0 value. - pub fn match_value(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_0<'top>> { + pub fn match_value>(&mut self) -> IonParseResult<'top, E::Value<'top>> { dispatch! { |input: &mut TextBuffer<'top>| input.peek_byte(); byte if byte.is_ascii_digit() || byte == b'-' => { @@ -731,13 +680,13 @@ impl<'top> TextBuffer<'top> { Self::match_symbol_value, )) }, - b'[' => TextEncoding_1_0::list_matcher(), - b'(' => TextEncoding_1_0::sexp_matcher(), + b'[' => E::list_matcher(), + b'(' => E::sexp_matcher(), b'{' => { alt(( Self::match_blob_value, Self::match_clob_value, - TextEncoding_1_0::struct_matcher(), + E::struct_matcher(), )) }, b'+' => Self::match_float_special_value, // +inf @@ -750,178 +699,10 @@ impl<'top> TextBuffer<'top> { }, } .with_taken() - .map(|(encoded_value, input)| LazyRawTextValue_1_0 { - encoded_value, - input, - }) + .map(|(encoded_value, input)| E::new_value(input, encoded_value)) .parse_next(self) } - pub fn match_value_1_1(&mut self) -> IonParseResult<'top, LazyRawTextValue_1_1<'top>> { - dispatch! { - |input: &mut TextBuffer<'top>| input.peek_byte(); - byte if byte.is_ascii_digit() || byte == b'-' => { - alt(( - Self::match_int_value, - Self::match_float_value, - Self::match_decimal_value, - Self::match_timestamp_value, - )) - }, - byte if byte.is_ascii_alphabetic() => { - alt(( - Self::match_null_value, - Self::match_bool_value, - Self::match_identifier_value, - Self::match_float_special_value, // nan - )) - }, - b'$' | b'_' => { - Self::match_symbol_value // identifiers and symbol IDs - }, - b'"' | b'\'' => { - alt(( - Self::match_string_value, - Self::match_symbol_value, - )) - }, - b'[' => Self::match_list_value_1_1, - b'(' => Self::match_sexp_value_1_1, - b'{' => { - alt(( - Self::match_blob_value, - Self::match_clob_value, - Self::match_struct_value_1_1, - )) - }, - b'+' => Self::match_float_special_value, // +inf - _other => { - // `other` is not a legal start-of-value byte. - |input: &mut TextBuffer<'top>| { - let error = InvalidInputError::new(*input); - Err(ErrMode::Backtrack(IonParseError::Invalid(error))) - } - }, - } - .with_taken() - .map(|(encoded_value, input)| LazyRawTextValue_1_1 { - encoded_value, - input, - }) - .parse_next(self) - } - - /// Matches a list. - /// - /// If the input does not contain the entire list, returns `IonError::Incomplete(_)`. - pub fn match_list(&mut self) -> IonParseResult<'top, &'top [LazyRawValueExpr<'top, TextEncoding_1_0>]> { - // If it doesn't start with [, it isn't a list. - if self.bytes().first() != Some(&b'[') { - let error = InvalidInputError::new(*self); - return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); - } - // Scan ahead to find the end of this list. - let list_body = self.slice_to_end(1); - let sequence_iter = RawTextListIterator_1_0::new(list_body); - let span = match sequence_iter.find_span() { - Ok(span) => span, - // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return self.incomplete("a list"), - // If invalid syntax was encountered, return a failure to prevent nom from trying - // other parser kinds. - Err(e) => { - return { - let error = InvalidInputError::new(*self) - .with_label("matching a list") - .with_description(format!("{}", e)); - Err(ErrMode::Cut(IonParseError::Invalid(error))) - } - } - }; - - self.consume(span.len()); - // TODO: Populate the nested expr cache, which isn't yet used in the 1.0 parser. - Ok(&[]) - } - - /// Matches an Ion v1.1 list, which allows e-expressions (macro invocations) to appear in value - /// position. - /// - /// If the input does not contain the entire list, returns `IonError::Incomplete(_)`. - // TODO: DRY with `match_list` - pub fn match_list_1_1( - &mut self, - ) -> IonParseResult< - 'top, - &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], - > { - // If it doesn't start with [, it isn't a list. - if self.bytes().first() != Some(&b'[') { - let error = InvalidInputError::new(*self); - return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); - } - // Scan ahead to find the end of this list. - let list_body = self.slice_to_end(1); - let sequence_iter = RawTextListIterator_1_1::new(list_body); - let (span, child_exprs) = match TextListSpanFinder_1_1::new( - self.context.allocator(), - sequence_iter, - ) - .find_span() - { - Ok((span, child_exprs)) => (span, child_exprs), - // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return self.incomplete("a v1.1 list"), - // If invalid syntax was encountered, return a failure to prevent nom from trying - // other parser kinds. - Err(e) => { - return { - let error = InvalidInputError::new(*self) - .with_label("matching a v1.1 list") - .with_description(format!("couldn't match span: {}", e)); - Err(ErrMode::Cut(IonParseError::Invalid(error))) - } - } - }; - - self.consume(span.len()); - Ok(child_exprs) - } - - // TODO: DRY with `match_sexp` - pub fn match_sexp_1_1( - &mut self, - ) -> IonParseResult< - 'top, - &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], - > { - if self.bytes().first() != Some(&b'(') { - let error = InvalidInputError::new(*self); - return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); - } - // Scan ahead to find the end of this sexp - let sexp_body = self.slice_to_end(1); - let sexp_iter = RawTextSExpIterator_1_1::new(sexp_body); - let (span, child_expr_cache) = - match TextSExpSpanFinder_1_1::new(self.context.allocator(), sexp_iter).find_span(1) { - Ok((span, child_expr_cache)) => (span, child_expr_cache), - // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return self.incomplete("a v1.1 s-expression"), - // If invalid syntax was encountered, return a failure to prevent nom from trying - // other parser kinds. - Err(e) => { - return { - let error = InvalidInputError::new(*self) - .with_label("matching a 1.1 sexp") - .with_description(format!("{}", e)); - Err(ErrMode::Cut(IonParseError::Invalid(error))) - } - } - }; - self.consume(span.len()); - Ok(child_expr_cache) - } - /// Matches a single value in a list OR the end of the list, allowing for leading whitespace /// and comments in either case. /// @@ -936,7 +717,7 @@ impl<'top> TextBuffer<'top> { "]".value(None), // ...or a value... terminated( - Self::match_annotated_value.map(Some), + Self::match_annotated_value::.map(Some), // ...followed by a comma or end-of-list Self::match_delimiter_after_list_value, ), @@ -960,7 +741,7 @@ impl<'top> TextBuffer<'top> { "]".value(None), // .map(|maybe_matched| maybe_matched.map(RawValueExpr::ValueLiteral)), terminated( - Self::match_annotated_value_1_1.map(Some), + Self::match_annotated_value::.map(Some), // ...followed by a comma or end-of-list Self::match_delimiter_after_list_value, ) @@ -979,108 +760,6 @@ impl<'top> TextBuffer<'top> { .parse_next(self) } - /// Matches an s-expression (sexp). - /// - /// If the input does not contain the entire s-expression, returns `IonError::Incomplete(_)`. - pub fn match_sexp(&mut self) -> IonParseResult<'top, &'top[LazyRawValueExpr<'top, TextEncoding_1_0>]> { - if self.bytes().first() != Some(&b'(') { - let error = InvalidInputError::new(*self); - return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); - } - // Scan ahead to find the end of this sexp - let sexp_body = self.slice_to_end(1); - let sexp_iter = RawTextSExpIterator_1_0::new(sexp_body); - let span = match sexp_iter.find_span(1) { - Ok(span) => span, - Err(IonError::Incomplete(_)) => return self.incomplete("an s-expression"), - // If invalid syntax was encountered, return a failure to prevent nom from trying - // other parser kinds. - Err(e) => { - return { - let error = InvalidInputError::new(*self) - .with_label("matching a sexp") - .with_description(format!("{}", e)); - Err(ErrMode::Cut(IonParseError::Invalid(error))) - } - } - }; - self.consume(span.len()); - // TODO: Populate the nested expr cache, which isn't yet used in the 1.0 parser. - Ok(&[]) - } - - /// Matches a struct. - /// - /// If the input does not contain the entire struct, returns `IonError::Incomplete(_)`. - pub fn match_struct(&mut self) -> IonParseResult<'top, &'top [LazyRawFieldExpr<'top, TextEncoding_1_0>]> { - // If it doesn't start with {, it isn't a struct. - if self.bytes().first() != Some(&b'{') { - let error = InvalidInputError::new(*self); - return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); - } - // Scan ahead to find the end of this struct. - let struct_body = self.slice_to_end(1); - let struct_iter = RawTextStructIterator_1_0::new(struct_body); - let span = match struct_iter.find_span() { - Ok(span) => span, - // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return self.incomplete("a struct"), - // If invalid syntax was encountered, return a failure to prevent nom from trying - // other parser kinds. - Err(e) => { - return { - let error = InvalidInputError::new(*self) - .with_label("matching a struct") - .with_description(format!("{}", e)); - Err(ErrMode::Cut(IonParseError::Invalid(error))) - } - } - }; - - self.consume(span.len()); - // TODO: Populate the nested expr cache, which isn't yet used in the 1.0 parser. - Ok(&[]) - } - - pub fn match_struct_1_1( - &mut self, - ) -> IonParseResult< - 'top, - &'top [LazyRawFieldExpr<'top, TextEncoding_1_1>], - > { - // If it doesn't start with {, it isn't a struct. - if self.bytes().first() != Some(&b'{') { - let error = InvalidInputError::new(*self); - return Err(ErrMode::Backtrack(IonParseError::Invalid(error))); - } - // Scan ahead to find the end of this struct. - let struct_body = self.slice_to_end(1); - let struct_iter = RawTextStructIterator_1_1::new(struct_body); - let (span, fields) = match TextStructSpanFinder_1_1::new( - self.context.allocator(), - struct_iter, - ) - .find_span() - { - Ok((span, fields)) => (span, fields), - // If the complete container isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => return self.incomplete("a v1.1 struct"), - // If invalid syntax was encountered, return a failure to prevent nom from trying - // other parser kinds. - Err(e) => { - return { - let error = InvalidInputError::new(*self) - .with_label("matching a v1.1 struct") - .with_description(format!("{}", e)); - Err(ErrMode::Cut(IonParseError::Invalid(error))) - } - } - }; - - self.consume(span.len()); - Ok(fields) - } - pub fn match_e_expression_arg_group( &mut self, parameter: &'top Parameter, @@ -1546,18 +1225,6 @@ impl<'top> TextBuffer<'top> { Self::match_clob => Clob => match_clob_value, ); - container_value_matchers_1_0!( - Self::match_list => List => match_list_value, - Self::match_sexp => SExp => match_sexp_value, - Self::match_struct => Struct => match_struct_value, - ); - - container_value_matchers_1_1!( - Self::match_list_1_1 => List => match_list_value_1_1, - Self::match_sexp_1_1 => SExp => match_sexp_value_1_1, - Self::match_struct_1_1 => Struct => match_struct_value_1_1, - ); - /// Matches a base-2 notation integer (e.g. `0b0`, `0B1010`, or `-0b0111`) and returns the /// partially parsed value as a [`MatchedInt`]. fn match_base_2_int(&mut self) -> IonParseResult<'top, MatchedInt> { @@ -2673,18 +2340,6 @@ where repeat::<_, _, (), _, _>(n, parser).take() } -/// Returns a parser that discards the output and instead reports the number of bytes that matched. -fn match_length<'data, P, O>( - parser: P, -) -> impl Parser, usize, IonParseError<'data>> -where - P: Parser, O, IonParseError<'data>>, -{ - parser - .with_span() - .map(|(_output, match_range)| match_range.len()) -} - #[cfg(test)] mod tests { use super::*; @@ -2695,6 +2350,18 @@ mod tests { use crate::{AnyEncoding, Reader}; use rstest::rstest; + /// Returns a parser that discards the output and instead reports the number of bytes that matched. + fn match_length<'data, P, O>( + parser: P, + ) -> impl Parser, usize, IonParseError<'data>> + where + P: Parser, O, IonParseError<'data>>, + { + parser + .with_span() + .map(|(_output, match_range)| match_range.len()) + } + /// Stores an input string that can be tested against a given parser. struct MatchTest { input: String, @@ -2781,59 +2448,36 @@ mod tests { Err(_) => {} } } - - fn expect_incomplete<'data, P, O>(&'data self, parser: P) - where - P: Parser, O, IonParseError<'data>>, - { - let result = self.try_match(parser); - - match result { - Ok(match_length) => { - assert_ne!( - match_length, - self.input.len(), - "parser unexpectedly matched the complete input: {:?}\nResult: {:?}", - self.input, - result - ); - } - Err(e) if e.is_incomplete() => {} - err => { - panic!( - "Parser reported an unexpected error for input: {}\nResult: {:?}", - self.input, err - ); - } - } - } } - /// A macro to concisely define basic test cases for matchers. Suitable when there are no type - /// annotations needed for the match function, and the input strings can be trimmed. + /// A macro to concisely define basic test cases for matchers. + /// Suitable when the input strings can be trimmed. macro_rules! matcher_tests { ($parser:ident $($expect:ident: [$($input:literal),+$(,)?]),+$(,)?) => { - mod $parser { + matcher_tests!($parser => TextBuffer::$parser, $($expect: [$($input),+]),+,); + }; + ($mod_name:ident => $parser:expr, $($expect:ident: [$($input:literal),+$(,)?]),+$(,)?) => { + mod $mod_name { use super::*; $( #[test] fn $expect() { - $(MatchTest::new_1_0($input.trim()).$expect(match_length(TextBuffer::$parser));) + $(MatchTest::new_1_0($input.trim()).$expect(match_length($parser) );) + } )+ } - }; + } } macro_rules! matcher_tests_with_macro { - ($mod_name:ident $parser:ident $macro_src:literal $($expect:ident: [$($input:literal),+$(,)?]),+$(,)?) => { + ($mod_name:ident => $parser:expr, $macro_src:literal $($expect:ident: [$($input:literal),+$(,)?]),+$(,)?) => { mod $mod_name { use super::*; $( #[test] fn $expect() { - $(MatchTest::new($input.trim()).register_macro($macro_src).$expect(match_length(TextBuffer::$parser));) + $(MatchTest::new($input.trim()).register_macro($macro_src).$expect(match_length($parser));) + } )+ @@ -3076,7 +2720,7 @@ mod tests { } matcher_tests! { - match_annotated_value + match_annotated_value => TextBuffer::match_annotated_value::, expect_match: [ "foo::5", "foo::bar::5", @@ -3109,7 +2753,7 @@ mod tests { } matcher_tests! { - match_sexp + match_sexp_1_0 => TextEncoding_1_0::sexp_matcher(), expect_match: [ "()", "(1)", @@ -3127,8 +2771,7 @@ mod tests { } matcher_tests_with_macro! { - parsing_sexps - match_sexp_1_1 + parsing_sexps => TextEncoding_1_1::sexp_matcher(), "(macro foo (x*) null)" expect_match: [ "()", @@ -3148,7 +2791,7 @@ mod tests { } matcher_tests! { - match_list + match_list_1_0 => TextEncoding_1_0::list_matcher(), expect_match: [ "[]", "[1]", "[1, 2]", "[[]]", "[([])]", ], @@ -3161,8 +2804,7 @@ mod tests { } matcher_tests_with_macro! { - parsing_lists - match_list_1_1 + match_list_1_1 => TextEncoding_1_1::list_matcher(), "(macro foo (x*) null)" expect_match: [ "[]", "[1]", "[1, 2]", "[[]]", "[([])]", "[1, (:foo 2 3)]" @@ -3174,8 +2816,7 @@ mod tests { } matcher_tests_with_macro! { - parsing_eexps - match_e_expression + parsing_eexps => TextBuffer::match_e_expression, "(macro foo (x*) null)" expect_match: [ "(:foo)", @@ -3205,8 +2846,7 @@ mod tests { } matcher_tests_with_macro! { - allow_omitting_trailing_optionals - match_e_expression + allow_omitting_trailing_optionals => TextBuffer::match_e_expression, "(macro foo (a b+ c? d*) null)" expect_match: [ "(:foo 1 2)", @@ -3340,6 +2980,7 @@ mod tests { ], } + #[test] fn test_match_text_until_unescaped_str() { let empty_context = EncodingContext::empty(); let context = empty_context.get_ref(); From 5b1b84e1a53cab4d517ebbad46fe1e1f9c4c9dc6 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Mon, 6 Jan 2025 16:28:30 -0500 Subject: [PATCH 18/32] fix for read_many_structs benchmark --- benches/read_many_structs.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/benches/read_many_structs.rs b/benches/read_many_structs.rs index 4d299a79..d446b3c8 100644 --- a/benches/read_many_structs.rs +++ b/benches/read_many_structs.rs @@ -48,7 +48,7 @@ fn maximally_compact_1_1_data(num_values: usize) -> TestData_1_1 { let text_1_1_data = r#"(:event 1670446800245 418 "6" "1" "abc123" (:: "region 4" "2022-12-07T20:59:59.744000Z"))"#.repeat(num_values); #[rustfmt::skip] - let mut binary_1_1_data: Vec = [MacroTable::FIRST_USER_MACRO_ID as u8, // Macro ID + let binary_1_1_data: Vec = [MacroTable::FIRST_USER_MACRO_ID as u8, // Macro ID 0b10, // [NOTE: `0b`] `parameters*` arg is an arg group 0x66, // 6-byte integer (`timestamp` param) 0x75, 0x5D, 0x63, 0xEE, 0x84, 0x01, @@ -72,7 +72,6 @@ fn maximally_compact_1_1_data(num_values: usize) -> TestData_1_1 { 0x39, 0x3A, 0x35, 0x39, 0x2E, 0x37, 0x34, 0x34, 0x30, 0x30, 0x30, 0x5A].repeat(num_values); - binary_1_1_data.append(&mut binary_1_1_data_body); TestData_1_1 { name: "maximally compact".to_owned(), template_definition_text, @@ -107,7 +106,7 @@ fn moderately_compact_1_1_data(num_values: usize) -> TestData_1_1 { let text_1_1_data = r#"(:event 1670446800245 418 "scheduler-thread-6" "example-client-1" "aws-us-east-5f-abc123" (:: "region 4" "2022-12-07T20:59:59.744000Z"))"#.repeat(num_values); #[rustfmt::skip] - let mut binary_1_1_data: Vec = [MacroTable::FIRST_USER_MACRO_ID as u8, // Macro ID + let binary_1_1_data: Vec = [MacroTable::FIRST_USER_MACRO_ID as u8, // Macro ID 0b10, // [NOTE: `0b` prefix] `parameters*` arg is an arg group 0x66, // 6-byte integer (`timestamp` param) 0x75, 0x5D, 0x63, 0xEE, 0x84, 0x01, @@ -140,7 +139,6 @@ fn moderately_compact_1_1_data(num_values: usize) -> TestData_1_1 { 0x2E, 0x37, 0x34, 0x34, 0x30, 0x30, 0x30, 0x5A].repeat(num_values); - binary_1_1_data.append(&mut binary_1_1_data_body); TestData_1_1 { name: "moderately compact".to_owned(), template_definition_text: template_definition_text.to_owned(), @@ -175,7 +173,7 @@ fn length_prefixed_moderately_compact_1_1_data(num_values: usize) -> TestData_1_ let text_1_1_data = r#"(:event 1670446800245 418 "scheduler-thread-6" "example-client-1" "aws-us-east-5f-abc123" (:: "region 4" "2022-12-07T20:59:59.744000Z"))"#.repeat(num_values); #[rustfmt::skip] - let mut binary_1_1_data: Vec = [0xF5, // LP invocation + let binary_1_1_data: Vec = [0xF5, // LP invocation ((MacroTable::FIRST_USER_MACRO_ID * 2) + 1) as u8, // Macro ID 0xDF, // Length prefix: FlexUInt 111 0b10, // [NOTE: `0b` prefix] `parameters*` arg is an arg group From aa27f6164c1c948c2f87a6b862f667544e46ba36 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 06:04:05 -0500 Subject: [PATCH 19/32] Makes raw text lists generic over Ion version --- src/lazy/any_encoding.rs | 42 ++++--- src/lazy/encoder/text/v1_1/writer.rs | 2 +- src/lazy/encoding.rs | 77 +++++++++++-- src/lazy/text/raw/sequence.rs | 115 ++++++++----------- src/lazy/text/raw/v1_1/reader.rs | 162 ++------------------------- 5 files changed, 145 insertions(+), 253 deletions(-) diff --git a/src/lazy/any_encoding.rs b/src/lazy/any_encoding.rs index 4e68426a..40d0dec0 100644 --- a/src/lazy/any_encoding.rs +++ b/src/lazy/any_encoding.rs @@ -46,23 +46,19 @@ use crate::lazy::text::raw::r#struct::{ LazyRawTextFieldName_1_0, LazyRawTextStruct_1_0, RawTextStructIterator_1_0, }; use crate::lazy::text::raw::reader::LazyRawTextReader_1_0; -use crate::lazy::text::raw::sequence::{ - LazyRawTextList_1_0, LazyRawTextSExp_1_0, RawTextListIterator_1_0, RawTextSExpIterator_1_0, -}; +use crate::lazy::text::raw::sequence::{LazyRawTextSExp_1_0, RawTextList, RawTextSExpIterator_1_0}; use crate::lazy::text::raw::v1_1::arg_group::{ EExpArg, EExpArgExpr, TextEExpArgGroup, TextEExpArgGroupIterator, }; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, LazyRawTextList_1_1, LazyRawTextReader_1_1, LazyRawTextSExp_1_1, - LazyRawTextStruct_1_1, MacroIdRef, RawTextSequenceCacheIterator_1_1, - RawTextStructCacheIterator_1_1, TextEExpression_1_1, + LazyRawTextFieldName_1_1, LazyRawTextReader_1_1, LazyRawTextSExp_1_1, LazyRawTextStruct_1_1, + MacroIdRef, RawTextSequenceCacheIterator, RawTextStructCacheIterator_1_1, TextEExpression_1_1, }; use crate::lazy::text::value::{ LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker_1_0, LazyRawTextVersionMarker_1_1, RawTextAnnotationsIterator, }; use crate::symbol_table::{SystemSymbolTable, SYSTEM_SYMBOLS_1_0, SYSTEM_SYMBOLS_1_1}; -use crate::LazyRawValueKind::{Binary_1_0, Binary_1_1, Text_1_0, Text_1_1}; use crate::{try_next, Encoding, IonResult, IonType, RawStreamItem, RawSymbolRef}; use std::fmt::Debug; use std::ops::Range; @@ -1043,6 +1039,7 @@ impl<'top> LazyRawValue<'top, AnyEncoding> for LazyRawAnyValue<'top> { } fn is_delimited(&self) -> bool { + use LazyRawValueKind::*; match &self.encoding { Text_1_0(v) => v.is_delimited(), Binary_1_0(v) => v.is_delimited(), @@ -1161,25 +1158,26 @@ impl<'top> LazyRawAnyList<'top> { #[derive(Debug, Copy, Clone)] pub enum LazyRawListKind<'top> { - Text_1_0(LazyRawTextList_1_0<'top>), + Text_1_0(RawTextList<'top, TextEncoding_1_0>), Binary_1_0(LazyRawBinaryList_1_0<'top>), - Text_1_1(LazyRawTextList_1_1<'top>), + Text_1_1(RawTextList<'top, TextEncoding_1_1>), Binary_1_1(LazyRawBinaryList_1_1<'top>), } impl<'top> LazyContainerPrivate<'top, AnyEncoding> for LazyRawAnyList<'top> { fn from_value(value: LazyRawAnyValue<'top>) -> Self { + use LazyRawValueKind::*; match value.encoding { - LazyRawValueKind::Text_1_0(v) => LazyRawAnyList { - encoding: LazyRawListKind::Text_1_0(LazyRawTextList_1_0::from_value(v)), + Text_1_0(v) => LazyRawAnyList { + encoding: LazyRawListKind::Text_1_0(RawTextList::from_value(v)), }, - LazyRawValueKind::Binary_1_0(v) => LazyRawAnyList { + Binary_1_0(v) => LazyRawAnyList { encoding: LazyRawListKind::Binary_1_0(LazyRawBinaryList_1_0::from_value(v)), }, - LazyRawValueKind::Text_1_1(v) => LazyRawAnyList { - encoding: LazyRawListKind::Text_1_1(LazyRawTextList_1_1::from_value(v)), + Text_1_1(v) => LazyRawAnyList { + encoding: LazyRawListKind::Text_1_1(RawTextList::from_value(v)), }, - LazyRawValueKind::Binary_1_1(v) => LazyRawAnyList { + Binary_1_1(v) => LazyRawAnyList { encoding: LazyRawListKind::Binary_1_1(LazyRawBinaryList_1_1::from_value(v)), }, } @@ -1193,9 +1191,9 @@ pub struct RawAnyListIterator<'data> { #[derive(Debug, Copy, Clone)] pub enum RawAnyListIteratorKind<'data> { - Text_1_0(RawTextListIterator_1_0<'data>), + Text_1_0(RawTextSequenceCacheIterator<'data, TextEncoding_1_0>), Binary_1_0(RawBinarySequenceIterator_1_0<'data>), - Text_1_1(RawTextSequenceCacheIterator_1_1<'data>), + Text_1_1(RawTextSequenceCacheIterator<'data, TextEncoding_1_1>), Binary_1_1(RawBinarySequenceIterator_1_1<'data>), } @@ -1265,8 +1263,8 @@ impl<'top> LazyRawSequence<'top, AnyEncoding> for LazyRawAnyList<'top> { } } -impl<'data> From> for LazyRawAnyList<'data> { - fn from(value: LazyRawTextList_1_0<'data>) -> Self { +impl<'data> From> for LazyRawAnyList<'data> { + fn from(value: RawTextList<'data, TextEncoding_1_0>) -> Self { LazyRawAnyList { encoding: LazyRawListKind::Text_1_0(value), } @@ -1281,8 +1279,8 @@ impl<'data> From> for LazyRawAnyList<'data> { } } -impl<'data> From> for LazyRawAnyList<'data> { - fn from(value: LazyRawTextList_1_1<'data>) -> Self { +impl<'data> From> for LazyRawAnyList<'data> { + fn from(value: RawTextList<'data, TextEncoding_1_1>) -> Self { LazyRawAnyList { encoding: LazyRawListKind::Text_1_1(value), } @@ -1358,7 +1356,7 @@ pub struct RawAnySExpIterator<'data> { pub enum RawAnySExpIteratorKind<'data> { Text_1_0(RawTextSExpIterator_1_0<'data>), Binary_1_0(RawBinarySequenceIterator_1_0<'data>), - Text_1_1(RawTextSequenceCacheIterator_1_1<'data>), + Text_1_1(RawTextSequenceCacheIterator<'data, TextEncoding_1_1>), Binary_1_1(RawBinarySequenceIterator_1_1<'data>), } diff --git a/src/lazy/encoder/text/v1_1/writer.rs b/src/lazy/encoder/text/v1_1/writer.rs index ad0967d3..a341cd94 100644 --- a/src/lazy/encoder/text/v1_1/writer.rs +++ b/src/lazy/encoder/text/v1_1/writer.rs @@ -112,7 +112,7 @@ impl LazyRawWriter for LazyRawTextWriter_1_1 { #[cfg(test)] mod tests { use crate::lazy::any_encoding::IonVersion; - use crate::lazy::decoder::{LazyRawReader, LazyRawSequence, LazyRawValue}; + use crate::lazy::decoder::{LazyRawReader, LazyRawValue}; use crate::lazy::encoder::text::v1_1::writer::LazyRawTextWriter_1_1; use crate::lazy::encoder::value_writer::{SequenceWriter, StructWriter, ValueWriter}; use crate::lazy::encoder::write_as_ion::WriteAsSExp; diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index 2c727dde..570e94ea 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -16,7 +16,7 @@ use crate::lazy::binary::raw::v1_1::{ RawBinaryAnnotationsIterator_1_1, }; use crate::lazy::binary::raw::value::{LazyRawBinaryValue_1_0, LazyRawBinaryVersionMarker_1_0}; -use crate::lazy::decoder::Decoder; +use crate::lazy::decoder::{Decoder, LazyRawValueExpr, RawValueExpr}; use crate::lazy::encoder::write_as_ion::WriteAsIon; use crate::lazy::encoder::Encoder; use crate::lazy::never::Never; @@ -29,12 +29,11 @@ use crate::lazy::text::raw::r#struct::{ }; use crate::lazy::text::raw::reader::LazyRawTextReader_1_0; use crate::lazy::text::raw::sequence::{ - LazyRawTextList_1_0, LazyRawTextSExp_1_0, RawTextListIterator_1_0, RawTextSExpIterator_1_0, + LazyRawTextSExp_1_0, RawTextList, RawTextListIterator, RawTextSExpIterator_1_0, }; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, LazyRawTextList_1_1, LazyRawTextReader_1_1, LazyRawTextSExp_1_1, - LazyRawTextStruct_1_1, RawTextListIterator_1_1, RawTextSExpIterator_1_1, - RawTextStructIterator_1_1, TextEExpression_1_1, + LazyRawTextFieldName_1_1, LazyRawTextReader_1_1, LazyRawTextSExp_1_1, LazyRawTextStruct_1_1, + RawTextSExpIterator_1_1, RawTextStructIterator_1_1, TextEExpression_1_1, }; use crate::lazy::text::value::{ LazyRawTextValue, LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker_1_0, @@ -42,11 +41,11 @@ use crate::lazy::text::value::{ }; use crate::{ AnnotationsEncoding, ContainerEncoding, FieldNameEncoding, HasRange, IonError, IonResult, - SymbolValueEncoding, TextFormat, ValueWriterConfig, WriteConfig, + LazyRawFieldExpr, SymbolValueEncoding, TextFormat, ValueWriterConfig, WriteConfig, }; use std::fmt::Debug; use std::io; -use winnow::combinator::opt; +use winnow::combinator::{alt, opt, separated_pair}; use winnow::Parser; /// Marker trait for types that represent an Ion encoding. @@ -260,9 +259,15 @@ pub trait TextEncoding<'top>: input: TextBuffer<'top>, encoded_text_value: EncodedTextValue<'top, Self>, ) -> Self::Value<'top>; + + fn value_expr_matcher() -> impl IonParser<'top, LazyRawValueExpr<'top, Self>>; + + fn field_expr_matcher() -> impl IonParser<'top, LazyRawFieldExpr<'top, Self>>; + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; + fn container_matcher( label: &'static str, mut make_iterator: MakeIterator, @@ -306,6 +311,7 @@ pub trait TextEncoding<'top>: } } } + impl<'top> TextEncoding<'top> for TextEncoding_1_0 { fn new_value( input: TextBuffer<'top>, @@ -314,8 +320,24 @@ impl<'top> TextEncoding<'top> for TextEncoding_1_0 { LazyRawTextValue_1_0::new(input, encoded_text_value) } + fn value_expr_matcher() -> impl IonParser<'top, LazyRawValueExpr<'top, Self>> { + TextBuffer::match_annotated_value::.map(RawValueExpr::ValueLiteral) + } + + fn field_expr_matcher() -> impl IonParser<'top, LazyRawFieldExpr<'top, Self>> { + // A (name, eexp) pair + separated_pair( + whitespace_and_then(TextBuffer::match_struct_field_name), + whitespace_and_then(":"), + whitespace_and_then(TextBuffer::match_annotated_value::), + ) + .map(|(field_name, invocation)| { + LazyRawFieldExpr::NameValue(LazyRawTextFieldName_1_0::new(field_name), invocation) + }) + } + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { - let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator_1_0::new(buffer); + let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator::::new(buffer); let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); Self::container_matcher("a v1.0 list", make_iter, end_matcher) .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::List(nested_expr_cache))) @@ -343,8 +365,41 @@ impl<'top> TextEncoding<'top> for TextEncoding_1_1 { LazyRawTextValue_1_1::new(input, encoded_text_value) } + fn value_expr_matcher() -> impl IonParser<'top, LazyRawValueExpr<'top, Self>> { + alt(( + TextBuffer::match_e_expression.map(RawValueExpr::EExp), + TextBuffer::match_annotated_value::.map(RawValueExpr::ValueLiteral), + )) + } + + fn field_expr_matcher() -> impl IonParser<'top, LazyRawFieldExpr<'top, Self>> { + alt(( + // An e-expression + TextBuffer::match_e_expression.map(|eexp| LazyRawFieldExpr::EExp(eexp)), + // A (name, eexp) pair + separated_pair( + whitespace_and_then(TextBuffer::match_struct_field_name), + whitespace_and_then(":"), + whitespace_and_then(TextBuffer::match_e_expression), + ) + .map(|(field_name, invocation)| { + LazyRawFieldExpr::NameEExp(LazyRawTextFieldName_1_1::new(field_name), invocation) + }), + // A (name, value) pair + separated_pair( + whitespace_and_then(TextBuffer::match_struct_field_name), + whitespace_and_then(":"), + whitespace_and_then(TextBuffer::match_annotated_value::), + ) + .map(move |(field_name, value)| { + let field_name = LazyRawTextFieldName_1_1::new(field_name); + LazyRawFieldExpr::NameValue(field_name, value) + }), + )) + } + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { - let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator_1_1::new(buffer); + let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator::::new(buffer); let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); Self::container_matcher("a v1.1 list", make_iter, end_matcher) .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::List(nested_expr_cache))) @@ -388,7 +443,7 @@ impl Decoder for TextEncoding_1_0 { type Reader<'data> = LazyRawTextReader_1_0<'data>; type Value<'top> = LazyRawTextValue_1_0<'top>; type SExp<'top> = LazyRawTextSExp_1_0<'top>; - type List<'top> = LazyRawTextList_1_0<'top>; + type List<'top> = RawTextList<'top, Self>; type Struct<'top> = LazyRawTextStruct_1_0<'top>; type FieldName<'top> = LazyRawTextFieldName_1_0<'top>; type AnnotationsIterator<'top> = RawTextAnnotationsIterator<'top>; @@ -402,7 +457,7 @@ impl Decoder for TextEncoding_1_1 { type Reader<'data> = LazyRawTextReader_1_1<'data>; type Value<'top> = LazyRawTextValue_1_1<'top>; type SExp<'top> = LazyRawTextSExp_1_1<'top>; - type List<'top> = LazyRawTextList_1_1<'top>; + type List<'top> = RawTextList<'top, Self>; type Struct<'top> = LazyRawTextStruct_1_1<'top>; type FieldName<'top> = LazyRawTextFieldName_1_1<'top>; type AnnotationsIterator<'top> = RawTextAnnotationsIterator<'top>; diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index 2510d2bd..3613c8ea 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -2,8 +2,9 @@ use std::fmt; use std::fmt::{Debug, Formatter}; +use std::marker::PhantomData; use std::ops::Range; -use winnow::combinator::opt; +use winnow::combinator::{alt, peek, terminated}; use winnow::token::one_of; use winnow::Parser; @@ -11,46 +12,49 @@ use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ Decoder, LazyRawContainer, LazyRawSequence, LazyRawValue, LazyRawValueExpr, RawValueExpr, }; -use crate::lazy::encoding::TextEncoding_1_0; -use crate::lazy::text::buffer::TextBuffer; +use crate::lazy::encoding::{TextEncoding, TextEncoding_1_0}; +use crate::lazy::text::buffer::{whitespace_and_then, TextBuffer}; +use crate::lazy::text::matched::MatchedValue; use crate::lazy::text::parse_result::AddContext; -use crate::lazy::text::value::{LazyRawTextValue_1_0, RawTextAnnotationsIterator}; +use crate::lazy::text::raw::v1_1::reader::RawTextSequenceCacheIterator; +use crate::lazy::text::value::{ + LazyRawTextValue, LazyRawTextValue_1_0, RawTextAnnotationsIterator, +}; use crate::{IonResult, IonType}; - // ===== Lists ===== #[derive(Copy, Clone)] -pub struct LazyRawTextList_1_0<'data> { - pub(crate) value: LazyRawTextValue_1_0<'data>, +pub struct RawTextList<'data, E: TextEncoding<'data>> { + pub(crate) value: LazyRawTextValue<'data, E>, } -impl<'data> LazyRawTextList_1_0<'data> { +impl<'data, E: TextEncoding<'data>> RawTextList<'data, E> { pub fn ion_type(&self) -> IonType { IonType::List } - pub fn iter(&self) -> RawTextListIterator_1_0<'data> { - // Skip past any annotations and the opening '[' - let list_contents_start = self.value.encoded_value.data_offset() + 1; - // Make an iterator over the input bytes that follow the initial `[` - RawTextListIterator_1_0::new(self.value.input.slice_to_end(list_contents_start)) + pub fn iter(&self) -> RawTextSequenceCacheIterator<'data, E> { + let MatchedValue::List(child_exprs) = self.value.encoded_value.matched() else { + unreachable!("list contained a matched value of the wrong type") + }; + RawTextSequenceCacheIterator::new(child_exprs) } } -impl<'data> LazyContainerPrivate<'data, TextEncoding_1_0> for LazyRawTextList_1_0<'data> { - fn from_value(value: LazyRawTextValue_1_0<'data>) -> Self { - LazyRawTextList_1_0 { value } +impl<'data, E: TextEncoding<'data>> LazyContainerPrivate<'data, E> for RawTextList<'data, E> { + fn from_value(value: LazyRawTextValue<'data, E>) -> Self { + RawTextList { value } } } -impl<'data> LazyRawContainer<'data, TextEncoding_1_0> for LazyRawTextList_1_0<'data> { - fn as_value(&self) -> ::Value<'data> { +impl<'data, E: TextEncoding<'data>> LazyRawContainer<'data, E> for RawTextList<'data, E> { + fn as_value(&self) -> ::Value<'data> { self.value } } -impl<'data> LazyRawSequence<'data, TextEncoding_1_0> for LazyRawTextList_1_0<'data> { - type Iterator = RawTextListIterator_1_0<'data>; +impl<'data, E: TextEncoding<'data>> LazyRawSequence<'data, E> for RawTextList<'data, E> { + type Iterator = RawTextSequenceCacheIterator<'data, E>; fn annotations(&self) -> RawTextAnnotationsIterator<'data> { self.value.annotations() @@ -61,20 +65,20 @@ impl<'data> LazyRawSequence<'data, TextEncoding_1_0> for LazyRawTextList_1_0<'da } fn iter(&self) -> Self::Iterator { - LazyRawTextList_1_0::iter(self) + Self::iter(self) } } -impl<'data> IntoIterator for &LazyRawTextList_1_0<'data> { - type Item = IonResult>; - type IntoIter = RawTextListIterator_1_0<'data>; +impl<'data, E: TextEncoding<'data>> IntoIterator for &RawTextList<'data, E> { + type Item = IonResult>; + type IntoIter = RawTextSequenceCacheIterator<'data, E>; fn into_iter(self) -> Self::IntoIter { self.iter() } } -impl Debug for LazyRawTextList_1_0<'_> { +impl<'data, E: TextEncoding<'data>> Debug for RawTextList<'data, E> { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { write!(f, "[")?; for value in self { @@ -87,62 +91,41 @@ impl Debug for LazyRawTextList_1_0<'_> { } #[derive(Copy, Clone, Debug)] -pub struct RawTextListIterator_1_0<'data> { +pub struct RawTextListIterator<'data, E: TextEncoding<'data>> { input: TextBuffer<'data>, - // If this iterator has returned an error, it should return `None` forever afterwards has_returned_error: bool, + spooky: PhantomData, } -impl<'data> RawTextListIterator_1_0<'data> { - pub(crate) fn new(input: TextBuffer<'data>) -> RawTextListIterator_1_0<'data> { - RawTextListIterator_1_0 { +impl<'data, E: TextEncoding<'data>> RawTextListIterator<'data, E> { + pub(crate) fn new(input: TextBuffer<'data>) -> RawTextListIterator<'data, E> { + RawTextListIterator { input, has_returned_error: false, + spooky: PhantomData, } } } -impl RawTextListIterator_1_0<'_> { - pub(crate) fn find_span(&self) -> IonResult> { - // The input has already skipped past the opening delimiter. - let start = self.input.offset() - 1; - // We need to find the input slice containing the closing delimiter. It's either... - let mut input = if let Some(value_result) = self.last() { - let value = value_result?.expect_value()?; - // ...the input slice that follows the last sequence value... - self.input - .slice_to_end(value.input.offset() + value.total_length() - self.input.offset()) - } else { - // ...or there aren't values, so it's just the input after the opening delimiter. - self.input - }; - let _ws = input - .match_optional_comments_and_whitespace() - .with_context("seeking the end of a list", input)?; - // Skip an optional comma and more whitespace - let _ = (opt(","), TextBuffer::match_optional_comments_and_whitespace) - .parse_next(&mut input) - .with_context("skipping a list's trailing comma", input)?; - let _end_delimiter = one_of(|c| c == b']') - .parse_next(&mut input) - .with_context("seeking the closing delimiter of a list", input)?; - let end = input.offset(); - Ok(start..end) - } -} - -impl<'data> Iterator for RawTextListIterator_1_0<'data> { - type Item = IonResult>; +impl<'data, E: TextEncoding<'data>> Iterator for RawTextListIterator<'data, E> { + type Item = IonResult>; fn next(&mut self) -> Option { if self.has_returned_error { return None; } - match self.input.match_list_item() { - Ok(Some(value)) => { - let value = RawValueExpr::ValueLiteral(LazyRawTextValue_1_0::from(value)); - Some(Ok(value)) - } + let result = whitespace_and_then(alt(( + "]".value(None), + terminated( + E::value_expr_matcher(), + whitespace_and_then(alt((",", peek("]")))), + ) + .map(Some), + ))) + .parse_next(&mut self.input); + + match result { + Ok(Some(value_expr)) => Some(Ok(value_expr)), Ok(None) => { // Don't update `remaining` so subsequent calls will continue to return None None diff --git a/src/lazy/text/raw/v1_1/reader.rs b/src/lazy/text/raw/v1_1/reader.rs index 7dec5226..5e374d4f 100644 --- a/src/lazy/text/raw/v1_1/reader.rs +++ b/src/lazy/text/raw/v1_1/reader.rs @@ -10,7 +10,7 @@ use crate::lazy::decoder::{ Decoder, HasRange, HasSpan, LazyRawContainer, LazyRawFieldExpr, LazyRawFieldName, LazyRawReader, LazyRawSequence, LazyRawStruct, LazyRawValue, LazyRawValueExpr, }; -use crate::lazy::encoding::TextEncoding_1_1; +use crate::lazy::encoding::{TextEncoding, TextEncoding_1_1}; use crate::lazy::expanded::macro_evaluator::RawEExpression; use crate::lazy::expanded::macro_table::ION_1_1_SYSTEM_MACROS; use crate::lazy::expanded::EncodingContextRef; @@ -272,95 +272,6 @@ impl EncodedTextMacroInvocation { } } -#[derive(Copy, Clone)] -pub struct LazyRawTextList_1_1<'top> { - pub(crate) value: LazyRawTextValue_1_1<'top>, -} - -impl Debug for LazyRawTextList_1_1<'_> { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - write!(f, "[")?; - for value in self.iter() { - write!(f, "{:?}, ", value?.expect_value()?.read()?)?; - } - write!(f, "]").unwrap(); - - Ok(()) - } -} - -#[derive(Debug, Copy, Clone)] -pub struct RawTextListIterator_1_1<'top> { - input: TextBuffer<'top>, - // If this iterator has returned an error, it should return `None` forever afterward - has_returned_error: bool, -} - -impl<'top> RawTextListIterator_1_1<'top> { - pub(crate) fn new(input: TextBuffer<'top>) -> Self { - Self { - input, - has_returned_error: false, - } - } -} - -/// Wraps a [`RawTextListIterator_1_1`] (which parses the body of a list) and caches the child -/// expressions the iterator yields along the way. Finally, returns a `Range` representing -/// the span of input bytes that the list occupies. -pub(crate) struct TextListSpanFinder_1_1<'top> { - pub(crate) allocator: &'top bumpalo::Bump, - pub(crate) iterator: RawTextListIterator_1_1<'top>, -} - -impl<'top> TextListSpanFinder_1_1<'top> { - pub(crate) fn find_span( - &self, - ) -> IonResult<( - Range, - &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], - )> { - // The input has already skipped past the opening delimiter. - let start = self.iterator.input.offset() - 1; - let mut child_expr_cache = BumpVec::new_in(self.allocator); - for expr_result in self.iterator { - let expr = expr_result?; - child_expr_cache.push(expr); - } - - let end = child_expr_cache - .last() - .map(|e| e.range().end) - .unwrap_or(self.iterator.input.offset()); - let mut input = self - .iterator - .input - .slice_to_end(end - self.iterator.input.offset()); - - let _ws = input - .match_optional_comments_and_whitespace() - .with_context("seeking the end of a list", input)?; - - // Skip an optional comma and more whitespace - let _ = (opt(","), TextBuffer::match_optional_comments_and_whitespace) - .parse_next(&mut input) - .with_context("skipping a v1.1 list item's trailing comma", input)?; - let _end_delimiter = one_of(|c: u8| c == b']') - .parse_next(&mut input) - .with_context("seeking the closing delimiter of a list", input)?; - let end = input.offset(); - - let span = start..end; - Ok((span, child_expr_cache.into_bump_slice())) - } - pub fn new(allocator: &'top bumpalo::Bump, iterator: RawTextListIterator_1_1<'top>) -> Self { - Self { - allocator, - iterator, - } - } -} - #[derive(Copy, Clone)] pub struct LazyRawTextSExp_1_1<'top> { pub(crate) value: LazyRawTextValue_1_1<'top>, @@ -395,13 +306,13 @@ impl<'top> RawTextSExpIterator_1_1<'top> { } #[derive(Debug, Copy, Clone)] -pub struct RawTextSequenceCacheIterator_1_1<'top> { - child_exprs: &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], +pub struct RawTextSequenceCacheIterator<'top, E: TextEncoding<'top>> { + child_exprs: &'top [LazyRawValueExpr<'top, E>], index: usize, } -impl<'top> RawTextSequenceCacheIterator_1_1<'top> { - pub fn new(child_exprs: &'top [LazyRawValueExpr<'top, TextEncoding_1_1>]) -> Self { +impl<'top, E: TextEncoding<'top>> RawTextSequenceCacheIterator<'top, E> { + pub fn new(child_exprs: &'top [LazyRawValueExpr<'top, E>]) -> Self { Self { child_exprs, index: 0, @@ -409,8 +320,8 @@ impl<'top> RawTextSequenceCacheIterator_1_1<'top> { } } -impl<'top> Iterator for RawTextSequenceCacheIterator_1_1<'top> { - type Item = IonResult>; +impl<'top, E: TextEncoding<'top>> Iterator for RawTextSequenceCacheIterator<'top, E> { + type Item = IonResult>; fn next(&mut self) -> Option { let next_expr = self.child_exprs.get(self.index)?; @@ -525,7 +436,7 @@ impl<'top> LazyRawContainer<'top, TextEncoding_1_1> for LazyRawTextSExp_1_1<'top } impl<'top> LazyRawSequence<'top, TextEncoding_1_1> for LazyRawTextSExp_1_1<'top> { - type Iterator = RawTextSequenceCacheIterator_1_1<'top>; + type Iterator = RawTextSequenceCacheIterator<'top, TextEncoding_1_1>; fn annotations(&self) -> RawTextAnnotationsIterator<'top> { self.value.annotations() @@ -539,7 +450,7 @@ impl<'top> LazyRawSequence<'top, TextEncoding_1_1> for LazyRawTextSExp_1_1<'top> let MatchedValue::SExp(child_exprs) = self.value.encoded_value.matched() else { unreachable!("s-expression contained a matched value of the wrong type") }; - RawTextSequenceCacheIterator_1_1::new(child_exprs) + RawTextSequenceCacheIterator::new(child_exprs) } } @@ -661,61 +572,6 @@ impl<'top> Iterator for RawTextStructCacheIterator_1_1<'top> { } } -// ===== Trait implementations ===== - -impl<'top> LazyContainerPrivate<'top, TextEncoding_1_1> for LazyRawTextList_1_1<'top> { - fn from_value(value: LazyRawTextValue_1_1<'top>) -> Self { - LazyRawTextList_1_1 { value } - } -} - -impl<'top> LazyRawContainer<'top, TextEncoding_1_1> for LazyRawTextList_1_1<'top> { - fn as_value(&self) -> LazyRawTextValue_1_1<'top> { - self.value - } -} - -impl<'top> LazyRawSequence<'top, TextEncoding_1_1> for LazyRawTextList_1_1<'top> { - type Iterator = RawTextSequenceCacheIterator_1_1<'top>; - - fn annotations(&self) -> RawTextAnnotationsIterator<'top> { - self.value.annotations() - } - - fn ion_type(&self) -> IonType { - self.value.ion_type() - } - - fn iter(&self) -> Self::Iterator { - let MatchedValue::List(child_exprs) = self.value.encoded_value.matched() else { - unreachable!("list contained a matched value of the wrong type") - }; - RawTextSequenceCacheIterator_1_1::new(child_exprs) - } -} - -impl<'top> Iterator for RawTextListIterator_1_1<'top> { - type Item = IonResult>; - - fn next(&mut self) -> Option { - if self.has_returned_error { - return None; - } - match self.input.match_list_item_1_1() { - Ok(Some(value_expr)) => Some(Ok(value_expr)), - Ok(None) => { - // Don't update `remaining` so subsequent calls will continue to return None - None - } - Err(e) => { - self.has_returned_error = true; - e.with_context("reading the next list value", self.input) - .transpose() - } - } - } -} - impl<'top> LazyContainerPrivate<'top, TextEncoding_1_1> for LazyRawTextStruct_1_1<'top> { fn from_value(value: LazyRawTextValue_1_1<'top>) -> Self { LazyRawTextStruct_1_1 { value } From 6016bf304871207e582d988d5039c466c0fe0818 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 11:17:45 -0500 Subject: [PATCH 20/32] Maker raw sexps generic over Ion version --- src/lazy/any_encoding.rs | 24 ++--- src/lazy/encoding.rs | 73 ++++++--------- src/lazy/text/buffer.rs | 67 ++++---------- src/lazy/text/raw/sequence.rs | 137 ++++++++++++++-------------- src/lazy/text/raw/v1_1/reader.rs | 151 +------------------------------ 5 files changed, 130 insertions(+), 322 deletions(-) diff --git a/src/lazy/any_encoding.rs b/src/lazy/any_encoding.rs index 40d0dec0..6a66dee6 100644 --- a/src/lazy/any_encoding.rs +++ b/src/lazy/any_encoding.rs @@ -46,13 +46,13 @@ use crate::lazy::text::raw::r#struct::{ LazyRawTextFieldName_1_0, LazyRawTextStruct_1_0, RawTextStructIterator_1_0, }; use crate::lazy::text::raw::reader::LazyRawTextReader_1_0; -use crate::lazy::text::raw::sequence::{LazyRawTextSExp_1_0, RawTextList, RawTextSExpIterator_1_0}; +use crate::lazy::text::raw::sequence::{RawTextList, RawTextSExp}; use crate::lazy::text::raw::v1_1::arg_group::{ EExpArg, EExpArgExpr, TextEExpArgGroup, TextEExpArgGroupIterator, }; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, LazyRawTextReader_1_1, LazyRawTextSExp_1_1, LazyRawTextStruct_1_1, - MacroIdRef, RawTextSequenceCacheIterator, RawTextStructCacheIterator_1_1, TextEExpression_1_1, + LazyRawTextFieldName_1_1, LazyRawTextReader_1_1, LazyRawTextStruct_1_1, MacroIdRef, + RawTextSequenceCacheIterator, RawTextStructCacheIterator_1_1, TextEExpression_1_1, }; use crate::lazy::text::value::{ LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker_1_0, @@ -1310,9 +1310,9 @@ impl<'top> LazyRawAnySExp<'top> { #[derive(Debug, Copy, Clone)] pub enum LazyRawSExpKind<'data> { - Text_1_0(LazyRawTextSExp_1_0<'data>), + Text_1_0(RawTextSExp<'data, TextEncoding_1_0>), Binary_1_0(LazyRawBinarySExp_1_0<'data>), - Text_1_1(LazyRawTextSExp_1_1<'data>), + Text_1_1(RawTextSExp<'data, TextEncoding_1_1>), Binary_1_1(LazyRawBinarySExp_1_1<'data>), } @@ -1332,13 +1332,13 @@ impl<'data> LazyContainerPrivate<'data, AnyEncoding> for LazyRawAnySExp<'data> { fn from_value(value: LazyRawAnyValue<'data>) -> Self { match value.encoding { LazyRawValueKind::Text_1_0(v) => LazyRawAnySExp { - encoding: LazyRawSExpKind::Text_1_0(LazyRawTextSExp_1_0::from_value(v)), + encoding: LazyRawSExpKind::Text_1_0(RawTextSExp::from_value(v)), }, LazyRawValueKind::Binary_1_0(v) => LazyRawAnySExp { encoding: LazyRawSExpKind::Binary_1_0(LazyRawBinarySExp_1_0::from_value(v)), }, LazyRawValueKind::Text_1_1(v) => LazyRawAnySExp { - encoding: LazyRawSExpKind::Text_1_1(LazyRawTextSExp_1_1::from_value(v)), + encoding: LazyRawSExpKind::Text_1_1(RawTextSExp::from_value(v)), }, LazyRawValueKind::Binary_1_1(v) => LazyRawAnySExp { encoding: LazyRawSExpKind::Binary_1_1(LazyRawBinarySExp_1_1::from_value(v)), @@ -1354,7 +1354,7 @@ pub struct RawAnySExpIterator<'data> { #[derive(Debug, Copy, Clone)] pub enum RawAnySExpIteratorKind<'data> { - Text_1_0(RawTextSExpIterator_1_0<'data>), + Text_1_0(RawTextSequenceCacheIterator<'data, TextEncoding_1_0>), Binary_1_0(RawBinarySequenceIterator_1_0<'data>), Text_1_1(RawTextSequenceCacheIterator<'data, TextEncoding_1_1>), Binary_1_1(RawBinarySequenceIterator_1_1<'data>), @@ -1415,8 +1415,8 @@ impl<'top> LazyRawSequence<'top, AnyEncoding> for LazyRawAnySExp<'top> { } } -impl<'data> From> for LazyRawAnySExp<'data> { - fn from(value: LazyRawTextSExp_1_0<'data>) -> Self { +impl<'data> From> for LazyRawAnySExp<'data> { + fn from(value: RawTextSExp<'data, TextEncoding_1_0>) -> Self { LazyRawAnySExp { encoding: LazyRawSExpKind::Text_1_0(value), } @@ -1431,8 +1431,8 @@ impl<'data> From> for LazyRawAnySExp<'data> { } } -impl<'data> From> for LazyRawAnySExp<'data> { - fn from(value: LazyRawTextSExp_1_1<'data>) -> Self { +impl<'data> From> for LazyRawAnySExp<'data> { + fn from(value: RawTextSExp<'data, TextEncoding_1_1>) -> Self { LazyRawAnySExp { encoding: LazyRawSExpKind::Text_1_1(value), } diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index 570e94ea..15433c5a 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -29,11 +29,11 @@ use crate::lazy::text::raw::r#struct::{ }; use crate::lazy::text::raw::reader::LazyRawTextReader_1_0; use crate::lazy::text::raw::sequence::{ - LazyRawTextSExp_1_0, RawTextList, RawTextListIterator, RawTextSExpIterator_1_0, + RawTextList, RawTextListIterator, RawTextSExp, RawTextSExpIterator, }; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, LazyRawTextReader_1_1, LazyRawTextSExp_1_1, LazyRawTextStruct_1_1, - RawTextSExpIterator_1_1, RawTextStructIterator_1_1, TextEExpression_1_1, + LazyRawTextFieldName_1_1, LazyRawTextReader_1_1, LazyRawTextStruct_1_1, + RawTextStructIterator_1_1, TextEExpression_1_1, }; use crate::lazy::text::value::{ LazyRawTextValue, LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker_1_0, @@ -264,12 +264,25 @@ pub trait TextEncoding<'top>: fn field_expr_matcher() -> impl IonParser<'top, LazyRawFieldExpr<'top, Self>>; - fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; - fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; + fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator::::new(buffer); + let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); + Self::container_matcher("a list", "[", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::List(nested_expr_cache))) + } + + fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextSExpIterator::::new(buffer); + let end_matcher = whitespace_and_then(")"); + Self::container_matcher("an s-expression", "(", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::SExp(nested_expr_cache))) + } + fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; fn container_matcher( label: &'static str, + mut opening_token: &str, mut make_iterator: MakeIterator, mut end_matcher: impl IonParser<'top, TextBuffer<'top>>, ) -> impl IonParser<'top, &'top [Expr]> @@ -280,8 +293,10 @@ pub trait TextEncoding<'top>: { use bumpalo::collections::Vec as BumpVec; move |input: &mut TextBuffer<'top>| { - // Skip the opening token of the container, i.e. '[', '(', or '{' - let iterator = make_iterator(input.slice_to_end(1)); + // Make a copy of the input buffer view that the iterator can consume. + let mut iterator_input = *input; + let _head = opening_token.parse_next(&mut iterator_input)?; + let iterator = make_iterator(iterator_input); // The input has already skipped past the opening delimiter. let start = input.offset(); let mut child_expr_cache = BumpVec::new_in(input.context().allocator()); @@ -300,9 +315,9 @@ pub trait TextEncoding<'top>: let last_expr_end = child_expr_cache .last() - .map(|expr| expr.range().end) - .unwrap_or(input.offset() + 1); - let mut remaining = input.slice_to_end(last_expr_end - input.offset()); + .map(|expr| expr.range().end - input.offset()) + .unwrap_or(opening_token.len()); + let mut remaining = input.slice_to_end(last_expr_end); let _matched_end = end_matcher.parse_next(&mut remaining)?; let end = remaining.offset(); let span = start..end; @@ -336,24 +351,10 @@ impl<'top> TextEncoding<'top> for TextEncoding_1_0 { }) } - fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { - let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator::::new(buffer); - let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); - Self::container_matcher("a v1.0 list", make_iter, end_matcher) - .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::List(nested_expr_cache))) - } - - fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { - let make_iter = |buffer: TextBuffer<'top>| RawTextSExpIterator_1_0::new(buffer); - let end_matcher = whitespace_and_then(")"); - Self::container_matcher("a v1.0 sexp", make_iter, end_matcher) - .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::SExp(nested_expr_cache))) - } - fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { let make_iter = |buffer: TextBuffer<'top>| RawTextStructIterator_1_0::new(buffer); let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("}")).take(); - Self::container_matcher("a v1.0 struct", make_iter, end_matcher) + Self::container_matcher("a v1.0 struct", "{", make_iter, end_matcher) .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) } } @@ -397,25 +398,11 @@ impl<'top> TextEncoding<'top> for TextEncoding_1_1 { }), )) } - - fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { - let make_iter = |buffer: TextBuffer<'top>| RawTextListIterator::::new(buffer); - let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("]")).take(); - Self::container_matcher("a v1.1 list", make_iter, end_matcher) - .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::List(nested_expr_cache))) - } - - fn sexp_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { - let make_iter = |buffer: TextBuffer<'top>| RawTextSExpIterator_1_1::new(buffer); - let end_matcher = whitespace_and_then(")"); - Self::container_matcher("a v1.1 sexp", make_iter, end_matcher) - .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::SExp(nested_expr_cache))) - } - + fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { let make_iter = |buffer: TextBuffer<'top>| RawTextStructIterator_1_1::new(buffer); let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("}")).take(); - Self::container_matcher("a v1.1 struct", make_iter, end_matcher) + Self::container_matcher("a v1.1 struct", "{", make_iter, end_matcher) .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) } } @@ -442,7 +429,7 @@ impl Decoder for TextEncoding_1_0 { const INITIAL_ENCODING_EXPECTED: IonEncoding = IonEncoding::Text_1_0; type Reader<'data> = LazyRawTextReader_1_0<'data>; type Value<'top> = LazyRawTextValue_1_0<'top>; - type SExp<'top> = LazyRawTextSExp_1_0<'top>; + type SExp<'top> = RawTextSExp<'top, Self>; type List<'top> = RawTextList<'top, Self>; type Struct<'top> = LazyRawTextStruct_1_0<'top>; type FieldName<'top> = LazyRawTextFieldName_1_0<'top>; @@ -456,7 +443,7 @@ impl Decoder for TextEncoding_1_1 { const INITIAL_ENCODING_EXPECTED: IonEncoding = IonEncoding::Text_1_1; type Reader<'data> = LazyRawTextReader_1_1<'data>; type Value<'top> = LazyRawTextValue_1_1<'top>; - type SExp<'top> = LazyRawTextSExp_1_1<'top>; + type SExp<'top> = RawTextSExp<'top, Self>; type List<'top> = RawTextList<'top, Self>; type Struct<'top> = LazyRawTextStruct_1_1<'top>; type FieldName<'top> = LazyRawTextFieldName_1_1<'top>; diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 402d4d0b..b8fab763 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -30,9 +30,8 @@ use crate::lazy::text::parse_result::{IonMatchResult, IonParseResult}; use crate::lazy::text::raw::r#struct::LazyRawTextFieldName_1_0; use crate::lazy::text::raw::v1_1::arg_group::{EExpArg, EExpArgExpr, TextEExpArgGroup}; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, MacroIdRef, RawTextSExpIterator_1_1 - , SystemMacroAddress, TextEExpression_1_1, - TextSExpSpanFinder_1_1, + LazyRawTextFieldName_1_1, MacroIdRef, + SystemMacroAddress, TextEExpression_1_1 }; use crate::lazy::text::value::{ LazyRawTextValue, LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker, @@ -47,6 +46,7 @@ use crate::lazy::expanded::template::{Parameter, RestSyntaxPolicy}; use crate::lazy::text::as_utf8::AsUtf8; use bumpalo::collections::Vec as BumpVec; use winnow::ascii::{digit0, digit1}; +use crate::lazy::text::raw::sequence::RawTextSExpIterator; macro_rules! scalar_value_matchers { ($($parser:expr => $variant:ident => $new_parser:ident),*$(,)?) => { @@ -166,6 +166,7 @@ impl<'top> TextBuffer<'top> { self.context } + #[inline(never)] pub(crate) fn incomplete(&self, label: &'static str) -> IonParseResult<'top, T> { if self.is_final_data() { fatal_parse_error(*self, format!("ran out of data while parsing {label}")) @@ -437,7 +438,7 @@ impl<'top> TextBuffer<'top> { } #[inline] - fn apply_annotations>( + pub(crate) fn apply_annotations>( &self, maybe_annotations: Option>, mut value: LazyRawTextValue<'top, E>, @@ -784,52 +785,16 @@ impl<'top> TextBuffer<'top> { &mut self, parameter: &'top Parameter, ) -> IonParseResult<'top, TextEExpArgGroup<'top>> { - let parser = |input: &mut TextBuffer<'top>| { - let group_head = alt(( - // A trivially empty arg group: `(:)` - terminated("(::", peek(")")), - // An arg group that is not trivially empty, though it may only contain whitespace: - // (:: ) - // (:: 1 2 3) - ("(::", Self::match_whitespace0).take(), - )) - .parse_next(input)?; - - // `input` is now positioned after the opening delimiter. - // The rest of the group uses s-expression syntax. Scan ahead to find the end of this - // group. - let sexp_iter = RawTextSExpIterator_1_1::new(*input); - // The sexp iterator holds the body of the expression. When finding the input span it occupies, - // we tell the iterator how many bytes comprised the head of the group: `(::` followed - // by whitespace. - let initial_bytes_skipped = group_head.len(); - match TextSExpSpanFinder_1_1::new(input.context.allocator(), sexp_iter) - .find_span(initial_bytes_skipped) - { - Ok((span, child_expr_cache)) => { - input.consume(span.len() - group_head.len()); - Ok(child_expr_cache) - } - // If the complete group isn't available, return an incomplete. - Err(IonError::Incomplete(_)) => { - input.incomplete("matching an e-expression argument group") - } - // If invalid syntax was encountered, return a failure to prevent nom from trying - // other parser kinds. - Err(e) => { - let error = InvalidInputError::new(*input) - .with_label("matching an e-expression argument group") - .with_description(format!("{}", e)); - Err(ErrMode::Cut(IonParseError::Invalid(error))) - } - } - }; - let (child_expr_cache, matched_input) = parser.with_taken().parse_next(self)?; - Ok(TextEExpArgGroup::new( - parameter, - matched_input, - child_expr_cache, - )) + + TextEncoding_1_1::container_matcher( + "an explicit argument group", + "(::", + RawTextSExpIterator::::new, + whitespace_and_then(")") + ) + .with_taken() + .map(|(expr_cache, input)| TextEExpArgGroup::new(parameter, input, expr_cache)) + .parse_next(self) } pub fn match_e_expression_name(&mut self) -> IonParseResult<'top, MacroIdRef<'top>> { @@ -1642,7 +1607,7 @@ impl<'top> TextBuffer<'top> { } /// Matches an operator symbol, which can only legally appear within an s-expression - fn match_operator>( + pub(crate) fn match_operator>( &mut self, ) -> IonParseResult<'top, LazyRawTextValue<'top, E>> { one_or_more(one_of(b"!#%&*+-./;<=>?@^`|~")) diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index 3613c8ea..575a36cd 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -3,23 +3,19 @@ use std::fmt; use std::fmt::{Debug, Formatter}; use std::marker::PhantomData; -use std::ops::Range; -use winnow::combinator::{alt, peek, terminated}; -use winnow::token::one_of; +use winnow::combinator::{alt, opt, peek, terminated}; use winnow::Parser; use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ Decoder, LazyRawContainer, LazyRawSequence, LazyRawValue, LazyRawValueExpr, RawValueExpr, }; -use crate::lazy::encoding::{TextEncoding, TextEncoding_1_0}; +use crate::lazy::encoding::TextEncoding; use crate::lazy::text::buffer::{whitespace_and_then, TextBuffer}; use crate::lazy::text::matched::MatchedValue; use crate::lazy::text::parse_result::AddContext; use crate::lazy::text::raw::v1_1::reader::RawTextSequenceCacheIterator; -use crate::lazy::text::value::{ - LazyRawTextValue, LazyRawTextValue_1_0, RawTextAnnotationsIterator, -}; +use crate::lazy::text::value::{LazyRawTextValue, RawTextAnnotationsIterator}; use crate::{IonResult, IonType}; // ===== Lists ===== @@ -142,104 +138,109 @@ impl<'data, E: TextEncoding<'data>> Iterator for RawTextListIterator<'data, E> { // ===== S-Expressions ===== #[derive(Copy, Clone)] -pub struct LazyRawTextSExp_1_0<'top> { - pub(crate) value: LazyRawTextValue_1_0<'top>, +pub struct RawTextSExp<'top, E: TextEncoding<'top>> { + pub(crate) value: LazyRawTextValue<'top, E>, } -impl<'data> LazyRawTextSExp_1_0<'data> { +impl<'data, E: TextEncoding<'data>> RawTextSExp<'data, E> { pub fn ion_type(&self) -> IonType { IonType::SExp } - pub fn iter(&self) -> RawTextSExpIterator_1_0<'data> { - // Make an iterator over the input bytes that follow the initial `(`; account for - // a leading annotations sequence. - let sexp_contents_start = self.value.encoded_value.data_offset() + 1; - RawTextSExpIterator_1_0::new(self.value.input.slice_to_end(sexp_contents_start)) + pub fn iter(&self) -> RawTextSequenceCacheIterator<'data, E> { + let MatchedValue::SExp(child_exprs) = self.value.encoded_value.matched() else { + unreachable!("sexp contained a matched value of the wrong type") + }; + RawTextSequenceCacheIterator::new(child_exprs) } } #[derive(Copy, Clone, Debug)] -pub struct RawTextSExpIterator_1_0<'top> { +pub struct RawTextSExpIterator<'top, E: TextEncoding<'top>> { input: TextBuffer<'top>, // If this iterator has returned an error, it should return `None` forever afterwards has_returned_error: bool, + spooky: PhantomData, } -impl<'top> RawTextSExpIterator_1_0<'top> { - pub(crate) fn new(input: TextBuffer<'top>) -> RawTextSExpIterator_1_0<'top> { - RawTextSExpIterator_1_0 { +impl<'top, E: TextEncoding<'top>> RawTextSExpIterator<'top, E> { + pub(crate) fn new(input: TextBuffer<'top>) -> RawTextSExpIterator<'top, E> { + RawTextSExpIterator { input, has_returned_error: false, + spooky: PhantomData, } } - - /// Scans ahead to find the end of this s-expression and reports the input span that it occupies. - /// - /// The `initial_bytes_skipped` parameter indicates how many bytes of input that represented the - /// beginning of the expression are not in the buffer. For plain s-expressions, this will always - /// be `1` as they begin with a single open parenthesis `(`. For e-expressions (which are used - /// to invoke macros from the data stream), it will always be a minimum of `3`: two bytes for - /// the opening `(:` and at least one for the macro identifier. (For example: `(:foo`.) - pub(crate) fn find_span(&self, initial_bytes_skipped: usize) -> IonResult> { - // The input has already skipped past the opening delimiter. - let start = self.input.offset() - initial_bytes_skipped; - // We need to find the input slice containing the closing delimiter. It's either... - let mut input = if let Some(value_result) = self.last() { - let value = value_result?.expect_value()?; - // ...the input slice that follows the last sequence value... - self.input - .slice_to_end(value.input.offset() + value.total_length() - self.input.offset()) - } else { - // ...or there aren't values, so it's just the input after the opening delimiter. - self.input - }; - let _ = input - .match_optional_comments_and_whitespace() - .with_context("seeking the end of a sexp", input)?; - let _end_delimiter = one_of(|c| c == b')') - .parse_next(&mut input) - .with_context("seeking the closing delimiter of a sexp", input)?; - let end = input.offset(); - Ok(start..end) - } } -impl<'data> Iterator for RawTextSExpIterator_1_0<'data> { - type Item = IonResult>; +impl<'data, E: TextEncoding<'data>> Iterator for RawTextSExpIterator<'data, E> { + type Item = IonResult>; fn next(&mut self) -> Option { if self.has_returned_error { return None; } - match self.input.match_sexp_item() { - Ok(Some(value)) => Some(Ok(RawValueExpr::ValueLiteral(LazyRawTextValue_1_0::from( - value, - )))), + // Copy the original input so we can include any matched annotations. + let input = self.input; + let result = whitespace_and_then(alt(( + // We only peek at the end so future calls to `next()` will continue to yield `None`. + peek(")").value(None), + // An annotated value or (in Ion 1.1) an e-expression + E::value_expr_matcher().map(Some), + // A potentially annotated operator literal + ( + opt(TextBuffer::match_annotations), + whitespace_and_then(TextBuffer::match_operator), + ) + .map(|(maybe_annotations, value)| input.apply_annotations(maybe_annotations, value)) + .map(RawValueExpr::ValueLiteral) + .map(Some), + ))) + .parse_next(&mut self.input); + + match result { + Ok(Some(value_expr)) => Some(Ok(value_expr)), Ok(None) => None, Err(e) => { self.has_returned_error = true; - e.with_context("reading the next sexp value", self.input) + e.with_context("reading the next s-expression value", self.input) .transpose() } } } + + // fn next(&mut self) -> Option { + // if self.has_returned_error { + // return None; + // } + // match self.input.match_sexp_item() { + // Ok(Some(value)) => Some(Ok(RawValueExpr::ValueLiteral(LazyRawTextValue::::from( + // value, + // )))), + // Ok(None) => None, + // Err(e) => { + // self.has_returned_error = true; + // e.with_context("reading the next sexp value", self.input) + // .transpose() + // } + // } + // } } -impl<'data> LazyContainerPrivate<'data, TextEncoding_1_0> for LazyRawTextSExp_1_0<'data> { - fn from_value(value: LazyRawTextValue_1_0<'data>) -> Self { - LazyRawTextSExp_1_0 { value } +impl<'data, E: TextEncoding<'data>> LazyContainerPrivate<'data, E> for RawTextSExp<'data, E> { + fn from_value(value: LazyRawTextValue<'data, E>) -> Self { + RawTextSExp { value } } } -impl<'data> LazyRawContainer<'data, TextEncoding_1_0> for LazyRawTextSExp_1_0<'data> { - fn as_value(&self) -> ::Value<'data> { +impl<'data, E: TextEncoding<'data>> LazyRawContainer<'data, E> for RawTextSExp<'data, E> { + fn as_value(&self) -> ::Value<'data> { self.value } } -impl<'data> LazyRawSequence<'data, TextEncoding_1_0> for LazyRawTextSExp_1_0<'data> { - type Iterator = RawTextSExpIterator_1_0<'data>; +impl<'data, E: TextEncoding<'data>> LazyRawSequence<'data, E> for RawTextSExp<'data, E> { + type Iterator = RawTextSequenceCacheIterator<'data, E>; fn annotations(&self) -> RawTextAnnotationsIterator<'data> { self.value.annotations() @@ -250,20 +251,20 @@ impl<'data> LazyRawSequence<'data, TextEncoding_1_0> for LazyRawTextSExp_1_0<'da } fn iter(&self) -> Self::Iterator { - LazyRawTextSExp_1_0::iter(self) + RawTextSExp::<'data, E>::iter(self) } } -impl<'data> IntoIterator for &LazyRawTextSExp_1_0<'data> { - type Item = IonResult>; - type IntoIter = RawTextSExpIterator_1_0<'data>; +impl<'data, E: TextEncoding<'data>> IntoIterator for &RawTextSExp<'data, E> { + type Item = IonResult>; + type IntoIter = RawTextSequenceCacheIterator<'data, E>; fn into_iter(self) -> Self::IntoIter { self.iter() } } -impl Debug for LazyRawTextSExp_1_0<'_> { +impl<'top, E: TextEncoding<'top>> Debug for RawTextSExp<'top, E> { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { write!(f, "(")?; for value in self { diff --git a/src/lazy/text/raw/v1_1/reader.rs b/src/lazy/text/raw/v1_1/reader.rs index 5e374d4f..d4da8f52 100644 --- a/src/lazy/text/raw/v1_1/reader.rs +++ b/src/lazy/text/raw/v1_1/reader.rs @@ -8,7 +8,7 @@ use crate::lazy::any_encoding::IonEncoding; use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ Decoder, HasRange, HasSpan, LazyRawContainer, LazyRawFieldExpr, LazyRawFieldName, - LazyRawReader, LazyRawSequence, LazyRawStruct, LazyRawValue, LazyRawValueExpr, + LazyRawReader, LazyRawStruct, LazyRawValue, LazyRawValueExpr, }; use crate::lazy::encoding::{TextEncoding, TextEncoding_1_1}; use crate::lazy::expanded::macro_evaluator::RawEExpression; @@ -22,7 +22,7 @@ use crate::lazy::text::matched::{MatchedFieldName, MatchedValue}; use crate::lazy::text::parse_result::AddContext; use crate::lazy::text::raw::v1_1::arg_group::{EExpArg, TextEExpArgGroup}; use crate::lazy::text::value::{LazyRawTextValue_1_1, RawTextAnnotationsIterator}; -use crate::{v1_1, Encoding, IonResult, IonType, RawSymbolRef}; +use crate::{v1_1, Encoding, IonResult, RawSymbolRef}; use bumpalo::collections::Vec as BumpVec; use winnow::combinator::opt; use winnow::token::one_of; @@ -272,39 +272,6 @@ impl EncodedTextMacroInvocation { } } -#[derive(Copy, Clone)] -pub struct LazyRawTextSExp_1_1<'top> { - pub(crate) value: LazyRawTextValue_1_1<'top>, -} - -impl Debug for LazyRawTextSExp_1_1<'_> { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - write!(f, "(")?; - for value in self.iter() { - write!(f, "{:?} ", value?.expect_value()?.read()?)?; - } - write!(f, ")").unwrap(); - - Ok(()) - } -} - -#[derive(Debug, Copy, Clone)] -pub struct RawTextSExpIterator_1_1<'top> { - input: TextBuffer<'top>, - // If this iterator has returned an error, it should return `None` forever afterwards - has_returned_error: bool, -} - -impl<'top> RawTextSExpIterator_1_1<'top> { - pub(crate) fn new(input: TextBuffer<'top>) -> Self { - Self { - input, - has_returned_error: false, - } - } -} - #[derive(Debug, Copy, Clone)] pub struct RawTextSequenceCacheIterator<'top, E: TextEncoding<'top>> { child_exprs: &'top [LazyRawValueExpr<'top, E>], @@ -361,118 +328,6 @@ impl<'top> Iterator for TextEExpArgsIterator_1_1<'top> { } } -/// Wraps a [`RawTextSExpIterator_1_1`] (which parses the body of a sexp) and caches the child -/// expressions the iterator yields along the way. Finally, returns a `Range` representing -/// the span of input bytes that the sexp occupies. -pub(crate) struct TextSExpSpanFinder_1_1<'top> { - pub(crate) allocator: &'top bumpalo::Bump, - pub(crate) iterator: RawTextSExpIterator_1_1<'top>, -} - -impl<'top> TextSExpSpanFinder_1_1<'top> { - pub fn new(allocator: &'top bumpalo::Bump, iterator: RawTextSExpIterator_1_1<'top>) -> Self { - Self { - allocator, - iterator, - } - } - - /// Scans ahead to find the end of this s-expression and reports the input span that it occupies. - /// As it scans, it records lazy references to the S-expression's child expressions. - /// - /// The `initial_bytes_skipped` parameter indicates how many bytes of input that represented the - /// beginning of the expression are not in the buffer. For plain s-expressions, this will always - /// be `1` as they begin with a single open parenthesis `(`. For e-expressions (which are used - /// to invoke macros from the data stream), it will always be a minimum of `3`: two bytes for - /// the opening `(:` and at least one for the macro identifier. (For example: `(:foo`.) - pub(crate) fn find_span( - &self, - initial_bytes_skipped: usize, - ) -> IonResult<( - Range, - &'top [LazyRawValueExpr<'top, TextEncoding_1_1>], - )> { - // The input has already skipped past the opening delimiter. - let start = self.iterator.input.offset() - initial_bytes_skipped; - let mut child_expr_cache = BumpVec::new_in(self.allocator); - - for expr_result in self.iterator { - let expr = expr_result?; - child_expr_cache.push(expr); - } - - let end = child_expr_cache - .last() - .map(|e| e.range().end) - .unwrap_or(self.iterator.input.offset()); - let mut input = self - .iterator - .input - .slice_to_end(end - self.iterator.input.offset()); - - let _ws = input - .match_optional_comments_and_whitespace() - .with_context("seeking the end of a sexp", input)?; - let _end_delimiter = one_of(|c| c == b')') - .parse_next(&mut input) - .with_context("seeking the closing delimiter of a sexp", input)?; - let end = input.offset(); - - let range = start..end; - Ok((range, child_expr_cache.into_bump_slice())) - } -} - -impl<'top> LazyContainerPrivate<'top, TextEncoding_1_1> for LazyRawTextSExp_1_1<'top> { - fn from_value(value: LazyRawTextValue_1_1<'top>) -> Self { - LazyRawTextSExp_1_1 { value } - } -} - -impl<'top> LazyRawContainer<'top, TextEncoding_1_1> for LazyRawTextSExp_1_1<'top> { - fn as_value(&self) -> ::Value<'top> { - self.value - } -} - -impl<'top> LazyRawSequence<'top, TextEncoding_1_1> for LazyRawTextSExp_1_1<'top> { - type Iterator = RawTextSequenceCacheIterator<'top, TextEncoding_1_1>; - - fn annotations(&self) -> RawTextAnnotationsIterator<'top> { - self.value.annotations() - } - - fn ion_type(&self) -> IonType { - self.value.ion_type() - } - - fn iter(&self) -> Self::Iterator { - let MatchedValue::SExp(child_exprs) = self.value.encoded_value.matched() else { - unreachable!("s-expression contained a matched value of the wrong type") - }; - RawTextSequenceCacheIterator::new(child_exprs) - } -} - -impl<'top> Iterator for RawTextSExpIterator_1_1<'top> { - type Item = IonResult>; - - fn next(&mut self) -> Option { - if self.has_returned_error { - return None; - } - match self.input.match_sexp_item_1_1() { - Ok(Some(value)) => Some(Ok(value)), - Ok(None) => None, - Err(e) => { - self.has_returned_error = true; - e.with_context("reading the next sexp value", self.input) - .transpose() - } - } - } -} - #[derive(Debug, Copy, Clone)] pub struct LazyRawTextFieldName_1_1<'top> { matched: MatchedFieldName<'top>, @@ -680,7 +535,7 @@ mod tests { use crate::lazy::expanded::compiler::TemplateCompiler; use crate::lazy::expanded::EncodingContext; use crate::lazy::raw_value_ref::RawValueRef; - use crate::RawVersionMarker; + use crate::{IonType, RawVersionMarker}; use super::*; From 46842dabc9e1b95c533a4c24516470d075f59e88 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 12:36:06 -0500 Subject: [PATCH 21/32] Maker raw structs generic over Ion version --- src/lazy/any_encoding.rs | 44 ++++---- src/lazy/decoder.rs | 43 ++------ src/lazy/encoding.rs | 49 ++++----- src/lazy/expanded/struct.rs | 10 +- src/lazy/text/buffer.rs | 110 +------------------- src/lazy/text/raw/sequence.rs | 1 + src/lazy/text/raw/struct.rs | 131 ++++++++---------------- src/lazy/text/raw/v1_1/reader.rs | 167 ++++--------------------------- 8 files changed, 127 insertions(+), 428 deletions(-) diff --git a/src/lazy/any_encoding.rs b/src/lazy/any_encoding.rs index 6a66dee6..0a809b7b 100644 --- a/src/lazy/any_encoding.rs +++ b/src/lazy/any_encoding.rs @@ -42,17 +42,15 @@ use crate::lazy::raw_stream_item::LazyRawStreamItem; use crate::lazy::raw_value_ref::RawValueRef; use crate::lazy::span::Span; use crate::lazy::streaming_raw_reader::RawReaderState; -use crate::lazy::text::raw::r#struct::{ - LazyRawTextFieldName_1_0, LazyRawTextStruct_1_0, RawTextStructIterator_1_0, -}; +use crate::lazy::text::raw::r#struct::LazyRawTextFieldName; use crate::lazy::text::raw::reader::LazyRawTextReader_1_0; use crate::lazy::text::raw::sequence::{RawTextList, RawTextSExp}; use crate::lazy::text::raw::v1_1::arg_group::{ EExpArg, EExpArgExpr, TextEExpArgGroup, TextEExpArgGroupIterator, }; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, LazyRawTextReader_1_1, LazyRawTextStruct_1_1, MacroIdRef, - RawTextSequenceCacheIterator, RawTextStructCacheIterator_1_1, TextEExpression_1_1, + LazyRawTextReader_1_1, LazyRawTextStruct, MacroIdRef, RawTextSequenceCacheIterator, + RawTextStructCacheIterator, TextEExpression_1_1, }; use crate::lazy::text::value::{ LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker_1_0, @@ -1456,9 +1454,9 @@ pub struct LazyRawAnyStruct<'data> { #[derive(Debug, Copy, Clone)] pub enum LazyRawStructKind<'data> { - Text_1_0(LazyRawTextStruct_1_0<'data>), + Text_1_0(LazyRawTextStruct<'data, TextEncoding_1_0>), Binary_1_0(LazyRawBinaryStruct_1_0<'data>), - Text_1_1(LazyRawTextStruct_1_1<'data>), + Text_1_1(LazyRawTextStruct<'data, TextEncoding_1_1>), Binary_1_1(LazyRawBinaryStruct_1_1<'data>), } @@ -1480,9 +1478,9 @@ pub struct LazyRawAnyFieldName<'data> { #[derive(Debug, Copy, Clone)] pub enum LazyRawFieldNameKind<'data> { - Text_1_0(LazyRawTextFieldName_1_0<'data>), + Text_1_0(LazyRawTextFieldName<'data, TextEncoding_1_0>), Binary_1_0(LazyRawBinaryFieldName_1_0<'data>), - Text_1_1(LazyRawTextFieldName_1_1<'data>), + Text_1_1(LazyRawTextFieldName<'data, TextEncoding_1_1>), Binary_1_1(LazyRawBinaryFieldName_1_1<'data>), } @@ -1528,14 +1526,14 @@ impl<'top> From> for LazyRawAnyFieldName<'top> { } } -impl<'top> From> for LazyRawAnyFieldName<'top> { - fn from(value: LazyRawTextFieldName_1_0<'top>) -> Self { +impl<'top> From> for LazyRawAnyFieldName<'top> { + fn from(value: LazyRawTextFieldName<'top, TextEncoding_1_0>) -> Self { LazyRawFieldNameKind::Text_1_0(value).into() } } -impl<'top> From> for LazyRawAnyFieldName<'top> { - fn from(value: LazyRawTextFieldName_1_1<'top>) -> Self { +impl<'top> From> for LazyRawAnyFieldName<'top> { + fn from(value: LazyRawTextFieldName<'top, TextEncoding_1_1>) -> Self { LazyRawFieldNameKind::Text_1_1(value).into() } } @@ -1559,9 +1557,9 @@ pub struct RawAnyStructIterator<'data> { #[derive(Debug, Copy, Clone)] pub enum RawAnyStructIteratorKind<'data> { - Text_1_0(RawTextStructIterator_1_0<'data>), + Text_1_0(RawTextStructCacheIterator<'data, TextEncoding_1_0>), Binary_1_0(RawBinaryStructIterator_1_0<'data>), - Text_1_1(RawTextStructCacheIterator_1_1<'data>), + Text_1_1(RawTextStructCacheIterator<'data, TextEncoding_1_1>), Binary_1_1(RawBinaryStructIterator_1_1<'data>), } @@ -1642,13 +1640,17 @@ impl<'data> LazyContainerPrivate<'data, AnyEncoding> for LazyRawAnyStruct<'data> fn from_value(value: LazyRawAnyValue<'data>) -> Self { match value.encoding { LazyRawValueKind::Text_1_0(v) => LazyRawAnyStruct { - encoding: LazyRawStructKind::Text_1_0(LazyRawTextStruct_1_0::from_value(v)), + encoding: LazyRawStructKind::Text_1_0( + LazyRawTextStruct::::from_value(v), + ), }, LazyRawValueKind::Binary_1_0(v) => LazyRawAnyStruct { encoding: LazyRawStructKind::Binary_1_0(LazyRawBinaryStruct_1_0::from_value(v)), }, LazyRawValueKind::Text_1_1(v) => LazyRawAnyStruct { - encoding: LazyRawStructKind::Text_1_1(LazyRawTextStruct_1_1::from_value(v)), + encoding: LazyRawStructKind::Text_1_1( + LazyRawTextStruct::::from_value(v), + ), }, LazyRawValueKind::Binary_1_1(v) => LazyRawAnyStruct { encoding: LazyRawStructKind::Binary_1_1(LazyRawBinaryStruct_1_1::from_value(v)), @@ -1695,8 +1697,8 @@ impl<'top> LazyRawStruct<'top, AnyEncoding> for LazyRawAnyStruct<'top> { } } -impl<'data> From> for LazyRawAnyStruct<'data> { - fn from(value: LazyRawTextStruct_1_0<'data>) -> Self { +impl<'data> From> for LazyRawAnyStruct<'data> { + fn from(value: LazyRawTextStruct<'data, TextEncoding_1_0>) -> Self { LazyRawAnyStruct { encoding: LazyRawStructKind::Text_1_0(value), } @@ -1711,8 +1713,8 @@ impl<'data> From> for LazyRawAnyStruct<'data> { } } -impl<'data> From> for LazyRawAnyStruct<'data> { - fn from(value: LazyRawTextStruct_1_1<'data>) -> Self { +impl<'data> From> for LazyRawAnyStruct<'data> { + fn from(value: LazyRawTextStruct<'data, TextEncoding_1_1>) -> Self { LazyRawAnyStruct { encoding: LazyRawStructKind::Text_1_1(value), } diff --git a/src/lazy/decoder.rs b/src/lazy/decoder.rs index 464b05b9..74552342 100644 --- a/src/lazy/decoder.rs +++ b/src/lazy/decoder.rs @@ -410,22 +410,22 @@ pub(crate) mod private { fn from_value(value: D::Value<'top>) -> Self; } - pub trait LazyRawStructPrivate<'top, D: Decoder> { - /// Creates an iterator that converts each raw struct field into an `FieldExpr`, a - /// common representation for both raw fields and template fields that is used in the - /// expansion process. - fn field_exprs( - &self, - context: EncodingContextRef<'top>, - ) -> RawStructFieldExprIterator<'top, D>; - } - pub struct RawStructFieldExprIterator<'top, D: Decoder> { context: EncodingContextRef<'top>, raw_fields: as LazyRawStruct<'top, D>>::Iterator, } impl<'top, D: Decoder> RawStructFieldExprIterator<'top, D> { + pub fn new( + context: EncodingContextRef<'top>, + raw_fields: as LazyRawStruct<'top, D>>::Iterator, + ) -> Self { + Self { + context, + raw_fields, + } + } + pub fn context(&self) -> EncodingContextRef<'top> { self.context } @@ -454,22 +454,6 @@ pub(crate) mod private { Some(Ok(unexpanded_field)) } } - - impl<'top, D: Decoder = S>, S> LazyRawStructPrivate<'top, D> for S - where - S: LazyRawStruct<'top, D>, - { - fn field_exprs( - &self, - context: EncodingContextRef<'top>, - ) -> RawStructFieldExprIterator<'top, D> { - let raw_fields = >::iter(self); - RawStructFieldExprIterator { - context, - raw_fields, - } - } - } } pub trait LazyRawReader<'data, D: Decoder>: Sized { @@ -666,12 +650,7 @@ where } pub trait LazyRawStruct<'top, D: Decoder>: - LazyRawContainer<'top, D> - + private::LazyContainerPrivate<'top, D> - + private::LazyRawStructPrivate<'top, D> - + Debug - + Copy - + Clone + LazyRawContainer<'top, D> + private::LazyContainerPrivate<'top, D> + Debug + Copy + Clone { type Iterator: RawStructIterator<'top, D>; diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index 15433c5a..ae6e6232 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -24,16 +24,13 @@ use crate::lazy::text::buffer::{whitespace_and_then, IonParser, TextBuffer}; use crate::lazy::text::encoded_value::EncodedTextValue; use crate::lazy::text::matched::MatchedValue; use crate::lazy::text::parse_result::fatal_parse_error; -use crate::lazy::text::raw::r#struct::{ - LazyRawTextFieldName_1_0, LazyRawTextStruct_1_0, RawTextStructIterator_1_0, -}; +use crate::lazy::text::raw::r#struct::{LazyRawTextFieldName, RawTextStructIterator}; use crate::lazy::text::raw::reader::LazyRawTextReader_1_0; use crate::lazy::text::raw::sequence::{ RawTextList, RawTextListIterator, RawTextSExp, RawTextSExpIterator, }; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, LazyRawTextReader_1_1, LazyRawTextStruct_1_1, - RawTextStructIterator_1_1, TextEExpression_1_1, + LazyRawTextReader_1_1, LazyRawTextStruct, TextEExpression_1_1, }; use crate::lazy::text::value::{ LazyRawTextValue, LazyRawTextValue_1_0, LazyRawTextValue_1_1, LazyRawTextVersionMarker_1_0, @@ -278,7 +275,12 @@ pub trait TextEncoding<'top>: .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::SExp(nested_expr_cache))) } - fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>>; + fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { + let make_iter = |buffer: TextBuffer<'top>| RawTextStructIterator::new(buffer); + let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("}")).take(); + Self::container_matcher("a struct", "{", make_iter, end_matcher) + .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) + } fn container_matcher( label: &'static str, @@ -347,16 +349,9 @@ impl<'top> TextEncoding<'top> for TextEncoding_1_0 { whitespace_and_then(TextBuffer::match_annotated_value::), ) .map(|(field_name, invocation)| { - LazyRawFieldExpr::NameValue(LazyRawTextFieldName_1_0::new(field_name), invocation) + LazyRawFieldExpr::NameValue(LazyRawTextFieldName::new(field_name), invocation) }) } - - fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { - let make_iter = |buffer: TextBuffer<'top>| RawTextStructIterator_1_0::new(buffer); - let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("}")).take(); - Self::container_matcher("a v1.0 struct", "{", make_iter, end_matcher) - .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) - } } impl<'top> TextEncoding<'top> for TextEncoding_1_1 { fn new_value( @@ -375,16 +370,15 @@ impl<'top> TextEncoding<'top> for TextEncoding_1_1 { fn field_expr_matcher() -> impl IonParser<'top, LazyRawFieldExpr<'top, Self>> { alt(( - // An e-expression - TextBuffer::match_e_expression.map(|eexp| LazyRawFieldExpr::EExp(eexp)), - // A (name, eexp) pair + // A (name, eexp) pair. Check for this first to prevent `(:` from being considered + // the beginning of an s-expression. separated_pair( whitespace_and_then(TextBuffer::match_struct_field_name), whitespace_and_then(":"), whitespace_and_then(TextBuffer::match_e_expression), ) .map(|(field_name, invocation)| { - LazyRawFieldExpr::NameEExp(LazyRawTextFieldName_1_1::new(field_name), invocation) + LazyRawFieldExpr::NameEExp(LazyRawTextFieldName::new(field_name), invocation) }), // A (name, value) pair separated_pair( @@ -393,18 +387,13 @@ impl<'top> TextEncoding<'top> for TextEncoding_1_1 { whitespace_and_then(TextBuffer::match_annotated_value::), ) .map(move |(field_name, value)| { - let field_name = LazyRawTextFieldName_1_1::new(field_name); + let field_name = LazyRawTextFieldName::new(field_name); LazyRawFieldExpr::NameValue(field_name, value) }), + // An e-expression + TextBuffer::match_e_expression.map(LazyRawFieldExpr::EExp), )) } - - fn struct_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { - let make_iter = |buffer: TextBuffer<'top>| RawTextStructIterator_1_1::new(buffer); - let end_matcher = (whitespace_and_then(opt(",")), whitespace_and_then("}")).take(); - Self::container_matcher("a v1.1 struct", "{", make_iter, end_matcher) - .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) - } } /// Marker trait for encodings that support macros. @@ -431,8 +420,8 @@ impl Decoder for TextEncoding_1_0 { type Value<'top> = LazyRawTextValue_1_0<'top>; type SExp<'top> = RawTextSExp<'top, Self>; type List<'top> = RawTextList<'top, Self>; - type Struct<'top> = LazyRawTextStruct_1_0<'top>; - type FieldName<'top> = LazyRawTextFieldName_1_0<'top>; + type Struct<'top> = LazyRawTextStruct<'top, Self>; + type FieldName<'top> = LazyRawTextFieldName<'top, Self>; type AnnotationsIterator<'top> = RawTextAnnotationsIterator<'top>; // Macros are not supported in Ion 1.0 type EExp<'top> = Never; @@ -445,8 +434,8 @@ impl Decoder for TextEncoding_1_1 { type Value<'top> = LazyRawTextValue_1_1<'top>; type SExp<'top> = RawTextSExp<'top, Self>; type List<'top> = RawTextList<'top, Self>; - type Struct<'top> = LazyRawTextStruct_1_1<'top>; - type FieldName<'top> = LazyRawTextFieldName_1_1<'top>; + type Struct<'top> = LazyRawTextStruct<'top, Self>; + type FieldName<'top> = LazyRawTextFieldName<'top, Self>; type AnnotationsIterator<'top> = RawTextAnnotationsIterator<'top>; type EExp<'top> = TextEExpression_1_1<'top>; type VersionMarker<'top> = LazyRawTextVersionMarker_1_1<'top>; diff --git a/src/lazy/expanded/struct.rs b/src/lazy/expanded/struct.rs index e20320ca..9ae10aca 100644 --- a/src/lazy/expanded/struct.rs +++ b/src/lazy/expanded/struct.rs @@ -1,5 +1,5 @@ use crate::element::iterators::SymbolsIterator; -use crate::lazy::decoder::private::{LazyRawStructPrivate, RawStructFieldExprIterator}; +use crate::lazy::decoder::private::RawStructFieldExprIterator; use crate::lazy::decoder::{Decoder, LazyRawFieldName, LazyRawStruct}; use crate::lazy::expanded::macro_evaluator::{ MacroEvaluator, MacroExpr, MacroExprArgsIterator, ValueExpr, @@ -269,10 +269,10 @@ impl<'top, D: Decoder> LazyExpandedStruct<'top, D> { .alloc_with(|| MacroEvaluator::new()); use ExpandedStructSource::*; let source = match &self.source { - ValueLiteral(raw_struct) => ExpandedStructIteratorSource::ValueLiteral( - evaluator, - raw_struct.field_exprs(self.context), - ), + ValueLiteral(raw_struct) => { + let field_exprs = RawStructFieldExprIterator::new(self.context, raw_struct.iter()); + ExpandedStructIteratorSource::ValueLiteral(evaluator, field_exprs) + } Template(environment, element, _index) => { evaluator.set_root_environment(*environment); let template = element.template(); diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index b8fab763..91351f44 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -15,7 +15,7 @@ use winnow::stream::{ use winnow::token::{one_of, take_till, take_until, take_while}; use winnow::{dispatch, Parser}; -use crate::lazy::decoder::{LazyRawFieldExpr, LazyRawValueExpr, RawValueExpr}; +use crate::lazy::decoder::{LazyRawValueExpr, RawValueExpr}; use crate::lazy::encoding::{TextEncoding, TextEncoding_1_0, TextEncoding_1_1}; use crate::lazy::expanded::EncodingContextRef; use crate::lazy::raw_stream_item::{EndPosition, LazyRawStreamItem, RawStreamItem}; @@ -27,10 +27,9 @@ use crate::lazy::text::matched::{ }; use crate::lazy::text::parse_result::{fatal_parse_error, InvalidInputError, IonParseError}; use crate::lazy::text::parse_result::{IonMatchResult, IonParseResult}; -use crate::lazy::text::raw::r#struct::LazyRawTextFieldName_1_0; use crate::lazy::text::raw::v1_1::arg_group::{EExpArg, EExpArgExpr, TextEExpArgGroup}; use crate::lazy::text::raw::v1_1::reader::{ - LazyRawTextFieldName_1_1, MacroIdRef, + MacroIdRef, SystemMacroAddress, TextEExpression_1_1 }; use crate::lazy::text::value::{ @@ -470,111 +469,6 @@ impl<'top> TextBuffer<'top> { value } - /// Matches a struct field name/value pair. - /// - /// If a pair is found, returns `Some(field)` and consumes the following comma if present. - /// If no pair is found (that is: the end of the struct is next), returns `None`. - pub fn match_struct_field( - &mut self, - ) -> IonParseResult<'top, Option>> { - whitespace_and_then(alt(( - // If the next thing in the input is a `}`, return `None`. - Self::peek_struct_end.value(None), - // Otherwise, match a name/value pair and turn it into a `LazyRawTextField`. - Self::match_struct_field_name_and_value.map(move |(matched_field_name, value)| { - let field_name = LazyRawTextFieldName_1_0::new(matched_field_name); - Some(LazyRawFieldExpr::<'top, TextEncoding_1_0>::NameValue( - field_name, value, - )) - }), - ))) - .parse_next(self) - } - - /// Succeeds if the next token in input is a closing `}`; does not consume input. - fn peek_struct_end(&mut self) -> IonMatchResult<'top> { - peek("}").parse_next(self) - } - - /// Matches a field name/value pair. Returns the syntax used for the field name, the range of - /// input bytes where the field name is found, and the value. - pub fn match_struct_field_name_and_value( - &mut self, - ) -> IonParseResult<'top, (MatchedFieldName<'top>, LazyRawTextValue_1_0<'top>)> { - terminated( - separated_pair( - whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(":"), - whitespace_and_then(Self::match_annotated_value::), - ), - whitespace_and_then(alt((",", Self::peek_struct_end))), - ) - .parse_next(self) - } - - /// Matches a struct field (name, value expression) pair. - /// - /// If a pair is found, returns `Some(field)` and consumes the following comma if present. - /// If no pair is found (that is: the end of the struct is next), returns `None`. - pub fn match_struct_field_1_1( - &mut self, - ) -> IonParseResult<'top, Option>> { - whitespace_and_then(alt(( - // If the next thing in the input is a `}`, return `None`. - Self::peek_struct_end.map(|_| Ok(None)), - terminated( - Self::match_e_expression.map(|eexp| Ok(Some(LazyRawFieldExpr::EExp(eexp)))), - whitespace_and_then(alt((",", peek("}")))), - ), - Self::match_struct_field_name_and_e_expression_1_1.map(|(field_name, invocation)| { - Ok(Some(LazyRawFieldExpr::NameEExp( - LazyRawTextFieldName_1_1::new(field_name), - invocation, - ))) - }), - // Otherwise, match a name/value pair and turn it into a `LazyRawTextField`. - Self::match_struct_field_name_and_value_1_1.map(move |(field_name, value)| { - let field_name = LazyRawTextFieldName_1_1::new(field_name); - Ok(Some(LazyRawFieldExpr::NameValue(field_name, value))) - }), - ))) - .parse_next(self)? - } - - /// Matches a field (name, value expression) pair, where the value expression may be either - /// an annotated value or an e-expression. Returns the syntax used for the field name, the - /// range of input bytes where the field name is found, and the value. - pub fn match_struct_field_name_and_e_expression_1_1( - &mut self, - ) -> IonParseResult<'top, (MatchedFieldName<'top>, TextEExpression_1_1<'top>)> { - terminated( - separated_pair( - whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(":"), - whitespace_and_then(Self::match_e_expression), - ), - whitespace_and_then(alt((",", Self::peek_struct_end))), - ) - .parse_next(self) - } - - /// Matches a field (name, value expression) pair, where the value expression may be either - /// an annotated value or an e-expression. Returns the syntax used for the field name, the - /// range of input bytes where the field name is found, and the value. - pub fn match_struct_field_name_and_value_1_1( - &mut self, - ) -> IonParseResult<'top, (MatchedFieldName<'top>, LazyRawTextValue_1_1<'top>)> { - terminated( - separated_pair( - whitespace_and_then(Self::match_struct_field_name), - whitespace_and_then(":"), - whitespace_and_then(Self::match_annotated_value::), - ), - whitespace_and_then(alt((",", Self::peek_struct_end))), - ) - .parse_next(self) - } - /// Matches an optional annotation sequence and a trailing value. pub fn match_annotated_value>(&mut self) -> IonParseResult<'top, E::Value<'top>> { let input = *self; diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index 575a36cd..07006356 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -1,4 +1,5 @@ #![allow(non_camel_case_types)] +#![deny(dead_code)] use std::fmt; use std::fmt::{Debug, Formatter}; diff --git a/src/lazy/text/raw/struct.rs b/src/lazy/text/raw/struct.rs index a24f95a2..edbfe4a0 100644 --- a/src/lazy/text/raw/struct.rs +++ b/src/lazy/text/raw/struct.rs @@ -1,71 +1,51 @@ #![allow(non_camel_case_types)] -use crate::lazy::decoder::private::LazyContainerPrivate; -use crate::lazy::decoder::{ - Decoder, HasRange, HasSpan, LazyRawContainer, LazyRawFieldExpr, LazyRawFieldName, - LazyRawStruct, LazyRawValue, -}; -use crate::lazy::encoding::TextEncoding_1_0; +use crate::lazy::decoder::{HasRange, HasSpan, LazyRawFieldExpr, LazyRawFieldName}; +use crate::lazy::encoding::{TextEncoding, TextEncoding_1_0, TextEncoding_1_1}; use crate::lazy::span::Span; -use crate::lazy::text::buffer::TextBuffer; +use crate::lazy::text::buffer::{whitespace_and_then, TextBuffer}; use crate::lazy::text::matched::MatchedFieldName; use crate::lazy::text::parse_result::AddContext; -use crate::lazy::text::value::{LazyRawTextValue_1_0, RawTextAnnotationsIterator}; use crate::{IonResult, RawSymbolRef}; +use std::marker::PhantomData; use std::ops::Range; -use winnow::combinator::opt; -use winnow::token::one_of; +use winnow::combinator::{alt, opt, terminated}; use winnow::Parser; #[derive(Clone, Copy, Debug)] -pub struct RawTextStructIterator_1_0<'top> { +pub struct RawTextStructIterator<'top, E: TextEncoding<'top>> { input: TextBuffer<'top>, has_returned_error: bool, + spooky: PhantomData, } -impl<'top> RawTextStructIterator_1_0<'top> { - pub(crate) fn new(input: TextBuffer<'top>) -> Self { - RawTextStructIterator_1_0 { +impl<'top, E: TextEncoding<'top>> RawTextStructIterator<'top, E> { + pub fn new(input: TextBuffer<'top>) -> Self { + Self { input, has_returned_error: false, + spooky: PhantomData, } } - - pub(crate) fn find_span(&self) -> IonResult> { - // The input has already skipped past the opening delimiter. - let start = self.input.offset() - 1; - // We need to find the input slice containing the closing delimiter. It's either... - let mut input = if let Some(field_result) = self.last() { - let field = field_result?; - self.input - .slice_to_end(field.range().end - self.input.offset()) - } else { - // ...or there aren't fields, so it's just the input after the opening delimiter. - self.input - }; - let _ws = input - .match_optional_comments_and_whitespace() - .with_context("seeking the end of a struct", input)?; - // Skip an optional comma and more whitespace - let _ = (opt(","), TextBuffer::match_optional_comments_and_whitespace) - .parse_next(&mut input) - .with_context("skipping a struct field's trailing comma", input)?; - let _end_delimiter = one_of(|c| c == b'}') - .parse_next(&mut input) - .with_context("seeking the closing delimiter of a struct", input)?; - let end = input.offset(); - Ok(start..end) - } } -impl<'top> Iterator for RawTextStructIterator_1_0<'top> { - type Item = IonResult>; +impl<'top, E: TextEncoding<'top>> Iterator for RawTextStructIterator<'top, E> { + type Item = IonResult>; fn next(&mut self) -> Option { if self.has_returned_error { return None; } - match self.input.match_struct_field() { + + let result = whitespace_and_then(alt(( + "}".value(None), + terminated( + E::field_expr_matcher().map(Some), + whitespace_and_then(opt(",")), + ), + ))) + .parse_next(&mut self.input); + match result { Ok(Some(field)) => Some(Ok(field)), Ok(None) => None, Err(e) => { @@ -78,72 +58,49 @@ impl<'top> Iterator for RawTextStructIterator_1_0<'top> { } #[derive(Debug, Copy, Clone)] -pub struct LazyRawTextFieldName_1_0<'top> { +pub struct LazyRawTextFieldName<'top, E: TextEncoding<'top>> { matched: MatchedFieldName<'top>, + // XXX: Ion 1.0 and 1.1 use the same syntax for field names. + // This type is generic over the encoding because if it is not, the user must manually + // specify 1.0 or 1.1 in a variety of places. When it is generic, the compiler can infer + // the Ion version from context. + spooky: PhantomData, } -impl<'top> LazyRawTextFieldName_1_0<'top> { +impl<'top, E: TextEncoding<'top>> LazyRawTextFieldName<'top, E> { pub(crate) fn new(matched: MatchedFieldName<'top>) -> Self { - Self { matched } + Self { + matched, + spooky: PhantomData, + } } } -impl<'top> HasSpan<'top> for LazyRawTextFieldName_1_0<'top> { +impl<'top, E: TextEncoding<'top>> HasSpan<'top> for LazyRawTextFieldName<'top, E> { fn span(&self) -> Span<'top> { self.matched.span() } } -impl HasRange for LazyRawTextFieldName_1_0<'_> { +impl<'top, E: TextEncoding<'top>> HasRange for LazyRawTextFieldName<'top, E> { fn range(&self) -> Range { self.matched.range() } } -impl<'top> LazyRawFieldName<'top, TextEncoding_1_0> for LazyRawTextFieldName_1_0<'top> { +impl<'top> LazyRawFieldName<'top, TextEncoding_1_0> + for LazyRawTextFieldName<'top, TextEncoding_1_0> +{ fn read(&self) -> IonResult> { self.matched.read() } } -#[derive(Clone, Copy, Debug)] -pub struct LazyRawTextStruct_1_0<'top> { - pub(crate) value: LazyRawTextValue_1_0<'top>, -} - -impl<'top> LazyContainerPrivate<'top, TextEncoding_1_0> for LazyRawTextStruct_1_0<'top> { - fn from_value(value: LazyRawTextValue_1_0<'top>) -> Self { - LazyRawTextStruct_1_0 { value } - } -} - -impl<'top> LazyRawContainer<'top, TextEncoding_1_0> for LazyRawTextStruct_1_0<'top> { - fn as_value(&self) -> ::Value<'top> { - self.value - } -} - -impl<'top> LazyRawStruct<'top, TextEncoding_1_0> for LazyRawTextStruct_1_0<'top> { - type Iterator = RawTextStructIterator_1_0<'top>; - - fn annotations(&self) -> RawTextAnnotationsIterator<'top> { - self.value.annotations() - } - - fn iter(&self) -> Self::Iterator { - // Make an iterator over the input bytes that follow the initial `{`; account for - // a leading annotations sequence. - let struct_contents_start = self.value.encoded_value.data_offset() + 1; - RawTextStructIterator_1_0::new(self.value.input.slice_to_end(struct_contents_start)) - } -} - -impl<'top> IntoIterator for LazyRawTextStruct_1_0<'top> { - type Item = IonResult>; - type IntoIter = RawTextStructIterator_1_0<'top>; - - fn into_iter(self) -> Self::IntoIter { - self.iter() +impl<'top> LazyRawFieldName<'top, TextEncoding_1_1> + for LazyRawTextFieldName<'top, TextEncoding_1_1> +{ + fn read(&self) -> IonResult> { + self.matched.read() } } diff --git a/src/lazy/text/raw/v1_1/reader.rs b/src/lazy/text/raw/v1_1/reader.rs index d4da8f52..6c070981 100644 --- a/src/lazy/text/raw/v1_1/reader.rs +++ b/src/lazy/text/raw/v1_1/reader.rs @@ -7,8 +7,8 @@ use std::ops::Range; use crate::lazy::any_encoding::IonEncoding; use crate::lazy::decoder::private::LazyContainerPrivate; use crate::lazy::decoder::{ - Decoder, HasRange, HasSpan, LazyRawContainer, LazyRawFieldExpr, LazyRawFieldName, - LazyRawReader, LazyRawStruct, LazyRawValue, LazyRawValueExpr, + Decoder, HasRange, HasSpan, LazyRawContainer, LazyRawFieldExpr, LazyRawReader, LazyRawStruct, + LazyRawValue, LazyRawValueExpr, }; use crate::lazy::encoding::{TextEncoding, TextEncoding_1_1}; use crate::lazy::expanded::macro_evaluator::RawEExpression; @@ -18,15 +18,11 @@ use crate::lazy::raw_stream_item::{EndPosition, LazyRawStreamItem, RawStreamItem use crate::lazy::span::Span; use crate::lazy::streaming_raw_reader::RawReaderState; use crate::lazy::text::buffer::TextBuffer; -use crate::lazy::text::matched::{MatchedFieldName, MatchedValue}; +use crate::lazy::text::matched::MatchedValue; use crate::lazy::text::parse_result::AddContext; use crate::lazy::text::raw::v1_1::arg_group::{EExpArg, TextEExpArgGroup}; -use crate::lazy::text::value::{LazyRawTextValue_1_1, RawTextAnnotationsIterator}; -use crate::{v1_1, Encoding, IonResult, RawSymbolRef}; -use bumpalo::collections::Vec as BumpVec; -use winnow::combinator::opt; -use winnow::token::one_of; -use winnow::Parser; +use crate::lazy::text::value::{LazyRawTextValue, RawTextAnnotationsIterator}; +use crate::{v1_1, Encoding, IonResult}; pub struct LazyRawTextReader_1_1<'data> { input: TextBuffer<'data>, @@ -328,41 +324,12 @@ impl<'top> Iterator for TextEExpArgsIterator_1_1<'top> { } } -#[derive(Debug, Copy, Clone)] -pub struct LazyRawTextFieldName_1_1<'top> { - matched: MatchedFieldName<'top>, -} - -impl<'top> LazyRawTextFieldName_1_1<'top> { - pub(crate) fn new(matched: MatchedFieldName<'top>) -> Self { - Self { matched } - } -} - -impl<'top> HasSpan<'top> for LazyRawTextFieldName_1_1<'top> { - fn span(&self) -> Span<'top> { - self.matched.span() - } -} - -impl HasRange for LazyRawTextFieldName_1_1<'_> { - fn range(&self) -> Range { - self.matched.range() - } -} - -impl<'top> LazyRawFieldName<'top, TextEncoding_1_1> for LazyRawTextFieldName_1_1<'top> { - fn read(&self) -> IonResult> { - self.matched.read() - } -} - #[derive(Copy, Clone)] -pub struct LazyRawTextStruct_1_1<'top> { - pub(crate) value: LazyRawTextValue_1_1<'top>, +pub struct LazyRawTextStruct<'top, E: TextEncoding<'top>> { + pub(crate) value: LazyRawTextValue<'top, E>, } -impl Debug for LazyRawTextStruct_1_1<'_> { +impl<'top, E: TextEncoding<'top>> Debug for LazyRawTextStruct<'top, E> { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { write!(f, "{{")?; for field_result in self.iter() { @@ -387,28 +354,13 @@ impl Debug for LazyRawTextStruct_1_1<'_> { } #[derive(Debug, Copy, Clone)] -pub struct RawTextStructIterator_1_1<'top> { - input: TextBuffer<'top>, - has_returned_error: bool, -} - -impl<'top> RawTextStructIterator_1_1<'top> { - pub(crate) fn new(input: TextBuffer<'top>) -> Self { - Self { - input, - has_returned_error: false, - } - } -} - -#[derive(Debug, Copy, Clone)] -pub struct RawTextStructCacheIterator_1_1<'top> { - field_exprs: &'top [LazyRawFieldExpr<'top, TextEncoding_1_1>], +pub struct RawTextStructCacheIterator<'top, E: TextEncoding<'top>> { + field_exprs: &'top [LazyRawFieldExpr<'top, E>], index: usize, } -impl<'top> RawTextStructCacheIterator_1_1<'top> { - pub fn new(field_exprs: &'top [LazyRawFieldExpr<'top, TextEncoding_1_1>]) -> Self { +impl<'top, E: TextEncoding<'top>> RawTextStructCacheIterator<'top, E> { + pub fn new(field_exprs: &'top [LazyRawFieldExpr<'top, E>]) -> Self { Self { field_exprs, index: 0, @@ -416,8 +368,8 @@ impl<'top> RawTextStructCacheIterator_1_1<'top> { } } -impl<'top> Iterator for RawTextStructCacheIterator_1_1<'top> { - type Item = IonResult>; +impl<'top, E: TextEncoding<'top>> Iterator for RawTextStructCacheIterator<'top, E> { + type Item = IonResult>; fn next(&mut self) -> Option { let next_expr = self.field_exprs.get(self.index)?; @@ -427,20 +379,20 @@ impl<'top> Iterator for RawTextStructCacheIterator_1_1<'top> { } } -impl<'top> LazyContainerPrivate<'top, TextEncoding_1_1> for LazyRawTextStruct_1_1<'top> { - fn from_value(value: LazyRawTextValue_1_1<'top>) -> Self { - LazyRawTextStruct_1_1 { value } +impl<'top, E: TextEncoding<'top>> LazyContainerPrivate<'top, E> for LazyRawTextStruct<'top, E> { + fn from_value(value: LazyRawTextValue<'top, E>) -> Self { + LazyRawTextStruct { value } } } -impl<'top> LazyRawContainer<'top, TextEncoding_1_1> for LazyRawTextStruct_1_1<'top> { - fn as_value(&self) -> ::Value<'top> { +impl<'top, E: TextEncoding<'top>> LazyRawContainer<'top, E> for LazyRawTextStruct<'top, E> { + fn as_value(&self) -> ::Value<'top> { self.value } } -impl<'top> LazyRawStruct<'top, TextEncoding_1_1> for LazyRawTextStruct_1_1<'top> { - type Iterator = RawTextStructCacheIterator_1_1<'top>; +impl<'top, E: TextEncoding<'top>> LazyRawStruct<'top, E> for LazyRawTextStruct<'top, E> { + type Iterator = RawTextStructCacheIterator<'top, E>; fn annotations(&self) -> RawTextAnnotationsIterator<'top> { self.value.annotations() @@ -450,82 +402,7 @@ impl<'top> LazyRawStruct<'top, TextEncoding_1_1> for LazyRawTextStruct_1_1<'top> let MatchedValue::Struct(field_exprs) = self.value.encoded_value.matched() else { unreachable!("struct contained a matched value of the wrong type") }; - RawTextStructCacheIterator_1_1::new(field_exprs) - } -} - -impl<'top> Iterator for RawTextStructIterator_1_1<'top> { - type Item = IonResult>; - - fn next(&mut self) -> Option { - if self.has_returned_error { - return None; - } - match self.input.match_struct_field_1_1() { - Ok(Some(field)) => Some(Ok(field)), - Ok(None) => None, - Err(e) => { - self.has_returned_error = true; - e.with_context("reading the next struct field", self.input) - .transpose() - } - } - } -} - -/// Wraps a [`RawTextStructIterator_1_1`] (which parses the body of a struct) and caches the field -/// expressions the iterator yields along the way. Finally, returns a `Range` representing -/// the span of input bytes that the struct occupies. -pub(crate) struct TextStructSpanFinder_1_1<'top> { - pub(crate) allocator: &'top bumpalo::Bump, - pub(crate) iterator: RawTextStructIterator_1_1<'top>, -} - -impl<'top> TextStructSpanFinder_1_1<'top> { - pub fn new(allocator: &'top bumpalo::Bump, iterator: RawTextStructIterator_1_1<'top>) -> Self { - Self { - allocator, - iterator, - } - } - - /// Scans ahead to find the end of this struct and reports the input span that it occupies. - /// As it scans, it records lazy references to the struct's field expressions. - pub(crate) fn find_span( - &self, - ) -> IonResult<( - Range, - &'top [LazyRawFieldExpr<'top, TextEncoding_1_1>], - )> { - // The input has already skipped past the opening delimiter. - let start = self.iterator.input.offset() - 1; - let mut child_expr_cache = BumpVec::new_in(self.allocator); - for expr_result in self.iterator { - let expr = expr_result?; - child_expr_cache.push(expr); - } - - let end = child_expr_cache - .last() - .map(|e| e.range().end) - .unwrap_or(start + 1); - let mut input = self - .iterator - .input - .slice_to_end(end - self.iterator.input.offset()); - - let _ws = input - .match_optional_comments_and_whitespace() - .with_context("seeking the end of a struct", input)?; - // Skip an optional comma and more whitespace - let _ = (opt(","), TextBuffer::match_optional_comments_and_whitespace) - .parse_next(&mut input) - .with_context("skipping a struct field's trailing comma", input)?; - let _end_delimiter = one_of(|c: u8| c == b'}') - .parse_next(&mut input) - .with_context("seeking the closing delimiter of a struct", input)?; - let end = input.offset(); - Ok((start..end, child_expr_cache.into_bump_slice())) + RawTextStructCacheIterator::new(field_exprs) } } From 0b9aa8007bd299eced19477cd01b782adc3a00ba Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 13:37:08 -0500 Subject: [PATCH 22/32] cleanup --- src/lazy/encoding.rs | 4 ++ src/lazy/text/buffer.rs | 88 +++-------------------------------------- 2 files changed, 9 insertions(+), 83 deletions(-) diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index ae6e6232..3d9c66ba 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -257,8 +257,10 @@ pub trait TextEncoding<'top>: encoded_text_value: EncodedTextValue<'top, Self>, ) -> Self::Value<'top>; + /// Matches an expression that appears in value position. fn value_expr_matcher() -> impl IonParser<'top, LazyRawValueExpr<'top, Self>>; + /// Matches an expression that appears in struct field position. Does NOT match trailing commas. fn field_expr_matcher() -> impl IonParser<'top, LazyRawFieldExpr<'top, Self>>; fn list_matcher() -> impl IonParser<'top, EncodedTextValue<'top, Self>> { @@ -282,6 +284,8 @@ pub trait TextEncoding<'top>: .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) } + /// Logic common to parsing all container types. + /// Caches all subexpressions in the bump allocator for future reference. fn container_matcher( label: &'static str, mut opening_token: &str, diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 91351f44..403f5525 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -1,4 +1,3 @@ -#![deny(dead_code)] use std::fmt::{Debug, Formatter}; use std::ops::Range; use std::str::FromStr; @@ -385,31 +384,6 @@ impl<'top> TextBuffer<'top> { .parse_next(self) } - /// Matches an optional annotations sequence and a value, including operators. - pub fn match_sexp_item(&mut self) -> IonParseResult<'top, Option>> { - let (maybe_sexp_value, matched_input) = whitespace_and_then(alt(( - ")".value(None), - ( - opt(Self::match_annotations), - // We need the s-expression parser to recognize the input `--3` as the operator `--` and the - // int `3` while recognizing the input `-3` as the int `-3`. If `match_operator` runs before - // `match_value`, it will consume the sign (`-`) of negative number values, treating - // `-3` as an operator (`-`) and an int (`3`). Thus, we run `match_value` first. - whitespace_and_then(alt((Self::match_value::, Self::match_operator))), - ) - .map(Some), - ))) - .with_taken() - .parse_next(self)?; - - let Some((maybe_annotations, value)) = maybe_sexp_value else { - return Ok(None); - }; - Ok(Some( - matched_input.apply_annotations::(maybe_annotations, value), - )) - } - /// Matches either: /// * A macro invocation /// * An optional annotations sequence and a value @@ -598,63 +572,6 @@ impl<'top> TextBuffer<'top> { .parse_next(self) } - /// Matches a single value in a list OR the end of the list, allowing for leading whitespace - /// and comments in either case. - /// - /// If a value is found, returns `Ok(Some(value))`. If the end of the list is found, returns - /// `Ok(None)`. - pub fn match_list_item(&mut self) -> IonParseResult<'top, Option>> { - preceded( - // Some amount of whitespace/comments... - Self::match_optional_comments_and_whitespace, - // ...followed by either the end of the list... - alt(( - "]".value(None), - // ...or a value... - terminated( - Self::match_annotated_value::.map(Some), - // ...followed by a comma or end-of-list - Self::match_delimiter_after_list_value, - ), - )), - ) - .parse_next(self) - } - - /// Matches either: - /// * An e-expression (i.e. macro invocation) - /// * An optional annotations sequence and a value - pub fn match_list_item_1_1( - &mut self, - ) -> IonParseResult<'top, Option>> { - whitespace_and_then(alt(( - terminated( - Self::match_e_expression, - Self::match_delimiter_after_list_value, - ) - .map(|matched| Some(RawValueExpr::EExp(matched))), - "]".value(None), - // .map(|maybe_matched| maybe_matched.map(RawValueExpr::ValueLiteral)), - terminated( - Self::match_annotated_value::.map(Some), - // ...followed by a comma or end-of-list - Self::match_delimiter_after_list_value, - ) - .map(|maybe_matched| maybe_matched.map(RawValueExpr::ValueLiteral)), - ))) - .parse_next(self) - } - - /// Matches syntax that is expected to follow a value in a list: any amount of whitespace and/or - /// comments followed by either a comma (consumed) or an end-of-list `]` (not consumed). - fn match_delimiter_after_list_value(&mut self) -> IonMatchResult<'top> { - preceded( - Self::match_optional_comments_and_whitespace, - alt((",", peek("]"))), - ) - .parse_next(self) - } - pub fn match_e_expression_arg_group( &mut self, parameter: &'top Parameter, @@ -902,6 +819,8 @@ impl<'top> TextBuffer<'top> { } } + + pub fn match_empty_arg_group( &mut self, parameter: &'top Parameter, @@ -1733,6 +1652,9 @@ impl<'top> TextBuffer<'top> { pub fn full_match_timestamp<'t>( input: &mut TextBuffer<'t>, ) -> IonParseResult<'t, MatchedTimestamp> { + // TODO: As-is, matching common timestamps (those with greater than second precision) + // is slow because the parser tries each shorter arrangement in turn. We should + // rewrite this to use a single path that can accept any precision. alt(( TextBuffer::match_timestamp_y, TextBuffer::match_timestamp_ym, From fba64e92be8f087c06d103af5a4fa4ee576d809c Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 13:46:47 -0500 Subject: [PATCH 23/32] remove doc links to private types --- src/lazy/expanded/template.rs | 2 +- src/lazy/text/parse_result.rs | 36 +++++++++++++---------------------- 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/lazy/expanded/template.rs b/src/lazy/expanded/template.rs index fd7dc4f2..a3585347 100644 --- a/src/lazy/expanded/template.rs +++ b/src/lazy/expanded/template.rs @@ -1129,7 +1129,7 @@ impl Debug for TemplateExprGroup<'_, D> { } } -/// A resolved version of [`TemplateBodyMacroInvocation`]; instead of holding addresses, this type +/// A resolved version of `TemplateBodyMacroInvocation`; instead of holding addresses, this type /// holds references to the invoked macro and its argument expressions. #[derive(Copy, Clone)] pub struct TemplateMacroInvocation<'top, D: Decoder> { diff --git a/src/lazy/text/parse_result.rs b/src/lazy/text/parse_result.rs index 36174b31..b2a155c8 100644 --- a/src/lazy/text/parse_result.rs +++ b/src/lazy/text/parse_result.rs @@ -1,12 +1,5 @@ -//! The [`nom` parser combinator crate](https://docs.rs/nom/latest/nom/) intentionally provides -//! bare-bones error reporting by default. Each error contains only a `&str` representing the input -//! that could not be matched and an [`ErrorKind`] enum variant indicating which `nom` parser produced -//! the error. This stack-allocated type is very cheap to create, which is important because a -//! typical parse will require creating large numbers of short-lived error values. -//! -//! This module defines `IonParseError`, a custom error type that can capture more information than is -//! supported by [`winnow::error::Error`]. It also defines `IonParseResult`, a type alias for an -//! [`IResult`] that parses `TextBuffer`s and produces `IonParseError`s if something goes wrong. +//! This module defines `IonParseError`, a custom error type, and `IonParseResult`, a type alias for an +//! [`PResult`] that parses `TextBuffer`s and produces `IonParseError`s if something goes wrong. use crate::lazy::text::buffer::TextBuffer; use crate::position::Position; @@ -18,28 +11,25 @@ use winnow::error::{ErrMode, ErrorKind, ParseError, ParserError}; use winnow::stream::Stream; use winnow::PResult; -/// A type alias for a [`IResult`] whose input is a `TextBuffer` and whose error type is an -/// [`InvalidInputError`]. All of the Ion parsers in the `text::parsers` module return an -/// [`IonParseResult`]. +/// A type alias for a [`PResult`] whose input is a [`TextBuffer`] and whose error type is an +/// `IonParseError`. All of the Ion parsers in the `TextBuffer` type return `IonParseResult`. /// /// If the parser is successful, it will return `Ok(output_value)`. If it encounters a problem, -/// it will return a `winnow::Err`. [winnow::Err] is a generic enum with three possible -/// variants: +/// it will return a `winnow::error::ErrMode`. +/// +/// [`ErrMode`] is a generic enum with three possible variants: /// 1. `Incomplete(_)` indicates that there wasn't enough input data to determine whether the /// parser should match or not. -/// 2. `Error(ion_parse_error)` indicates that the parser did not match the input text. -/// 3. `Failure(ion_parse_error)` indicates that the parser matched the text but encountered +/// 2. `Backtrack(ion_parse_error)` indicates that the parser did not match the input text; the reader should try another. +/// 3. `Cut(ion_parse_error)` indicates that the parser matched the text but encountered /// a problem when trying to materialize it into the `output_value`. In such cases, returning a -/// `Failure` signals that this was the correct parser to handle the input but it could not +/// `Cut` signals that this was the correct parser to handle the input but it could not /// be processed successfully for some reason. For example, a parser trying to match a number of /// hours and minutes might match the text `11:71`, but fail when it tries to turn `71` into a /// number of minutes because it's `>=60`. We know this was the right parser, but it wasn't /// able to process it. (This is slightly contrived; it would be possible to write a parser /// that rejected `71` as a number of minutes based on syntax alone.) pub(crate) type IonParseResult<'a, O> = PResult>; -// Functions that return IonParseResult parse TextBuffer-^ ^ ^ -// ...return a value of type `O` -----+ | -// ...or a winnow::Err if something goes wrong ----+ /// As above, but for parsers that simply identify (i.e. 'match') a slice of the input as a /// particular item. @@ -56,8 +46,8 @@ pub enum IonParseError<'data> { /// Describes a problem that occurred while trying to parse a given input `TextBuffer`. /// /// When returned as part of an `IonParseResult`, an `IonParseError` is always wrapped in -/// a [winnow::Err] (see `IonParseResult`'s documentation for details). If the `winnow::Err` is -/// a non-fatal `Error`, the `IonParseError`'s `description` will be `None`. If the `winnow::Err` is +/// an [`ErrMode`] (see `IonParseResult`'s documentation for details). If the `ErrMode` is +/// a non-fatal `Error`, the `IonParseError`'s `description` will be `None`. If the `winnow::ErrMode` is /// a fatal `Failure`, the `description` will be `Some(String)`. In this way, using an /// `IonParseError` only incurs heap allocation costs when parsing is coming to an end. #[derive(Debug, PartialEq)] @@ -218,7 +208,7 @@ impl<'data> From<(TextBuffer<'data>, ErrorKind)> for IonParseError<'data> { } } -/// Allows a [winnow::error::Error] to be converted into an [IonParseError] by calling `.into()`. +/// Allows an [`ErrMode`] to be converted into an [IonParseError] by calling `.into()`. impl<'data> From, IonParseError<'data>>> for IonParseError<'data> { fn from(parse_error: ParseError, IonParseError<'data>>) -> Self { parse_error.into_inner() From ee4c5a7a0de338a60b915660de4b72f42b408fca Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 15:13:45 -0500 Subject: [PATCH 24/32] More comments to `container_matcher` --- src/lazy/encoding.rs | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/lazy/encoding.rs b/src/lazy/encoding.rs index 3d9c66ba..786c8fa1 100644 --- a/src/lazy/encoding.rs +++ b/src/lazy/encoding.rs @@ -284,12 +284,18 @@ pub trait TextEncoding<'top>: .map(|nested_expr_cache| EncodedTextValue::new(MatchedValue::Struct(nested_expr_cache))) } - /// Logic common to parsing all container types. + /// Constructs an `IonParser` implementation using parsing logic common to all container types. /// Caches all subexpressions in the bump allocator for future reference. fn container_matcher( + // Text describing what is being parsed. For example: "a list". + // This message will be added to any error messages for context. label: &'static str, + // The literal that begins the container. ("[", "(", etc.) mut opening_token: &str, + // A closure or function that will construct an appropriate iterator to parse any child + // expressions. mut make_iterator: MakeIterator, + // A parser that will match the expected end of the container. mut end_matcher: impl IonParser<'top, TextBuffer<'top>>, ) -> impl IonParser<'top, &'top [Expr]> where @@ -299,13 +305,15 @@ pub trait TextEncoding<'top>: { use bumpalo::collections::Vec as BumpVec; move |input: &mut TextBuffer<'top>| { - // Make a copy of the input buffer view that the iterator can consume. + // Make a copy of the input buffer view so the iterator has one it can consume. let mut iterator_input = *input; + // Confirm that the input begins with the expected opening token, consuming it in the process. let _head = opening_token.parse_next(&mut iterator_input)?; let iterator = make_iterator(iterator_input); - // The input has already skipped past the opening delimiter. - let start = input.offset(); + // Bump-allocate a space to store any child expressions we encounter as we traverse this + // container. let mut child_expr_cache = BumpVec::new_in(input.context().allocator()); + // Visit each child expression yielded by the parser, reporting any errors. for expr_result in iterator { let expr = match expr_result { Ok(expr) => expr, @@ -316,18 +324,21 @@ pub trait TextEncoding<'top>: return fatal_parse_error(*input, format!("failed to parse {label}: {e:?}")) } }; + // If there are no errors, add the new child expr to the cache. child_expr_cache.push(expr); } + // Take note of where we finished. let last_expr_end = child_expr_cache .last() + // If we found child expressions, we'll resume immediately after the last child expression. .map(|expr| expr.range().end - input.offset()) + // If we didn't find child expressions, we'll resume immediately after the opening token. .unwrap_or(opening_token.len()); - let mut remaining = input.slice_to_end(last_expr_end); - let _matched_end = end_matcher.parse_next(&mut remaining)?; - let end = remaining.offset(); - let span = start..end; - input.consume(span.len()); + // Advance `input` to the remaining data. + *input = input.slice_to_end(last_expr_end); + // Confirm that the last expression is followed by input that `end_matcher` approves of. + let _matched_end = end_matcher.parse_next(input)?; Ok(child_expr_cache.into_bump_slice()) } } From c8a414d8191915b27a934f47e4a832f174d84b62 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 15:14:49 -0500 Subject: [PATCH 25/32] Remove old println --- src/element/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/element/mod.rs b/src/element/mod.rs index 8a45154d..375a4eed 100644 --- a/src/element/mod.rs +++ b/src/element/mod.rs @@ -1764,7 +1764,6 @@ mod value_tests { // Use the Display impl to serialize the sexp to text let text_sexp = format!("{sexp}"); - println!("{text_sexp}"); // Parse the result and make sure it represents the same data let expected_element: Element = sexp.into(); let actual_element = Element::read_one(text_sexp).unwrap(); From 9a6473d5f0fd89d533e9e4954c06966daeb635ae Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 15:32:19 -0500 Subject: [PATCH 26/32] Doc comment --- src/lazy/text/buffer.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 403f5525..41de12cb 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -46,6 +46,8 @@ use bumpalo::collections::Vec as BumpVec; use winnow::ascii::{digit0, digit1}; use crate::lazy::text::raw::sequence::RawTextSExpIterator; +/// Generates parser functions that map from an Ion type representation (`Decimal`, `Int`, etc) +/// to an `EncodedTextValue`. macro_rules! scalar_value_matchers { ($($parser:expr => $variant:ident => $new_parser:ident),*$(,)?) => { $(fn $new_parser>(&mut self) -> IonParseResult<'top, EncodedTextValue<'top, E>> { From a9583c541173ba35391973dc07559fc426d6ccbb Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Tue, 7 Jan 2025 16:09:19 -0500 Subject: [PATCH 27/32] Removes skip list for incompletness checking. --- src/lazy/text/buffer.rs | 4 +--- src/lazy/text/raw/sequence.rs | 17 ----------------- tests/detect_incomplete_text.rs | 17 ----------------- 3 files changed, 1 insertion(+), 37 deletions(-) diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 41de12cb..74a5a51c 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -59,7 +59,7 @@ macro_rules! scalar_value_matchers { impl Debug for TextBuffer<'_> { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { const CHARS_TO_SHOW: usize = 64; - write!(f, "Buf {{")?; + write!(f, "TextBuffer {{")?; // Try to read the next several bytes from the buffer as UTF-8... let text_result = std::str::from_utf8(self.data); // ...if it works, print the first 64 Unicode scalars... @@ -738,8 +738,6 @@ impl<'top> TextBuffer<'top> { let ((macro_id, macro_ref, mut arg_expr_cache), matched_input) = parser.with_taken().parse_next(self)?; - // let matched_input = self.slice(0, input.offset() - self.offset()); - let parameters = macro_ref.signature().parameters(); if arg_expr_cache.len() < parameters.len() { // If expressions were not provided for all arguments, it was due to rest syntax. diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index 07006356..ce35ff4f 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -209,23 +209,6 @@ impl<'data, E: TextEncoding<'data>> Iterator for RawTextSExpIterator<'data, E> { } } } - - // fn next(&mut self) -> Option { - // if self.has_returned_error { - // return None; - // } - // match self.input.match_sexp_item() { - // Ok(Some(value)) => Some(Ok(RawValueExpr::ValueLiteral(LazyRawTextValue::::from( - // value, - // )))), - // Ok(None) => None, - // Err(e) => { - // self.has_returned_error = true; - // e.with_context("reading the next sexp value", self.input) - // .transpose() - // } - // } - // } } impl<'data, E: TextEncoding<'data>> LazyContainerPrivate<'data, E> for RawTextSExp<'data, E> { diff --git a/tests/detect_incomplete_text.rs b/tests/detect_incomplete_text.rs index 56be95e5..ec4d4627 100644 --- a/tests/detect_incomplete_text.rs +++ b/tests/detect_incomplete_text.rs @@ -13,29 +13,12 @@ use test_generator::test_resources; mod ion_tests; -// These tests are all failing because multipart long strings are not handled correctly when the -// "part" boundary happens to also fall on a point where the reader needs to refill the input buffer. -const INCOMPLETE_LONG_STRING_SKIP_LIST: SkipList = &[ - "ion-tests/iontestdata/good/equivs/localSymbolTableAppend.ion", - "ion-tests/iontestdata/good/equivs/localSymbolTableNullSlots.ion", - "ion-tests/iontestdata/good/equivs/longStringsWithComments.ion", - "ion-tests/iontestdata/good/equivs/strings.ion", - "ion-tests/iontestdata/good/lists.ion", - "ion-tests/iontestdata/good/strings.ion", - "ion-tests/iontestdata/good/stringsWithWhitespace.ion", - "ion-tests/iontestdata/good/strings_cr_nl.ion", - "ion-tests/iontestdata/good/strings2.ion", - "ion-tests/iontestdata/good/structs.ion", - "ion-tests/iontestdata/good/strings_nl.ion", -]; - // A copy of the `ELEMENT_GLOBAL_SKIP_LIST` in which each file name has been canonicalized for the // current host machine. This makes it possible to compare names in the list with names of files // on the host without worrying about differences in (for example) path separators. static CANONICAL_FILE_NAMES: LazyLock> = LazyLock::new(|| { ELEMENT_GLOBAL_SKIP_LIST .iter() - .chain(INCOMPLETE_LONG_STRING_SKIP_LIST.iter()) .filter_map(|filename| { // Canonicalize the skip list file names so they're in the host OS' preferred format. // This involves looking up the actual file; if canonicalization fails, the file could From 2ee8877ca1b69ef9f31dcd2d014cbb764b3ca41e Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Wed, 8 Jan 2025 10:12:41 -0500 Subject: [PATCH 28/32] Removes unused import from `detect_incomplete_text` test --- tests/detect_incomplete_text.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/detect_incomplete_text.rs b/tests/detect_incomplete_text.rs index ec4d4627..32c92c29 100644 --- a/tests/detect_incomplete_text.rs +++ b/tests/detect_incomplete_text.rs @@ -1,6 +1,6 @@ #![cfg(feature = "experimental-reader-writer")] -use crate::ion_tests::{DataStraw, SkipList, ELEMENT_GLOBAL_SKIP_LIST}; +use crate::ion_tests::{DataStraw, ELEMENT_GLOBAL_SKIP_LIST}; use ion_rs::{ AnyEncoding, Element, ElementReader, IonData, IonError, IonResult, IonStream, Reader, }; From 6ba2c505ad9f768df083ab37a6496623c430d78a Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Thu, 9 Jan 2025 05:25:07 -0500 Subject: [PATCH 29/32] cleanup, removes some `unsafe` usages --- src/lazy/binary/raw/reader.rs | 15 +++----- src/lazy/binary/raw/struct.rs | 3 +- src/lazy/binary/raw/value.rs | 3 +- src/lazy/raw_value_ref.rs | 6 +-- src/lazy/streaming_raw_reader.rs | 63 ++++++++++++++------------------ src/lazy/text/matched.rs | 41 +++++++++++++-------- 6 files changed, 61 insertions(+), 70 deletions(-) diff --git a/src/lazy/binary/raw/reader.rs b/src/lazy/binary/raw/reader.rs index d093f48c..e67402a1 100644 --- a/src/lazy/binary/raw/reader.rs +++ b/src/lazy/binary/raw/reader.rs @@ -284,8 +284,7 @@ mod tests { "#, )?; let context = EncodingContext::empty(); - let context = context.get_ref(); - let mut reader = LazyRawBinaryReader_1_0::new(context, data); + let mut reader = LazyRawBinaryReader_1_0::new(context.get_ref(), data); let _ivm = reader.next()?.expect_ivm()?; let _symbol_table = reader.next()?.expect_value()?; let lazy_list = reader.next()?.expect_value()?.read()?.expect_list()?; @@ -330,8 +329,7 @@ mod tests { "#, )?; let context = EncodingContext::empty(); - let context = context.get_ref(); - let mut reader = LazyRawBinaryReader_1_0::new(context, data); + let mut reader = LazyRawBinaryReader_1_0::new(context.get_ref(), data); loop { use RawStreamItem::*; match reader.next()? { @@ -355,8 +353,7 @@ mod tests { "#, )?; let context = EncodingContext::empty(); - let context = context.get_ref(); - let mut reader = LazyRawBinaryReader_1_0::new(context, data); + let mut reader = LazyRawBinaryReader_1_0::new(context.get_ref(), data); let _ivm = reader.next()?.expect_ivm()?; // Read annotations from $ion_symbol_table::{...} @@ -392,8 +389,7 @@ mod tests { ]; let context = EncodingContext::empty(); - let context = context.get_ref(); - let mut reader = LazyRawBinaryReader_1_0::new(context, &data); + let mut reader = LazyRawBinaryReader_1_0::new(context.get_ref(), &data); let _ivm = reader.next()?.expect_ivm()?; assert_eq!( @@ -416,8 +412,7 @@ mod tests { ]; let context = EncodingContext::empty(); - let context = context.get_ref(); - let mut reader = LazyRawBinaryReader_1_0::new(context, &data); + let mut reader = LazyRawBinaryReader_1_0::new(context.get_ref(), &data); let _ivm = reader.next()?.expect_ivm()?; let _ivm = reader.next()?.expect_ivm()?; diff --git a/src/lazy/binary/raw/struct.rs b/src/lazy/binary/raw/struct.rs index d9268311..703fa314 100644 --- a/src/lazy/binary/raw/struct.rs +++ b/src/lazy/binary/raw/struct.rs @@ -165,9 +165,8 @@ mod tests { ), ]; let context = EncodingContext::empty(); - let context = context.get_ref(); for (input, field_name_ranges) in tests { - let mut reader = LazyRawBinaryReader_1_0::new(context, input); + let mut reader = LazyRawBinaryReader_1_0::new(context.get_ref(), input); let struct_ = reader.next()?.expect_value()?.read()?.expect_struct()?; for (field_result, (expected_name, range)) in struct_.iter().zip(field_name_ranges.iter()) diff --git a/src/lazy/binary/raw/value.rs b/src/lazy/binary/raw/value.rs index 11f4ad60..062087c2 100644 --- a/src/lazy/binary/raw/value.rs +++ b/src/lazy/binary/raw/value.rs @@ -803,8 +803,7 @@ mod tests { "#, )?; let context = EncodingContext::empty(); - let context = context.get_ref(); - let mut reader = LazyRawBinaryReader_1_0::new(context, data); + let mut reader = LazyRawBinaryReader_1_0::new(context.get_ref(), data); let _ivm = reader.next()?.expect_ivm()?; let value = reader.next()?.expect_value()?; let annotations_sequence = value.annotations_sequence(); diff --git a/src/lazy/raw_value_ref.rs b/src/lazy/raw_value_ref.rs index fa266cfd..4f4b9cfb 100644 --- a/src/lazy/raw_value_ref.rs +++ b/src/lazy/raw_value_ref.rs @@ -239,8 +239,7 @@ mod tests { "#, )?; let context = EncodingContext::empty(); - let context = context.get_ref(); - let mut reader = LazyRawBinaryReader::new(context, &ion_data); + let mut reader = LazyRawBinaryReader::new(context.get_ref(), &ion_data); // IVM reader.next()?.expect_ivm()?; // Symbol table @@ -308,8 +307,7 @@ mod tests { "#, )?; let context = EncodingContext::empty(); - let context = context.get_ref(); - let mut reader = LazyRawBinaryReader::new(context, &ion_data); + let mut reader = LazyRawBinaryReader::new(context.get_ref(), &ion_data); // IVM reader.next()?.expect_ivm()?; diff --git a/src/lazy/streaming_raw_reader.rs b/src/lazy/streaming_raw_reader.rs index d0aaf645..ffc20c02 100644 --- a/src/lazy/streaming_raw_reader.rs +++ b/src/lazy/streaming_raw_reader.rs @@ -97,21 +97,13 @@ impl StreamingRawReader { /// Gets a reference to the data source and tries to fill its buffer. #[inline] fn pull_more_data_from_source(&mut self) -> IonResult { - // SAFETY: `self.input` is an `UnsafeCell`, which prevents the borrow - // checker from governing its contents. Because this method has a mutable reference - // to `self`, it is safe to modify `self`'s contents. - let input = unsafe { &mut *self.input.get() }; - input.fill_buffer() + self.input.get_mut().fill_buffer() } /// Returns true if the input buffer is empty. #[inline] - fn buffer_is_empty(&self) -> bool { - // SAFETY: `self.input` is an `UnsafeCell`, which prevents the borrow - // checker from governing its contents. Because this method has an immutable reference - // to `self`, it is safe to read `self`'s contents. - let input = unsafe { &*self.input.get() }; - input.buffer().is_empty() + fn buffer_is_empty(&mut self) -> bool { + self.input.get_mut().buffer().is_empty() } pub fn next<'top>( @@ -128,8 +120,8 @@ impl StreamingRawReader { self.read_next(context, /*is_peek=*/ true) } - fn input_is_streaming(&self) -> bool { - unsafe { &*self.input.get() }.is_streaming() + fn input_is_streaming(&mut self) -> bool { + self.input.get_mut().is_streaming() } fn read_next<'top>( @@ -149,6 +141,15 @@ impl StreamingRawReader { self.pull_more_data_from_source()?; } + // We're going to try to read a lazy value from the available input. If we + // succeed, we'll return it. If the data is incomplete, we'll return to the top + // of the loop. Conditionally returning a value in a loop is the borrow checker's + // Achilles' heel (see comment on the `StreamingRawReader` type), so we use an + // unsafe access to get a reference to the available bytes. + // + // SAFETY: If `self.input` needs to be refilled later on, `available_bytes` MUST NOT be + // read from in the same loop iteration afterward, since it may refer to a buffer + // that has been dropped. let available_bytes = unsafe { &*self.input.get() }.buffer(); let state = RawReaderState::new( available_bytes, @@ -156,25 +157,20 @@ impl StreamingRawReader { input_source_exhausted, self.encoding(), ); - let unsafe_cell_reader = UnsafeCell::new( as LazyRawReader< - 'top, - Encoding, - >>::resume(context, state)); - let slice_reader = unsafe { &mut *unsafe_cell_reader.get() }; + + // Construct a new raw reader picking up from where the StreamingRawReader left off. + let mut slice_reader = + as LazyRawReader<'top, Encoding>>::resume(context, state); let starting_position = slice_reader.position(); let old_encoding = slice_reader.encoding(); + let result = slice_reader.next(); - // We're done modifying `slice_reader`, but we need to read some of its fields. These - // fields are _not_ the data to which `result` holds a reference. We have to circumvent - // the borrow checker's limitation (described in a comment on the StreamingRawReader type) - // by getting a second (read-only) reference to the reader. - let slice_reader_ref = unsafe { &*unsafe_cell_reader.get() }; - let new_encoding = slice_reader_ref.encoding(); - let end_position = slice_reader_ref.position(); + let new_encoding = slice_reader.encoding(); + let end_position = slice_reader.position(); let bytes_read = end_position - starting_position; - let input = unsafe { &mut *self.input.get() }; + // If we ran out of data before we could get a result... if matches!( result, @@ -183,10 +179,8 @@ impl StreamingRawReader { if input_source_exhausted { // There's no more data, so the result is final. } else { - // ...try to pull more data from the data source. It's ok to modify the buffer in - // this case because `result` (which holds a reference to the buffer) will be - // discarded. - if input.fill_buffer()? == 0 { + // ...more data may be available, so try to pull from the data source. + if self.pull_more_data_from_source()? == 0 { input_source_exhausted = true; } continue; @@ -230,11 +224,8 @@ impl StreamingRawReader { // stream are all cases where the reader looking at a fixed slice of the // buffer may reach the wrong conclusion. _ => { - // Try to pull more data from the input source. This invalidates the `result` - // variable because `fill_buffer()` may cause the buffer to be reallocated, - // so we start this iteration over. This results in the last value being parsed - // a second time from the (potentially updated) buffer. - if input.fill_buffer()? == 0 { + // Try to pull more data from the input source. + if self.pull_more_data_from_source()? == 0 { input_source_exhausted = true; } continue; @@ -245,7 +236,7 @@ impl StreamingRawReader { // If this isn't just a peek, update our state to remember what we've already read. if !is_peek { // Mark those input bytes as having been consumed so they are not read again. - input.consume(bytes_read); + self.input.get_mut().consume(bytes_read); // Update the streaming reader's position to reflect the number of bytes we // just read. self.stream_position = end_position; diff --git a/src/lazy/text/matched.rs b/src/lazy/text/matched.rs index 9b8107ab..045a7d7b 100644 --- a/src/lazy/text/matched.rs +++ b/src/lazy/text/matched.rs @@ -42,7 +42,7 @@ use num_traits::Zero; use smallvec::SmallVec; use winnow::combinator::alt; use winnow::combinator::preceded; -use winnow::stream::AsChar; +use winnow::stream::{AsChar, Stream}; use winnow::Parser; /// A partially parsed Ion value. @@ -1171,7 +1171,7 @@ impl MatchedClob { // Use the existing short string body parser to identify all of the bytes up to the // unescaped closing `"`. This parser succeeded once during matching, so we know it will // succeed again here; it's safe to unwrap(). - let (body, _has_escapes) = remaining.clone().match_short_string_body().unwrap(); + let (body, _has_escapes) = remaining.checkpoint().match_short_string_body().unwrap(); // There are escaped characters. We need to build a new version of our string // that replaces the escaped characters with their corresponding bytes. let mut sanitized = BumpVec::with_capacity_in(body.len(), allocator); @@ -1226,6 +1226,8 @@ mod tests { use crate::lazy::expanded::{EncodingContext, EncodingContextRef}; use crate::lazy::text::buffer::TextBuffer; use crate::{Decimal, Int, IonResult, Timestamp}; + use winnow::combinator::peek; + use winnow::Parser; #[test] fn read_ints() -> IonResult<()> { @@ -1233,8 +1235,8 @@ mod tests { let expected: Int = expected.into(); let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes(), true); - let matched = buffer.clone().match_int().unwrap(); + let mut buffer = TextBuffer::new(context, data.as_bytes(), true); + let matched = peek(TextBuffer::match_int).parse_next(&mut buffer).unwrap(); let actual = matched.read(buffer).unwrap(); assert_eq!( actual, expected, @@ -1267,8 +1269,10 @@ mod tests { fn expect_timestamp(data: &str, expected: Timestamp) { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes(), true); - let matched = buffer.clone().match_timestamp().unwrap(); + let mut buffer = TextBuffer::new(context, data.as_bytes(), true); + let matched = peek(TextBuffer::match_timestamp) + .parse_next(&mut buffer) + .unwrap(); let actual = matched.read(buffer).unwrap(); assert_eq!( actual, expected, @@ -1370,15 +1374,14 @@ mod tests { fn expect_decimal(data: &str, expected: Decimal) { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes(), true); - let result = buffer.clone().match_decimal(); + let mut buffer = TextBuffer::new(context, data.as_bytes(), true); + let result = peek(TextBuffer::match_decimal).parse_next(&mut buffer); assert!( result.is_ok(), "Unexpected match error for input: '{data}': {:?}", result ); - let matched = buffer.clone().match_decimal().expect("match decimal"); - let result = matched.read(buffer); + let result = result.unwrap().read(buffer); assert!( result.is_ok(), "Unexpected read error for input '{data}': {:?}", @@ -1452,8 +1455,10 @@ mod tests { fn expect_blob(data: &str, expected: &str) { let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes(), true); - let matched = buffer.clone().match_blob().unwrap(); + let mut buffer = TextBuffer::new(context, data.as_bytes(), true); + let matched = peek(TextBuffer::match_blob) + .parse_next(&mut buffer) + .unwrap(); let actual = matched.read(context.allocator(), buffer).unwrap(); assert_eq!( actual, @@ -1490,8 +1495,10 @@ mod tests { // our fabricated value off of the input before reading. let encoding_context = EncodingContext::empty(); let context = encoding_context.get_ref(); - let buffer = TextBuffer::new(context, data.as_bytes(), true); - let matched = buffer.clone().match_string().unwrap(); + let mut buffer = TextBuffer::new(context, data.as_bytes(), true); + let matched = peek(TextBuffer::match_string) + .parse_next(&mut buffer) + .unwrap(); let actual = matched.read(context.allocator(), buffer).unwrap(); assert_eq!( actual, expected, @@ -1528,10 +1535,12 @@ mod tests { context: EncodingContextRef<'a>, data: &'a str, ) -> IonResult> { - let buffer = TextBuffer::new(context, data.as_bytes(), true); + let mut buffer = TextBuffer::new(context, data.as_bytes(), true); // All `read_clob` usages should be accepted by the matcher, so we can `unwrap()` the // call to `match_clob()`. - let matched = buffer.clone().match_clob().unwrap(); + let matched = peek(TextBuffer::match_clob) + .parse_next(&mut buffer) + .unwrap(); // The resulting buffer slice may be rejected during reading. matched.read(context.allocator(), buffer) } From 194793159ad477c34ee1f4418fb7a98247d355e8 Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Thu, 9 Jan 2025 06:59:07 -0500 Subject: [PATCH 30/32] fix struct field parser, adds more unit tests --- src/lazy/text/buffer.rs | 65 +++++++++++++++++++++++++++++++++++++ src/lazy/text/raw/struct.rs | 10 ++++-- 2 files changed, 72 insertions(+), 3 deletions(-) diff --git a/src/lazy/text/buffer.rs b/src/lazy/text/buffer.rs index 74a5a51c..2ba7a3e7 100644 --- a/src/lazy/text/buffer.rs +++ b/src/lazy/text/buffer.rs @@ -2596,6 +2596,71 @@ mod tests { ] } + matcher_tests! { + match_struct_1_0 => TextEncoding_1_0::struct_matcher(), + expect_match: [ + "{}", + "{$0:$0}", + "{'':''}", + r#"{"":""}"#, + "{foo:bar}", + "{foo: bar, baz: quux}", + "{'foo': bar, 'baz': quux}", + r#"{foo: bar, "baz": quux}"#, + r#"{'foo': bar, "baz": quux}"#, + "{_:_}", + "{foo: [1, 2, 3]}", + "{foo: foo, foo: foo}", + "{foo: foo::foo::foo, foo: foo::foo}" + ], + expect_mismatch: [ + "{", "{foo: bar", + "{1: bar}", + "{foo: bar baz: quux}", + "{foo: bar,, baz: quux}", + "{foo:: bar, baz: quux}", + "{, foo: bar, baz: quux}", + "{,}" + ] + } + + matcher_tests_with_macro! { + match_struct_1_1 => TextEncoding_1_1::struct_matcher(), + "(macro foo (x*) {quux: quuz})" + expect_match: [ + "{}", "{$0:$0}", "{'':''}", r#"{"":""}"#, "{foo:bar}", + "{foo: bar, baz: quux}", "{'foo': bar, 'baz': quux}", + r#"{foo: bar, "baz": quux}"#, r#"{'foo': bar, "baz": quux}"#, + "{_:_}", "{foo: [1, 2, 3]}", "{foo: foo, foo: foo}", + "{a: (:foo 1 2 3)}", + // With e-expressions + "{(:foo)}", + "{ (:foo)}", + "{(:foo) }", + "{(:foo), (:foo)}", + "{ (:foo) , (:foo) }", + "{ a : (:foo 1 2 3) , b : (:foo 4 5 6) }", + "{a:(:foo 1 2 3),b:(:foo 4 5 6)}", "{(:foo), (:foo)}", + "{a: (:foo 1 2 3), b: (:foo 4 5 6)}" + ], + expect_mismatch: [ + "{", "{foo: bar", + "{1: bar}", + "{foo: bar baz: quux}", + "{foo: bar,, baz: quux}", + "{foo:: bar, baz: quux}", + "{, foo: bar, baz: quux}", + "{,}", + "{(:foo}", + "{(:foo]}", + "{[:foo}", + "{(foo)}", + "{(:foo): bar}", + "{bar: (:foo}", + "{bar: (:foo) baz: quux}", + ] + } + matcher_tests_with_macro! { parsing_eexps => TextBuffer::match_e_expression, "(macro foo (x*) null)" diff --git a/src/lazy/text/raw/struct.rs b/src/lazy/text/raw/struct.rs index edbfe4a0..d6120e76 100644 --- a/src/lazy/text/raw/struct.rs +++ b/src/lazy/text/raw/struct.rs @@ -9,7 +9,7 @@ use crate::lazy::text::parse_result::AddContext; use crate::{IonResult, RawSymbolRef}; use std::marker::PhantomData; use std::ops::Range; -use winnow::combinator::{alt, opt, terminated}; +use winnow::combinator::{alt, peek, terminated}; use winnow::Parser; #[derive(Clone, Copy, Debug)] @@ -38,10 +38,14 @@ impl<'top, E: TextEncoding<'top>> Iterator for RawTextStructIterator<'top, E> { } let result = whitespace_and_then(alt(( - "}".value(None), + // If it's the end of the struct, don't consume it so future calls will also yield `None` + peek("}").value(None), terminated( E::field_expr_matcher().map(Some), - whitespace_and_then(opt(",")), + whitespace_and_then( + // Either a comma (consumed) or an upcoming end-of-struct (not consumed) + alt((",", peek("}"))), + ), ), ))) .parse_next(&mut self.input); From 76b9256bd9d05734a7c1d9434f2d0f13a5cfe84d Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Thu, 9 Jan 2025 07:05:07 -0500 Subject: [PATCH 31/32] Makes `IonDataSource::is_streaming()` an associated const --- src/lazy/streaming_raw_reader.rs | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/lazy/streaming_raw_reader.rs b/src/lazy/streaming_raw_reader.rs index ffc20c02..9233d8d7 100644 --- a/src/lazy/streaming_raw_reader.rs +++ b/src/lazy/streaming_raw_reader.rs @@ -120,10 +120,6 @@ impl StreamingRawReader { self.read_next(context, /*is_peek=*/ true) } - fn input_is_streaming(&mut self) -> bool { - self.input.get_mut().is_streaming() - } - fn read_next<'top>( &'top mut self, context: EncodingContextRef<'top>, @@ -131,7 +127,7 @@ impl StreamingRawReader { ) -> IonResult> { // If the input is a stream, we assume there may be more data available. // If it's a fixed slice, we know it's already complete. - let mut input_source_exhausted = !self.input_is_streaming(); + let mut input_source_exhausted = !Input::DataSource::IS_STREAMING; loop { // If the input buffer is empty, try to pull more data from the source before proceeding. // It's important that we do this _before_ reading from the buffer; any item returned @@ -257,6 +253,9 @@ impl StreamingRawReader { /// An input source--typically an implementation of either `AsRef<[u8]>` or `io::Read`--from which /// Ion can be read, paying the cost of buffering and I/O copies only when necessary. pub trait IonDataSource { + /// If `true`, the current contents of the buffer may not be the complete stream. + const IS_STREAMING: bool; + /// Returns a slice of all unread bytes that are currently available in the buffer. fn buffer(&self) -> &[u8]; @@ -268,9 +267,6 @@ pub trait IonDataSource { /// Marks `number_of_bytes` in the buffer as having been read. The caller is responsible for /// confirming that the buffer contains at least `number_of_bytes` bytes. fn consume(&mut self, number_of_bytes: usize); - - /// If `true`, the current contents of the buffer may not be the complete stream. - fn is_streaming(&self) -> bool; } /// A fixed slice of Ion data that does not grow; it wraps an implementation of `AsRef<[u8]>` such @@ -303,6 +299,8 @@ impl> IonSlice { } impl> IonDataSource for IonSlice { + const IS_STREAMING: bool = false; + #[inline] fn buffer(&self) -> &[u8] { // Return the input slice containing all of the as-of-yet unread bytes. @@ -327,11 +325,6 @@ impl> IonDataSource for IonSlice { self.buffer() ); } - - #[inline(always)] - fn is_streaming(&self) -> bool { - false - } } /// A buffered reader for types that don't implement AsRef<[u8]> @@ -377,6 +370,8 @@ impl IonStream { } impl IonDataSource for IonStream { + const IS_STREAMING: bool = true; + fn buffer(&self) -> &[u8] { &self.buffer[self.position..self.limit] } @@ -406,11 +401,6 @@ impl IonDataSource for IonStream { self.position += number_of_bytes; debug_assert!(self.position <= self.limit); } - - #[inline(always)] - fn is_streaming(&self) -> bool { - true - } } /// Types that can be used as a source of Ion data. From 4085e38943098e78a07d893564933c5a313f1b2e Mon Sep 17 00:00:00 2001 From: Zack Slayton Date: Thu, 9 Jan 2025 07:11:40 -0500 Subject: [PATCH 32/32] Avoid RawTextListIterator consuming a list's closing `]` --- src/lazy/text/raw/sequence.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lazy/text/raw/sequence.rs b/src/lazy/text/raw/sequence.rs index ce35ff4f..3b6323a7 100644 --- a/src/lazy/text/raw/sequence.rs +++ b/src/lazy/text/raw/sequence.rs @@ -112,7 +112,8 @@ impl<'data, E: TextEncoding<'data>> Iterator for RawTextListIterator<'data, E> { return None; } let result = whitespace_and_then(alt(( - "]".value(None), + // We only peek at the end so future calls to `next()` will continue to yield `None`. + peek("]").value(None), terminated( E::value_expr_matcher(), whitespace_and_then(alt((",", peek("]")))),