fiftyone-devicedetection-onpremise 4.5.0a36__tar.gz → 4.5.0a37__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/PKG-INFO +1 -1
  2. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.c +4 -0
  3. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fiftyone.h +1 -0
  4. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/storedBinaryValue.c +23 -182
  5. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/storedBinaryValue.h +2 -0
  6. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/stringBuilder.c +8 -5
  7. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.c +25 -0
  8. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.c +29 -12
  9. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise.egg-info/PKG-INFO +1 -1
  10. fiftyone_devicedetection_onpremise-4.5.0a37/version.txt +1 -0
  11. fiftyone_devicedetection_onpremise-4.5.0a36/version.txt +0 -1
  12. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/MANIFEST.in +0 -0
  13. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/pyproject.toml +0 -0
  14. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/setup.cfg +0 -0
  15. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/setup.py +0 -0
  16. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/DeviceDetectionHashEngineModule.py +0 -0
  17. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/__init__.py +0 -0
  18. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/constants.py +0 -0
  19. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.cpp +0 -0
  20. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.hpp +0 -0
  21. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/ConfigDeviceDetection.i +0 -0
  22. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.cpp +0 -0
  23. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.hpp +0 -0
  24. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/EngineDeviceDetection.i +0 -0
  25. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.cpp +0 -0
  26. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.hpp +0 -0
  27. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/EvidenceDeviceDetection.i +0 -0
  28. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/FiftyoneDegrees.hpp +0 -0
  29. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.cpp +0 -0
  30. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.hpp +0 -0
  31. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/ResultsDeviceDetection.i +0 -0
  32. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.cpp +0 -0
  33. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.hpp +0 -0
  34. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/Transform.i +0 -0
  35. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.hpp +0 -0
  36. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Collection.i +0 -0
  37. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.cpp +0 -0
  38. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.hpp +0 -0
  39. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CollectionConfig.i +0 -0
  40. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.cpp +0 -0
  41. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.hpp +0 -0
  42. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ComponentMetaData.i +0 -0
  43. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.cpp +0 -0
  44. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.hpp +0 -0
  45. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ConfigBase.i +0 -0
  46. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/CsTypes.i +0 -0
  47. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.cpp +0 -0
  48. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.hpp +0 -0
  49. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Date.i +0 -0
  50. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.cpp +0 -0
  51. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.hpp +0 -0
  52. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EngineBase.i +0 -0
  53. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaData.hpp +0 -0
  54. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EntityMetaDataBuilder.hpp +0 -0
  55. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.cpp +0 -0
  56. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.hpp +0 -0
  57. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/EvidenceBase.i +0 -0
  58. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.cpp +0 -0
  59. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.hpp +0 -0
  60. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Exceptions.i +0 -0
  61. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/FiftyoneDegrees.hpp +0 -0
  62. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.cpp +0 -0
  63. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.hpp +0 -0
  64. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/IpAddress.i +0 -0
  65. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/JavaTypes.i +0 -0
  66. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MapStringStringIterator.i +0 -0
  67. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.cpp +0 -0
  68. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.hpp +0 -0
  69. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/MetaData.i +0 -0
  70. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.cpp +0 -0
  71. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.hpp +0 -0
  72. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ProfileMetaData.i +0 -0
  73. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.cpp +0 -0
  74. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.hpp +0 -0
  75. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/PropertyMetaData.i +0 -0
  76. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.cpp +0 -0
  77. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.hpp +0 -0
  78. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/RequiredPropertiesConfig.i +0 -0
  79. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.cpp +0 -0
  80. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.hpp +0 -0
  81. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ResultsBase.i +0 -0
  82. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Types.i +0 -0
  83. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.hpp +0 -0
  84. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/Value.i +0 -0
  85. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.cpp +0 -0
  86. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.hpp +0 -0
  87. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ValueMetaData.i +0 -0
  88. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/array.h +0 -0
  89. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.c +0 -0
  90. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/bool.h +0 -0
  91. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.c +0 -0
  92. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/cache.h +0 -0
  93. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/collection.h +0 -0
  94. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/common.h +0 -0
  95. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.c +0 -0
  96. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/component.h +0 -0
  97. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/config.h +0 -0
  98. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/constants.h +0 -0
  99. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.c +0 -0
  100. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/data.h +0 -0
  101. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.c +0 -0
  102. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/dataset.h +0 -0
  103. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/date.h +0 -0
  104. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.c +0 -0
  105. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/evidence.h +0 -0
  106. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptions.h +0 -0
  107. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/exceptionsc.c +0 -0
  108. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.c +0 -0
  109. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/file.h +0 -0
  110. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/fileOffset.h +0 -0
  111. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.c +0 -0
  112. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/float.h +0 -0
  113. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.c +0 -0
  114. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/headers.h +0 -0
  115. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.c +0 -0
  116. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/indices.h +0 -0
  117. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.c +0 -0
  118. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.h +0 -0
  119. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/ip.i +0 -0
  120. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.c +0 -0
  121. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/json.h +0 -0
  122. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.c +0 -0
  123. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/list.h +0 -0
  124. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.c +0 -0
  125. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/memory.h +0 -0
  126. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.c +0 -0
  127. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/overrides.h +0 -0
  128. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pair.h +0 -0
  129. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.c +0 -0
  130. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/pool.h +0 -0
  131. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.c +0 -0
  132. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/process.h +0 -0
  133. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.c +0 -0
  134. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/profile.h +0 -0
  135. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.c +0 -0
  136. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/properties.h +0 -0
  137. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.c +0 -0
  138. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/property.h +0 -0
  139. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/propertyValueType.h +0 -0
  140. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.c +0 -0
  141. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/resource.h +0 -0
  142. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.c +0 -0
  143. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/results.h +0 -0
  144. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/snprintf.h +0 -0
  145. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.c +0 -0
  146. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/status.h +0 -0
  147. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.c +0 -0
  148. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string.h +0 -0
  149. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/stringBuilder.h +0 -0
  150. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string_pp.cpp +0 -0
  151. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/string_pp.hpp +0 -0
  152. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/Base.hpp +0 -0
  153. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EngineTests.hpp +0 -0
  154. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/EvidenceTests.hpp +0 -0
  155. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/ExampleTests.hpp +0 -0
  156. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FileHandle.hpp +0 -0
  157. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/FixedSizeCollection.hpp +0 -0
  158. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/HeadersContainer.hpp +0 -0
  159. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/StringCollection.hpp +0 -0
  160. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/TestStrings.hpp +0 -0
  161. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/VariableSizeCollection.hpp +0 -0
  162. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tests/pch.h +0 -0
  163. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.c +0 -0
  164. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/textfile.h +0 -0
  165. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.c +0 -0
  166. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/threading.h +0 -0
  167. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.c +0 -0
  168. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/tree.h +0 -0
  169. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/value.h +0 -0
  170. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot.h +0 -0
  171. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot_pp.cpp +0 -0
  172. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/wkbtot_pp.hpp +0 -0
  173. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.c +0 -0
  174. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/common-cxx/yamlfile.h +0 -0
  175. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/config-dd.h +0 -0
  176. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.c +0 -0
  177. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/dataset-dd.h +0 -0
  178. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/fiftyone.h +0 -0
  179. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.c +0 -0
  180. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/gethighentropyvalues.h +0 -0
  181. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.cpp +0 -0
  182. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataBuilderHash.hpp +0 -0
  183. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.cpp +0 -0
  184. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ComponentMetaDataCollectionHash.hpp +0 -0
  185. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.cpp +0 -0
  186. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.hpp +0 -0
  187. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ConfigHash.i +0 -0
  188. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.cpp +0 -0
  189. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.hpp +0 -0
  190. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/EngineHash.i +0 -0
  191. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.cpp +0 -0
  192. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/MetaDataHash.hpp +0 -0
  193. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.cpp +0 -0
  194. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataBuilderHash.hpp +0 -0
  195. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.cpp +0 -0
  196. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ProfileMetaDataCollectionHash.hpp +0 -0
  197. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.cpp +0 -0
  198. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataBuilderHash.hpp +0 -0
  199. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.cpp +0 -0
  200. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForComponentHash.hpp +0 -0
  201. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.cpp +0 -0
  202. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionForPropertyHash.hpp +0 -0
  203. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.cpp +0 -0
  204. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/PropertyMetaDataCollectionHash.hpp +0 -0
  205. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.cpp +0 -0
  206. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.hpp +0 -0
  207. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHash.i +0 -0
  208. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.cpp +0 -0
  209. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.hpp +0 -0
  210. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ResultsHashSerializer.i +0 -0
  211. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.cpp +0 -0
  212. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataBuilderHash.hpp +0 -0
  213. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.cpp +0 -0
  214. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionBaseHash.hpp +0 -0
  215. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.cpp +0 -0
  216. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForProfileHash.hpp +0 -0
  217. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.cpp +0 -0
  218. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionForPropertyHash.hpp +0 -0
  219. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.cpp +0 -0
  220. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/ValueMetaDataCollectionHash.hpp +0 -0
  221. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/fiftyone.h +0 -0
  222. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.c +0 -0
  223. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/graph.h +0 -0
  224. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.c +0 -0
  225. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.h +0 -0
  226. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/hash/hash.i +0 -0
  227. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.c +0 -0
  228. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/results-dd.h +0 -0
  229. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/transform.h +0 -0
  230. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/cxx/src/transformc.c +0 -0
  231. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/devicedetection_datafile.py +0 -0
  232. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise.py +0 -0
  233. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/devicedetection_onpremise_pipelinebuilder.py +0 -0
  234. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/hash_python_wrap.cxx +0 -0
  235. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise/swig_data.py +0 -0
  236. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise.egg-info/SOURCES.txt +0 -0
  237. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise.egg-info/dependency_links.txt +0 -0
  238. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise.egg-info/requires.txt +0 -0
  239. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/src/fiftyone_devicedetection_onpremise.egg-info/top_level.txt +0 -0
  240. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/tests/test_automatic_data_file_updates.py +0 -0
  241. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/tests/test_devicedetection.py +0 -0
  242. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/tests/test_properties.py +0 -0
  243. {fiftyone_devicedetection_onpremise-4.5.0a36 → fiftyone_devicedetection_onpremise-4.5.0a37}/tests/test_swig.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiftyone_devicedetection_onpremise
3
- Version: 4.5.0a36
3
+ Version: 4.5.0a37
4
4
  Summary: This project contains 51Degrees Device Detection OnPremise engine that can be used with the 51Degrees Pipeline API. The Pipeline is a generic web request intelligence and data processing solution with the ability to add a range of 51Degrees and/or custom plug ins (Engines)
5
5
  Author: 51Degrees Engineering
6
6
  Author-email: engineering@51degrees.com
@@ -88,9 +88,13 @@ bool fiftyoneDegreesCollectionGetIsMemoryOnly() { return true; }
88
88
  * Used by memory collection where there is nothing to be done when the release
89
89
  * occurs because the memory it uses is only freed when the collection is
90
90
  * freed.
91
+ *
92
+ * The data is reset so that further item operations
93
+ * no longer access collection-controlled memory.
91
94
  */
92
95
  static void releaseNothing(Item *item) {
93
96
  assert(item != NULL);
97
+ DataReset(&item->data);
94
98
  }
95
99
  #ifdef _MSC_VER
96
100
  #pragma warning (default: 4100)
@@ -290,6 +290,7 @@ MAP_TYPE(WkbtotReductionMode)
290
290
  #define ResourceManagerFree fiftyoneDegreesResourceManagerFree /**< Synonym for #fiftyoneDegreesResourceManagerFree function. */
291
291
  #define StringGet fiftyoneDegreesStringGet /**< Synonym for #fiftyoneDegreesStringGet function. */
292
292
  #define StoredBinaryValueGet fiftyoneDegreesStoredBinaryValueGet /**< Synonym for #fiftyoneDegreesStoredBinaryValueGet function. */
293
+ #define StoredBinaryValueRead fiftyoneDegreesStoredBinaryValueRead /**< Synonym for #fiftyoneDegreesStoredBinaryValueRead function. */
293
294
  #define StoredBinaryValueCompareWithString fiftyoneDegreesStoredBinaryValueCompareWithString /**< Synonym for #fiftyoneDegreesStoredBinaryValueCompareWithString function. */
294
295
  #define StoredBinaryValueToIntOrDefault fiftyoneDegreesStoredBinaryValueToIntOrDefault /**< Synonym for #fiftyoneDegreesStoredBinaryValueToIntOrDefault function. */
295
296
  #define StoredBinaryValueToDoubleOrDefault fiftyoneDegreesStoredBinaryValueToDoubleOrDefault /**< Synonym for #fiftyoneDegreesStoredBinaryValueToDoubleOrDefault function. */
@@ -205,116 +205,6 @@ StoredBinaryValue* fiftyoneDegreesStoredBinaryValueGet(
205
205
  return result;
206
206
  }
207
207
 
208
- /**
209
- * Function to compare the current String item to the
210
- * target search value using the IpAddress format.
211
- * @param value the current String item
212
- * @param target the target search value. This should
213
- * be in string readable format of an IP address.
214
- * @return 0 if they are equal, otherwise negative
215
- * for smaller and positive for bigger
216
- */
217
- static int compareIpAddressToString(const VarLengthByteArray * const value, const char * const target) {
218
- int result = 0;
219
- IpAddress ipAddress;
220
- bool parsed = IpAddressParse(
221
- target,
222
- target + strlen(target),
223
- &ipAddress);
224
- if (parsed) {
225
- const int16_t valueLength = value->size;
226
- int16_t searchLength = 0;
227
- switch (ipAddress.type) {
228
- case IP_TYPE_IPV4:
229
- searchLength = IPV4_LENGTH;
230
- break;
231
- case IP_TYPE_IPV6:
232
- searchLength = IPV6_LENGTH;
233
- break;
234
- case IP_TYPE_INVALID:
235
- default:
236
- break;
237
- }
238
-
239
- if (searchLength == 0) {
240
- result = valueLength;
241
- }
242
- else {
243
- // Compare length first
244
- const size_t compareLength = ((valueLength < searchLength)
245
- ? valueLength : searchLength);
246
- result = memcmp(&value->firstByte,
247
- ipAddress.value, compareLength);
248
- if (result == 0) {
249
- result = valueLength - searchLength;
250
- }
251
- }
252
- }
253
- return result;
254
- }
255
-
256
- static int compareWkbToString(
257
- const VarLengthByteArray * const binaryValue,
258
- const WkbtotReductionMode reductionMode,
259
- const char * const target,
260
- Exception * const exception) {
261
- WkbtotResult toWktResult = {
262
- 0,
263
- false,
264
- };
265
-
266
- if (!binaryValue || !exception) {
267
- EXCEPTION_SET(FIFTYONE_DEGREES_STATUS_NULL_POINTER);
268
- return -1;
269
- }
270
-
271
- int result = -1;
272
-
273
- {
274
- char buffer[REASONABLE_WKT_STRING_LENGTH];
275
- StringBuilder builder = { buffer, REASONABLE_WKT_STRING_LENGTH };
276
- StringBuilderInit(&builder);
277
- WriteWkbAsWktToStringBuilder(
278
- &binaryValue->firstByte,
279
- reductionMode,
280
- MAX_DOUBLE_DECIMAL_PLACES,
281
- &builder,
282
- exception
283
- );
284
- StringBuilderComplete(&builder);
285
- toWktResult = (WkbtotResult){
286
- builder.added,
287
- builder.full,
288
- };
289
- if (EXCEPTION_OKAY && !toWktResult.bufferTooSmall) {
290
- result = strcmp(buffer, target);
291
- }
292
- }
293
- if (toWktResult.bufferTooSmall) {
294
- EXCEPTION_CLEAR;
295
- const size_t requiredSize = toWktResult.written + 1;
296
- char * const buffer = Malloc(requiredSize);
297
- StringBuilder builder = { buffer, requiredSize };
298
- StringBuilderInit(&builder);
299
- WriteWkbAsWktToStringBuilder(
300
- &binaryValue->firstByte,
301
- reductionMode,
302
- MAX_DOUBLE_DECIMAL_PLACES,
303
- &builder,
304
- exception
305
- );
306
- StringBuilderComplete(&builder);
307
- toWktResult = (WkbtotResult){
308
- builder.added,
309
- builder.full,
310
- };
311
- if (EXCEPTION_OKAY && !toWktResult.bufferTooSmall) {
312
- result = strcmp(buffer, target);
313
- }
314
- }
315
- return result;
316
- }
317
-
318
208
  static double shortToDouble(const StoredBinaryValue * const value, const double maxAngle) {
319
209
  return (value->shortValue * maxAngle) / INT16_MAX;
320
210
  }
@@ -324,88 +214,39 @@ static double toAzimuth(const StoredBinaryValue * const value) {
324
214
  static double toDeclination(const StoredBinaryValue * const value) {
325
215
  return shortToDouble(value, 90);
326
216
  }
327
- static double toDoubleFromFloat(const StoredBinaryValue * const value) {
328
- return FLOAT_TO_NATIVE(value->floatValue);
329
- }
330
-
331
- static int compareDoubleToString(
332
- const double testedValue,
333
- const char * const target) {
334
-
335
- const double searchValue = (float)strtod(target, NULL);
336
- if (errno == ERANGE)
337
- {
338
- errno = 0;
339
- return -1;
340
- }
341
- const double dv = testedValue - searchValue;
342
- return !dv ? 0 : (dv < 0 ? -1 : 1);
343
- }
344
217
 
345
218
  int fiftyoneDegreesStoredBinaryValueCompareWithString(
346
219
  const StoredBinaryValue * const value,
347
220
  const PropertyValueType storedValueType,
348
221
  const char * const target,
222
+ StringBuilder * const tempBuilder,
349
223
  Exception * const exception) {
350
224
 
351
- switch (storedValueType) {
352
- case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING: {
353
- const size_t targetLength = strlen(target);
354
- const size_t valueLength = value->stringValue.size - 1;
355
- const size_t cmpLength = (targetLength < valueLength) ? targetLength : valueLength;
356
- const int result = strncmp(&value->stringValue.value, target, cmpLength);
357
- if (result) {
358
- return result;
359
- }
360
- if (cmpLength < targetLength) {
361
- return -1;
362
- }
363
- return 0;
364
- }
365
- case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_IP_ADDRESS: {
366
- return compareIpAddressToString(&value->byteArrayValue, target);
367
- }
368
- case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_WKB: {
369
- return compareWkbToString(
370
- &value->byteArrayValue,
371
- FIFTYONE_DEGREES_WKBToT_REDUCTION_NONE,
372
- target,
373
- exception);
374
- }
375
- case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_WKB_R: {
376
- return compareWkbToString(
377
- &value->byteArrayValue,
378
- FIFTYONE_DEGREES_WKBToT_REDUCTION_SHORT,
379
- target,
380
- exception);
381
- }
382
- case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_INTEGER: {
383
- const int32_t intValue = value->intValue;
384
- const int32_t searchInt = (int32_t) strtol(target, NULL, 10);
385
- if (errno == ERANGE)
386
- {
387
- errno = 0;
388
- return -1;
389
- }
390
- return intValue - searchInt;
391
- }
392
- case FIFTYONE_DEGREES_PROPERTY_VALUE_SINGLE_PRECISION_FLOAT: {
393
- return compareDoubleToString(toDoubleFromFloat(value), target);
394
- }
395
- case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_AZIMUTH: {
396
- return compareDoubleToString(toAzimuth(value), target);
397
- }
398
- case FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_DECLINATION: {
399
- return compareDoubleToString(toDeclination(value), target);
400
- }
401
- default: {
402
- EXCEPTION_SET(UNSUPPORTED_STORED_VALUE_TYPE);
403
- return -1;
404
- }
225
+ if (storedValueType == FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING) {
226
+ const int cmpResult = strncmp(
227
+ &value->stringValue.value,
228
+ target,
229
+ value->stringValue.size);
230
+ return cmpResult;
405
231
  }
232
+ EXCEPTION_CLEAR;
233
+ const uint8_t decimalPlaces = (
234
+ tempBuilder->length < MAX_DOUBLE_DECIMAL_PLACES
235
+ ? (uint8_t)tempBuilder->length
236
+ : MAX_DOUBLE_DECIMAL_PLACES);
237
+ StringBuilderAddStringValue(
238
+ tempBuilder,
239
+ value,
240
+ storedValueType,
241
+ decimalPlaces,
242
+ exception);
243
+ StringBuilderComplete(tempBuilder);
244
+ const int result = (EXCEPTION_OKAY
245
+ ? strcmp(tempBuilder->ptr, target)
246
+ : -1);
247
+ return result;
406
248
  }
407
249
 
408
-
409
250
  int fiftyoneDegreesStoredBinaryValueToIntOrDefault(
410
251
  const fiftyoneDegreesStoredBinaryValue * const value,
411
252
  const fiftyoneDegreesPropertyValueType storedValueType,
@@ -132,6 +132,7 @@ EXTERNAL fiftyoneDegreesStoredBinaryValue* fiftyoneDegreesStoredBinaryValueGet(
132
132
  * @param value the current binary value item
133
133
  * @param storedValueType format of byte array representation
134
134
  * @param target the target search value.
135
+ * @param tempBuilder temporary builder to stringify value into.
135
136
  * @return 0 if they are equal, otherwise negative
136
137
  * for smaller and positive for bigger
137
138
  */
@@ -139,6 +140,7 @@ EXTERNAL int fiftyoneDegreesStoredBinaryValueCompareWithString(
139
140
  const fiftyoneDegreesStoredBinaryValue *value,
140
141
  fiftyoneDegreesPropertyValueType storedValueType,
141
142
  const char *target,
143
+ fiftyoneDegreesStringBuilder *tempBuilder,
142
144
  fiftyoneDegreesException *exception);
143
145
 
144
146
  /**
@@ -220,12 +220,15 @@ fiftyoneDegreesStringBuilder* fiftyoneDegreesStringBuilderAddChars(
220
220
  fiftyoneDegreesStringBuilder* builder,
221
221
  const char * const value,
222
222
  size_t const length) {
223
- if (length < builder->remaining &&
224
- memcpy(builder->current, value, length) == builder->current) {
225
- builder->remaining -= length;
226
- builder->current += length;
223
+ const bool fitsIn = length < builder->remaining;
224
+ const size_t clippedLength = (
225
+ fitsIn ? length : (builder->remaining ? builder->remaining - 1 : 0));
226
+ if (0 < clippedLength &&
227
+ memcpy(builder->current, value, clippedLength) == builder->current) {
228
+ builder->remaining -= clippedLength;
229
+ builder->current += clippedLength;
227
230
  }
228
- else {
231
+ if (!fitsIn) {
229
232
  builder->full = true;
230
233
  }
231
234
  builder->added += length;
@@ -31,6 +31,7 @@ typedef struct value_search_t {
31
31
  Collection *strings;
32
32
  const char *valueName;
33
33
  PropertyValueType valueType;
34
+ StringBuilder *tempBuilder;
34
35
  } valueSearch;
35
36
 
36
37
  #ifdef _MSC_VER
@@ -44,6 +45,9 @@ static int compareValueByName(void *state, Item *item, long curIndex, Exception
44
45
  StoredBinaryValue *value;
45
46
  valueSearch *search = (valueSearch*)state;
46
47
  DataReset(&name.data);
48
+ if (search->tempBuilder) {
49
+ StringBuilderInit(search->tempBuilder);
50
+ }
47
51
  value = ValueGetContent(
48
52
  search->strings,
49
53
  (Value*)item->data.ptr,
@@ -55,6 +59,7 @@ static int compareValueByName(void *state, Item *item, long curIndex, Exception
55
59
  value,
56
60
  search->valueType,
57
61
  search->valueName,
62
+ search->tempBuilder,
58
63
  exception);
59
64
  COLLECTION_RELEASE(search->strings, &name);
60
65
  }
@@ -155,6 +160,13 @@ long fiftyoneDegreesValueGetIndexByNameAndType(
155
160
  search.valueName = valueName;
156
161
  search.strings = strings;
157
162
  search.valueType = storedValueType;
163
+
164
+ const bool isString = (storedValueType == FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING);
165
+ const size_t requiredSize = strlen(valueName) + 3;
166
+ char * const buffer = isString ? NULL : Malloc(requiredSize);
167
+ StringBuilder tempBuilder = { buffer, requiredSize };
168
+ search.tempBuilder = isString ? NULL : &tempBuilder;
169
+
158
170
  index = CollectionBinarySearch(
159
171
  values,
160
172
  &item,
@@ -163,6 +175,9 @@ long fiftyoneDegreesValueGetIndexByNameAndType(
163
175
  (void*)&search,
164
176
  compareValueByName,
165
177
  exception);
178
+ if (buffer) {
179
+ Free(buffer);
180
+ }
166
181
  if (EXCEPTION_OKAY) {
167
182
  COLLECTION_RELEASE(values, &item);
168
183
  }
@@ -200,6 +215,13 @@ Value* fiftyoneDegreesValueGetByNameAndType(
200
215
  search.valueName = valueName;
201
216
  search.strings = strings;
202
217
  search.valueType = storedValueType;
218
+
219
+ const bool isString = (storedValueType == FIFTYONE_DEGREES_PROPERTY_VALUE_TYPE_STRING);
220
+ const size_t requiredSize = strlen(valueName) + 3;
221
+ char * const buffer = isString ? NULL : Malloc(requiredSize);
222
+ StringBuilder tempBuilder = { buffer, requiredSize };
223
+ search.tempBuilder = isString ? NULL : &tempBuilder;
224
+
203
225
  if (
204
226
  (int)property->firstValueIndex != -1 &&
205
227
  CollectionBinarySearch(
@@ -213,5 +235,8 @@ Value* fiftyoneDegreesValueGetByNameAndType(
213
235
  EXCEPTION_OKAY) {
214
236
  value = (Value*)item->data.ptr;
215
237
  }
238
+ if (buffer) {
239
+ Free(buffer);
240
+ }
216
241
  return value;
217
242
  }
@@ -227,10 +227,14 @@ static const NumReader *selectNumReader(const WkbtotReductionMode reductionMode)
227
227
  }
228
228
  }
229
229
 
230
+ typedef struct {
231
+ StringBuilder * const stringBuilder;
232
+ bool isSeparated;
233
+ } OutputState;
230
234
 
231
235
  typedef struct {
232
236
  const byte *binaryBuffer;
233
- StringBuilder * const stringBuilder;
237
+ OutputState output;
234
238
 
235
239
  CoordMode coordMode;
236
240
  ByteOrder wkbByteOrder;
@@ -264,24 +268,29 @@ static void writeEmpty(
264
268
  ProcessingContext * const context) {
265
269
 
266
270
  static const char empty[] = "EMPTY";
267
- StringBuilderAddChars(context->stringBuilder, empty, sizeof(empty));
271
+ if (!context->output.isSeparated) {
272
+ StringBuilderAddChar(context->output.stringBuilder, ' ');
273
+ }
274
+ StringBuilderAddChars(context->output.stringBuilder, empty, sizeof(empty) - 1);
275
+ context->output.isSeparated = false;
268
276
  }
269
277
 
270
278
  static void writeTaggedGeometryName(
271
- const ProcessingContext * const context,
279
+ ProcessingContext * const context,
272
280
  const char * const geometryName) {
273
281
 
274
282
  StringBuilderAddChars(
275
- context->stringBuilder,
283
+ context->output.stringBuilder,
276
284
  geometryName,
277
285
  strlen(geometryName));
278
286
  if (context->coordMode.tag) {
279
- StringBuilderAddChar(context->stringBuilder, ' ');
287
+ StringBuilderAddChar(context->output.stringBuilder, ' ');
280
288
  StringBuilderAddChars(
281
- context->stringBuilder,
289
+ context->output.stringBuilder,
282
290
  context->coordMode.tag,
283
291
  context->coordMode.tagLength);
284
292
  }
293
+ context->output.isSeparated = false;
285
294
  }
286
295
 
287
296
 
@@ -296,17 +305,20 @@ static void withParenthesesIterate(
296
305
 
297
306
  Exception * const exception = context->exception;
298
307
 
299
- StringBuilderAddChar(context->stringBuilder, '(');
308
+ StringBuilderAddChar(context->output.stringBuilder, '(');
309
+ context->output.isSeparated = true;
300
310
  for (uint32_t i = 0; i < count; i++) {
301
311
  if (i) {
302
- StringBuilderAddChar(context->stringBuilder, ',');
312
+ StringBuilderAddChar(context->output.stringBuilder, ',');
313
+ context->output.isSeparated = true;
303
314
  }
304
315
  visitor(context);
305
316
  if (EXCEPTION_FAILED) {
306
317
  return;
307
318
  }
308
319
  }
309
- StringBuilderAddChar(context->stringBuilder, ')');
320
+ StringBuilderAddChar(context->output.stringBuilder, ')');
321
+ context->output.isSeparated = true;
310
322
  }
311
323
 
312
324
  static void handlePointSegment(
@@ -314,10 +326,12 @@ static void handlePointSegment(
314
326
 
315
327
  for (CoordIndexType i = 0; i < context->coordMode.dimensionsCount; i++) {
316
328
  if (i) {
317
- StringBuilderAddChar(context->stringBuilder, ' ');
329
+ StringBuilderAddChar(context->output.stringBuilder, ' ');
330
+ context->output.isSeparated = true;
318
331
  }
319
332
  const double nextCoord = readDouble(context, i);
320
- StringBuilderAddDouble(context->stringBuilder, nextCoord, context->decimalPlaces);
333
+ StringBuilderAddDouble(context->output.stringBuilder, nextCoord, context->decimalPlaces);
334
+ context->output.isSeparated = false;
321
335
  }
322
336
  }
323
337
 
@@ -575,7 +589,10 @@ static void handleWKBRoot(
575
589
 
576
590
  ProcessingContext context = {
577
591
  binaryBuffer,
578
- stringBuilder,
592
+ {
593
+ stringBuilder,
594
+ true,
595
+ },
579
596
 
580
597
  CoordModes[0],
581
598
  ~*binaryBuffer,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiftyone-devicedetection-onpremise
3
- Version: 4.5.0a36
3
+ Version: 4.5.0a37
4
4
  Summary: This project contains 51Degrees Device Detection OnPremise engine that can be used with the 51Degrees Pipeline API. The Pipeline is a generic web request intelligence and data processing solution with the ability to add a range of 51Degrees and/or custom plug ins (Engines)
5
5
  Author: 51Degrees Engineering
6
6
  Author-email: engineering@51degrees.com
@@ -0,0 +1 @@
1
+ 4.5.0-alpha.37
@@ -1 +0,0 @@
1
- 4.5.0-alpha.36