Console Output
Skipping 8,537 KB..
Full LogTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/master/params_module_orin_master_NBDX_ZQ_AT727_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/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
100 86481 0 0 100 86481 0 69406 0:00:01 0:00:01 --:--:-- 69406
100 86481 0 0 100 86481 0 38470 0:00:02 0:00:02 --:--:-- 38470
100 86481 0 0 100 86481 0 26625 0:00:03 0:00:03 --:--:-- 26625
100 86481 0 0 100 86481 0 20348 0:00:04 0:00:04 --:--:-- 20353
100 86481 0 0 100 86481 0 16469 0:00:05 0:00:05 --:--:-- 16469
100 86481 0 0 100 86481 0 13834 0:00:06 0:00:06 --:--:-- 0
100 86481 0 0 100 86481 0 11925 0:00:07 0:00:07 --:--:-- 0
100 86481 0 0 100 86481 0 10478 0:00:08 0:00:08 --:--:-- 0
100 86481 0 0 100 86481 0 9345 0:00:09 0:00:09 --:--:-- 0
100 86481 0 0 100 86481 0 8433 0:00:10 0:00:10 --:--:-- 0
100 86481 0 0 100 86481 0 7683 0:00:11 0:00:11 --:--:-- 0
100 86481 0 0 100 86481 0 7055 0:00:12 0:00:12 --:--:-- 0
100 86481 0 0 100 86481 0 6522 0:00:13 0:00:13 --:--:-- 0
100 86481 0 0 100 86481 0 6064 0:00:14 0:00:14 --:--:-- 0
100 86481 0 0 100 86481 0 5666 0:00:15 0:00:15 --:--:-- 0
100 86524 0 43 100 86481 2 5568 0:00:15 0:00:15 --:--:-- 10
100 86524 0 43 100 86481 2 5568 0:00:15 0:00:15 --:--:-- 13
[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/daxie-submodule/NBDX_ZQ_AT727/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/master/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/master/params_module_orin_master_NBDX_ZQ_AT727_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/master/params_module_orin_master_NBDX_ZQ_AT727_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT727压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params/slave/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params/slave/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params/
[Pipeline] sh
+ mkdir -p params_module_orin_slave_NBDX_ZQ_AT727_2026-09-20_15-09-14/
+ mv params/ params_module_orin_slave_NBDX_ZQ_AT727_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_slave_NBDX_ZQ_AT727_2026-09-20_15-09-14.zip params_module_orin_slave_NBDX_ZQ_AT727_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params_module_orin_slave_NBDX_ZQ_AT727_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params_module_orin_slave_NBDX_ZQ_AT727_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/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
100 71764 0 0 100 71764 0 56865 0:00:01 0:00:01 --:--:-- 56865
100 71764 0 0 100 71764 0 31711 0:00:02 0:00:02 --:--:-- 31711
100 71764 0 0 100 71764 0 21986 0:00:03 0:00:03 --:--:-- 21986
100 71764 0 0 100 71764 0 16822 0:00:04 0:00:04 --:--:-- 16822
100 71764 0 0 100 71764 0 13625 0:00:05 0:00:05 --:--:-- 13625
100 71764 0 0 100 71764 0 11449 0:00:06 0:00:06 --:--:-- 0
100 71764 0 0 100 71764 0 9872 0:00:07 0:00:07 --:--:-- 0
100 71764 0 0 100 71764 0 8677 0:00:08 0:00:08 --:--:-- 0
100 71764 0 0 100 71764 0 7740 0:00:09 0:00:09 --:--:-- 0
100 71764 0 0 100 71764 0 6986 0:00:10 0:00:10 --:--:-- 0
100 71764 0 0 100 71764 0 6366 0:00:11 0:00:11 --:--:-- 0
100 71764 0 0 100 71764 0 5846 0:00:12 0:00:12 --:--:-- 0
100 71764 0 0 100 71764 0 5405 0:00:13 0:00:13 --:--:-- 0
100 71764 0 0 100 71764 0 5026 0:00:14 0:00:14 --:--:-- 0
100 71764 0 0 100 71764 0 4697 0:00:15 0:00:15 --:--:-- 0
100 71807 0 43 100 71764 2 4626 0:00:15 0:00:15 --:--:-- 10
100 71807 0 43 100 71764 2 4626 0:00:15 0:00:15 --:--:-- 13
[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/daxie-submodule/NBDX_ZQ_AT727/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params_module_orin_slave_NBDX_ZQ_AT727_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT727/slave/params_module_orin_slave_NBDX_ZQ_AT727_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT728压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params/master/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params/master/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params/
[Pipeline] sh
+ mkdir -p params_module_orin_master_NBDX_ZQ_AT728_2026-09-20_15-09-14/
+ mv params/ params_module_orin_master_NBDX_ZQ_AT728_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_master_NBDX_ZQ_AT728_2026-09-20_15-09-14.zip params_module_orin_master_NBDX_ZQ_AT728_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params_module_orin_master_NBDX_ZQ_AT728_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params_module_orin_master_NBDX_ZQ_AT728_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/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
100 86481 0 0 100 86481 0 69184 0:00:01 0:00:01 --:--:-- 69184
100 86481 0 0 100 86481 0 38401 0:00:02 0:00:02 --:--:-- 38418
100 86481 0 0 100 86481 0 26584 0:00:03 0:00:03 --:--:-- 26584
100 86481 0 0 100 86481 0 20329 0:00:04 0:00:04 --:--:-- 20329
100 86481 0 0 100 86481 0 16456 0:00:05 0:00:05 --:--:-- 16456
100 86481 0 0 100 86481 0 13823 0:00:06 0:00:06 --:--:-- 0
100 86481 0 0 100 86481 0 11916 0:00:07 0:00:07 --:--:-- 0
100 86481 0 0 100 86481 0 10472 0:00:08 0:00:08 --:--:-- 0
100 86481 0 0 100 86481 0 9340 0:00:09 0:00:09 --:--:-- 0
100 86481 0 0 100 86481 0 8428 0:00:10 0:00:10 --:--:-- 0
100 86481 0 0 100 86481 0 7679 0:00:11 0:00:11 --:--:-- 0
100 86481 0 0 100 86481 0 7052 0:00:12 0:00:12 --:--:-- 0
100 86481 0 0 100 86481 0 6520 0:00:13 0:00:13 --:--:-- 0
100 86481 0 0 100 86481 0 6062 0:00:14 0:00:14 --:--:-- 0
100 86481 0 0 100 86481 0 5665 0:00:15 0:00:15 --:--:-- 0
100 86524 0 43 100 86481 2 5544 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT728/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params_module_orin_master_NBDX_ZQ_AT728_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/master/params_module_orin_master_NBDX_ZQ_AT728_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT728压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params/slave/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params/slave/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params/
[Pipeline] sh
+ mkdir -p params_module_orin_slave_NBDX_ZQ_AT728_2026-09-20_15-09-14/
+ mv params/ params_module_orin_slave_NBDX_ZQ_AT728_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_slave_NBDX_ZQ_AT728_2026-09-20_15-09-14.zip params_module_orin_slave_NBDX_ZQ_AT728_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params_module_orin_slave_NBDX_ZQ_AT728_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params_module_orin_slave_NBDX_ZQ_AT728_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/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
100 71764 0 0 100 71764 0 58108 0:00:01 0:00:01 --:--:-- 58108
100 71764 0 0 100 71764 0 32109 0:00:02 0:00:02 --:--:-- 32109
100 71764 0 0 100 71764 0 22176 0:00:03 0:00:03 --:--:-- 22176
100 71764 0 0 100 71764 0 16937 0:00:04 0:00:04 --:--:-- 16937
100 71764 0 0 100 71764 0 13700 0:00:05 0:00:05 --:--:-- 13700
100 71764 0 0 100 71764 0 11500 0:00:06 0:00:06 --:--:-- 0
100 71764 0 0 100 71764 0 9910 0:00:07 0:00:07 --:--:-- 0
100 71764 0 0 100 71764 0 8707 0:00:08 0:00:08 --:--:-- 0
100 71764 0 0 100 71764 0 7764 0:00:09 0:00:09 --:--:-- 0
100 71764 0 0 100 71764 0 7005 0:00:10 0:00:10 --:--:-- 0
100 71764 0 0 100 71764 0 6381 0:00:11 0:00:11 --:--:-- 0
100 71764 0 0 100 71764 0 5860 0:00:12 0:00:12 --:--:-- 0
100 71764 0 0 100 71764 0 5417 0:00:13 0:00:13 --:--:-- 0
100 71764 0 0 100 71764 0 5036 0:00:14 0:00:14 --:--:-- 0
100 71764 0 0 100 71764 0 4706 0:00:15 0:00:15 --:--:-- 0
100 71807 0 43 100 71764 2 4606 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT728/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params_module_orin_slave_NBDX_ZQ_AT728_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT728/slave/params_module_orin_slave_NBDX_ZQ_AT728_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT729压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params/master/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params/master/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params/
[Pipeline] sh
+ mkdir -p params_module_orin_master_NBDX_ZQ_AT729_2026-09-20_15-09-14/
+ mv params/ params_module_orin_master_NBDX_ZQ_AT729_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_master_NBDX_ZQ_AT729_2026-09-20_15-09-14.zip params_module_orin_master_NBDX_ZQ_AT729_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params_module_orin_master_NBDX_ZQ_AT729_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params_module_orin_master_NBDX_ZQ_AT729_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/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
100 86481 0 0 100 86481 0 69799 0:00:01 0:00:01 --:--:-- 69799
100 86481 0 0 100 86481 0 38607 0:00:02 0:00:02 --:--:-- 38607
100 86481 0 0 100 86481 0 26683 0:00:03 0:00:03 --:--:-- 26683
100 86481 0 0 100 86481 0 20386 0:00:04 0:00:04 --:--:-- 20386
100 86481 0 0 100 86481 0 16494 0:00:05 0:00:05 --:--:-- 16494
100 86481 0 0 100 86481 0 13850 0:00:06 0:00:06 --:--:-- 0
100 86481 0 0 100 86481 0 11936 0:00:07 0:00:07 --:--:-- 0
100 86481 0 0 100 86481 0 10487 0:00:08 0:00:08 --:--:-- 0
100 86481 0 0 100 86481 0 9352 0:00:09 0:00:09 --:--:-- 0
100 86481 0 0 100 86481 0 8438 0:00:10 0:00:10 --:--:-- 0
100 86481 0 0 100 86481 0 7687 0:00:11 0:00:11 --:--:-- 0
100 86481 0 0 100 86481 0 7059 0:00:12 0:00:12 --:--:-- 0
100 86481 0 0 100 86481 0 6525 0:00:13 0:00:13 --:--:-- 0
100 86481 0 0 100 86481 0 6067 0:00:14 0:00:14 --:--:-- 0
100 86481 0 0 100 86481 0 5669 0:00:15 0:00:15 --:--:-- 0
100 86524 0 43 100 86481 2 5560 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT729/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params_module_orin_master_NBDX_ZQ_AT729_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/master/params_module_orin_master_NBDX_ZQ_AT729_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT729压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params/slave/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params/slave/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params/
[Pipeline] sh
+ mkdir -p params_module_orin_slave_NBDX_ZQ_AT729_2026-09-20_15-09-14/
+ mv params/ params_module_orin_slave_NBDX_ZQ_AT729_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_slave_NBDX_ZQ_AT729_2026-09-20_15-09-14.zip params_module_orin_slave_NBDX_ZQ_AT729_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params_module_orin_slave_NBDX_ZQ_AT729_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params_module_orin_slave_NBDX_ZQ_AT729_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/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 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 71763 0 0 100 71763 0 57045 0:00:01 0:00:01 --:--:-- 57000
100 71763 0 0 100 71763 0 31767 0:00:02 0:00:02 --:--:-- 31753
100 71763 0 0 100 71763 0 22013 0:00:03 0:00:03 --:--:-- 22006
100 71763 0 0 100 71763 0 16841 0:00:04 0:00:04 --:--:-- 16837
100 71763 0 0 100 71763 0 13635 0:00:05 0:00:05 --:--:-- 13805
100 71763 0 0 100 71763 0 11456 0:00:06 0:00:06 --:--:-- 0
100 71763 0 0 100 71763 0 9879 0:00:07 0:00:07 --:--:-- 0
100 71763 0 0 100 71763 0 8682 0:00:08 0:00:08 --:--:-- 0
100 71763 0 0 100 71763 0 7743 0:00:09 0:00:09 --:--:-- 0
100 71763 0 0 100 71763 0 6988 0:00:10 0:00:10 --:--:-- 0
100 71763 0 0 100 71763 0 6368 0:00:11 0:00:11 --:--:-- 0
100 71763 0 0 100 71763 0 5848 0:00:12 0:00:12 --:--:-- 0
100 71763 0 0 100 71763 0 5407 0:00:13 0:00:13 --:--:-- 0
100 71763 0 0 100 71763 0 5028 0:00:14 0:00:14 --:--:-- 0
100 71763 0 0 100 71763 0 4698 0:00:15 0:00:15 --:--:-- 0
100 71806 0 43 100 71763 2 4505 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT729/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params_module_orin_slave_NBDX_ZQ_AT729_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT729/slave/params_module_orin_slave_NBDX_ZQ_AT729_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT730压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params/master/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params/master/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params/
[Pipeline] sh
+ mkdir -p params_module_orin_master_NBDX_ZQ_AT730_2026-09-20_15-09-14/
+ mv params/ params_module_orin_master_NBDX_ZQ_AT730_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_master_NBDX_ZQ_AT730_2026-09-20_15-09-14.zip params_module_orin_master_NBDX_ZQ_AT730_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params_module_orin_master_NBDX_ZQ_AT730_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params_module_orin_master_NBDX_ZQ_AT730_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/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
100 86481 0 0 100 86481 0 69462 0:00:01 0:00:01 --:--:-- 69462
100 86481 0 0 100 86481 0 38504 0:00:02 0:00:02 --:--:-- 38504
100 86481 0 0 100 86481 0 26642 0:00:03 0:00:03 --:--:-- 26642
100 86481 0 0 100 86481 0 20358 0:00:04 0:00:04 --:--:-- 20358
100 86481 0 0 100 86481 0 16475 0:00:05 0:00:05 --:--:-- 16475
100 86481 0 0 100 86481 0 13836 0:00:06 0:00:06 --:--:-- 0
100 86481 0 0 100 86481 0 11926 0:00:07 0:00:07 --:--:-- 0
100 86481 0 0 100 86481 0 10480 0:00:08 0:00:08 --:--:-- 0
100 86481 0 0 100 86481 0 9346 0:00:09 0:00:09 --:--:-- 0
100 86481 0 0 100 86481 0 8433 0:00:10 0:00:10 --:--:-- 0
100 86481 0 0 100 86481 0 7683 0:00:11 0:00:11 --:--:-- 0
100 86481 0 0 100 86481 0 7056 0:00:12 0:00:12 --:--:-- 0
100 86481 0 0 100 86481 0 6522 0:00:13 0:00:13 --:--:-- 0
100 86481 0 0 100 86481 0 6065 0:00:14 0:00:14 --:--:-- 0
100 86481 0 0 100 86481 0 5667 0:00:15 0:00:15 --:--:-- 0
100 86524 0 43 100 86481 2 5546 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT730/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params_module_orin_master_NBDX_ZQ_AT730_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/master/params_module_orin_master_NBDX_ZQ_AT730_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT730压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params/slave/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params/slave/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params/
[Pipeline] sh
+ mkdir -p params_module_orin_slave_NBDX_ZQ_AT730_2026-09-20_15-09-14/
+ mv params/ params_module_orin_slave_NBDX_ZQ_AT730_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_slave_NBDX_ZQ_AT730_2026-09-20_15-09-14.zip params_module_orin_slave_NBDX_ZQ_AT730_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params_module_orin_slave_NBDX_ZQ_AT730_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params_module_orin_slave_NBDX_ZQ_AT730_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/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
100 71764 0 0 100 71764 0 58344 0:00:01 0:00:01 --:--:-- 58344
100 71764 0 0 100 71764 0 32166 0:00:02 0:00:02 --:--:-- 32166
100 71764 0 0 100 71764 0 22204 0:00:03 0:00:03 --:--:-- 22204
100 71764 0 0 100 71764 0 16949 0:00:04 0:00:04 --:--:-- 16953
100 71764 0 0 100 71764 0 13708 0:00:05 0:00:05 --:--:-- 13708
100 71764 0 0 100 71764 0 11508 0:00:06 0:00:06 --:--:-- 0
100 71764 0 0 100 71764 0 9916 0:00:07 0:00:07 --:--:-- 0
100 71764 0 0 100 71764 0 8711 0:00:08 0:00:08 --:--:-- 0
100 71764 0 0 100 71764 0 7767 0:00:09 0:00:09 --:--:-- 0
100 71764 0 0 100 71764 0 7008 0:00:10 0:00:10 --:--:-- 0
100 71764 0 0 100 71764 0 6384 0:00:11 0:00:11 --:--:-- 0
100 71764 0 0 100 71764 0 5862 0:00:12 0:00:12 --:--:-- 0
100 71764 0 0 100 71764 0 5419 0:00:13 0:00:13 --:--:-- 0
100 71764 0 0 100 71764 0 5038 0:00:14 0:00:14 --:--:-- 0
100 71764 0 0 100 71764 0 4707 0:00:15 0:00:15 --:--:-- 0
100 71807 0 43 100 71764 2 4614 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT730/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params_module_orin_slave_NBDX_ZQ_AT730_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT730/slave/params_module_orin_slave_NBDX_ZQ_AT730_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT731压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params/master/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params/master/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params/
[Pipeline] sh
+ mkdir -p params_module_orin_master_NBDX_ZQ_AT731_2026-09-20_15-09-14/
+ mv params/ params_module_orin_master_NBDX_ZQ_AT731_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_master_NBDX_ZQ_AT731_2026-09-20_15-09-14.zip params_module_orin_master_NBDX_ZQ_AT731_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params_module_orin_master_NBDX_ZQ_AT731_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params_module_orin_master_NBDX_ZQ_AT731_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/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
100 86481 0 0 100 86481 0 69518 0:00:01 0:00:01 --:--:-- 69518
100 86481 0 0 100 86481 0 38521 0:00:02 0:00:02 --:--:-- 38521
100 86481 0 0 100 86481 0 26642 0:00:03 0:00:03 --:--:-- 26642
100 86481 0 0 100 86481 0 20362 0:00:04 0:00:04 --:--:-- 20362
100 86481 0 0 100 86481 0 16481 0:00:05 0:00:05 --:--:-- 16481
100 86481 0 0 100 86481 0 13839 0:00:06 0:00:06 --:--:-- 0
100 86481 0 0 100 86481 0 11928 0:00:07 0:00:07 --:--:-- 0
100 86481 0 0 100 86481 0 10481 0:00:08 0:00:08 --:--:-- 0
100 86481 0 0 100 86481 0 9348 0:00:09 0:00:09 --:--:-- 0
100 86481 0 0 100 86481 0 8436 0:00:10 0:00:10 --:--:-- 0
100 86481 0 0 100 86481 0 7685 0:00:11 0:00:11 --:--:-- 0
100 86481 0 0 100 86481 0 7057 0:00:12 0:00:12 --:--:-- 0
100 86481 0 0 100 86481 0 6525 0:00:13 0:00:13 --:--:-- 0
100 86481 0 0 100 86481 0 6066 0:00:14 0:00:14 --:--:-- 0
100 86481 0 0 100 86481 0 5668 0:00:15 0:00:15 --:--:-- 0
100 86524 0 43 100 86481 2 5403 0:00:16 0:00:16 --:--:-- 9
100 86524 0 43 100 86481 2 5403 0:00:16 0:00:16 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT731/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params_module_orin_master_NBDX_ZQ_AT731_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/master/params_module_orin_master_NBDX_ZQ_AT731_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT731压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params/slave/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params/slave/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params/
[Pipeline] sh
+ mkdir -p params_module_orin_slave_NBDX_ZQ_AT731_2026-09-20_15-09-14/
+ mv params/ params_module_orin_slave_NBDX_ZQ_AT731_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_slave_NBDX_ZQ_AT731_2026-09-20_15-09-14.zip params_module_orin_slave_NBDX_ZQ_AT731_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params_module_orin_slave_NBDX_ZQ_AT731_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params_module_orin_slave_NBDX_ZQ_AT731_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/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
100 71764 0 0 100 71764 0 57457 0:00:01 0:00:01 --:--:-- 57457
100 71764 0 0 100 71764 0 31895 0:00:02 0:00:02 --:--:-- 31895
100 71764 0 0 100 71764 0 22074 0:00:03 0:00:03 --:--:-- 22074
100 71764 0 0 100 71764 0 16877 0:00:04 0:00:04 --:--:-- 16877
100 71764 0 0 100 71764 0 13661 0:00:05 0:00:05 --:--:-- 13661
100 71764 0 0 100 71764 0 11474 0:00:06 0:00:06 --:--:-- 0
100 71764 0 0 100 71764 0 9891 0:00:07 0:00:07 --:--:-- 0
100 71764 0 0 100 71764 0 8693 0:00:08 0:00:08 --:--:-- 0
100 71764 0 0 100 71764 0 7753 0:00:09 0:00:09 --:--:-- 0
100 71764 0 0 100 71764 0 6996 0:00:10 0:00:10 --:--:-- 0
100 71764 0 0 100 71764 0 6373 0:00:11 0:00:11 --:--:-- 0
100 71764 0 0 100 71764 0 5853 0:00:12 0:00:12 --:--:-- 0
100 71764 0 0 100 71764 0 5412 0:00:13 0:00:13 --:--:-- 0
100 71764 0 0 100 71764 0 5032 0:00:14 0:00:14 --:--:-- 0
100 71764 0 0 100 71764 0 4702 0:00:15 0:00:15 --:--:-- 0
100 71807 0 43 100 71764 2 4624 0:00:15 0:00:15 --:--:-- 10
100 71807 0 43 100 71764 2 4624 0:00:15 0:00:15 --:--:-- 13
[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/daxie-submodule/NBDX_ZQ_AT731/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params_module_orin_slave_NBDX_ZQ_AT731_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT731/slave/params_module_orin_slave_NBDX_ZQ_AT731_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT732压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params/master/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params/master/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params/
[Pipeline] sh
+ mkdir -p params_module_orin_master_NBDX_ZQ_AT732_2026-09-20_15-09-14/
+ mv params/ params_module_orin_master_NBDX_ZQ_AT732_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_master_NBDX_ZQ_AT732_2026-09-20_15-09-14.zip params_module_orin_master_NBDX_ZQ_AT732_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params_module_orin_master_NBDX_ZQ_AT732_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params_module_orin_master_NBDX_ZQ_AT732_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/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
100 86481 0 0 100 86481 0 69129 0:00:01 0:00:01 --:--:-- 69129
100 86481 0 0 100 86481 0 38401 0:00:02 0:00:02 --:--:-- 38401
100 86481 0 0 100 86481 0 26584 0:00:03 0:00:03 --:--:-- 26584
100 86481 0 0 100 86481 0 20329 0:00:04 0:00:04 --:--:-- 20329
100 86481 0 0 100 86481 0 16456 0:00:05 0:00:05 --:--:-- 16456
100 86481 0 0 100 86481 0 13823 0:00:06 0:00:06 --:--:-- 0
100 86481 0 0 100 86481 0 11915 0:00:07 0:00:07 --:--:-- 0
100 86481 0 0 100 86481 0 10472 0:00:08 0:00:08 --:--:-- 0
100 86481 0 0 100 86481 0 9340 0:00:09 0:00:09 --:--:-- 0
100 86481 0 0 100 86481 0 8428 0:00:10 0:00:10 --:--:-- 0
100 86481 0 0 100 86481 0 7680 0:00:11 0:00:11 --:--:-- 0
100 86481 0 0 100 86481 0 7052 0:00:12 0:00:12 --:--:-- 0
100 86481 0 0 100 86481 0 6520 0:00:13 0:00:13 --:--:-- 0
100 86481 0 0 100 86481 0 6063 0:00:14 0:00:14 --:--:-- 0
100 86481 0 0 100 86481 0 5665 0:00:15 0:00:15 --:--:-- 0
100 86524 0 43 100 86481 2 5546 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT732/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params_module_orin_master_NBDX_ZQ_AT732_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/master/params_module_orin_master_NBDX_ZQ_AT732_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_ZQ_AT732压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params/slave/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params/slave/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params/
[Pipeline] sh
+ mkdir -p params_module_orin_slave_NBDX_ZQ_AT732_2026-09-20_15-09-14/
+ mv params/ params_module_orin_slave_NBDX_ZQ_AT732_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_slave_NBDX_ZQ_AT732_2026-09-20_15-09-14.zip params_module_orin_slave_NBDX_ZQ_AT732_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params_module_orin_slave_NBDX_ZQ_AT732_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params_module_orin_slave_NBDX_ZQ_AT732_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/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
100 71764 0 0 100 71764 0 57457 0:00:01 0:00:01 --:--:-- 57457
100 71764 0 0 100 71764 0 31895 0:00:02 0:00:02 --:--:-- 31895
100 71764 0 0 100 71764 0 22074 0:00:03 0:00:03 --:--:-- 22074
100 71764 0 0 100 71764 0 16877 0:00:04 0:00:04 --:--:-- 16877
100 71764 0 0 100 71764 0 13661 0:00:05 0:00:05 --:--:-- 13661
100 71764 0 0 100 71764 0 11474 0:00:06 0:00:06 --:--:-- 0
100 71764 0 0 100 71764 0 9891 0:00:07 0:00:07 --:--:-- 0
100 71764 0 0 100 71764 0 8692 0:00:08 0:00:08 --:--:-- 0
100 71764 0 0 100 71764 0 7752 0:00:09 0:00:09 --:--:-- 0
100 71764 0 0 100 71764 0 6995 0:00:10 0:00:10 --:--:-- 0
100 71764 0 0 100 71764 0 6373 0:00:11 0:00:11 --:--:-- 0
100 71764 0 0 100 71764 0 5853 0:00:12 0:00:12 --:--:-- 0
100 71764 0 0 100 71764 0 5411 0:00:13 0:00:13 --:--:-- 0
100 71764 0 0 100 71764 0 5031 0:00:14 0:00:14 --:--:-- 0
100 71764 0 0 100 71764 0 4701 0:00:15 0:00:15 --:--:-- 0
100 71807 0 43 100 71764 2 4616 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_ZQ_AT732/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params_module_orin_slave_NBDX_ZQ_AT732_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_ZQ_AT732/slave/params_module_orin_slave_NBDX_ZQ_AT732_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_GEELY_AT750压缩并上传,master -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含master目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params/master/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params/master/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params/
[Pipeline] sh
+ mkdir -p params_module_orin_master_NBDX_GEELY_AT750_2026-09-20_15-09-14/
+ mv params/ params_module_orin_master_NBDX_GEELY_AT750_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_master_NBDX_GEELY_AT750_2026-09-20_15-09-14.zip params_module_orin_master_NBDX_GEELY_AT750_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params_module_orin_master_NBDX_GEELY_AT750_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params_module_orin_master_NBDX_GEELY_AT750_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/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
100 87156 0 0 100 87156 0 70117 0:00:01 0:00:01 --:--:-- 70117
100 87156 0 0 100 87156 0 38839 0:00:02 0:00:02 --:--:-- 38839
100 87156 0 0 100 87156 0 26858 0:00:03 0:00:03 --:--:-- 26858
100 87156 0 0 100 87156 0 20526 0:00:04 0:00:04 --:--:-- 20526
100 87156 0 0 100 87156 0 16610 0:00:05 0:00:05 --:--:-- 16610
100 87156 0 0 100 87156 0 13947 0:00:06 0:00:06 --:--:-- 0
100 87156 0 0 100 87156 0 12021 0:00:07 0:00:07 --:--:-- 0
100 87156 0 0 100 87156 0 10563 0:00:08 0:00:08 --:--:-- 0
100 87156 0 0 100 87156 0 9420 0:00:09 0:00:09 --:--:-- 0
100 87156 0 0 100 87156 0 8500 0:00:10 0:00:10 --:--:-- 0
100 87156 0 0 100 87156 0 7744 0:00:11 0:00:11 --:--:-- 0
100 87156 0 0 100 87156 0 7111 0:00:12 0:00:12 --:--:-- 0
100 87156 0 0 100 87156 0 6574 0:00:13 0:00:13 --:--:-- 0
100 87156 0 0 100 87156 0 6113 0:00:14 0:00:14 --:--:-- 0
100 87156 0 0 100 87156 0 5712 0:00:15 0:00:15 --:--:-- 0
100 87199 0 43 100 87156 2 5559 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_GEELY_AT750/master@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params_module_orin_master_NBDX_GEELY_AT750_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/master/params_module_orin_master_NBDX_GEELY_AT750_2026-09-20_15-09-14.zip
[Pipeline] echo
------------------------------------- NBDX_GEELY_AT750压缩并上传,slave -------------------------------------------
[Pipeline] dir
Running in /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave
[Pipeline] {
[Pipeline] sh
+ cd /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params/
+ ls -d master/ slave/ system-ros/
[Pipeline] echo
master/
slave/
system-ros/
[Pipeline] echo
最终目录包含slave目录,进行合并操作
[Pipeline] sh
+ cp -r /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params/slave/recorder.toml /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params/slave/system-ros /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params/
[Pipeline] sh
+ mkdir -p params_module_orin_slave_NBDX_GEELY_AT750_2026-09-20_15-09-14/
+ mv params/ params_module_orin_slave_NBDX_GEELY_AT750_2026-09-20_15-09-14/
[Pipeline] sh
+ zip -rq params_module_orin_slave_NBDX_GEELY_AT750_2026-09-20_15-09-14.zip params_module_orin_slave_NBDX_GEELY_AT750_2026-09-20_15-09-14 ./version.json
[Pipeline] echo
/root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params_module_orin_slave_NBDX_GEELY_AT750_2026-09-20_15-09-14.zip,/root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/version.json
[Pipeline] sh
+ curl -X POST http://61.153.150.243:2200/ota-api/otaUploadFileAndVersion --form 'Content-Type="multipart/form-data"' --form 'file=@"/root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params_module_orin_slave_NBDX_GEELY_AT750_2026-09-20_15-09-14.zip"' --form 'version=@"/root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/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
100 72368 0 0 100 72368 0 58314 0:00:01 0:00:01 --:--:-- 58314
100 72368 0 0 100 72368 0 32278 0:00:02 0:00:02 --:--:-- 32278
100 72368 0 0 100 72368 0 22315 0:00:03 0:00:03 --:--:-- 22315
100 72368 0 0 100 72368 0 17051 0:00:04 0:00:04 --:--:-- 17051
100 72368 0 0 100 72368 0 13800 0:00:05 0:00:05 --:--:-- 13800
100 72368 0 0 100 72368 0 11586 0:00:06 0:00:06 --:--:-- 0
100 72368 0 0 100 72368 0 9985 0:00:07 0:00:07 --:--:-- 0
100 72368 0 0 100 72368 0 8774 0:00:08 0:00:08 --:--:-- 0
100 72368 0 0 100 72368 0 7824 0:00:09 0:00:09 --:--:-- 0
100 72368 0 0 100 72368 0 7060 0:00:10 0:00:10 --:--:-- 0
100 72368 0 0 100 72368 0 6432 0:00:11 0:00:11 --:--:-- 0
100 72368 0 0 100 72368 0 5906 0:00:12 0:00:12 --:--:-- 0
100 72368 0 0 100 72368 0 5460 0:00:13 0:00:13 --:--:-- 0
100 72368 0 0 100 72368 0 5077 0:00:14 0:00:14 --:--:-- 0
100 72368 0 0 100 72368 0 4743 0:00:15 0:00:15 --:--:-- 0
100 72411 0 43 100 72368 2 4658 0:00:15 0:00:15 --:--:-- 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/daxie-submodule/NBDX_GEELY_AT750/slave@tmp
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params_submodule/
[Pipeline] sh
+ rm -rf /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params_module_orin_slave_NBDX_GEELY_AT750_2026-09-20_15-09-14 /root/workspace/params-submodule/daxie-submodule/NBDX_GEELY_AT750/slave/params_module_orin_slave_NBDX_GEELY_AT750_2026-09-20_15-09-14.zip
[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/daxie-submodule to /var/lib/jenkins/jobs/daxie-submodule/builds/736/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>
- 执行人:zhaojianfeng2
- 更新车辆:
[T801master][T801slave][T802master][T802slave][T803master][T803slave][T804master][T804slave][T805master][T805slave][T806master][T806slave][T807master][T807slave][T808master][T808slave][T809master][T809slave][T810master][T810slave][T811master][T811slave][T812master][T812slave][T813master][T813slave][T814master][T814slave][T815master][T815slave][T816master][T816slave][T817master][T817slave][T818master][T818slave][T819master][T819slave][T820master][T820slave][T821master][T821slave][T822master][T822slave][T823master][T823slave][T824master][T824slave][T825master][T825slave][T701master][T701slave][T702master][T702slave][T703master][T703slave][T704master][T704slave][T705master][T705slave][NBDX_ZQ_AT706master][NBDX_ZQ_AT706slave][NBDX_ZQ_AT707master][NBDX_ZQ_AT707slave][NBDX_ZQ_AT708master][NBDX_ZQ_AT708slave][NBDX_ZQ_AT709master][NBDX_ZQ_AT709slave][NBDX_ZQ_AT710master][NBDX_ZQ_AT710slave][NBDX_ZQ_AT711master][NBDX_ZQ_AT711slave][NBDX_ZQ_AT712master][NBDX_ZQ_AT712slave][NBDX_ZQ_AT713master][NBDX_ZQ_AT713slave][NBDX_ZQ_AT714master][NBDX_ZQ_AT714slave][NBDX_ZQ_AT715master][NBDX_ZQ_AT715slave][NBDX_ZQ_AT716master][NBDX_ZQ_AT716slave][NBDX_ZQ_AT717master][NBDX_ZQ_AT717slave][NBDX_ZQ_AT718master][NBDX_ZQ_AT718slave][NBDX_ZQ_AT719master][NBDX_ZQ_AT719slave][NBDX_ZQ_AT720master][NBDX_ZQ_AT720slave][NBDX_ZQ_AT721master][NBDX_ZQ_AT721slave][NBDX_ZQ_AT722master][NBDX_ZQ_AT722slave][NBDX_ZQ_AT723master][NBDX_ZQ_AT723slave][NBDX_ZQ_AT724master][NBDX_ZQ_AT724slave][NBDX_ZQ_AT725master][NBDX_ZQ_AT725slave][NBDX_ZQ_AT726master][NBDX_ZQ_AT726slave][NBDX_ZQ_AT727master][NBDX_ZQ_AT727slave][NBDX_ZQ_AT728master][NBDX_ZQ_AT728slave][NBDX_ZQ_AT729master][NBDX_ZQ_AT729slave][NBDX_ZQ_AT730master][NBDX_ZQ_AT730slave][NBDX_ZQ_AT731master][NBDX_ZQ_AT731slave][NBDX_ZQ_AT732master][NBDX_ZQ_AT732slave][NBDX_GEELY_AT750master][NBDX_GEELY_AT750slave]
- 分支名:main
- 具体模块分支:[点此链接](http://jenkins.vehicle.senior.auto:8080/jenkins/job/daxie-submodule/736/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 2437 100 27 100 2410 360 32133 --:--:-- --:--:-- --:--:-- 32493
[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