#include <saas/rtyserver_test/cases/indexer/ann.h>
#include <saas/rtyserver_test/testerlib/rtyserver_test.h>

#include <extsearch/ymusic/quality/personalization/musicdata/protos/entities.pb.h>

#include <kernel/dssm_applier/embeddings_transfer/embeddings_transfer.h>

namespace {

    const TStringBuf Docs[] = {
        // tracks
        TStringBuf("{\"docs\":[{\"sort_by_me\":[{\"value\":6,\"type\":\"#f\"}],\"z_performer\":{\"type\":\"#z\",\"value\":\"premrock. aj suede. curly castro\"},\"IsRadio\":[{\"value\":0,\"type\":\"#f\"}],\"artists_artist_likes\":[{\"value\":0,\"type\":\"#f\"}],\"IsLive\":[{\"value\":0,\"type\":\"#f\"}],\"z_strict_title\":{\"type\":\"#z\",\"value\":\"joel osteen\"},\"i_is_remix\":[{\"value\":0,\"type\":\"#i\"}],\"IsUser\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"dssm_bigrams_l2\":{\"value\":{\"version\":\"20201023\",\"value\":\"Y1+/Zm7LbJWxLC0qMoqBS2V9tWy8g8cAZETNcdp31H8/r3RcUqExhICSc0CXrH6HgbQ=\"},\"type\":\"#E\"},\"dup\":[{\"value\":\"96b6f3bcd3e1f2a59d4eb201e3454c7d\",\"type\":\"#h\"}],\"alb_storage_dir\":[{\"value\":\"8fc431f4.a.16415509\",\"type\":\"#p\"}],\"albums_album_likes\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_total_likes\":[{\"value\":0,\"type\":\"#f\"}],\"AlbumVersionRank\":[{\"value\":0.5,\"type\":\"#f\"}],\"albums_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"alb_id\":[{\"value\":\"16415509\",\"type\":\"#p\"},{\"value\":16415509,\"type\":\"#g\"}],\"type\":[{\"value\":\"1\",\"type\":\"#p\"},{\"value\":1,\"type\":\"#g\"}],\"i_is_podcast_episode\":[{\"value\":0,\"type\":\"#i\"}],\"IsAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"artists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"albums_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"track_len\":[{\"value\":\"216600\",\"type\":\"#p\"}],\"z_alb_name\":{\"type\":\"#z\",\"value\":\"load bearing crow's feet\"},\"albums_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsTrack\":[{\"value\":1,\"type\":\"#f\"}],\"playlists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"s_rights\":[{\"value\":\"149\",\"type\":\"#l\"},{\"value\":\"149mp\",\"type\":\"#l\"},{\"value\":\"159\",\"type\":\"#l\"},{\"value\":\"159mp\",\"type\":\"#l\"},{\"value\":\"167\",\"type\":\"#l\"},{\"value\":\"167mp\",\"type\":\"#l\"},{\"value\":\"168\",\"type\":\"#l\"},{\"value\":\"168mp\",\"type\":\"#l\"},{\"value\":\"169\",\"type\":\"#l\"},{\"value\":\"169mp\",\"type\":\"#l\"},{\"value\":\"170\",\"type\":\"#l\"},{\"value\":\"170mp\",\"type\":\"#l\"},{\"value\":\"171\",\"type\":\"#l\"},{\"value\":\"171mp\",\"type\":\"#l\"},{\"value\":\"181\",\"type\":\"#l\"},{\"value\":\"181mp\",\"type\":\"#l\"},{\"value\":\"187\",\"type\":\"#l\"},{\"value\":\"187mp\",\"type\":\"#l\"},{\"value\":\"207\",\"type\":\"#l\"},{\"value\":\"207mp\",\"type\":\"#l\"},{\"value\":\"208\",\"type\":\"#l\"},{\"value\":\"208mp\",\"type\":\"#l\"},{\"value\":\"209\",\"type\":\"#l\"},{\"value\":\"209mp\",\"type\":\"#l\"},{\"value\":\"225\",\"type\":\"#l\"},{\"value\":\"225mp\",\"type\":\"#l\"}],\"tracks_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"grp_name\":[{\"value\":\"Premrock, AJ Suede, Curly Castro\",\"type\":\"#p\"}],\"MusicLinkRank\":[{\"value\":0.00577957,\"type\":\"#f\"}],\"track_name\":[{\"value\":\"Joel Osteen\",\"type\":\"#p\"}],\"tracks_count_of_users\":[{\"value\":0,\"type\":\"#f\"}],\"i_track_len\":[{\"value\":216600,\"type\":\"#i\"}],\"options\":{\"language_default\":\"ru\",\"realtime\":false,\"mime_type\":\"text/plain\"},\"FreshAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"grp_ex\":[{\"value\":\"<artist id=\\\"754404\\\" ><name>Premrock</name></artist><artist id=\\\"2730564\\\" ><name>AJ Suede</name></artist><artist id=\\\"1511413\\\" ><name>Curly Castro</name></artist>\",\"type\":\"#p\"}],\"title\":{\"type\":\"#z\",\"value\":\"Premrock, AJ Suede, Curly Castro Joel Osteen\"},\"IsGenericRadio\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"IsJunk\":[{\"value\":0,\"type\":\"#f\"}],\"track_id\":[{\"value\":\"85792767\",\"type\":\"#p\"},{\"value\":85792767,\"type\":\"#g\"}],\"url\":\"https://music.yandex.ru/album/16415509/track/85792767?from=serp\",\"tracks_count_of_non_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_recom_listening\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_album\":{\"type\":\"#z\",\"value\":\"load bearing crow's feet\"},\"tracks_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsRemix\":[{\"value\":0,\"type\":\"#f\"}],\"CTR\":[{\"value\":0,\"type\":\"#f\"}],\"is_podcast_episode\":[{\"value\":\"0\",\"type\":\"#p\"}],\"tracks_count_of_fast_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"albums_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_track_name\":{\"type\":\"#z\",\"value\":\"joel osteen\"},\"i_type\":[{\"value\":1,\"type\":\"#i\"}],\"explicit\":[{\"value\":\"1\",\"type\":\"#p\"}],\"CTRVeryLong\":[{\"value\":0,\"type\":\"#f\"}],\"rank\":[{\"value\":\"0.005779574545087446\",\"type\":\"#p\"}],\"UserId\":[{\"value\":0,\"type\":\"#F\"}],\"z_descriptor\":{\"type\":\"#z\",\"value\":\"песня. пісня. песнь. трек. şarkı. җыр. әндері. әндер. композиция. композиція. трэк. מנגינה. שיר. track. song. ән\"},\"tracks_radio_likes\":[{\"value\":0,\"type\":\"#f\"}],\"alb_cover\":[{\"value\":\"1\",\"type\":\"#p\"}],\"IsPlaylist\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"NormalizedPopularity\":[{\"value\":0.15986,\"type\":\"#f\"}],\"artists_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"regions\":[{\"value\":\"149\",\"type\":\"#p\"},{\"value\":\"149mp\",\"type\":\"#p\"},{\"value\":\"159\",\"type\":\"#p\"},{\"value\":\"159mp\",\"type\":\"#p\"},{\"value\":\"167\",\"type\":\"#p\"},{\"value\":\"167mp\",\"type\":\"#p\"},{\"value\":\"168\",\"type\":\"#p\"},{\"value\":\"168mp\",\"type\":\"#p\"},{\"value\":\"169\",\"type\":\"#p\"},{\"value\":\"169mp\",\"type\":\"#p\"},{\"value\":\"170\",\"type\":\"#p\"},{\"value\":\"170mp\",\"type\":\"#p\"},{\"value\":\"171\",\"type\":\"#p\"},{\"value\":\"171mp\",\"type\":\"#p\"},{\"value\":\"181\",\"type\":\"#p\"},{\"value\":\"181mp\",\"type\":\"#p\"},{\"value\":\"187\",\"type\":\"#p\"},{\"value\":\"187mp\",\"type\":\"#p\"},{\"value\":\"207\",\"type\":\"#p\"},{\"value\":\"207mp\",\"type\":\"#p\"},{\"value\":\"208\",\"type\":\"#p\"},{\"value\":\"208mp\",\"type\":\"#p\"},{\"value\":\"209\",\"type\":\"#p\"},{\"value\":\"209mp\",\"type\":\"#p\"},{\"value\":\"225\",\"type\":\"#p\"},{\"value\":\"225mp\",\"type\":\"#p\"}],\"artists_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"i_is_podcast\":[{\"value\":0,\"type\":\"#i\"}],\"IsArtist\":[{\"value\":0,\"type\":\"#f\"}],\"alb_name\":[{\"value\":\"Load Bearing Crow's Feet\",\"type\":\"#p\"}],\"artists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_title\":{\"type\":\"#z\",\"value\":\"joel osteen\"},\"i_is_tribute\":[{\"value\":0,\"type\":\"#i\"}],\"IsTribute\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"CTRLong\":[{\"value\":0,\"type\":\"#f\"}],\"i_genre\":[{\"value\":44,\"type\":\"#i\"},{\"value\":75,\"type\":\"#i\"}],\"is_podcast\":[{\"value\":\"0\",\"type\":\"#p\"}],\"z_grp_name\":{\"type\":\"#z\",\"value\":\"premrock, aj suede, curly castro\"},\"IsUgc\":[{\"value\":0,\"type\":\"#f\"}],\"Explicit\":[{\"value\":1,\"type\":\"#f\"}],\"genre_name\":[{\"value\":\"chet el rep va xip xop musiqasi\",\"type\":\"#p\"},{\"value\":\"international rap\",\"type\":\"#p\"},{\"value\":\"rap\",\"type\":\"#p\"},{\"value\":\"xarici rep və hip hop\",\"type\":\"#p\"},{\"value\":\"yabancı rap ve hip hop\",\"type\":\"#p\"},{\"value\":\"замежны рэп і хіп хоп\",\"type\":\"#p\"},{\"value\":\"иностранный рэп и хип хоп\",\"type\":\"#p\"},{\"value\":\"шетелдік рэп және хип хоп\",\"type\":\"#p\"},{\"value\":\"іноземний реп і хіп хоп\",\"type\":\"#p\"},{\"value\":\"արտասահմանյան ռեփ և հիփ հոփ\",\"type\":\"#p\"},{\"value\":\"ראפ בינלאומי\",\"type\":\"#p\"},{\"value\":\"უცხოური რეპი და ჰიპ ჰოპი\",\"type\":\"#p\"}],\"IsGenre\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"alb_year\":[{\"value\":\"2021\",\"type\":\"#p\"}],\"TrackVersionRank\":[{\"value\":0.5,\"type\":\"#f\"}],\"LogShown\":[{\"value\":3.91202,\"type\":\"#f\"}],\"various\":[{\"value\":\"0\",\"type\":\"#p\"}],\"i_release_year\":[{\"value\":2021,\"type\":\"#i\"}],\"s_genre_bound_id\":[{\"value\":\"foreignrap\",\"type\":\"#l\"}],\"grp_id\":[{\"value\":\"754404 2730564 1511413\",\"type\":\"#p\"},{\"value\":754404,\"type\":\"#g\"},{\"value\":2730564,\"type\":\"#g\"},{\"value\":1511413,\"type\":\"#g\"}],\"dssm_like_embedding\":{\"value\":{\"version\":\"dssm_like\",\"value\":\"AACAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"type\":\"#E\"}}],\"action\":\"modify\",\"prefix\":1}"),
        TStringBuf("{\"docs\":[{\"sort_by_me\":[{\"value\":5,\"type\":\"#f\"}],\"z_performer\":{\"type\":\"#z\",\"value\":\"billy joel. בילי ג'ואל. ビリージョエル. billy  joel. ビリー・ジョエル. 比利喬. билли джоэль. біллі джоель. b. joel (b. 1949). b. joel (b. i9a9). билли джоел. біллі джоел. билли джоэл. b. joël. b. joel. джоэл, билли. джоел, біллі\"},\"IsRadio\":[{\"value\":0,\"type\":\"#f\"}],\"artists_artist_likes\":[{\"value\":0,\"type\":\"#f\"}],\"IsLive\":[{\"value\":0,\"type\":\"#f\"}],\"z_strict_title\":{\"type\":\"#z\",\"value\":\"shades of grey\"},\"i_is_remix\":[{\"value\":0,\"type\":\"#i\"}],\"IsUser\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"dssm_bigrams_l2\":{\"value\":{\"version\":\"20201023\",\"value\":\"dHWXfG3GOouaLDYAXbGPTmqK2XrDsaAKJXm7cOhduGhXypVoi3sVfIiLgVqNjoN/u7k=\"},\"type\":\"#E\"},\"dup\":[{\"value\":\"e9de0192860fa41a39f7ace88940becc\",\"type\":\"#h\"}],\"alb_storage_dir\":[{\"value\":\"7d70cc5b.a.71432\",\"type\":\"#p\"}],\"albums_album_likes\":[{\"value\":0,\"type\":\"#f\"}],\"annotations\":{\"value\":[{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LONG_CLICK\":\"/w==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"/w==\",\"DT_MUSIC_STREAMS_FIRST_CLICK\":\"/w==\"}}],\"lang\":0,\"text\":\"billy joel shades of grey\"}],\"type\":\"#a\"},\"tracks_total_likes\":[{\"value\":0,\"type\":\"#f\"}],\"AlbumVersionRank\":[{\"value\":0.5,\"type\":\"#f\"}],\"albums_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"alb_id\":[{\"value\":\"71432\",\"type\":\"#p\"},{\"value\":71432,\"type\":\"#g\"}],\"type\":[{\"value\":\"1\",\"type\":\"#p\"},{\"value\":1,\"type\":\"#g\"}],\"i_is_podcast_episode\":[{\"value\":0,\"type\":\"#i\"}],\"IsAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"artists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"i_mood_score\":[{\"value\":714171,\"type\":\"#i\"}],\"albums_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"track_len\":[{\"value\":\"251460\",\"type\":\"#p\"}],\"z_alb_name\":{\"type\":\"#z\",\"value\":\"river of dreams\"},\"albums_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsTrack\":[{\"value\":1,\"type\":\"#f\"}],\"playlists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"s_rights\":[{\"value\":\"10099\",\"type\":\"#l\"},{\"value\":\"10099mp\",\"type\":\"#l\"},{\"value\":\"149\",\"type\":\"#l\"},{\"value\":\"149mp\",\"type\":\"#l\"},{\"value\":\"159\",\"type\":\"#l\"},{\"value\":\"159mp\",\"type\":\"#l\"},{\"value\":\"167\",\"type\":\"#l\"},{\"value\":\"167mp\",\"type\":\"#l\"},{\"value\":\"168\",\"type\":\"#l\"},{\"value\":\"168mp\",\"type\":\"#l\"},{\"value\":\"169\",\"type\":\"#l\"},{\"value\":\"169mp\",\"type\":\"#l\"},{\"value\":\"170\",\"type\":\"#l\"},{\"value\":\"170mp\",\"type\":\"#l\"},{\"value\":\"171\",\"type\":\"#l\"},{\"value\":\"171mp\",\"type\":\"#l\"},{\"value\":\"181\",\"type\":\"#l\"},{\"value\":\"181mp\",\"type\":\"#l\"},{\"value\":\"187\",\"type\":\"#l\"},{\"value\":\"187mp\",\"type\":\"#l\"},{\"value\":\"207\",\"type\":\"#l\"},{\"value\":\"207mp\",\"type\":\"#l\"},{\"value\":\"208\",\"type\":\"#l\"},{\"value\":\"208mp\",\"type\":\"#l\"},{\"value\":\"209\",\"type\":\"#l\"},{\"value\":\"209mp\",\"type\":\"#l\"},{\"value\":\"225\",\"type\":\"#l\"},{\"value\":\"225mp\",\"type\":\"#l\"}],\"tracks_count_of_albums\":[{\"value\":0.00195695,\"type\":\"#f\"}],\"grp_name\":[{\"value\":\"Billy Joel\",\"type\":\"#p\"}],\"MusicLinkRank\":[{\"value\":0.144239,\"type\":\"#f\"}],\"tracks_count_of_users\":[{\"value\":6.97421e-06,\"type\":\"#f\"}],\"track_name\":[{\"value\":\"Shades of Grey\",\"type\":\"#p\"}],\"i_track_len\":[{\"value\":251460,\"type\":\"#i\"}],\"s_lyrics_language\":[{\"value\":\"en\",\"type\":\"#l\"}],\"options\":{\"language_default\":\"ru\",\"language\":\"en\",\"realtime\":false,\"mime_type\":\"text/plain\"},\"FreshAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"grp_ex\":[{\"value\":\"<artist id=\\\"6653\\\" ><name>Billy Joel</name></artist>\",\"type\":\"#p\"}],\"title\":{\"type\":\"#z\",\"value\":\"Billy Joel Shades of Grey\"},\"IsGenericRadio\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_playlists\":[{\"value\":3.42522e-06,\"type\":\"#f\"}],\"IsJunk\":[{\"value\":0,\"type\":\"#f\"}],\"track_id\":[{\"value\":\"660969\",\"type\":\"#p\"},{\"value\":660969,\"type\":\"#g\"}],\"url\":\"https://music.yandex.ru/album/71432/track/660969?from=serp\",\"tracks_count_of_non_skip_listening_on_recom\":[{\"value\":1.66854e-06,\"type\":\"#f\"}],\"tracks_recom_listening\":[{\"value\":1.13842e-06,\"type\":\"#f\"}],\"playlists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_album\":{\"type\":\"#z\",\"value\":\"river of dreams\"},\"tracks_count_of_fast_skip_listening\":[{\"value\":1.96494e-06,\"type\":\"#f\"}],\"IsRemix\":[{\"value\":0,\"type\":\"#f\"}],\"CTR\":[{\"value\":0.00195217,\"type\":\"#f\"}],\"is_podcast_episode\":[{\"value\":\"0\",\"type\":\"#p\"}],\"tracks_count_of_fast_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"albums_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_track_name\":{\"type\":\"#z\",\"value\":\"shades of grey\"},\"i_type\":[{\"value\":1,\"type\":\"#i\"}],\"explicit\":[{\"value\":\"0\",\"type\":\"#p\"}],\"CTRVeryLong\":[{\"value\":0.000976086,\"type\":\"#f\"}],\"rank\":[{\"value\":\"0.14423946845552002\",\"type\":\"#p\"}],\"UserId\":[{\"value\":0,\"type\":\"#F\"}],\"z_descriptor\":{\"type\":\"#z\",\"value\":\"песня. пісня. песнь. трек. şarkı. җыр. әндері. әндер. композиция. композиція. трэк. מנגינה. שיר. track. song. ән\"},\"z_lyrics\":{\"type\":\"#z\",\"value\":\"some things were perfectly clear, seen with vision of youth. no doubts and nothing to fear, i claimed corner on truth. these days it’s harder to say i know what i’m fighting for. these days it's harder to say i know what i'm fighting for. my faith is falling away. i’m not that sure anymore. i'm not that sure anymore. shades of grey wherever i go the more i find out less that i know. black and white is how it should be but shades of grey are colors i see. once there were trenches and walls and one point of every view. fight 'til other man falls. kill him before he kills you. these days edges are blurred, i’m old and tired of war. these days edges are blurred, i'm old and tired of war. i hear other man’s words. i hear other man's words. shades of grey are all that i find. when i look to the enemy line. black and white was so easy for me but shades of grey are colors i see. now with wisdom of years i try to reason things out. and only people i fear are those who never have doubts. save us all from arrogant men, and all causes they’re for. save us all from arrogant men, and all causes they're for. i won’t be righteous again. i won't be righteous again. when i look to they enemy line. there ain’t no rainbows shining on me shades of grey are colours i see. there ain't no rainbows shining on me shades of grey are colours i see. there ain’t no rainbows shining on me shades of grey are colors i see. there ain't no rainbows shining on me shades of grey are colors i see\"},\"tracks_radio_likes\":[{\"value\":0,\"type\":\"#f\"}],\"alb_cover\":[{\"value\":\"1\",\"type\":\"#p\"}],\"IsPlaylist\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"NormalizedPopularity\":[{\"value\":0.184839,\"type\":\"#f\"}],\"artists_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"regions\":[{\"value\":\"10099\",\"type\":\"#p\"},{\"value\":\"10099mp\",\"type\":\"#p\"},{\"value\":\"149\",\"type\":\"#p\"},{\"value\":\"149mp\",\"type\":\"#p\"},{\"value\":\"159\",\"type\":\"#p\"},{\"value\":\"159mp\",\"type\":\"#p\"},{\"value\":\"167\",\"type\":\"#p\"},{\"value\":\"167mp\",\"type\":\"#p\"},{\"value\":\"168\",\"type\":\"#p\"},{\"value\":\"168mp\",\"type\":\"#p\"},{\"value\":\"169\",\"type\":\"#p\"},{\"value\":\"169mp\",\"type\":\"#p\"},{\"value\":\"170\",\"type\":\"#p\"},{\"value\":\"170mp\",\"type\":\"#p\"},{\"value\":\"171\",\"type\":\"#p\"},{\"value\":\"171mp\",\"type\":\"#p\"},{\"value\":\"181\",\"type\":\"#p\"},{\"value\":\"181mp\",\"type\":\"#p\"},{\"value\":\"187\",\"type\":\"#p\"},{\"value\":\"187mp\",\"type\":\"#p\"},{\"value\":\"207\",\"type\":\"#p\"},{\"value\":\"207mp\",\"type\":\"#p\"},{\"value\":\"208\",\"type\":\"#p\"},{\"value\":\"208mp\",\"type\":\"#p\"},{\"value\":\"209\",\"type\":\"#p\"},{\"value\":\"209mp\",\"type\":\"#p\"},{\"value\":\"225\",\"type\":\"#p\"},{\"value\":\"225mp\",\"type\":\"#p\"}],\"artists_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"i_is_podcast\":[{\"value\":0,\"type\":\"#i\"}],\"i_epoch\":[{\"value\":1990,\"type\":\"#i\"}],\"IsArtist\":[{\"value\":0,\"type\":\"#f\"}],\"alb_name\":[{\"value\":\"River Of Dreams\",\"type\":\"#p\"}],\"artists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_title\":{\"type\":\"#z\",\"value\":\"shades of grey. shades of grey (album version)\"},\"i_is_tribute\":[{\"value\":0,\"type\":\"#i\"}],\"IsTribute\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"CTRLong\":[{\"value\":0.000976086,\"type\":\"#f\"}],\"i_genre\":[{\"value\":102,\"type\":\"#i\"},{\"value\":14,\"type\":\"#i\"}],\"is_podcast\":[{\"value\":\"0\",\"type\":\"#p\"}],\"z_grp_name\":{\"type\":\"#z\",\"value\":\"billy joel\"},\"IsUgc\":[{\"value\":0,\"type\":\"#f\"}],\"Explicit\":[{\"value\":0,\"type\":\"#f\"}],\"i_energy_score\":[{\"value\":724556,\"type\":\"#i\"}],\"genre_name\":[{\"value\":\"worldwide rock\",\"type\":\"#p\"},{\"value\":\"xarici rok\",\"type\":\"#p\"},{\"value\":\"xorijiy rok\",\"type\":\"#p\"},{\"value\":\"yabancı rock müziği\",\"type\":\"#p\"},{\"value\":\"замежны рок\",\"type\":\"#p\"},{\"value\":\"иностранный рок\",\"type\":\"#p\"},{\"value\":\"шетелдік рок\",\"type\":\"#p\"},{\"value\":\"іноземний рок\",\"type\":\"#p\"},{\"value\":\"օտարերկրյա ռոք\",\"type\":\"#p\"},{\"value\":\"רוק מכל העולם\",\"type\":\"#p\"},{\"value\":\"უცხოური როკი\",\"type\":\"#p\"}],\"IsGenre\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_total_listening\":[{\"value\":2.84699e-06,\"type\":\"#f\"}],\"tracks_count_of_non_skip_listening\":[{\"value\":3.11042e-06,\"type\":\"#f\"}],\"alb_year\":[{\"value\":\"1993\",\"type\":\"#p\"}],\"TrackVersionRank\":[{\"value\":0.5,\"type\":\"#f\"}],\"LogShown\":[{\"value\":7.6256,\"type\":\"#f\"}],\"various\":[{\"value\":\"0\",\"type\":\"#p\"}],\"s_vocal_type\":[{\"value\":\"male\",\"type\":\"#l\"}],\"i_release_year\":[{\"value\":1993,\"type\":\"#i\"}],\"s_genre_bound_id\":[{\"value\":\"rock\",\"type\":\"#l\"}],\"grp_id\":[{\"value\":\"6653 468189\",\"type\":\"#p\"},{\"value\":468189,\"type\":\"#g\"},{\"value\":6653,\"type\":\"#g\"}],\"dssm_like_embedding\":{\"value\":{\"version\":\"dssm_like\",\"value\":\"AAAAAAAAgD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"type\":\"#E\"}}],\"action\":\"modify\",\"prefix\":1}"),
        // albums
        TStringBuf("{\"docs\":[{\"sort_by_me\":[{\"value\":4,\"type\":\"#f\"}],\"z_performer\":{\"type\":\"#z\",\"value\":\"joel cohen. joël cohen. ｊｏｅｌｃｏｈｅｎ. джоел коэн. джоел коен. джоэл кохен. джоел кохен. джоэль коэн. джоель коен. джоэл коэн. boston camerata\"},\"IsRadio\":[{\"value\":0,\"type\":\"#f\"}],\"artists_artist_likes\":[{\"value\":0,\"type\":\"#f\"}],\"IsLive\":[{\"value\":0,\"type\":\"#f\"}],\"z_strict_title\":{\"type\":\"#z\",\"value\":\"joel cohen: lo gai saber - troubadours and minstrels 1100-1300\"},\"IsUser\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"dssm_bigrams_l2\":{\"value\":{\"version\":\"20201023\",\"value\":\"Xpx4h3Wjg3ytKic0FYCva1ls1H6elnwAS0+0T85Gt4GZnZNldJFisZm/lg+cxnGXoKU=\"},\"type\":\"#E\"},\"dup\":[{\"value\":\"74f258898727405d572b322945c1cfce\",\"type\":\"#h\"}],\"alb_storage_dir\":[{\"value\":\"9a4448d5.a.1047663\",\"type\":\"#p\"}],\"albums_album_likes\":[{\"value\":9.34082e-06,\"type\":\"#f\"}],\"annotations\":{\"value\":[{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LAST_CLICK\":\"fw==\",\"DT_MUSIC_STREAMS_FIRST_CLICK\":\"fw==\"}}],\"lang\":0,\"text\":\"joel cohen lo gai saber troubadours and minstrels\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LAST_CLICK\":\"fw==\"}}],\"lang\":0,\"text\":\"the boston camerata\"}],\"type\":\"#a\"},\"tracks_total_likes\":[{\"value\":0,\"type\":\"#f\"}],\"AlbumVersionRank\":[{\"value\":0.5,\"type\":\"#f\"}],\"albums_count_of_fast_skip_listening\":[{\"value\":4.07035e-07,\"type\":\"#f\"}],\"alb_id\":[{\"value\":\"1047663\",\"type\":\"#p\"},{\"value\":1047663,\"type\":\"#g\"}],\"type\":[{\"value\":\"2\",\"type\":\"#p\"},{\"value\":2,\"type\":\"#g\"}],\"i_is_podcast_episode\":[{\"value\":0,\"type\":\"#i\"}],\"IsAlbum\":[{\"value\":1,\"type\":\"#f\"}],\"artists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"albums_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"z_alb_name\":{\"type\":\"#z\",\"value\":\"joel cohen: lo gai saber - troubadours and minstrels 1100-1300\"},\"albums_count_of_non_skip_listening\":[{\"value\":2.71712e-07,\"type\":\"#f\"}],\"IsTrack\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"s_rights\":[{\"value\":\"225\",\"type\":\"#l\"},{\"value\":\"225mp\",\"type\":\"#l\"}],\"tracks_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"grp_name\":[{\"value\":\"Joel Cohen, Boston Camerata\",\"type\":\"#p\"}],\"MusicLinkRank\":[{\"value\":0.275784,\"type\":\"#f\"}],\"tracks_count_of_users\":[{\"value\":0,\"type\":\"#f\"}],\"options\":{\"language_default\":\"ru\",\"realtime\":false,\"mime_type\":\"text/plain\"},\"FreshAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"grp_ex\":[{\"value\":\"<artist id=\\\"30776\\\" ><name>Joel Cohen</name></artist><artist id=\\\"675153\\\" ><name>Boston Camerata</name></artist>\",\"type\":\"#p\"}],\"title\":{\"type\":\"#z\",\"value\":\"Joel Cohen, Boston Camerata Joel Cohen: Lo Gai Saber - Troubadours and Minstrels 1100-1300\"},\"IsGenericRadio\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_albums\":[{\"value\":0.000220751,\"type\":\"#f\"}],\"tracks_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"IsJunk\":[{\"value\":0,\"type\":\"#f\"}],\"url\":\"https://music.yandex.ru/album/1047663?from=serp\",\"tracks_count_of_non_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_recom_listening\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsRemix\":[{\"value\":0,\"type\":\"#f\"}],\"CTR\":[{\"value\":0.0109091,\"type\":\"#f\"}],\"is_podcast_episode\":[{\"value\":\"0\",\"type\":\"#p\"}],\"tracks_count_of_fast_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"albums_total_listening\":[{\"value\":3.17857e-07,\"type\":\"#f\"}],\"i_type\":[{\"value\":2,\"type\":\"#i\"}],\"explicit\":[{\"value\":\"0\",\"type\":\"#p\"}],\"i_label\":[{\"value\":446642,\"type\":\"#i\"}],\"CTRVeryLong\":[{\"value\":0,\"type\":\"#f\"}],\"rank\":[{\"value\":\"0.2757843518737369\",\"type\":\"#p\"}],\"UserId\":[{\"value\":0,\"type\":\"#F\"}],\"z_descriptor\":{\"type\":\"#z\",\"value\":\"альбом. album. albüm. אלבום\"},\"tracks_radio_likes\":[{\"value\":0,\"type\":\"#f\"}],\"alb_cover\":[{\"value\":\"2\",\"type\":\"#p\"}],\"IsPlaylist\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"NormalizedPopularity\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_playlists\":[{\"value\":4.80929e-07,\"type\":\"#f\"}],\"regions\":[{\"value\":\"10099\",\"type\":\"#p\"},{\"value\":\"10099mp\",\"type\":\"#p\"},{\"value\":\"149\",\"type\":\"#p\"},{\"value\":\"149mp\",\"type\":\"#p\"},{\"value\":\"159\",\"type\":\"#p\"},{\"value\":\"159mp\",\"type\":\"#p\"},{\"value\":\"167\",\"type\":\"#p\"},{\"value\":\"167mp\",\"type\":\"#p\"},{\"value\":\"168\",\"type\":\"#p\"},{\"value\":\"168mp\",\"type\":\"#p\"},{\"value\":\"169\",\"type\":\"#p\"},{\"value\":\"169mp\",\"type\":\"#p\"},{\"value\":\"170\",\"type\":\"#p\"},{\"value\":\"170mp\",\"type\":\"#p\"},{\"value\":\"171\",\"type\":\"#p\"},{\"value\":\"171mp\",\"type\":\"#p\"},{\"value\":\"181\",\"type\":\"#p\"},{\"value\":\"181mp\",\"type\":\"#p\"},{\"value\":\"187\",\"type\":\"#p\"},{\"value\":\"187mp\",\"type\":\"#p\"},{\"value\":\"207\",\"type\":\"#p\"},{\"value\":\"207mp\",\"type\":\"#p\"},{\"value\":\"208\",\"type\":\"#p\"},{\"value\":\"208mp\",\"type\":\"#p\"},{\"value\":\"209\",\"type\":\"#p\"},{\"value\":\"209mp\",\"type\":\"#p\"},{\"value\":\"225\",\"type\":\"#p\"},{\"value\":\"225mp\",\"type\":\"#p\"}],\"artists_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"i_is_podcast\":[{\"value\":0,\"type\":\"#i\"}],\"IsArtist\":[{\"value\":0,\"type\":\"#f\"}],\"alb_name\":[{\"value\":\"Joel Cohen: Lo Gai Saber - Troubadours and Minstrels 1100-1300\",\"type\":\"#p\"}],\"artists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_title\":{\"type\":\"#z\",\"value\":\"joel cohen: lo gai saber - troubadours and minstrels 1100-1300. joel cohen: lo gai saber - troubadours and minstrels ii00-ie00. lo gai saber - troubadours and minstrels 1100-1300. lo gai saber - troubadours and minstrels ii00-ie00\"},\"IsTribute\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"CTRLong\":[{\"value\":0,\"type\":\"#f\"}],\"is_podcast\":[{\"value\":\"0\",\"type\":\"#p\"}],\"z_grp_name\":{\"type\":\"#z\",\"value\":\"joel cohen, boston camerata\"},\"IsUgc\":[{\"value\":0,\"type\":\"#f\"}],\"Explicit\":[{\"value\":0,\"type\":\"#f\"}],\"genre_name\":[{\"value\":\"clasică\",\"type\":\"#p\"},{\"value\":\"classical\",\"type\":\"#p\"},{\"value\":\"dünya klasikleri\",\"type\":\"#p\"},{\"value\":\"dünya klassikası\",\"type\":\"#p\"},{\"value\":\"klassik musiqa\",\"type\":\"#p\"},{\"value\":\"академическая музыка\",\"type\":\"#p\"},{\"value\":\"классика\",\"type\":\"#p\"},{\"value\":\"классикалық музыка\",\"type\":\"#p\"},{\"value\":\"классическая музыка\",\"type\":\"#p\"},{\"value\":\"мировая классика\",\"type\":\"#p\"},{\"value\":\"музыкальная классика\",\"type\":\"#p\"},{\"value\":\"світова класика\",\"type\":\"#p\"},{\"value\":\"сусветная класіка\",\"type\":\"#p\"},{\"value\":\"համաշխարհային դասական երկեր\",\"type\":\"#p\"},{\"value\":\"מוזיקה קלאסית\",\"type\":\"#p\"},{\"value\":\"მსოფლიო კლასიკა\",\"type\":\"#p\"}],\"IsGenre\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"alb_year\":[{\"value\":\"1990\",\"type\":\"#p\"}],\"TrackVersionRank\":[{\"value\":0,\"type\":\"#f\"}],\"LogShown\":[{\"value\":5.6204,\"type\":\"#f\"}],\"various\":[{\"value\":\"0\",\"type\":\"#p\"}],\"s_genre_bound_id\":[{\"value\":\"classical\",\"type\":\"#l\"}],\"grp_id\":[{\"value\":\"30776 675153\",\"type\":\"#p\"},{\"value\":30776,\"type\":\"#g\"},{\"value\":675153,\"type\":\"#g\"}],\"dssm_like_embedding\":{\"value\":{\"version\":\"dssm_like\",\"value\":\"AAAAAAAAAAAAAIA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"},\"type\":\"#E\"}}],\"action\":\"modify\",\"prefix\":1}"),
        TStringBuf("{\"docs\":[{\"sort_by_me\":[{\"value\":3,\"type\":\"#f\"}],\"z_performer\":{\"type\":\"#z\",\"value\":\"billy joel. בילי ג'ואל. ビリージョエル. billy  joel. ビリー・ジョエル. 比利喬. билли джоэль. біллі джоель. b. joel (b. 1949). b. joel (b. i9a9). билли джоел. біллі джоел. билли джоэл. b. joël. b. joel. джоэл, билли. джоел, біллі\"},\"IsRadio\":[{\"value\":0,\"type\":\"#f\"}],\"artists_artist_likes\":[{\"value\":0,\"type\":\"#f\"}],\"IsLive\":[{\"value\":0,\"type\":\"#f\"}],\"z_strict_title\":{\"type\":\"#z\",\"value\":\" essential billy joel\"},\"IsUser\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"dssm_bigrams_l2\":{\"value\":{\"version\":\"20201023\",\"value\":\"hJZxcG3TP4adICoQRbx9klml212y1Y8AHjO9WP9Jtnx8xXJug4cnmZ6qojWso3erqag=\"},\"type\":\"#E\"},\"dup\":[{\"value\":\"e020a0a8b330b6d0848036c4b10e18fc\",\"type\":\"#h\"}],\"alb_storage_dir\":[{\"value\":\"c7d6e721.a.67170\",\"type\":\"#p\"}],\"albums_album_likes\":[{\"value\":0.000850015,\"type\":\"#f\"}],\"annotations\":{\"value\":[{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_SINGLE_CLICK\":\"Fw==\",\"DT_MUSIC_STREAMS_LONG_CLICK\":\"GA==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"Dg==\",\"DT_MUSIC_STREAMS_FIRST_CLICK\":\"Dw==\"}}],\"lang\":0,\"text\":\"billy joel\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LONG_CLICK\":\"/w==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"/w==\"}}],\"lang\":0,\"text\":\"billy joel fantasies delusions\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_SINGLE_CLICK\":\"VQ==\",\"DT_MUSIC_STREAMS_LONG_CLICK\":\"VQ==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"Rg==\",\"DT_MUSIC_STREAMS_FIRST_CLICK\":\"RQ==\"}}],\"lang\":0,\"text\":\"billy joel honesty\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LONG_CLICK\":\"VQ==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"qg==\"}}],\"lang\":0,\"text\":\"billy joel james\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LONG_CLICK\":\"fw==\"}}],\"lang\":0,\"text\":\"billy joel piano man dbs\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LONG_CLICK\":\"fw==\"}}],\"lang\":0,\"text\":\"billy joel songs in the attic\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LAST_CLICK\":\"fw==\"}}],\"lang\":0,\"text\":\"billy joel the downeaster alexa\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_SINGLE_CLICK\":\"/w==\",\"DT_MUSIC_STREAMS_LONG_CLICK\":\"1A==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"/w==\",\"DT_MUSIC_STREAMS_FIRST_CLICK\":\"/w==\"}}],\"lang\":0,\"text\":\"billy joel the essential billy joel\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LONG_CLICK\":\"Mw==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"Pw==\",\"DT_MUSIC_STREAMS_FIRST_CLICK\":\"Mw==\"}}],\"lang\":0,\"text\":\"billy joel vienna\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LAST_CLICK\":\"Pw==\"}}],\"lang\":0,\"text\":\"the essential\"},{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_SINGLE_CLICK\":\"lA==\",\"DT_MUSIC_STREAMS_LONG_CLICK\":\"Wg==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"kw==\",\"DT_MUSIC_STREAMS_FIRST_CLICK\":\"ig==\"}}],\"lang\":0,\"text\":\"билли джоэл\"}],\"type\":\"#a\"},\"tracks_total_likes\":[{\"value\":0,\"type\":\"#f\"}],\"AlbumVersionRank\":[{\"value\":0.5,\"type\":\"#f\"}],\"albums_count_of_fast_skip_listening\":[{\"value\":0.0123243,\"type\":\"#f\"}],\"alb_id\":[{\"value\":\"67170\",\"type\":\"#p\"},{\"value\":67170,\"type\":\"#g\"}],\"type\":[{\"value\":\"2\",\"type\":\"#p\"},{\"value\":2,\"type\":\"#g\"}],\"i_is_podcast_episode\":[{\"value\":0,\"type\":\"#i\"}],\"IsAlbum\":[{\"value\":1,\"type\":\"#f\"}],\"artists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"albums_track_likes\":[{\"value\":0.0156137,\"type\":\"#f\"}],\"z_alb_name\":{\"type\":\"#z\",\"value\":\" essential billy joel\"},\"albums_count_of_non_skip_listening\":[{\"value\":0.0161542,\"type\":\"#f\"}],\"IsTrack\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"s_rights\":[{\"value\":\"225\",\"type\":\"#l\"},{\"value\":\"225mp\",\"type\":\"#l\"}],\"tracks_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"grp_name\":[{\"value\":\"Billy Joel\",\"type\":\"#p\"}],\"MusicLinkRank\":[{\"value\":0.667641,\"type\":\"#f\"}],\"tracks_count_of_users\":[{\"value\":0,\"type\":\"#f\"}],\"options\":{\"language_default\":\"ru\",\"realtime\":false,\"mime_type\":\"text/plain\"},\"FreshAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"grp_ex\":[{\"value\":\"<artist id=\\\"6653\\\" ><name>Billy Joel</name></artist>\",\"type\":\"#p\"}],\"title\":{\"type\":\"#z\",\"value\":\"Billy Joel The Essential Billy Joel\"},\"IsGenericRadio\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_albums\":[{\"value\":0.00772627,\"type\":\"#f\"}],\"tracks_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"IsJunk\":[{\"value\":0,\"type\":\"#f\"}],\"url\":\"https://music.yandex.ru/album/67170?from=serp\",\"tracks_count_of_non_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_recom_listening\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsRemix\":[{\"value\":0,\"type\":\"#f\"}],\"CTR\":[{\"value\":0.00597118,\"type\":\"#f\"}],\"is_podcast_episode\":[{\"value\":\"0\",\"type\":\"#p\"}],\"tracks_count_of_fast_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"albums_total_listening\":[{\"value\":0.0152387,\"type\":\"#f\"}],\"i_type\":[{\"value\":2,\"type\":\"#i\"}],\"explicit\":[{\"value\":\"0\",\"type\":\"#p\"}],\"i_label\":[{\"value\":7054,\"type\":\"#i\"}],\"CTRVeryLong\":[{\"value\":0.00177655,\"type\":\"#f\"}],\"rank\":[{\"value\":\"0.6676411595723042\",\"type\":\"#p\"}],\"UserId\":[{\"value\":0,\"type\":\"#F\"}],\"z_descriptor\":{\"type\":\"#z\",\"value\":\"альбом. album. albüm. אלבום\"},\"tracks_radio_likes\":[{\"value\":0,\"type\":\"#f\"}],\"alb_cover\":[{\"value\":\"1\",\"type\":\"#p\"}],\"IsPlaylist\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"NormalizedPopularity\":[{\"value\":0.661028,\"type\":\"#f\"}],\"artists_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_playlists\":[{\"value\":0.0279521,\"type\":\"#f\"}],\"regions\":[{\"value\":\"10099\",\"type\":\"#p\"},{\"value\":\"10099mp\",\"type\":\"#p\"},{\"value\":\"149\",\"type\":\"#p\"},{\"value\":\"149mp\",\"type\":\"#p\"},{\"value\":\"159\",\"type\":\"#p\"},{\"value\":\"159mp\",\"type\":\"#p\"},{\"value\":\"167\",\"type\":\"#p\"},{\"value\":\"167mp\",\"type\":\"#p\"},{\"value\":\"168\",\"type\":\"#p\"},{\"value\":\"168mp\",\"type\":\"#p\"},{\"value\":\"169\",\"type\":\"#p\"},{\"value\":\"169mp\",\"type\":\"#p\"},{\"value\":\"170\",\"type\":\"#p\"},{\"value\":\"170mp\",\"type\":\"#p\"},{\"value\":\"171\",\"type\":\"#p\"},{\"value\":\"171mp\",\"type\":\"#p\"},{\"value\":\"181\",\"type\":\"#p\"},{\"value\":\"181mp\",\"type\":\"#p\"},{\"value\":\"187\",\"type\":\"#p\"},{\"value\":\"187mp\",\"type\":\"#p\"},{\"value\":\"207\",\"type\":\"#p\"},{\"value\":\"207mp\",\"type\":\"#p\"},{\"value\":\"208\",\"type\":\"#p\"},{\"value\":\"208mp\",\"type\":\"#p\"},{\"value\":\"209\",\"type\":\"#p\"},{\"value\":\"209mp\",\"type\":\"#p\"},{\"value\":\"225\",\"type\":\"#p\"},{\"value\":\"225mp\",\"type\":\"#p\"}],\"artists_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"i_is_podcast\":[{\"value\":0,\"type\":\"#i\"}],\"IsArtist\":[{\"value\":0,\"type\":\"#f\"}],\"alb_name\":[{\"value\":\"The Essential Billy Joel\",\"type\":\"#p\"}],\"artists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_title\":{\"type\":\"#z\",\"value\":\" essential billy joel\"},\"IsTribute\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"CTRLong\":[{\"value\":0.00256613,\"type\":\"#f\"}],\"is_podcast\":[{\"value\":\"0\",\"type\":\"#p\"}],\"z_grp_name\":{\"type\":\"#z\",\"value\":\"billy joel\"},\"IsUgc\":[{\"value\":0,\"type\":\"#f\"}],\"Explicit\":[{\"value\":0,\"type\":\"#f\"}],\"genre_name\":[{\"value\":\"worldwide rock\",\"type\":\"#p\"},{\"value\":\"xarici rok\",\"type\":\"#p\"},{\"value\":\"xorijiy rok\",\"type\":\"#p\"},{\"value\":\"yabancı rock müziği\",\"type\":\"#p\"},{\"value\":\"замежны рок\",\"type\":\"#p\"},{\"value\":\"иностранный рок\",\"type\":\"#p\"},{\"value\":\"шетелдік рок\",\"type\":\"#p\"},{\"value\":\"іноземний рок\",\"type\":\"#p\"},{\"value\":\"օտարերկրյա ռոք\",\"type\":\"#p\"},{\"value\":\"רוק מכל העולם\",\"type\":\"#p\"},{\"value\":\"უცხოური როკი\",\"type\":\"#p\"}],\"IsGenre\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"alb_year\":[{\"value\":\"2001\",\"type\":\"#p\"}],\"TrackVersionRank\":[{\"value\":0,\"type\":\"#f\"}],\"LogShown\":[{\"value\":9.91665,\"type\":\"#f\"}],\"various\":[{\"value\":\"0\",\"type\":\"#p\"}],\"s_genre_bound_id\":[{\"value\":\"rock\",\"type\":\"#l\"}],\"grp_id\":[{\"value\":\"6653\",\"type\":\"#p\"},{\"value\":6653,\"type\":\"#g\"}]}],\"action\":\"modify\",\"prefix\":1}"),
        // artists
        TStringBuf("{\"docs\":[{\"sort_by_me\":[{\"value\":2,\"type\":\"#f\"}],\"z_performer\":{\"type\":\"#z\",\"value\":\"billy joel. בילי ג'ואל. ビリージョエル. billy  joel. ビリー・ジョエル. 比利喬. билли джоэль. біллі джоель. b. joel (b. 1949). b. joel (b. i9a9). билли джоел. біллі джоел. билли джоэл. b. joël. b. joel. джоэл, билли. джоел, біллі\"},\"IsRadio\":[{\"value\":0,\"type\":\"#f\"}],\"artists_artist_likes\":[{\"value\":0.00356143,\"type\":\"#f\"}],\"IsLive\":[{\"value\":0,\"type\":\"#f\"}],\"z_strict_title\":{\"type\":\"#z\",\"value\":\"billy joel\"},\"IsUser\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_projects_participations\":{\"type\":\"#z\",\"value\":\" hassles. attila (rock band).  lost souls. attila (banda de rock). attila. usa for africa. u.s.a. for africa\"},\"dssm_bigrams_l2\":{\"value\":{\"version\":\"20201023\",\"value\":\"mJB4cG7PQIOOIkAAP8F0m12s1G+7v5EGLEPIVeZZo4h7o2p4c4szjqOqlEq2mnaoq50=\"},\"type\":\"#E\"},\"dup\":[{\"value\":\"a87e8ac65fa96857454e309325db534e\",\"type\":\"#h\"}],\"alb_storage_dir\":[{\"value\":\"80e6aa25.p.6653\",\"type\":\"#p\"}],\"albums_album_likes\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_total_likes\":[{\"value\":0,\"type\":\"#f\"}],\"AlbumVersionRank\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"type\":[{\"value\":\"3\",\"type\":\"#p\"},{\"value\":3,\"type\":\"#g\"}],\"i_is_podcast_episode\":[{\"value\":0,\"type\":\"#i\"}],\"IsAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"artists_total_listening\":[{\"value\":0.0161147,\"type\":\"#f\"}],\"albums_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsTrack\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"s_rights\":[{\"value\":\"225\",\"type\":\"#l\"},{\"value\":\"225mp\",\"type\":\"#l\"}],\"tracks_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"grp_name\":[{\"value\":\"Billy Joel\",\"type\":\"#p\"}],\"MusicLinkRank\":[{\"value\":0.681163,\"type\":\"#f\"}],\"tracks_count_of_users\":[{\"value\":0,\"type\":\"#f\"}],\"options\":{\"language_default\":\"ru\",\"realtime\":false,\"mime_type\":\"text/plain\"},\"FreshAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"grp_ex\":[{\"value\":\"<artist id=\\\"6653\\\" ><name>Billy Joel</name></artist>\",\"type\":\"#p\"}],\"IsGenericRadio\":[{\"value\":0,\"type\":\"#f\"}],\"title\":{\"type\":\"#z\",\"value\":\"Billy Joel\"},\"albums_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"IsJunk\":[{\"value\":0,\"type\":\"#f\"}],\"url\":\"https://music.yandex.ru/artist/6653?from=serp\",\"tracks_count_of_non_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_recom_listening\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsRemix\":[{\"value\":0,\"type\":\"#f\"}],\"CTR\":[{\"value\":0.0184989,\"type\":\"#f\"}],\"is_podcast_episode\":[{\"value\":\"0\",\"type\":\"#p\"}],\"tracks_count_of_fast_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"albums_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"i_type\":[{\"value\":3,\"type\":\"#i\"}],\"CTRVeryLong\":[{\"value\":0.00969214,\"type\":\"#f\"}],\"rank\":[{\"value\":\"0.6811629275266265\",\"type\":\"#p\"}],\"UserId\":[{\"value\":0,\"type\":\"#F\"}],\"z_descriptor\":{\"type\":\"#z\",\"value\":\"исполнитель. виконавець. исполнительница. виконавиця. performer. band. group. музыкант. музикант. певец. співак. певица. співачка. группа. група. гурухи. artist. guruhi. להקה. זמרת. זמר\"},\"tracks_radio_likes\":[{\"value\":0,\"type\":\"#f\"}],\"IsPlaylist\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_non_skip_listening\":[{\"value\":0.0154812,\"type\":\"#f\"}],\"NormalizedPopularity\":[{\"value\":0.67791,\"type\":\"#f\"}],\"artists_count_of_playlists\":[{\"value\":0.0522954,\"type\":\"#f\"}],\"albums_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"regions\":[{\"value\":\"10099\",\"type\":\"#p\"},{\"value\":\"10099mp\",\"type\":\"#p\"},{\"value\":\"149\",\"type\":\"#p\"},{\"value\":\"149mp\",\"type\":\"#p\"},{\"value\":\"159\",\"type\":\"#p\"},{\"value\":\"159mp\",\"type\":\"#p\"},{\"value\":\"167\",\"type\":\"#p\"},{\"value\":\"167mp\",\"type\":\"#p\"},{\"value\":\"168\",\"type\":\"#p\"},{\"value\":\"168mp\",\"type\":\"#p\"},{\"value\":\"169\",\"type\":\"#p\"},{\"value\":\"169mp\",\"type\":\"#p\"},{\"value\":\"170\",\"type\":\"#p\"},{\"value\":\"170mp\",\"type\":\"#p\"},{\"value\":\"171\",\"type\":\"#p\"},{\"value\":\"171mp\",\"type\":\"#p\"},{\"value\":\"181\",\"type\":\"#p\"},{\"value\":\"181mp\",\"type\":\"#p\"},{\"value\":\"187\",\"type\":\"#p\"},{\"value\":\"187mp\",\"type\":\"#p\"},{\"value\":\"207\",\"type\":\"#p\"},{\"value\":\"207mp\",\"type\":\"#p\"},{\"value\":\"208\",\"type\":\"#p\"},{\"value\":\"208mp\",\"type\":\"#p\"},{\"value\":\"209\",\"type\":\"#p\"},{\"value\":\"209mp\",\"type\":\"#p\"},{\"value\":\"225\",\"type\":\"#p\"},{\"value\":\"225mp\",\"type\":\"#p\"}],\"artists_track_likes\":[{\"value\":0.0178931,\"type\":\"#f\"}],\"i_is_podcast\":[{\"value\":0,\"type\":\"#i\"}],\"IsArtist\":[{\"value\":1,\"type\":\"#f\"}],\"artists_count_of_fast_skip_listening\":[{\"value\":0.0147203,\"type\":\"#f\"}],\"z_title\":{\"type\":\"#z\",\"value\":\"billy joel. בילי ג'ואל. ビリージョエル. billy  joel. ビリー・ジョエル. 比利喬. билли джоэль. біллі джоель. b. joel (b. 1949). b. joel (b. i9a9). билли джоел. біллі джоел. билли джоэл. b. joël. b. joel. джоэл, билли. джоел, біллі\"},\"IsTribute\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_albums\":[{\"value\":0.00894339,\"type\":\"#f\"}],\"CTRLong\":[{\"value\":0.0120592,\"type\":\"#f\"}],\"is_podcast\":[{\"value\":\"0\",\"type\":\"#p\"}],\"z_grp_name\":{\"type\":\"#z\",\"value\":\"billy joel\"},\"IsUgc\":[{\"value\":0,\"type\":\"#f\"}],\"Explicit\":[{\"value\":0,\"type\":\"#f\"}],\"i_radio\":[{\"value\":1,\"type\":\"#i\"}],\"genre_name\":[{\"value\":\"clasică\",\"type\":\"#p\"},{\"value\":\"classical\",\"type\":\"#p\"},{\"value\":\"dünya klasikleri\",\"type\":\"#p\"},{\"value\":\"dünya klassikası\",\"type\":\"#p\"},{\"value\":\"klassik musiqa\",\"type\":\"#p\"},{\"value\":\"pop\",\"type\":\"#p\"},{\"value\":\"worldwide rock\",\"type\":\"#p\"},{\"value\":\"xarici rok\",\"type\":\"#p\"},{\"value\":\"xorijiy rok\",\"type\":\"#p\"},{\"value\":\"yabancı rock müziği\",\"type\":\"#p\"},{\"value\":\"академическая музыка\",\"type\":\"#p\"},{\"value\":\"замежны рок\",\"type\":\"#p\"},{\"value\":\"иностранный рок\",\"type\":\"#p\"},{\"value\":\"классика\",\"type\":\"#p\"},{\"value\":\"классикалық музыка\",\"type\":\"#p\"},{\"value\":\"классическая музыка\",\"type\":\"#p\"},{\"value\":\"мировая классика\",\"type\":\"#p\"},{\"value\":\"музыкальная классика\",\"type\":\"#p\"},{\"value\":\"поп\",\"type\":\"#p\"},{\"value\":\"попса\",\"type\":\"#p\"},{\"value\":\"світова класика\",\"type\":\"#p\"},{\"value\":\"сусветная класіка\",\"type\":\"#p\"},{\"value\":\"шетелдік рок\",\"type\":\"#p\"},{\"value\":\"іноземний рок\",\"type\":\"#p\"},{\"value\":\"համաշխարհային դասական երկեր\",\"type\":\"#p\"},{\"value\":\"փոփ\",\"type\":\"#p\"},{\"value\":\"օտարերկրյա ռոք\",\"type\":\"#p\"},{\"value\":\"מוזיקה קלאסית\",\"type\":\"#p\"},{\"value\":\"פופ\",\"type\":\"#p\"},{\"value\":\"רוק מכל העולם\",\"type\":\"#p\"},{\"value\":\"მსოფლიო კლასიკა\",\"type\":\"#p\"},{\"value\":\"პოპი\",\"type\":\"#p\"},{\"value\":\"უცხოური როკი\",\"type\":\"#p\"}],\"IsGenre\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"grp_data\":[{\"value\":\"<popular-tracks><track id=\\\"628074\\\" duration=\\\"197\\\" duration-millis=\\\"197700\\\"><title>Uptown Girl</title><album id=\\\"15296697\\\" storage-dir=\\\"98780a36.a.15296697\\\"><title>Best Summer Hits</title><cover id=\\\"1\\\"></cover></album><region>10099</region><region>10099mp</region><region>149</region><region>149mp</region><region>159</region><region>159mp</region><region>167</region><region>167mp</region><region>168</region><region>168mp</region><region>169</region><region>169mp</region><region>170</region><region>170mp</region><region>171</region><region>171mp</region><region>181</region><region>181mp</region><region>187</region><region>187mp</region><region>207</region><region>207mp</region><region>208</region><region>208mp</region><region>209</region><region>209mp</region><region>225</region><region>225mp</region></track><track id=\\\"628131\\\" duration=\\\"231\\\" duration-millis=\\\"231170\\\"><title>Honesty</title><album id=\\\"67170\\\" storage-dir=\\\"c7d6e721.a.67170\\\"><title>The Essential Billy Joel</title><cover id=\\\"1\\\"></cover></album><region>10099</region><region>10099mp</region><region>149</region><region>149mp</region><region>159</region><region>159mp</region><region>167</region><region>167mp</region><region>168</region><region>168mp</region><region>169</region><region>169mp</region><region>170</region><region>170mp</region><region>171</region><region>171mp</region><region>181</region><region>181mp</region><region>187</region><region>187mp</region><region>207</region><region>207mp</region><region>208</region><region>208mp</region><region>209</region><region>209mp</region><region>225</region><region>225mp</region></track><track id=\\\"628243\\\" duration=\\\"222\\\" duration-millis=\\\"222840\\\"><title>The Downeaster 'Alexa'</title><album id=\\\"1837028\\\" storage-dir=\\\"3d2b3bd1.a.1837028\\\"><title>My Lives</title><cover id=\\\"1\\\"></cover></album><region>10099</region><region>10099mp</region><region>149</region><region>149mp</region><region>159</region><region>159mp</region><region>167</region><region>167mp</region><region>168</region><region>168mp</region><region>169</region><region>169mp</region><region>170</region><region>170mp</region><region>171</region><region>171mp</region><region>181</region><region>181mp</region><region>187</region><region>187mp</region><region>207</region><region>207mp</region><region>208</region><region>208mp</region><region>209</region><region>209mp</region><region>225</region><region>225mp</region></track></popular-tracks>\",\"type\":\"#p\"}],\"tracks_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"TrackVersionRank\":[{\"value\":0,\"type\":\"#f\"}],\"LogShown\":[{\"value\":12.5308,\"type\":\"#f\"}],\"various\":[{\"value\":\"0\",\"type\":\"#p\"}],\"s_genre_bound_id\":[{\"value\":\"classical\",\"type\":\"#l\"},{\"value\":\"pop\",\"type\":\"#l\"},{\"value\":\"rock\",\"type\":\"#l\"}],\"grp_id\":[{\"value\":\"6653\",\"type\":\"#p\"},{\"value\":6653,\"type\":\"#g\"}]}],\"action\":\"modify\",\"prefix\":1}"),
        TStringBuf("{\"docs\":[{\"sort_by_me\":[{\"value\":1,\"type\":\"#f\"}],\"z_performer\":{\"type\":\"#z\",\"value\":\"joel cohen. joël cohen. ｊｏｅｌｃｏｈｅｎ. джоел коэн. джоел коен. джоэл кохен. джоел кохен. джоэль коэн. джоель коен. джоэл коэн. коин. коін. кохен. коэн. коен. коген. кохан. коэна. коена. коуэн. коуен. кохэн. коган. когэн. джоэл исраэль коэн. джоел ісраель коен. джоэл кохену. джоел кохену. joel coen. джоэл коен\"},\"IsRadio\":[{\"value\":0,\"type\":\"#f\"}],\"artists_artist_likes\":[{\"value\":0,\"type\":\"#f\"}],\"IsLive\":[{\"value\":0,\"type\":\"#f\"}],\"z_strict_title\":{\"type\":\"#z\",\"value\":\"joel cohen\"},\"IsUser\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"z_projects_participations\":{\"type\":\"#z\",\"value\":\" boston camerata. boston camerata.  cambridge consort. камерата медитерранеа. camerata mediterrànea. camerata mediterranea\"},\"dssm_bigrams_l2\":{\"value\":{\"version\":\"20201023\",\"value\":\"apGkXYybdoi6NSIoH7Sicmh82oTNsLEAQ1jSU+ZkqXtouZFWbYRkr3bahQWa1ndxh6Q=\"},\"type\":\"#E\"},\"dup\":[{\"value\":\"a8099d2fd66ba772e6c47e87fc0dbcca\",\"type\":\"#h\"}],\"alb_storage_dir\":[{\"value\":\"4587c8b9.a.17111834\",\"type\":\"#p\"}],\"albums_album_likes\":[{\"value\":0,\"type\":\"#f\"}],\"annotations\":{\"value\":[{\"regions\":[{\"region\":0,\"streams\":{\"DT_MUSIC_STREAMS_LONG_CLICK\":\"/w==\",\"DT_MUSIC_STREAMS_LAST_CLICK\":\"/w==\",\"DT_MUSIC_STREAMS_FIRST_CLICK\":\"/w==\"}}],\"lang\":0,\"text\":\"joel cohen\"}],\"type\":\"#a\"},\"tracks_total_likes\":[{\"value\":0,\"type\":\"#f\"}],\"AlbumVersionRank\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"type\":[{\"value\":\"3\",\"type\":\"#p\"},{\"value\":3,\"type\":\"#g\"}],\"i_is_podcast_episode\":[{\"value\":0,\"type\":\"#i\"}],\"IsAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"artists_total_listening\":[{\"value\":3.3061e-06,\"type\":\"#f\"}],\"albums_track_likes\":[{\"value\":0,\"type\":\"#f\"}],\"albums_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsTrack\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"s_rights\":[{\"value\":\"225\",\"type\":\"#l\"},{\"value\":\"225mp\",\"type\":\"#l\"}],\"tracks_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"grp_name\":[{\"value\":\"Joel Cohen\",\"type\":\"#p\"}],\"MusicLinkRank\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_users\":[{\"value\":0,\"type\":\"#f\"}],\"options\":{\"language_default\":\"ru\",\"realtime\":false,\"mime_type\":\"text/plain\"},\"FreshAlbum\":[{\"value\":0,\"type\":\"#f\"}],\"grp_ex\":[{\"value\":\"<artist id=\\\"30776\\\" ><name>Joel Cohen</name></artist>\",\"type\":\"#p\"}],\"IsGenericRadio\":[{\"value\":0,\"type\":\"#f\"}],\"title\":{\"type\":\"#z\",\"value\":\"Joel Cohen\"},\"albums_count_of_albums\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"IsJunk\":[{\"value\":0,\"type\":\"#f\"}],\"url\":\"https://music.yandex.ru/artist/30776?from=serp\",\"tracks_count_of_non_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_recom_listening\":[{\"value\":0,\"type\":\"#f\"}],\"playlists_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_count_of_fast_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"IsRemix\":[{\"value\":0,\"type\":\"#f\"}],\"CTR\":[{\"value\":0.00162955,\"type\":\"#f\"}],\"is_podcast_episode\":[{\"value\":\"0\",\"type\":\"#p\"}],\"tracks_count_of_fast_skip_listening_on_recom\":[{\"value\":0,\"type\":\"#f\"}],\"albums_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"i_type\":[{\"value\":3,\"type\":\"#i\"}],\"CTRVeryLong\":[{\"value\":0.000543183,\"type\":\"#f\"}],\"rank\":[{\"value\":\"0\",\"type\":\"#p\"}],\"UserId\":[{\"value\":0,\"type\":\"#F\"}],\"z_descriptor\":{\"type\":\"#z\",\"value\":\"исполнитель. виконавець. исполнительница. виконавиця. performer. band. group. музыкант. музикант. певец. співак. певица. співачка. группа. група. гурухи. artist. guruhi. להקה. זמרת. זמר\"},\"tracks_radio_likes\":[{\"value\":0,\"type\":\"#f\"}],\"alb_cover\":[{\"value\":\"1\",\"type\":\"#p\"}],\"IsPlaylist\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_non_skip_listening\":[{\"value\":1.92561e-06,\"type\":\"#f\"}],\"NormalizedPopularity\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_playlists\":[{\"value\":8.61566e-06,\"type\":\"#f\"}],\"albums_count_of_playlists\":[{\"value\":0,\"type\":\"#f\"}],\"regions\":[{\"value\":\"10099\",\"type\":\"#p\"},{\"value\":\"10099mp\",\"type\":\"#p\"},{\"value\":\"149\",\"type\":\"#p\"},{\"value\":\"149mp\",\"type\":\"#p\"},{\"value\":\"159\",\"type\":\"#p\"},{\"value\":\"159mp\",\"type\":\"#p\"},{\"value\":\"167\",\"type\":\"#p\"},{\"value\":\"167mp\",\"type\":\"#p\"},{\"value\":\"168\",\"type\":\"#p\"},{\"value\":\"168mp\",\"type\":\"#p\"},{\"value\":\"169\",\"type\":\"#p\"},{\"value\":\"169mp\",\"type\":\"#p\"},{\"value\":\"170\",\"type\":\"#p\"},{\"value\":\"170mp\",\"type\":\"#p\"},{\"value\":\"171\",\"type\":\"#p\"},{\"value\":\"171mp\",\"type\":\"#p\"},{\"value\":\"181\",\"type\":\"#p\"},{\"value\":\"181mp\",\"type\":\"#p\"},{\"value\":\"187\",\"type\":\"#p\"},{\"value\":\"187mp\",\"type\":\"#p\"},{\"value\":\"207\",\"type\":\"#p\"},{\"value\":\"207mp\",\"type\":\"#p\"},{\"value\":\"208\",\"type\":\"#p\"},{\"value\":\"208mp\",\"type\":\"#p\"},{\"value\":\"209\",\"type\":\"#p\"},{\"value\":\"209mp\",\"type\":\"#p\"},{\"value\":\"225\",\"type\":\"#p\"},{\"value\":\"225mp\",\"type\":\"#p\"}],\"artists_track_likes\":[{\"value\":2.91222e-06,\"type\":\"#f\"}],\"i_is_podcast\":[{\"value\":0,\"type\":\"#i\"}],\"IsArtist\":[{\"value\":1,\"type\":\"#f\"}],\"artists_count_of_fast_skip_listening\":[{\"value\":6.0571e-06,\"type\":\"#f\"}],\"z_title\":{\"type\":\"#z\",\"value\":\"joel cohen. joël cohen. ｊｏｅｌｃｏｈｅｎ. джоел коэн. джоел коен. джоэл кохен. джоел кохен. джоэль коэн. джоель коен. джоэл коэн. коин. коін. кохен. коэн. коен. коген. кохан. коэна. коена. коуэн. коуен. кохэн. коган. когэн. джоэл исраэль коэн. джоел ісраель коен. джоэл кохену. джоел кохену. joel coen. джоэл коен\"},\"IsTribute\":[{\"value\":0,\"type\":\"#f\"}],\"artists_count_of_albums\":[{\"value\":0.0028582,\"type\":\"#f\"}],\"CTRLong\":[{\"value\":0.000543183,\"type\":\"#f\"}],\"is_podcast\":[{\"value\":\"0\",\"type\":\"#p\"}],\"z_grp_name\":{\"type\":\"#z\",\"value\":\"joel cohen\"},\"IsUgc\":[{\"value\":0,\"type\":\"#f\"}],\"Explicit\":[{\"value\":0,\"type\":\"#f\"}],\"i_radio\":[{\"value\":1,\"type\":\"#i\"}],\"genre_name\":[{\"value\":\"caz\",\"type\":\"#p\"},{\"value\":\"clasică\",\"type\":\"#p\"},{\"value\":\"classical\",\"type\":\"#p\"},{\"value\":\"dünya klasikleri\",\"type\":\"#p\"},{\"value\":\"dünya klassikası\",\"type\":\"#p\"},{\"value\":\"jaz\",\"type\":\"#p\"},{\"value\":\"jazz\",\"type\":\"#p\"},{\"value\":\"klassik musiqa\",\"type\":\"#p\"},{\"value\":\"pop\",\"type\":\"#p\"},{\"value\":\"академическая музыка\",\"type\":\"#p\"},{\"value\":\"джаз\",\"type\":\"#p\"},{\"value\":\"джазец\",\"type\":\"#p\"},{\"value\":\"джазик\",\"type\":\"#p\"},{\"value\":\"классика\",\"type\":\"#p\"},{\"value\":\"классикалық музыка\",\"type\":\"#p\"},{\"value\":\"классическая музыка\",\"type\":\"#p\"},{\"value\":\"мировая классика\",\"type\":\"#p\"},{\"value\":\"музыкальная классика\",\"type\":\"#p\"},{\"value\":\"поп\",\"type\":\"#p\"},{\"value\":\"попса\",\"type\":\"#p\"},{\"value\":\"світова класика\",\"type\":\"#p\"},{\"value\":\"сусветная класіка\",\"type\":\"#p\"},{\"value\":\"համաշխարհային դասական երկեր\",\"type\":\"#p\"},{\"value\":\"ջազ\",\"type\":\"#p\"},{\"value\":\"փոփ\",\"type\":\"#p\"},{\"value\":\"ג אז\",\"type\":\"#p\"},{\"value\":\"מוזיקה קלאסית\",\"type\":\"#p\"},{\"value\":\"פופ\",\"type\":\"#p\"},{\"value\":\"მსოფლიო კლასიკა\",\"type\":\"#p\"},{\"value\":\"პოპი\",\"type\":\"#p\"},{\"value\":\"ჯაზი\",\"type\":\"#p\"}],\"IsGenre\":[{\"value\":0,\"type\":\"#f\"}],\"tracks_total_listening\":[{\"value\":0,\"type\":\"#f\"}],\"grp_data\":[{\"value\":\"<popular-tracks><track id=\\\"1798152\\\" duration=\\\"142\\\" duration-millis=\\\"142060\\\"><title>Anon / Arr Cohen : Carmina Burana [c1230] : \\\"Curritur ad vocem\\\"</title><album id=\\\"178304\\\" storage-dir=\\\"fff8e620.a.178304\\\"><title>Carmina Burana [c1230]</title><cover id=\\\"1\\\"></cover></album><region>10099</region><region>10099mp</region><region>149</region><region>149mp</region><region>159</region><region>159mp</region><region>167</region><region>167mp</region><region>168</region><region>168mp</region><region>169</region><region>169mp</region><region>170</region><region>170mp</region><region>171</region><region>171mp</region><region>181</region><region>181mp</region><region>187</region><region>187mp</region><region>207</region><region>207mp</region><region>208</region><region>208mp</region><region>209</region><region>209mp</region><region>225</region><region>225mp</region></track><track id=\\\"1798153\\\" duration=\\\"75\\\" duration-millis=\\\"75400\\\"><title>Anon / Arr Cohen : Carmina Burana [c1230] : \\\"Dic, Christi veritas\\\"</title><album id=\\\"178304\\\" storage-dir=\\\"fff8e620.a.178304\\\"><title>Carmina Burana [c1230]</title><cover id=\\\"1\\\"></cover></album><region>10099</region><region>10099mp</region><region>149</region><region>149mp</region><region>159</region><region>159mp</region><region>167</region><region>167mp</region><region>168</region><region>168mp</region><region>169</region><region>169mp</region><region>170</region><region>170mp</region><region>171</region><region>171mp</region><region>181</region><region>181mp</region><region>187</region><region>187mp</region><region>207</region><region>207mp</region><region>208</region><region>208mp</region><region>209</region><region>209mp</region><region>225</region><region>225mp</region></track><track id=\\\"1798154\\\" duration=\\\"159\\\" duration-millis=\\\"159130\\\"><title>Anon / Arr Cohen : Carmina Burana [c1230] : \\\"Ecce chorus virginum\\\"</title><album id=\\\"178304\\\" storage-dir=\\\"fff8e620.a.178304\\\"><title>Carmina Burana [c1230]</title><cover id=\\\"1\\\"></cover></album><region>10099</region><region>10099mp</region><region>149</region><region>149mp</region><region>159</region><region>159mp</region><region>167</region><region>167mp</region><region>168</region><region>168mp</region><region>169</region><region>169mp</region><region>170</region><region>170mp</region><region>171</region><region>171mp</region><region>181</region><region>181mp</region><region>187</region><region>187mp</region><region>207</region><region>207mp</region><region>208</region><region>208mp</region><region>209</region><region>209mp</region><region>225</region><region>225mp</region></track></popular-tracks>\",\"type\":\"#p\"}],\"tracks_count_of_non_skip_listening\":[{\"value\":0,\"type\":\"#f\"}],\"TrackVersionRank\":[{\"value\":0,\"type\":\"#f\"}],\"LogShown\":[{\"value\":7.51861,\"type\":\"#f\"}],\"various\":[{\"value\":\"0\",\"type\":\"#p\"}],\"s_genre_bound_id\":[{\"value\":\"classical\",\"type\":\"#l\"},{\"value\":\"jazz\",\"type\":\"#l\"},{\"value\":\"pop\",\"type\":\"#l\"}],\"grp_id\":[{\"value\":\"30776\",\"type\":\"#p\"},{\"value\":30776,\"type\":\"#g\"}]}],\"action\":\"modify\",\"prefix\":1}")
    };
    constexpr size_t NumDocs = 6;

    using TExpectedFactors = THashMap<TString, float>;

    const static TVector<TExpectedFactors> EXPECTED_FACTORS = {
        {
            {"IsTrackLike", 1},
            {"IsAlbumLike", 0},
            {"IsArtistLike", 0},
            {"IsTrackByAlbumLike", 0},
            {"IsTrackByArtistLike", 0},
            {"IsArtistByTrackLike", 0},
            {"IsArtistByAlbumLike", 0},
            {"IsTrack", 1},
            {"IsAlbum", 0},
            {"IsArtist", 0},
            {"DssmDotProduct", 0.029311}
        },
        {
            {"IsTrackLike", 0},
            {"IsAlbumLike", 0},
            {"IsArtistLike", 0},
            {"IsTrackByAlbumLike", 1},
            {"IsTrackByArtistLike", 1},
            {"IsArtistByTrackLike", 0},
            {"IsArtistByAlbumLike", 0},
            {"IsTrack", 1},
            {"IsAlbum", 0},
            {"IsArtist", 0},
            {"DssmDotProduct", 0.121431}
        },
        {
            {"IsTrackLike", 0},
            {"IsAlbumLike", 1},
            {"IsArtistLike", 0},
            {"IsTrackByAlbumLike", 0},
            {"IsTrackByArtistLike", 0},
            {"IsArtistByTrackLike", 0},
            {"IsArtistByAlbumLike", 0},
            {"IsTrack", 0},
            {"IsAlbum", 1},
            {"IsArtist", 0},
            {"DssmDotProduct", 0.00418728}
        },
        {
            {"IsTrackLike", 0},
            {"IsAlbumLike", 0},
            {"IsArtistLike", 0},
            {"IsTrackByAlbumLike", 0},
            {"IsTrackByArtistLike", 0},
            {"IsArtistByTrackLike", 0},
            {"IsArtistByAlbumLike", 0},
            {"IsTrack", 0},
            {"IsAlbum", 1},
            {"IsArtist", 0},
            {"DssmDotProduct", -10}
        },
        {
            {"IsTrackLike", 0},
            {"IsAlbumLike", 0},
            {"IsArtistLike", 1},
            {"IsTrackByAlbumLike", 0},
            {"IsTrackByArtistLike", 0},
            {"IsArtistByTrackLike", 1},
            {"IsArtistByAlbumLike", 0},
            {"IsTrack", 0},
            {"IsAlbum", 0},
            {"IsArtist", 1},
            {"DssmDotProduct", -10}
        },
        {
            {"IsTrackLike", 0},
            {"IsAlbumLike", 0},
            {"IsArtistLike", 0},
            {"IsTrackByAlbumLike", 0},
            {"IsTrackByArtistLike", 0},
            {"IsArtistByTrackLike", 0},
            {"IsArtistByAlbumLike", 1},
            {"IsTrack", 0},
            {"IsAlbum", 0},
            {"IsArtist", 1},
            {"DssmDotProduct", -10}
        }
    };

}
    
START_TEST_DEFINE(TestYmusicUserFactors)
public:
    bool Run() override {
        auto messages = PrepareMessages();
        IndexMessages(messages, DISK, 1);
        ReopenIndexers();

        // sort according to "1*sort_by_me"
        auto factors = ReadFactors(
            "joel&relev=relevgeo%3D225&dbgrlv=da&relev=all_factors&fsgta=_JsonFactors&relev=formula%3DF7010000000V3"
                + MusicUserData()
                + GetAllKps(messages),
            __LINE__
        );
        DEBUG_LOG << "Number of documents found: " << factors.size() << Endl;
        CHECK_TEST_FAILED(factors.size() != EXPECTED_FACTORS.size(), "Did not find enough documents");
        for (size_t i = 0; i < factors.size(); i++) {
            DEBUG_LOG << "Checking document #" << i << Endl;
            for (const auto& [factorName, expectedValue]: EXPECTED_FACTORS[i]) {
                factors[i].CheckFactor(factorName, expectedValue);
            }
        }
            
        return true;
    }
private:
    TVector<NRTYServer::TMessage> PrepareMessages() {
        TVector<NRTYServer::TMessage> messages;
        messages.reserve(NumDocs);
        for (const auto& doc : Docs) {
            messages.push_back(NSaas::TAction().ParseFromJson(NJson::ReadJsonFastTree(doc)).ToProtobuf());
            messages.back().MutableDocument()->SetKeyPrefix(0);
        }
        return messages;
    }

    TString BuildSerializedUserData(
        const TVector<long>& trackLikes,
        const TVector<long>& albumLikes,
        const TVector<long>& artistLikes,
        const TVector<long>& artistByTrackLikes,
        const TVector<long>& artistByAlbumLikes
    ) {
        TMusicUserData userData;
        for (long track : trackLikes) {
            userData.AddTrackLikes(track);
        }
        for (long album : albumLikes) {
            userData.AddAlbumLikes(album);
        }
        for (long artist : artistLikes) {
            userData.AddArtistLikes(artist);
        }
        for (long artist : artistByTrackLikes) {
            userData.AddArtistByTrackLikes(artist);
        }
        for (long artist : artistByAlbumLikes) {
            userData.AddArtistByAlbumLikes(artist);
        }
        TString serialized;
        Y_PROTOBUF_SUPPRESS_NODISCARD userData.SerializeToString(&serialized);
        return Base64EncodeUrl(serialized);
    };

    TString DssmRelevPart() {
        NEmbeddingsTransfer::NProto::TModelEmbedding kvEmbedding;
        Y_PROTOBUF_SUPPRESS_NODISCARD kvEmbedding.ParseFromString(Base64Decode("GoABiquBfoY5ho6FV39Vjnh8Z49slH1ugX-IXXOIgIqBc4WVoG91foKaTWh9LZloh95nbIJ6doKAVp95fnKAfwCbhICLfYCSgq9-f3aEfI-Bm6d8f1h9e4Jxf4l-apIra4CgSIJ-QImFeZB2gI50U3e6hbXNh1yKg3Z0jHSBi3umgIAgAioFDezxtj4,"));

        TVector<float> decompressedEmbedding = NEmbeddingsTransfer::DecompressEmbedding(
                kvEmbedding.GetCompressedData(),
                kvEmbedding.GetCompressionType(),
                kvEmbedding.GetCompressionInfo()
        );

        auto encodedEmbedding = Base64EncodeUrl(TStringBuf{
                reinterpret_cast<char*>(decompressedEmbedding.data()), 
                decompressedEmbedding.size() * sizeof(float)});

        return Sprintf(
            "invalidate_caches=da;"
            "store=UserEmbedding:save_float_vector("
                "dssm_decode("
                    "base64_decode(\"%s\"),"
                    "\"Float32\"" 
                ")"
            ");"
            "store=DocEmbedding:preload_doc_embeddings(doc_dssm_array_decompress_with_versions(\"dssm_like_embedding\",\"Float32\",\"dssm_like\"));"
            "calc=DssmDotProduct:if(doc_embedding_exists(\"DocEmbedding\",\"dssm_like\"),"
                "dot_product(load_cached_embedding(\"DocEmbedding\",\"dssm_like\"),load_float_vector(\"UserEmbedding\")),"
                "-10.0"
            ");",
            encodedEmbedding.data()
        );
    }

    TString MusicUserData() {
        TString userData = BuildSerializedUserData({85792767, 1047663, 1}, {1047663, 6653, 2, 71432}, {6653, 85792767, 675153, 3}, {6653, 7}, {30776, 8});
        return TString::Join(
            "&relev=",
            Sprintf("music_user_data=%s;", userData.data()),
            "store=MusicUserData:music_parse_userdata(base64_decode(get_relev(\"music_user_data\")));",
            "calc=IsTrackLike:ymusic_is_track_like(#group_type,#group_track_id,\"MusicUserData\");",
            "calc=IsAlbumLike:ymusic_is_album_like(#group_type,#group_alb_id,\"MusicUserData\");",
            "calc=IsArtistLike:ymusic_is_artist_like(#group_type,#group_grp_id,\"MusicUserData\");",
            "calc=IsTrackByAlbumLike:ymusic_is_track_by_album_like(#group_type,#group_alb_id,\"MusicUserData\");",
            "calc=IsTrackByArtistLike:ymusic_is_track_by_artist_like(#group_type,#group_grp_id,\"MusicUserData\");",
            "calc=IsArtistByTrackLike:ymusic_is_artist_by_track_like(#group_type,#group_grp_id,\"MusicUserData\");",
            "calc=IsArtistByAlbumLike:ymusic_is_artist_by_album_like(#group_type,#group_grp_id,\"MusicUserData\");",
            DssmRelevPart()
        );
    }

    using TFactors = NSaas::TDocFactorsView;

    TVector<TFactors> ReadFactors(const TString& query, int line) {
        DEBUG_LOG << "L" << line <<" Query: " << query << Endl;
        return ReadFactors(query);
    }

    TVector<TFactors> ReadFactors(const TString& query) {
        TVector<TDocSearchInfo> results;
        TVector<TSimpleSharedPtr<THashMultiMap<TString, TString>>> resultProps;
        QuerySearch(query, results, &resultProps);
        TVector<TFactors> factors;
        for (const auto& props : resultProps) {
            auto& docFactors = factors.emplace_back();
            docFactors.AssignFromSearchResult(*props);
            docFactors.DebugPrint();
        }
        return factors;
    }
};
