Refactor the unstructured text into a valid JSON dictionary. The key names follow the Darwin Core Archive Standard. If a key lacks content, then insert an empty string. Fill in the following JSON structure as required: {"catalogNumber": "", "order": "", "family": "", "scientificName": "", "scientificNameAuthorship": "", "genus": "", "subgenus": "", "specificEpithet": "", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "", "recordNumber": "", "verbatimEventDate": "", "habitat": "", "occurrenceRemarks": "", "associatedTaxa": "", "country": "", "stateProvince": "", "county": "", "municipality": "", "locality": "", "decimalLatitude": "", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}
Michigan 5%Z         United States  :*^!       E  -89.52221 grossulariaceae ^Eo   MICHX. xNmD    7d0S gogebic  @e 46.3118 ribes $*h saxifragales qh  HIRTELLUM [      0I 1520 Ribes hirtellum u   
{"catalogNumber": "", "order": "Saxifragales", "family": "Grossulariaceae", "scientificName": "Ribes hirtellum", "scientificNameAuthorship": "Michx.", "genus": "Ribes", "subgenus": "", "specificEpithet": "hirtellum", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "", "recordNumber": "1520", "verbatimEventDate": "", "habitat": "", "occurrenceRemarks": "", "associatedTaxa": "", "country": "United States", "stateProvince": "Michigan", "county": "Gogebic", "municipality": "", "locality": "", "decimalLatitude": "46.3118", "decimalLongitude": "-89.52221", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}