
if (type == exact) {
if (type != exact) {
   setupRequired(utils -j g6d9bf90446+b712490ecc)
   setupRequired(sconsUtils -j g5d571352bb)
   setupRequired(sphinxutils -j gf7b00018f0+663e2227e0)
   setupRequired(verify -j g00d583acbd+eb3b49a096)
   setupRequired(pex_config -j g8fad44f3d7+e9873dc961)
   setupOptional(daf_base -j g8ea07a8fe4+1f46a23169)
   setupRequired(cpputils -j g87389fa792+b319181507)
   setupRequired(base -j g53246c7159+663e2227e0)
   setupRequired(pex_exceptions -j g786e29fd12+53fe651d7c)
   setupRequired(resources -j gfa9dcee848+7b060a3f0d)
   setupRequired(daf_butler -j g17626596ea+d93a57b5f2)
   setupRequired(sphgeom -j g8f490195a6+663e2227e0)
   setupRequired(pipe_base -j g8a5b03879e+f25082c8b5)
   setupRequired(dax_apdb -j g04f2acf0bd+d05aab834d)
   setupRequired(felis -j g89a850006e+9a0f2a7a3f)
   setupRequired(sdm_schemas -j g4acde76a46+663e2227e0)
   setupRequired(afw -j g41b6eb5643+6250000081)
   setupRequired(geom -j g19811a7679+0f3b379e6e)
   setupRequired(log -j geaed405ab2+7b060a3f0d)
   setupRequired(astshim -j g6483cd21eb+3aebfb091a)
   setupOptional(afwdata -j gda6a35342c)
   setupRequired(verify_metrics -j g8b480f84d9+663e2227e0)
   setupRequired(ap_pipe -j g67c9c00ab0+e32b038072)
   setupRequired(pipe_tasks -j ge6ec3c74ed+8792514eb3)
   setupRequired(coadd_utils -j g89139ef638+7cbf7d0be3)
   setupRequired(dustmaps_cachedata -j g959249cb5e)
   setupRequired(images -j g2c8fcdbfac+1c141734f0)
   setupRequired(astro_metadata_translator -j gad30ce848d+e9873dc961)
   setupOptional(testdata_images -j gf88ad1d1be)
   setupOptional(obs_base -j gcc8e46b601+c6de77f350)
   setupOptional(meas_algorithms -j g4a7591d645+523562a74c)
   setupRequired(meas_base -j ga44f29b7aa+f83b53ea4f)
   setupRequired(skymap -j gc1afcb06db+4de581c5ef)
   setupRequired(kht -j gaf53c9a034)
   setupRequired(shapelet -j gc794cbe0cf+7cbf7d0be3)
   setupOptional(meas_extensions_piff -j g92c671f44c+610e15940e)
   setupOptional(meas_extensions_psfex -j g33ac35c1f1+20b810c167)
   setupRequired(psfex -j g7b9623be85+663e2227e0)
   setupOptional(cell_coadds -j g0d63591232+610e15940e)
   setupRequired(ip_diffim -j gd25ada3778+8e2abe16a2)
   setupRequired(meas_astrom -j gfced8664c3+610e15940e)
   setupRequired(meas_extensions_trailedSources -j g1147af6e9c+0eedc2f891)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+610e15940e)
   setupRequired(meas_deblender -j g262e1987ae+12436da6d9)
   setupOptional(testdata_deblender -j g8a244b6544)
   setupRequired(ip_isr -j g28faec7dd2+610e15940e)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+08a45ae4aa)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+610e15940e)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+ef87f52c24)
   setupRequired(meas_extensions_scarlet -j g2d0fd83f73+683eb5485b)
   setupRequired(scarlet_lite -j gccef28ce7f+663e2227e0)
   setupRequired(meas_modelfit -j g9a9c865167+610e15940e)
   setupRequired(rubinoxide -j gf5fdc97d7f+7b060a3f0d)
   setupRequired(ap_association -j ga35a72f000+f52eebe2a0)
   setupRequired(alert_packet -j g1362a8d7f1+58200fa953)
   setupRequired(analysis_tools -j gf0526598dc+544c954a05)
   setupRequired(cp_pipe -j g962ac060f5+2b3950403b)
   setupOptional(obs_subaru -j g4db92921ce+6e227200c7)
   setupRequired(obs_subaru_data -j g7ff78db354)
   setupOptional(testdata_subaru -j g03c3ee655a)
   setupOptional(obs_decam -j gab381613c1+17c80fc15a)
   setupRequired(obs_decam_data -j gf7d3127cd7)
   setupOptional(testdata_decam -j gfde10c3a1c)
   setupOptional(obs_lsst -j g4cf6266c5d+ac40c1e2af)
   setupRequired(obs_lsst_data -j ge015015f0c+663e2227e0)
   setupOptional(fgcmcal -j gf2aa623d12+2a04dd5a9b)
   setupRequired(fgcm -j g17573debd1)
   setupOptional(testdata_jointcal -j gb6f1a889d2)
   setupRequired(drp_tasks -j g8d3577d3a0+6040e3d6f8)
   setupRequired(gbdes -j g79e8e33064+be35c1c775)
   setupRequired(metadetect -j g828f4053af+51eeb3b3b3)
   setupOptional(descwl_shear_sims -j gb1c43e6ccb+ce4745c621)
   setupOptional(descwl -j g811db82e6e+53fe651d7c)
   setupOptional(descwl_coadd -j gb717290d67+610e15940e)
   setupRequired(source_injection -j g87c5b9fb18+c7c92eae2e)
   setupRequired(meas_transiNet -j g8881678feb+0eedc2f891)
   setupRequired(ctrl_mpexec -j g5092e381ab+3af67754c6)
   setupOptional(ap_verify_testdata -j g5dbd2c695e)
}
} else {
   if (type == exact) {
      setupRequired(utils           -j g6d9bf90446+b712490ecc)
      setupRequired(sconsUtils      -j g5d571352bb)
      setupRequired(sphinxutils     -j gf7b00018f0+663e2227e0)
      setupRequired(verify          -j g00d583acbd+eb3b49a096)
      setupRequired(pex_config      -j g8fad44f3d7+e9873dc961)
      setupOptional(daf_base        -j g8ea07a8fe4+1f46a23169)
      setupRequired(cpputils        -j g87389fa792+b319181507)
      setupRequired(base            -j g53246c7159+663e2227e0)
      setupRequired(pex_exceptions  -j g786e29fd12+53fe651d7c)
      setupRequired(resources       -j gfa9dcee848+7b060a3f0d)
      setupRequired(daf_butler      -j g17626596ea+d93a57b5f2)
      setupRequired(sphgeom         -j g8f490195a6+663e2227e0)
      setupRequired(pipe_base       -j g8a5b03879e+f25082c8b5)
      setupRequired(dax_apdb        -j g04f2acf0bd+d05aab834d)
      setupRequired(felis           -j g89a850006e+9a0f2a7a3f)
      setupRequired(sdm_schemas     -j g4acde76a46+663e2227e0)
      setupRequired(afw             -j g41b6eb5643+6250000081)
      setupRequired(geom            -j g19811a7679+0f3b379e6e)
      setupRequired(log             -j geaed405ab2+7b060a3f0d)
      setupRequired(astshim         -j g6483cd21eb+3aebfb091a)
      setupRequired(verify_metrics  -j g8b480f84d9+663e2227e0)
      setupRequired(ap_pipe         -j g67c9c00ab0+e32b038072)
      setupRequired(pipe_tasks      -j ge6ec3c74ed+8792514eb3)
      setupRequired(coadd_utils     -j g89139ef638+7cbf7d0be3)
      setupRequired(dustmaps_cachedata -j g959249cb5e)
      setupRequired(images          -j g2c8fcdbfac+1c141734f0)
      setupRequired(astro_metadata_translator -j gad30ce848d+e9873dc961)
      setupOptional(obs_base        -j gcc8e46b601+c6de77f350)
      setupOptional(meas_algorithms -j g4a7591d645+523562a74c)
      setupRequired(meas_base       -j ga44f29b7aa+f83b53ea4f)
      setupRequired(skymap          -j gc1afcb06db+4de581c5ef)
      setupRequired(kht             -j gaf53c9a034)
      setupRequired(shapelet        -j gc794cbe0cf+7cbf7d0be3)
      setupOptional(meas_extensions_piff -j g92c671f44c+610e15940e)
      setupOptional(meas_extensions_psfex -j g33ac35c1f1+20b810c167)
      setupRequired(psfex           -j g7b9623be85+663e2227e0)
      setupOptional(cell_coadds     -j g0d63591232+610e15940e)
      setupRequired(ip_diffim       -j gd25ada3778+8e2abe16a2)
      setupRequired(meas_astrom     -j gfced8664c3+610e15940e)
      setupRequired(meas_extensions_trailedSources -j g1147af6e9c+0eedc2f891)
      setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+610e15940e)
      setupRequired(meas_deblender  -j g262e1987ae+12436da6d9)
      setupRequired(ip_isr          -j g28faec7dd2+610e15940e)
      setupRequired(meas_extensions_convolved -j g7da95dfc27+08a45ae4aa)
      setupRequired(meas_extensions_photometryKron -j g64539dfbff+610e15940e)
      setupRequired(meas_extensions_gaap -j g5c7ea12361+ef87f52c24)
      setupRequired(meas_extensions_scarlet -j g2d0fd83f73+683eb5485b)
      setupRequired(scarlet_lite    -j gccef28ce7f+663e2227e0)
      setupRequired(meas_modelfit   -j g9a9c865167+610e15940e)
      setupRequired(rubinoxide      -j gf5fdc97d7f+7b060a3f0d)
      setupRequired(ap_association  -j ga35a72f000+f52eebe2a0)
      setupRequired(alert_packet    -j g1362a8d7f1+58200fa953)
      setupRequired(analysis_tools  -j gf0526598dc+544c954a05)
      setupRequired(cp_pipe         -j g962ac060f5+2b3950403b)
      setupOptional(obs_subaru      -j g4db92921ce+6e227200c7)
      setupRequired(obs_subaru_data -j g7ff78db354)
      setupOptional(obs_decam       -j gab381613c1+17c80fc15a)
      setupRequired(obs_decam_data  -j gf7d3127cd7)
      setupOptional(obs_lsst        -j g4cf6266c5d+ac40c1e2af)
      setupRequired(obs_lsst_data   -j ge015015f0c+663e2227e0)
      setupOptional(fgcmcal         -j gf2aa623d12+2a04dd5a9b)
      setupRequired(fgcm            -j g17573debd1)
      setupRequired(drp_tasks       -j g8d3577d3a0+6040e3d6f8)
      setupRequired(gbdes           -j g79e8e33064+be35c1c775)
      setupRequired(metadetect      -j g828f4053af+51eeb3b3b3)
      setupRequired(source_injection -j g87c5b9fb18+c7c92eae2e)
      setupRequired(meas_transiNet  -j g8881678feb+0eedc2f891)
      setupRequired(ctrl_mpexec     -j g5092e381ab+3af67754c6)
   } else {
      setupRequired(utils g6d9bf90446+b712490ecc [>= g6d9bf90446+b712490ecc])
      setupRequired(verify g00d583acbd+eb3b49a096 [>= g00d583acbd+eb3b49a096])
      setupRequired(ap_pipe g67c9c00ab0+e32b038072 [>= g67c9c00ab0+e32b038072])
      setupRequired(ctrl_mpexec g5092e381ab+3af67754c6 [>= g5092e381ab+3af67754c6])
      
      # For testing
      setupOptional(ap_verify_testdata g5dbd2c695e [>= g5dbd2c695e])
      setupOptional(obs_lsst g4cf6266c5d+ac40c1e2af [>= g4cf6266c5d+ac40c1e2af])
      
      # For default metric configs
      setupRequired(ip_diffim gd25ada3778+8e2abe16a2 [>= gd25ada3778+8e2abe16a2])
      setupRequired(ap_association ga35a72f000+f52eebe2a0 [>= ga35a72f000+f52eebe2a0])
      
      # 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)
