
if (type == exact) {
if (type != exact) {
   setupRequired(utils -j gfb2f016548+b712490ecc)
   setupRequired(sconsUtils -j g5d571352bb)
   setupRequired(sphinxutils -j gf7b00018f0+663e2227e0)
   setupRequired(verify -j g99a1cb4b73+b5abbd0d8b)
   setupRequired(pex_config -j g8fad44f3d7+9b5fb0ee94)
   setupOptional(daf_base -j gbf6257aa9d+7147b71ecc)
   setupRequired(cpputils -j gee37125a88+b319181507)
   setupRequired(base -j g53246c7159+663e2227e0)
   setupRequired(pex_exceptions -j g786e29fd12+53fe651d7c)
   setupRequired(resources -j g4354dbd74b+940ec9190d)
   setupRequired(daf_butler -j g0c23e58bec+fe2836ff9c)
   setupRequired(sphgeom -j g8f490195a6+663e2227e0)
   setupRequired(pipe_base -j gf38bda2b58+74f4b17d63)
   setupRequired(dax_apdb -j gb8fc0043e9+97013614ad)
   setupRequired(felis -j g635bb8883b+021ee2e0f0)
   setupRequired(sdm_schemas -j g84b541fbce+663e2227e0)
   setupRequired(afw -j gdc1c6cd056+afe56709e8)
   setupRequired(geom -j g19811a7679+b6bb53347a)
   setupRequired(log -j geaed405ab2+940ec9190d)
   setupRequired(astshim -j g6483cd21eb+eaea1bf0c7)
   setupOptional(afwdata -j gda6a35342c)
   setupRequired(verify_metrics -j g8b480f84d9+663e2227e0)
   setupRequired(ap_pipe -j g969b5a79e7+a7153bdd1a)
   setupRequired(pipe_tasks -j gc47dc4b017+ea8d891def)
   setupRequired(coadd_utils -j g89139ef638+7a384de20b)
   setupRequired(dustmaps_cachedata -j g959249cb5e)
   setupRequired(images -j gaf7324cc8d+36255c70ec)
   setupRequired(astro_metadata_translator -j g7a1f236247+9b5fb0ee94)
   setupOptional(testdata_images -j g76b2c2492a)
   setupOptional(obs_base -j g678a7c2fb9+ef41c53d81)
   setupOptional(meas_algorithms -j gc86a7ac1bc+fe1e4f3fc2)
   setupRequired(meas_base -j gb27bff8666+4bcecaf63b)
   setupRequired(skymap -j gc1afcb06db+db2cddd9f6)
   setupRequired(kht -j gaf53c9a034)
   setupRequired(shapelet -j g883ef71f97+7a384de20b)
   setupOptional(meas_extensions_piff -j g92c671f44c+ce1c672dcd)
   setupOptional(meas_extensions_psfex -j gb4f33854fd+bfddd5b7bc)
   setupRequired(psfex -j g7b9623be85+663e2227e0)
   setupOptional(cell_coadds -j g0d63591232+ce1c672dcd)
   setupRequired(ip_diffim -j gc22169103f+8a37d0cbcd)
   setupRequired(meas_astrom -j gfced8664c3+ce1c672dcd)
   setupRequired(meas_extensions_trailedSources -j g1147af6e9c+b1566fe108)
   setupRequired(meas_extensions_shapeHSM -j g607d138630+ce1c672dcd)
   setupRequired(meas_deblender -j g262e1987ae+921bfcffa6)
   setupOptional(testdata_deblender -j g8a244b6544)
   setupRequired(ip_isr -j g7ad7012e6f+ce1c672dcd)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+8697e2b0cb)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+ce1c672dcd)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+86a69a0e98)
   setupRequired(meas_extensions_scarlet -j g3230ed1c4e+4484ff455d)
   setupRequired(scarlet_lite -j gccef28ce7f+663e2227e0)
   setupRequired(meas_modelfit -j ga79b48e308+ce1c672dcd)
   setupRequired(rubinoxide -j gf5fdc97d7f+940ec9190d)
   setupRequired(ap_association -j ge829cd19b5+73da5e9cd2)
   setupRequired(alert_packet -j g1362a8d7f1+5fa42f5946)
   setupRequired(analysis_tools -j g76b55f9faa+b5497ebb80)
   setupRequired(cp_pipe -j g57112d6841+48313d137f)
   setupOptional(obs_subaru -j g2e05e13fc0+03022eb109)
   setupRequired(obs_subaru_data -j g7ff78db354)
   setupOptional(testdata_subaru -j g03c3ee655a)
   setupOptional(obs_decam -j g908c22e16b+7bdd6b4513)
   setupRequired(obs_decam_data -j gf7d3127cd7)
   setupOptional(testdata_decam -j gfde10c3a1c)
   setupOptional(obs_lsst -j g48eba78eda+fb15cb7b24)
   setupRequired(obs_lsst_data -j ge015015f0c+663e2227e0)
   setupOptional(fgcmcal -j g0fd01c8516+7ba37aaea1)
   setupRequired(fgcm -j g17573debd1)
   setupOptional(testdata_jointcal -j gb6f1a889d2)
   setupRequired(drp_tasks -j g34a6c22541+7482b1f99d)
   setupRequired(gbdes -j g79e8e33064+306d57b91b)
   setupRequired(metadetect -j g36bff600c3+595721df20)
   setupOptional(descwl_shear_sims -j gb1c43e6ccb+b6d4b4cd01)
   setupOptional(descwl -j g811db82e6e+53fe651d7c)
   setupOptional(descwl_coadd -j gb717290d67+ce1c672dcd)
   setupRequired(source_injection -j g190a890056+16eb8bf77e)
   setupRequired(meas_transiNet -j g5d79d3819c+becf65be3d)
   setupRequired(ctrl_mpexec -j g032e5f9b47+11181c0cdf)
   setupOptional(ap_verify_testdata -j g55e66723f9)
}
} else {
   if (type == exact) {
      setupRequired(utils           -j gfb2f016548+b712490ecc)
      setupRequired(sconsUtils      -j g5d571352bb)
      setupRequired(sphinxutils     -j gf7b00018f0+663e2227e0)
      setupRequired(verify          -j g99a1cb4b73+b5abbd0d8b)
      setupRequired(pex_config      -j g8fad44f3d7+9b5fb0ee94)
      setupOptional(daf_base        -j gbf6257aa9d+7147b71ecc)
      setupRequired(cpputils        -j gee37125a88+b319181507)
      setupRequired(base            -j g53246c7159+663e2227e0)
      setupRequired(pex_exceptions  -j g786e29fd12+53fe651d7c)
      setupRequired(resources       -j g4354dbd74b+940ec9190d)
      setupRequired(daf_butler      -j g0c23e58bec+fe2836ff9c)
      setupRequired(sphgeom         -j g8f490195a6+663e2227e0)
      setupRequired(pipe_base       -j gf38bda2b58+74f4b17d63)
      setupRequired(dax_apdb        -j gb8fc0043e9+97013614ad)
      setupRequired(felis           -j g635bb8883b+021ee2e0f0)
      setupRequired(sdm_schemas     -j g84b541fbce+663e2227e0)
      setupRequired(afw             -j gdc1c6cd056+afe56709e8)
      setupRequired(geom            -j g19811a7679+b6bb53347a)
      setupRequired(log             -j geaed405ab2+940ec9190d)
      setupRequired(astshim         -j g6483cd21eb+eaea1bf0c7)
      setupRequired(verify_metrics  -j g8b480f84d9+663e2227e0)
      setupRequired(ap_pipe         -j g969b5a79e7+a7153bdd1a)
      setupRequired(pipe_tasks      -j gc47dc4b017+ea8d891def)
      setupRequired(coadd_utils     -j g89139ef638+7a384de20b)
      setupRequired(dustmaps_cachedata -j g959249cb5e)
      setupRequired(images          -j gaf7324cc8d+36255c70ec)
      setupRequired(astro_metadata_translator -j g7a1f236247+9b5fb0ee94)
      setupOptional(obs_base        -j g678a7c2fb9+ef41c53d81)
      setupOptional(meas_algorithms -j gc86a7ac1bc+fe1e4f3fc2)
      setupRequired(meas_base       -j gb27bff8666+4bcecaf63b)
      setupRequired(skymap          -j gc1afcb06db+db2cddd9f6)
      setupRequired(kht             -j gaf53c9a034)
      setupRequired(shapelet        -j g883ef71f97+7a384de20b)
      setupOptional(meas_extensions_piff -j g92c671f44c+ce1c672dcd)
      setupOptional(meas_extensions_psfex -j gb4f33854fd+bfddd5b7bc)
      setupRequired(psfex           -j g7b9623be85+663e2227e0)
      setupOptional(cell_coadds     -j g0d63591232+ce1c672dcd)
      setupRequired(ip_diffim       -j gc22169103f+8a37d0cbcd)
      setupRequired(meas_astrom     -j gfced8664c3+ce1c672dcd)
      setupRequired(meas_extensions_trailedSources -j g1147af6e9c+b1566fe108)
      setupRequired(meas_extensions_shapeHSM -j g607d138630+ce1c672dcd)
      setupRequired(meas_deblender  -j g262e1987ae+921bfcffa6)
      setupRequired(ip_isr          -j g7ad7012e6f+ce1c672dcd)
      setupRequired(meas_extensions_convolved -j g7da95dfc27+8697e2b0cb)
      setupRequired(meas_extensions_photometryKron -j g64539dfbff+ce1c672dcd)
      setupRequired(meas_extensions_gaap -j g5c7ea12361+86a69a0e98)
      setupRequired(meas_extensions_scarlet -j g3230ed1c4e+4484ff455d)
      setupRequired(scarlet_lite    -j gccef28ce7f+663e2227e0)
      setupRequired(meas_modelfit   -j ga79b48e308+ce1c672dcd)
      setupRequired(rubinoxide      -j gf5fdc97d7f+940ec9190d)
      setupRequired(ap_association  -j ge829cd19b5+73da5e9cd2)
      setupRequired(alert_packet    -j g1362a8d7f1+5fa42f5946)
      setupRequired(analysis_tools  -j g76b55f9faa+b5497ebb80)
      setupRequired(cp_pipe         -j g57112d6841+48313d137f)
      setupOptional(obs_subaru      -j g2e05e13fc0+03022eb109)
      setupRequired(obs_subaru_data -j g7ff78db354)
      setupOptional(obs_decam       -j g908c22e16b+7bdd6b4513)
      setupRequired(obs_decam_data  -j gf7d3127cd7)
      setupOptional(obs_lsst        -j g48eba78eda+fb15cb7b24)
      setupRequired(obs_lsst_data   -j ge015015f0c+663e2227e0)
      setupOptional(fgcmcal         -j g0fd01c8516+7ba37aaea1)
      setupRequired(fgcm            -j g17573debd1)
      setupRequired(drp_tasks       -j g34a6c22541+7482b1f99d)
      setupRequired(gbdes           -j g79e8e33064+306d57b91b)
      setupRequired(metadetect      -j g36bff600c3+595721df20)
      setupRequired(source_injection -j g190a890056+16eb8bf77e)
      setupRequired(meas_transiNet  -j g5d79d3819c+becf65be3d)
      setupRequired(ctrl_mpexec     -j g032e5f9b47+11181c0cdf)
   } else {
      setupRequired(utils gfb2f016548+b712490ecc [>= gfb2f016548+b712490ecc])
      setupRequired(verify g99a1cb4b73+b5abbd0d8b [>= g99a1cb4b73+b5abbd0d8b])
      setupRequired(ap_pipe g969b5a79e7+a7153bdd1a [>= g969b5a79e7+a7153bdd1a])
      setupRequired(ctrl_mpexec g032e5f9b47+11181c0cdf [>= g032e5f9b47+11181c0cdf])
      
      # For testing
      setupOptional(ap_verify_testdata g55e66723f9 [>= g55e66723f9])
      setupOptional(obs_lsst g48eba78eda+fb15cb7b24 [>= g48eba78eda+fb15cb7b24])
      
      # For default metric configs
      setupRequired(ip_diffim gc22169103f+8a37d0cbcd [>= gc22169103f+8a37d0cbcd])
      setupRequired(ap_association ge829cd19b5+73da5e9cd2 [>= ge829cd19b5+73da5e9cd2])
      
      # Datasets other than ap_verify_testdata must be set up manually
      #     to avoid being inadvertently downloaded by lsstsw
      # See the Sphinx docs for known datasets
   }
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
