About
ccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccoccocco