# Python Middleware
if (type == exact) {
if (type != exact) {
   setupRequired(utils -j g8956d74c4f+1ff81c3020)
   setupRequired(sconsUtils -j gcc71b89bbb)
   setupRequired(sphinxutils -j g52a5f7ac38+8911f0c7c0)
   setupRequired(daf_butler -j g090993796f+4f9afccd76)
   setupRequired(sphgeom -j gafb225b75d+8911f0c7c0)
   setupRequired(resources -j gee23d30481+b3064fa941)
   setupRequired(pipe_base -j gc132915c65+4961e19f1c)
   setupRequired(pex_config -j ge80df9fc40+b71017786e)
   setupOptional(daf_base -j g8ea07a8fe4+9581832265)
   setupRequired(cpputils -j g87389fa792+5b6592a596)
   setupRequired(base -j g53246c7159+8911f0c7c0)
   setupRequired(pex_exceptions -j g786e29fd12+d9c7cde3df)
   setupRequired(astro_metadata_translator -j g4c3f3e5363+b71017786e)
   setupRequired(afw -j gf03f0b42f3+e27ba6bf39)
   setupRequired(geom -j g19811a7679+33b52fa60d)
   setupRequired(log -j geaed405ab2+b3064fa941)
   setupRequired(astshim -j gf5dcc679e7+17b6204ea6)
}
} else {
   if (type == exact) {
      setupRequired(utils           -j g8956d74c4f+1ff81c3020)
      setupRequired(sconsUtils      -j gcc71b89bbb)
      setupRequired(sphinxutils     -j g52a5f7ac38+8911f0c7c0)
      setupRequired(daf_butler      -j g090993796f+4f9afccd76)
      setupRequired(sphgeom         -j gafb225b75d+8911f0c7c0)
      setupRequired(resources       -j gee23d30481+b3064fa941)
      setupRequired(pipe_base       -j gc132915c65+4961e19f1c)
      setupRequired(pex_config      -j ge80df9fc40+b71017786e)
      setupOptional(daf_base        -j g8ea07a8fe4+9581832265)
      setupRequired(cpputils        -j g87389fa792+5b6592a596)
      setupRequired(base            -j g53246c7159+8911f0c7c0)
      setupRequired(pex_exceptions  -j g786e29fd12+d9c7cde3df)
      setupRequired(astro_metadata_translator -j g4c3f3e5363+b71017786e)
      setupRequired(afw             -j gf03f0b42f3+e27ba6bf39)
      setupRequired(geom            -j g19811a7679+33b52fa60d)
      setupRequired(log             -j geaed405ab2+b3064fa941)
      setupRequired(astshim         -j gf5dcc679e7+17b6204ea6)
   } else {
      setupRequired(utils g8956d74c4f+1ff81c3020 [>= g8956d74c4f+1ff81c3020])
      setupRequired(daf_butler g090993796f+4f9afccd76 [>= g090993796f+4f9afccd76])
      setupRequired(pipe_base gc132915c65+4961e19f1c [>= gc132915c65+4961e19f1c])
      setupRequired(resources gee23d30481+b3064fa941 [>= gee23d30481+b3064fa941])
      setupRequired(astro_metadata_translator g4c3f3e5363+b71017786e [>= g4c3f3e5363+b71017786e])
      setupRequired(pex_config ge80df9fc40+b71017786e [>= ge80df9fc40+b71017786e])
      
      # LSST C++.
      setupRequired(daf_base g8ea07a8fe4+9581832265 [>= g8ea07a8fe4+9581832265])
      setupRequired(afw gf03f0b42f3+e27ba6bf39 [>= gf03f0b42f3+e27ba6bf39])
      setupRequired(geom g19811a7679+33b52fa60d [>= g19811a7679+33b52fa60d])
      setupRequired(pex_exceptions g786e29fd12+d9c7cde3df [>= g786e29fd12+d9c7cde3df])
      setupOptional(log geaed405ab2+b3064fa941 [>= geaed405ab2+b3064fa941])
   }
}
envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python)
envPrepend(PATH, ${PRODUCT_DIR}/bin)
