(
(let $1 (Configure! world (DataSource '"config") '"DqEngine" '"force"))
(let $2 (Configure! $1 (DataSource '"dq" '"$all") '"Attr" '"maxtasksperstage" '"2"))
(let $3 (Configure! $2 (DataSource '"dq" '"$all") '"Attr" '"watermarksmode" '"default"))
(let $4 (Configure! $3 (DataSource '"dq" '"$all") '"Attr" '"computeactortype" '"async"))
(let $5 (Configure! $4 (DataSource '"pq" '"$all") '"Attr" '"consumer" '"test_client"))
(let $6 (DataType 'String))
(let $7 (PqTopic '"pq" '"local" '"test_topic_output" '('('"PartitionsCount" '"1")) '() (StructType '('"Data" $6))))
(let $8 '('('"system" '"_yql_sys_create_time") '('"system" '"_yql_sys_tsp_write_time") '('"system" '"_yql_sys_partition_id") '('"system" '"_yql_sys_offset") '('"system" '"_yql_sys_message_group_id") '('"system" '"_yql_sys_seq_no")))
(let $9 (StructType '('"k" (OptionalType (DataType 'String))) '('"t" (OptionalType (DataType 'Uint64))) '('"v" (OptionalType (DataType 'Uint64)))))
(let $10 (PqTopic '"pq" '"local" '"test_topic_input" '('('"PartitionsCount" '"1")) $8 $9))
(let $11 '('"t" '"k" '"v"))
(let $12 (DataType 'Timestamp))
(let $13 (DataType 'Uint64))
(let $14 (OptionalType $6))
(let $15 (OptionalType $13))
(let $16 (StructType '('"k" $14) '('"t" $15) '('"v" $15)))
(let $17 (Udf 'Stat.TDigest_Create))
(let $18 (ListType $13))
(let $19 (ListItemType $18))
(let $20 (DataType 'Double))
(let $21 (lambda '() (Null)))
(let $22 (ListItemType (ListType $15)))
(let $23 (AggregationTraits $16 (lambda '($34 $35) (block '(
  (let $36 (Member $34 '"v"))
  (return (MatchType $15 'Optional (lambda '() (IfPresent $36 (lambda '($37) (Just (NamedApply $17 '((MatchType $19 'Interval (lambda '() (SafeCast $37 $20)) (lambda '() $37))) (AsStruct) (DependsOn $35)))) (Nothing (OptionalType (TypeOf (NamedApply $17 '((InstanceOf $13)) (AsStruct) (DependsOn $35))))))) 'Null $21 (lambda '() (NamedApply $17 '((MatchType $19 'Interval (lambda '() (SafeCast $36 $20)) (lambda '() $36))) (AsStruct) (DependsOn $35)))))
))) (lambda '($38 $39 $40) (block '(
  (let $41 (Member $38 '"v"))
  (let $42 (Udf 'Stat.TDigest_AddValue))
  (return (MatchType $22 'Optional (lambda '() (block '(
    (let $43 (MatchType $22 'Optional (lambda '() (block '(
      (let $47 (InstanceOf (OptionalItemType (TypeOf $41))))
      (return (IfPresent $41 (lambda '($48) (Just (NamedApply $17 '((MatchType $19 'Interval (lambda '() (SafeCast $48 $20)) (lambda '() $48))) (AsStruct) (DependsOn $40)))) (Nothing (OptionalType (TypeOf (NamedApply $17 '((MatchType $19 'Interval (lambda '() (SafeCast $47 $20)) (lambda '() $47))) (AsStruct) (DependsOn $40)))))))
    ))) 'Null $21 (lambda '() (NamedApply $17 '((MatchType $19 'Interval (lambda '() (SafeCast $41 $20)) (lambda '() $41))) (AsStruct) (DependsOn $40)))))
    (return (IfPresent $39 (lambda '($44) (IfPresent $41 (lambda '($45) (block '(
      (let $46 (MatchType $19 'Interval (lambda '() (SafeCast $45 $20)) (lambda '() $45)))
      (return (Just (NamedApply $42 '($44 $46) (AsStruct) (DependsOn $40))))
    ))) (Just $44))) $43))
  ))) 'Null (lambda '() (Null)) (lambda '() (block '(
    (let $49 (MatchType $19 'Interval (lambda '() (SafeCast $41 $20)) (lambda '() $41)))
    (return (NamedApply $42 '($39 $49) (AsStruct) (DependsOn $40)))
  )))))
))) (lambda '($50) (block '(
  (let $51 (Udf 'Stat.TDigest_Serialize))
  (return (MatchType $22 'Optional (lambda '() (Map $50 (lambda '($52) (Apply $51 $52)))) 'Null (lambda '() (Null)) (lambda '() (Apply $51 $50))))
))) (lambda '($53) (block '(
  (let $54 (Udf 'Stat.TDigest_Deserialize))
  (return (MatchType $22 'Optional (lambda '() (Map $53 (lambda '($55) (Apply $54 $55)))) 'Null (lambda '() (Null)) (lambda '() (Apply $54 $53))))
))) (lambda '($56 $57) (block '(
  (let $58 (Udf 'Stat.TDigest_Merge))
  (return (MatchType $22 'Optional (lambda '() (OptionalReduce $56 $57 (lambda '($59 $60) (Apply $58 $59 $60)))) 'Null (lambda '() (Null)) (lambda '() (Apply $58 $56 $57))))
))) (lambda '($61) (block '(
  (let $62 '((Double '"0.75") (Double '"0.9")))
  (let $63 (ListItemType (MatchType $15 'Optional (lambda '() $18) (lambda '() (ListType $22)))))
  (let $64 (Udf 'Stat.TDigest_GetPercentile))
  (let $65 (DataType 'Int64))
  (let $66 (DataType 'Interval))
  (return (MatchType $22 'Optional (lambda '() (Map $61 (lambda '($67) (MatchType $62 'Tuple (lambda '() (StaticMap $62 (lambda '($68) (MatchType $68 'Tuple (lambda '() (StaticMap $68 (lambda '($69) (block '(
    (let $70 (Apply $64 $67 $69))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $70 $65) $66))) (lambda '() $70)))
  ))))) 'Struct (lambda '() (StaticMap $68 (lambda '($71) (block '(
    (let $72 (Apply $64 $67 $71))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $72 $65) $66))) (lambda '() $72)))
  ))))) 'List (lambda '() (OrderedMap $68 (lambda '($73) (block '(
    (let $74 (Apply $64 $67 $73))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $74 $65) $66))) (lambda '() $74)))
  ))))) (lambda '() (block '(
    (let $75 (Apply $64 $67 $68))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $75 $65) $66))) (lambda '() $75)))
  ))))))) (lambda '() (MatchType $62 'Tuple (lambda '() (StaticMap $62 (lambda '($76) (block '(
    (let $77 (Apply $64 $67 $76))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $77 $65) $66))) (lambda '() $77)))
  ))))) 'Struct (lambda '() (StaticMap $62 (lambda '($78) (block '(
    (let $79 (Apply $64 $67 $78))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $79 $65) $66))) (lambda '() $79)))
  ))))) 'List (lambda '() (OrderedMap $62 (lambda '($80) (block '(
    (let $81 (Apply $64 $67 $80))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $81 $65) $66))) (lambda '() $81)))
  ))))) (lambda '() (block '(
    (let $82 (Apply $64 $67 $62))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $82 $65) $66))) (lambda '() $82)))
  ))))))))) 'Null (lambda '() (Null)) (lambda '() (MatchType $62 'Tuple (lambda '() (StaticMap $62 (lambda '($83) (MatchType $83 'Tuple (lambda '() (StaticMap $83 (lambda '($84) (block '(
    (let $85 (Apply $64 $61 $84))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $85 $65) $66))) (lambda '() $85)))
  ))))) 'Struct (lambda '() (StaticMap $83 (lambda '($86) (block '(
    (let $87 (Apply $64 $61 $86))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $87 $65) $66))) (lambda '() $87)))
  ))))) 'List (lambda '() (OrderedMap $83 (lambda '($88) (block '(
    (let $89 (Apply $64 $61 $88))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $89 $65) $66))) (lambda '() $89)))
  ))))) (lambda '() (block '(
    (let $90 (Apply $64 $61 $83))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $90 $65) $66))) (lambda '() $90)))
  ))))))) (lambda '() (MatchType $62 'Tuple (lambda '() (StaticMap $62 (lambda '($91) (block '(
    (let $92 (Apply $64 $61 $91))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $92 $65) $66))) (lambda '() $92)))
  ))))) 'Struct (lambda '() (StaticMap $62 (lambda '($93) (block '(
    (let $94 (Apply $64 $61 $93))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $94 $65) $66))) (lambda '() $94)))
  ))))) 'List (lambda '() (OrderedMap $62 (lambda '($95) (block '(
    (let $96 (Apply $64 $61 $95))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $96 $65) $66))) (lambda '() $96)))
  ))))) (lambda '() (block '(
    (let $97 (Apply $64 $61 $62))
    (return (MatchType $63 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $97 $65) $66))) (lambda '() $97)))
  )))))))))
))) (Null)))
(let $24 (HoppingTraits $16 (lambda '($98) (FlatMap (Member $98 '"t") (lambda '($99) (block '(
  (let $100 '($13 '"" '"1"))
  (let $101 (CallableType '() '((OptionalType $12)) $100))
  (let $102 (Udf '"DateTime2.FromMilliseconds" (Void) (VoidType) '"" $101 (VoidType) '"" '('('"blocks") '('"strict"))))
  (return (Apply $102 $99))
))))) (Interval '"5000") (Interval '"10000") (Interval '0) 'true 'v2))
(let $25 (Aggregate (FlatMap (RemovePrefixMembers (SqlProject (Right! (PqReadTopic! $5 (DataSource '"pq" '"pq") $10 $11 '"json_each_row" '"" (Void) '('('"data.datetime.formatname" '"POSIX") '('"data.timestamp.formatname" '"POSIX")))) '((SqlProjectStarItem (ListType (StructType '('"_yql_sys_create_time" $12) '('"_yql_sys_message_group_id" $6) '('"_yql_sys_offset" $13) '('"_yql_sys_partition_id" $13) '('"_yql_sys_seq_no" $13) '('"_yql_sys_tsp_write_time" $12) '('"k" $14) '('"t" $15) '('"v" $15))) '"" (lambda '($32) $32) '()))) '('_yql_)) (lambda '($33) (AsList (ForceRemoveMember $33 'group0)))) '('"group0") '('('('Percentile0 'Percentile1) $23)) '('('hopping '('"group0" $24)))))
(let $26 (AssumeColumnOrderPartial $25 '('"group0")))
(let $27 (TypeOf $26))
(let $28 (SqlProjectItem $27 '"p75" (lambda '($103) (Member $103 'Percentile0))))
(let $29 (SqlProjectItem $27 '"p90" (lambda '($104) (Member $104 'Percentile1))))
(let $30 (PersistableRepr (SqlProject $26 '($28 $29))))
(let $31 (PqWriteTopic! $5 (DataSink '"pq" '"pq") $7 (RemoveSystemMembers (PersistableRepr (SqlProject $30 '((SqlProjectItem (TypeOf $30) '"" (lambda '($105) (SqlCall '"Yson2.SerializeText" '((PositionalArgs (SqlCall '"Yson2.From" '((PositionalArgs (RemoveSystemMembers $105)))))))) '('('autoName))))))) 'append '()))
(return (Commit! $31 (DataSink '"pq" '"pq")))
)
