(
(let $1 (DataSource '"yt" '"/Root/plato"))
(let $2 '('NativeYtTypeFlags '0))
(let $3 '('StrictSchema '1))
(let $4 '('UniqueKeys '0))
(let $5 (Bool 'true))
(let $6 '('SortDirections '($5 $5)))
(let $7 '('"k2" '"v2"))
(let $8 (DataType 'String))
(let $9 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0)))
(let $10 '('ChunkCount '1))
(let $11 '('ModifyTime '0))
(let $12 '('Revision '0))
(let $13 '('"k2" $8))
(let $14 '('"u2" $8))
(let $15 '('"v2" $8))
(let $16 (StructType $13 $14 $15))
(let $17 '('"_wide_channels" $16))
(let $18 '('('"_logical_id" '3205) '('"_id" '"bc63921b-8bb075c8-5d2028ae-46ff2df7") $17))
(let $19 (DqPhyStage '() (lambda '() (block '(
  (let $64 '@@["StructType";[["k2";["DataType";"String"]];["v2";["DataType";"String"]];["u2";["DataType";"String"]]]]@@)
  (let $65 (YqlRowSpec $2 $3 $4 '('Type $64) $6 '('SortMembers $7) '('SortedBy $7) '('SortedByTypes '($8 $8))))
  (let $66 (YtStat '('Id '"Input2") '('RecordsCount '"16") '('DataSize '"518") $10 $11 $12))
  (let $67 (YtTable '"Input2" $65 $9 $66 '() (Void) (Void) '"/Root/plato"))
  (let $68 '('"k2" '"u2" '"v2"))
  (let $69 (YtReadTable! world $1 '((YtSection '((YtPath $67 $68 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $69 '())))
))) $18))
(let $20 '('0 '2))
(let $21 (DqCnHashShuffle (TDqOutput $19 '0) $20 '0 '"HashV2"))
(let $22 (lambda '($74 $75 $76) '($74 $76)))
(let $23 (lambda '($77 $78 $79) (AsStruct '('"k2" $77) '('"u2" $78) '('"v2" $79))))
(let $24 '('Auto 'Many))
(let $25 '('"_partition_mode" '"aggregate"))
(let $26 '('('"_logical_id" '3360) '('"_id" '"f6b6a30c-503c0dcc-77647044-abd4749d") $25 $17))
(let $27 (DqPhyStage '($21) (lambda '($70) (block '(
  (let $71 (NarrowSqueezeToDict (ToFlow $70) $22 $23 $24))
  (let $72 (Condense1 (OrderedFlatMap $71 (lambda '($80) (OrderedFlatMap (DictPayloads $80) (lambda '($81) $81)))) (lambda '($82) $82) (lambda '($83 $84) (Or (AggrNotEquals (Member $83 '"k2") (Member $84 '"k2")) (AggrNotEquals (Member $83 '"v2") (Member $84 '"v2")))) (lambda '($85 $86) $86)))
  (let $73 (lambda '($87) (Member $87 '"k2") (Member $87 '"u2") (Member $87 '"v2")))
  (return (FromFlow (ExpandMap $72 $73)))
))) $26))
(let $28 (DqCnBroadcast (TDqOutput $27 '0)))
(let $29 '('Many 'Hashed 'Compact))
(let $30 (OptionalType $8))
(let $31 '('SortedByTypes '($8 $30)))
(let $32 '('"a.k1" '"a.v1"))
(let $33 (StructType '('"a.k1" $8) '('"a.u1" $8) '('"a.v1" $30) '('"b.k2" $8) '('"b.u2" $8) '('"b.v2" $8)))
(let $34 '('('"_logical_id" '3603) '('"_id" '"ec055e6c-b757ec9a-612c2a12-6b7b024f") '('"_wide_channels" $33)))
(let $35 (DqPhyStage '($28) (lambda '($88) (block '(
  (let $89 (NarrowSqueezeToDict (ToFlow $88) $22 $23 $29))
  (return (FromFlow (FlatMap $89 (lambda '($90) (block '(
    (let $91 '@@["StructType";[["k1";["DataType";"String"]];["v1";["OptionalType";["DataType";"String"]]];["u1";["DataType";"String"]]]]@@)
    (let $92 '('"k1" '"v1"))
    (let $93 (YqlRowSpec $2 $3 $4 '('Type $91) $6 '('SortMembers $92) '('SortedBy $92) $31))
    (let $94 (YtStat '('Id '"Input1") '('RecordsCount '"23") '('DataSize '"745") $10 $11 $12))
    (let $95 (YtTable '"Input1" $93 $9 $94 '() (Void) (Void) '"/Root/plato"))
    (let $96 '('"k1" '"u1" '"v1"))
    (let $97 (YtReadTable! world $1 '((YtSection '((YtPath $95 $96 (Void) (Void))) '()))))
    (let $98 '('0 '0 '1 '1 '2 '2))
    (let $99 '('"k2" '3 '"u2" '4 '"v2" '5))
    (return (MapJoinCore (WideFilter (DqReadWideWrap $97 '()) (lambda '($100 $101 $102) (Exists $102))) $90 'Inner $20 $7 $98 $99 $32 '('"b.k2" '"b.v2")))
  ))))))
))) $34))
(let $36 '('"k3" '"v3"))
(let $37 '('('"unordered")))
(let $38 '"_equijoin_column_0")
(let $39 (TupleType $8 $8))
(let $40 '('"k3" $30))
(let $41 '('"u3" $8))
(let $42 '('"v3" $8))
(let $43 (StructType '($38 $39) $40 $41 $42))
(let $44 '('"_wide_channels" $43))
(let $45 '('('"_logical_id" '3395) '('"_id" '"22b1d5b2-457b053e-c555d3a0-cfea23c9") $44))
(let $46 (DqPhyStage '() (lambda '() (block '(
  (let $103 '@@["StructType";[["k3";["OptionalType";["DataType";"String"]]];["v3";["DataType";"String"]];["u3";["DataType";"String"]]]]@@)
  (let $104 (YqlRowSpec $2 $3 $4 '('Type $103) $6 '('SortMembers $36) '('SortedBy $36) '('SortedByTypes '($30 $8))))
  (let $105 (YtStat '('Id '"Input3") '('RecordsCount '6) '('DataSize '"194") $10 $11 $12))
  (let $106 (YtTable '"Input3" $104 $9 $105 '() (Void) (Void) '"/Root/plato"))
  (let $107 '('"k3" '"u3" '"v3"))
  (let $108 (YtReadTable! world $1 '((YtSection '((YtPath $106 $107 (Void) (Void))) $37))))
  (let $109 (lambda '($110 $111 $112) '($112 $111) $110 $111 $112))
  (return (FromFlow (WideMap (DqReadWideWrap $108 '()) $109)))
))) $45))
(let $47 (DqCnHashShuffle (TDqOutput $46 '0) '('1 '3) '0 '"HashV2"))
(let $48 '('('"_logical_id" '3646) '('"_id" '"97065236-cf52d1fc-87126acd-5be65d25") $25 $44))
(let $49 (DqPhyStage '($47) (lambda '($113) (block '(
  (let $114 (NarrowSqueezeToDict (ToFlow $113) (lambda '($117 $118 $119 $120) '($118 $120)) (lambda '($121 $122 $123 $124) (AsStruct '($38 $121) '('"k3" $122) '('"u3" $123) '('"v3" $124))) $24))
  (let $115 (Condense1 (OrderedFlatMap $114 (lambda '($125) (OrderedFlatMap (DictPayloads $125) (lambda '($126) $126)))) (lambda '($127) $127) (lambda '($128 $129) (Or (AggrNotEquals (Member $128 '"k3") (Member $129 '"k3")) (AggrNotEquals (Member $128 '"v3") (Member $129 '"v3")))) (lambda '($130 $131) $131)))
  (let $116 (lambda '($132) (Member $132 $38) (Member $132 '"k3") (Member $132 '"u3") (Member $132 '"v3")))
  (return (FromFlow (ExpandMap $115 $116)))
))) $48))
(let $50 '"_equijoin_column_1")
(let $51 '('"v4" $30))
(let $52 (StructType '($50 (TupleType $30 $8)) '('"k4" $8) '('"u4" $8) $51))
(let $53 '('('"_logical_id" '3428) '('"_id" '"2c5c615a-88d4ada7-3623ae59-f574eb89") '('"_wide_channels" $52)))
(let $54 (DqPhyStage '() (lambda '() (block '(
  (let $133 '@@["StructType";[["k4";["DataType";"String"]];["v4";["OptionalType";["DataType";"String"]]];["u4";["DataType";"String"]]]]@@)
  (let $134 '('"k4" '"v4"))
  (let $135 (YqlRowSpec $2 $3 '('UniqueKeys '1) '('Type $133) $6 '('SortMembers $134) '('SortedBy $134) $31))
  (let $136 (YtStat '('Id '"Input4") '('RecordsCount '"13") '('DataSize '"421") $10 $11 $12))
  (let $137 (YtTable '"Input4" $135 $9 $136 '() (Void) (Void) '"/Root/plato"))
  (let $138 '('"k4" '"u4" '"v4"))
  (let $139 (YtReadTable! world $1 '((YtSection '((YtPath $137 $138 (Void) (Void))) $37))))
  (let $140 (lambda '($141 $142 $143) '($143 $142) $141 $142 $143))
  (return (FromFlow (WideMap (DqReadWideWrap $139 '()) $140)))
))) $53))
(let $55 (DqCnMap (TDqOutput $35 '0)))
(let $56 (DqCnBroadcast (TDqOutput $49 '0)))
(let $57 (DqCnBroadcast (TDqOutput $54 '0)))
(let $58 '($55 $56 $57))
(let $59 (DqPhyStage $58 (lambda '($144 $145 $146) (block '(
  (let $147 '('0))
  (let $148 (SqueezeToDict (NarrowFlatMap (ToFlow $146) (lambda '($149 $150 $151 $152) (IfPresent (FilterNullElements (Just '((Nth $149 '0) (Nth $149 '1))) $147) (lambda '($153) (block '(
    (let $154 (AsStruct '($50 $149) '('"k4" $150) '('"u4" $151) '('"v4" $152)))
    (return (Just '($153 $154)))
  ))) (Nothing (OptionalType (TupleType $39 $52)))))) (lambda '($155) (Nth $155 '0)) (lambda '($156) (Nth $156 '1)) $29))
  (return (FromFlow (NarrowMap (FlatMap $148 (lambda '($157) (block '(
    (let $158 (SqueezeToDict (NarrowFlatMap (WideFilter (ToFlow $145) (lambda '($161 $162 $163 $164) (Exists $162))) (lambda '($165 $166 $167 $168) (IfPresent (FilterNullElements (Just '($166 $168)) $147) (lambda '($169) (block '(
      (let $170 (AsStruct '($38 $165) '('"k3" $166) '('"u3" $167) '('"v3" $168)))
      (return (Just '($169 $170)))
    ))) (Nothing (OptionalType (TupleType $39 $43)))))) (lambda '($171) (Nth $171 '0)) (lambda '($172) (Nth $172 '1)) $29))
    (let $159 '('0 '0 '1 '1 '2 '2 '3 '3 '4 '4 '5 '5 '7 '6 '8 '7 '9 '8))
    (let $160 '('"k4" '9 '"u4" '10 '"v4" '11))
    (return (MapJoinCore (FlatMap $158 (lambda '($173) (block '(
      (let $174 '('0 '0 '1 '1 '2 '2 '3 '3 '4 '4 '5 '5))
      (let $175 '($38 '6 '"k3" '7 '"u3" '8 '"v3" '9))
      (return (MapJoinCore (WideFilter (ToFlow $144) (lambda '($176 $177 $178 $179 $180 $181) (Exists $178))) $173 'Inner $20 $36 $174 $175 $32 '('"c.k3" '"c.v3")))
    )))) $157 'Left '('6) '($50) $159 $160 '('"c._equijoin_column_0") '('"d._equijoin_column_1")))
  )))) (lambda '($182 $183 $184 $185 $186 $187 $188 $189 $190 $191 $192 $193) (AsStruct '('"k1" $182) '('"k2" $185) '('"k3" $188) '('"k4" $191) '('"u1" $183) '('"u2" $186) '('"u3" $189) '('"u4" $192) '('"v1" $184) '('"v2" $187) '('"v3" $190) '('"v4" $193))))))
))) '('('"_logical_id" '3978) '('"_id" '"c6a1157a-aa952316-991528fa-5e8d38ef"))))
(let $60 (DqCnUnionAll (TDqOutput $59 '0)))
(let $61 (DqPhyStage '($60) (lambda '($194) $194) '('('"_logical_id" '4955) '('"_id" '"badf9dc7-d8a96b42-2e032a68-a18ba77a"))))
(let $62 '($19 $27 $35 $46 $49 $54 $59 $61))
(let $63 (DqCnResult (TDqOutput $61 '0) '()))
(return (KqpPhysicalQuery '((KqpPhysicalTx $62 '($63) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType (StructType '('"k1" $8) $13 $40 '('"k4" $30) '('"u1" $8) $14 $41 '('"u4" $30) '('"v1" $30) $15 $42 $51)) '0 '0)) '('('"type" '"query"))))
)
