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 ^En     PZOq ribes glandulosum     u2a ? Dupl. says "rocky roadside near Laurium"    b GROSSULARIACEAE United States w  SAXIFRAGALES IQo5p  glandulosvm ~l    246 xi_gp     GRAUER 1468782 /P%  RIBES $sk(G   ]=> LEDUM BOG.     i8aNA frederick j. hermann  ! HOUGHTON  [x 47.24407
{"catalogNumber": "1468782", "order": "Saxifragales", "family": "Grossulariaceae", "scientificName": "Ribes glandulosum", "scientificNameAuthorship": "Grauer", "genus": "Ribes", "subgenus": "", "specificEpithet": "glandulosum", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "Frederick J. Hermann", "recordNumber": "246", "verbatimEventDate": "", "habitat": "Ledum bog.", "occurrenceRemarks": "", "associatedTaxa": "", "country": "United States", "stateProvince": "Michigan", "county": "Houghton", "municipality": "", "locality": "Dupl. says \"rocky roadside near Laurium\"", "decimalLatitude": "47.24407", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}