EXPORT=PATTERN.IN:PATTERN
EXPORT=INPUT.IN:IN
EXPORT=ASSEMBLER.OUT:OUT
EXPORT=EXTRACT.OUT:EXTRACTED
EXPORT=EXTOKEN.OUT:EXTOKEN
EXPORT=ASSEMBLER.REPLACEMENT:RETURN
EXPORT=RETURNTOKEN.IN:RETOKEN

# Save the patterns
Pattern(core/Split) OUT -> PATTERN Assembler(lift/Assembler)
Pattern() OUT -> PATTERN Extract(lift/Extractor)

# Extraction
Input(flow/CleanSplit) OUT -> IN RandomToken(swiss/RandomUuid) OUT -> IN Token(core/Split) OUT -> IN ExToken(core/Repeat)
Input() OUT -> IN Extract()

# Caching
Token() OUT -> KEY CacheInput(cache/Cache)
Input() OUT -> IN CacheInput()

# Assembly
ReturnToken(core/Split) OUT -> KEY CacheInput()
ReturnToken() OUT -> READY CacheInput() OUT -> IN Assembler()
