if (type == exact) {
   setupRequired(obs_base        -j gdf79c1644f+dafdaab93d)
   setupRequired(utils           -j g4397d32e57+8c5ae1fdc5)
   setupRequired(sconsUtils      -j g637bcd074b)
   setupRequired(daf_butler      -j g0200d1179f+33b4eb5b28)
   setupRequired(sphgeom         -j gf9a733ac38+8c5ae1fdc5)
   setupRequired(resources       -j g80ffcbadd1+e3b4b2a692)
   setupRequired(daf_relation    -j g79127c212b+e3b4b2a692)
   setupRequired(pipe_base       -j g8adde8ceaf+476abc4242)
   setupRequired(pex_config      -j g54cd7ddccb+890c8e1e5d)
   setupOptional(daf_base        -j g8ea07a8fe4+81eaaadc04)
   setupRequired(cpputils        -j g87389fa792+8856018cbb)
   setupRequired(base            -j g53246c7159+8c5ae1fdc5)
   setupRequired(pex_exceptions  -j g786e29fd12+668abc6043)
   setupRequired(astro_metadata_translator -j g3c08ea9b7b+890c8e1e5d)
   setupRequired(afw             -j g4cdb532a89+a047e97985)
   setupRequired(geom            -j g90f42f885a+34c0557caf)
   setupRequired(log             -j geaed405ab2+e3b4b2a692)
   setupRequired(astshim         -j g2cef7863aa+aef1011c0b)
   setupRequired(meas_algorithms -j g2825c19fe3+eccd6aea9e)
   setupRequired(meas_base       -j g013ef56533+24032397a1)
   setupRequired(skymap          -j g1fd858c14a+f4155725b6)
   setupRequired(kht             -j gaf53c9a034)
   setupRequired(meas_astrom     -j g210f2d0738+6a543e255f)
   setupRequired(pipe_tasks      -j g511e8cfd20+82407be0ab)
   setupRequired(coadd_utils     -j g89139ef638+501a489530)
   setupRequired(dustmaps_cachedata -j gbb0a0c949e+8c5ae1fdc5)
   setupRequired(ip_diffim       -j g19c4beb06c+6a0e89945a)
   setupRequired(meas_extensions_trailedSources -j g74acd417e5+1db8489e29)
   setupRequired(meas_extensions_shapeHSM -j gf8a46c3309+6a543e255f)
   setupRequired(meas_deblender  -j g262e1987ae+abcf6400d6)
   setupRequired(verify          -j g00d583acbd+e908e819f8)
   setupRequired(dax_apdb        -j g5fd55ab2c7+951cc3f256)
   setupRequired(felis           -j gfbddf405bb+d1d78f7f8a)
   setupRequired(sdm_schemas     -j gb28059f800+8c5ae1fdc5)
   setupRequired(verify_metrics  -j g8b480f84d9+8c5ae1fdc5)
   setupRequired(ip_isr          -j gc2a301910b+6a543e255f)
   setupRequired(meas_extensions_convolved -j g7da95dfc27+a28a5f69f2)
   setupRequired(meas_extensions_photometryKron -j g64539dfbff+6a543e255f)
   setupRequired(meas_extensions_gaap -j g5c7ea12361+e09a904aa0)
   setupRequired(meas_extensions_piff -j g67fd3c3899+6a543e255f)
   setupRequired(meas_extensions_psfex -j g3fd5ace14f+0386aa0eeb)
   setupRequired(psfex           -j g7b9623be85+8c5ae1fdc5)
   setupRequired(meas_extensions_scarlet -j geaf16d88f7+7882dde92b)
   setupRequired(scarlet_lite    -j gce8aa8abaa+8c5ae1fdc5)
   setupRequired(meas_modelfit   -j g97be763408+8d25afe592)
   setupRequired(shapelet        -j g47891489e3+501a489530)
} else {
   setupRequired(obs_base gdf79c1644f+dafdaab93d [>= gdf79c1644f+dafdaab93d])
   setupRequired(meas_algorithms g2825c19fe3+eccd6aea9e [>= g2825c19fe3+eccd6aea9e])
   setupRequired(meas_astrom g210f2d0738+6a543e255f [>= g210f2d0738+6a543e255f])
   setupRequired(pipe_tasks g511e8cfd20+82407be0ab [>= g511e8cfd20+82407be0ab])
   setupRequired(astro_metadata_translator g3c08ea9b7b+890c8e1e5d [>= g3c08ea9b7b+890c8e1e5d])
   setupRequired(geom g90f42f885a+34c0557caf [>= g90f42f885a+34c0557caf])
   
   # Required by config/calibrate.py, for gen3 DRP pipeline.
   # These can be removed after DM-30891 is finished
   setupRequired(meas_extensions_photometryKron g64539dfbff+6a543e255f [>= g64539dfbff+6a543e255f])
   setupRequired(meas_extensions_shapeHSM gf8a46c3309+6a543e255f [>= gf8a46c3309+6a543e255f])
   
   setupOptional(testdata_cfht)
}
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
