1. upload to server