Console Output
Skipping 15,701 KB..
Full LogTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/T10/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV11压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV11_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV11_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV11_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV11_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/params_orin_master_YWSX_KINGLONG_IGV11_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/params_orin_master_YWSX_KINGLONG_IGV11_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 169M 0 0 0 1088k 0 1513k 0:01:54 --:--:-- 0:01:54 1513k
2 169M 0 0 2 4480k 0 2558k 0:01:07 0:00:01 0:01:06 2557k
4 169M 0 0 4 8064k 0 2957k 0:00:58 0:00:02 0:00:56 2956k
6 169M 0 0 6 11.7M 0 3210k 0:00:54 0:00:03 0:00:51 3209k
9 169M 0 0 9 15.6M 0 3383k 0:00:51 0:00:04 0:00:47 3382k
11 169M 0 0 11 19.1M 0 3400k 0:00:51 0:00:05 0:00:46 3669k
13 169M 0 0 13 22.6M 0 3446k 0:00:50 0:00:06 0:00:44 3757k
15 169M 0 0 15 26.5M 0 3522k 0:00:49 0:00:07 0:00:42 3831k
18 169M 0 0 18 30.8M 0 3606k 0:00:48 0:00:08 0:00:40 3904k
20 169M 0 0 20 35.0M 0 3690k 0:00:47 0:00:09 0:00:38 3980k
23 169M 0 0 23 39.8M 0 3797k 0:00:45 0:00:10 0:00:35 4253k
26 169M 0 0 26 44.8M 0 3910k 0:00:44 0:00:11 0:00:33 4536k
29 169M 0 0 29 49.6M 0 3988k 0:00:43 0:00:12 0:00:31 4701k
30 169M 0 0 30 51.1M 0 3810k 0:00:45 0:00:13 0:00:32 4167k
32 169M 0 0 32 54.6M 0 3796k 0:00:45 0:00:14 0:00:31 4003k
34 169M 0 0 34 58.2M 0 3794k 0:00:45 0:00:15 0:00:30 3788k
35 169M 0 0 35 60.3M 0 3633k 0:00:47 0:00:16 0:00:31 3015k
36 169M 0 0 36 62.0M 0 3578k 0:00:48 0:00:17 0:00:31 2533k
38 169M 0 0 38 64.8M 0 3541k 0:00:49 0:00:18 0:00:31 2798k
39 169M 0 0 39 67.8M 0 3521k 0:00:49 0:00:19 0:00:30 2707k
41 169M 0 0 41 71.1M 0 3513k 0:00:49 0:00:20 0:00:29 2634k
43 169M 0 0 43 74.6M 0 3519k 0:00:49 0:00:21 0:00:28 3111k
45 169M 0 0 45 78.0M 0 3510k 0:00:49 0:00:22 0:00:27 3266k
47 169M 0 0 47 81.3M 0 3510k 0:00:49 0:00:23 0:00:26 3392k
50 169M 0 0 50 85.1M 0 3520k 0:00:49 0:00:24 0:00:25 3520k
52 169M 0 0 52 88.9M 0 3538k 0:00:49 0:00:25 0:00:24 3640k
54 169M 0 0 54 92.9M 0 3561k 0:00:48 0:00:26 0:00:22 3744k
56 169M 0 0 56 96.6M 0 3566k 0:00:48 0:00:27 0:00:21 3821k
59 169M 0 0 59 100M 0 3578k 0:00:48 0:00:28 0:00:20 3900k
61 169M 0 0 61 104M 0 3587k 0:00:48 0:00:29 0:00:19 3920k
63 169M 0 0 63 107M 0 3581k 0:00:48 0:00:30 0:00:18 3806k
65 169M 0 0 65 111M 0 3583k 0:00:48 0:00:31 0:00:17 3696k
67 169M 0 0 67 114M 0 3593k 0:00:48 0:00:32 0:00:16 3743k
70 169M 0 0 70 119M 0 3619k 0:00:48 0:00:33 0:00:15 3858k
72 169M 0 0 72 123M 0 3645k 0:00:47 0:00:34 0:00:13 3987k
75 169M 0 0 75 127M 0 3656k 0:00:47 0:00:35 0:00:12 4113k
77 169M 0 0 77 131M 0 3671k 0:00:47 0:00:36 0:00:11 4235k
80 169M 0 0 80 136M 0 3695k 0:00:47 0:00:37 0:00:10 4363k
83 169M 0 0 83 141M 0 3725k 0:00:46 0:00:38 0:00:08 4437k
85 169M 0 0 85 145M 0 3756k 0:00:46 0:00:39 0:00:07 4531k
88 169M 0 0 88 150M 0 3792k 0:00:45 0:00:40 0:00:05 4763k
92 169M 0 0 92 156M 0 3835k 0:00:45 0:00:41 0:00:04 5038k
95 169M 0 0 95 162M 0 3886k 0:00:44 0:00:42 0:00:02 5327k
99 169M 0 0 99 168M 0 3939k 0:00:44 0:00:43 0:00:01 5599k
100 169M 0 0 100 169M 0 3866k 0:00:44 0:00:44 --:--:-- 4696k
100 169M 0 0 100 169M 0 3782k 0:00:45 0:00:45 --:--:-- 3700k
100 169M 0 0 100 169M 0 3701k 0:00:46 0:00:46 --:--:-- 2637k
100 169M 0 0 100 169M 0 3624k 0:00:47 0:00:47 --:--:-- 1497k
100 169M 0 0 100 169M 0 3550k 0:00:48 0:00:48 --:--:-- 305k
100 169M 0 0 100 169M 0 3479k 0:00:49 0:00:49 --:--:-- 0
100 169M 0 0 100 169M 0 3410k 0:00:50 0:00:50 --:--:-- 0
100 169M 0 0 100 169M 0 3345k 0:00:51 0:00:51 --:--:-- 0
100 169M 0 0 100 169M 0 3281k 0:00:52 0:00:52 --:--:-- 0
100 169M 0 0 100 169M 0 3221k 0:00:53 0:00:53 --:--:-- 0
100 169M 0 0 100 169M 0 3162k 0:00:54 0:00:54 --:--:-- 0
100 169M 0 0 100 169M 0 3105k 0:00:55 0:00:55 --:--:-- 0
100 169M 0 0 100 169M 0 3051k 0:00:56 0:00:56 --:--:-- 0
100 169M 0 0 100 169M 0 2998k 0:00:57 0:00:57 --:--:-- 0
100 169M 0 0 100 169M 0 2947k 0:00:58 0:00:58 --:--:-- 0
100 169M 0 0 100 169M 0 2898k 0:00:59 0:00:59 --:--:-- 0
100 169M 0 0 100 169M 0 2851k 0:01:00 0:01:00 --:--:-- 0
100 169M 0 0 100 169M 0 2804k 0:01:01 0:01:01 --:--:-- 0
100 169M 0 0 100 169M 0 2760k 0:01:02 0:01:02 --:--:-- 0
100 169M 0 0 100 169M 0 2717k 0:01:03 0:01:03 --:--:-- 0
100 169M 0 43 100 169M 0 2701k 0:01:04 0:01:04 --:--:-- 9
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV11/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV12压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV12_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV12_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV12_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV12_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/params_orin_master_YWSX_KINGLONG_IGV12_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/params_orin_master_YWSX_KINGLONG_IGV12_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 169M 0 0 0 576k 0 1023k 0:02:49 --:--:-- 0:02:49 1021k
3 169M 0 0 3 6464k 0 4189k 0:00:41 0:00:01 0:00:40 4186k
7 169M 0 0 7 12.3M 0 5010k 0:00:34 0:00:02 0:00:32 5010k
10 169M 0 0 10 17.4M 0 5035k 0:00:34 0:00:03 0:00:31 5034k
13 169M 0 0 13 22.7M 0 5140k 0:00:33 0:00:04 0:00:29 5140k
16 169M 0 0 16 28.3M 0 5227k 0:00:33 0:00:05 0:00:28 5702k
20 169M 0 0 20 34.0M 0 5338k 0:00:32 0:00:06 0:00:26 5693k
23 169M 0 0 23 40.1M 0 5465k 0:00:31 0:00:07 0:00:24 5696k
27 169M 0 0 27 46.6M 0 5599k 0:00:31 0:00:08 0:00:23 6001k
31 169M 0 0 31 53.5M 0 5748k 0:00:30 0:00:09 0:00:21 6298k
35 169M 0 0 35 59.7M 0 5803k 0:00:29 0:00:10 0:00:19 6440k
37 169M 0 0 37 63.9M 0 5679k 0:00:30 0:00:11 0:00:19 6124k
40 169M 0 0 40 68.4M 0 5592k 0:00:31 0:00:12 0:00:19 5784k
43 169M 0 0 43 73.0M 0 5530k 0:00:31 0:00:13 0:00:18 5411k
45 169M 0 0 45 78.0M 0 5493k 0:00:31 0:00:14 0:00:17 5009k
49 169M 0 0 49 83.3M 0 5494k 0:00:31 0:00:15 0:00:16 4842k
52 169M 0 0 52 88.6M 0 5489k 0:00:31 0:00:16 0:00:15 5052k
54 169M 0 0 54 93.2M 0 5448k 0:00:31 0:00:17 0:00:14 5085k
57 169M 0 0 57 97.5M 0 5381k 0:00:32 0:00:18 0:00:14 4983k
59 169M 0 0 59 100M 0 5276k 0:00:32 0:00:19 0:00:13 4644k
61 169M 0 0 61 103M 0 5182k 0:00:33 0:00:20 0:00:13 4211k
63 169M 0 0 63 107M 0 5103k 0:00:34 0:00:21 0:00:13 3827k
65 169M 0 0 65 111M 0 5051k 0:00:34 0:00:22 0:00:12 3660k
67 169M 0 0 67 115M 0 5016k 0:00:34 0:00:23 0:00:11 3660k
70 169M 0 0 70 119M 0 5001k 0:00:34 0:00:24 0:00:10 3925k
73 169M 0 0 73 124M 0 5001k 0:00:34 0:00:25 0:00:09 4262k
76 169M 0 0 76 129M 0 4997k 0:00:34 0:00:26 0:00:08 4541k
78 169M 0 0 78 133M 0 4973k 0:00:34 0:00:27 0:00:07 4619k
81 169M 0 0 81 138M 0 4970k 0:00:34 0:00:28 0:00:06 4750k
84 169M 0 0 84 143M 0 4978k 0:00:34 0:00:29 0:00:05 4865k
87 169M 0 0 87 148M 0 4989k 0:00:34 0:00:30 0:00:04 4928k
90 169M 0 0 90 154M 0 5004k 0:00:34 0:00:31 0:00:03 5039k
94 169M 0 0 94 159M 0 5026k 0:00:34 0:00:32 0:00:02 5318k
97 169M 0 0 97 165M 0 5056k 0:00:34 0:00:33 0:00:01 5552k
100 169M 0 0 100 169M 0 4937k 0:00:35 0:00:35 --:--:-- 4722k
100 169M 0 0 100 169M 0 4800k 0:00:36 0:00:36 --:--:-- 3787k
100 169M 0 0 100 169M 0 4671k 0:00:37 0:00:37 --:--:-- 2831k
100 169M 0 0 100 169M 0 4549k 0:00:38 0:00:38 --:--:-- 1822k
100 169M 0 0 100 169M 0 4433k 0:00:39 0:00:39 --:--:-- 754k
100 169M 0 0 100 169M 0 4322k 0:00:40 0:00:40 --:--:-- 0
100 169M 0 0 100 169M 0 4217k 0:00:41 0:00:41 --:--:-- 0
100 169M 0 0 100 169M 0 4117k 0:00:42 0:00:42 --:--:-- 0
100 169M 0 0 100 169M 0 4022k 0:00:43 0:00:43 --:--:-- 0
100 169M 0 0 100 169M 0 3931k 0:00:44 0:00:44 --:--:-- 0
100 169M 0 0 100 169M 0 3844k 0:00:45 0:00:45 --:--:-- 0
100 169M 0 0 100 169M 0 3761k 0:00:46 0:00:46 --:--:-- 0
100 169M 0 0 100 169M 0 3681k 0:00:47 0:00:47 --:--:-- 0
100 169M 0 0 100 169M 0 3605k 0:00:48 0:00:48 --:--:-- 0
100 169M 0 0 100 169M 0 3531k 0:00:49 0:00:49 --:--:-- 0
100 169M 0 0 100 169M 0 3461k 0:00:50 0:00:50 --:--:-- 0
100 169M 0 0 100 169M 0 3393k 0:00:51 0:00:51 --:--:-- 0
100 169M 0 0 100 169M 0 3328k 0:00:52 0:00:52 --:--:-- 0
100 169M 0 0 100 169M 0 3266k 0:00:53 0:00:53 --:--:-- 0
100 169M 0 43 100 169M 0 3252k 0:00:53 0:00:53 --:--:-- 10
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV12/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV13压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV13_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV13_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV13_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV13_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/params_orin_master_YWSX_KINGLONG_IGV13_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/params_orin_master_YWSX_KINGLONG_IGV13_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 169M 0 0 0 128k 0 311k 0:09:18 --:--:-- 0:09:18 310k
1 169M 0 0 1 3072k 0 2280k 0:01:16 0:00:01 0:01:15 2278k
3 169M 0 0 3 6656k 0 2808k 0:01:01 0:00:02 0:00:59 2807k
5 169M 0 0 5 10.1M 0 3114k 0:00:55 0:00:03 0:00:52 3114k
8 169M 0 0 8 14.1M 0 3306k 0:00:52 0:00:04 0:00:48 3306k
10 169M 0 0 10 17.6M 0 3380k 0:00:51 0:00:05 0:00:46 3636k
12 169M 0 0 12 21.1M 0 3413k 0:00:50 0:00:06 0:00:44 3719k
14 169M 0 0 14 25.1M 0 3493k 0:00:49 0:00:07 0:00:42 3818k
17 169M 0 0 17 29.1M 0 3574k 0:00:48 0:00:08 0:00:40 3882k
19 169M 0 0 19 33.4M 0 3656k 0:00:47 0:00:09 0:00:38 3961k
22 169M 0 0 22 37.9M 0 3755k 0:00:46 0:00:10 0:00:36 4157k
25 169M 0 0 25 42.9M 0 3867k 0:00:44 0:00:11 0:00:33 4439k
28 169M 0 0 28 48.1M 0 3989k 0:00:43 0:00:12 0:00:31 4722k
31 169M 0 0 31 52.9M 0 4063k 0:00:42 0:00:13 0:00:29 4879k
33 169M 0 0 33 57.5M 0 4107k 0:00:42 0:00:14 0:00:28 4953k
36 169M 0 0 36 62.5M 0 4178k 0:00:41 0:00:15 0:00:26 5057k
40 169M 0 0 40 68.0M 0 4261k 0:00:40 0:00:16 0:00:24 5160k
43 169M 0 0 43 73.5M 0 4342k 0:00:40 0:00:17 0:00:23 5217k
46 169M 0 0 46 79.1M 0 4419k 0:00:39 0:00:18 0:00:21 5368k
49 169M 0 0 49 84.7M 0 4489k 0:00:38 0:00:19 0:00:19 5590k
52 169M 0 0 52 89.4M 0 4504k 0:00:38 0:00:20 0:00:18 5500k
55 169M 0 0 55 94.7M 0 4548k 0:00:38 0:00:21 0:00:17 5490k
59 169M 0 0 59 100M 0 4605k 0:00:37 0:00:22 0:00:15 5514k
62 169M 0 0 62 106M 0 4666k 0:00:37 0:00:23 0:00:14 5570k
66 169M 0 0 66 112M 0 4725k 0:00:36 0:00:24 0:00:12 5640k
69 169M 0 0 69 118M 0 4785k 0:00:36 0:00:25 0:00:11 5928k
73 169M 0 0 73 124M 0 4853k 0:00:35 0:00:26 0:00:09 6151k
77 169M 0 0 77 131M 0 4926k 0:00:35 0:00:27 0:00:08 6362k
81 169M 0 0 81 138M 0 5009k 0:00:34 0:00:28 0:00:06 6613k
86 169M 0 0 86 146M 0 5098k 0:00:34 0:00:29 0:00:05 6916k
90 169M 0 0 90 153M 0 5192k 0:00:33 0:00:30 0:00:03 7257k
95 169M 0 0 95 162M 0 5312k 0:00:32 0:00:31 0:00:01 7731k
99 169M 0 0 99 169M 0 5351k 0:00:32 0:00:32 --:--:-- 7673k
100 169M 0 0 100 169M 0 5194k 0:00:33 0:00:33 --:--:-- 6214k
100 169M 0 0 100 169M 0 5043k 0:00:34 0:00:34 --:--:-- 4730k
100 169M 0 0 100 169M 0 4901k 0:00:35 0:00:35 --:--:-- 3185k
100 169M 0 0 100 169M 0 4767k 0:00:36 0:00:36 --:--:-- 1444k
100 169M 0 0 100 169M 0 4639k 0:00:37 0:00:37 --:--:-- 162k
100 169M 0 0 100 169M 0 4519k 0:00:38 0:00:38 --:--:-- 0
100 169M 0 0 100 169M 0 4404k 0:00:39 0:00:39 --:--:-- 0
100 169M 0 0 100 169M 0 4295k 0:00:40 0:00:40 --:--:-- 0
100 169M 0 0 100 169M 0 4191k 0:00:41 0:00:41 --:--:-- 0
100 169M 0 0 100 169M 0 4093k 0:00:42 0:00:42 --:--:-- 0
100 169M 0 0 100 169M 0 3998k 0:00:43 0:00:43 --:--:-- 0
100 169M 0 0 100 169M 0 3908k 0:00:44 0:00:44 --:--:-- 0
100 169M 0 0 100 169M 0 3822k 0:00:45 0:00:45 --:--:-- 0
100 169M 0 0 100 169M 0 3740k 0:00:46 0:00:46 --:--:-- 0
100 169M 0 0 100 169M 0 3661k 0:00:47 0:00:47 --:--:-- 0
100 169M 0 0 100 169M 0 3586k 0:00:48 0:00:48 --:--:-- 0
100 169M 0 0 100 169M 0 3513k 0:00:49 0:00:49 --:--:-- 0
100 169M 0 0 100 169M 0 3443k 0:00:50 0:00:50 --:--:-- 0
100 169M 0 0 100 169M 0 3377k 0:00:51 0:00:51 --:--:-- 0
100 169M 0 43 100 169M 0 3332k 0:00:52 0:00:52 --:--:-- 9
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV13/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV14压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV14_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV14_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV14_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV14_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/params_orin_master_YWSX_KINGLONG_IGV14_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/params_orin_master_YWSX_KINGLONG_IGV14_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 169M 0 0 0 192k 0 444k 0:06:31 --:--:-- 0:06:31 443k
1 169M 0 0 1 3328k 0 2353k 0:01:13 0:00:01 0:01:12 2351k
3 169M 0 0 3 6272k 0 2620k 0:01:06 0:00:02 0:01:04 2619k
5 169M 0 0 5 9728k 0 2846k 0:01:01 0:00:03 0:00:58 2845k
7 169M 0 0 7 13.0M 0 3041k 0:00:57 0:00:04 0:00:53 3040k
10 169M 0 0 10 17.1M 0 3233k 0:00:53 0:00:05 0:00:48 3475k
12 169M 0 0 12 21.3M 0 3417k 0:00:50 0:00:06 0:00:44 3719k
14 169M 0 0 14 25.0M 0 3472k 0:00:50 0:00:07 0:00:43 3879k
17 169M 0 0 17 29.0M 0 3536k 0:00:49 0:00:08 0:00:41 4008k
19 169M 0 0 19 32.8M 0 3583k 0:00:48 0:00:09 0:00:39 4059k
21 169M 0 0 21 36.2M 0 3573k 0:00:48 0:00:10 0:00:38 3944k
23 169M 0 0 23 39.9M 0 3583k 0:00:48 0:00:11 0:00:37 3797k
25 169M 0 0 25 42.8M 0 3541k 0:00:49 0:00:12 0:00:37 3643k
27 169M 0 0 27 46.4M 0 3542k 0:00:49 0:00:13 0:00:36 3552k
29 169M 0 0 29 50.0M 0 3558k 0:00:48 0:00:14 0:00:34 3511k
31 169M 0 0 31 53.5M 0 3558k 0:00:48 0:00:15 0:00:33 3528k
33 169M 0 0 33 56.6M 0 3536k 0:00:49 0:00:16 0:00:33 3430k
35 169M 0 0 35 60.1M 0 3543k 0:00:49 0:00:17 0:00:32 3549k
37 169M 0 0 37 64.0M 0 3562k 0:00:48 0:00:18 0:00:30 3615k
40 169M 0 0 40 67.9M 0 3585k 0:00:48 0:00:19 0:00:29 3666k
42 169M 0 0 42 72.2M 0 3627k 0:00:47 0:00:20 0:00:27 3839k
45 169M 0 0 45 76.8M 0 3676k 0:00:47 0:00:21 0:00:26 4134k
48 169M 0 0 48 81.7M 0 3737k 0:00:46 0:00:22 0:00:24 4409k
51 169M 0 0 51 87.0M 0 3811k 0:00:45 0:00:23 0:00:22 4736k
54 169M 0 0 54 92.7M 0 3891k 0:00:44 0:00:24 0:00:20 5074k
58 169M 0 0 58 98.6M 0 3977k 0:00:43 0:00:25 0:00:18 5403k
61 169M 0 0 61 105M 0 4083k 0:00:42 0:00:26 0:00:16 5833k
66 169M 0 0 66 113M 0 4231k 0:00:41 0:00:27 0:00:14 6443k
71 169M 0 0 71 120M 0 4350k 0:00:39 0:00:28 0:00:11 6869k
75 169M 0 0 75 128M 0 4466k 0:00:38 0:00:29 0:00:09 7250k
79 169M 0 0 79 134M 0 4531k 0:00:38 0:00:30 0:00:08 7345k
82 169M 0 0 82 140M 0 4595k 0:00:37 0:00:31 0:00:06 7300k
85 169M 0 0 85 145M 0 4611k 0:00:37 0:00:32 0:00:05 6695k
89 169M 0 0 89 151M 0 4638k 0:00:37 0:00:33 0:00:04 6272k
92 169M 0 0 92 157M 0 4670k 0:00:37 0:00:34 0:00:03 5880k
95 169M 0 0 95 162M 0 4705k 0:00:36 0:00:35 0:00:01 5764k
98 169M 0 0 98 166M 0 4695k 0:00:37 0:00:36 0:00:01 5320k
100 169M 0 0 100 169M 0 4547k 0:00:38 0:00:38 --:--:-- 4188k
100 169M 0 0 100 169M 0 4431k 0:00:39 0:00:39 --:--:-- 3249k
100 169M 0 0 100 169M 0 4320k 0:00:40 0:00:40 --:--:-- 2253k
100 169M 0 0 100 169M 0 4216k 0:00:41 0:00:41 --:--:-- 1249k
100 169M 0 0 100 169M 0 4116k 0:00:42 0:00:42 --:--:-- 514k
100 169M 0 0 100 169M 0 4020k 0:00:43 0:00:43 --:--:-- 0
100 169M 0 0 100 169M 0 3929k 0:00:44 0:00:44 --:--:-- 0
100 169M 0 0 100 169M 0 3843k 0:00:45 0:00:45 --:--:-- 0
100 169M 0 0 100 169M 0 3759k 0:00:46 0:00:46 --:--:-- 0
100 169M 0 0 100 169M 0 3680k 0:00:47 0:00:47 --:--:-- 0
100 169M 0 0 100 169M 0 3603k 0:00:48 0:00:48 --:--:-- 0
100 169M 0 0 100 169M 0 3530k 0:00:49 0:00:49 --:--:-- 0
100 169M 0 0 100 169M 0 3460k 0:00:50 0:00:50 --:--:-- 0
100 169M 0 0 100 169M 0 3392k 0:00:51 0:00:51 --:--:-- 0
100 169M 0 0 100 169M 0 3327k 0:00:52 0:00:52 --:--:-- 0
100 169M 0 0 100 169M 0 3265k 0:00:53 0:00:53 --:--:-- 0
100 169M 0 0 100 169M 0 3204k 0:00:54 0:00:54 --:--:-- 0
100 169M 0 0 100 169M 0 3146k 0:00:55 0:00:55 --:--:-- 0
100 169M 0 0 100 169M 0 3090k 0:00:56 0:00:56 --:--:-- 0
100 169M 0 43 100 169M 0 3064k 0:00:56 0:00:56 --:--:-- 9
100 169M 0 43 100 169M 0 3064k 0:00:56 0:00:56 --:--:-- 12
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV14/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV15压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV15_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV15_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV15_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV15_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/params_orin_master_YWSX_KINGLONG_IGV15_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/params_orin_master_YWSX_KINGLONG_IGV15_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 169M 0 0 0 1280k 0 1602k 0:01:48 --:--:-- 0:01:48 1600k
2 169M 0 0 2 4096k 0 2239k 0:01:17 0:00:01 0:01:16 2238k
4 169M 0 0 4 7232k 0 2570k 0:01:07 0:00:02 0:01:05 2569k
6 169M 0 0 6 10.3M 0 2779k 0:01:02 0:00:03 0:00:59 2778k
8 169M 0 0 8 13.7M 0 2915k 0:00:59 0:00:04 0:00:55 2914k
9 169M 0 0 9 16.6M 0 2927k 0:00:59 0:00:05 0:00:54 3138k
11 169M 0 0 11 19.9M 0 3002k 0:00:57 0:00:06 0:00:51 3283k
13 169M 0 0 13 23.5M 0 3083k 0:00:56 0:00:07 0:00:49 3371k
15 169M 0 0 15 27.0M 0 3145k 0:00:55 0:00:08 0:00:47 3422k
17 169M 0 0 17 30.2M 0 3161k 0:00:54 0:00:09 0:00:45 3400k
19 169M 0 0 19 33.7M 0 3195k 0:00:54 0:00:10 0:00:44 3506k
22 169M 0 0 22 37.5M 0 3254k 0:00:53 0:00:11 0:00:42 3596k
24 169M 0 0 24 41.5M 0 3313k 0:00:52 0:00:12 0:00:40 3673k
26 169M 0 0 26 45.6M 0 3382k 0:00:51 0:00:13 0:00:38 3801k
29 169M 0 0 29 50.3M 0 3472k 0:00:50 0:00:14 0:00:36 4076k
31 169M 0 0 31 54.0M 0 3495k 0:00:49 0:00:15 0:00:34 4145k
34 169M 0 0 34 58.1M 0 3542k 0:00:49 0:00:16 0:00:33 4223k
36 169M 0 0 36 62.8M 0 3608k 0:00:48 0:00:17 0:00:31 4366k
39 169M 0 0 39 67.5M 0 3674k 0:00:47 0:00:18 0:00:29 4479k
42 169M 0 0 42 72.2M 0 3737k 0:00:46 0:00:19 0:00:27 4530k
45 169M 0 0 45 77.5M 0 3812k 0:00:45 0:00:20 0:00:25 4812k
48 169M 0 0 48 82.9M 0 3895k 0:00:44 0:00:21 0:00:23 5081k
52 169M 0 0 52 88.8M 0 3992k 0:00:43 0:00:22 0:00:21 5368k
55 169M 0 0 55 93.5M 0 4024k 0:00:43 0:00:23 0:00:20 5340k
56 169M 0 0 56 95.7M 0 3944k 0:00:44 0:00:24 0:00:20 4752k
57 169M 0 0 57 98.4M 0 3907k 0:00:44 0:00:25 0:00:19 4304k
60 169M 0 0 60 101M 0 3891k 0:00:44 0:00:26 0:00:18 3870k
61 169M 0 0 61 104M 0 3854k 0:00:45 0:00:27 0:00:18 3230k
63 169M 0 0 63 107M 0 3826k 0:00:45 0:00:28 0:00:17 2885k
65 169M 0 0 65 110M 0 3805k 0:00:45 0:00:29 0:00:16 3109k
67 169M 0 0 67 114M 0 3800k 0:00:45 0:00:30 0:00:15 3247k
69 169M 0 0 69 117M 0 3788k 0:00:45 0:00:31 0:00:14 3235k
71 169M 0 0 71 121M 0 3775k 0:00:46 0:00:32 0:00:14 3336k
73 169M 0 0 73 124M 0 3777k 0:00:46 0:00:33 0:00:13 3494k
75 169M 0 0 75 128M 0 3781k 0:00:45 0:00:34 0:00:11 3642k
78 169M 0 0 78 132M 0 3792k 0:00:45 0:00:35 0:00:10 3744k
80 169M 0 0 80 136M 0 3799k 0:00:45 0:00:36 0:00:09 3874k
82 169M 0 0 82 140M 0 3796k 0:00:45 0:00:37 0:00:08 3932k
84 169M 0 0 84 144M 0 3807k 0:00:45 0:00:38 0:00:07 4013k
87 169M 0 0 87 148M 0 3825k 0:00:45 0:00:39 0:00:06 4127k
89 169M 0 0 89 152M 0 3817k 0:00:45 0:00:40 0:00:05 4000k
91 169M 0 0 91 155M 0 3813k 0:00:45 0:00:41 0:00:04 3916k
93 169M 0 0 93 159M 0 3816k 0:00:45 0:00:42 0:00:03 3965k
96 169M 0 0 96 163M 0 3826k 0:00:45 0:00:43 0:00:02 3975k
99 169M 0 0 99 168M 0 3844k 0:00:45 0:00:44 0:00:01 3995k
100 169M 0 0 100 169M 0 3767k 0:00:46 0:00:46 --:--:-- 3380k
100 169M 0 0 100 169M 0 3687k 0:00:47 0:00:47 --:--:-- 2701k
100 169M 0 0 100 169M 0 3610k 0:00:48 0:00:48 --:--:-- 1957k
100 169M 0 0 100 169M 0 3537k 0:00:49 0:00:49 --:--:-- 1161k
100 169M 0 0 100 169M 0 3466k 0:00:50 0:00:50 --:--:-- 310k
100 169M 0 0 100 169M 0 3398k 0:00:51 0:00:51 --:--:-- 0
100 169M 0 0 100 169M 0 3333k 0:00:52 0:00:52 --:--:-- 0
100 169M 0 0 100 169M 0 3270k 0:00:53 0:00:53 --:--:-- 0
100 169M 0 0 100 169M 0 3210k 0:00:54 0:00:54 --:--:-- 0
100 169M 0 0 100 169M 0 3152k 0:00:55 0:00:55 --:--:-- 0
100 169M 0 0 100 169M 0 3095k 0:00:56 0:00:56 --:--:-- 0
100 169M 0 0 100 169M 0 3041k 0:00:57 0:00:57 --:--:-- 0
100 169M 0 0 100 169M 0 2989k 0:00:58 0:00:58 --:--:-- 0
100 169M 0 0 100 169M 0 2938k 0:00:59 0:00:59 --:--:-- 0
100 169M 0 43 100 169M 0 2893k 0:01:00 0:01:00 --:--:-- 8
100 169M 0 43 100 169M 0 2893k 0:01:00 0:01:00 --:--:-- 10
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV15/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV16压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV16_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV16_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV16_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV16_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/params_orin_master_YWSX_KINGLONG_IGV16_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/params_orin_master_YWSX_KINGLONG_IGV16_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
1 169M 0 0 1 2560k 0 2641k 0:01:05 --:--:-- 0:01:05 2639k
4 169M 0 0 4 7040k 0 3521k 0:00:49 0:00:01 0:00:48 3520k
5 169M 0 0 5 10.0M 0 3431k 0:00:50 0:00:02 0:00:48 3430k
7 169M 0 0 7 12.6M 0 3270k 0:00:53 0:00:03 0:00:50 3270k
9 169M 0 0 9 15.6M 0 3240k 0:00:53 0:00:04 0:00:49 3240k
11 169M 0 0 11 19.0M 0 3283k 0:00:52 0:00:05 0:00:47 3408k
13 169M 0 0 13 22.7M 0 3343k 0:00:52 0:00:06 0:00:46 3271k
15 169M 0 0 15 26.4M 0 3403k 0:00:51 0:00:07 0:00:44 3386k
17 169M 0 0 17 29.8M 0 3405k 0:00:51 0:00:08 0:00:43 3512k
19 169M 0 0 19 33.3M 0 3421k 0:00:50 0:00:09 0:00:41 3601k
21 169M 0 0 21 36.2M 0 3388k 0:00:51 0:00:10 0:00:41 3513k
22 169M 0 0 22 38.7M 0 3322k 0:00:52 0:00:11 0:00:41 3293k
24 169M 0 0 24 41.3M 0 3267k 0:00:53 0:00:12 0:00:41 3051k
26 169M 0 0 26 44.2M 0 3247k 0:00:53 0:00:13 0:00:40 2961k
28 169M 0 0 28 47.5M 0 3259k 0:00:53 0:00:14 0:00:39 2933k
29 169M 0 0 29 50.7M 0 3253k 0:00:53 0:00:15 0:00:38 2958k
31 169M 0 0 31 53.6M 0 3238k 0:00:53 0:00:16 0:00:37 3038k
33 169M 0 0 33 57.0M 0 3256k 0:00:53 0:00:17 0:00:36 3228k
35 169M 0 0 35 60.5M 0 3264k 0:00:53 0:00:18 0:00:35 3312k
37 169M 0 0 37 63.1M 0 3241k 0:00:53 0:00:19 0:00:34 3189k
38 169M 0 0 38 66.0M 0 3225k 0:00:53 0:00:20 0:00:33 3138k
40 169M 0 0 40 68.5M 0 3194k 0:00:54 0:00:21 0:00:33 3047k
42 169M 0 0 42 71.3M 0 3183k 0:00:54 0:00:22 0:00:32 2923k
43 169M 0 0 43 74.4M 0 3182k 0:00:54 0:00:23 0:00:31 2871k
45 169M 0 0 45 77.8M 0 3193k 0:00:54 0:00:24 0:00:30 3000k
48 169M 0 0 48 81.5M 0 3216k 0:00:54 0:00:25 0:00:29 3177k
50 169M 0 0 50 85.5M 0 3251k 0:00:53 0:00:26 0:00:27 3501k
52 169M 0 0 52 89.1M 0 3265k 0:00:53 0:00:27 0:00:26 3639k
54 169M 0 0 54 92.8M 0 3284k 0:00:52 0:00:28 0:00:24 3770k
57 169M 0 0 57 96.9M 0 3315k 0:00:52 0:00:29 0:00:23 3929k
59 169M 0 0 59 101M 0 3350k 0:00:51 0:00:30 0:00:21 4044k
62 169M 0 0 62 105M 0 3387k 0:00:51 0:00:31 0:00:20 4119k
64 169M 0 0 64 110M 0 3430k 0:00:50 0:00:32 0:00:18 4361k
67 169M 0 0 67 114M 0 3454k 0:00:50 0:00:33 0:00:17 4438k
69 169M 0 0 69 117M 0 3451k 0:00:50 0:00:34 0:00:16 4261k
71 169M 0 0 71 121M 0 3452k 0:00:50 0:00:35 0:00:15 4082k
73 169M 0 0 73 124M 0 3461k 0:00:50 0:00:36 0:00:14 3931k
75 169M 0 0 75 128M 0 3453k 0:00:50 0:00:37 0:00:13 3608k
77 169M 0 0 77 131M 0 3444k 0:00:50 0:00:38 0:00:12 3377k
78 169M 0 0 78 133M 0 3428k 0:00:50 0:00:39 0:00:11 3274k
80 169M 0 0 80 136M 0 3421k 0:00:50 0:00:40 0:00:10 3196k
82 169M 0 0 82 140M 0 3422k 0:00:50 0:00:41 0:00:09 3143k
84 169M 0 0 84 143M 0 3431k 0:00:50 0:00:42 0:00:08 3258k
86 169M 0 0 86 147M 0 3438k 0:00:50 0:00:43 0:00:07 3388k
88 169M 0 0 88 151M 0 3439k 0:00:50 0:00:44 0:00:06 3525k
91 169M 0 0 91 154M 0 3445k 0:00:50 0:00:45 0:00:05 3641k
92 169M 0 0 92 157M 0 3437k 0:00:50 0:00:46 0:00:04 3556k
94 169M 0 0 94 160M 0 3424k 0:00:50 0:00:47 0:00:03 3370k
95 169M 0 0 95 163M 0 3409k 0:00:51 0:00:48 0:00:03 3154k
97 169M 0 0 97 165M 0 3399k 0:00:51 0:00:49 0:00:02 3035k
99 169M 0 0 99 169M 0 3398k 0:00:51 0:00:50 0:00:01 2969k
100 169M 0 0 100 169M 0 3333k 0:00:52 0:00:52 --:--:-- 2403k
100 169M 0 0 100 169M 0 3270k 0:00:53 0:00:53 --:--:-- 1849k
100 169M 0 0 100 169M 0 3210k 0:00:54 0:00:54 --:--:-- 1339k
100 169M 0 0 100 169M 0 3152k 0:00:55 0:00:55 --:--:-- 785k
100 169M 0 0 100 169M 0 3096k 0:00:56 0:00:56 --:--:-- 123k
100 169M 0 0 100 169M 0 3041k 0:00:57 0:00:57 --:--:-- 0
100 169M 0 0 100 169M 0 2989k 0:00:58 0:00:58 --:--:-- 0
100 169M 0 0 100 169M 0 2938k 0:00:59 0:00:59 --:--:-- 0
100 169M 0 0 100 169M 0 2889k 0:01:00 0:01:00 --:--:-- 0
100 169M 0 0 100 169M 0 2842k 0:01:01 0:01:01 --:--:-- 0
100 169M 0 0 100 169M 0 2796k 0:01:02 0:01:02 --:--:-- 0
100 169M 0 0 100 169M 0 2752k 0:01:03 0:01:03 --:--:-- 0
100 169M 0 0 100 169M 0 2709k 0:01:04 0:01:04 --:--:-- 0
100 169M 0 0 100 169M 0 2668k 0:01:05 0:01:05 --:--:-- 0
100 169M 0 0 100 169M 0 2627k 0:01:06 0:01:06 --:--:-- 0
100 169M 0 0 100 169M 0 2588k 0:01:07 0:01:07 --:--:-- 0
100 169M 0 0 100 169M 0 2550k 0:01:08 0:01:08 --:--:-- 0
100 169M 0 0 100 169M 0 2513k 0:01:09 0:01:09 --:--:-- 0
100 169M 0 0 100 169M 0 2477k 0:01:10 0:01:10 --:--:-- 0
100 169M 0 0 100 169M 0 2442k 0:01:11 0:01:11 --:--:-- 0
100 169M 0 43 100 169M 0 2413k 0:01:12 0:01:12 --:--:-- 8
100 169M 0 43 100 169M 0 2413k 0:01:12 0:01:12 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV16/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV17压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV17_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV17_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV17_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV17_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/params_orin_master_YWSX_KINGLONG_IGV17_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/params_orin_master_YWSX_KINGLONG_IGV17_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
1 169M 0 0 1 1792k 0 1931k 0:01:30 --:--:-- 0:01:30 1928k
4 169M 0 0 4 7040k 0 3672k 0:00:47 0:00:01 0:00:46 3670k
7 169M 0 0 7 12.4M 0 4330k 0:00:40 0:00:02 0:00:38 4329k
10 169M 0 0 10 18.2M 0 4760k 0:00:36 0:00:03 0:00:33 4758k
13 169M 0 0 13 23.1M 0 4779k 0:00:36 0:00:04 0:00:32 4779k
16 169M 0 0 16 27.5M 0 4757k 0:00:36 0:00:05 0:00:31 5282k
18 169M 0 0 18 30.6M 0 4533k 0:00:38 0:00:06 0:00:32 4864k
19 169M 0 0 19 33.8M 0 4365k 0:00:39 0:00:07 0:00:32 4386k
21 169M 0 0 21 36.6M 0 4200k 0:00:41 0:00:08 0:00:33 3761k
23 169M 0 0 23 39.7M 0 4087k 0:00:42 0:00:09 0:00:33 3401k
25 169M 0 0 25 43.0M 0 4024k 0:00:43 0:00:10 0:00:33 3156k
27 169M 0 0 27 46.3M 0 3983k 0:00:43 0:00:11 0:00:32 3223k
29 169M 0 0 29 50.2M 0 3959k 0:00:43 0:00:12 0:00:31 3320k
31 169M 0 0 31 53.1M 0 3908k 0:00:44 0:00:13 0:00:31 3387k
33 169M 0 0 33 56.6M 0 3890k 0:00:44 0:00:14 0:00:30 3494k
35 169M 0 0 35 60.2M 0 3867k 0:00:44 0:00:15 0:00:29 3526k
37 169M 0 0 37 63.1M 0 3820k 0:00:45 0:00:16 0:00:29 3433k
39 169M 0 0 39 66.4M 0 3796k 0:00:45 0:00:17 0:00:28 3365k
41 169M 0 0 41 69.6M 0 3762k 0:00:46 0:00:18 0:00:28 3357k
42 169M 0 0 42 72.6M 0 3730k 0:00:46 0:00:19 0:00:27 3255k
44 169M 0 0 44 76.0M 0 3720k 0:00:46 0:00:20 0:00:26 3247k
46 169M 0 0 46 79.6M 0 3718k 0:00:46 0:00:21 0:00:25 3374k
49 169M 0 0 49 83.4M 0 3726k 0:00:46 0:00:22 0:00:24 3478k
51 169M 0 0 51 87.2M 0 3732k 0:00:46 0:00:23 0:00:23 3618k
53 169M 0 0 53 90.6M 0 3723k 0:00:46 0:00:24 0:00:22 3696k
55 169M 0 0 55 94.5M 0 3733k 0:00:46 0:00:25 0:00:21 3785k
58 169M 0 0 58 98.6M 0 3752k 0:00:46 0:00:26 0:00:20 3903k
60 169M 0 0 60 102M 0 3745k 0:00:46 0:00:27 0:00:19 3833k
62 169M 0 0 62 105M 0 3744k 0:00:46 0:00:28 0:00:18 3804k
64 169M 0 0 64 109M 0 3755k 0:00:46 0:00:29 0:00:17 3913k
67 169M 0 0 67 113M 0 3772k 0:00:46 0:00:30 0:00:16 3976k
69 169M 0 0 69 118M 0 3792k 0:00:45 0:00:31 0:00:14 4004k
72 169M 0 0 72 122M 0 3821k 0:00:45 0:00:32 0:00:13 4243k
75 169M 0 0 75 127M 0 3858k 0:00:45 0:00:33 0:00:12 4514k
78 169M 0 0 78 133M 0 3905k 0:00:44 0:00:34 0:00:10 4807k
81 169M 0 0 81 138M 0 3948k 0:00:44 0:00:35 0:00:09 5037k
84 169M 0 0 84 143M 0 3966k 0:00:43 0:00:36 0:00:07 5079k
87 169M 0 0 87 148M 0 4002k 0:00:43 0:00:37 0:00:06 5192k
90 169M 0 0 90 153M 0 4045k 0:00:42 0:00:38 0:00:04 5317k
93 169M 0 0 93 158M 0 4071k 0:00:42 0:00:39 0:00:03 5232k
95 169M 0 0 95 162M 0 4068k 0:00:42 0:00:40 0:00:02 4930k
97 169M 0 0 97 165M 0 4052k 0:00:42 0:00:41 0:00:01 4685k
99 169M 0 0 99 168M 0 4023k 0:00:43 0:00:42 0:00:01 4185k
100 169M 0 0 100 169M 0 3923k 0:00:44 0:00:44 --:--:-- 3040k
100 169M 0 0 100 169M 0 3836k 0:00:45 0:00:45 --:--:-- 2107k
100 169M 0 0 100 169M 0 3753k 0:00:46 0:00:46 --:--:-- 1356k
100 169M 0 0 100 169M 0 3674k 0:00:47 0:00:47 --:--:-- 736k
100 169M 0 0 100 169M 0 3598k 0:00:48 0:00:48 --:--:-- 225k
100 169M 0 0 100 169M 0 3525k 0:00:49 0:00:49 --:--:-- 0
100 169M 0 0 100 169M 0 3455k 0:00:50 0:00:50 --:--:-- 0
100 169M 0 0 100 169M 0 3387k 0:00:51 0:00:51 --:--:-- 0
100 169M 0 0 100 169M 0 3323k 0:00:52 0:00:52 --:--:-- 0
100 169M 0 0 100 169M 0 3260k 0:00:53 0:00:53 --:--:-- 0
100 169M 0 0 100 169M 0 3200k 0:00:54 0:00:54 --:--:-- 0
100 169M 0 0 100 169M 0 3142k 0:00:55 0:00:55 --:--:-- 0
100 169M 0 0 100 169M 0 3086k 0:00:56 0:00:56 --:--:-- 0
100 169M 0 0 100 169M 0 3032k 0:00:57 0:00:57 --:--:-- 0
100 169M 0 0 100 169M 0 2980k 0:00:58 0:00:58 --:--:-- 0
100 169M 0 0 100 169M 0 2930k 0:00:59 0:00:59 --:--:-- 0
100 169M 0 0 100 169M 0 2882k 0:01:00 0:01:00 --:--:-- 0
100 169M 0 0 100 169M 0 2834k 0:01:01 0:01:01 --:--:-- 0
100 169M 0 43 100 169M 0 2828k 0:01:01 0:01:01 --:--:-- 10
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV17/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV18压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV18_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV18_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV18_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV18_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/params_orin_master_YWSX_KINGLONG_IGV18_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/params_orin_master_YWSX_KINGLONG_IGV18_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 169M 0 0 0 512k 0 975k 0:02:58 --:--:-- 0:02:58 973k
2 169M 0 0 2 4544k 0 3013k 0:00:57 0:00:01 0:00:56 3011k
4 169M 0 0 4 8448k 0 3325k 0:00:52 0:00:02 0:00:50 3324k
6 169M 0 0 6 11.6M 0 3378k 0:00:51 0:00:03 0:00:48 3377k
8 169M 0 0 8 15.2M 0 3464k 0:00:50 0:00:04 0:00:46 3463k
11 169M 0 0 11 19.1M 0 3548k 0:00:49 0:00:05 0:00:44 3818k
12 169M 0 0 12 21.6M 0 3396k 0:00:51 0:00:06 0:00:45 3512k
14 169M 0 0 14 24.1M 0 3300k 0:00:52 0:00:07 0:00:45 3287k
16 169M 0 0 16 27.1M 0 3263k 0:00:53 0:00:08 0:00:45 3182k
17 169M 0 0 17 30.3M 0 3268k 0:00:53 0:00:09 0:00:44 3093k
20 169M 0 0 20 34.0M 0 3307k 0:00:52 0:00:10 0:00:42 3041k
22 169M 0 0 22 37.8M 0 3364k 0:00:51 0:00:11 0:00:40 3321k
24 169M 0 0 24 42.1M 0 3446k 0:00:50 0:00:12 0:00:38 3664k
27 169M 0 0 27 46.5M 0 3531k 0:00:49 0:00:13 0:00:36 3990k
29 169M 0 0 29 50.3M 0 3555k 0:00:48 0:00:14 0:00:34 4099k
32 169M 0 0 32 54.6M 0 3605k 0:00:48 0:00:15 0:00:33 4238k
34 169M 0 0 34 59.1M 0 3659k 0:00:47 0:00:16 0:00:31 4340k
36 169M 0 0 36 62.6M 0 3658k 0:00:47 0:00:17 0:00:30 4189k
39 169M 0 0 39 66.3M 0 3671k 0:00:47 0:00:18 0:00:29 4051k
41 169M 0 0 41 70.5M 0 3702k 0:00:46 0:00:19 0:00:27 4131k
44 169M 0 0 44 75.0M 0 3742k 0:00:46 0:00:20 0:00:26 4165k
46 169M 0 0 46 79.6M 0 3793k 0:00:45 0:00:21 0:00:24 4240k
49 169M 0 0 49 83.8M 0 3814k 0:00:45 0:00:22 0:00:23 4364k
51 169M 0 0 51 88.1M 0 3839k 0:00:45 0:00:23 0:00:22 4460k
54 169M 0 0 54 92.8M 0 3881k 0:00:44 0:00:24 0:00:20 4579k
57 169M 0 0 57 97.4M 0 3907k 0:00:44 0:00:25 0:00:19 4586k
59 169M 0 0 59 101M 0 3910k 0:00:44 0:00:26 0:00:18 4408k
62 169M 0 0 62 105M 0 3920k 0:00:44 0:00:27 0:00:17 4397k
64 169M 0 0 64 109M 0 3940k 0:00:44 0:00:28 0:00:16 4415k
66 169M 0 0 66 113M 0 3947k 0:00:44 0:00:29 0:00:15 4272k
69 169M 0 0 69 117M 0 3937k 0:00:44 0:00:30 0:00:14 4090k
70 169M 0 0 70 120M 0 3914k 0:00:44 0:00:31 0:00:13 3939k
72 169M 0 0 72 123M 0 3900k 0:00:44 0:00:32 0:00:12 3788k
75 169M 0 0 75 127M 0 3897k 0:00:44 0:00:33 0:00:11 3654k
77 169M 0 0 77 131M 0 3904k 0:00:44 0:00:34 0:00:10 3648k
78 169M 0 0 78 133M 0 3847k 0:00:45 0:00:35 0:00:10 3292k
79 169M 0 0 79 135M 0 3809k 0:00:45 0:00:36 0:00:09 3146k
81 169M 0 0 81 138M 0 3781k 0:00:45 0:00:37 0:00:08 3008k
83 169M 0 0 83 141M 0 3762k 0:00:46 0:00:38 0:00:08 2853k
85 169M 0 0 85 144M 0 3753k 0:00:46 0:00:39 0:00:07 2717k
86 169M 0 0 86 147M 0 3731k 0:00:46 0:00:40 0:00:06 2911k
88 169M 0 0 88 150M 0 3720k 0:00:46 0:00:41 0:00:05 3072k
90 169M 0 0 90 154M 0 3717k 0:00:46 0:00:42 0:00:04 3240k
93 169M 0 0 93 158M 0 3717k 0:00:46 0:00:43 0:00:03 3376k
95 169M 0 0 95 161M 0 3723k 0:00:46 0:00:44 0:00:02 3483k
97 169M 0 0 97 166M 0 3739k 0:00:46 0:00:45 0:00:01 3799k
100 169M 0 0 100 169M 0 3663k 0:00:47 0:00:47 --:--:-- 3264k
100 169M 0 0 100 169M 0 3587k 0:00:48 0:00:48 --:--:-- 2654k
100 169M 0 0 100 169M 0 3514k 0:00:49 0:00:49 --:--:-- 2032k
100 169M 0 0 100 169M 0 3445k 0:00:50 0:00:50 --:--:-- 1372k
100 169M 0 0 100 169M 0 3378k 0:00:51 0:00:51 --:--:-- 614k
100 169M 0 0 100 169M 0 3313k 0:00:52 0:00:52 --:--:-- 0
100 169M 0 0 100 169M 0 3251k 0:00:53 0:00:53 --:--:-- 0
100 169M 0 0 100 169M 0 3192k 0:00:54 0:00:54 --:--:-- 0
100 169M 0 0 100 169M 0 3134k 0:00:55 0:00:55 --:--:-- 0
100 169M 0 0 100 169M 0 3078k 0:00:56 0:00:56 --:--:-- 0
100 169M 0 0 100 169M 0 3025k 0:00:57 0:00:57 --:--:-- 0
100 169M 0 0 100 169M 0 2973k 0:00:58 0:00:58 --:--:-- 0
100 169M 0 0 100 169M 0 2923k 0:00:59 0:00:59 --:--:-- 0
100 169M 0 0 100 169M 0 2875k 0:01:00 0:01:00 --:--:-- 0
100 169M 0 0 100 169M 0 2828k 0:01:01 0:01:01 --:--:-- 0
100 169M 0 0 100 169M 0 2782k 0:01:02 0:01:02 --:--:-- 0
100 169M 0 0 100 169M 0 2739k 0:01:03 0:01:03 --:--:-- 0
100 169M 0 0 100 169M 0 2696k 0:01:04 0:01:04 --:--:-- 0
100 169M 0 43 100 169M 0 2661k 0:01:05 0:01:05 --:--:-- 8
100 169M 0 43 100 169M 0 2661k 0:01:05 0:01:05 --:--:-- 11
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV18/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV19压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV19_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV19_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV19_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV19_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/params_orin_master_YWSX_KINGLONG_IGV19_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/params_orin_master_YWSX_KINGLONG_IGV19_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 169M 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
1 169M 0 0 1 3008k 0 2597k 0:01:06 0:00:01 0:01:05 2595k
3 169M 0 0 3 6784k 0 3162k 0:00:54 0:00:02 0:00:52 3161k
6 169M 0 0 6 10.9M 0 3534k 0:00:49 0:00:03 0:00:46 3533k
9 169M 0 0 9 15.3M 0 3776k 0:00:46 0:00:04 0:00:42 3775k
11 169M 0 0 11 19.8M 0 3952k 0:00:43 0:00:05 0:00:38 4111k
14 169M 0 0 14 24.8M 0 4115k 0:00:42 0:00:06 0:00:36 4466k
16 169M 0 0 16 28.8M 0 4129k 0:00:42 0:00:07 0:00:35 4544k
19 169M 0 0 19 33.1M 0 4171k 0:00:41 0:00:08 0:00:33 4576k
22 169M 0 0 22 37.9M 0 4243k 0:00:40 0:00:09 0:00:31 4630k
25 169M 0 0 25 42.8M 0 4326k 0:00:40 0:00:10 0:00:30 4710k
28 169M 0 0 28 47.8M 0 4399k 0:00:39 0:00:11 0:00:28 4753k
30 169M 0 0 30 51.8M 0 4367k 0:00:39 0:00:12 0:00:27 4708k
33 169M 0 0 33 56.3M 0 4385k 0:00:39 0:00:13 0:00:26 4736k
36 169M 0 0 36 61.1M 0 4425k 0:00:39 0:00:14 0:00:25 4759k
38 169M 0 0 38 66.1M 0 4471k 0:00:38 0:00:15 0:00:23 4766k
41 169M 0 0 41 71.2M 0 4518k 0:00:38 0:00:16 0:00:22 4781k
45 169M 0 0 45 76.6M 0 4574k 0:00:38 0:00:17 0:00:21 5077k
48 169M 0 0 48 82.3M 0 4645k 0:00:37 0:00:18 0:00:19 5330k
52 169M 0 0 52 88.4M 0 4725k 0:00:36 0:00:19 0:00:17 5575k
55 169M 0 0 55 94.7M 0 4816k 0:00:36 0:00:20 0:00:16 5860k
58 169M 0 0 58 100M 0 4852k 0:00:35 0:00:21 0:00:14 5931k
62 169M 0 0 62 105M 0 4893k 0:00:35 0:00:22 0:00:13 5982k
65 169M 0 0 65 112M 0 4956k 0:00:35 0:00:23 0:00:12 6081k
69 169M 0 0 69 118M 0 5026k 0:00:34 0:00:24 0:00:10 6181k
73 169M 0 0 73 125M 0 5095k 0:00:34 0:00:25 0:00:09 6223k
77 169M 0 0 77 131M 0 5159k 0:00:33 0:00:26 0:00:07 6460k
81 169M 0 0 81 138M 0 5220k 0:00:33 0:00:27 0:00:06 6676k
85 169M 0 0 85 145M 0 5293k 0:00:32 0:00:28 0:00:04 6860k
89 169M 0 0 89 151M 0 5330k 0:00:32 0:00:29 0:00:03 6797k
91 169M 0 0 91 155M 0 5287k 0:00:32 0:00:30 0:00:02 6247k
94 169M 0 0 94 159M 0 5257k 0:00:33 0:00:31 0:00:02 5769k
96 169M 0 0 96 164M 0 5238k 0:00:33 0:00:32 0:00:01 5338k
99 169M 0 0 99 169M 0 5225k 0:00:33 0:00:33 --:--:-- 4840k
100 169M 0 0 100 169M 0 5071k 0:00:34 0:00:34 --:--:-- 3601k
100 169M 0 0 100 169M 0 4927k 0:00:35 0:00:35 --:--:-- 2802k
100 169M 0 0 100 169M 0 4791k 0:00:36 0:00:36 --:--:-- 1967k
100 169M 0 0 100 169M 0 4662k 0:00:37 0:00:37 --:--:-- 1069k
100 169M 0 0 100 169M 0 4541k 0:00:38 0:00:38 --:--:-- 125k
100 169M 0 0 100 169M 0 4425k 0:00:39 0:00:39 --:--:-- 0
100 169M 0 0 100 169M 0 4315k 0:00:40 0:00:40 --:--:-- 0
100 169M 0 0 100 169M 0 4210k 0:00:41 0:00:41 --:--:-- 0
100 169M 0 0 100 169M 0 4111k 0:00:42 0:00:42 --:--:-- 0
100 169M 0 0 100 169M 0 4016k 0:00:43 0:00:43 --:--:-- 0
100 169M 0 0 100 169M 0 3925k 0:00:44 0:00:44 --:--:-- 0
100 169M 0 0 100 169M 0 3838k 0:00:45 0:00:45 --:--:-- 0
100 169M 0 0 100 169M 0 3755k 0:00:46 0:00:46 --:--:-- 0
100 169M 0 0 100 169M 0 3676k 0:00:47 0:00:47 --:--:-- 0
100 169M 0 0 100 169M 0 3599k 0:00:48 0:00:48 --:--:-- 0
100 169M 0 43 100 169M 0 3585k 0:00:48 0:00:48 --:--:-- 10
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV19/master/params_submodule/
[Pipeline] echo
------------------------------------- YWSX_KINGLONG_IGV20压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/params/
+ ls -d crane_align/ extrinsics/ hardware/ hdmap/ hdmap_interface/ hesai_lidar/ imv_spreader_detection/ lane_detection/ lidar_correction_files/ lidar_loc_v2/ master/ perception/ pncc_common_config/ pncc_port_related_config/ pncc_vehicle_related_config/ pointcloud/ prediction/ rslidar_sdk/ slave/ system-ros/
[Pipeline] echo
crane_align/
extrinsics/
hardware/
hdmap/
hdmap_interface/
hesai_lidar/
imv_spreader_detection/
lane_detection/
lidar_correction_files/
lidar_loc_v2/
master/
perception/
pncc_common_config/
pncc_port_related_config/
pncc_vehicle_related_config/
pointcloud/
prediction/
rslidar_sdk/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/params/master/camera_driver /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/params/master/recorder.toml /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/params/master/system-ros /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/params/
[Pipeline] sh
+ mkdir -p params_orin_master_YWSX_KINGLONG_IGV20_2026-09-22_11-48-07/
+ mv params/ params_orin_master_YWSX_KINGLONG_IGV20_2026-09-22_11-48-07/
[Pipeline] sh
+ zip -rq params_orin_master_YWSX_KINGLONG_IGV20_2026-09-22_11-48-07.zip params_orin_master_YWSX_KINGLONG_IGV20_2026-09-22_11-48-07 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/params_orin_master_YWSX_KINGLONG_IGV20_2026-09-22_11-48-07.zip,/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/version.json
[Pipeline] sh
+ curl -X POST http://172.16.110.148:60180/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/params_orin_master_YWSX_KINGLONG_IGV20_2026-09-22_11-48-07.zip"' --form 'version=@"/root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/version.json"'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 169M 0 0 0 127k 0 148k 0:19:29 --:--:-- 0:19:29 148k
3 169M 0 0 3 6144k 0 3043k 0:00:57 0:00:02 0:00:55 3043k
5 169M 0 0 5 8832k 0 3087k 0:00:56 0:00:02 0:00:54 3085k
5 169M 0 0 5 9.9M 0 2410k 0:01:12 0:00:04 0:01:08 2410k
5 169M 0 0 5 9.9M 0 1949k 0:01:29 0:00:05 0:01:24 1949k
5 169M 0 0 5 9.9M 0 1635k 0:01:46 0:00:06 0:01:40 1872k
5 169M 0 0 5 9.9M 0 1408k 0:02:03 0:00:07 0:01:56 774k
5 169M 0 0 5 9.9M 0 1237k 0:02:20 0:00:08 0:02:12 250k
5 169M 0 0 5 9.9M 0 1103k 0:02:37 0:00:09 0:02:28 0
5 169M 0 0 5 9.9M 0 995k 0:02:54 0:00:10 0:02:44 0
5 169M 0 0 5 9.9M 0 906k 0:03:11 0:00:11 0:03:00 0
5 169M 0 0 5 9.9M 0 832k 0:03:28 0:00:12 0:03:16 0
6 169M 0 0 6 10.6M 0 850k 0:03:24 0:00:12 0:03:12 165k
7 169M 0 0 7 13.3M 0 984k 0:02:56 0:00:13 0:02:43 748k
8 169M 0 0 8 14.8M 0 992k 0:02:55 0:00:15 0:02:40 987k
8 169M 0 0 8 14.9M 0 939k 0:03:05 0:00:16 0:02:49 1011k
9 169M 0 0 9 16.1M 0 981k 0:02:57 0:00:16 0:02:41 1378k
10 169M 0 0 10 17.3M 0 971k 0:02:59 0:00:18 0:02:41 1255k
10 169M 0 0 10 17.4M 0 937k 0:03:05 0:00:19 0:02:46 813k
11 169M 0 0 11 19.5M 0 1009k 0:02:52 0:00:19 0:02:33 1067k
11 169M 0 0 11 19.8M 0 972k 0:02:58 0:00:20 0:02:38 1088k
12 169M 0 0 12 20.9M 0 981k 0:02:57 0:00:21 0:02:36 982k
13 169M 0 0 13 22.3M 0 976k 0:02:58 0:00:23 0:02:35 993k
13 169M 0 0 13 22.8M 0 980k 0:02:57 0:00:23 0:02:34 1147k
14 169M 0 0 14 24.9M 0 1017k 0:02:50 0:00:25 0:02:25 1045k
15 169M 0 0 15 26.4M 0 1048k 0:02:45 0:00:25 0:02:20 1373k
16 169M 0 0 16 28.8M 0 1099k 0:02:38 0:00:26 0:02:12 1614k
18 169M 0 0 18 31.4M 0 1157k 0:02:30 0:00:27 0:02:03 2132k
20 169M 0 0 20 34.3M 0 1220k 0:02:22 0:00:28 0:01:54 2368k
22 169M 0 0 22 37.6M 0 1293k 0:02:14 0:00:29 0:01:45 2755k
24 169M 0 0 24 41.2M 0 1370k 0:02:06 0:00:30 0:01:36 3029k
26 169M 0 0 26 45.3M 0 1456k 0:01:59 0:00:31 0:01:28 3367k
28 169M 0 0 28 49.1M 0 1533k 0:01:53 0:00:32 0:01:21 3624k
31 169M 0 0 31 52.6M 0 1595k 0:01:49 0:00:33 0:01:16 3758k
33 169M 0 0 33 56.7M 0 1668k 0:01:44 0:00:34 0:01:10 3908k
35 169M 0 0 35 61.0M 0 1743k 0:01:39 0:00:35 0:01:04 4051k
38 169M 0 0 38 65.4M 0 1818k 0:01:35 0:00:36 0:00:59 4134k
41 169M 0 0 41 70.0M 0 1895k 0:01:31 0:00:37 0:00:54 4275k
44 169M 0 0 44 74.9M 0 1976k 0:01:27 0:00:38 0:00:49 4553k
47 169M 0 0 47 80.3M 0 2064k 0:01:24 0:00:39 0:00:45 4834k
50 169M 0 0 50 85.8M 0 2154k 0:01:20 0:00:40 0:00:40 5093k
54 169M 0 0 54 91.9M 0 2251k 0:01:17 0:00:41 0:00:36 5446k
55 169M 0 0 55 93.8M 0 2244k 0:01:17 0:00:42 0:00:35 4886k
58 169M 0 0 58 99.0M 0 2314k 0:01:15 0:00:43 0:00:32 4932k
61 169M 0 0 61 104M 0 2393k 0:01:12 0:00:44 0:00:28 5008k
65 169M 0 0 65 110M 0 2477k 0:01:10 0:00:45 0:00:25 5115k
68 169M 0 0 68 117M 0 2561k 0:01:07 0:00:46 0:00:21 5159k
72 169M 0 0 72 123M 0 2642k 0:01:05 0:00:47 0:00:18 6049k
76 169M 0 0 76 129M 0 2721k 0:01:03 0:00:48 0:00:15 6302k
80 169M 0 0 80 136M 0 2804k 0:01:01 0:00:49 0:00:12 6486k
84 169M 0 0 84 143M 0 2890k 0:01:00 0:00:50 0:00:10 6674k
88 169M 0 0 88 150M 0 2980k 0:00:58 0:00:51 0:00:07 6889k
93 169M 0 0 93 158M 0 3072k 0:00:56 0:00:52 0:00:04 7187k
98 169M 0 0 98 166M 0 3170k 0:00:54 0:00:53 0:00:01 7548k
100 169M 0 0 100 169M 0 3150k 0:00:55 0:00:55 --:--:-- 6362k
100 169M 0 0 100 169M 0 3094k 0:00:56 0:00:56 --:--:-- 5026k
100 169M 0 0 100 169M 0 3040k 0:00:57 0:00:57 --:--:-- 3617k
100 169M 0 0 100 169M 0 2987k 0:00:58 0:00:58 --:--:-- 2155k
100 169M 0 0 100 169M 0 2937k 0:00:59 0:00:59 --:--:-- 607k
100 169M 0 0 100 169M 0 2888k 0:01:00 0:01:00 --:--:-- 0
100 169M 0 0 100 169M 0 2841k 0:01:01 0:01:01 --:--:-- 0
100 169M 0 0 100 169M 0 2795k 0:01:02 0:01:02 --:--:-- 0
100 169M 0 0 100 169M 0 2751k 0:01:03 0:01:03 --:--:-- 0
100 169M 0 0 100 169M 0 2708k 0:01:04 0:01:04 --:--:-- 0
100 169M 0 0 100 169M 0 2666k 0:01:05 0:01:05 --:--:-- 0
100 169M 0 0 100 169M 0 2626k 0:01:06 0:01:06 --:--:-- 0
100 169M 0 0 100 169M 0 2587k 0:01:07 0:01:07 --:--:-- 0
100 169M 0 0 100 169M 0 2549k 0:01:08 0:01:08 --:--:-- 0
100 169M 0 0 100 169M 0 2512k 0:01:09 0:01:09 --:--:-- 0
100 169M 0 0 100 169M 0 2476k 0:01:10 0:01:10 --:--:-- 0
100 169M 0 43 100 169M 0 2470k 0:01:10 0:01:10 --:--:-- 10
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] readJSON
[Pipeline] echo
[msg:操作成功, code:200, data:]
[Pipeline] echo
status:200
[Pipeline] echo
{"msg":"操作成功","code":200,"data":""}
[Pipeline] }
[Pipeline] // dir
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/yiwu-suxi-submodule/YWSX_KINGLONG_IGV20/master/params_submodule/
[Pipeline] fileExists
[Pipeline] readFile
[Pipeline] writeFile
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] script
[Pipeline] {
[Pipeline] echo
always
[Pipeline] }
[Pipeline] // script
[Pipeline] script
[Pipeline] {
[Pipeline] echo
success
[Pipeline] publishHTML
[htmlpublisher] Archiving HTML reports...
[htmlpublisher] Archiving at BUILD level /root/workspace/params-submodule/yiwu-suxi-submodule to /var/lib/jenkins/jobs/yiwu-suxi-submodule/builds/431/htmlreports/update_20message
[Pipeline] wrap
[Pipeline] {
[Pipeline] script
[Pipeline] {
[Pipeline] echo
user: , telphone:
[Pipeline] }
[Pipeline] // script
[Pipeline] sh
+ curl -X POST 'https://oapi.dingtalk.com/robot/send?access_token=c4e318472bbd19d0449efb4060de213f730dc32b4bf44819381a8fa7adf61983' -H 'Content-Type: application/json' -d '{"msgtype": "markdown","markdown": {"title":"jenkins通知","text": "# 参数发布通知
### [苏溪全量参数]
---
- 状态:<font color=#01B468> 编译成功 </font>
- 执行人:yangyuxing
- 更新车辆:
[T01master][T02master][T03master][T04master][T05master][T06master][T07master][T08master][T09master][T10master][YWSX_KINGLONG_IGV11master][YWSX_KINGLONG_IGV12master][YWSX_KINGLONG_IGV13master][YWSX_KINGLONG_IGV14master][YWSX_KINGLONG_IGV15master][YWSX_KINGLONG_IGV16master][YWSX_KINGLONG_IGV17master][YWSX_KINGLONG_IGV18master][YWSX_KINGLONG_IGV19master][YWSX_KINGLONG_IGV20master]
- 分支名:main
- 具体模块分支:[点此链接](http://jenkins.vehicle.senior.auto:8080/jenkins/job/yiwu-suxi-submodule/431/update_20message/index.html)
---
> 请ota发布同学尽快发布验证,并在群里同步发布信息~@"},"at": {"atMobiles": [""],"isAtAll": "false"} }'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 954 100 27 100 927 264 9088 --:--:-- --:--:-- --:--:-- 9352
[Pipeline] echo
{"errcode":0,"errmsg":"ok"}
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timeout
[Pipeline] }
Lock released on resource [Label: built-in, Quantity: 1]
[Pipeline] // lock
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS