gitextract_077kgy9b/ ├── .clang-format ├── .devcontainer/ │ ├── clang10/ │ │ └── devcontainer.json │ ├── clang11/ │ │ └── devcontainer.json │ ├── clang13/ │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── clang14/ │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── clang15/ │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── clang16/ │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── clang17/ │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── clang5/ │ │ └── devcontainer.json │ ├── clang6/ │ │ └── devcontainer.json │ ├── clang7/ │ │ └── devcontainer.json │ ├── clang8/ │ │ └── devcontainer.json │ ├── clang9/ │ │ └── devcontainer.json │ ├── gcc10/ │ │ └── devcontainer.json │ ├── gcc11/ │ │ └── devcontainer.json │ ├── gcc12/ │ │ ├── Dockerfile │ │ └── devcontainer.json │ ├── gcc48/ │ │ └── devcontainer.json │ ├── gcc5/ │ │ └── devcontainer.json │ ├── gcc6/ │ │ └── devcontainer.json │ ├── gcc7/ │ │ └── devcontainer.json │ ├── gcc8/ │ │ └── devcontainer.json │ └── gcc9/ │ └── devcontainer.json ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ ├── feature_request.md │ │ └── help.md │ └── workflows/ │ ├── ci.yml │ ├── lock.yml │ └── release.yml ├── .gitignore ├── .mbedignore ├── .prettierignore ├── .vscode/ │ └── settings.json ├── ArduinoJson.h ├── CHANGELOG.md ├── CMakeLists.txt ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── SUPPORT.md ├── appveyor.yml ├── component.mk ├── examples/ │ ├── JsonConfigFile/ │ │ └── JsonConfigFile.ino │ ├── JsonFilterExample/ │ │ └── JsonFilterExample.ino │ ├── JsonGeneratorExample/ │ │ └── JsonGeneratorExample.ino │ ├── JsonHttpClient/ │ │ └── JsonHttpClient.ino │ ├── JsonParserExample/ │ │ └── JsonParserExample.ino │ ├── JsonServer/ │ │ └── JsonServer.ino │ ├── JsonUdpBeacon/ │ │ └── JsonUdpBeacon.ino │ ├── MsgPackParser/ │ │ └── MsgPackParser.ino │ ├── ProgmemExample/ │ │ └── ProgmemExample.ino │ └── StringExample/ │ └── StringExample.ino ├── extras/ │ ├── ArduinoJsonConfig.cmake.in │ ├── CompileOptions.cmake │ ├── ci/ │ │ ├── espidf/ │ │ │ ├── CMakeLists.txt │ │ │ └── main/ │ │ │ ├── CMakeLists.txt │ │ │ ├── component.mk │ │ │ └── main.cpp │ │ └── particle.sh │ ├── conf_test/ │ │ ├── avr.cpp │ │ ├── esp8266.cpp │ │ ├── x64.cpp │ │ └── x86.cpp │ ├── fuzzing/ │ │ ├── CMakeLists.txt │ │ ├── Makefile │ │ ├── json_corpus/ │ │ │ └── .gitignore │ │ ├── json_fuzzer.cpp │ │ ├── json_seed_corpus/ │ │ │ ├── Comments.json │ │ │ ├── EmptyArray.json │ │ │ ├── EmptyObject.json │ │ │ ├── ExcessiveNesting.json │ │ │ ├── IntegerOverflow.json │ │ │ ├── Numbers.json │ │ │ ├── OpenWeatherMap.json │ │ │ ├── Strings.json │ │ │ └── WeatherUnderground.json │ │ ├── msgpack_corpus/ │ │ │ └── .gitignore │ │ ├── msgpack_fuzzer.cpp │ │ ├── msgpack_seed_corpus/ │ │ │ ├── array16 │ │ │ ├── array32 │ │ │ ├── false │ │ │ ├── fixarray │ │ │ ├── fixint_negative │ │ │ ├── fixint_positive │ │ │ ├── fixmap │ │ │ ├── fixstr │ │ │ ├── float32 │ │ │ ├── float64 │ │ │ ├── int16 │ │ │ ├── int32 │ │ │ ├── int64 │ │ │ ├── int8 │ │ │ ├── map16 │ │ │ ├── map32 │ │ │ ├── nil │ │ │ ├── str16 │ │ │ ├── str32 │ │ │ ├── str8 │ │ │ ├── true │ │ │ ├── uint16 │ │ │ ├── uint32 │ │ │ ├── uint64 │ │ │ └── uint8 │ │ ├── number_corpus/ │ │ │ └── .gitignore │ │ ├── number_fuzzer.cpp │ │ ├── number_seed_corpus/ │ │ │ ├── decimal_half │ │ │ ├── decimal_one_and_half │ │ │ ├── infinity │ │ │ ├── issue2220-1 │ │ │ ├── issue2220-2 │ │ │ ├── large_decimal │ │ │ ├── large_integer │ │ │ ├── leading_zeros │ │ │ ├── nan │ │ │ ├── negative_decimal │ │ │ ├── negative_one │ │ │ ├── negative_scientific │ │ │ ├── negative_scientific_large_exp │ │ │ ├── negative_zero │ │ │ ├── one │ │ │ ├── pi_approximation │ │ │ ├── scientific_e10 │ │ │ ├── scientific_e_minus │ │ │ ├── scientific_e_plus │ │ │ ├── small_decimal │ │ │ ├── small_integer │ │ │ ├── trailing_zeros │ │ │ ├── very_small_positive │ │ │ └── zero │ │ └── reproducer.cpp │ ├── particle/ │ │ ├── project.properties │ │ └── src/ │ │ └── smocktest.ino │ ├── scripts/ │ │ ├── build-single-header.sh │ │ ├── extract_changes.awk │ │ ├── get-release-page.sh │ │ ├── publish-particle-library.sh │ │ ├── publish.sh │ │ └── wandbox/ │ │ ├── JsonGeneratorExample.cpp │ │ ├── JsonParserExample.cpp │ │ ├── MsgPackParserExample.cpp │ │ └── publish.sh │ └── tests/ │ ├── .clang-tidy │ ├── CMakeLists.txt │ ├── Cpp17/ │ │ ├── CMakeLists.txt │ │ └── string_view.cpp │ ├── Cpp20/ │ │ ├── CMakeLists.txt │ │ └── smoke_test.cpp │ ├── Deprecated/ │ │ ├── BasicJsonDocument.cpp │ │ ├── CMakeLists.txt │ │ ├── DynamicJsonDocument.cpp │ │ ├── StaticJsonDocument.cpp │ │ ├── add.cpp │ │ ├── containsKey.cpp │ │ ├── createNestedArray.cpp │ │ ├── createNestedObject.cpp │ │ ├── macros.cpp │ │ ├── memoryUsage.cpp │ │ └── shallowCopy.cpp │ ├── FailingBuilds/ │ │ ├── CMakeLists.txt │ │ ├── Issue978.cpp │ │ ├── assign_char.cpp │ │ ├── deserialize_object.cpp │ │ ├── read_long_long.cpp │ │ ├── variant_as_char.cpp │ │ └── write_long_long.cpp │ ├── Helpers/ │ │ ├── Allocators.hpp │ │ ├── Arduino.h │ │ ├── CustomReader.hpp │ │ ├── Literals.hpp │ │ ├── api/ │ │ │ ├── Print.h │ │ │ ├── Stream.h │ │ │ └── String.h │ │ └── avr/ │ │ └── pgmspace.h │ ├── IntegrationTests/ │ │ ├── CMakeLists.txt │ │ ├── gbathree.cpp │ │ ├── issue772.cpp │ │ ├── openweathermap.cpp │ │ └── round_trip.cpp │ ├── JsonArray/ │ │ ├── CMakeLists.txt │ │ ├── add.cpp │ │ ├── clear.cpp │ │ ├── compare.cpp │ │ ├── copyArray.cpp │ │ ├── equals.cpp │ │ ├── isNull.cpp │ │ ├── iterator.cpp │ │ ├── nesting.cpp │ │ ├── remove.cpp │ │ ├── size.cpp │ │ ├── subscript.cpp │ │ └── unbound.cpp │ ├── JsonArrayConst/ │ │ ├── CMakeLists.txt │ │ ├── equals.cpp │ │ ├── isNull.cpp │ │ ├── iterator.cpp │ │ ├── nesting.cpp │ │ ├── size.cpp │ │ └── subscript.cpp │ ├── JsonDeserializer/ │ │ ├── CMakeLists.txt │ │ ├── DeserializationError.cpp │ │ ├── array.cpp │ │ ├── destination_types.cpp │ │ ├── errors.cpp │ │ ├── filter.cpp │ │ ├── input_types.cpp │ │ ├── misc.cpp │ │ ├── nestingLimit.cpp │ │ ├── number.cpp │ │ ├── object.cpp │ │ └── string.cpp │ ├── JsonDocument/ │ │ ├── CMakeLists.txt │ │ ├── ElementProxy.cpp │ │ ├── MemberProxy.cpp │ │ ├── add.cpp │ │ ├── assignment.cpp │ │ ├── cast.cpp │ │ ├── clear.cpp │ │ ├── compare.cpp │ │ ├── constructor.cpp │ │ ├── isNull.cpp │ │ ├── issue1120.cpp │ │ ├── nesting.cpp │ │ ├── overflowed.cpp │ │ ├── remove.cpp │ │ ├── set.cpp │ │ ├── shrinkToFit.cpp │ │ ├── size.cpp │ │ ├── subscript.cpp │ │ └── swap.cpp │ ├── JsonObject/ │ │ ├── CMakeLists.txt │ │ ├── clear.cpp │ │ ├── compare.cpp │ │ ├── equals.cpp │ │ ├── isNull.cpp │ │ ├── iterator.cpp │ │ ├── nesting.cpp │ │ ├── remove.cpp │ │ ├── set.cpp │ │ ├── size.cpp │ │ ├── std_string.cpp │ │ ├── subscript.cpp │ │ └── unbound.cpp │ ├── JsonObjectConst/ │ │ ├── CMakeLists.txt │ │ ├── equals.cpp │ │ ├── isNull.cpp │ │ ├── iterator.cpp │ │ ├── nesting.cpp │ │ ├── size.cpp │ │ └── subscript.cpp │ ├── JsonSerializer/ │ │ ├── CMakeLists.txt │ │ ├── CustomWriter.cpp │ │ ├── JsonArray.cpp │ │ ├── JsonArrayPretty.cpp │ │ ├── JsonObject.cpp │ │ ├── JsonObjectPretty.cpp │ │ ├── JsonVariant.cpp │ │ ├── misc.cpp │ │ ├── std_stream.cpp │ │ └── std_string.cpp │ ├── JsonVariant/ │ │ ├── CMakeLists.txt │ │ ├── add.cpp │ │ ├── as.cpp │ │ ├── clear.cpp │ │ ├── compare.cpp │ │ ├── converters.cpp │ │ ├── copy.cpp │ │ ├── is.cpp │ │ ├── isnull.cpp │ │ ├── misc.cpp │ │ ├── nesting.cpp │ │ ├── nullptr.cpp │ │ ├── or.cpp │ │ ├── overflow.cpp │ │ ├── remove.cpp │ │ ├── set.cpp │ │ ├── size.cpp │ │ ├── stl_containers.cpp │ │ ├── subscript.cpp │ │ ├── types.cpp │ │ └── unbound.cpp │ ├── JsonVariantConst/ │ │ ├── CMakeLists.txt │ │ ├── as.cpp │ │ ├── is.cpp │ │ ├── isnull.cpp │ │ ├── nesting.cpp │ │ ├── size.cpp │ │ └── subscript.cpp │ ├── Misc/ │ │ ├── CMakeLists.txt │ │ ├── JsonString.cpp │ │ ├── NoArduinoHeader.cpp │ │ ├── Readers.cpp │ │ ├── StringAdapters.cpp │ │ ├── StringWriter.cpp │ │ ├── TypeTraits.cpp │ │ ├── Utf16.cpp │ │ ├── Utf8.cpp │ │ ├── arithmeticCompare.cpp │ │ ├── conflicts.cpp │ │ ├── custom_string.hpp │ │ ├── issue1967.cpp │ │ ├── issue2129.cpp │ │ ├── issue2166.cpp │ │ ├── issue2181.cpp │ │ ├── printable.cpp │ │ ├── unsigned_char.cpp │ │ ├── version.cpp │ │ └── weird_strcmp.hpp │ ├── MixedConfiguration/ │ │ ├── CMakeLists.txt │ │ ├── decode_unicode_0.cpp │ │ ├── decode_unicode_1.cpp │ │ ├── enable_alignment_0.cpp │ │ ├── enable_alignment_1.cpp │ │ ├── enable_comments_0.cpp │ │ ├── enable_comments_1.cpp │ │ ├── enable_infinity_0.cpp │ │ ├── enable_infinity_1.cpp │ │ ├── enable_nan_0.cpp │ │ ├── enable_nan_1.cpp │ │ ├── enable_progmem_1.cpp │ │ ├── issue1707.cpp │ │ ├── string_length_size_1.cpp │ │ ├── string_length_size_2.cpp │ │ ├── string_length_size_4.cpp │ │ ├── use_double_0.cpp │ │ ├── use_double_1.cpp │ │ ├── use_long_long_0.cpp │ │ └── use_long_long_1.cpp │ ├── MsgPackDeserializer/ │ │ ├── CMakeLists.txt │ │ ├── deserializeArray.cpp │ │ ├── deserializeObject.cpp │ │ ├── deserializeVariant.cpp │ │ ├── destination_types.cpp │ │ ├── doubleToFloat.cpp │ │ ├── errors.cpp │ │ ├── filter.cpp │ │ ├── input_types.cpp │ │ └── nestingLimit.cpp │ ├── MsgPackSerializer/ │ │ ├── CMakeLists.txt │ │ ├── destination_types.cpp │ │ ├── measure.cpp │ │ ├── misc.cpp │ │ ├── serializeArray.cpp │ │ ├── serializeObject.cpp │ │ └── serializeVariant.cpp │ ├── Numbers/ │ │ ├── CMakeLists.txt │ │ ├── convertNumber.cpp │ │ ├── decomposeFloat.cpp │ │ ├── parseDouble.cpp │ │ ├── parseFloat.cpp │ │ ├── parseInteger.cpp │ │ └── parseNumber.cpp │ ├── ResourceManager/ │ │ ├── CMakeLists.txt │ │ ├── StringBuffer.cpp │ │ ├── StringBuilder.cpp │ │ ├── allocVariant.cpp │ │ ├── clear.cpp │ │ ├── saveString.cpp │ │ ├── shrinkToFit.cpp │ │ ├── size.cpp │ │ └── swap.cpp │ ├── TextFormatter/ │ │ ├── CMakeLists.txt │ │ ├── writeFloat.cpp │ │ ├── writeInteger.cpp │ │ └── writeString.cpp │ └── catch/ │ ├── .clang-format │ ├── CMakeLists.txt │ ├── catch.cpp │ └── catch.hpp ├── idf_component.yml ├── keywords.txt ├── library.json ├── library.properties └── src/ ├── ArduinoJson/ │ ├── Array/ │ │ ├── ArrayImpl.hpp │ │ ├── ElementProxy.hpp │ │ ├── JsonArray.hpp │ │ ├── JsonArrayConst.hpp │ │ ├── JsonArrayIterator.hpp │ │ └── Utilities.hpp │ ├── Collection/ │ │ ├── CollectionImpl.hpp │ │ └── CollectionIterator.hpp │ ├── Configuration.hpp │ ├── Deserialization/ │ │ ├── DeserializationError.hpp │ │ ├── DeserializationOptions.hpp │ │ ├── Filter.hpp │ │ ├── NestingLimit.hpp │ │ ├── Reader.hpp │ │ ├── Readers/ │ │ │ ├── ArduinoStreamReader.hpp │ │ │ ├── ArduinoStringReader.hpp │ │ │ ├── FlashReader.hpp │ │ │ ├── IteratorReader.hpp │ │ │ ├── RamReader.hpp │ │ │ ├── StdStreamReader.hpp │ │ │ └── VariantReader.hpp │ │ └── deserialize.hpp │ ├── Document/ │ │ └── JsonDocument.hpp │ ├── Json/ │ │ ├── EscapeSequence.hpp │ │ ├── JsonDeserializer.hpp │ │ ├── JsonSerializer.hpp │ │ ├── Latch.hpp │ │ ├── PrettyJsonSerializer.hpp │ │ ├── TextFormatter.hpp │ │ ├── Utf16.hpp │ │ └── Utf8.hpp │ ├── Memory/ │ │ ├── Alignment.hpp │ │ ├── Allocator.hpp │ │ ├── MemoryPool.hpp │ │ ├── MemoryPoolList.hpp │ │ ├── ResourceManager.hpp │ │ ├── StringBuffer.hpp │ │ ├── StringBuilder.hpp │ │ ├── StringNode.hpp │ │ └── StringPool.hpp │ ├── Misc/ │ │ └── SerializedValue.hpp │ ├── MsgPack/ │ │ ├── MsgPackBinary.hpp │ │ ├── MsgPackDeserializer.hpp │ │ ├── MsgPackExtension.hpp │ │ ├── MsgPackSerializer.hpp │ │ ├── endianness.hpp │ │ └── ieee754.hpp │ ├── Namespace.hpp │ ├── Numbers/ │ │ ├── FloatParts.hpp │ │ ├── FloatTraits.hpp │ │ ├── JsonFloat.hpp │ │ ├── JsonInteger.hpp │ │ ├── arithmeticCompare.hpp │ │ ├── convertNumber.hpp │ │ └── parseNumber.hpp │ ├── Object/ │ │ ├── JsonObject.hpp │ │ ├── JsonObjectConst.hpp │ │ ├── JsonObjectIterator.hpp │ │ ├── JsonPair.hpp │ │ ├── MemberProxy.hpp │ │ └── ObjectImpl.hpp │ ├── Polyfills/ │ │ ├── alias_cast.hpp │ │ ├── assert.hpp │ │ ├── attributes.hpp │ │ ├── ctype.hpp │ │ ├── integer.hpp │ │ ├── limits.hpp │ │ ├── math.hpp │ │ ├── mpl/ │ │ │ └── max.hpp │ │ ├── pgmspace.hpp │ │ ├── pgmspace_generic.hpp │ │ ├── preprocessor.hpp │ │ ├── type_traits/ │ │ │ ├── conditional.hpp │ │ │ ├── decay.hpp │ │ │ ├── declval.hpp │ │ │ ├── enable_if.hpp │ │ │ ├── function_traits.hpp │ │ │ ├── integral_constant.hpp │ │ │ ├── is_array.hpp │ │ │ ├── is_base_of.hpp │ │ │ ├── is_class.hpp │ │ │ ├── is_const.hpp │ │ │ ├── is_convertible.hpp │ │ │ ├── is_enum.hpp │ │ │ ├── is_floating_point.hpp │ │ │ ├── is_integral.hpp │ │ │ ├── is_pointer.hpp │ │ │ ├── is_same.hpp │ │ │ ├── is_signed.hpp │ │ │ ├── is_unsigned.hpp │ │ │ ├── make_unsigned.hpp │ │ │ ├── remove_const.hpp │ │ │ ├── remove_cv.hpp │ │ │ ├── remove_reference.hpp │ │ │ ├── type_identity.hpp │ │ │ └── void_t.hpp │ │ ├── type_traits.hpp │ │ └── utility.hpp │ ├── Serialization/ │ │ ├── CountingDecorator.hpp │ │ ├── Writer.hpp │ │ ├── Writers/ │ │ │ ├── ArduinoStringWriter.hpp │ │ │ ├── DummyWriter.hpp │ │ │ ├── PrintWriter.hpp │ │ │ ├── StaticStringWriter.hpp │ │ │ ├── StdStreamWriter.hpp │ │ │ └── StdStringWriter.hpp │ │ ├── measure.hpp │ │ └── serialize.hpp │ ├── Strings/ │ │ ├── Adapters/ │ │ │ ├── FlashString.hpp │ │ │ ├── RamString.hpp │ │ │ └── StringObject.hpp │ │ ├── IsString.hpp │ │ ├── JsonString.hpp │ │ ├── StringAdapter.hpp │ │ ├── StringAdapters.hpp │ │ └── StringTraits.hpp │ ├── Variant/ │ │ ├── Converter.hpp │ │ ├── ConverterImpl.hpp │ │ ├── JsonVariant.hpp │ │ ├── JsonVariantConst.hpp │ │ ├── JsonVariantCopier.hpp │ │ ├── JsonVariantVisitor.hpp │ │ ├── VariantAttorney.hpp │ │ ├── VariantCompare.hpp │ │ ├── VariantContent.hpp │ │ ├── VariantData.hpp │ │ ├── VariantDataVisitor.hpp │ │ ├── VariantImpl.hpp │ │ ├── VariantOperators.hpp │ │ ├── VariantRefBase.hpp │ │ ├── VariantRefBaseImpl.hpp │ │ └── VariantTag.hpp │ ├── compatibility.hpp │ └── version.hpp ├── ArduinoJson.h ├── ArduinoJson.hpp └── CMakeLists.txt