(
(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 '('('"_logical_id" '1638) '('"_id" '"62dd52e7-760f52c-30819b1a-6aafca1d") '('"_wide_channels" (StructType '('"k2" $8) '('"v2" $8)))))
(let $14 (DqPhyStage '() (lambda '() (block '(
  (let $39 '@@["StructType";[["k2";["DataType";"String"]];["v2";["DataType";"String"]];["u2";["DataType";"String"]]]]@@)
  (let $40 (YqlRowSpec $2 $3 $4 '('Type $39) $6 '('SortMembers $7) '('SortedBy $7) '('SortedByTypes '($8 $8))))
  (let $41 (YtStat '('Id '"Input2") '('RecordsCount '"16") '('DataSize '"518") $10 $11 $12))
  (let $42 (YtTable '"Input2" $40 $9 $41 '() (Void) (Void) '"/Root/plato"))
  (let $43 (YtReadTable! world $1 '((YtSection '((YtPath $42 $7 (Void) (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $43 '())))
))) $13))
(let $15 (DqCnBroadcast (TDqOutput $14 '0)))
(let $16 '('Many 'Hashed 'Compact))
(let $17 (OptionalType $8))
(let $18 (lambda '($59 $60) (Exists $60)))
(let $19 '('0 '1))
(let $20 '('"a.k1" '"a.v1"))
(let $21 (StructType '('"a.k1" $8) '('"a.v1" $17) '('"b.k2" $8) '('"b.v2" $8)))
(let $22 '('('"_logical_id" '1732) '('"_id" '"f4718da6-76c732dc-78303725-8e8164bc") '('"_wide_channels" $21)))
(let $23 (DqPhyStage '($15) (lambda '($44) (block '(
  (let $45 (NarrowSqueezeToDict (ToFlow $44) (lambda '($46 $47) '($46 $47)) (lambda '($48 $49) (AsStruct '('"k2" $48) '('"v2" $49))) $16))
  (return (FromFlow (FlatMap $45 (lambda '($50) (block '(
    (let $51 '@@["StructType";[["k1";["DataType";"String"]];["v1";["OptionalType";["DataType";"String"]]];["u1";["DataType";"String"]]]]@@)
    (let $52 '('"k1" '"v1"))
    (let $53 (YqlRowSpec $2 $3 $4 '('Type $51) $6 '('SortMembers $52) '('SortedBy $52) '('SortedByTypes '($8 $17))))
    (let $54 (YtStat '('Id '"Input1") '('RecordsCount '"23") '('DataSize '"745") $10 $11 $12))
    (let $55 (YtTable '"Input1" $53 $9 $54 '() (Void) (Void) '"/Root/plato"))
    (let $56 (YtReadTable! world $1 '((YtSection '((YtPath $55 $52 (Void) (Void) (Void))) '()))))
    (let $57 '('0 '0 '1 '1))
    (let $58 '('"k2" '2 '"v2" '3))
    (return (MapJoinCore (WideFilter (DqReadWideWrap $56 '()) $18) $50 'Inner $19 $7 $57 $58 $20 '('"b.k2" '"b.v2")))
  ))))))
))) $22))
(let $24 '('"k3" '"v3"))
(let $25 (StructType '('"k3" $17) '('"v3" $8)))
(let $26 '('('"_logical_id" '1662) '('"_id" '"e09c779e-3e087cf9-e0e982d0-26fc9441") '('"_wide_channels" $25)))
(let $27 (DqPhyStage '() (lambda '() (block '(
  (let $61 '@@["StructType";[["k3";["OptionalType";["DataType";"String"]]];["v3";["DataType";"String"]];["u3";["DataType";"String"]]]]@@)
  (let $62 (YqlRowSpec $2 $3 $4 '('Type $61) $6 '('SortMembers $24) '('SortedBy $24) '('SortedByTypes '($17 $8))))
  (let $63 (YtStat '('Id '"Input3") '('RecordsCount '"6") '('DataSize '"194") $10 $11 $12))
  (let $64 (YtTable '"Input3" $62 $9 $63 '() (Void) (Void) '"/Root/plato"))
  (let $65 (YtReadTable! world $1 '((YtSection '((YtPath $64 $24 (Void) (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $65 '())))
))) $26))
(let $28 (DqCnMap (TDqOutput $23 '0)))
(let $29 (DqCnBroadcast (TDqOutput $27 '0)))
(let $30 (StructType '('"ak1" $8) '('"c.v3" $8) '('"ck3" $17) '('"ck3_extra" $17) '('"ck3_extra2" $17)))
(let $31 '('('"_logical_id" '1949) '('"_id" '"9ed6d5d6-402dd391-57d6dbf3-3ceb8e03") '('"_wide_channels" $30)))
(let $32 (DqPhyStage '($28 $29) (lambda '($66 $67) (block '(
  (let $68 (SqueezeToDict (NarrowFlatMap (WideFilter (ToFlow $67) (lambda '($72 $73) (Exists $72))) (lambda '($74 $75) (IfPresent (FilterNullElements (Just '($74 $75)) '('0)) (lambda '($76) (Just '($76 (AsStruct '('"k3" $74) '('"v3" $75))))) (Nothing (OptionalType (TupleType (TupleType $8 $8) $25)))))) (lambda '($77) (Nth $77 '0)) (lambda '($78) (Nth $78 '1)) $16))
  (let $69 '($5 $5 $5 $5))
  (let $70 (Sort (NarrowMap (FlatMap $68 (lambda '($79) (block '(
    (let $80 (lambda '($82 $83 $84 $85) $82 $83))
    (let $81 '('"k3" '1 '"v3" '2))
    (return (MapJoinCore (WideFilter (WideMap (ToFlow $66) $80) $18) $79 'Inner $19 $24 '('0 '0) $81 $20 '('"c.k3" '"c.v3")))
  )))) (lambda '($86 $87 $88) (AsStruct '('"ak1" $86) '('"c.v3" $88) '('"ck3" $87) '('"ck3_extra" $87) '('"ck3_extra2" $87)))) $69 (lambda '($89) '((Member $89 '"ck3") (Member $89 '"ck3_extra") (Member $89 '"ck3_extra2") (Member $89 '"c.v3")))))
  (let $71 (lambda '($90) (Member $90 '"ak1") (Member $90 '"c.v3") (Member $90 '"ck3") (Member $90 '"ck3_extra") (Member $90 '"ck3_extra2")))
  (return (FromFlow (ExpandMap $70 $71)))
))) $31))
(let $33 '('('2 '"Asc") '('3 '"Asc") '('"4" '"Asc") '('1 '"Asc")))
(let $34 (DqCnMerge (TDqOutput $32 '0) $33))
(let $35 (DqPhyStage '($34) (lambda '($91) (FromFlow (NarrowMap (ToFlow $91) (lambda '($92 $93 $94 $95 $96) (AsStruct '('"ak1" $92) '('"c.v3" $93) '('"ck3" $94) '('"ck3_extra" $95) '('"ck3_extra2" $96)))))) '('('"_logical_id" '1961) '('"_id" '"96156af5-f6d972b7-3e0f895-7990935b"))))
(let $36 '($14 $23 $27 $32 $35))
(let $37 '('"ck3" '"ck3_extra" '"ck3_extra2" '"c.v3" '"ak1"))
(let $38 (DqCnResult (TDqOutput $35 '0) $37))
(return (KqpPhysicalQuery '((KqpPhysicalTx $36 '($38) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $30) '0 '0)) '('('"type" '"query"))))
)
