irie 0.0.53__tar.gz → 0.0.55__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.

Potentially problematic release.


This version of irie might be problematic. Click here for more details.

Files changed (510) hide show
  1. {irie-0.0.53 → irie-0.0.55}/PKG-INFO +1 -1
  2. {irie-0.0.53 → irie-0.0.55}/pyproject.toml +1 -1
  3. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/views.py +1 -1
  4. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/urls.py +1 -1
  5. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/views.py +0 -1
  6. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/models.py +6 -0
  7. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/__init__.py +35 -34
  8. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/ssid.py +1 -1
  9. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/urls.py +2 -2
  10. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/views.py +33 -6
  11. irie-0.0.55/src/irie/apps/static/assets/content_images/brace/ForceFrame.png +0 -0
  12. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/brace.js +2 -2
  13. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/includes/paginate.js +1 -0
  14. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/includes/scripts.html +0 -2
  15. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/sensor-upload.html +1 -3
  16. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/asset-predictors.html +1 -1
  17. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/create-model.html +27 -0
  18. irie-0.0.55/src/irie/apps/templates/prediction/veux/navigator.html +121 -0
  19. irie-0.0.53/src/irie/apps/templates/prediction/viewer/veux-viewer.js → irie-0.0.55/src/irie/apps/templates/prediction/veux/navigator.js +17 -17
  20. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/xara-profile.html +4 -104
  21. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/index.html +9 -2
  22. {irie-0.0.53 → irie-0.0.55}/src/irie.egg-info/PKG-INFO +1 -1
  23. {irie-0.0.53 → irie-0.0.55}/src/irie.egg-info/SOURCES.txt +3 -2
  24. irie-0.0.53/src/irie/apps/templates/components/json-table.html +0 -1
  25. {irie-0.0.53 → irie-0.0.55}/README.md +0 -0
  26. {irie-0.0.53 → irie-0.0.55}/setup.cfg +0 -0
  27. {irie-0.0.53 → irie-0.0.55}/src/irie/__init__.py +0 -0
  28. {irie-0.0.53 → irie-0.0.55}/src/irie/__main__.py +0 -0
  29. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/__init__.py +0 -0
  30. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/__init__.py +0 -0
  31. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/admin.py +0 -0
  32. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/apps.py +0 -0
  33. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/forms.py +0 -0
  34. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/models.py +0 -0
  35. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/templatetags/__init__.py +0 -0
  36. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/templatetags/admin_material.py +0 -0
  37. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/templatetags/replace_value.py +0 -0
  38. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/urls.py +0 -0
  39. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/utils.py +0 -0
  40. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/admin_dash/views.py +0 -0
  41. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/__init__.py +0 -0
  42. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/admin.py +0 -0
  43. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/config.py +0 -0
  44. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/forms.py +0 -0
  45. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/migrations/__init__.py +0 -0
  46. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/models.py +0 -0
  47. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/tests.py +0 -0
  48. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/urls.py +0 -0
  49. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/authentication/views.py +0 -0
  50. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/config.py +0 -0
  51. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/context_processors.py +0 -0
  52. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/documents/__init__.py +0 -0
  53. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/documents/apps.py +0 -0
  54. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/documents/documents.py +0 -0
  55. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/documents/migrations/__init__.py +0 -0
  56. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/documents/tests.py +0 -0
  57. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/documents/urls.py +0 -0
  58. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/documents/views.py +0 -0
  59. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/__init__.py +0 -0
  60. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/admin.py +0 -0
  61. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/apps.py +0 -0
  62. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/daemon.py +0 -0
  63. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/identification.py +0 -0
  64. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/migrations/0001_initial.py +0 -0
  65. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/migrations/0002_evaluation_status.py +0 -0
  66. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/migrations/__init__.py +0 -0
  67. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/models.py +0 -0
  68. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/urls.py +0 -0
  69. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/evaluation/views.py +0 -0
  70. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/__init__.py +0 -0
  71. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/admin.py +0 -0
  72. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/apps.py +0 -0
  73. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/migrations/0001_initial.py +0 -0
  74. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/migrations/0002_rename_event_eventrecord.py +0 -0
  75. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/migrations/0003_hazardevent.py +0 -0
  76. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/migrations/__init__.py +0 -0
  77. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/models.py +0 -0
  78. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/tests.py +0 -0
  79. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/tests_events.py +0 -0
  80. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/urls.py +0 -0
  81. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/events/views_events.py +0 -0
  82. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/__init__.py +0 -0
  83. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/admin.py +0 -0
  84. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/apps.py +0 -0
  85. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/archive/CESMD.py +0 -0
  86. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/archive/calid.py +0 -0
  87. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/fields.py +0 -0
  88. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/filters.py +0 -0
  89. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/forms.py +0 -0
  90. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/0001_initial.py +0 -0
  91. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/0002_alter_asset_bridge_sensors_and_more.py +0 -0
  92. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/0003_asset_notes.py +0 -0
  93. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/0004_datum_sensorgroup_sensor.py +0 -0
  94. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/0005_alter_sensor_group.py +0 -0
  95. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/0006_datum_asset_datum_locate_x_datum_locate_y_and_more.py +0 -0
  96. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/0007_sensor_name.py +0 -0
  97. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/0008_alter_sensor_dx_alter_sensor_dy_alter_sensor_dz_and_more.py +0 -0
  98. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/migrations/__init__.py +0 -0
  99. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/models.py +0 -0
  100. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/services/render.py +0 -0
  101. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/sitemaps.py +0 -0
  102. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/tables.py +0 -0
  103. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/templatetags/__init__.py +0 -0
  104. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/templatetags/get.py +0 -0
  105. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/inventory/templatetags/nbi.py +0 -0
  106. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/management/__init__.py +0 -0
  107. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/management/commands/__init__.py +0 -0
  108. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/__init__.py +0 -0
  109. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/apps.py +0 -0
  110. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/forms.py +0 -0
  111. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/migrations/__init__.py +0 -0
  112. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/models.py +0 -0
  113. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/networks.py +0 -0
  114. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/tests.py +0 -0
  115. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/urls.py +0 -0
  116. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/networks/views.py +0 -0
  117. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/__init__.py +0 -0
  118. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/admin.py +0 -0
  119. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/apps.py +0 -0
  120. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/forms.py +0 -0
  121. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/metrics.py +0 -0
  122. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/migrations/0001_initial.py +0 -0
  123. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/migrations/0002_alter_predictormodel_protocol.py +0 -0
  124. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/migrations/0003_alter_predictormodel_protocol.py +0 -0
  125. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/migrations/0004_sensorassignment.py +0 -0
  126. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/migrations/0005_remove_sensorassignment_offset_x_and_more.py +0 -0
  127. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/migrations/0006_remove_sensorassignment_show_x_and_more.py +0 -0
  128. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/migrations/__init__.py +0 -0
  129. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/predictor.py +0 -0
  130. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/__init__.py +0 -0
  131. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/hazus.py +0 -0
  132. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/metrics.py +0 -0
  133. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/schemas/__init__.py +0 -0
  134. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/schemas/hwd_analysis.schema.json +0 -0
  135. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/schemas/hwd_analysis_default.json +0 -0
  136. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/schemas/hwd_conf.schema.json +0 -0
  137. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/schemas/hwd_conf_default.json +0 -0
  138. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/schemas/hwd_results.schema.json +0 -0
  139. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/schemas/hwd_results_default.json +0 -0
  140. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/utilities.py +0 -0
  141. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/xmlutils.py +0 -0
  142. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/runners/opensees/zipped.py +0 -0
  143. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/templatetags/__init__.py +0 -0
  144. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/templatetags/predictor.py +0 -0
  145. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/prediction/views_api.py +0 -0
  146. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/__init__.py +0 -0
  147. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/admin.py +0 -0
  148. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/config.py +0 -0
  149. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/migrations/__init__.py +0 -0
  150. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/models.py +0 -0
  151. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/templatetags/__init__.py +0 -0
  152. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/templatetags/indexing.py +0 -0
  153. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/tests.py +0 -0
  154. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/urls.py +0 -0
  155. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/view_sdof.py +0 -0
  156. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/view_utils.py +0 -0
  157. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/site/views.py +0 -0
  158. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/sitemaps.py +0 -0
  159. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/content_images/brace/mdof.svg +0 -0
  160. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/content_images/brace/opensees.jpg +0 -0
  161. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/content_images/brace/sdof.svg +0 -0
  162. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/content_images/brace/sees.png +0 -0
  163. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/css/brace.css +0 -0
  164. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/css/brace.css.map +0 -0
  165. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/css/brace.min.css +0 -0
  166. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/css/uPlot.min.css +0 -0
  167. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/brace2-no_text.png +0 -0
  168. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/brand/dark.svg +0 -0
  169. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/brand/light.svg +0 -0
  170. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/colStrains.svg +0 -0
  171. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/colStrains_big.png +0 -0
  172. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/colStrains_small.png +0 -0
  173. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/colStrains_svg_optimizer.svg +0 -0
  174. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/colStrains_svg_optimizer.xml +0 -0
  175. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/drift.svg +0 -0
  176. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/earthquake-hazard.png +0 -0
  177. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/android-chrome-192x192.png +0 -0
  178. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/android-chrome-512x512.png +0 -0
  179. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/apple-touch-icon.png +0 -0
  180. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/browserconfig.xml +0 -0
  181. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/favicon-16x16.png +0 -0
  182. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/favicon-32x32.png +0 -0
  183. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/favicon.ico +0 -0
  184. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/manifest.json +0 -0
  185. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/mstile-150x150.png +0 -0
  186. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/safari-pinned-tab.svg +0 -0
  187. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/favicon/site.webmanifest +0 -0
  188. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/icons/github.svg +0 -0
  189. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/icons/google-tag-manager.svg +0 -0
  190. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/icons/google_analytics.svg +0 -0
  191. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/illustrations/404.svg +0 -0
  192. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/illustrations/500.svg +0 -0
  193. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/illustrations/bs5-illustrations.svg +0 -0
  194. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/illustrations/signin.svg +0 -0
  195. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/marker.svg +0 -0
  196. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/metric.png +0 -0
  197. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/painter.png +0 -0
  198. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/paypal-logo.svg +0 -0
  199. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/peer-black.svg +0 -0
  200. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/peer-light.svg +0 -0
  201. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/predictors.png +0 -0
  202. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/profile-cover.jpg +0 -0
  203. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/soga-logo.jpeg +0 -0
  204. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/img/twin.png +0 -0
  205. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll01336.svg +0 -0
  206. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll01336_1.svg +0 -0
  207. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll13705.svg +0 -0
  208. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll13795.svg +0 -0
  209. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll14406.svg +0 -0
  210. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll23631.svg +0 -0
  211. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll23631_1.svg +0 -0
  212. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll24694.svg +0 -0
  213. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll24704.svg +0 -0
  214. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll24706.svg +0 -0
  215. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll24775.svg +0 -0
  216. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll33742.svg +0 -0
  217. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll47315.svg +0 -0
  218. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll54730.svg +0 -0
  219. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58600-2.svg +0 -0
  220. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58600-3.svg +0 -0
  221. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58600-4.svg +0 -0
  222. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58600.svg +0 -0
  223. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58601-2.svg +0 -0
  224. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58601-3.svg +0 -0
  225. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58601-4.svg +0 -0
  226. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58601.svg +0 -0
  227. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58632-2.svg +0 -0
  228. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58632-3.svg +0 -0
  229. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58632-4.svg +0 -0
  230. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58632-5.svg +0 -0
  231. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58632-6.svg +0 -0
  232. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58632-7.svg +0 -0
  233. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58632-8.svg +0 -0
  234. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58632.svg +0 -0
  235. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58658-2.svg +0 -0
  236. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58658-3.svg +0 -0
  237. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58658.svg +0 -0
  238. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58658_1.svg +0 -0
  239. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58658_2.svg +0 -0
  240. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58658_3.svg +0 -0
  241. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58700-1.svg +0 -0
  242. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58700-3.svg +0 -0
  243. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58700-4.svg +0 -0
  244. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll58700.svg +0 -0
  245. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68184.svg +0 -0
  246. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68185-2.svg +0 -0
  247. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68185-3.svg +0 -0
  248. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68185-4.svg +0 -0
  249. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68185-5.svg +0 -0
  250. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68185-6.svg +0 -0
  251. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68185-7.svg +0 -0
  252. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68185-8.svg +0 -0
  253. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68185.svg +0 -0
  254. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68682-2.svg +0 -0
  255. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68682-3.svg +0 -0
  256. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68682-4.svg +0 -0
  257. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68682-5.svg +0 -0
  258. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll68682.svg +0 -0
  259. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll79421.svg +0 -0
  260. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll89324.svg +0 -0
  261. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll89324_2.svg +0 -0
  262. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll89686.svg +0 -0
  263. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll89708-2.svg +0 -0
  264. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll89708.svg +0 -0
  265. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll89735.svg +0 -0
  266. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll89736.svg +0 -0
  267. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/inventory/ll89973.svg +0 -0
  268. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/787.545aecf5.chunk.js +0 -0
  269. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/d3.v4.min.js +0 -0
  270. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/events_api.js +0 -0
  271. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/events_page.js +0 -0
  272. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/fmkFunctions.js +0 -0
  273. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/jsonview.bundle.js +0 -0
  274. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/login_page.js +0 -0
  275. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/main.1c459f17.js +0 -0
  276. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/js/uPlot.iife.min.js +0 -0
  277. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-base.js +0 -0
  278. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-base.js.flow +0 -0
  279. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-lite.js +0 -0
  280. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper-lite.js.flow +0 -0
  281. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper.js +0 -0
  282. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/cjs/popper.js.flow +0 -0
  283. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/createPopper.js +0 -0
  284. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/contains.js +0 -0
  285. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getBoundingClientRect.js +0 -0
  286. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getClippingRect.js +0 -0
  287. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getCompositeRect.js +0 -0
  288. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getComputedStyle.js +0 -0
  289. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getDocumentElement.js +0 -0
  290. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getDocumentRect.js +0 -0
  291. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getHTMLElementScroll.js +0 -0
  292. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getLayoutRect.js +0 -0
  293. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getNodeName.js +0 -0
  294. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getNodeScroll.js +0 -0
  295. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getOffsetParent.js +0 -0
  296. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getParentNode.js +0 -0
  297. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getScrollParent.js +0 -0
  298. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getViewportRect.js +0 -0
  299. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindow.js +0 -0
  300. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindowScroll.js +0 -0
  301. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/getWindowScrollBarX.js +0 -0
  302. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/instanceOf.js +0 -0
  303. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/isScrollParent.js +0 -0
  304. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/isTableElement.js +0 -0
  305. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/dom-utils/listScrollParents.js +0 -0
  306. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/enums.js +0 -0
  307. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/index.js +0 -0
  308. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/applyStyles.js +0 -0
  309. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/arrow.js +0 -0
  310. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/computeStyles.js +0 -0
  311. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/eventListeners.js +0 -0
  312. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/flip.js +0 -0
  313. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/hide.js +0 -0
  314. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/index.js +0 -0
  315. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/offset.js +0 -0
  316. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/popperOffsets.js +0 -0
  317. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/modifiers/preventOverflow.js +0 -0
  318. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper-base.js +0 -0
  319. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper-lite.js +0 -0
  320. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/popper.js +0 -0
  321. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/types.js +0 -0
  322. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/computeAutoPlacement.js +0 -0
  323. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/computeOffsets.js +0 -0
  324. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/debounce.js +0 -0
  325. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/detectOverflow.js +0 -0
  326. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/expandToHashMap.js +0 -0
  327. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/format.js +0 -0
  328. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getAltAxis.js +0 -0
  329. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getAltLen.js +0 -0
  330. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getBasePlacement.js +0 -0
  331. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getFreshSideObject.js +0 -0
  332. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getMainAxisFromPlacement.js +0 -0
  333. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getOppositePlacement.js +0 -0
  334. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getOppositeVariationPlacement.js +0 -0
  335. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/getVariation.js +0 -0
  336. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/math.js +0 -0
  337. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/mergeByName.js +0 -0
  338. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/mergePaddingObject.js +0 -0
  339. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/orderModifiers.js +0 -0
  340. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/rectToClientRect.js +0 -0
  341. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/uniqueBy.js +0 -0
  342. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/validateModifiers.js +0 -0
  343. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/esm/utils/within.js +0 -0
  344. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-base.min.js +0 -0
  345. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-base.min.js.flow +0 -0
  346. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-lite.min.js +0 -0
  347. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper-lite.min.js.flow +0 -0
  348. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper.min.js +0 -0
  349. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/@popperjs/core/dist/umd/popper.min.js.flow +0 -0
  350. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-grid.min.css +0 -0
  351. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-grid.rtl.min.css +0 -0
  352. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-reboot.min.css +0 -0
  353. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-reboot.rtl.min.css +0 -0
  354. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-utilities.min.css +0 -0
  355. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap-utilities.rtl.min.css +0 -0
  356. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap.min.css +0 -0
  357. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/css/bootstrap.rtl.min.css +0 -0
  358. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.bundle.min.js +0 -0
  359. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.esm.min.js +0 -0
  360. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/bootstrap/dist/js/bootstrap.min.js +0 -0
  361. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/chartist-plugin-tooltips/dist/chartist-plugin-tooltip.css +0 -0
  362. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/chartist-plugin-tooltips/dist/chartist-plugin-tooltip.min.js +0 -0
  363. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/notyf/notyf.es.js +0 -0
  364. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/notyf/notyf.min.css +0 -0
  365. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/notyf/notyf.min.js +0 -0
  366. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/notyf/notyf.umd.js +0 -0
  367. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.css +0 -0
  368. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.js +0 -0
  369. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.min.mjs +0 -0
  370. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/nouislider/distribute/nouislider.mjs +0 -0
  371. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/onscreen/dist/index.js +0 -0
  372. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/onscreen/dist/on-screen.es6.js +0 -0
  373. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/onscreen/dist/on-screen.umd.min.js +0 -0
  374. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar-core.esm.js +0 -0
  375. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.esm.js +0 -0
  376. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.min.css +0 -0
  377. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.min.js +0 -0
  378. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/simplebar/dist/simplebar.umd.js +0 -0
  379. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/smooth-scroll/dist/smooth-scroll.min.js +0 -0
  380. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/smooth-scroll/dist/smooth-scroll.polyfills.min.js +0 -0
  381. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.all.min.js +0 -0
  382. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.min.css +0 -0
  383. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/sweetalert2/dist/sweetalert2.min.js +0 -0
  384. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/lib/jquery.waypoints.min.js +0 -0
  385. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/lib/noframework.waypoints.min.js +0 -0
  386. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/infinite.min.js +0 -0
  387. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/inview.min.js +0 -0
  388. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/lib/shortcuts/sticky.min.js +0 -0
  389. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/lib/waypoints.debug.js +0 -0
  390. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/lib/zepto.waypoints.min.js +0 -0
  391. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/licenses.txt +0 -0
  392. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/assets/vendor/waypoints/testem.json +0 -0
  393. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/favicon.ico +0 -0
  394. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/static/sitemap.xml +0 -0
  395. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/accounts/login.html +0 -0
  396. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/accounts/register.html +0 -0
  397. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/admin/base_site.html +0 -0
  398. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/admin/color_theme_toggle.html +0 -0
  399. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/bridges/InteractiveTwin-CE58658.html +0 -0
  400. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/css/admin-extra.css +0 -0
  401. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/documents/documents.html +0 -0
  402. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/events/EarthquakeResponse.html +0 -0
  403. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/events/event-table.html +0 -0
  404. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/events/events.html +0 -0
  405. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/events/login.html +0 -0
  406. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/events/react_and_bootstrap.html +0 -0
  407. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/home/asset.html +0 -0
  408. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/includes/asset-event-table.html +0 -0
  409. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/includes/footer.html +0 -0
  410. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/includes/modal-report.html +0 -0
  411. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/includes/navigation.html +0 -0
  412. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/includes/settings-box.html +0 -0
  413. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/includes/sidebar.html +0 -0
  414. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/asset-evals.html +0 -0
  415. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/asset-event-summary.html +0 -0
  416. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/asset-on-map.html +0 -0
  417. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/asset-profile.html +0 -0
  418. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/asset-sensors.html +0 -0
  419. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/asset-table.html +0 -0
  420. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/bridge-dashboard.html +0 -0
  421. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/bridge.html +0 -0
  422. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/dashboard.html +0 -0
  423. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/map-inventory.html +0 -0
  424. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/map-inventory2.html +0 -0
  425. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/map-single-asset.html +0 -0
  426. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/map-single-asset2.html +0 -0
  427. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/map-terrain.html +0 -0
  428. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/preamble.tex +0 -0
  429. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/report.tex +0 -0
  430. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/inventory/three-maps.html +0 -0
  431. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/layouts/base-fullscreen.html +0 -0
  432. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/layouts/base.html +0 -0
  433. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/layouts/json-form.html +0 -0
  434. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/networks/_networks.html +0 -0
  435. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/networks/corridor_table.html +0 -0
  436. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/networks/networks.js +0 -0
  437. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/networks/styled_inputs.html +0 -0
  438. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/create-mdof.html +0 -0
  439. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/hazus/event.html +0 -0
  440. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/hazus/history.html +0 -0
  441. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/hazus/history.js +0 -0
  442. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/new-runner.html +0 -0
  443. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/prediction/predictor-profile.html +0 -0
  444. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/sensors/render-sensors.js +0 -0
  445. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/about.html +0 -0
  446. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/asset_map.html +0 -0
  447. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/components-forms.html +0 -0
  448. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/json-form.html +0 -0
  449. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-400-sidebar.html +0 -0
  450. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-400.html +0 -0
  451. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-403.html +0 -0
  452. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-404-sidebar.html +0 -0
  453. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-404.html +0 -0
  454. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-500.html +0 -0
  455. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-forgot-password.html +0 -0
  456. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-lock.html +0 -0
  457. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-reset-password.html +0 -0
  458. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-sign-in.html +0 -0
  459. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/page-sign-up.html +0 -0
  460. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/qr-0001.html +0 -0
  461. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/qr-0002.html +0 -0
  462. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/qr-0003.html +0 -0
  463. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/qr-0004.html +0 -0
  464. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/robots.txt +0 -0
  465. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/settings.html +0 -0
  466. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/tables-bootstrap-tables.html +0 -0
  467. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/transactions.html +0 -0
  468. {irie-0.0.53 → irie-0.0.55}/src/irie/apps/templates/site/unused-dashboard-cards.html +0 -0
  469. {irie-0.0.53 → irie-0.0.55}/src/irie/core/__init__.py +0 -0
  470. {irie-0.0.53 → irie-0.0.55}/src/irie/core/asgi.py +0 -0
  471. {irie-0.0.53 → irie-0.0.55}/src/irie/core/settings.py +0 -0
  472. {irie-0.0.53 → irie-0.0.55}/src/irie/core/urls.py +0 -0
  473. {irie-0.0.53 → irie-0.0.55}/src/irie/core/wsgi.py +0 -0
  474. {irie-0.0.53 → irie-0.0.55}/src/irie/fhwa/__init__.py +0 -0
  475. {irie-0.0.53 → irie-0.0.55}/src/irie/fhwa/__main__.py +0 -0
  476. {irie-0.0.53 → irie-0.0.55}/src/irie/fhwa/fields/nbi001.py +0 -0
  477. {irie-0.0.53 → irie-0.0.55}/src/irie/fhwa/fields/nbi001b.py +0 -0
  478. {irie-0.0.53 → irie-0.0.55}/src/irie/fhwa/fields/nbi002.py +0 -0
  479. {irie-0.0.53 → irie-0.0.55}/src/irie/fhwa/fields.py +0 -0
  480. {irie-0.0.53 → irie-0.0.55}/src/irie/init/__init__.py +0 -0
  481. {irie-0.0.53 → irie-0.0.55}/src/irie/init/__main__.py +0 -0
  482. {irie-0.0.53 → irie-0.0.55}/src/irie/init/bridges.py +0 -0
  483. {irie-0.0.53 → irie-0.0.55}/src/irie/init/calid.py +0 -0
  484. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/cgs-stations.json +0 -0
  485. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/cgs_data.json +0 -0
  486. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/nbe_data-california.json +0 -0
  487. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/nbi/04.tar +0 -0
  488. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/nbi_codes-california-filtered.json +0 -0
  489. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/nbi_codes-california.json +0 -0
  490. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/nbi_data-california.json +0 -0
  491. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/nbi_data_cesmd.json +0 -0
  492. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/nbi_definitions.json +0 -0
  493. {irie-0.0.53 → irie-0.0.55}/src/irie/init/data/networks/soga_corridors.json +0 -0
  494. {irie-0.0.53 → irie-0.0.55}/src/irie/init/getBridgeData.py +0 -0
  495. {irie-0.0.53 → irie-0.0.55}/src/irie/init/getCGSData.py +0 -0
  496. {irie-0.0.53 → irie-0.0.55}/src/irie/init/getCGSevents.py +0 -0
  497. {irie-0.0.53 → irie-0.0.55}/src/irie/init/getNBIData.py +0 -0
  498. {irie-0.0.53 → irie-0.0.55}/src/irie/init/hayward.zip +0 -0
  499. {irie-0.0.53 → irie-0.0.55}/src/irie/init/management/commands/init_assets.py +0 -0
  500. {irie-0.0.53 → irie-0.0.55}/src/irie/init/management/commands/init_cesmd.py +0 -0
  501. {irie-0.0.53 → irie-0.0.55}/src/irie/init/management/commands/init_corridors.py +0 -0
  502. {irie-0.0.53 → irie-0.0.55}/src/irie/init/management/commands/init_predictors.py +0 -0
  503. {irie-0.0.53 → irie-0.0.55}/src/irie/init/management/commands/make_asset.py +0 -0
  504. {irie-0.0.53 → irie-0.0.55}/src/irie/pull/nbi.py +0 -0
  505. {irie-0.0.53 → irie-0.0.55}/src/irie/rest/__main__.py +0 -0
  506. {irie-0.0.53 → irie-0.0.55}/src/irie/usgs/__main__.py +0 -0
  507. {irie-0.0.53 → irie-0.0.55}/src/irie.egg-info/dependency_links.txt +0 -0
  508. {irie-0.0.53 → irie-0.0.55}/src/irie.egg-info/entry_points.txt +0 -0
  509. {irie-0.0.53 → irie-0.0.55}/src/irie.egg-info/requires.txt +0 -0
  510. {irie-0.0.53 → irie-0.0.55}/src/irie.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: irie
3
- Version: 0.0.53
3
+ Version: 0.0.55
4
4
  Summary: An infrastructure resilience engine
5
5
  Author-email: "Claudio M. Perez" <50180406+claudioperez@users.noreply.github.com>
6
6
  Project-URL: Repository, https://github.com/STAIRLab
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "irie"
3
- version = "0.0.53"
3
+ version = "0.0.55"
4
4
  authors = [
5
5
  {name="Claudio M. Perez", email="50180406+claudioperez@users.noreply.github.com"}
6
6
  ]
@@ -32,7 +32,7 @@ def event_table(request):
32
32
  events = [i for i in sorted(EventRecord.objects.all(),
33
33
  key=lambda x: x.motion_data["event_date"], reverse=True)]
34
34
 
35
- paginator = Paginator(events, 5)
35
+ paginator = Paginator(events, 20)
36
36
 
37
37
 
38
38
  # reversed(sorted(Event.objects.all(),
@@ -21,7 +21,7 @@ urlpatterns = [
21
21
  path("asset_table/export", views.asset_table_export, name="asset_table_export_csv"),
22
22
  re_path(
23
23
  "^evaluations/(?P<event>[0-9 A-Z-]*)/(?P<cesmd>[0-9 A-Z-]*)/.*", views.asset_event_summary,
24
- name="asset_event_summary"
24
+ name="asset_event_summary"
25
25
  ),
26
26
  re_path("^inventory/(?P<calid>[0-9 A-Z-]*)/evaluations/$", views.asset_evals, name="asset_evals"),
27
27
  re_path("^inventory/(?P<calid>[0-9 A-Z-]*)/$", views.asset_profile, name="asset_profile"),
@@ -339,7 +339,6 @@ def asset_profile(request, calid):
339
339
  raise e
340
340
  import sys
341
341
  print(e, file=sys.stderr)
342
- print(e)
343
342
  html_template = loader.get_template("site/page-500.html")
344
343
  return HttpResponse(html_template.render(context, request))
345
344
 
@@ -33,6 +33,12 @@ class PredictorModel(models.Model):
33
33
 
34
34
  def __str__(self):
35
35
  return f"{self.asset.calid} - {self.name} : {self.description}"
36
+
37
+ def get_runner(self):
38
+ pass
39
+
40
+ def get_artist(self):
41
+ pass
36
42
 
37
43
 
38
44
  class SensorAssignment(models.Model):
@@ -500,58 +500,59 @@ class OpenSeesRunner(Runner):
500
500
  #
501
501
  # Viewing methods
502
502
  #
503
- def structural_section(self, name):
504
- from shps.shapes import from_aisc
505
- from openbim.csi._frame.section import section_geometry, section_mesh
506
-
507
- from openbim.csi import load, create_model, collect_outlines
508
- # 1) Parse the CSI file
509
- try:
510
- csi_file = self.predictor.config_file
511
- csi = load((str(line.decode()).replace("\r\n","\n") for line in csi_file.readlines()))
512
- except:
513
- return None
514
-
515
- mesh = section_mesh(csi, name)
516
- return {}, mesh
517
- mesh = from_aisc("W12x14").create_mesh(mesh_kwds={"engine": "meshpy"})
518
- mesh = (mesh.nodes, mesh.cells())
519
- # return {}, mesh
520
-
521
503
 
504
+ @property
505
+ def _csi(self):
506
+ if not hasattr(self, "_csi_data") or self._csi_data is None:
507
+ from openbim.csi import load, create_model, collect_outlines
508
+ # 1) Parse the CSI file
509
+ try:
510
+ csi_file = self.predictor.config_file
511
+ self._csi_data = load((str(line.decode()).replace("\r\n","\n") for line in csi_file.readlines()))
512
+ except Exception as e:
513
+ import sys
514
+ print(f"Error loading CSiBridge file: {e}", file=sys.stderr)
515
+ self._csi_data = None
522
516
 
517
+ return self._csi_data
518
+
519
+
520
+ def structural_section(self, name):
521
+ from openbim.csi._frame.section import create_section
522
+ # from openbim.csi._frame.outlines import section_mesh
523
+ if (s:= create_section(self._csi, name)) is not None:
524
+ return {}, s._create_model(mesh_size=0.1)
525
+
526
+
527
+ def structural_sections(self):
528
+ from openbim.csi._frame.section import iter_sections
529
+ yield from iter_sections(self._csi)
530
+ # for s, name in iter_sections(self._csi):
531
+ # yield {
532
+ # "name": name,
533
+ # "type": "Section",
534
+ # "section": name,
535
+ # }
523
536
 
524
537
  def structural_members(self):
525
538
 
526
- from openbim.csi import load, create_model, collect_outlines
527
- # 1) Parse the CSI file
528
- csi_file = self.predictor.config_file
529
- try:
530
- csi = load((str(line.decode()).replace("\r\n","\n") for line in csi_file.readlines()))
531
- except Exception as e:
532
- import sys
533
- print(f"Error loading CSiBridge file: {e}", file=sys.stderr)
534
- csi = {}
535
-
536
- for item in csi.get("BRIDGE BENT DEFINITIONS 2 - COLUMN DATA",[]):
539
+ for item in self._csi.get("BRIDGE BENT DEFINITIONS 2 - COLUMN DATA",[]):
537
540
  if "ColNum" in item and "Section" in item:
538
541
  yield {
539
542
  "name": item["ColNum"],
540
543
  "type": "Column",
541
- "section": item["Section"],
544
+ # "section": item["Section"],
542
545
  }
543
546
 
544
- for item in csi.get("BRIDGE OBJECT DEFINITIONS 03 - SPANS 1 - GENERAL", []):
547
+ for item in self._csi.get("BRIDGE OBJECT DEFINITIONS 03 - SPANS 1 - GENERAL", []):
545
548
  if "SpanName" in item and "BridgeSect" in item:
546
549
  yield {
547
550
  "name": item["SpanName"],
548
551
  "type": "Span",
549
- "section": None,
552
+ # "section": None,
550
553
  }
551
554
 
552
555
 
553
-
554
-
555
556
  # import subprocess
556
557
  # class Event: pass
557
558
 
@@ -12,7 +12,6 @@ import json
12
12
  import io
13
13
  import base64
14
14
  import numpy as np
15
- # Ensure Agg backend is set for non-interactive plotting
16
15
 
17
16
  import quakeio
18
17
  from scipy.signal import find_peaks
@@ -433,6 +432,7 @@ def plot_spectral_surface(ax, traces, **options):
433
432
 
434
433
 
435
434
  def _plot_mountains(spectra, accellim=None):
435
+ # Ensure Agg backend is set for non-interactive plotting
436
436
  import matplotlib
437
437
  matplotlib.use('Agg')
438
438
  from matplotlib import pyplot as plt, ticker, cm
@@ -9,7 +9,7 @@
9
9
  #----------------------------------------------------------------------------#
10
10
  from django.urls import re_path
11
11
  from .views import (
12
- asset_predictors, predictor_profile, predictor_profile_detail,
12
+ asset_predictors, predictor_profile, predictor_render,
13
13
  create_mdof, create_model, asset_map
14
14
  )
15
15
 
@@ -17,7 +17,7 @@ _ROOT = "^inventory/(?P<calid>[0-9 A-Z-]*)/predictors"
17
17
 
18
18
  urlpatterns = [
19
19
  re_path(f"{_ROOT}/(?P<preid>[0-9]{{1,}})/$", predictor_profile),
20
- re_path(f"{_ROOT}/(?P<preid>[0-9]{{1,}})/detail/", predictor_profile_detail),
20
+ re_path(f"{_ROOT}/(?P<preid>[0-9]{{1,}})/render/", predictor_render),
21
21
  re_path(f"{_ROOT}/create/map/$", asset_map),
22
22
  re_path(f"{_ROOT}/create/model/$", create_model),
23
23
  re_path(f"{_ROOT}/create/v1/$", create_mdof),
@@ -14,6 +14,7 @@ import json
14
14
  import veux
15
15
  import uuid
16
16
  import base64
17
+ import hashlib
17
18
 
18
19
  from django.shortcuts import HttpResponse
19
20
  from django.template import loader, TemplateDoesNotExist
@@ -30,6 +31,14 @@ from irie.apps.prediction.models import PredictorModel
30
31
  from .forms import PredictorForm
31
32
 
32
33
 
34
+
35
+ def _string_to_id(s: str) -> str:
36
+ # 1. SHA-256 → bytes 2. URL-safe Base64 (no + / =) 3. strip padding
37
+ b64 = base64.urlsafe_b64encode(
38
+ hashlib.sha256(s.encode()).digest()
39
+ ).rstrip(b'=').decode('ascii')
40
+ return f"id_{b64}"
41
+
33
42
  @login_required(login_url="/login/")
34
43
  def asset_predictors(request, calid):
35
44
 
@@ -59,8 +68,7 @@ def asset_predictors(request, calid):
59
68
 
60
69
 
61
70
  @login_required(login_url="/login/")
62
- def predictor_profile_detail(request, calid, preid):
63
- print(preid)
71
+ def predictor_render(request, calid, preid):
64
72
  try:
65
73
  predictor = PredictorModel.objects.get(pk=int(preid))
66
74
  except ObjectDoesNotExist:
@@ -71,7 +79,18 @@ def predictor_profile_detail(request, calid, preid):
71
79
  runner = PREDICTOR_TYPES[predictor.protocol](predictor)
72
80
 
73
81
  try:
74
- data, mesh = runner.structural_section(sname)
82
+ _, mesh = runner.structural_section(sname)
83
+
84
+ can = veux._create_canvas(name="gltf")
85
+ import numpy as np
86
+ R = np.array([[1, 0],[0, 1], [0, 0]])
87
+ can.plot_lines(mesh.exterior()@R.T)
88
+ if (interior := mesh.interior()) is not None:
89
+ for i in interior:
90
+ can.plot_lines(i@R.T)
91
+ glb = can.to_glb()
92
+ return HttpResponse(glb, content_type="application/binary")
93
+
75
94
  except Exception as e:
76
95
  raise e
77
96
  return HttpResponse(
@@ -79,6 +98,7 @@ def predictor_profile_detail(request, calid, preid):
79
98
  content_type="application/json",
80
99
  status=404
81
100
  )
101
+
82
102
  from veux.plane import PlaneModel
83
103
  art = veux.create_artist(mesh, ndf=1, canvas="gltf")
84
104
  art.draw_surfaces()
@@ -86,7 +106,7 @@ def predictor_profile_detail(request, calid, preid):
86
106
 
87
107
  glb = art.canvas.to_glb()
88
108
  return HttpResponse(glb, content_type="application/binary")
89
- glb64 = base64.b64encode(glb).decode("utf-8")
109
+
90
110
  # rendering = f"data:application/octet-stream;base64,{glb64}"
91
111
  # rendering = art._repr_html_()
92
112
  r = dict(
@@ -120,12 +140,19 @@ def predictor_profile(request, calid, preid):
120
140
  context["predictor"] = predictor
121
141
  context["sensors"] = predictor.sensorassignment_set.all()
122
142
 
123
-
124
143
  try:
125
144
  if predictor.protocol == PredictorModel.Protocol.TYPE1:
126
145
  html_template = loader.get_template("prediction/xara-profile.html")
146
+
127
147
  context["members"] = context["runner"].structural_members()
128
148
 
149
+ context["sections"] = [
150
+ {
151
+ "id": _string_to_id(name),
152
+ "name": name,
153
+ } for _, name in context["runner"].structural_sections()
154
+ ]
155
+
129
156
  else:
130
157
  html_template = loader.get_template("prediction/predictor-profile.html")
131
158
 
@@ -243,7 +270,7 @@ def create_model(request, calid):
243
270
  )
244
271
  artist.draw_surfaces()
245
272
 
246
- # Generate the .glb file
273
+ # Generate the .glb data
247
274
  glb = artist.canvas.to_glb()
248
275
 
249
276
  if request.POST.get("action") == "commit":
@@ -183,7 +183,7 @@ document.addEventListener("DOMContentLoaded", function(event) {
183
183
  });
184
184
 
185
185
  if (document.querySelector('.current-year')){
186
- document.querySelector('.current-year').textContent = new Date().getFullYear();
186
+ document.querySelector('.current-year').textContent = new Date().getFullYear();
187
187
  }
188
188
  // Glide JS
189
189
  });
@@ -302,7 +302,7 @@ if (document.querySelector('.fixed-plugin')) {
302
302
 
303
303
  }
304
304
 
305
- //Set Sidebar Color
305
+ // Set Sidebar Color
306
306
  function sidebarColor(a) {
307
307
  var parent = document.querySelector(".nav-link.active");
308
308
  var color = a.getAttribute("data-color");
@@ -5,6 +5,7 @@
5
5
  //===----------------------------------------------------------------------===#
6
6
  //
7
7
  class TablePagination {
8
+
8
9
  constructor(tableId, paginationId, searchInputId, rowsPerPage = 9) {
9
10
  this.table = document.getElementById(tableId);
10
11
  this.pagination = document.getElementById(paginationId);
@@ -1,5 +1,3 @@
1
-
2
- <!-- Core -->
3
1
  <script src="{{ ASSETS_ROOT }}/vendor/@popperjs/core/dist/umd/popper.min.js"></script>
4
2
  <script src="{{ ASSETS_ROOT }}/vendor/bootstrap/dist/js/bootstrap.min.js"></script>
5
3
  <script>
@@ -243,12 +243,10 @@ document.addEventListener('DOMContentLoaded', () => {
243
243
 
244
244
  const scene = createSensorRenderer(container, modelPath);
245
245
 
246
-
247
- const arrowObjects = [];
248
-
249
246
  //
250
247
  // Plot Button
251
248
  //
249
+ const arrowObjects = [];
252
250
  const plotButton = document.getElementById('plot-btn');
253
251
  plotButton.addEventListener('click', function () {
254
252
  arrowObjects.forEach(arrow => {
@@ -62,7 +62,7 @@ Claudio Perez, Summer 2023
62
62
  <h6 class="accordion-header" style="display:inline" id="{{forloop.counter}}">
63
63
  <a href="./{{predictor.id}}" >
64
64
  {{predictor.name}}
65
- </a> (<code>{{ predictor.platform }}</code>)
65
+ </a> <!-- (<code>{{ predictor.platform }}</code>) -->
66
66
  </h6>
67
67
  </div>
68
68
 
@@ -36,6 +36,7 @@
36
36
  </a>
37
37
  </div>
38
38
  </div>
39
+
39
40
  <div class="row">
40
41
  <div class="col">
41
42
  <form method="POST" enctype="multipart/form-data">
@@ -46,6 +47,13 @@
46
47
  </form>
47
48
  </div>
48
49
  </div>
50
+
51
+ {% if navigator %}
52
+ {% include "prediction/veux/navigator.html" with members=navigator.members sections=navigator.sections %}
53
+ {% endif %}
54
+
55
+ {% if error %}
56
+ {% endif %}
49
57
  <div class="row">
50
58
  <iframe
51
59
  id="map"
@@ -58,6 +66,25 @@
58
66
  {% endblock content %}
59
67
 
60
68
  {% block javascripts %}
69
+ {% if navigator %}
70
+ <script>
71
+
72
+ {% include "prediction/veux/navigator.js" %}
73
+
74
+ const VIEWER = new VeuxNavigator(`/inventory/{{asset.calid}}/predictors/{{predictor.id}}/render/?section=`,
75
+ document.querySelector('#tab-link-container'),
76
+ document.getElementById('tab-content-container'));
77
+
78
+ function handleMemberSelection(elem) {
79
+ VIEWER.select(elem);
80
+ }
81
+
82
+ document.addEventListener('DOMContentLoaded', function () {
83
+ VIEWER.initTabs('tab1', '.tab-link');
84
+ });
85
+ </script>
86
+ {% endif %}
87
+
61
88
  <script>
62
89
  const button = document.getElementById('render');
63
90
  const form = document.querySelector('form');
@@ -0,0 +1,121 @@
1
+ <div class="">
2
+ <div class="row align-right">
3
+ <!-- Left Side: Sensor Form -->
4
+ <div class="col-md-4" >
5
+ <div class="card bg-white-100 border-1 rounded-0 shadow">
6
+ <div class="card-header d-sm-flex flex-row align-items-center flex-0">
7
+ <select id="table-switcher"
8
+ class="form-select form-select-sm me-2">
9
+ <option value="members" >Members</option>
10
+ <option value="sections">Sections</option>
11
+ <option value="sensors" >Sensors</option>
12
+ </select>
13
+ </div>
14
+ <div class="card-body">
15
+ <div class="table-response">
16
+ <table id="members"
17
+ class="table align-items-center table-flush">
18
+ <thead class="thead-light">
19
+ <tr>
20
+ <th class="border-bottom" scope="col">#</th>
21
+ <th class="border-bottom" scope="col">Type</th>
22
+ </tr>
23
+ </thead>
24
+ <tbody>
25
+ {% for member in members %}
26
+ <tr id="veux-member-{{member.id}}"
27
+ data-section="{{ member.section }}"
28
+ style="cursor: pointer;"
29
+ onClick="handleMemberSelection(this)">
30
+ <td><code>{{ member.name }}</code></td>
31
+ <td>{{ member.type }}</td>
32
+ </tr>
33
+ {% endfor %}
34
+ </tbody>
35
+ </table>
36
+
37
+ <table id="sections" hidden
38
+ class="table align-items-center table-flush">
39
+ <thead class="thead-light">
40
+ <tr>
41
+ <th class="border-bottom" scope="col">#</th>
42
+ <th class="border-bottom" scope="col">Type</th>
43
+ </tr>
44
+ </thead>
45
+ <tbody>
46
+ {% for member in sections %}
47
+ <tr id="veux-member-{{member.id}}"
48
+ data-query="{{ member.name }}"
49
+ data-name="{{ member.name }}"
50
+ style="cursor: pointer;"
51
+ onClick="handleMemberSelection(this)">
52
+ <td><code>{{ member.name }}</code></td>
53
+ <td>{{ member.type }}</td>
54
+ </tr>
55
+ {% endfor %}
56
+ </tbody>
57
+ </table>
58
+
59
+ <table id="sensors"
60
+ class="table align-items-center table-flush" hidden>
61
+ <thead class="thead-light">
62
+ <tr>
63
+ <th class="border-bottom" scope="col">#</th>
64
+ <th class="border-bottom" scope="col">Node</th>
65
+ <th class="border-bottom" scope="col">Type</th>
66
+ </tr>
67
+ </thead>
68
+ <tbody>
69
+ {% for sensor in sensors %}
70
+ <tr id="sensor-{{sensor.id}}"
71
+ data-sensor-x="{{ sensor.sensor.x }}"
72
+ data-sensor-y="{{ sensor.sensor.y }}"
73
+ data-sensor-z="{{ sensor.sensor.z }}"
74
+ data-sensor-dx="{{ sensor.sensor.dx }}"
75
+ data-sensor-dy="{{ sensor.sensor.dy }}"
76
+ data-sensor-dz="{{ sensor.sensor.dy }}">
77
+ <td><code>{{ sensor.id }}</code></td>
78
+ <td>{{ sensor.node }}</td>
79
+ <td>{{ sensor.role }}</td>
80
+ </tr>
81
+ {% endfor %}
82
+ </tbody>
83
+ </table>
84
+ <nav>
85
+ <ul class="pagination" id="pagination"></ul>
86
+ </nav>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </div>
91
+
92
+ <!-- Right Side: Predictor Rendering -->
93
+ <div class="col-md-8">
94
+ <div id="rendering" class="card bg-white-100 border-1 rounded-0 shadow">
95
+ <div class="card-header">
96
+ <ul id="tab-link-container" class="nav nav-tabs" id="myTab" role="tablist">
97
+ <li class="nav-item" role="presentation">
98
+ <a class="nav-link tab-link active"
99
+ id="tab1-tab"
100
+ data-bs-toggle="tab" href="#"
101
+ data-tab="tab1"
102
+ role="tab">Model</a>
103
+ </li>
104
+ </ul>
105
+ </div>
106
+ <div class="card-body text-center" style="background-color: #f0f0f0;">
107
+ <div id="tab-content-container">
108
+ <div id="tab1-content" class="tab-content">
109
+ <div id="main-viewer"
110
+ style="width: 100%; height: 300px; background-color: #f0f0f0; margin: 0 auto;">
111
+ </div>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ <div class="card-footer text-center">
116
+ Powered by <a href="https://veux.io/">veux</a>
117
+ </div>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ </div>
@@ -4,15 +4,15 @@
4
4
  //
5
5
  //===----------------------------------------------------------------------===//
6
6
  //
7
- class VeuxViewer {
7
+ class VeuxNavigator {
8
8
  #initializedTabs;
9
9
  #table;
10
10
  #url;
11
11
  #tabLinkContainer;
12
12
  #tabContentContainer;
13
13
 
14
- constructor(url, tabLinkContainer, tabContentContainer) {
15
- this.#url = url;
14
+ constructor(baseUrl, tabLinkContainer, tabContentContainer) {
15
+ this.#url = baseUrl;
16
16
  this.#initializedTabs = [];
17
17
  this.#tabLinkContainer = tabLinkContainer;
18
18
  this.#tabContentContainer = tabContentContainer;
@@ -32,7 +32,8 @@ class VeuxViewer {
32
32
  }
33
33
 
34
34
  select(elem) {
35
- const sname = elem.dataset.section;
35
+ const sname = `${elem.id}`; //dataset.name;
36
+ // const hash = elem.dataset.hash;
36
37
 
37
38
  if (this.#initializedTabs.includes(sname)) {
38
39
  const tabLink = this.#tabLinkContainer.querySelector(`#${sname}-tab`);
@@ -40,11 +41,11 @@ class VeuxViewer {
40
41
  return;
41
42
  }
42
43
 
43
- this.addTab(sname);
44
+ this.addTab(elem);
44
45
  }
45
46
 
46
- addTab(corr) {
47
- const tab = `${corr}`;
47
+ addTab(elem) {
48
+ const tab = `${elem.id}`;
48
49
 
49
50
  //
50
51
  //
@@ -54,10 +55,10 @@ class VeuxViewer {
54
55
  tabLink.classList.add("tab-link", "nav-link", "active");
55
56
  tabLink.href = "#";
56
57
  tabLink.setAttribute('data-tab', tab);
57
- tabLink.setAttribute('data-section', corr);
58
+ tabLink.setAttribute('data-query', elem.dataset.query);
58
59
  tabLink.setAttribute('data-bs-toggle', 'tab');
59
60
  tabLink.setAttribute('role', 'tab');
60
- tabLink.innerHTML = `${corr} <button class="btn-close" type="button" aria-label="Close"></button>`;
61
+ tabLink.innerHTML = `${elem.dataset.name} <button class="btn-close" type="button" aria-label="Close"></button>`;
61
62
  const closeButton = tabLink.querySelector('.btn-close');
62
63
  closeButton.addEventListener('click', (e) => {
63
64
  this.delTab(tabLink);
@@ -83,14 +84,10 @@ class VeuxViewer {
83
84
  tabContent.style.display = 'block';
84
85
  this.#tabContentContainer.appendChild(tabContent);
85
86
 
86
- // Get the data-tab attribute to know which content to load
87
- const selectedTab = tabLink.getAttribute('data-tab');
88
-
87
+
89
88
  this.#initializedTabs.push(tab);
90
-
91
89
  this.clickTab(tabLink);
92
-
93
- this.fetchAndUpdateTab(selectedTab, corr);
90
+ this.fetchAndUpdateTab(tab, elem.dataset.query);
94
91
  return tabLink;
95
92
  }
96
93
 
@@ -133,7 +130,7 @@ class VeuxViewer {
133
130
  this.clickTab(document.getElementById('tab1-tab'));
134
131
  }
135
132
 
136
- fetchAndUpdateTab(tab) {
133
+ fetchAndUpdateTab(tab, query) {
137
134
  const contentDiv = this.#tabContentContainer.querySelector(`#${tab}-content`);
138
135
 
139
136
  // Show loading message while content is being fetched
@@ -145,7 +142,7 @@ class VeuxViewer {
145
142
  </div>
146
143
  `;
147
144
 
148
- let apiUrl = `${this.#url}${tab}`;
145
+ let apiUrl = `${this.#url}${query}`;
149
146
  console.log(`Fetching content from: ${apiUrl}`);
150
147
 
151
148
  if (true) {
@@ -162,6 +159,9 @@ class VeuxViewer {
162
159
  contentDiv.appendChild(mv);
163
160
  return;
164
161
  }
162
+
163
+ //
164
+ //
165
165
  fetch(apiUrl)
166
166
  .then(response => response.json())
167
167
  .then(data => {