A problem that already exists somewhere else can be copied into your space rather than rebuilt. The console imports from three sources:
Polygon — a problem package prepared at polygon.codeforces.com.
Basecamp — Eolymp's public problem archive.
Another space — any space you have access to.
All three are started from the buttons above the problems list, and all three need permission to write problems.
The copy is complete: statement, tests, checker, interactor, templates and the rest come across, and the result is an ordinary problem of yours that you can edit, retest and extend.
It is also asynchronous. The problem is created immediately and appears in the list, but its content arrives some time later — seconds for a small problem, considerably longer for one with large test data. While the import runs, the problem's Overview tab shows Problem import is running with a link to its Activity tab, where the task's progress and logs are; the space-wide view is Background tasks.
An imported problem starts unpublished, like any other, so nothing appears in your catalog until you publish it.
An imported problem records where it came from. The Origin column of the problems list — hidden by default, switch it on from the column picker — shows it in short form: Polygon <path> for a Polygon package, Eolymp <space>/<id> for a problem copied from a space.
Origin is what makes Synchronize possible, and it is why Synchronize appears on some problems and not others.
Synchronize, in a problem's row menu or in its workspace header, pulls the problem from its origin again. It is offered only for problems that have an origin.
The pulled copy replaces the local one. Any edits you made to the problem in your space — a corrected statement, extra tests, a different checker — are overwritten, and cannot be recovered. Synchronize when you want the upstream version, not when you want to merge with it.
Imported problems often arrive with parts marked secret: tests, checkers, interactors, generators, templates. Secret content is never sent to the console, so it does not appear in the editors, and lists show a Secret badge in place of the runtime or the test input.
You can still replace any of it. Opening a secret item offers Override, which gives you an empty editor and stores whatever you save in its place — a new checker, your own tests. What you cannot do is read the original, and once you have overridden it in your copy, it is gone from your copy for good.