From c4b4b821a3fa41244d0a8573dc5d4b319fae02db Mon Sep 17 00:00:00 2001 From: Ari Archer Date: Tue, 23 Jan 2024 19:17:04 +0200 Subject: [PATCH] [docx] split commit for file 4800 Signed-off-by: Ari Archer --- .../scripts/models/earlybird/lolly/BUILD | 18 - .../scripts/models/earlybird/lolly/BUILD.docx | Bin 0 -> 36838 bytes .../models/earlybird/lolly/__init__.docx | Bin 0 -> 36611 bytes .../models/earlybird/lolly/__init__.py | 0 .../models/earlybird/lolly/data_helpers.docx | Bin 0 -> 37037 bytes .../models/earlybird/lolly/data_helpers.py | 23 - .../models/earlybird/lolly/parsers.docx | Bin 0 -> 38090 bytes .../scripts/models/earlybird/lolly/parsers.py | 145 ---- .../models/earlybird/lolly/reader.docx | Bin 0 -> 36769 bytes .../scripts/models/earlybird/lolly/reader.py | 8 - .../scripts/models/earlybird/lolly/score.docx | Bin 0 -> 36834 bytes .../scripts/models/earlybird/lolly/score.py | 13 - .../models/earlybird/lolly/scorer.docx | Bin 0 -> 37157 bytes .../scripts/models/earlybird/lolly/scorer.py | 37 - .../lolly/tf_model_initializer_builder.docx | Bin 0 -> 37645 bytes .../lolly/tf_model_initializer_builder.py | 91 --- .../scripts/models/earlybird/metrics.docx | Bin 0 -> 38427 bytes .../scripts/models/earlybird/metrics.py | 120 ---- .../scripts/models/earlybird/tf_model/BUILD | 8 - .../models/earlybird/tf_model/BUILD.docx | Bin 0 -> 36746 bytes .../models/earlybird/tf_model/__init__.docx | Bin 0 -> 36611 bytes .../models/earlybird/tf_model/__init__.py | 0 .../tf_model/discretizer_builder.docx | Bin 0 -> 37309 bytes .../earlybird/tf_model/discretizer_builder.py | 62 -- .../earlybird/tf_model/hashing_utils.docx | Bin 0 -> 37035 bytes .../earlybird/tf_model/hashing_utils.py | 29 - .../tf_model/weights_initializer_builder.docx | Bin 0 -> 37146 bytes .../tf_model/weights_initializer_builder.py | 34 - .../scripts/models/earlybird/train.docx | Bin 0 -> 39690 bytes .../scripts/models/earlybird/train.py | 212 ------ src/scala/com/twitter/graph/batch/BUILD.bazel | 91 --- src/scala/com/twitter/graph/batch/BUILD.docx | Bin 0 -> 37616 bytes .../batch/job/tweepcred/ExtractTweepcred.docx | Bin 0 -> 37780 bytes .../job/tweepcred/ExtractTweepcred.scala | 83 --- .../job/tweepcred/PreparePageRankData.docx | Bin 0 -> 39842 bytes .../job/tweepcred/PreparePageRankData.scala | 275 -------- .../twitter/graph/batch/job/tweepcred/README | 75 --- .../graph/batch/job/tweepcred/README.docx | Bin 0 -> 39626 bytes .../graph/batch/job/tweepcred/Reputation.docx | Bin 0 -> 37394 bytes .../batch/job/tweepcred/Reputation.scala | 50 -- .../job/tweepcred/TweepcredBatchJob.docx | Bin 0 -> 37584 bytes .../job/tweepcred/TweepcredBatchJob.scala | 64 -- .../graph/batch/job/tweepcred/UserMass.docx | Bin 0 -> 37659 bytes .../graph/batch/job/tweepcred/UserMass.scala | 69 -- .../batch/job/tweepcred/WeightedPageRank.docx | Bin 0 -> 39421 bytes .../job/tweepcred/WeightedPageRank.scala | 235 ------- .../com/twitter/interaction_graph/README.docx | Bin 0 -> 37633 bytes .../com/twitter/interaction_graph/README.md | 19 - .../interaction_graph/bqe/scoring/README.docx | Bin 0 -> 38880 bytes .../interaction_graph/bqe/scoring/README.md | 58 -- .../bqe/scoring/candidates.docx | Bin 0 -> 37456 bytes .../bqe/scoring/candidates.sql | 42 -- .../bqe/scoring/check_models.docx | Bin 0 -> 36748 bytes .../bqe/scoring/check_models.sql | 5 - .../bqe/scoring/follow_graph_features.docx | Bin 0 -> 37257 bytes .../bqe/scoring/follow_graph_features.sql | 28 - .../bqe/scoring/scoring.docx | Bin 0 -> 37317 bytes .../interaction_graph/bqe/scoring/scoring.sql | 52 -- .../bqe/training/README.docx | Bin 0 -> 38883 bytes .../interaction_graph/bqe/training/README.md | 60 -- .../bqe/training/candidates.docx | Bin 0 -> 37033 bytes .../bqe/training/candidates.sql | 18 - .../bqe/training/check_candidates_exist.docx | Bin 0 -> 37446 bytes .../bqe/training/check_candidates_exist.sql | 43 -- .../bqe/training/check_labels_exist.docx | Bin 0 -> 36764 bytes .../bqe/training/check_labels_exist.sql | 4 - .../bqe/training/labeled_candidates.docx | Bin 0 -> 37635 bytes .../bqe/training/labeled_candidates.sql | 67 -- .../bqe/training/train_model.docx | Bin 0 -> 37112 bytes .../bqe/training/train_model.sql | 27 - .../twitter/interaction_graph/injection/BUILD | 25 - .../interaction_graph/injection/BUILD.docx | Bin 0 -> 36902 bytes .../injection/EdgeListInjection.docx | Bin 0 -> 36840 bytes .../injection/EdgeListInjection.scala | 14 - .../injection/UserSessionInjection.docx | Bin 0 -> 36851 bytes .../injection/UserSessionInjection.scala | 14 - .../interaction_graph/scio/README.docx | Bin 0 -> 36824 bytes .../twitter/interaction_graph/scio/README.md | 7 - .../scio/agg_address_book/BUILD | 62 -- .../scio/agg_address_book/BUILD.docx | Bin 0 -> 37242 bytes .../InteractionGraphAddressBookCounters.docx | Bin 0 -> 37007 bytes .../InteractionGraphAddressBookCounters.scala | 34 - .../InteractionGraphAddressBookJob.docx | Bin 0 -> 37590 bytes .../InteractionGraphAddressBookJob.scala | 71 -- .../InteractionGraphAddressBookOption.docx | Bin 0 -> 37052 bytes .../InteractionGraphAddressBookOption.scala | 24 - .../InteractionGraphAddressBookSource.docx | Bin 0 -> 37074 bytes .../InteractionGraphAddressBookSource.scala | 28 - .../InteractionGraphAddressBookUtil.docx | Bin 0 -> 37831 bytes .../InteractionGraphAddressBookUtil.scala | 93 --- .../scio/agg_address_book/README.docx | Bin 0 -> 37042 bytes .../scio/agg_address_book/README.md | 34 - .../interaction_graph/scio/agg_all/BUILD | 175 ----- .../interaction_graph/scio/agg_all/BUILD.docx | Bin 0 -> 37687 bytes .../InteractionGraphAggregationConfig.docx | Bin 0 -> 36990 bytes .../InteractionGraphAggregationConfig.scala | 14 - .../InteractionGraphAggregationJob.docx | Bin 0 -> 40287 bytes .../InteractionGraphAggregationJob.scala | 314 --------- .../InteractionGraphAggregationOption.docx | Bin 0 -> 37208 bytes .../InteractionGraphAggregationOption.scala | 36 - .../InteractionGraphAggregationSource.docx | Bin 0 -> 37849 bytes .../InteractionGraphAggregationSource.scala | 182 ----- .../InteractionGraphAggregationTransform.docx | Bin 0 -> 37473 bytes ...InteractionGraphAggregationTransform.scala | 59 -- .../scio/agg_all/README.docx | Bin 0 -> 37222 bytes .../interaction_graph/scio/agg_all/README.md | 38 -- .../scio/agg_client_event_logs/BUILD | 61 -- .../scio/agg_client_event_logs/BUILD.docx | Bin 0 -> 37241 bytes ...teractionGraphClientEventLogsCounters.docx | Bin 0 -> 37020 bytes ...eractionGraphClientEventLogsCounters.scala | 32 - .../InteractionGraphClientEventLogsJob.docx | Bin 0 -> 37562 bytes .../InteractionGraphClientEventLogsJob.scala | 74 -- ...InteractionGraphClientEventLogsOption.docx | Bin 0 -> 37058 bytes ...nteractionGraphClientEventLogsOption.scala | 24 - ...InteractionGraphClientEventLogsSource.docx | Bin 0 -> 37190 bytes ...nteractionGraphClientEventLogsSource.scala | 40 -- .../InteractionGraphClientEventLogsUtil.docx | Bin 0 -> 37802 bytes .../InteractionGraphClientEventLogsUtil.scala | 137 ---- .../scio/agg_client_event_logs/README.docx | Bin 0 -> 37052 bytes .../scio/agg_client_event_logs/README.md | 34 - .../scio/agg_direct_interactions/BUILD | 65 -- .../scio/agg_direct_interactions/BUILD.docx | Bin 0 -> 37323 bytes ...eractionGraphAggDirectInteractionsJob.docx | Bin 0 -> 37564 bytes ...ractionGraphAggDirectInteractionsJob.scala | 79 --- ...ctionGraphAggDirectInteractionsOption.docx | Bin 0 -> 37051 bytes ...tionGraphAggDirectInteractionsOption.scala | 24 - ...ctionGraphAggDirectInteractionsSource.docx | Bin 0 -> 37329 bytes ...tionGraphAggDirectInteractionsSource.scala | 51 -- ...ractionGraphAggDirectInteractionsUtil.docx | Bin 0 -> 38151 bytes ...actionGraphAggDirectInteractionsUtil.scala | 168 ----- .../scio/agg_direct_interactions/README.docx | Bin 0 -> 37048 bytes .../scio/agg_direct_interactions/README.md | 34 - .../interaction_graph/scio/agg_flock/BUILD | 70 -- .../scio/agg_flock/BUILD.docx | Bin 0 -> 37340 bytes .../InteractionGraphAggFlockJob.docx | Bin 0 -> 37749 bytes .../InteractionGraphAggFlockJob.scala | 84 --- .../InteractionGraphAggFlockOption.docx | Bin 0 -> 37047 bytes .../InteractionGraphAggFlockOption.scala | 24 - .../InteractionGraphAggFlockSource.docx | Bin 0 -> 37077 bytes .../InteractionGraphAggFlockSource.scala | 24 - .../InteractionGraphAggFlockUtil.docx | Bin 0 -> 37639 bytes .../InteractionGraphAggFlockUtil.scala | 63 -- .../scio/agg_flock/README.docx | Bin 0 -> 37041 bytes .../scio/agg_flock/README.md | 34 - .../interaction_graph/scio/agg_negative/BUILD | 43 -- .../scio/agg_negative/BUILD.docx | Bin 0 -> 37181 bytes .../InteractionGraphNegativeJob.docx | Bin 0 -> 39011 bytes .../InteractionGraphNegativeJob.scala | 155 ----- .../InteractionGraphNegativeOption.docx | Bin 0 -> 36914 bytes .../InteractionGraphNegativeOption.scala | 18 - .../scio/agg_negative/README.docx | Bin 0 -> 37080 bytes .../scio/agg_negative/README.md | 35 - .../scio/agg_notifications/BUILD | 65 -- .../scio/agg_notifications/BUILD.docx | Bin 0 -> 37377 bytes .../InteractionGraphNotificationUtil.docx | Bin 0 -> 37826 bytes .../InteractionGraphNotificationUtil.scala | 132 ---- .../InteractionGraphNotificationsJob.docx | Bin 0 -> 37888 bytes .../InteractionGraphNotificationsJob.scala | 86 --- .../InteractionGraphNotificationsOption.docx | Bin 0 -> 37044 bytes .../InteractionGraphNotificationsOption.scala | 24 - .../scio/agg_notifications/README.docx | Bin 0 -> 37070 bytes .../scio/agg_notifications/README.md | 34 - .../interaction_graph/scio/common/BUILD | 31 - .../interaction_graph/scio/common/BUILD.docx | Bin 0 -> 37040 bytes .../scio/common/CaseClasses.docx | Bin 0 -> 36955 bytes .../scio/common/CaseClasses.scala | 21 - .../scio/common/ConversionUtil.docx | Bin 0 -> 38069 bytes .../scio/common/ConversionUtil.scala | 110 --- .../scio/common/DateUtil.docx | Bin 0 -> 36905 bytes .../scio/common/DateUtil.scala | 27 - .../scio/common/EdgeFeatureCombiner.docx | Bin 0 -> 39629 bytes .../scio/common/EdgeFeatureCombiner.scala | 350 ---------- .../scio/common/FeatureGeneratorUtil.docx | Bin 0 -> 39118 bytes .../scio/common/FeatureGeneratorUtil.scala | 263 -------- .../scio/common/FeatureGroups.docx | Bin 0 -> 36949 bytes .../scio/common/FeatureGroups.scala | 30 - .../scio/common/GraphUtil.docx | Bin 0 -> 37606 bytes .../scio/common/GraphUtil.scala | 93 --- .../scio/common/InteractionGraphUtils.docx | Bin 0 -> 37101 bytes .../scio/common/InteractionGraphUtils.scala | 40 -- .../scio/common/UserUtil.docx | Bin 0 -> 37518 bytes .../scio/common/UserUtil.scala | 76 --- .../scio/common/VertexFeatureCombiner.docx | Bin 0 -> 39418 bytes .../scio/common/VertexFeatureCombiner.scala | 342 ---------- .../interaction_graph/scio/ml/labels/BUILD | 49 -- .../scio/ml/labels/BUILD.docx | Bin 0 -> 37242 bytes .../ml/labels/InteractionGraphLabelsJob.docx | Bin 0 -> 38331 bytes .../ml/labels/InteractionGraphLabelsJob.scala | 123 ---- .../labels/InteractionGraphLabelsOption.docx | Bin 0 -> 37072 bytes .../labels/InteractionGraphLabelsOption.scala | 28 - .../scio/ml/labels/LabelUtil.docx | Bin 0 -> 37318 bytes .../scio/ml/labels/LabelUtil.scala | 63 -- .../scio/ml/labels/README.docx | Bin 0 -> 37045 bytes .../scio/ml/labels/README.md | 34 - .../interaction_graph/scio/ml/scores/BUILD | 54 -- .../scio/ml/scores/BUILD.docx | Bin 0 -> 37156 bytes .../InteractionGraphScoreExportJob.docx | Bin 0 -> 38315 bytes .../InteractionGraphScoreExportJob.scala | 134 ---- .../InteractionGraphScoreExportOption.docx | Bin 0 -> 37048 bytes .../InteractionGraphScoreExportOption.scala | 24 - .../scio/ml/scores/README.docx | Bin 0 -> 37055 bytes .../scio/ml/scores/README.md | 34 - src/scala/com/twitter/recos/decider/BUILD | 9 - .../com/twitter/recos/decider/BUILD.docx | Bin 0 -> 36768 bytes .../twitter/recos/decider/BaseDecider.docx | Bin 0 -> 37793 bytes .../twitter/recos/decider/BaseDecider.scala | 110 --- .../recos/decider/EndpointLoadShedder.docx | Bin 0 -> 37317 bytes .../recos/decider/EndpointLoadShedder.scala | 39 -- .../graph_common/ActionEdgeTypeMask.docx | Bin 0 -> 37885 bytes .../graph_common/ActionEdgeTypeMask.scala | 99 --- .../com/twitter/recos/graph_common/BUILD | 12 - .../com/twitter/recos/graph_common/BUILD.docx | Bin 0 -> 36826 bytes .../graph_common/BipartiteGraphHelper.docx | Bin 0 -> 37229 bytes .../graph_common/BipartiteGraphHelper.scala | 40 -- .../graph_common/FinagleCounterWrapper.docx | Bin 0 -> 36913 bytes .../graph_common/FinagleCounterWrapper.scala | 15 - .../FinagleStatsReceiverWrapper.docx | Bin 0 -> 36947 bytes .../FinagleStatsReceiverWrapper.scala | 16 - ...rLawMultiSegmentBipartiteGraphBuilder.docx | Bin 0 -> 37445 bytes ...LawMultiSegmentBipartiteGraphBuilder.scala | 59 -- ...iSegmentPowerLawBipartiteGraphBuilder.docx | Bin 0 -> 37470 bytes ...SegmentPowerLawBipartiteGraphBuilder.scala | 64 -- .../recos/graph_common/NodeInfoHandler.docx | Bin 0 -> 37348 bytes .../recos/graph_common/NodeInfoHandler.scala | 59 -- ...rLawMultiSegmentBipartiteGraphBuilder.docx | Bin 0 -> 37500 bytes ...LawMultiSegmentBipartiteGraphBuilder.scala | 63 -- ...rLawMultiSegmentBipartiteGraphBuilder.docx | Bin 0 -> 37506 bytes ...LawMultiSegmentBipartiteGraphBuilder.scala | 63 -- src/scala/com/twitter/recos/hose/common/BUILD | 15 - .../com/twitter/recos/hose/common/BUILD.docx | Bin 0 -> 36874 bytes .../recos/hose/common/BufferedEdgeWriter.docx | Bin 0 -> 37365 bytes .../hose/common/BufferedEdgeWriter.scala | 48 -- .../recos/hose/common/EdgeCollector.docx | Bin 0 -> 37257 bytes .../recos/hose/common/EdgeCollector.scala | 42 -- .../recos/hose/common/RecosEdgeProcessor.docx | Bin 0 -> 37190 bytes .../hose/common/RecosEdgeProcessor.scala | 41 -- .../recos/hose/common/UnifiedGraphWriter.docx | Bin 0 -> 39312 bytes .../hose/common/UnifiedGraphWriter.scala | 217 ------ .../hose/common/UnifiedGraphWriterMulti.docx | Bin 0 -> 39176 bytes .../hose/common/UnifiedGraphWriterMulti.scala | 228 ------- .../recos/user_tweet_entity_graph/BUILD | 67 -- .../recos/user_tweet_entity_graph/BUILD.docx | Bin 0 -> 37430 bytes .../EntitySocialProofRunner.docx | Bin 0 -> 38902 bytes .../EntitySocialProofRunner.scala | 167 ----- .../LoggingUserTweetEntityGraph.docx | Bin 0 -> 37576 bytes .../LoggingUserTweetEntityGraph.scala | 103 --- .../recos/user_tweet_entity_graph/Main.docx | Bin 0 -> 39587 bytes .../recos/user_tweet_entity_graph/Main.scala | 258 ------- .../recos/user_tweet_entity_graph/README.docx | Bin 0 -> 37254 bytes .../recos/user_tweet_entity_graph/README.md | 17 - .../RecommendationHandler.docx | Bin 0 -> 37559 bytes .../RecommendationHandler.scala | 78 --- .../user_tweet_entity_graph/RecosConfig.docx | Bin 0 -> 37416 bytes .../user_tweet_entity_graph/RecosConfig.scala | 44 -- .../SocialProofHandler.docx | Bin 0 -> 38128 bytes .../SocialProofHandler.scala | 165 ----- .../SocialProofHydrator.docx | Bin 0 -> 38061 bytes .../SocialProofHydrator.scala | 111 --- .../TweetRecommendationsRunner.docx | Bin 0 -> 40194 bytes .../TweetRecommendationsRunner.scala | 322 --------- .../TweetSocialProofHandler.docx | Bin 0 -> 37600 bytes .../TweetSocialProofHandler.scala | 73 -- .../TweetSocialProofRunner.docx | Bin 0 -> 38791 bytes .../TweetSocialProofRunner.scala | 168 ----- .../UserTweetEdgeTypeMask.docx | Bin 0 -> 38070 bytes .../UserTweetEdgeTypeMask.scala | 95 --- .../UserTweetEntityGraph.docx | Bin 0 -> 37366 bytes .../UserTweetEntityGraph.scala | 46 -- .../UserTweetEntityGraphWriter.docx | Bin 0 -> 38190 bytes .../UserTweetEntityGraphWriter.scala | 105 --- .../com/twitter/recos/user_tweet_graph/BUILD | 66 -- .../twitter/recos/user_tweet_graph/BUILD.docx | Bin 0 -> 37452 bytes .../twitter/recos/user_tweet_graph/Main.docx | Bin 0 -> 40164 bytes .../twitter/recos/user_tweet_graph/Main.scala | 291 -------- .../recos/user_tweet_graph/README.docx | Bin 0 -> 37302 bytes .../twitter/recos/user_tweet_graph/README.md | 17 - .../user_tweet_graph/UserTweetGraph.docx | Bin 0 -> 37581 bytes .../user_tweet_graph/UserTweetGraph.scala | 98 --- .../UserTweetGraphConfig.docx | Bin 0 -> 37276 bytes .../UserTweetGraphConfig.scala | 39 -- .../UserTweetGraphWriter.docx | Bin 0 -> 38001 bytes .../UserTweetGraphWriter.scala | 88 --- .../relatedTweetHandlers/BUILD | 12 - .../relatedTweetHandlers/BUILD.docx | Bin 0 -> 36813 bytes .../ConsumersBasedRelatedTweetsHandler.docx | Bin 0 -> 37773 bytes .../ConsumersBasedRelatedTweetsHandler.scala | 68 -- .../ProducerBasedRelatedTweetsHandler.docx | Bin 0 -> 37955 bytes .../ProducerBasedRelatedTweetsHandler.scala | 88 --- .../TweetBasedRelatedTweetsHandler.docx | Bin 0 -> 37915 bytes .../TweetBasedRelatedTweetsHandler.scala | 93 --- .../recos/user_tweet_graph/store/BUILD | 9 - .../recos/user_tweet_graph/store/BUILD.docx | Bin 0 -> 36786 bytes .../store/UserRecentFollowersStore.docx | Bin 0 -> 37403 bytes .../store/UserRecentFollowersStore.scala | 50 -- .../twitter/recos/user_tweet_graph/util/BUILD | 12 - .../recos/user_tweet_graph/util/BUILD.docx | Bin 0 -> 36825 bytes .../util/FetchRHSTweetsUtil.docx | Bin 0 -> 37166 bytes .../util/FetchRHSTweetsUtil.scala | 34 - .../user_tweet_graph/util/FilterUtil.docx | Bin 0 -> 36920 bytes .../user_tweet_graph/util/FilterUtil.scala | 15 - .../util/GetAllInternalTweetIdsUtil.docx | Bin 0 -> 37085 bytes .../util/GetAllInternalTweetIdsUtil.scala | 33 - .../util/GetRelatedTweetCandidatesUtil.docx | Bin 0 -> 37567 bytes .../util/GetRelatedTweetCandidatesUtil.scala | 56 -- .../util/SampleLHSUsersUtil.docx | Bin 0 -> 37178 bytes .../util/SampleLHSUsersUtil.scala | 35 - .../util/UserTweetEdgeTypeMask.docx | Bin 0 -> 37778 bytes .../util/UserTweetEdgeTypeMask.scala | 77 --- .../com/twitter/recos/user_user_graph/BUILD | 45 -- .../twitter/recos/user_user_graph/BUILD.docx | Bin 0 -> 37169 bytes .../recos/user_user_graph/KafkaConfig.docx | Bin 0 -> 36983 bytes .../recos/user_user_graph/KafkaConfig.scala | 13 - .../user_user_graph/LoggingUserUserGraph.docx | Bin 0 -> 37351 bytes .../LoggingUserUserGraph.scala | 51 -- .../twitter/recos/user_user_graph/Main.docx | Bin 0 -> 39762 bytes .../twitter/recos/user_user_graph/Main.scala | 255 ------- .../twitter/recos/user_user_graph/README.docx | Bin 0 -> 37246 bytes .../twitter/recos/user_user_graph/README.md | 17 - .../RecommendUsersHandler.docx | Bin 0 -> 39331 bytes .../RecommendUsersHandler.scala | 221 ------ .../recos/user_user_graph/RecosConfig.docx | Bin 0 -> 37255 bytes .../recos/user_user_graph/RecosConfig.scala | 37 - .../user_user_graph/UserEdgeTypeMask.docx | Bin 0 -> 37817 bytes .../user_user_graph/UserEdgeTypeMask.scala | 91 --- .../recos/user_user_graph/UserUserGraph.docx | Bin 0 -> 36925 bytes .../recos/user_user_graph/UserUserGraph.scala | 18 - .../user_user_graph/UserUserGraphWriter.docx | Bin 0 -> 37645 bytes .../user_user_graph/UserUserGraphWriter.scala | 83 --- .../com/twitter/recos/user_video_graph/BUILD | 69 -- .../twitter/recos/user_video_graph/BUILD.docx | Bin 0 -> 37470 bytes .../LoggingUserVideoGraph.docx | Bin 0 -> 36835 bytes .../LoggingUserVideoGraph.scala | 12 - .../twitter/recos/user_video_graph/Main.docx | Bin 0 -> 40240 bytes .../twitter/recos/user_video_graph/Main.scala | 294 -------- .../recos/user_video_graph/README.docx | Bin 0 -> 37155 bytes .../twitter/recos/user_video_graph/README.md | 14 - .../UserVideoEdgeTypeMask.docx | Bin 0 -> 37635 bytes .../UserVideoEdgeTypeMask.scala | 62 -- .../user_video_graph/UserVideoGraph.docx | Bin 0 -> 37365 bytes .../user_video_graph/UserVideoGraph.scala | 73 -- .../UserVideoGraphConfig.docx | Bin 0 -> 37276 bytes .../UserVideoGraphConfig.scala | 39 -- .../UserVideoGraphEdgeHttpHandler.docx | Bin 0 -> 38013 bytes .../UserVideoGraphEdgeHttpHandler.scala | 101 --- .../UserVideoGraphWriter.docx | Bin 0 -> 37940 bytes .../UserVideoGraphWriter.scala | 82 --- .../relatedTweetHandlers/BUILD | 12 - .../relatedTweetHandlers/BUILD.docx | Bin 0 -> 36813 bytes .../ConsumersBasedRelatedTweetsHandler.docx | Bin 0 -> 37751 bytes .../ConsumersBasedRelatedTweetsHandler.scala | 66 -- .../ProducerBasedRelatedTweetsHandler.docx | Bin 0 -> 37929 bytes .../ProducerBasedRelatedTweetsHandler.scala | 86 --- .../TweetBasedRelatedTweetsHandler.docx | Bin 0 -> 37889 bytes .../TweetBasedRelatedTweetsHandler.scala | 91 --- .../recos/user_video_graph/store/BUILD | 9 - .../recos/user_video_graph/store/BUILD.docx | Bin 0 -> 36786 bytes .../store/UserRecentFollowersStore.docx | Bin 0 -> 37404 bytes .../store/UserRecentFollowersStore.scala | 50 -- .../twitter/recos/user_video_graph/util/BUILD | 12 - .../recos/user_video_graph/util/BUILD.docx | Bin 0 -> 36825 bytes .../util/FetchRHSTweetsUtil.docx | Bin 0 -> 37058 bytes .../util/FetchRHSTweetsUtil.scala | 29 - .../user_video_graph/util/FilterUtil.docx | Bin 0 -> 36924 bytes .../user_video_graph/util/FilterUtil.scala | 15 - .../util/GetAllInternalTweetIdsUtil.docx | Bin 0 -> 37086 bytes .../util/GetAllInternalTweetIdsUtil.scala | 33 - .../util/GetRelatedTweetCandidatesUtil.docx | Bin 0 -> 37570 bytes .../util/GetRelatedTweetCandidatesUtil.scala | 56 -- .../util/SampleLHSUsersUtil.docx | Bin 0 -> 37179 bytes .../util/SampleLHSUsersUtil.scala | 35 - .../com/twitter/simclusters_v2/README.docx | Bin 0 -> 40155 bytes .../com/twitter/simclusters_v2/README.md | 112 --- .../simclusters_v2/candidate_source/BUILD | 17 - .../candidate_source/BUILD.docx | Bin 0 -> 36907 bytes .../candidate_source/ClusterRanker.docx | Bin 0 -> 37274 bytes .../candidate_source/ClusterRanker.scala | 56 -- .../candidate_source/HeavyRanker.docx | Bin 0 -> 37383 bytes .../candidate_source/HeavyRanker.scala | 71 -- .../SimClustersANNCandidateSource.docx | Bin 0 -> 41828 bytes .../SimClustersANNCandidateSource.scala | 637 ------------------ .../SimClustersANNWrapperCandidateSource.docx | Bin 0 -> 37379 bytes ...SimClustersANNWrapperCandidateSource.scala | 53 -- .../com/twitter/simclusters_v2/common/BUILD | 12 - .../twitter/simclusters_v2/common/BUILD.docx | Bin 0 -> 36837 bytes .../common/CosineSimilarityUtil.docx | Bin 0 -> 38298 bytes .../common/CosineSimilarityUtil.scala | 251 ------- .../DeciderGateBuilderWithIdHashing.docx | Bin 0 -> 37067 bytes .../DeciderGateBuilderWithIdHashing.scala | 21 - .../simclusters_v2/common/ModelVersions.docx | Bin 0 -> 37210 bytes .../simclusters_v2/common/ModelVersions.scala | 48 -- .../common/SeqStandardDeviation.docx | Bin 0 -> 36909 bytes .../common/SeqStandardDeviation.scala | 22 - .../common/SimClustersEmbedding.docx | Bin 0 -> 42056 bytes .../common/SimClustersEmbedding.scala | 581 ---------------- .../common/SimClustersEmbeddingId.docx | Bin 0 -> 38217 bytes .../common/SimClustersEmbeddingId.scala | 209 ------ ...SimClustersEmbeddingIdCacheKeyBuilder.docx | Bin 0 -> 36979 bytes ...imClustersEmbeddingIdCacheKeyBuilder.scala | 19 - .../common/SimClustersEmbeddingMonoid.docx | Bin 0 -> 36840 bytes .../common/SimClustersEmbeddingMonoid.scala | 18 - 400 files changed, 15466 deletions(-) delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/BUILD create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/BUILD.docx create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/__init__.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/__init__.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/data_helpers.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/data_helpers.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/parsers.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/parsers.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/reader.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/reader.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/score.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/score.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/scorer.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/scorer.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/tf_model_initializer_builder.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/tf_model_initializer_builder.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/metrics.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/metrics.py delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/BUILD create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/BUILD.docx create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/__init__.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/__init__.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/discretizer_builder.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/discretizer_builder.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/hashing_utils.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/hashing_utils.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/weights_initializer_builder.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/weights_initializer_builder.py create mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/train.docx delete mode 100644 src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/train.py delete mode 100644 src/scala/com/twitter/graph/batch/BUILD.bazel create mode 100644 src/scala/com/twitter/graph/batch/BUILD.docx create mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/ExtractTweepcred.docx delete mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/ExtractTweepcred.scala create mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/PreparePageRankData.docx delete mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/PreparePageRankData.scala delete mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/README create mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/README.docx create mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/Reputation.docx delete mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/Reputation.scala create mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/TweepcredBatchJob.docx delete mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/TweepcredBatchJob.scala create mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/UserMass.docx delete mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/UserMass.scala create mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/WeightedPageRank.docx delete mode 100644 src/scala/com/twitter/graph/batch/job/tweepcred/WeightedPageRank.scala create mode 100644 src/scala/com/twitter/interaction_graph/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/README.md create mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/README.md create mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/candidates.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/candidates.sql create mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/check_models.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/check_models.sql create mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/follow_graph_features.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/follow_graph_features.sql create mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/scoring.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/scoring/scoring.sql create mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/README.md create mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/candidates.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/candidates.sql create mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/check_candidates_exist.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/check_candidates_exist.sql create mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/check_labels_exist.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/check_labels_exist.sql create mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/labeled_candidates.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/labeled_candidates.sql create mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/train_model.docx delete mode 100644 src/scala/com/twitter/interaction_graph/bqe/training/train_model.sql delete mode 100644 src/scala/com/twitter/interaction_graph/injection/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/injection/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/injection/EdgeListInjection.docx delete mode 100644 src/scala/com/twitter/interaction_graph/injection/EdgeListInjection.scala create mode 100644 src/scala/com/twitter/interaction_graph/injection/UserSessionInjection.docx delete mode 100644 src/scala/com/twitter/interaction_graph/injection/UserSessionInjection.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookCounters.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookCounters.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookSource.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookSource.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_address_book/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationConfig.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationConfig.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationSource.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationSource.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationTransform.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationTransform.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_all/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsCounters.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsCounters.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsSource.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsSource.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsSource.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsSource.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockSource.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockSource.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_flock/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_negative/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_negative/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_negative/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_negative/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/agg_notifications/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/CaseClasses.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/CaseClasses.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/ConversionUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/ConversionUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/DateUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/DateUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/EdgeFeatureCombiner.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/EdgeFeatureCombiner.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/FeatureGeneratorUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/FeatureGeneratorUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/FeatureGroups.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/FeatureGroups.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/GraphUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/GraphUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/InteractionGraphUtils.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/InteractionGraphUtils.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/UserUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/UserUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/common/VertexFeatureCombiner.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/common/VertexFeatureCombiner.scala delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/LabelUtil.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/LabelUtil.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/labels/README.md delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/scores/BUILD create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/scores/BUILD.docx create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportJob.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportJob.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportOption.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportOption.scala create mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/scores/README.docx delete mode 100644 src/scala/com/twitter/interaction_graph/scio/ml/scores/README.md delete mode 100644 src/scala/com/twitter/recos/decider/BUILD create mode 100644 src/scala/com/twitter/recos/decider/BUILD.docx create mode 100644 src/scala/com/twitter/recos/decider/BaseDecider.docx delete mode 100644 src/scala/com/twitter/recos/decider/BaseDecider.scala create mode 100644 src/scala/com/twitter/recos/decider/EndpointLoadShedder.docx delete mode 100644 src/scala/com/twitter/recos/decider/EndpointLoadShedder.scala create mode 100644 src/scala/com/twitter/recos/graph_common/ActionEdgeTypeMask.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/ActionEdgeTypeMask.scala delete mode 100644 src/scala/com/twitter/recos/graph_common/BUILD create mode 100644 src/scala/com/twitter/recos/graph_common/BUILD.docx create mode 100644 src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.scala create mode 100644 src/scala/com/twitter/recos/graph_common/FinagleCounterWrapper.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/FinagleCounterWrapper.scala create mode 100644 src/scala/com/twitter/recos/graph_common/FinagleStatsReceiverWrapper.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/FinagleStatsReceiverWrapper.scala create mode 100644 src/scala/com/twitter/recos/graph_common/LeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/LeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala create mode 100644 src/scala/com/twitter/recos/graph_common/MultiSegmentPowerLawBipartiteGraphBuilder.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/MultiSegmentPowerLawBipartiteGraphBuilder.scala create mode 100644 src/scala/com/twitter/recos/graph_common/NodeInfoHandler.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/NodeInfoHandler.scala create mode 100644 src/scala/com/twitter/recos/graph_common/NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala create mode 100644 src/scala/com/twitter/recos/graph_common/RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.docx delete mode 100644 src/scala/com/twitter/recos/graph_common/RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala delete mode 100644 src/scala/com/twitter/recos/hose/common/BUILD create mode 100644 src/scala/com/twitter/recos/hose/common/BUILD.docx create mode 100644 src/scala/com/twitter/recos/hose/common/BufferedEdgeWriter.docx delete mode 100644 src/scala/com/twitter/recos/hose/common/BufferedEdgeWriter.scala create mode 100644 src/scala/com/twitter/recos/hose/common/EdgeCollector.docx delete mode 100644 src/scala/com/twitter/recos/hose/common/EdgeCollector.scala create mode 100644 src/scala/com/twitter/recos/hose/common/RecosEdgeProcessor.docx delete mode 100644 src/scala/com/twitter/recos/hose/common/RecosEdgeProcessor.scala create mode 100644 src/scala/com/twitter/recos/hose/common/UnifiedGraphWriter.docx delete mode 100644 src/scala/com/twitter/recos/hose/common/UnifiedGraphWriter.scala create mode 100644 src/scala/com/twitter/recos/hose/common/UnifiedGraphWriterMulti.docx delete mode 100644 src/scala/com/twitter/recos/hose/common/UnifiedGraphWriterMulti.scala delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/BUILD create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/EntitySocialProofRunner.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/EntitySocialProofRunner.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/LoggingUserTweetEntityGraph.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/LoggingUserTweetEntityGraph.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/Main.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/Main.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/README.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/README.md create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/RecommendationHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/RecommendationHandler.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/RecosConfig.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/RecosConfig.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHandler.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHydrator.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHydrator.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/TweetRecommendationsRunner.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/TweetRecommendationsRunner.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofHandler.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofRunner.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofRunner.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEdgeTypeMask.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEdgeTypeMask.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraph.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraph.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraphWriter.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraphWriter.scala delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/BUILD create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/Main.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/Main.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/README.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/README.md create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraph.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraph.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphConfig.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphConfig.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphWriter.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphWriter.scala delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/BUILD create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.scala delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/store/BUILD create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/store/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/store/UserRecentFollowersStore.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/store/UserRecentFollowersStore.scala delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/BUILD create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/FetchRHSTweetsUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/FetchRHSTweetsUtil.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/FilterUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/FilterUtil.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/GetAllInternalTweetIdsUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/GetAllInternalTweetIdsUtil.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/GetRelatedTweetCandidatesUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/GetRelatedTweetCandidatesUtil.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/SampleLHSUsersUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/SampleLHSUsersUtil.scala create mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/UserTweetEdgeTypeMask.docx delete mode 100644 src/scala/com/twitter/recos/user_tweet_graph/util/UserTweetEdgeTypeMask.scala delete mode 100644 src/scala/com/twitter/recos/user_user_graph/BUILD create mode 100644 src/scala/com/twitter/recos/user_user_graph/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_user_graph/KafkaConfig.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/KafkaConfig.scala create mode 100644 src/scala/com/twitter/recos/user_user_graph/LoggingUserUserGraph.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/LoggingUserUserGraph.scala create mode 100644 src/scala/com/twitter/recos/user_user_graph/Main.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/Main.scala create mode 100644 src/scala/com/twitter/recos/user_user_graph/README.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/README.md create mode 100644 src/scala/com/twitter/recos/user_user_graph/RecommendUsersHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/RecommendUsersHandler.scala create mode 100644 src/scala/com/twitter/recos/user_user_graph/RecosConfig.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/RecosConfig.scala create mode 100644 src/scala/com/twitter/recos/user_user_graph/UserEdgeTypeMask.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/UserEdgeTypeMask.scala create mode 100644 src/scala/com/twitter/recos/user_user_graph/UserUserGraph.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/UserUserGraph.scala create mode 100644 src/scala/com/twitter/recos/user_user_graph/UserUserGraphWriter.docx delete mode 100644 src/scala/com/twitter/recos/user_user_graph/UserUserGraphWriter.scala delete mode 100644 src/scala/com/twitter/recos/user_video_graph/BUILD create mode 100644 src/scala/com/twitter/recos/user_video_graph/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_video_graph/LoggingUserVideoGraph.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/LoggingUserVideoGraph.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/Main.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/Main.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/README.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/README.md create mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoEdgeTypeMask.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoEdgeTypeMask.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoGraph.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoGraph.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoGraphConfig.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoGraphConfig.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoGraphEdgeHttpHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoGraphEdgeHttpHandler.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoGraphWriter.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/UserVideoGraphWriter.scala delete mode 100644 src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/BUILD create mode 100644 src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.scala delete mode 100644 src/scala/com/twitter/recos/user_video_graph/store/BUILD create mode 100644 src/scala/com/twitter/recos/user_video_graph/store/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_video_graph/store/UserRecentFollowersStore.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/store/UserRecentFollowersStore.scala delete mode 100644 src/scala/com/twitter/recos/user_video_graph/util/BUILD create mode 100644 src/scala/com/twitter/recos/user_video_graph/util/BUILD.docx create mode 100644 src/scala/com/twitter/recos/user_video_graph/util/FetchRHSTweetsUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/util/FetchRHSTweetsUtil.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/util/FilterUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/util/FilterUtil.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/util/GetAllInternalTweetIdsUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/util/GetAllInternalTweetIdsUtil.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/util/GetRelatedTweetCandidatesUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/util/GetRelatedTweetCandidatesUtil.scala create mode 100644 src/scala/com/twitter/recos/user_video_graph/util/SampleLHSUsersUtil.docx delete mode 100644 src/scala/com/twitter/recos/user_video_graph/util/SampleLHSUsersUtil.scala create mode 100644 src/scala/com/twitter/simclusters_v2/README.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/README.md delete mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/BUILD create mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/BUILD.docx create mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/ClusterRanker.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/ClusterRanker.scala create mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/HeavyRanker.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/HeavyRanker.scala create mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/SimClustersANNCandidateSource.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/SimClustersANNCandidateSource.scala create mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/SimClustersANNWrapperCandidateSource.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/candidate_source/SimClustersANNWrapperCandidateSource.scala delete mode 100644 src/scala/com/twitter/simclusters_v2/common/BUILD create mode 100644 src/scala/com/twitter/simclusters_v2/common/BUILD.docx create mode 100644 src/scala/com/twitter/simclusters_v2/common/CosineSimilarityUtil.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/common/CosineSimilarityUtil.scala create mode 100644 src/scala/com/twitter/simclusters_v2/common/DeciderGateBuilderWithIdHashing.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/common/DeciderGateBuilderWithIdHashing.scala create mode 100644 src/scala/com/twitter/simclusters_v2/common/ModelVersions.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/common/ModelVersions.scala create mode 100644 src/scala/com/twitter/simclusters_v2/common/SeqStandardDeviation.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/common/SeqStandardDeviation.scala create mode 100644 src/scala/com/twitter/simclusters_v2/common/SimClustersEmbedding.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/common/SimClustersEmbedding.scala create mode 100644 src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingId.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingId.scala create mode 100644 src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingIdCacheKeyBuilder.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingIdCacheKeyBuilder.scala create mode 100644 src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingMonoid.docx delete mode 100644 src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingMonoid.scala diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/BUILD b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/BUILD deleted file mode 100644 index a834ba69e..000000000 --- a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/BUILD +++ /dev/null @@ -1,18 +0,0 @@ -python3_library( - name = "libs_py3", - sources = ["*.py"], - dependencies = [ - "src/python/twitter/deepbird/io", - "twml:twml-nodeps", - ], -) - -python37_binary( - name = "score", - source = "score.py", - dependencies = [ - ":libs_py3", - "3rdparty/python/_closures/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly:score", - "twml", - ], -) diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/BUILD.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..e977474f9f9b46db111834ce930ce7dea30e941f GIT binary patch literal 36838 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 literal 0 HcmV?d00001 diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/__init__.py b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/data_helpers.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/data_helpers.docx new file mode 100644 index 0000000000000000000000000000000000000000..b614c22b844004099e2bea20269fc7d69ccb5baf GIT binary patch literal 37037 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�%*loDDII`{7xD;? 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 literal 0 HcmV?d00001 diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/parsers.py b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/parsers.py deleted file mode 100644 index cb39c67a7..000000000 --- a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/parsers.py +++ /dev/null @@ -1,145 +0,0 @@ -import re - -from twitter.deepbird.io.util import _get_feature_id - - -class Parser(object): - def parse(self, line): - match = re.search(self.pattern(), line) - if match: - return self._parse_match(match) - return None - - def pattern(self): - raise NotImplementedError - - def _parse_match(self, match): - raise NotImplementedError - - -class BiasParser(Parser): - ''' - Parses the bias feature available in lolly model tsv files. - ''' - - def pattern(self): - ''' - Matches lines like: - unified_engagement bias -0.935945 - :return: a RegEx that extracts feature weight. - ''' - return r"\t(bias)\t([^\s]+)" - - def _parse_match(self, match): - return float(match.group(2)) - - -class BinaryFeatureParser(Parser): - ''' - Parses binary features available in lolly model tsv files. - ''' - - def pattern(self): - ''' - Matches lines like: - unified_engagement encoded_tweet_features.is_user_spam_flag -0.181130 - :return: a RegEx that extracts feature name and weight. - ''' - return r"\t([\w\.]+)\t([^\s]+)" - - def _parse_match(self, match): - return (match.group(1), float(match.group(2))) - - -class DiscretizedFeatureParser(Parser): - ''' - Parses discretized features available in lolly model tsv files. - ''' - - def pattern(self): - ''' - Matches lines like: - unified_engagement encoded_tweet_features.user_reputation.dz/dz_model=mdl/dz_range=1.000000e+00_2.000000e+00 0.031004 - :return: a RegEx that extracts feature name, bin boundaries and weight. - ''' - return r"([\w\.]+)\.dz\/dz_model=mdl\/dz_range=([^\s]+)\t([^\s]+)" - - def _parse_match(self, match): - left_bin_side, right_bin_side = [float(number) for number in match.group(2).split("_")] - return ( - match.group(1), - left_bin_side, - right_bin_side, - float(match.group(3)) - ) - - -class LollyModelFeaturesParser(Parser): - def __init__(self, bias_parser=BiasParser(), binary_feature_parser=BinaryFeatureParser(), discretized_feature_parser=DiscretizedFeatureParser()): - self._bias_parser = bias_parser - self._binary_feature_parser = binary_feature_parser - self._discretized_feature_parser = discretized_feature_parser - - def parse(self, lolly_model_reader): - parsed_features = { - "bias": None, - "binary": {}, - "discretized": {} - } - def process_line_fn(line): - bias_parser_result = self._bias_parser.parse(line) - if bias_parser_result: - parsed_features["bias"] = bias_parser_result - return - - binary_feature_parser_result = self._binary_feature_parser.parse(line) - if binary_feature_parser_result: - name, value = binary_feature_parser_result - parsed_features["binary"][name] = value - return - - discretized_feature_parser_result = self._discretized_feature_parser.parse(line) - if discretized_feature_parser_result: - name, left_bin, right_bin, weight = discretized_feature_parser_result - discretized_features = parsed_features["discretized"] - if name not in discretized_features: - discretized_features[name] = [] - discretized_features[name].append((left_bin, right_bin, weight)) - - lolly_model_reader.read(process_line_fn) - - return parsed_features - - -class DBv2DataExampleParser(Parser): - ''' - Parses data records printed by the DBv2 train.py build_graph function. - Format: [[dbv2 logit]][[logged lolly logit]][[space separated feature ids]][[space separated feature values]] - ''' - - def __init__(self, lolly_model_reader, lolly_model_features_parser=LollyModelFeaturesParser()): - self.features = lolly_model_features_parser.parse(lolly_model_reader) - self.feature_name_by_dbv2_id = {} - - for feature_name in list(self.features["binary"].keys()) + list(self.features["discretized"].keys()): - self.feature_name_by_dbv2_id[str(_get_feature_id(feature_name))] = feature_name - - def pattern(self): - ''' - :return: a RegEx that extracts dbv2 logit, logged lolly logit, feature ids and feature values. - ''' - return r"\[\[([\w\.\-]+)\]\]\[\[([\w\.\-]+)\]\]\[\[([\w\.\- ]+)\]\]\[\[([\w\. ]+)\]\]" - - def _parse_match(self, match): - feature_ids = match.group(3).split(" ") - feature_values = match.group(4).split(" ") - - value_by_feature_name = {} - for index in range(len(feature_ids)): - feature_id = feature_ids[index] - if feature_id not in self.feature_name_by_dbv2_id: - print("Missing feature with id: " + str(feature_id)) - continue - value_by_feature_name[self.feature_name_by_dbv2_id[feature_id]] = float(feature_values[index]) - - return value_by_feature_name diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/reader.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/reader.docx new file mode 100644 index 0000000000000000000000000000000000000000..1fb5fc64cd9fd1a10756493ceb72a7be0c634f1f GIT binary patch literal 36769 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 NAVVTBduVlocmUO4s9pd7 literal 0 HcmV?d00001 diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/reader.py b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/reader.py deleted file mode 100644 index ab33ee4e7..000000000 --- a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/reader.py +++ /dev/null @@ -1,8 +0,0 @@ -class LollyModelReader(object): - def __init__(self, lolly_model_file_path): - self._lolly_model_file_path = lolly_model_file_path - - def read(self, process_line_fn): - with open(self._lolly_model_file_path, "r") as file: - for line in file: - process_line_fn(line) diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/score.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/score.docx new file mode 100644 index 0000000000000000000000000000000000000000..4ff26fdc50b491503faecb4ea469adb0c87421b1 GIT binary patch literal 36834 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 left_side and feature_value < right_side: - return weight - - raise LookupError("Couldn't find a matching bucket for the given feature value.") diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/tf_model_initializer_builder.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/lolly/tf_model_initializer_builder.docx new file mode 100644 index 0000000000000000000000000000000000000000..032e3e96d1d4f18767b999d975d6281815f81db4 GIT binary patch literal 37645 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 z�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𝔇yf_ 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

N5)IhN>x}8H8syV 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 N - output_bits - the_id &= (1 << output_bits) - 1 - return the_id - - -def make_feature_id(name, num_bits): - feature_id = _get_feature_id(name) - return np.int64(limit_bits(feature_id, num_bits)) - - -def limit_bits(value, num_bits): - return value & ((2 ** num_bits) - 1) diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/weights_initializer_builder.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/weights_initializer_builder.docx new file mode 100644 index 0000000000000000000000000000000000000000..95378abd90362e469169d8566c537210fa598a23 GIT binary patch literal 37146 zcmagFWmsIvwm*!!dvJGmcL*f7I|L2dxYKxWx8UyX?(QMDTaZ9-_kU+*&N(yZ-uu2^ zHV;*`ezMl?s@l7&l|Dj3VS#~x!GYnW@n}`56vicigMp2~fPrCxT6HA=cFtyY&W36p z_GV7{%x8ctdWp;_?24QMi zGQ8hSbAz+)*7WlmVg#Rw=ja3^X+3~N(^ST2V2}(2!>I_3L5Ei7&+z1SP}r-f9F5TI zGJM_}Q*wQo@O2}9knoerdRbzo*2uI@M`-is{TgO;t}gw>s3Cs9sn&Ipq2AF#-Jx!^ zw-CjB2oZqx{fBK2v)i~P#}Q0jY2>x4&IX26@Q)LKbr5yU>>*^9=9`^B&he@S!{-hi z?PxV0%cDRUe9t=xl#Jt^06Lm_GW|rDH1>{|O7Eb%{<}N6!Wc^7how-1ySZ6;+X;2Q z5!5eS>LRr&?P4*>qa1uZZw^NiRG{-Oh3_ZKKn`=6j!@a~cP ztL|i;JB#*QRs-@(Hvm)m zM-@G&KZ@Ris<#0F28IawYv^cZV#iXX^l)1}Bpt7(1H1RLi z+LSY$#+W4^xX~G1?z4X;DD(@WswL<)p8+KZ9h4wbfQgbLz}|_)1mI})`zFtfA6MvS zMU%SomYS2-2)jaqlai$eKMMaKgXO=}ddtZrZ!@07J-NACV5^hE;7YtHFnnb%yw20u z3~3S^A50Pwcjj*zj;M|Ox@wHG_LL<>&sUig)OXhNID1KL!EZ9w6QPWcgiwg z2aQzrGt6jfVAu&yTpys3P{BDwl~YyRS~S?V!cUwW9X6+3A@$3VnnRFKlHcXdoRn0E z2IRu6>AG$J1`2D3=jL|Sn4GBmM4U}qIBGCon#Or)Qa%AQ)^kyY-GnSc;4>5Nt}iUv z(i3H|ip4UZWZPuEGj>hp9oGB4y?=eTM96T@a{+~SWPxHpH|r+x`rLO(@Xxwjudd=A zgX&@f1qO!p_qu$txBsIoYU6gRtY{ri3{d*c;g+ys%6Rbs3t}@8>-aVC8O?KJP&y4=UCY4;tI}Eh#nI&+F#Bh-47uAz%?n@5(R#{k+v_-Jf&R) z!wqjZt|wKkE7c6Wj5>+!))E`e;p2jQk)Vwn{Z5f&^$E~>jh?OLzvd9za$8?25R3Bh z76s~2Kz!*LN0NR;0#=78HlZmM)3g91{PM@ser643qNpX|avM6O z&(w^tRPA_8`G+0m3NoRpAsWhLq9Gp@Y%Y9sSE}t`U@Q0@ zfCf6zS_n_+y{pa+$=zrC7c}MzTegF(2Nxm4BR3dcU`stbamoq2&C6)yII(|=&1OoH z@TBG@r9emquDX|vVqD6=s;o$%;``2ybe3lp;&b@)hbw}&`I}!P|GY6c-#87ZK{v$~ z_MabEH-Mul3+PkpVhdWFe%~2;TJnHZUbN1$YEtJ~72fz?rt1}Gtvy9DaT4Grvr?#E z$doY5>f>bm3o6>Wfgz7|87*Hh-!C)Y8iyGIHUy`TqzrxUv#3AI2Nh&^1jg+lp?xBY zq1E*a?CxI6GDMD5`zpn|9qAs392bZ>yIF=R)n!h z(UP-W`XDsm2eHEX za&r{{s-$X!Fi7g_No#> z3wxSQ-GXf>l7{Nl**2%Azq%Cp?yIc(MlE=$%7sQS9iDL$exz?hHg6kM8c}$KJ;0z z%lUc&yWONKCfWHB zV6cN$n{m*@LI_%I{+Lw$+$;TkYWZ{DlqjYc$cp#n>=mIeI0383F5=yFPr7 zVCj|kTZz3*-E~t&i5>slJ8qwB8r#{)Th)aP0X&9=4*|T95U5zQ!AfQrf)=PL$368j z>SETFr11PTz1*Ekg5vTsC$&kRD-J#+%0DC2wo(n$Ay78v+KIMeS49;ZN~^|yspHXs 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 z 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 literal 0 HcmV?d00001 diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/train.py b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/train.py deleted file mode 100644 index 6ef181f5f..000000000 --- a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/train.py +++ /dev/null @@ -1,212 +0,0 @@ -# checkstyle: noqa -import tensorflow.compat.v1 as tf -from tensorflow.python.estimator.export.export import build_raw_serving_input_receiver_fn -from tensorflow.python.framework import dtypes -from tensorflow.python.ops import array_ops -import tensorflow_hub as hub - -from datetime import datetime -from tensorflow.compat.v1 import logging -from twitter.deepbird.projects.timelines.configs import all_configs -from twml.trainers import DataRecordTrainer -from twml.contrib.calibrators.common_calibrators import build_percentile_discretizer_graph -from twml.contrib.calibrators.common_calibrators import calibrate_discretizer_and_export -from .metrics import get_multi_binary_class_metric_fn -from .constants import TARGET_LABEL_IDX, PREDICTED_CLASSES -from .example_weights import add_weight_arguments, make_weights_tensor -from .lolly.data_helpers import get_lolly_logits -from .lolly.tf_model_initializer_builder import TFModelInitializerBuilder -from .lolly.reader import LollyModelReader -from .tf_model.discretizer_builder import TFModelDiscretizerBuilder -from .tf_model.weights_initializer_builder import TFModelWeightsInitializerBuilder - -import twml - -def get_feature_values(features_values, params): - if params.lolly_model_tsv: - # The default DBv2 HashingDiscretizer bin membership interval is (a, b] - # - # The Earlybird Lolly prediction engine discretizer bin membership interval is [a, b) - # - # TFModelInitializerBuilder converts (a, b] to [a, b) by inverting the bin boundaries. - # - # Thus, invert the feature values, so that HashingDiscretizer can to find the correct bucket. - return tf.multiply(features_values, -1.0) - else: - return features_values - -def build_graph(features, label, mode, params, config=None): - weights = None - if "weights" in features: - weights = make_weights_tensor(features["weights"], label, params) - - num_bits = params.input_size_bits - - if mode == "infer": - indices = twml.limit_bits(features["input_sparse_tensor_indices"], num_bits) - dense_shape = tf.stack([features["input_sparse_tensor_shape"][0], 1 << num_bits]) - sparse_tf = tf.SparseTensor( - indices=indices, - values=get_feature_values(features["input_sparse_tensor_values"], params), - dense_shape=dense_shape - ) - else: - features["values"] = get_feature_values(features["values"], params) - sparse_tf = twml.util.convert_to_sparse(features, num_bits) - - if params.lolly_model_tsv: - tf_model_initializer = TFModelInitializerBuilder().build(LollyModelReader(params.lolly_model_tsv)) - bias_initializer, weight_initializer = TFModelWeightsInitializerBuilder(num_bits).build(tf_model_initializer) - discretizer = TFModelDiscretizerBuilder(num_bits).build(tf_model_initializer) - else: - discretizer = hub.Module(params.discretizer_save_dir) - bias_initializer, weight_initializer = None, None - - input_sparse = discretizer(sparse_tf, signature="hashing_discretizer_calibrator") - - logits = twml.layers.full_sparse( - inputs=input_sparse, - output_size=1, - bias_initializer=bias_initializer, - weight_initializer=weight_initializer, - use_sparse_grads=(mode == "train"), - use_binary_values=True, - name="full_sparse_1" - ) - - loss = None - - if mode != "infer": - lolly_activations = get_lolly_logits(label) - - if opt.print_data_examples: - logits = print_data_example(logits, lolly_activations, features) - - if params.replicate_lolly: - loss = tf.reduce_mean(tf.math.squared_difference(logits, lolly_activations)) - else: - batch_size = tf.shape(label)[0] - target_label = tf.reshape(tensor=label[:, TARGET_LABEL_IDX], shape=(batch_size, 1)) - loss = tf.nn.sigmoid_cross_entropy_with_logits(labels=target_label, logits=logits) - loss = twml.util.weighted_average(loss, weights) - - num_labels = tf.shape(label)[1] - eb_scores = tf.tile(lolly_activations, [1, num_labels]) - logits = tf.tile(logits, [1, num_labels]) - logits = tf.concat([logits, eb_scores], axis=1) - - output = tf.nn.sigmoid(logits) - - return {"output": output, "loss": loss, "weights": weights} - -def print_data_example(logits, lolly_activations, features): - return tf.Print( - logits, - [logits, lolly_activations, tf.reshape(features['keys'], (1, -1)), tf.reshape(tf.multiply(features['values'], -1.0), (1, -1))], - message="DATA EXAMPLE = ", - summarize=10000 - ) - -def earlybird_output_fn(graph_output): - export_outputs = { - tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: - tf.estimator.export.PredictOutput( - {"prediction": tf.identity(graph_output["output"], name="output_scores")} - ) - } - return export_outputs - -if __name__ == "__main__": - parser = DataRecordTrainer.add_parser_arguments() - - parser = twml.contrib.calibrators.add_discretizer_arguments(parser) - - parser.add_argument("--label", type=str, help="label for the engagement") - parser.add_argument("--model.use_existing_discretizer", action="store_true", - dest="model_use_existing_discretizer", - help="Load a pre-trained calibration or train a new one") - parser.add_argument("--input_size_bits", type=int) - parser.add_argument("--export_module_name", type=str, default="base_mlp", dest="export_module_name") - parser.add_argument("--feature_config", type=str) - parser.add_argument("--replicate_lolly", type=bool, default=False, dest="replicate_lolly", - help="Train a regression model with MSE loss and the logged Earlybird score as a label") - parser.add_argument("--lolly_model_tsv", type=str, required=False, dest="lolly_model_tsv", - help="Initialize with weights and discretizer bins available in the given Lolly model tsv file" - "No discretizer gets trained or loaded if set.") - parser.add_argument("--print_data_examples", type=bool, default=False, dest="print_data_examples", - help="Prints 'DATA EXAMPLE = [[tf logit]][[logged lolly logit]][[feature ids][feature values]]'") - add_weight_arguments(parser) - - opt = parser.parse_args() - - feature_config_module = all_configs.select_feature_config(opt.feature_config) - - feature_config = feature_config_module.get_feature_config(data_spec_path=opt.data_spec, label=opt.label) - - parse_fn = twml.parsers.get_sparse_parse_fn( - feature_config, - keep_fields=("ids", "keys", "values", "batch_size", "total_size", "codes")) - - if not opt.lolly_model_tsv: - if opt.model_use_existing_discretizer: - logging.info("Skipping discretizer calibration [model.use_existing_discretizer=True]") - logging.info(f"Using calibration at {opt.discretizer_save_dir}") - else: - logging.info("Calibrating new discretizer [model.use_existing_discretizer=False]") - calibrator = twml.contrib.calibrators.HashingDiscretizerCalibrator( - opt.discretizer_num_bins, - opt.discretizer_output_size_bits - ) - calibrate_discretizer_and_export(name="recap_earlybird_hashing_discretizer", - params=opt, - calibrator=calibrator, - build_graph_fn=build_percentile_discretizer_graph, - feature_config=feature_config) - - trainer = DataRecordTrainer( - name="earlybird", - params=opt, - build_graph_fn=build_graph, - save_dir=opt.save_dir, - feature_config=feature_config, - metric_fn=get_multi_binary_class_metric_fn( - metrics=["roc_auc"], - classes=PREDICTED_CLASSES - ), - warm_start_from=None - ) - - train_input_fn = trainer.get_train_input_fn(parse_fn=parse_fn) - eval_input_fn = trainer.get_eval_input_fn(parse_fn=parse_fn) - - logging.info("Training and Evaluation ...") - trainingStartTime = datetime.now() - trainer.train_and_evaluate(train_input_fn=train_input_fn, eval_input_fn=eval_input_fn) - trainingEndTime = datetime.now() - logging.info("Training and Evaluation time: " + str(trainingEndTime - trainingStartTime)) - - if trainer._estimator.config.is_chief: - serving_input_in_earlybird = { - "input_sparse_tensor_indices": array_ops.placeholder( - name="input_sparse_tensor_indices", - shape=[None, 2], - dtype=dtypes.int64), - "input_sparse_tensor_values": array_ops.placeholder( - name="input_sparse_tensor_values", - shape=[None], - dtype=dtypes.float32), - "input_sparse_tensor_shape": array_ops.placeholder( - name="input_sparse_tensor_shape", - shape=[2], - dtype=dtypes.int64) - } - serving_input_receiver_fn = build_raw_serving_input_receiver_fn(serving_input_in_earlybird) - twml.contrib.export.export_fn.export_all_models( - trainer=trainer, - export_dir=opt.export_dir, - parse_fn=parse_fn, - serving_input_receiver_fn=serving_input_receiver_fn, - export_output_fn=earlybird_output_fn, - feature_spec=feature_config.get_feature_spec() - ) - logging.info("The export model path is: " + opt.export_dir) diff --git a/src/scala/com/twitter/graph/batch/BUILD.bazel b/src/scala/com/twitter/graph/batch/BUILD.bazel deleted file mode 100644 index 0dcfc85cf..000000000 --- a/src/scala/com/twitter/graph/batch/BUILD.bazel +++ /dev/null @@ -1,91 +0,0 @@ -JOB = ["job/**/*"] - -scala_library( - name = "batch", - sources = ["**/*.scala"], - platform = "java8", - tags = [ - "bazel-compatible", - "bazel-only", - ], - dependencies = [ - "3rdparty/jvm/cascading:cascading-core", - "3rdparty/jvm/cascading:cascading-hadoop", - "3rdparty/jvm/cascading:cascading-local", - "3rdparty/jvm/cascading:cascading-thrift", - "3rdparty/jvm/com/twitter/algebird:core", - "3rdparty/jvm/com/twitter/algebird:util", - "3rdparty/jvm/com/twitter/storehaus:algebra", - "3rdparty/jvm/com/twitter/storehaus:core", - "3rdparty/src/jvm/com/twitter/scalding:args", - "3rdparty/src/jvm/com/twitter/scalding:commons", - "3rdparty/src/jvm/com/twitter/scalding:core", - "3rdparty/src/jvm/com/twitter/scalding:date", - "3rdparty/src/jvm/com/twitter/scalding:parquet", - "3rdparty/src/jvm/com/twitter/summingbird:batch", - "3rdparty/src/jvm/com/twitter/summingbird:client", - "graphstore/common:flock_follows-java", - "src/java/com/twitter/common_internal/util:date_util", - "src/java/com/twitter/twadoop/batch", - "src/java/com/twitter/twadoop/util/dbconfig", - "src/java/com/twitter/twadoop/util/yaml", - "src/protobuf/com/twitter/twadoop", - "src/scala/com/twitter/pluck", - "src/scala/com/twitter/pluck/source/combined_user_source", - "src/scala/com/twitter/pluck/source/jdbc", - "src/scala/com/twitter/scalding_internal/error_handling", - "src/scala/com/twitter/scalding_internal/job", - "src/scala/com/twitter/scalding_internal/job/analytics_batch", - "src/scala/com/twitter/scalding_internal/multiformat", - "src/scala/com/twitter/scalding_internal/source", - "src/scala/com/twitter/wtf/scalding/jobs/common:date_util", - "src/thrift/com/twitter/gizmoduck:user-thrift-java", - "src/thrift/com/twitter/twadoop/user/gen:gen-java", - "util/util-core:scala", - ], -) - -#pants.new build target for the old "dist" -hadoop_binary( - name = "graph-batch-deploy", - main = "com.twitter.scalding.Tool", - platform = "java8", - runtime_platform = "java8", - tags = [ - "bazel-compatible", - "bazel-compatible:migrated", - "bazel-only", - ], - dependencies = [ - ":tweepcred", - ], -) - -# Generated with `capesospy-v2 create_target tweepcred_job science/scalding/mesos/wtf/recos_platform_atla_proc.yaml`, config hash d63a47. -scalding_job( - name = "tweepcred_job", - main = "com.twitter.graph.batch.job.tweepcred.TweepcredBatchJob", - args = ["--weighted false --hadoop_config /etc/hadoop/hadoop-conf-proc-atla"], - config = [ - ("hadoop.combine-input", "true"), - ("hadoop.map.jvm.total-memory", "3072m"), - ("hadoop.queue", "cassowary.default"), - ("hadoop.reduce.jvm.total-memory", "3072m"), - ("hadoop.reducers", "1200"), - ("hadoop.submitter.disk", "200000m"), - ("hadoop.submitter.jvm.total-memory", "5120m"), - ("submitter.tier", "preemptible"), - ], - cron = "24,44,04 * * * *", - hadoop_cluster = "atla-proc", - platform = "java8", - role = "cassowary", - runtime_platform = "java8", - tags = [ - "bazel-compatible:migrated", - "bazel-only", - ], - dependencies = [ - ":tweepcred", - ], -) diff --git a/src/scala/com/twitter/graph/batch/BUILD.docx b/src/scala/com/twitter/graph/batch/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..ef24c6dc8cebd10e61cd3cb699b7580a3622c759 GIT binary patch literal 37616 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
K<~f1lD%>Fnm+n7z2S5D?XYd@kG%}s z;+KNugBlEO9=Lq7;(W3j{|6y8cK(7>kqukx6b!3VbKY*ckuQ3a&um@7ycZ81%?Vv{ zQ8;1gf4RKu3kut%n>*jJC3AIa7WD{5C?A%b`9e;jd*`QB3jY#QBld^Aa-8Fu!0=deYu|TK5uf{F6)l@lz*mPdof<3g@)9ca`U~pYuJlUifzV zlC-p5nW?s!pQg;&z3kkc>T7SB4ppx?x^2=Wqw301-?xuce^lL-I~e``^ZF@IJc5f) zzq-~gSNG)N*4J{?HIJ7qpI7(n=JR>=3yV)*n;ut}dVBTyy+5zrw!T-nJ^T5(e!F|0 zPu{EjZU6Vp>BI3~Wh|@Ke6P6wGXGr7@4Mgsrq^54KYX-)f9$Wn{r3MCl^P!4onn^} zdxND-wMDrqO8l@{aO1=ekBdqVcZt1>UES7yK6>(`#G4x`tG`d+{CTce`PC8Ul{1CY zzxi7Edk1Un-g@ZP|KL>SR@GNld@p74ER@q*eil6S;w#y}zpRN(Dq}$-R^q>L$G1cF z0p5&EBFv!SaSq_#OY?}eK}#o21-4L60ms}x-3}ON0E#g%L^}fqgH!WL;zKG6Qj23j ztuu53D%HFlegKu;1CAqe!*m1b2F7DRBOq;jaMK=LV@Dfza3)a6MW9AO6phb;BJjE= zIll-z5{<6?%kA6ZuYuZgSQr=tP_)+rMc~>K3ktBgS|+GP`VX+Gt29KndJIA45hr0=@r@FoLBCYi}Ig0Q8P7!hky{ z24L&UB&YxY literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/graph/batch/job/tweepcred/ExtractTweepcred.docx b/src/scala/com/twitter/graph/batch/job/tweepcred/ExtractTweepcred.docx new file mode 100644 index 0000000000000000000000000000000000000000..22adbe9d18c03eefcad10f6f07c985f3c507efed GIT binary patch literal 37780 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 ('num_followers, 'num_followings)) { (u: Unit) => - (0, 0) - } - - val userInfo = TypedPipe - .from(MostRecentCombinedUserSnapshotSource) - .flatMap { combinedUser => - val user = Option(combinedUser.user) - val userId = user.map(_.id).getOrElse(0L) - val userExtended = Option(combinedUser.user_extended) - val numFollowers = userExtended.flatMap(u => Option(u.followers)).map(_.toInt).getOrElse(0) - val numFollowings = userExtended.flatMap(u => Option(u.followings)).map(_.toInt).getOrElse(0) - - if (userId == 0L || user.map(_.safety).exists(_.deactivated)) { - None - } else { - Some((userId, 0.0, numFollowers, numFollowings)) - } - } - .toPipe[(Long, Double, Int, Int)]('src_id, 'mass_input, 'num_followers, 'num_followings) - - val pagerankWithSuspended = (inputPagerank ++ userInfo) - .groupBy('src_id) { - _.max('mass_input) - .max('num_followers) - .max('num_followings) - } - - pagerankWithSuspended - .discard('num_followers, 'num_followings) - .write(Tsv(args("output_pagerank"))) - - val adjustedPagerank = - if (POST_ADJUST) { - pagerankWithSuspended - .map(('mass_input, 'num_followers, 'num_followings) -> 'mass_input) { - input: (Double, Int, Int) => - Reputation.adjustReputationsPostCalculation(input._1, input._2, input._3) - } - .normalize('mass_input) - } else { - pagerankWithSuspended - .discard('num_followers, 'num_followings) - } - - val tweepcred = adjustedPagerank - .map('mass_input -> 'mass_input) { input: Double => - Reputation.scaledReputation(input) - } - - tweepcred.write(Tsv(args("output_tweepcred"))) - tweepcred.write(Tsv(args("current_tweepcred"))) - tweepcred.write(Tsv(args("today_tweepcred"))) - - def getInputPagerank(fileName: String) = { - Tsv(fileName).read - .mapTo((0, 1) -> ('src_id, 'mass_input)) { input: (Long, Double) => - input - } - } -} diff --git a/src/scala/com/twitter/graph/batch/job/tweepcred/PreparePageRankData.docx b/src/scala/com/twitter/graph/batch/job/tweepcred/PreparePageRankData.docx new file mode 100644 index 0000000000000000000000000000000000000000..82345af6f8164217d444a4573fbc3cc988faa3a3 GIT binary patch literal 39842 zcmagEV|ZoF)-D{|?%1~Nq+{Dohby*i+qRvKZFOvQlJ3~XNk7lt@5X!1_x+ii8 zG3H!VHP%v)1_eU{0s?{p!ph*#s8%YDPX-188ixP^Lj4@o76I5gnc6z(tGL^lI_lE9 z*;qFx%gV0{B86PMp{FqL6MBjuqF3zMQQFbQV~f^i-f?QKFr3MNJUvWuhpWyhghJ5A zXQe-QFQ>w7ZQV(dKGRK(4U)e9EimeNiIw5<1Gw9)U{=KeVJhg zX56nE;MPY8z7WpS3P{#?0*axij#Wb;7!HO~;u{AKt1X=4$nPYvQ&Bn|rP!zWb}+8s z@;2$~O8g|^CzkWJLQk%iZIuc0-Jdfp+~87GJj9?WVbHPOWs0WJ!Cck8VZE;y!EG28 zfb`?1O)tIcggVPHL_>Mht+Lh@ie>Q6Gk{ePdENXk&>Zy-Tb{g=bv2rAom!ePD&7{y zffCpr4Ne~&#ow3zkK@S5D4^+jmr2J1SVR{b>^RhORs(z!0A#ADw z^-3K=u_hDt6ZXT-kqZQe3brzgPxC92rq|*;A>cqaQ-z960cn) z2hQsO1;#S8DOB2T$#_M`J@JMwp3ktQm0v{p`(BqzHxC5HABYQH&}8+16#k=%?&Q*f zkDt}s0s#Vo{rs!%U~28iK>z1joiHT@%7o;1!7nySR%+X#Dq6IvC;Cgah`%>&^1Q^> zN1|k{yGv12R|BID|L9`h*la1Y5NCy^#5z#jNOLhDf4NU%o9e2mLw^G*1-jFp$W3K0 zNYgqa@{R;S(3Jdv-As*;pJoenNSmthd`_rFSX7_dMgpNMs5}w*7S@SU-PxON9smIl zmuX>(D6MY)Y3&;EDA3|0Vc;it9A}5DoGxd=gvnWiAZd?!DK@Z(&RcVA(cB7Z9GnnL z5E_5sZxR8kiT=KBgt76GBSy_togCDE(fd4qO>WL@Jl-3rhz$o*mjf!9$)qc@6vj<5 z*uciR5Hd}a-KJEM|4UdIS#~u`MqCT+DzE%E%573b>E+jubF&(@U-BAPQMNrC>>^* zQr1B*HN0!Xc!5$)7tbs}c;zhuY9~ z*#Zm}*N-eL>}}9FlKBZZnY6Lgp}w_Da8jfi`ebe9BaFE6nTJAWCq3L=SukZLNures zWr0b4m-s>3Jyr0l(f8x)`Xij7kyDlNCbzz)XDjuwzY0t;| zDGZ$}gyAlnr;+ESY5Zkb$PBVc?wcz5#8bhjg8e2;b8W=P;ri4Ou_IUocsaV-5VEel z{>*swA_N_@Q@XlB&A2CVqtWCQKBS$aJk5;L8iL?flV?eXoSoO~tEr&asZ0Ii;AOHx z^U7A5BBOjnCFoo2w@UZ289uhJ`*+8hDar5%;vj}^EMODvl@^q%Vd9vwgg8tFU6+&J zz${@so$eY;ek13Z+h}9*&XWk9;M3Y&&%-?q!u-TEF4__FnY|OYtIR&9TnEC8XgX;m zRBk9&54(;&i|f%48p-2g1AP;rj2invl5A-R=(|PE)$rf2k88VcEa!WR$qf^07qQ^d^yanLroI2z+L^0OzJ&7$1het zQCBIoM_)z6S2IjOnu7OYM1VtMOm(h)bR@E@r7Nc$jh@SfjqF0U8|>2#d;p*TPqN~} zQuykkwMX#q4f_p={>p~wXy?h95BAsAmM`Gv!jB4k;OvKqkSfguJ;w40U5U_@^X!Q? ziEroC9@w>azit?9n3if&SnSeWwT%9%&QqC^ORY!sE?4hJIcG+`{ zlb2o38b>?0-27W~t>%5fZ*#_N1Y~SqMWPGBSc2^iSU~HMfdn~g6Rt@*R1r8@f$h=w zD`=4-M%I&*3A4cz90&(Fui-AIvP{g)Fo*DO5)41PjVVA+XvYY&?4r&uqZO`|$#V{Fqzf~_5Lii}DE5wROb%~Ew&X!$@;$YU%STQ5X`{FR-dKH0r z@J&!lHJRNeK8M^J0HqICko>#!8cm_-7@ zsn`_wB*Ei|fY`vVwUxe9#B_b-XXMYc!ocs({Q5{9VH8UEJ?o7>luMfU3p_NL7Tsvl z*Gbw0v+*6FpRLGT$^&0kD!|iCcws6JoT15ylucy%`@bj;GM4usZg0jw&&N3YIFQV+ z2uvx~^cG_uO0aU%k-O8i6g`_gz>38$p0JbX_23qHhHf_jme^7arFBQEZuAy2lZXys zDBf>o_m#w;AU3gt`dMvww(9}1K~yrx$^q<;x8cSw+SJ_ zMMYka2Th*zAPxBrW*eHzaHc^CeL>0nUVRBtAvdBHN$Y}LYHmMBtHN1Z^XMG$xJdH} zhr}c~@lYD5rikOpSe0TdhGl%LSw}QT=PaQl6tu1hTR#+%7n`KPGgH!yXD2~oXk1`K zL8v*5lNFhhi9?1C=uKmlNf^f$LL@NNRvPbitBvVV()IL%$t-b- zU{szKr8qHdxd@Audw?ZZ&vBE4VqZ1U@T)S9a5Su(U5~>sM|B_lSCLP7V5S$1`a@6c2qKms-KzbH{Nh zOq5zS`jMEzqEX~AeI8HGo98{lFP^pcu_G5--R}n=m+bIJV5nR>_j#|UShK1uJRT2* zUe^=5?`?>V4wQmRkT|^tfpi1nt=fnN`Qb|31Tk{~`<+5utRUOsJu|hqh?ZG1h&nTf zbEQopnMk4WKHw5HPk3Gzt;4YRHb6gT7&C8qBSr~KPHEnGNIo2)q=7?wk_^(^C@gpL ze|bu1Z4&FuT6TzvLoJ2)_iB%bgeKW(5ZeBF?l8#Y_0iUxGeBD*q$Y1?v6R{J*|NLSA*{ItO9d*j&$Eno2!%q0B_~7tl3_^-d;+mDQ!FMjS|664T6e&u zKf9((&vg=Fw12<6X(}AzS8TiY*sKvcKW94t)1yKT;vAsH9Pa0xh-xQW(wcbN+373n zrISs)sa@o@9pS1t`g1Ice2Z*#3?c1}=D_OEiv2i(tt$PidF)$~h*8F?NWS1U?W71m7NO6o;|?xT zfJBxCXo{OC2v4c$EWIgbj>K(%YsxQ;4DK~gyyWA4`1kF}5i2VH3VzMoN^OHsr+IMXm#GwoaLI_OF1vr-f~Y3V(%cM4Ma*AH{W*R9CyVF+x5 z=Y*u_gy?SYz(BAq5WNuO*a7`Y((rI6u5MUSpm=hC!le@rtuH4W~>I`go$sRmB5Q^U1HWDXG(XFA2W@7D!J?t}yT3a*Ci_ z2sa7A+D`7pZhT!yD!-7Csfs5%E8K_jp7b?C5+Eyeuq|s>$fcMZ8?k#P6>7ty=;aVJ zjJsnbc2OU=hSgF9>6ZV+m0}o2%l5%@(+>5V3icMANI4Y9I@4qZZ&e5vn8?wY{AXo7>Wk?twAMupS|3I;8USqp@&R zE~2Gs7vddNkOr2MX*VTjw{6^6B1I#!fuBg8ddXs={sxNjEl3-l7k5*l^COGIC9@S8 zcr6|$hYCttlJKk3%vsI=wPWwXvQHD=euNK<(XKnyQ}>$dEt1&IGx5uWLd}PM8MUV{ zY={Uprnl%#;qA#blZbI+{Mxnmc>)IN)ZDh5HCoRYZGHEkD;(0Y$uq&5%ntPhvHK#^ z9>%6hKX%3r98^BVln79-OELuY9H7EoKNQG#qf8hwQdAMtP;2go0mo@Dr=P?H$WJs* zk_)~YHJ36DY>d_!7-z%e7^EDtF~Wo#oh<3aYtVvFL:cgI!wjn8K9{tij`Wewqy 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 Zqu!yeCIv8qe#|OHkOeS3MAClz`X7?Pjz$0g literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/graph/batch/job/tweepcred/PreparePageRankData.scala b/src/scala/com/twitter/graph/batch/job/tweepcred/PreparePageRankData.scala deleted file mode 100644 index 284ba45f8..000000000 --- a/src/scala/com/twitter/graph/batch/job/tweepcred/PreparePageRankData.scala +++ /dev/null @@ -1,275 +0,0 @@ -package com.twitter.graph.batch.job.tweepcred - -import com.twitter.data.proto.Flock -import com.twitter.scalding._ -import com.twitter.pluck.source._ -import com.twitter.pluck.source.combined_user_source.MostRecentCombinedUserSnapshotSource -import com.twitter.scalding_internal.dalv2.DAL -import com.twitter.service.interactions.InteractionGraph -import graphstore.common.FlockFollowsJavaDataset -import java.util.TimeZone - -/** - * Prepare the graph data for page rank calculation. Also generate the initial - * pagerank as the starting point. Afterwards, start WeightedPageRank job. - * - * Either read a tsv file for testing or read the following to build the graph - * flock edges Flock.Edge - * real graph input for weights InteractionGraph.Edge - * - * Options: - * --pwd: working directory, will generate the following files there - * numnodes: total number of nodes - * nodes: nodes file <'src_id, 'dst_ids, 'weights, 'mass_prior> - * pagerank: the page rank file - * --user_mass: user mass tsv file, generated by twadoop user_mass job - * Optional arguments: - * --input: use the given tsv file instead of flock and real graph - * --weighted: do weighted pagerank, default false - * --flock_edges_only: restrict graph to flock edges, default true - * --input_pagerank: continue pagerank from this - * - * Plus the following options for WeightedPageRank and ExtractTweepcred: - * --output_pagerank: where to put pagerank file - * --output_tweepcred: where to put tweepcred file - * Optional: - * --maxiterations: how many iterations to run. Default is 20 - * --jumpprob: probability of a random jump, default is 0.1 - * --threshold: total difference before finishing early, default 0.001 - * --post_adjust: whether to do post adjust, default true - */ -class PreparePageRankData(args: Args) extends Job(args) { - implicit val timeZone: TimeZone = DateOps.UTC - val PWD = args("pwd") - val WEIGHTED = args.getOrElse("weighted", "false").toBoolean - val FLOCK_EDGES_ONLY = args.getOrElse("flock_edges_only", "true").toBoolean - - val ROW_TYPE_1 = 1 - val ROW_TYPE_2 = 2 - - // graph data and user mass - val userMass = getUserMass - val nodesWithPrior = getGraphData(userMass) - val numNodes = nodesWithPrior.groupAll { _.size } - numNodes.write(Tsv(PWD + "/numnodes")) - dumpNodes(nodesWithPrior, PWD + "/nodes"); - - // initial pagerank to start computation - generateInitialPagerank(nodesWithPrior) - - // continue with the calculation - override def next = { - Some(new WeightedPageRank(args)) - } - - /** - * read flock edges - */ - def getFlockEdges = { - DAL - .readMostRecentSnapshotNoOlderThan(FlockFollowsJavaDataset, Days(7)) - .toTypedSource - .flatMapTo('src_id, 'dst_id) { edge: Flock.Edge => - if (edge.getStateId() == Flock.State.Positive.getNumber()) { - Some((edge.getSourceId(), edge.getDestinationId())) - } else { - None - } - } - } - - /** - * read real graph edges with weights - */ - def getRealGraphEdges = { - RealGraphEdgeSource() - .flatMapTo('src_id, 'dst_id, 'weight) { edge: InteractionGraph.Edge => - if (edge.getSourceId() != edge.getDestinationId()) { - val srcId = edge.getSourceId() - val dstId = edge.getDestinationId() - val weight = edge.getWeight().toFloat - Some((srcId, dstId, weight)) - } else { - None - } - } - } - - /** - * combine real graph and flock. If flock_edges_only is true, only take the - * flock edges; otherwise edges are either from flock or from real graph. - * edges weights default to be 1, overwritten by weights from real graph - */ - def getFlockRealGraphEdges = { - val flock = getFlockEdges - - if (WEIGHTED) { - val flockWithWeight = flock - .map(() -> ('weight, 'rowtype)) { (u: Unit) => - (1.0f, ROW_TYPE_1) - } - - val realGraph = getRealGraphEdges - .map(() -> 'rowtype) { (u: Unit) => - (ROW_TYPE_2) - } - - val combined = (flockWithWeight ++ realGraph) - .groupBy('src_id, 'dst_id) { - _.min('rowtype) - .max('weight) // take whichever is bigger - } - - if (FLOCK_EDGES_ONLY) { - combined.filter('rowtype) { (rowtype: Int) => - rowtype == ROW_TYPE_1 - } - } else { - combined - } - } else { - flock.map(() -> ('weight)) { (u: Unit) => - 1.0f - } - }.project('src_id, 'dst_id, 'weight) - } - - def getCsvEdges(fileName: String) = { - Tsv(fileName).read - .mapTo((0, 1, 2) -> ('src_id, 'dst_id, 'weight)) { input: (Long, Long, Float) => - input - } - } - - /* - * Compute user mass based on combined user - */ - def getUserMass = - TypedPipe - .from(MostRecentCombinedUserSnapshotSource) - .flatMap { user => - UserMass.getUserMass(user) - } - .map { userMassInfo => - (userMassInfo.userId, userMassInfo.mass) - } - .toPipe[(Long, Double)]('src_id_input, 'mass_prior) - .normalize('mass_prior) - - /** - * Read either flock/real_graph or a given tsv file - * group by the source id, and output node data structure - * merge with the user_mass. - * return <'src_id, 'dst_ids, 'weights, 'mass_prior> - * - * make sure src_id is the same set as in user_mass, and dst_ids - * are subset of user_mass. eg flock has edges like 1->2, - * where both users 1 and 2 do not exist anymore - */ - def getGraphData(userMass: RichPipe) = { - val edges: RichPipe = args.optional("input") match { - case None => getFlockRealGraphEdges - case Some(input) => getCsvEdges(input) - } - - // remove edges where dst_id is not in userMass - val filterByDst = userMass - .joinWithLarger('src_id_input -> 'dst_id, edges) - .discard('src_id_input, 'mass_prior) - - // aggreate by the source id - val nodes = filterByDst - .groupBy('src_id) { - _.mapReduceMap(('dst_id, 'weight) -> ('dst_ids, 'weights)) /* map1 */ { a: (Long, Float) => - (Vector(a._1), if (WEIGHTED) Vector(a._2) else Vector()) - } /* reduce */ { (a: (Vector[Long], Vector[Float]), b: (Vector[Long], Vector[Float])) => - { - (a._1 ++ b._1, a._2 ++ b._2) - } - } /* map2 */ { a: (Vector[Long], Vector[Float]) => - a - } - } - .mapTo( - ('src_id, 'dst_ids, 'weights) -> ('src_id, 'dst_ids, 'weights, 'mass_prior, 'rowtype)) { - input: (Long, Vector[Long], Vector[Float]) => - { - (input._1, input._2.toArray, input._3.toArray, 0.0, ROW_TYPE_1) - } - } - - // get to the same schema - val userMassNodes = userMass - .mapTo(('src_id_input, 'mass_prior) -> ('src_id, 'dst_ids, 'weights, 'mass_prior, 'rowtype)) { - input: (Long, Double) => - { - (input._1, Array[Long](), Array[Float](), input._2, ROW_TYPE_2) - } - } - - // make src_id the same set as in userMass - (nodes ++ userMassNodes) - .groupBy('src_id) { - _.sortBy('rowtype) - .head('dst_ids, 'weights) - .last('mass_prior, 'rowtype) - } - .filter('rowtype) { input: Int => - input == ROW_TYPE_2 - } - } - - /** - * generate the graph data output - */ - def dumpNodes(nodes: RichPipe, fileName: String) = { - mode match { - case Hdfs(_, conf) => nodes.write(SequenceFile(fileName)) - case _ => - nodes - .mapTo((0, 1, 2, 3) -> (0, 1, 2, 3)) { input: (Long, Array[Long], Array[Float], Double) => - (input._1, input._2.mkString(","), input._3.mkString(","), input._4) - } - .write(Tsv(fileName)) - } - } - - /* - * output prior mass or copy the given mass file (merge, normalize) - * to be used as the starting point - */ - def generateInitialPagerank(nodes: RichPipe) = { - val prior = nodes - .project('src_id, 'mass_prior) - - val combined = args.optional("input_pagerank") match { - case None => prior - case Some(fileName) => { - val massInput = Tsv(fileName).read - .mapTo((0, 1) -> ('src_id, 'mass_prior, 'rowtype)) { input: (Long, Double) => - (input._1, input._2, ROW_TYPE_2) - } - - val priorRow = prior - .map(() -> ('rowtype)) { (u: Unit) => - ROW_TYPE_1 - } - - (priorRow ++ massInput) - .groupBy('src_id) { - _.sortBy('rowtype) - .last('mass_prior) - .head('rowtype) - } - // throw away extra nodes from input file - .filter('rowtype) { (rowtype: Int) => - rowtype == ROW_TYPE_1 - } - .discard('rowtype) - .normalize('mass_prior) - } - } - - combined.write(Tsv(PWD + "/pagerank_0")) - } -} diff --git a/src/scala/com/twitter/graph/batch/job/tweepcred/README b/src/scala/com/twitter/graph/batch/job/tweepcred/README deleted file mode 100644 index 55ef3b093..000000000 --- a/src/scala/com/twitter/graph/batch/job/tweepcred/README +++ /dev/null @@ -1,75 +0,0 @@ -Tweepcred - -Tweepcred is a social network analysis tool that calculates the influence of Twitter users based on their interactions with other users. The tool uses the PageRank algorithm to rank users based on their influence. - -PageRank Algorithm -PageRank is a graph algorithm that was originally developed by Google to determine the importance of web pages in search results. The algorithm works by assigning a numerical score to each page based on the number and quality of other pages that link to it. The more links a page has from other high-quality pages, the higher its PageRank score. - -In the Tweepcred project, the PageRank algorithm is used to determine the influence of Twitter users based on their interactions with other users. The graph is constructed by treating Twitter users as nodes, and their interactions (mentions, retweets, etc.) as edges. The PageRank score of a user represents their influence in the network. - -Tweepcred PageRank Implementation -The implementation of the PageRank algorithm in Tweepcred is based on the Hadoop MapReduce framework. The algorithm is split into two stages: preparation and iteration. - -The preparation stage involves constructing the graph of Twitter users and their interactions, and initializing each user's PageRank score to a default value. This stage is implemented in the PreparePageRankData class. - -The iteration stage involves repeatedly calculating and updating the PageRank scores of each user until convergence is reached. This stage is implemented in the UpdatePageRank class, which is run multiple times until the algorithm converges. - -The Tweepcred PageRank implementation also includes a number of optimizations to improve performance and reduce memory usage. These optimizations include block compression, lazy loading, and in-memory caching. - - -========================================== TweepcredBatchJob.scala ========================================== - - -This is a Scala class that represents a batch job for computing the "tweepcred" (Twitter credibility) score for Twitter users using weighted or unweighted PageRank algorithm. The class extends the AnalyticsIterativeBatchJob class, which is part of the Scalding framework used for data processing on Hadoop. - -The class defines various properties and methods that are used to configure and run the batch job. The args parameter represents the command-line arguments that are passed to the batch job, such as the --weighted flag that determines whether to use the weighted PageRank algorithm or not. - -The run method overrides the run method of the base class and prints the batch statistics after the job has finished. The children method defines a list of child jobs that need to be executed as part of the batch job. The messageHeader method returns a string that represents the header of the batch job message. - -========================================== ExtractTweepcred.scala ========================================== - -This class is a Scalding job that calculates "tweepcred" from a given pagerank file. Tweepcred is a measure of reputation for Twitter users that takes into account the number of followers they have and the number of people they follow. If the optional argument post_adjust is set to true (default value), then the pagerank values are adjusted based on the user's follower-to-following ratio. - -The class takes several command-line arguments specifying input and output files and options, and it uses the Scalding library to perform distributed data processing on the input files. It reads in the pagerank file and a user mass file, both in TSV format, and combines them to produce a new pagerank file with the adjusted values. The adjusted pagerank is then used to calculate tweepcred values, which are written to output files. - -The code makes use of the MostRecentCombinedUserSnapshotSource class from the com.twitter.pluck.source.combined_user_source package to obtain user information from the user mass file. It also uses the Reputation class to perform the tweepcred calculations and adjustments. - - -========================================== UserMass.scala ========================================== - -The UserMass class is a helper class used to calculate the "mass" of a user on Twitter, as defined by a certain algorithm. The mass score represents the user's reputation and is used in various applications, such as in determining which users should be recommended to follow or which users should have their content highlighted. - -The getUserMass method of the UserMass class takes in a CombinedUser object, which contains information about a Twitter user, and returns an optional UserMassInfo object, which contains the user's ID and calculated mass score. - -The algorithm used to calculate the mass score takes into account various factors such as the user's account age, number of followers and followings, device usage, and safety status (restricted, suspended, verified). The calculation involves adding and multiplying weight factors and adjusting the mass score based on a threshold for the number of friends and followers. - - -========================================== PreparePageRankData.scala ========================================== - -The PreparePageRankData class prepares the graph data for the page rank calculation. It generates the initial pagerank and then starts the WeightedPageRank job. It has the following functionalities: - -It reads the user mass TSV file generated by the twadoop user_mass job. -It reads the graph data, which is either a TSV file or a combination of flock edges and real graph inputs for weights. -It generates the initial pagerank as the starting point for the pagerank computation. -It writes the number of nodes to a TSV file and dumps the nodes to another TSV file. -It has several options like weighted, flock_edges_only, and input_pagerank to fine-tune the pagerank calculation. -It also has options for the WeightedPageRank and ExtractTweepcred jobs, like output_pagerank, output_tweepcred, maxiterations, jumpprob, threshold, and post_adjust. -The PreparePageRankData class has several helper functions like getFlockEdges, getRealGraphEdges, getFlockRealGraphEdges, and getCsvEdges that read the graph data from different sources like DAL, InteractionGraph, or CSV files. It also has the generateInitialPagerank function that generates the initial pagerank from the graph data. - -========================================== WeightedPageRank.scala ========================================== - -WeightedPageRank is a class that performs the weighted PageRank algorithm on a given graph. - -The algorithm starts from a given PageRank value and performs one iteration, then tests for convergence. If convergence has not been reached, the algorithm clones itself and starts the next PageRank job with the updated PageRank as input. If convergence has been reached, the algorithm starts the ExtractTweepcred job instead. - -The class takes in several options, including the working directory, total number of nodes, nodes file, PageRank file, total difference, whether to perform weighted PageRank, the current iteration, maximum iterations to run, probability of a random jump, and whether to do post adjust. - -The algorithm reads a nodes file that includes the source node ID, destination node IDs, weights, and mass prior. The algorithm also reads an input PageRank file that includes the source node ID and mass input. The algorithm then performs one iteration of the PageRank algorithm and writes the output PageRank to a file. - -The algorithm tests for convergence by calculating the total difference between the input and output PageRank masses. If convergence has not been reached, the algorithm clones itself and starts the next PageRank job. If convergence has been reached, the algorithm starts the ExtractTweepcred job. - -========================================== Reputation.scala ========================================== - -This is a helper class called Reputation that contains methods for calculating a user's reputation score. The first method called scaledReputation takes a Double parameter raw which represents the user's page rank, and returns a Byte value that represents the user's reputation on a scale of 0 to 100. This method uses a formula that involves converting the logarithm of the page rank to a number between 0 and 100. - -The second method called adjustReputationsPostCalculation takes three parameters: mass (a Double value representing the user's page rank), numFollowers (an Int value representing the number of followers a user has), and numFollowings (an Int value representing the number of users a user is following). This method reduces the page rank of users who have a low number of followers but a high number of followings. It calculates a division factor based on the ratio of followings to followers, and reduces the user's page rank by dividing it by this factor. The method returns the adjusted page rank. diff --git a/src/scala/com/twitter/graph/batch/job/tweepcred/README.docx b/src/scala/com/twitter/graph/batch/job/tweepcred/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..f74bf915da53d1a4521308683971367a77d27279 GIT binary patch literal 39626 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/graph/batch/job/tweepcred/Reputation.scala b/src/scala/com/twitter/graph/batch/job/tweepcred/Reputation.scala deleted file mode 100644 index 6c81805fd..000000000 --- a/src/scala/com/twitter/graph/batch/job/tweepcred/Reputation.scala +++ /dev/null @@ -1,50 +0,0 @@ -package com.twitter.graph.batch.job.tweepcred - -/** - * helper class to calculate reputation, borrowed from repo reputations - */ -object Reputation { - - /** - * convert pagerank to tweepcred between 0 and 100, - * take from repo reputations, util/Utils.scala - */ - def scaledReputation(raw: Double): Byte = { - if (raw == 0 || (raw < 1.0e-20)) { - 0 - } else { - // convert log(pagerank) to a number between 0 and 100 - // the two parameters are from a linear fit by converting - // max pagerank -> 95 - // min pagerank -> 15 - val e: Double = 130d + 5.21 * scala.math.log(raw) // log to the base e - val pos = scala.math.rint(e) - val v = if (pos > 100) 100.0 else if (pos < 0) 0.0 else pos - v.toByte - } - } - - // these constants are take from repo reputations, config/production.conf - private val threshAbsNumFriendsReps = 2500 - private val constantDivisionFactorGt_threshFriendsToFollowersRatioReps = 3.0 - private val threshFriendsToFollowersRatioUMass = 0.6 - private val maxDivFactorReps = 50 - - /** - * reduce pagerank of users with low followers but high followings - */ - def adjustReputationsPostCalculation(mass: Double, numFollowers: Int, numFollowings: Int) = { - if (numFollowings > threshAbsNumFriendsReps) { - val friendsToFollowersRatio = (1.0 + numFollowings) / (1.0 + numFollowers) - val divFactor = - scala.math.exp( - constantDivisionFactorGt_threshFriendsToFollowersRatioReps * - (friendsToFollowersRatio - threshFriendsToFollowersRatioUMass) * - scala.math.log(scala.math.log(numFollowings)) - ) - mass / ((divFactor min maxDivFactorReps) max 1.0) - } else { - mass - } - } -} diff --git a/src/scala/com/twitter/graph/batch/job/tweepcred/TweepcredBatchJob.docx b/src/scala/com/twitter/graph/batch/job/tweepcred/TweepcredBatchJob.docx new file mode 100644 index 0000000000000000000000000000000000000000..585d64dde17c4c78847f6612c8364ad47e114d65 GIT binary patch literal 37584 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 Option(u.devices)).exists(_.isSetMessaging_devices) - val numFollowers = userExtended.flatMap(u => Option(u.followers)).map(_.toInt).getOrElse(0) - val numFollowings = userExtended.flatMap(u => Option(u.followings)).map(_.toInt).getOrElse(0) - - if (userId == 0L || user.map(_.safety).exists(_.deactivated)) { - None - } else { - val mass = - if (isSuspended) - 0 - else if (isVerified) - 100 - else { - var score = deviceWeightAdditive * 0.1 + - (if (hasValidDevice) deviceWeightAdditive else 0) - val normalizedAge = if (age > 30) 1.0 else (1.0 min scala.math.log(1.0 + age / 15.0)) - score *= normalizedAge - if (score < 0.01) score = 0.01 - if (isRestricted) score *= restrictedWeightMultiplicative - score = (score min 1.0) max 0 - score *= 100 - score - } - - val friendsToFollowersRatio = (1.0 + numFollowings) / (1.0 + numFollowers) - val adjustedMass = - if (numFollowings > threshAbsNumFriendsUMass && - friendsToFollowersRatio > threshFriendsToFollowersRatioUMass) { - mass / scala.math.exp( - constantDivisionFactorGt_threshFriendsToFollowersRatioUMass * - (friendsToFollowersRatio - threshFriendsToFollowersRatioUMass) - ) - } else { - mass - } - - Some(UserMassInfo(userId, adjustedMass)) - } - } -} diff --git a/src/scala/com/twitter/graph/batch/job/tweepcred/WeightedPageRank.docx b/src/scala/com/twitter/graph/batch/job/tweepcred/WeightedPageRank.docx new file mode 100644 index 0000000000000000000000000000000000000000..ba44df6d2b7ce61c230cb0a31098d013037a123d GIT binary patch literal 39421 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 - * pagerank: the page rank file eg pagerank_0, pagerank_1 etc - * totaldiff: the current max pagerank delta - * Optional arguments: - * --weighted: do weighted pagerank, default false - * --curiteration: what is the current iteration, default 0 - * --maxiterations: how many iterations to run. Default is 20 - * --jumpprob: probability of a random jump, default is 0.1 - * --threshold: total difference before finishing early, default 0.001 - * - * plus the following options for ExtractTweepcred: - * --user_mass: user mass tsv file, generated by twadoop user_mass job - * --output_pagerank: where to put pagerank file - * --output_tweepcred: where to put tweepcred file - * Optional: - * --post_adjust: whether to do post adjust, default true - * - */ -class WeightedPageRank(args: Args) extends Job(args) { - val ROW_TYPE_1 = 1 - val ROW_TYPE_2 = 2 - - val PWD = args("pwd") - val ALPHA = args.getOrElse("jumpprob", "0.1").toDouble - val WEIGHTED = args.getOrElse("weighted", "false").toBoolean - val THRESHOLD = args.getOrElse("threshold", "0.001").toDouble - val MAXITERATIONS = args.getOrElse("maxiterations", "20").toInt - val CURITERATION = args.getOrElse("curiteration", "0").toInt - - // 'size - val numNodes = getNumNodes(PWD + "/numnodes") - - // 'src_id, 'dst_ids, 'weights, 'mass_prior - val nodes = getNodes(PWD + "/nodes") - - // 'src_id_input, 'mass_input - val inputPagerank = getInputPagerank(PWD + "/pagerank_" + CURITERATION) - - // one iteration of pagerank - val outputPagerank = doPageRank(nodes, inputPagerank) - val outputFileName = PWD + "/pagerank_" + (CURITERATION + 1) - outputPagerank - .project('src_id, 'mass_n) - .write(Tsv(outputFileName)) - - // detect convergence - val totalDiff = outputPagerank - .mapTo(('mass_input, 'mass_n) -> 'mass_diff) { args: (Double, Double) => - scala.math.abs(args._1 - args._2) - } - .groupAll { _.sum[Double]('mass_diff) } - .write(Tsv(PWD + "/totaldiff")) - - /** - * test convergence, if not yet, kick off the next iteration - */ - override def next = { - // the max diff generated above - val totalDiff = Tsv(PWD + "/totaldiff").readAtSubmitter[Double].head - - if (CURITERATION < MAXITERATIONS - 1 && totalDiff > THRESHOLD) { - val newArgs = args + ("curiteration", Some((CURITERATION + 1).toString)) - Some(clone(newArgs)) - } else { - val newArgs = args + ("input_pagerank", Some(outputFileName)) - Some(new ExtractTweepcred(newArgs)) - } - } - - def getInputPagerank(fileName: String) = { - Tsv(fileName).read - .mapTo((0, 1) -> ('src_id_input, 'mass_input)) { input: (Long, Double) => - input - } - } - - /** - * read the pregenerated nodes file <'src_id, 'dst_ids, 'weights, 'mass_prior> - */ - def getNodes(fileName: String) = { - mode match { - case Hdfs(_, conf) => { - SequenceFile(fileName).read - .mapTo((0, 1, 2, 3) -> ('src_id, 'dst_ids, 'weights, 'mass_prior)) { - input: (Long, Array[Long], Array[Float], Double) => - input - } - } - case _ => { - Tsv(fileName).read - .mapTo((0, 1, 2, 3) -> ('src_id, 'dst_ids, 'weights, 'mass_prior)) { - input: (Long, String, String, Double) => - { - ( - input._1, - // convert string to int array - if (input._2 != null && input._2.length > 0) { - input._2.split(",").map { _.toLong } - } else { - Array[Long]() - }, - // convert string to float array - if (input._3 != null && input._3.length > 0) { - input._3.split(",").map { _.toFloat } - } else { - Array[Float]() - }, - input._4 - ) - } - } - } - } - } - - /** - * the total number of nodes, single line file - */ - def getNumNodes(fileName: String) = { - Tsv(fileName).read - .mapTo(0 -> 'size) { input: Long => - input - } - } - - /** - * one iteration of pagerank - * inputPagerank: <'src_id_input, 'mass_input> - * return <'src_id, 'mass_n, 'mass_input> - * - * Here is a highlevel view of the unweighted algorithm: - * let - * N: number of nodes - * inputPagerank(N_i): prob of walking to node i, - * d(N_j): N_j's out degree - * then - * pagerankNext(N_i) = (\sum_{j points to i} inputPagerank(N_j) / d_j) - * deadPagerank = (1 - \sum_{i} pagerankNext(N_i)) / N - * randomPagerank(N_i) = userMass(N_i) * ALPHA + deadPagerank * (1-ALPHA) - * pagerankOutput(N_i) = randomPagerank(N_i) + pagerankNext(N_i) * (1-ALPHA) - * - * For weighted algorithm: - * let - * w(N_j, N_i): weight from N_j to N_i - * tw(N_j): N_j's total out weights - * then - * pagerankNext(N_i) = (\sum_{j points to i} inputPagerank(N_j) * w(N_j, N_i) / tw(N_j)) - * - */ - def doPageRank(nodeRows: RichPipe, inputPagerank: RichPipe): RichPipe = { - // 'src_id, 'dst_ids, 'weights, 'mass_prior, 'mass_input - val nodeJoined = nodeRows - .joinWithSmaller('src_id -> 'src_id_input, inputPagerank) - .discard('src_id_input) - - // 'src_id, 'mass_n - val pagerankNext = nodeJoined - .flatMapTo(('dst_ids, 'weights, 'mass_input) -> ('src_id, 'mass_n)) { - args: (Array[Long], Array[Float], Double) => - { - if (args._1.length > 0) { - if (WEIGHTED) { - // weighted distribution - val total: Double = args._2.sum - (args._1 zip args._2).map { idWeight: (Long, Float) => - (idWeight._1, args._3 * idWeight._2 / total) - } - } else { - // equal distribution - val dist: Double = args._3 / args._1.length - args._1.map { id: Long => - (id, dist) - } - } - } else { - //Here is a node that points to no other nodes (dangling) - Nil - } - } - } - .groupBy('src_id) { - _.sum[Double]('mass_n) - } - - // 'sum_mass - val sumPagerankNext = pagerankNext.groupAll { _.sum[Double]('mass_n -> 'sum_mass) } - - // 'deadMass - // single row jobs - // the dead page rank equally distributed to every node - val deadPagerank = sumPagerankNext - .crossWithTiny(numNodes) - .map(('sum_mass, 'size) -> 'deadMass) { input: (Double, Long) => - (1.0 - input._1) / input._2 - } - .discard('size, 'sum_mass) - - // 'src_id_r, 'mass_n_r - // random jump probability plus dead page rank - val randomPagerank = nodeJoined - .crossWithTiny(deadPagerank) - .mapTo(('src_id, 'mass_prior, 'deadMass, 'mass_input) -> ('src_id, 'mass_n, 'mass_input)) { - ranks: (Long, Double, Double, Double) => - (ranks._1, ranks._2 * ALPHA + ranks._3 * (1 - ALPHA), ranks._4) - } - - // 'src_id, 'mass_n - // scale next page rank to 1-ALPHA - val pagerankNextScaled = pagerankNext - .map('mass_n -> ('mass_n, 'mass_input)) { m: Double => - ((1 - ALPHA) * m, 0.0) - } - - // 'src_id, 'mass_n, 'mass_input - // random probability + next probability - (randomPagerank ++ pagerankNextScaled) - .groupBy('src_id) { - _.sum[Double]('mass_input) // keep the input pagerank - .sum[Double]('mass_n) // take the sum - } - } -} diff --git a/src/scala/com/twitter/interaction_graph/README.docx b/src/scala/com/twitter/interaction_graph/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..dc53d8739b544b89153179c709e279382ff5334a GIT binary patch literal 37633 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 Y$}*orfBuRFgl}3 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 DVNK9p literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/bqe/scoring/README.md b/src/scala/com/twitter/interaction_graph/bqe/scoring/README.md deleted file mode 100644 index 0e435feb8..000000000 --- a/src/scala/com/twitter/interaction_graph/bqe/scoring/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Scoring - -This folder contains the sql files that we'll use for scoring the real graph edges in BQ. We have 4 steps that take place: -- check to make sure that our models are in place. the feature importance query should return 20 rows in total: 10 rows per model, 1 for each feature. -- follow graph feature generation. this is to ensure that we have features for all users regardless if they have had any recent activity. -- candidate generation. this query combines the candidates from the follow graph and the activity graph, and the features from both. -- scoring. this query scores with 2 of our prod models and saves the scores to a table, with an additional field that distinguishes if an edge in in/out of network. - -## Instructions - -For deploying the job, you would need to create a zip file, upload to packer, and then schedule it with aurora. - -``` -zip -jr real_graph_scoring src/scala/com/twitter/interaction_graph/bqe/scoring && \ -packer add_version --cluster=atla cassowary real_graph_scoring real_graph_scoring.zip -aurora cron schedule atla/cassowary/prod/real_graph_scoring src/scala/com/twitter/interaction_graph/bqe/scoring/scoring.aurora && \ -aurora cron start atla/cassowary/prod/real_graph_scoring -``` - -# candidates.sql - -This BigQuery (BQ) query does the following: - -1. Declares two variables, date_start and date_end, which are both of type DATE. -2. Sets the date_end variable to the maximum partition ID of the interaction_graph_labels_daily table, using the PARSE_DATE() function to convert the partition ID to a date format. -3. Sets the date_start variable to 30 days prior to the date_end variable, using the DATE_SUB() function. -4. Creates a new table called candidates in the realgraph dataset, partitioned by ds. -5. The query uses three common table expressions (T1, T2, and T3) to join data from two tables (interaction_graph_labels_daily and tweeting_follows) to generate a table containing candidate information and features. -6. The table T3 is the result of a full outer join between T1 and T2, grouping by source_id and destination_id, and aggregating values such as num_tweets, label_types, and the counts of different types of labels (e.g. num_follows, num_favorites, etc.). -7. The T4 table ranks each source_id by the number of num_days and num_tweets, and selects the top 2000 rows for each source_id. -8. Finally, the query selects all columns from the T4 table and appends the date_end variable as a new column named ds. - -Overall, the query generates a table of candidates and their associated features for a particular date range, using data from two tables in the twttr-bq-cassowary-prod and twttr-recos-ml-prod datasets. - -# follow_graph_features.sql - -This BigQuery script creates a table twttr-recos-ml-prod.realgraph.tweeting_follows that includes features for Twitter user interactions, specifically tweet counts and follows. - -First, it sets two variables date_latest_tweet and date_latest_follows to the most recent dates available in two separate tables: twttr-bq-tweetsource-pub-prod.user.public_tweets and twttr-recos-ml-prod.user_events.valid_user_follows, respectively. - -Then, it creates the tweet_count and all_follows CTEs. - -The tweet_count CTE counts the number of tweets made by each user within the last 3 days prior to date_latest_tweet. - -The all_follows CTE retrieves all the follows from the valid_user_follows table that happened on date_latest_follows and left joins it with the tweet_count CTE. It also adds a row number that partitions by the source user ID and orders by the number of tweets in descending order. The final output is filtered to keep only the top 2000 follows per user based on the row number. - -The final SELECT statement combines the all_follows CTE with the date_latest_tweet variable and inserts the results into the twttr-recos-ml-prod.realgraph.tweeting_follows table partitioned by date. - -# scoring.sql - -This BQ code performs operations on a BigQuery table called twttr-recos-ml-prod.realgraph.scores. Here is a step-by-step breakdown of what the code does: - -Declare two variables, date_end and date_latest_follows, and set their values based on the latest partitions in the twttr-bq-cassowary-prod.user.INFORMATION_SCHEMA.PARTITIONS and twttr-recos-ml-prod.user_events.INFORMATION_SCHEMA.PARTITIONS tables that correspond to specific tables, respectively. The PARSE_DATE() function is used to convert the partition IDs to date format. - -Delete rows from the twttr-recos-ml-prod.realgraph.scores table where the value of the ds column is equal to date_end. - -Insert rows into the twttr-recos-ml-prod.realgraph.scores table based on a query that generates predicted scores for pairs of user IDs using two machine learning models. Specifically, the query uses the ML.PREDICT() function to apply two machine learning models (twttr-recos-ml-prod.realgraph.prod and twttr-recos-ml-prod.realgraph.prod_explicit) to the twttr-recos-ml-prod.realgraph.candidates table. The resulting predicted scores are joined with the twttr-recos-ml-prod.realgraph.tweeting_follows table, which contains information about the number of tweets made by users and their follow relationships, using a full outer join. The final result includes columns for the source ID, destination ID, predicted score (prob), explicit predicted score (prob_explicit), a binary variable indicating whether the destination ID is followed by the source ID (followed), and the value of date_end for the ds column. If there is no match in the predicted_scores table for a given pair of user IDs, the COALESCE() function is used to return the corresponding values from the tweeting_follows table, with default values of 0.0 for the predicted scores. - diff --git a/src/scala/com/twitter/interaction_graph/bqe/scoring/candidates.docx b/src/scala/com/twitter/interaction_graph/bqe/scoring/candidates.docx new file mode 100644 index 0000000000000000000000000000000000000000..5b9364ab713a740d803a7f5ed77ef53c299a2f8e GIT binary patch literal 37456 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

wf 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 B&awai literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/bqe/training/README.md b/src/scala/com/twitter/interaction_graph/bqe/training/README.md deleted file mode 100644 index 17e94e7f5..000000000 --- a/src/scala/com/twitter/interaction_graph/bqe/training/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Training - -This folder contains the sql files that we'll use for training the prod real graph models: -- prod (predicts any interactions the next day) -- prod_explicit (predicts any explicit interactions the next day) - -We have 3 steps that take place: -- candidate generation + feature hydration. this query samples 1% of edges from the `twttr-recos-ml-prod.realgraph.candidates` table which is already produced daily and saves it to `twttr-recos-ml-prod.realgraph.candidates_sampled`. we save each day's data according to the statebird batch run date and hence require checks to make sure that the data exists to begin with. -- label candidates. we join day T's candidates with day T+1's labels while filtering out any negative interactions to get our labeled dataset. we append an additional day's worth of segments for each day. we finally generate the training dataset which uses all day's labeled data for training, performing negative downsampling to get a roughly 50-50 split of positive to negative labels. -- training. we use bqml for training our xgboost models. - -## Instructions - -For deploying the job, you would need to create a zip file, upload to packer, and then schedule it with aurora. - -``` -zip -jr real_graph_training src/scala/com/twitter/interaction_graph/bqe/training && \ -packer add_version --cluster=atla cassowary real_graph_training real_graph_training.zip -aurora cron schedule atla/cassowary/prod/real_graph_training src/scala/com/twitter/interaction_graph/bqe/training/training.aurora && \ -aurora cron start atla/cassowary/prod/real_graph_training -``` - -# candidates.sql - -1. Sets the value of the variable date_candidates to the date of the latest partition of the candidates_for_training table. -2. Creates a new table candidates_sampled if it does not exist already, which will contain a sample of 100 rows from the candidates_for_training table. -3. Deletes any existing rows from the candidates_sampled table where the ds column matches the date_candidates value, to avoid double-writing. -4. Inserts a sample of rows into the candidates_sampled table from the candidates_for_training table, where the modulo of the absolute value of the FARM_FINGERPRINT of the concatenation of source_id and destination_id is equal to the value of the $mod_remainder$ variable, and where the ds column matches the date_candidates value. - -# check_candidates_exist.sql - -This BigQuery prepares a table of candidates for training a machine learning model. It does the following: - -1. Declares two variables date_start and date_end that are 30 days apart, and date_end is set to the value of $start_time$ parameter (which is a Unix timestamp). -2. Creates a table candidates_for_training that is partitioned by ds (date) and populated with data from several other tables in the database. It joins information from tables of user interactions, tweeting, and interaction graph aggregates, filters out negative edge snapshots, calculates some statistics and aggregates them by source_id and destination_id. Then, it ranks each source_id by the number of days and tweets, selects top 2000, and adds date_end as a new column ds. -3. Finally, it selects the ds column from candidates_for_training where ds equals date_end. - -Overall, this script prepares a table of 2000 candidate pairs of user interactions with statistics and labels, which can be used to train a machine learning model for recommendation purposes. - -# labeled_candidates.sql - -The BQ does the following: - -1. Defines two variables date_candidates and date_labels as dates based on the $start_time$ parameter. -2. Creates a new table twttr-recos-ml-prod.realgraph.labeled_candidates$table_suffix$ with default values. -3. Deletes any prior data in the twttr-recos-ml-prod.realgraph.labeled_candidates$table_suffix$ table for the current date_candidates. -4. Joins the twttr-recos-ml-prod.realgraph.candidates_sampled table with the twttr-bq-cassowary-prod.user.interaction_graph_labels_daily table and the twttr-bq-cassowary-prod.user.interaction_graph_agg_negative_edge_snapshot table. It assigns a label of 1 for positive interactions and 0 for negative interactions, and selects only the rows where there is no negative interaction. -5. Inserts the joined data into the twttr-recos-ml-prod.realgraph.labeled_candidates$table_suffix$ table. -6. Calculates the positive rate by counting the number of positive labels and dividing it by the total number of labels. -7. Creates a new table twttr-recos-ml-prod.realgraph.train$table_suffix$ by sampling from the twttr-recos-ml-prod.realgraph.labeled_candidates$table_suffix$ table, with a downsampling of negative examples to balance the number of positive and negative examples, based on the positive rate calculated in step 6. - -The resulting twttr-recos-ml-prod.realgraph.train$table_suffix$ table is used as a training dataset for a machine learning model. - -# train_model.sql - -This BQ command creates or replaces a machine learning model called twttr-recos-ml-prod.realgraph.prod$table_suffix$. The model is a boosted tree classifier, which is used for binary classification problems. - -The options provided in the command configure the specific settings for the model, such as the number of parallel trees, the maximum number of iterations, and the data split method. The DATA_SPLIT_METHOD parameter is set to CUSTOM, and DATA_SPLIT_COL is set to if_eval, which means the data will be split into training and evaluation sets based on the if_eval column. The IF function is used to assign a boolean value of true or false to if_eval based on the modulo operation performed on source_id. - -The SELECT statement specifies the input data for the model. The columns selected include label (the target variable to be predicted), as well as various features such as num_days, num_tweets, and num_follows that are used to predict the target variable. \ No newline at end of file diff --git a/src/scala/com/twitter/interaction_graph/bqe/training/candidates.docx b/src/scala/com/twitter/interaction_graph/bqe/training/candidates.docx new file mode 100644 index 0000000000000000000000000000000000000000..6b4c429269540d9432a0df7e61368e6ca226fbe6 GIT binary patch literal 37033 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

Th(mR{1H}yTACJd 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 z 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/injection/EdgeListInjection.docx b/src/scala/com/twitter/interaction_graph/injection/EdgeListInjection.docx new file mode 100644 index 0000000000000000000000000000000000000000..1970d5d0fe29abcefa4d6052059ac986c58b06b6 GIT binary patch literal 36840 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/injection/UserSessionInjection.scala b/src/scala/com/twitter/interaction_graph/injection/UserSessionInjection.scala deleted file mode 100644 index f6c84e184..000000000 --- a/src/scala/com/twitter/interaction_graph/injection/UserSessionInjection.scala +++ /dev/null @@ -1,14 +0,0 @@ -package com.twitter.interaction_graph.injection - -import com.twitter.user_session_store.thriftscala.UserSession -import com.twitter.scalding_internal.multiformat.format.keyval.KeyValInjection -import com.twitter.scalding_internal.multiformat.format.keyval.KeyValInjection.ScalaCompactThrift -import com.twitter.scalding_internal.multiformat.format.keyval.KeyValInjection.Long2BigEndian - -object UserSessionInjection { - final val injection: KeyValInjection[Long, UserSession] = - KeyValInjection( - Long2BigEndian, - ScalaCompactThrift(UserSession) - ) -} diff --git a/src/scala/com/twitter/interaction_graph/scio/README.docx b/src/scala/com/twitter/interaction_graph/scio/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..7de6543b4be7d1d2fb241e5d5e25a6abcee202c8 GIT binary patch literal 36824 zcmagFWmsIvwm*z(a1HM6?hb(jcXtWexYKxWcXxMpcMrkc0wfUJ{ok3HbI#1U_rC9! z%|lhKpRBcaRrT&_#ZQn>m|$RFaA5D#xizbli{g^N!NA60z`!s-tvccWJ7+UHX9HCa zdow3JCU;w#rX)FqH4)S=XD?XE%t9ny;wV_Xdts&k#9Z*a6wbEseI zD?)Z3Mg*XK`)=FI*TN=Rfgyta8aSHSI59K*zE;IgeS~C1^*a-i9HlI=YgUseT+x^KAy+8W zn>u+~YzLGsUhVEulF-w{?jt%p+cPm=%qYNLrZ2V$)G*ds2*_LN)7+xHXzVaphf9X< z^e1&!-3`*RNsqW8M;0-oy5lleClR9G#2C_{Z8)73trn9optF@mE)6P6K)XhCrqOWm zVVncN0HkD_Im1h;+P>Skh2IM|J4+k-i5$h+qp76Ho3i5Y6e7zwU|fsK9L_|S$F^l+ zw?B3$e%7hDVEPd#uArjtPH_!0)rmgHW6>y3GTXZM;ee5Xd`iP}+T3L`P|4SRhUgbd zUCNnuQ_Qjt+}NxR*V#W46#4~G#S(Oz&w>(!21<}Az(mmzVDH3i0&q0@eUoR!Psk6j zpi16(OU}!whh3qObp!oV%p5;4>NTjZngShftdhDU-pf zC%YKRM?P53$ua+Bnl!6bxj65KmhjPWSY^`!mtsXxIRF?Ljh+OQA$&GYgK344nJ{nbl944h19Ef*Ans$Ir)9w>`7^* zNI)Lkx{m86V6doeWPW~kozaQXPuSVCmAw|@rFnvfI>iW>xsiuF;wESj0-u$5cYR^W znvp1jSt6PVCDShbjiGxg|3`!G+lSZp%LMfI+!s)|M;6HXv~zCauh0FL`2VcS_1YTF zF{my!P+(xFf3J&?z5O3$QJt_`V?phFqKDFR4!49ARlX6I{svNou zOMM7U&%t13ylMf45#BjXL$P|?i>$$T@`4D~-bsOe#(5Q4WV6w$xI^CF`|Gorh~zKV zy8FTNB*muX%~T~8h42cy%~< z3@5ztxPe5azDy(ZGU_C@M^khpmzNXrMVuyb>>GKKl@Xxt8ZAfDf88Or^|qmmKNk7Z zEi%+2zu59Kwgla(IIK2dY(jGyhHu?C;OZAQ&%1=GOGr)d@XPN{2U)cki6WK+EA40$ zKGU;8l64cc6(4t*DoF*ahp8!&37?FK@##%yPc;q?#h0}8gfo4e4W1hJ)pRbEDbs9xQI6?%NXlkK41=2@rHS{lE5*z!?by@R^;@Su? zw1U}Y-sc%Hx?s!a^IQrRQRWTz9#7Y5nqV~AC#@q@^%ow?=l{SRmc7P(V~Y<*NS!RI zt_{v($`uo?oCi0gvssCEFy}_LUL2^LGc1z)W=wD`peqLf74I_CVfvtHC*Ek=j?jfT zR{UMXx~&AqYTUmTv)I(?{G{zOi&E8&mA0%~j~e=L~6$8bYoTYICko_uIHel)Nyzi|MyR9g$lME1TZW#DZx*gS3Ei(HdoGT6jV1}h}1_4ADbJNOWT+y}rv9|=1@d~`O@TsZ-nD+xez z}AB;a&{X|iPKo;CDXRiqT!3mhfb`kG?V>1>!X zi0}IE-EsNkP}|N;-Ks2Z^5fDsehlD=gh0WZ3sy8k7qCD{Iqq$cRui?ZB7x_t?c?fN z77&x0J*i9jTzU90QSKR`u8nfA9)Y4M&rYNbt2(Oihm=bEmwIk(2rY@(_*A2ioNQ;$ z4zi1>>ekDyO6zUmjdZ8JZTSZEfPOTny5$8!J#tP;!`-vPuQ&Im1imk@`UvKY3k2fD z`~J^zx>4u`Q0jM?kOS=ZhL+=d=8Gm^5^g=>DdKEJwV5hAke4Ow5u!Yl_30`>*1_+m zta+@iXA=iK<>8&ZU?GI}gd$4_c6kXkt(7J;J{$}7pQobxlTh1YJFS+g9~iEG;#s|( zt%2fw2>izU&s;}UVDm>XgMsO*L4%?EE7wlW9yVr9zb7Bijy7Res@|ukC%?ep`MYgw z5ZK7H9ay|8fst2NcHJ4f9Q)j_uU~OK$DA1WQj&@gt0}9ge=Lu$=kL$PR;1n6$VyN( zdwI$6?X)=q8W2Zkyqs=u5A+~)x9OazKb1_KUUdL~FSy?P4+p32+NascYcF;$ry0Ua zBY@Y3n74y0>E`=|=p^^1(*Om?1UQY{a6P|A2!f*DP zfC03-j=igc8~67o6{DXG?m|kI27paML<1JUmFy8OEj!mGqc8GCxhYdewZf;uS+Cea zvW_1v6n92K0`Co&*PcM4+_ro-Pf#XCP98UWc)q>}i%kihXl#NuM7CahQock$AqrnA z-=R0e+m5-5(_^=ZJ*$QX+>c1G?khniT{$Pw8Bga)H<#||gxnL?5kN;q&lg@#@~ec3 zJz5u!ZjaSp zswAD&?!ta3X$4N2iX&E{4(e)G{k0}58>*e$(b40b0+wyyS^$RDo70Cw-cztw5?NM+-9 zx9do8Jgayp00`s@YlX7TUCHAQi zh!jChee}XgwE)n62MjNRR`1{R?kA;}VTJ7E*IdjX@aT%$DNeRtIt3VniIZz)+-BFc zW0l$ZLs~`>maC8#>~02r)^7P!W147L89%2i9qv0gRbm&GKE|M(w>>QxU8&Mq4W?P# z2flUcRWHswoycaC5# zR(7&x6o4z)T;#O8l;NdnhcmoBZCG~kSDy_Qu7uaJvTw;OYufH6pcZmLeuPubK%j)` zJCtxBJxVADVrbG*7K>eVrX_{5*u?BLfV(R8!wm9J5kXk(q$NSL-K@+ikcLwxr$-O4 zk8klK$^5Rz9}|aKnB7?syiExJ*Www|5kZx|#6}HD=!70+6uZQZ4T$Z8F3kPi`5DxS z{jW}_9SQ)r=wIWjoA4-^pqM=nNBd|12{UcNxgcc0K{YU7ZR8VEq zXI7-{|3z@7L=I{}_(MfuPpWxPn+WC9bznco3#2cqwJGwFSv-u>n7f8B^)Lnee9>9IIe6@)e zJCb@oB1rnDP$$Ngwl=$WZ~3-i=q%eh5lCpxA2@WZj7-?PGDHe8=_Eg&4Q)K#xU}in z4S9(^4=hc(=6zmvztXuMp3AA(aj*HgAf#}(e=wH6b04)Otk-fQK^$$j%d{erq#J$4 z8He}wWdBZ_(PPFCm0`V%Fmr2Yo#gfu=(?QghBUO+&Ez|hBW-)^7=PIIYcL#8v+G|S zgIZ?eLnF|C_29^G@EUq5MIZ zReYC8$^IVe!`r@((m28y>+_Y1ueaM-YXSvI(WX;q?cxoi${HcXczdMAasqaTRXzDs z+iTxO+_2Iuo$7#N()#AniTi5LV07|bZsNB~DxMx^HY!vAxH+S5&Lsw82dWmyCPcrxum(Ov2CI zT?ilfWrv1$_kBNcVSiwDtU((CfBk01CXhIRNw3f~c9@EISGe@jA?(XK}5+ zyb=XYuI?2z0+_+(;Yi#kB|EKu{p2W)MX$EGiz{%FD&pUMYLbSx^zafkje28d&ZUT z+IcS8QlL~S5y#ONSl&l>#oBZTq_@SB z$GM-+NA@g6ov*FJS+~s3Gb7NRuV5%E86K@dPzGBaEh!^6qz}q*Pn?G9K?S9!PEN>@ zauZY&Ikzdu(vkS>ovNqV%59$l0bi>Zo}Mv!dc2kVE;zNH)g&GoNgj{@Pgu3s^f&P^ z%^#6$NZ&6XrTgPoB!5buW8y4{GL`ReI|vf{b#;{8DLAdcTI(X9{Jxe58O&+s`1xmS zAM}MzLGjF(a#0T%fwx>u2L_^Y%6)q^k4xd!D8Kt z2bnq`fGMB9r8S{fjj{z@dr%Kq1E)<6d5N2qPcepJ{n^opqnN#dDp^(H+(&b!(Kvl* zCG2Rmg%hxOjEMX5h)vUSI3RaFRw47PZUwu?T|s}IT(s2tSj|3pr__&=0A>+Ycbq02 zkxl*kLxh#o=p*5l+_fwMo=zI!8(LAf%kBg|=Td169TsMl8NXld=HPxzsXH3u5V5Ml zOFfFwX&dd1Tuj355Dlxw%G3=A_@m4jO zG=7AZpq8dZ9M9XusCFqw-9YVs`c^CFBRM=)KFoJ4yh6<|i=WJX{t1fHL)@Wk<)o|} zC!>xi&s$9^%HKEZ*p7WLR>=vMY>A+LMlWBEfp}+$kj@)QOZ1sGk=F_0;1d==Mj_+Y z!))Nn@s5|T_((`gCx$;tYDROiN(S*3FK459-H?wa_+6BM7i+@cjDD8Hk=N~x;kT~? zGh5AToNH%i@k{Ay14#&9-tJ!?7YT4GKcQr@@boOZbJVICaTXxRt5TGI=Hpo|uRT^D zQn=w`v(r4MpV(ok)}+tb5JzEW4;PC$EbUiniRRTZ}Uy6(a^=kK9qlwVAKcs@9^ z@%>7>sYv;eL>AKy1Pd-@YwTMFBcLT|KXwP4ea@_9+Qk1dFrk6J?iR^x5OTh0v;tYO zONcSd^nH@w#zNJhM4qRE>fz#f9?O7PqDyoWIfK1S9uGygnnL0l;cG4Sc9Q*FCH?mo zY9Ln8qT7`c?NRn^71zQTa_7}7lSffjjd~GrT+P^S+_>?4{3=ftP3?F7Fwoke&lG;- z+Cpt&rLeH3Otnov1t)2COLE}iqBXNeQg!Ii+LtCF@5)$|ZO|r|{kArGASOc}{jrKi ztbVr?QN7aFI=S#4} zxs63bTA^S`(QPK#iqk5zmsRUdgj_84n8%$*MRokKV*H?{CWrB=g3IA{RV8`r-oX*B z7A`_eFR2O2C~7_I_hy?j=VkV0X3CU(vdF$_1~5uFdc;S~rRc&3*pBYp=g-R4Ki*TI z<4MVUQg&@4^_pgoS|Meuu6#6HYAWd!-B9V>T(*|Oy;&(Ey!#P#$D93Dj%+K4Yu;yG zWS7sEW=>Gw&tDkOqvT?a%?4Onhl)R|t4#m!WmK(W%rKtesxQvp^2aDg4o?aHK zu(Uj;YXw%ROi97vws=6b#lehob=1nV47zjwax3D~z-1@Gx2Z`jzEQgmDI}yfjm)%M z#A(G2VItfS8Or(evuRM0SrRpaBUmhI@pj&Q9*;`nXyXNswD@Ud%k#5d6AIWHHOu$G7kNh@SV!&?_r zhe_#@kIs>~{_!~yLq238ovE*en;D0FO@p|4udsmKoUZ3r&vZ&h2}(v!_2YZ}J$B#+ z9)UMPTr{B_9_yi&)?NH9N*GR77Q5od2m6<=B~v@@2vJ@$&O?Ylr*FSO+*4L?B(5*7 zK&y`>sa0jiW<$7U*xH`PeR|MPYSYc`c-1+56qh1K!C@3EL>gl~c9l^-$yVDlL^?a_ z?uW@I3gDPGNxco}sX{qSioiOsz(X{s$@9sn!8o<*&?mY)r+U7cGsnm1`f+DG5rf$M_zriGE&P8vY>oO6iAIfrTF)fd6eXbiN+v7nG?Re3#te)x+m;FGYKZ8iM4n8PQIie%!fJ z7ZCMuU2$gcU1^Z=x?6Wrvi8On)wkGPMs(6>U05^A=K0*W{%h$4ElS(6BkZma?MdJH z{5Gi|m(sL4VWFwd$Bp2-e)5bUxtK;7zYZ=qjX{jy`ZlxfbinXQgoa)6{1xgB%A z@{*Uey{QE~1Sjd#JKW6K$h=^BnH|Y`tvN18(dF=L+6&%@aU>PEx$;}VuN{^MqlaZ! zpK$7Ir^{E=A$+7-Fwe!n6=+fpPz80%^&3Ami`Qo%9PQtv%M|Fl7rduB(wl^>KEB4f z`FI=gwPWSo=y6%F9F7tI6psDQN2=?O@Y27+=l>o4<9B!)+hk^oPSuBdONIGf9%iZxcg=v^83{+-#{ zR4!;Y2bJlz53?5YpTL!A<6EK~shxxr zxUng0KSp}eZU;kTD>6@!dbX-|m8RH)nDSfBKh+Ezgax|prR0*_ z)%T}~FmckLy=Py#LUEbjQv5(k!URi$(g$?olL{oz$e0?DE;>6kNPgQO-kcG;k|?MY zk7VVyOa6)T@?HD-(dk<1fLdcj<>=D;s!;~BEYx@^@<-k@>6G=}imOJs`RAlKB@v&y zM|3EL;nJuH2+MM=yRDb74+XI*`>pdT^|l!@^BOpTKkoSK+A-`Nwb==$$H--K?N%St zB!P=^!s1m6YS%hZoB5l7q;R)+01_KrX(+WowP~cXuO^*QD#6COaW>OVmHI?!!wpr^ zb?FLAu(&JmYZH&ukRU=gRiMANm9-gv7+Iu+m;af;hiM|D*zR)6wixdMwepg>nFWnU z@|?NB!y_7q%hj2Z2*2~&D^)0l<;>L?gh&KB2!t5=_eJweIpIW9AGllKNFZp)FBBMgnb+&?iD2`58nN5J~LbJaU?y)>Uqa7W;1=D2jja$nVME zfbW!CD5BLGIvou&v(S~o(SR%^e)}n^dd{|802aIz6?&YmX}bT;y-Lg;s3?P>+=7}Mlec?G?zqsemV6`?u_fU=SzL1ZL^dW`=zhd|gQC)pc~BRCmlXNRVk za;{$C2^UO_1-?f6e`b?r6e|17J@9z+XFy~|+y7ELmT*7e>KrZrGjVo`!VV#J42)2Z zcS>iqJ=3|_8E4X)9p#qjbw-Qp?dNkRgjCq=)%M1Bie-A*2!)qSj8M%$Mdf#D&)?|? zEV~nEUW{`|UdJk49oil*A8LIOjplv25GiSh@S{HHJCL^_4{HS8Q-{<{-%%nKrqe!h zHp0cM>loarS9g&n_vMPKsfh+by0eA?)4(&k7vE6=Xe>D|Ci@d>krloq#G87Eaq_k? zD3c@yj4BUbtr+$RR-#+)`bqoC5~A|@jX{#Z461*JMl<+{V30RzL(O&^0M=&W-vBFh zm(~_rfWQ4?&=61fNsk-3U?uEMyFPWd?^pmEQW%(}DNBma6ma1^Y1wF4Ym4 zlo7Pq1QRB#=T|0SLzwkD>-r2-nezTztC$dR5NTp0j$kTq67NEXMiI%d=diHF<5uKN z7oi~>VcE@MejTw#kbdCqoedlM;k9d`!XQ<{4%=kPI#h7x&Hw`hBdSXkZmTGL6ySo82S zm)zOkR31qER;fbV2vRu!`&%UxcwMUTNZU_umIG6999sl`X>gY($Wi~sH^@+bLK70k zP)%74&3BUK{Bc@1aHBW3lde7||3O^i=q!UO)>yNu(v;n=2Hu+kOL_`}y|icdZ~a3E zi?XwO>y-?(dda_i-A>0$T&Lg`J!C^_YMAPf8D>>JD~A_$UA}HB<;&>CRdpY&EGzA% zt8}6gk6vuH8EX8bfl2S8n*dBdrtgMW3oe(#K&zxHyvh^DK|cTvoKE++3_ zP!n!4wGDN$N|ln2RLgh+vpmQZW{bY|OZ#KImW`P{hVgEO<}h`)W#-t|y(C-<#&XJO znaqYYl0cpkV7taa=7NDuc?&%?s4;=ZVo5oE(A3s&;`44MC}{f6AfEpjlr*)^cyn+$ z$Q$N_e)yXzwGzqZTrLx1;(m}fiv7K3C;DNfWYh0{SA0{{!+C|f@yv!x8n90JKGcqa@R1Ij2dy7W=ID$&ak~|52DnctGeP zl8G_(r$X2NsqixMDr72dtCGu8DNppI^u6PlW2r9ek0%Hpb85wOd)yaa)AHSLh!PTN^zLZymy&Il)S}GP)tCmagjzbIgxpO+Ri9e?(0x zR7aQ0?>`(^7DSp`*E6$}l&t7;dJ@1)JO8RX9q5-iZI_JVg{{BQ2Tkl#j4-nRW* z>g`*MWHRdJEHsUCH)jn&Tk!@#FBQvMtEXD18}$W4_?8WG?BrfATXcrLV9GY2UYcg( z4yisbLm&EpQP^+lPk&IOgQ#IY{oZ{~wrwsVB^&-h?P@v!qUPuNllmJaMg;QzL4DCZ z2;Ui&W3cJn_MyuV{-~W$FVR*1i5>t2J)xcL3>Ry(;d5k zcrKHYnc6{-uDw3=-@ELh_bp!Y@BSjcbr}VbtHAz2-ona(5yA9-kk1;*Y(GS&Y^^)~ zMc!{H^PsG8kD$?_g!!%C`5WvHm9{wME(86oF8?;c`$qP5ge=0h_8;RP^Kb5#c2m2G zp-Kv$7&MW?e?|f75{G@3b4BS^dDZ6%eC4{bs*Wz)nh#Rra^4iS3zpfF+mr|;Z>R^44Z1VN`orId)y{j7qEa4%QDQ7lG6)|xHHqUv zxjt^t_mfyrSp)ZsRI@p)LhgwHbFbR9!(F0>ead0KUf zTYj#vq&&L4bBCkqMMy4vuJI8|f&)onZrsaE>!_Ih!@a2@! z991rXv*+S#nS46c`#Xs_j(kgqW_Go!s5y?GW#t7-06sbEEr;D&l^ai{o^D*?hdS16LRsPGP z_FeJV(BHtWyyi^*F!__C>ZW_ReXeo!UnW249Ca0i{b@2J>9`~V0I?I- zn9gJ^tcxtD z?)_xZ_w#tS1AW_~mwh;e-LJn$r7zN@#@X3>GLkricn*{e!U>nV4;ZtV&Vxs0|0P=W z3Z^V#YX$B|qDKPSX1IehNux85A|Ao(D;^`v8g+tQ;r1iSGH1YEkyXtDLYa+kg0ZQIUIVgE2aImBP zHmy+qOrC9y?qA8P?Xu}komx&{`AZ?f0OI~J!OjFe^;9pUm7xlCZkam`oM#yUI)oY> zEcAB#IIAd$guSZFpwfxAj~`AHphNW|cesy*GHbtV4sb`e$Ao8YCYS& z3%hx`rSG=07hxIkGV}~>i@due3N7?3Z+R%=iF`VoYy;Qe$(D1TH;3*ccnqRz>|>K1 z-&MuEm_nBWJZld!OV5xYhdmFPm1tT{Z*Hy>-NJy_W3g%sf^`BJU$u=!V!4A?|Fibz zfNv02h*aH&Ui}I(lQUrUpC)S}q(}}zOmHSLyqqo?H_5K7dqm^;u2dvxw;gth{8xYT z&;vxx%35;C4wk?VxU*&s$*1*Q@yDN`V4#~?ONp?*&E|WmYCH~LZCjT4SPrfvkQB0`3g7qtoRH42K9Woh{;?V5cklubtIqlP?nE*-g++C z+ho1re4w!@`&Ai0B|TXKISF91&ziTJlMUiiJOCvx=mGv6q9G8XARsm8yfuEZ#&JEH zr3V`iqq*;yK^SfsOMX!W{fZrI9sTM!A1(A@hovVD=ibI}M)sJIt>-o)xtv{CEfInU z=NHM%pH$e3$^b-A5+EmM(q^y`Qwa0OX|6DEF&k%UJT*s!dXAKgo}MK}k~R)CIPDBl z4Xzl?*H#V>VN`ZXC=M*ZS}6~fB*{^)#OorsuU>kw6^?CBudKUXIQoTzC4Uoj&(ye9 zWlTSh<9q8IA$5at;P(K%S9WYqHXqC;>@O;cG*S@~e2r5>gtaKI>#VzSx}&yt8}!ih zm7z20?D@HOC$U%Sze_cf$_GJyL)0?Q-EYB5pv}Z_^d^fikwApN}-Ra zs=LSTVKqtY4$h*F2e5)z52(f0>th%zxVdaO-J5{%#3lU060w}JV4-V*(i$AaGL(g7 z)nDu`k4i4&Q}XQOTUJ?9ZZ+#6M|)P#J(uFEHaFs{rQ0890}z0O%=b->nCVRJThF;A z0mS`<+5Gl2_>ijSb4yQhX_uaR&#LF_P1_;akT*9FboY6983@2)dEs%w)N8)Mc<%}q zuC1;B;_{dZtY^C0)AF1t8ED~;XsYMOo_#e@7%VP*Prn5}qf*_h^E!b92mD8HKu#I7 z@SlSFehWVTEw~#0*u|CgLH*dK+Y4G)l~{xRK8bkDrh<4(_Ag-fzM7=Kn12B)wmX|f z<4g^MVLe~p09A@RH+h7yo@E*D^A1IPy8IA;rNhM_qPduId`nkT!G8cp4I%(j5@yS` zKR^p3sX$>ph|GPn{3En0Hxz9w`dQ8U9x>|JU5O7CaaaYtfAFB7^dq3vlV$ z233>|S{UGQe+fDYL#O(Xk8`@K;TPO>k(<`9&xTJw^BrjshF^30{h%-}tPn9B{$QyPGvQSTx}wP+K^ zi0&qVpN3eE-YQ?5vy`M5$tr8ocQG*xj+X&}FxG3lQEmU>mBBb$XN% zRi30Xf@IzCSFaf}8wu_v%)6EiB^EQl6&cB-8>%&W*napDRhOLT=SG>^VOeLL7l z--sFp!5Ibtj!<9pHc#ILQ@_JfJ;B5Q6jIvyVo^rGRG9e>Z>QvfQn$x;!T2qxIQHp zxozfRmD7Ew+7|s(?0KGAG^MD7=j)W7M;G;?cpf3|$hj2-Ov5DgIazOY;o*$xE*rGz z*cfRL@@z(|FklYqWnG)1$B_ezRD3wkgYhhpEBV%Lo^}2;((@Qn_b8!n-&m@Kk$V^t zH^sp&@Mp7a-YW%Cktl^ir!mGGoO~eD`Ev+51ZCYN&m&f+l8ByVOSC=oQX4dQXKY~& zr?fJO?s{~x$8OQ)ay)J-{5yuFI5zfD2v`hU?B0GTDN3SZc9bg!dc!jSC6$zHWr6IZ zHctd=hYG9%s~S_Xik;oZR^959C{9DeT@yYn$f&p}>WE-w$C?wT`W1H~_wMs5bovAf zv!UT)0d<%&z{ko-D0M2(dYLqquh^&*mSj0O9uRi+(8<&~G$~&hsi_64x#Dia$Z(5? zYyKu-Y=-`mvt(V@P>*S8VjPc!rH(DD(tmjTdDffF0>EJ^7iwG2#+({u@k?^KQioEV zYGyqA#nz+p-R42E=6g2!iJR(iSrO#Kr2WS^bC@QrG8|h?FnSE!B+azxN*l~eHrFo3 zHN{$|N?8)uuq2nnq^ReMQS%&>QJVspN?Ee5gT#ysbf%PJGczRIRLwN`MG+IT?Bg}3 zIOL9#hWg+`5B3WkMhml}cg4%-sUwElS^i;tB<#50&rCChP`Ow^eWPStAeVhVCJle@ z0-DNx#fMC@;%Z4LyesB^H>|bnl(NK02&;UP()ayeR4gDW+{oWlED=M-+jTSCCLo(^ zsU9rEo;Jp#?P`zuGTBL3{Nh)d?>j{~>ex)xlaC*h)BJR4=qFrUr{D1z7wI<|k$TmZ zf1p$^W~IOC>P1>kP;ADsIMhrN`Grn@Ohex=d}=dUJ<5jv6;vMS8s7bb;-HEB^gF`^ zfT6J&sE`1Z5U(grqgd9s;t zsBN;pR}@0n-upHv?FFU^l-cHwqLr2Wl{Tl*>)`mFtWT&Ie`EC2(t?DcQZG*6{Hm$N za+k^5!43mrOh|&h8j5t1=Q~ypOA4#4{~VAphy~t>q}O5*5Fzi+mZK9 zmBvPns#HW#6sL6iv6~xxTFq7r+86tsAQz;`rd5_=USWwc9$ha!9h&M7Sk=$nGV)uw z{mVH_1YuNeP2$1pNM^ZWc_`$f&;bbPBGAm|RGC?hAQ5z`xE|mZ!q8Xh$3X~`Q9|Do z!8i8=??aq~8-xi*J0Fgj zc#F^!f_Wq?uPt2ohYw6Ce|EwKw*nR~UEC;4Ja^4ba!6}oLcN*5b*wnCF{x1wWj{a= zMWKjvo_t|$vs$SjC=RXUk@QaohA7n2i7!pKPVC{c(x6NX>69owg>`unF;#|Qe!LYe zj)U+frXYnDLvSI3Zpson0ma2^%z+%dP2!P4Z@J>I5i&(eAs`7b?E0s; zHg=~GcyNb->Wl&JplFA`pIp?&EBp@ zgMRnh!OZ??#@oZ$+vDr8TgOYz%*2M?<KO+$#VjBgHL4Ax9l$!p(qtZNzQbkca2FXX)g?sBMjM_#oouEMnuOtStq}z?wNC z3sNX2Qksa?bpzewo_WPMEr98R+5l!ex2oQfJ_!D_C>uTWtG~ zVh;56eQVb9b+g)AoA4>@d0=YuKLh%D2pM#iwcolIl)Ul28BaJRjN}AmgtVmWd-}F^ zxvlLxISyppoLb&^o^Y=$#wREoO3@MXT-6#Fgk-PghO7-OefO9V;gA!oqn&P^K};+zEjkDkv=lHXr^-IDSti2C?EFO*e1mFVKalZzb-K91&X%O@5c3uInw ze1xB7go|+4d>?ApERbODvus;|Fa8NWPuJGQ;vZV}ht zrSV>~vOc^5>t1dLey#T3ow04$Kawvgh52i!Z*^fm+TFFgYZBU-URd_XE;gIqt5nQX zU~)_^3%^~|v^Y;<1D@nwne-dn;<(d@Xx|;}wB3!7-R`vFP~tEMzchN>*Ly$LD#&;C z2x}@Jzdnr^G*?Vl4TVgtdHQG9|vXGdMR+yhoEzN>g;#V1Rz0C+A zS8lLvRmslT5Q#ps;D+0KT0zRa2f79lcjs*M27{V@Y=fF`K~3zpH^N?;1h3r>JJRns zd#Z0|CRT53rRy@YZ__#qu-AqTPj+v9GVMci7ayfRoZmXkxXpnX#k>(d4O_Sn;Tm#6(ibS1@SLc!~M)N5h43?2cV;ZT~96#Bl_iWIoxi< z(FCQyUU<*_l7+*P7rp)vVh@H#O2|I5?i6{cJMQse^=K`dq3d*5Ow9)O2fLbf z%`@CH87Czz7N=@v4BUszuJ=SzcB=-F_En4~ZM-=;L1*SDC}HB`kY)=Dn!Slf^$dpL z=04ag(hZ7;xD=Xo(3NA18*kdL-K$yfE%&WwY@IE)*c1j7Yt??D0WTW8czsd~hEet( z4z_(%`Po8f%L&s4Fi)ZzCxEeR0YeT9 z0)cVuZozNim9EVQenWmNb4=bx5MYtkp2Cv@%}rENPHP#_X*&p zE062rDPNoS+oAQhBkNnvs*ycz#1gj&6r9(4_XoHWN3WkR>sj4c0$ClKPd}NeVVgTl z!?UZ2-tD#tyX+k!5k<~#t?cW|3$mDQP2J!(SG>eTm{z{FF?H?ST*mnP96MZioOt-Y za{X*sH>K-H7_IzX3=KaFk*5ejzB3!jNp?AA|GcXo2p^#zw&1dtw z-}IbYVhZP}{mp@G4p8D@?rbK7zinOYlze=BscI|5XRZBSVW_3*=h!!ZjuYtf>smU| zwC`Gaw8?3V$LR&}x0mf_hHByP5?CnWRsLUCXJtemo)X2)5m z7ZvOJ1Z7zQh%NRn(LhpAAQuoMb=Q}%v>-WNMOsliMPc6-DF1RLO`iF|C#1nbDATFd zS%6z8e2(CkJHZ^pLJdrL4O%I1%b$;pxOCmxx`KpABhbAPZE&wUaQO^1v`h4{25#5q zTa*UeTl>c=3Ftw%Y*ljie6+rVZgO`Up@4C_EwWhdn4R zw&Pk$zKBCq4~erOWBI44M3+sJ+=jeUnS4-;k19v#6n8jR7oHW8>r=hp2*H%QsVnXn za9OyLcilY^7COw$cz)UA%knT#=vIvvmNPxKuAFf*6ENDL0B+|w(xTNax)ny;x7&bT53TFj#&Jas1LAhc@pS@Jc6mfn zX;t43r+5$5SE{mSuBLICpr5G_kBk}>con-Qh+B9S*^g^`cQ4PIKiRv4qTzgC!MQYb zoklqfJ=QbgX86@SSyb-mMd%2q;>@z1wlj5sQ$b~y7c?huoa7N4mVH7K6%A^=fpZu` z+l3%qfKzgwh^|p#g}rhA7%1%expnb9zWLUb%37{L;E2FnhhoFP*&M-DiQD+=$F9PT zz2xlfL?_&7lb);TB{vT*2H-Zb`}=-)%;Whw4;_IV_oxdyUF6{bhkC(HXWd5$`He;Q zpRJu_K*zWi9EQzbnJGCuMTiHZv(1M3;QB&!Kh(!}1*+0ME>i~)tU!|f08Wm-XZzkQ(j+c|tBBt~%J{zzbg1hn1`Iqb^_0L^2Rypu4s|F<7 z6`9Bef_?|~{|I{v;5fFWNm$Ix%*@OdGmMyJF*DjCi zyWhXNe@v(&6fu*PnWy_qo$5JVjjL`@LKlaOOEERLlIf1Lrlf}kr}m^fo~HCmXC%}m z83xZclX-O_OSf$4J#bvHzC>vA?47iqyrwi~w#C+XUG2LCaR%;wnDsDQG#c^1KDjmI z4|>LCn}3`5WZ|Yb|zkjuQi=^fc7{@Fa@(!J&2jHu6@U8s zdeyKur7_9bxjgwjOqjdP$MQ7~c`YX6RJ|TZipM z)3O<*&2j#uc*=B1r!7xf)3QbX`rTcFvGZ0o6HDbUd$*W_vDnn@RCvN^SBs^MPx?k1 z7&WKLrH4e-89z#iIPF4K?#tG7V&A>p&58@e6tT6IvI|o>8?7gZYb|{y_*J*FQ_!bkFBJ=I^cFG|(VmLfjYHJ1dUfp78d~ zdz4DKioTokH(Q?>@GUisGcT4yPizab-2ECn>Y@WOM zH?t;{1};wTyxNJLyxR32z!G^UpHYS~R@elO-dV^R!$|lfA5L)M3r!Z0T{$xLg&jBE zo}GS;k8b`PZNpFeC5nQ+?LhO9L6rr~E96t-u>7dB+YoEC#hkv z;n;}UZLo{h%!b+<#bZ-V*bw&IXqB>X8cM?2Rs2*qkg4~!EXoViWM<0td!%8=JvCq* zAdO!WW0q>x%pqT+)J6CCesSUVDJ{QQ96N37oBXC&aE#cOgnfgF%JkiYaYX5}df8Eb z=foiVY>e}4RmINjc>C2ER$MNiY#$C;l+_jRbR0!2_|Cw{OS@Kap?#t!P4ztHa_N)eE-!bGh^lNiy?;u#3!0abbh9RZxwz*hX zaGdv+jjNwBN_x;uDSnQ6Y&lE}*Sj9=t61&cx5uSRcOpA7AD`n0iII-hv^_6qNIRX3 zMw9#2jZl16Z9fJ`PKY5ew-49XWcq7<8C}JsY9#Mpg|L&S*LL4sAz0*TdwyWTm<|^E z%Zb5h+ZCx?ATbmsJKFg5x3I#jl&nv!x`af!~bL2|igyxq)w3XNNG*eacxI1AGXQ zfwp#v=5g#mcfBhP%tq$Cd?3QF60%)G?v2cPA-4@)FK$P#i!J#;5*&reXNk@3U0dQS z#0`AsG3&w<llwD^GBqN#VbOxa_<%y;7s zZ@CJX{DfM`1AJ^`j`#gC2Wa<}b#iB24tD!{i6Lp*E&e4n#nIs}slQ5Ay7;07WjKs( zt(m`KTtycT3h!)1L2P8&axDNlxUU@d6u=+t9o>{(j*wx>j<50?hCi82Fvm=>kZ_syG`Mu5k_pL{#hg?gx7gy-cMnGHY9oUZs zE0*NenH+w^*v!`0mD8)rYD&))kxlyiT zCyK|A*5#sBjXqsLT-vT?sxHo_q7^a26e?kcw7~ zbVY&lYGn%a(AJdhsvEWKy@i=L@x2CBWRHp6YR=PY%EAWIi6>4vNU*J{hGl&E2BP}knsCyUTaxs#r zi<7>aa|%@KSa^L4&u@;6MXkGe;^0BsA)3tPQ&;naS@dx-cCJr|X?1G0r*s6eL$!=U zwO^|@nE{ZZyUi`^zFSeC1JAC&Ljk zS6OE0iG93ceD5g>H^g|%YR9t+uMT(_p>kF^a_!OF=Wk4QUcc&e-ZGH3US3j%eYw_& z&0$gIM^a%wXI*MUUW}i(GJN_-(jR+09JJ5nC8#3O9458eFgjE5ImusxEzpj{l%mal zOjOg&=e)PuE0};hs+LS1jyV;txLLg!TYbLN6*+kz#fUv6BDo40kiHXn{%K6BE6m_E zwOWwX_qkK8L?p);w2lx2zmIBrpg7q(=L~S_mb8>ja%sUV=0+`6!C&9y@EHms6=|__ zg3&wf$?n&~B`u2z-9x6Tk$9!;DgcxK=A98>grPKu5OR-vO6=M<(p;oU3IZa=&N76t zFpIcP)3G|SQaw#{319(%Srm1_J7m%D>zeKZ5w;f^a|?x`lZ!AHgTSDaKqVW~4@oEp zNy0FDI_*G!VIrc5$k6?bLRR+~y{@$4vsGAMR>Kz^$dNAsbie}&|G3|XwV_*cj* zC=@c`us$S(z8sZ_Vp1>{Yg!vjoORlVXcUo1)ih>t!x@Yb1bZVWa&f~O@<623&JrpxTO3`zy<@q7cG)SQ!g6q4i(~b|Ekz&MzW0{Ng(|AutWkpF|-> zf?$3}c27<@#xI*4wMxIBHR=|5l%x2!f%XpvE`W$az@V ztj*K0+}7H`pt_pE-37y3qz|O^Gyd^_!N+tK)N3UH5DWu?Fx`iusyN7#C7u{rUFCUp z81sc%90bBTpEueWhhBKgJPd@SmH41T41#ej@5s; z7%d#Oi8)bHKF_0F2Vww9yfNtpS2zrW6pWt(^a{7oYq;Wbl_hNDmDCcZohPY?}&90h~Y3H%)NAN0%Z zM8i zkBP>jo-`VD@fx*AJJw1TzJQ;s#@L?P{zURNs&~{d8im;}ze=ZbDkd6ToIPHBG?c6V zxbJ#2Q~TOq$vt054Bgn@RpeX@)vG_AHKkE&s$^WL*+6}`IjIxmi~P}p`l0V5%h5B| zR5!)ZJBuT>)#c8HP!k)67~j9(FtRYZaWTCSG`ig}O59;YAVCSQ|48HQbLWYw@B3pg zCT%76O&VFhmsS5mfCzd&!B`D&2u0a^N}ry%cAJbKYx`UFv8c;OJM#K@_knxwVNx-C z1UnroCH)8+&*Ws?n+4C^wsu?D!utA|x65a0dTUC-{jJ*TO*zZG3NRj!`U$RfyGuW4 zCHJw8{^-Ht(--%*5%)KL{#-@bGr6{8{G`Q_T2p}eq$V3p{Vx4l;_b5;yRKCLk35=xXF^$}|o?8i2ZSLUt-@;b5dscn|uV6au>jtUahs+fq z(*>f(p|1BTIi%WcoLXNzMRSpGhD&vOC6&yc1m1K;gYmqfkXlp4iSyKEm|9|eUvmB4 z*Cb2tcq^lHE1!JUkRD7rykj}5!E=X!|3v9nAs*SK$Vg&vUn{(Ro<5gwe;Z{J71jSJ zK11p9N$h&RF%^XQ^a#aSv5{BA^^MX+h4`TyC+Vq3aX4q=>stcW?gJ2S=sYzSEt;8) zk%4`hnPX(ORWyFU+fCm64d_~0W_Nn#_4E3#=jvJyyMY!XUuCn%?)QZGZZmx$2~Y#~ zx3x)2xZi-l{x;LVTY7Gqas`9&EVXY)n1O7Ed}g&O^;Ca%nm2EUXPobZnVrX;95*CLcl&H9})gq3;P> zzNIhxSw$ao%jXyAi|~3Sy;ce>Ebr~hlZ*X%pg5LI`nxV~%{&^(@=f1zKrm?XgcS(U zD;!UiG}?mnQo0eGaSzzW%--~Nhj9#JWno2G8nH`IrbyD(+F#v3RI=k7?_)T`*oNirT>g0W5fK2;3C&Q0m3iE;#5njhb; zfJ(cG4$Se-qfAesrjleVfg_mW72qlvCRvVX8m#44)gsI>c;Sk(|G{`}ABbe_Bf@M5 zwlrs!C(RJyXmoix2Pxts-8~_+3Nt?nlS7$41BGHkoI{{tk>%K@SG-b6p$@eKiYWLC z<6k1qgvB`ihyb$se~XA75^t32*8f`oYaZ+z0(}>e`FbJS8OroUFzp{&UzmIe{nV%_ z2)fA;=cWjpfH}seKH(D53{XhPaPyut%P+KFfqeeNhvFd3FbZBNl8h?t8GWRD1)Czx z2;ajfz{UMrjPw6hjHM>Wi&b+aZF;)Chzb?^i;fQenHEt4?=^OXPHtZ=y-hZF_q2{K z?hoE)KNB|EW~9$G@~QMpo9ph4TR-P{>%Fw9eH1$H-`*zogfcIY8%>>L9IVn=KGy7; z$8w?oqw{x)r@>POf)|hJgZ*btOA)zch~`81jABMA&h;Vn+=QW37LIsZftX%v70PND z2Dj^CVpqJv!U$k8#5yFE9?!Kqt%St1UKcA%o*(a9(bHeWn?J>YNj0D1LKP4O8{(-?JsAz@}(L&GSE^V&m(eybZYJ z0^?B9mna$BoJonMpkel#ML2vYq#2$_mekr2CYy7sqNW6T$f#$DcgSd3 z_nncR2=wsKmN*GJ>5qzAIyS<;Rd|2~nd{qz4a%s!zTdtoeNp+B4%NJ4ppJK!f9rT3 z-)LYX`+tydE6~pJ9e#LLN>S1O_LmjtX@9JERQWf=V;Rs2^#6wyBSr_o!v|2up$&<* z*4`8z6O%VlwL^6Fe&76wVKBA!#<^V& z;F3O4Pq5_6!4q%*wYCNry?N~5*2o6hDx3BVp_tg=oqkdIz-ODWk%}hLc*AiCky;yz zI|uv>wbJK17@PB5KW{k@r%;w=g(+S;rBz3|ME9U}df5X>P?^MV#d)7fM>0E-hhaxC zmu~nH(MTZX959h!T|^KpJQzN!;xEb2o{yQ-aE=ze8YfcZFI@|FGQoyoGDPbS zYP}=_V=ZP=!@2Pv)GB|if1wWJB^RCjg<2mH-#?!raG#B3qk{t##z}x;EmO5yrm>@> zLGPypULR7V62P;9EONHgcruCg8CZt3wIFP}_bV|Jn@lG9iW3K%>Z z%kaTuaT?1;O_s&DA{B{m2rop|P+@7pK9X}98GHy238tB1*>RD}jm9QZ6lj{5il%zj zIgU!RdWv2l4Z{!~ASfk*)A*3OIxqP%w#`rof-&L{9%J9xXjvxXav28lh#E7YYZzyg zerw5=^ZzD`hhg*H^ZAp8roU`03GF+F{pZZntb$#{d0$)gWAAI8uYo+!EaiqVU99D) zst42KLs*B^m>Rbs7jMf!-GUXLke`~RTs{vER4`R@ePg)a@E+AjPI86SF6nVOPFp8jlaVLIC9RE)(Zu3~3(H9GC)sOK z!{B9AW1|*B1ZH4yVw7Gg_i=p%BqB-8FcD?FIq1^HP(r2@%0@B%RCqGz7W*VfPt<9M z;>!Ev<*LJH5vCp$(#r7&YOG$k3WT-p1W|I%#C%JUd1{{#FkMuVd(;pnlB|{MsUR&Yl9TIb2F)9DzyASyXd9yR()&)UrPP&2zKe#aLEd<&o zU`-g4Q!s%~z3RJoYH0*U`iU@RW9r<2Lnc(9(>U3QCXh0)7Ca?m<_@HsSRnO3D3gKx zlQK`*jJd7;aE2k5l0ZVt_$vVyVWy&%- z-+h%XwI&Y{w237F91CdYOKC=H=P2a^$hiYz3kSr~vjdUnPu#1)dqwNYy2AEY_7ut* zedz^}Mp(0W(iBQ`bfd$fL~->#>SKW>~sH3{X$+%ym;Wx=k{FLIMH z^yWZ7N$`n<wVRKMT;oaEl6`*Z)M^h1!X)#UK;xAjLbg;b ze6Esi2l*pa#*}`xOK(fZ2)w|``UydJ;8a{g2c0s@9W7XSY||jlkz`jdWXo}s01YV) z47T*=j?(}M!tWxV)bN!5C=G!FDy2{ZDg`JBg2y@X#WQY6!&+b{%5LcxKVVZ3Nb{uT zb8oPQ27wm=De=0`GsKeei}xRZV@dNoE}oMlJGPCtbp;L1{DSQ{xADR7BHwjX({iGr zuM!^c4^lnbSA^Mf05Wh~5?t;+9IeH@HIAQ@G3O)nP5a)PN z?jVy1ADS99DaZ5bolAlZxcfUSS-F^YJjP#P`O^2xedVH%LSF@$u9G>E(k)Gs@Fs-HvRwl%8Aunj?A7rAqX{7=i zn)$D|AZgRF#>bQdF$6pqqD*;Abh(6h5@(5UIwSM(vYU=cGqWNT$Skg z31qghPrk?F5TE?01Mi7T8}0Itkk#;Gth>z-O4ojvr;7UR-p8E8k~tCy{3=Qf7%k(|wbPK9&9atg(wQuEzIdj6G? zGk_5fEyohE3QiOJ1!iVMgy6PwGfWUD%bs&8Lbv&DC^cfa3(h&&Rn zpf}J9tP#I~QQkLJZ)^ojQh%DZZ-xm00}1^dNFY4r`wg_Io+$9Wq5MO{9eBRig)~!| zpLv)UpXN!!g#2pZxRg+2Y?~IH8G_1A1kjMnt23 zga5|eLuO2@1l|Ubjqvq&6{wIUAIJjIcUjKi{VN{V4#poZy@0Vg7bZ_%*-s2AVo!_$kT#IGFE49pZ1ta71dl47qX}g_sC$?#k$*VO+3o zpr^FGju`$BTlG`@BZ-Bu5GY&ar1paaP70MjXyl(-y#0R%#{Ngi+;1^p(Mu+eXXY9x zSV-)(AI2Fo_RkWo_nQxqdNHcepV8p8nfW8<1{&WHI2wD%B_=>QN^ox|NJotcitbwW z+P&Oxg~o@?Xdse1d z;Gl1?c8kG#{S0D>d2$n3--`8b`FYqPQYT0#js%SL24P*4n)Z z+P%N;RkrFzgamuzzPd5)&F} z+<;Zcf^G1^l&TW;zv!%mZ>|!?tp4=&sLI9xxP)dODPJgzviq>~SzXmEY(Qb{aD25Q z+2vSgkBb1f$mHMQm!{{9@&1v5=({kb42kp~pzMCjy;wO72%hOT=ZwwWp-iY(L!ijd zrR|6eK(u+`0jm}Z63pzQgtIJe0K148fM?nL!RD0XKYG6pj zpG_D`I0ZHI;ix4H1bKp(L9Yqd!g8KpO!}0jQyxgB&!(82xpO zb9MHnx}Var=deA)t&kYDk+gB<2LycuHwujBp^oy>$3$wf6~F6%gxN1qq)i>8&akf) zW=;VoX~~UPh{GX-!=j=ty>w?$WizA+ncaaLT57WDNgC=uA*q2Oc~4WF(G&|<=qfGT zJ7Gn6{hh%M#St9L>8SVX*}ty-L}a%i72$2q;!@|OMX)mJ<|VdQ=CuNMQ34#0tV}%4 zLkYXmQ_s<)L0mwHGlZB0I-`v=-bB55(45ETWu@h3B`xAGr~+tY5k+}v^(?cTRcP4b z$PxAJJyMkcaLFIe)t$l1W=ZJrkCec}QGV9FJTLBWVi=*|*vhcKGg(!ZBeU$Ik}eJP zXJvroocjURc54ky806uB^AEMdB9@}yZ|~l15{E^IQzE?afqMLq(0{Brq_`*N-YFNb zjCE#12F~#x(qt2`(UM9kD)sW@d1X~F(Rq&fPI&%d_zX3uVKgXgc>chfFu=pzER1If zDvvTjWAN>3XVNT85GUA`#5fTebaWm)oTc+eWa)V2@mFF^Gx+sYZOc&WaVK|Tviwq`YFh+c)wpQ+% z^YXG_=&3g%6Fx0sO~_~_p<7(cj9kFrHo_1jB~DtYCMW)j6BoN@lOHb)wR4;eb)ghI z$Xw3cAo5^XHhc7NovjkUywDM&9+GL9T!fcZjF*tH`MqLKWQ1y*t* z(3wN=|2X4}2Az*x=aS!mlY%%QLoj8*-r_vqNkKzxM@ubK{pAI({lGE2Lp(tt3oblJ zgUo-@TBcmpWK}%5lg}05Mz|!N-(@ZH6Z^LnZ~L6D+U_9)hdnX{n%*FnJ?5uMcgyiD zA}l*jbRH5^Dy;!qWfbbcGs;hZ-@scW?b&T=l=N;soIbx}fBEaZL#r6&X9XiH$kA5f z1f*awK`>sLsPm$z{{8waDI(8_^5+(2LQ;H-$^uK6pqvH+P(wQ!uDFF&*g%#Y-y-vItIxbK47|l|X?;(`Q%3oppfY#M>=HkK_#JTww}yN$Pf-RtXIZ31kXrTBf_Abz?ns z(x*unEsbNdu^WDG#`Nd?{bY!z;x^g`tGRqkiU$4?E%TZk+6Mv%gSa1h_5KpTG6)!! zcIphxBpK~3uD=BEY>vD@j7*v)G~$oUnmGfO#A)g2xbEgwN^M__I9O7`B3Nh* z1^N7NzjeG{?hA4nGFqpDdZJJr9(uPmYZNDj)3)}7x5vRj1lW}G*8eW&MhD!xRF4!N zL}=+KNnRSEL5i?lY>YkCEt6g9Me#B=b2!^&%h0XZ=!pK>XT0Zi(oHO8ut6H&LZ!yT zIU)&OQ!(q}emCeQZF>NG`H5M-KXraNxD)04OGUF5>$vC`At{9tClGrmT`?{~(D5~} zaAg%6r<1e(?1l6j#sIxYhP;Ye)C+&wz#nTnG5Vu4WP z7!oH_nLmpMBr^Vd0}UPqA2N#96G;vVBKvY7nu;L(kTO~U(nf{-MLc3d_HgriL0<4A z<6Kcwo{NO+eM{Vc^>~*)a;~_y8)2k| z7Afhi7+5~6Ad`BBvfc#DHZW_2ncmoZMYQ!t07CzPh!2)yPXHy3mI0`Bf@fLLzQo^_k=gF2a_@JG2>wT^3T zxb^A2`T)-rLwOx?l2?0qr<~?xNuVAxuuQ>v-^x&o>_Rw#et1#%H zReZ5=@88I{+d^MlE%?4x1!F2#n0eR39*aqG>*DjVM;c)ER8C9Phx0L5*Od)tAggp3 zD|hnWH;hfj+?VKcU7FRW4tHP7PcnIF@0o=s+Bv;))?8R*iTS$THk-;{KaD9!4PIzDJPxmKjWV5e2gu~~ zdWo(X%xdsF&nHXy{dPUlmLBeVxVHtYQ~2J2Gd~|67BEIC2S&>8%9$2F0#i$@5iM7b z(8ADCNups9G)S4>aIGR&JZpU_bNWtr5SxC_y_PH6p#R)nd7^Wu3Ic3F)dKwc(?j&H z7F1u&j8*^Zf{&iNX+d@*pk!?ZZibqE{>84% zh0}RYMS4nFzU7NI&9ozv|7X8F8IR@z2mrlMxyiewb*ij0?D=%k?7t3dm<9 z(Xi+tGUIZ#2AN|N;G>eqaij7G2v@ZT=I~LCK#gt9jQ1x{pT`c{}VuQfD8^U*i0 zG(0h~1MCxxp!mxkS0YlVjMEcyu`L?~j3>~?%3#V}qbCkCFlN5#x9`NJN%zt`Ap%5= zc1O8rb(r^ERg<$08w+NclELq#c zW(-uik&vcIBz!Lrbb>mp_4rHS_W76Z{I;nxbl zv}vTYXIE0edwW&6ZMc5MjDj7kpfVna#(^8J<4SctU}F%Xx-lcsisB@k4LeJZ1Zit< z!S@J@gb~Aw(*SzH2X9S8&wpcBS z6+1$>P|@*VJ@3Gz^L(uzM^572lZ(!h)SM%unj*_m8O5X`@J2S%P$spK;Upp^Dx(Z^ zwW|L+-E8ab7s$)0atFepbUI}blDVB9>r5o>G8^|%Gv2G2_(G(BP2b4@(lSn<;&G@Nv9$9Wh%^6wnM z%ErcZHM-mm`}EAR>~n@sPj}ZB29eKi?n+0Q4L+2yxgHl1tlYWjusfL1=W~Zmkq6_p z;*H!)1`vg3K~~J7VLu>HKDDxT@)S^6sf(N!M~BUiWm8+$F<55X%giEKj`hO*Fn)Jo z{b+9MHJIwn6||Q}2!EZqr9zVlubRMT@!*f!w7N|ZYSG_OGju%YPq`CJQ5~(S+jD>f zW1g=6dH5~-yW4AO57l|8r$UWn#kZUP(Q`9Ngsg1@*zUKJ4g>`A->0OjrJ0=>^Iu2S zzdD@hC^)Qh;q?5{MCmwKd|r2p=#aQry<9FqL~9j`Z4%eDrBNn1rRYJtbn5dn+N>Ld zyJ#7#s}_d8n19Q#Cu~7FF~Ff+i=a_pDO5$MWVJ%sLDLMzPx^7>LU| zQ9NhG!2E;*dl&?39>H$qPq;m`pv2xn629~!)` zjk2s#GUV|X;tU1yvk!wp*-RoRvRX^0tL`{=>dy}klbKdl6&W0m*ZQ?9m+JGK)Vs4S z#S-*S7!N*`^D;7VV8a}c39ggT&YRMS$t5X@ja#R#c;{3ZIw2)FiVJky=lJUA3ZKLl zXzCO!3fJv2Eb(wN%mo!bZao|Ai>#(<)JoF*1*FOv3XO7w88ZcB`ju5-yJ7u`K=>B z7ubCx5Y{%1S?>Avw7;G@(_bmYtpDlxaA|+Emgr3nq8Ikf3GMyph56m*nfCYj(^rQa z?`Dv(#J+9c=ZjW@UOhh)nW6LA+_#&(wQ~o-kGoK6i8e&2P?-%7udqP=6OaofMLL5f zO1uWjd~obN3fDnmmlH8arhtc_%Kj^PQhy0Qq>Dto#h&qU!PJf@AJb25cwJF-H!nD|%- zB^OuZe6m;YD9#UCqfBLh6qrC?9=KCIDYQGy)Jf)QVoVO!1e2I-3+595ML4~GT zG1CrFl{Q$i3~c+pa6kQejahP;F*}+KQHd|5Q_BRS!3ZU+WEl4ZLms5RnKG^EHWQki zL`?1C%S*-5`n-bU*5l?WOcSr%KA%7idm3#k1PJbVv8j@*mK10SRvg!Pro;rl?}c^5 z#%nc*ZVsBP5JXv<55T!#DtCv-kHZuUeW@Td_sl%|x+W;k#Fg(| z=jNQ-jIQfCzLDsc;iSBEJqJI%jFHpHwZb_|frCiq0)P5m>mNx`THyrjI7ncU!_-=B zolFQt@|g6^gK0JmLxm)HdRw`S-{=g=?mJH2Fj7*GusQF4N%0Y5=q`pYFHIZ;=NH_4 zQ{78R>T0K3TwJCumb|>RDpwB2QIw9A-B0s8_s|XGPtJ zhIUZKq5%0MkTv5RrRkhSgxWDHGOC?g=TrQprLc^pJazV0Q$ckX&5wZqhqBFxWo|6j zy}-bh=B+X=2E)NTyXXT#DW3cQFK#XcrQp@JIw>}f zSvBbMP*ITzW1C?-ddV$JH;5$_TxS!MmCfo_OFD}>$-mSiPsUMpEjdJ6SR_4+>6+a* zOz1jY$xznavcXv>&|AQZ-OiNx_|hi9wcXzPO#RDe*wmS?kHAuVema!7?21Z*VSk4M z(D!bMyRJor9V&YD=iSaZPDoZZe7+?7!BpCiwSIMP$6ZM{CdEl@0;8)Bz=5dXX=0oR zk~8as*R%bV-nEdXmZSmFkVXp*BKmeMB=%B1!kbFHH)AVzpe}#0!)mC-Wwgr{)G|D^ z^jK8bS+%mf+xF4h zjkdgfSgxd+?~@R^<2k2J=Y*mw#Av6uH9KUf>MW~`9q%%3=&mp>yJo6M zjJ9j~VL6>S(l!ONAvIJwd5kFy1p-mFgfVkSi$S|$YSSE8Zi?p70;S1ykT)Gt>b2Fy z@bzo%xPI||zF{5z$8I_UtaB{STkYrH(ErTEa{TyKN`YT^P{8ce^*b3|2asTQ# zdSs{Y4o1wu2WXX$adCw6x|9SE|GGO8zC#H<4;F#WszI?-wUE+wYjcMrRRqVT8z0Bm z*JH(6gwO~Avv4d&JgE+YeH(McX$nBE7!HWE)lBiCYUaR`Vm`8>>|OKKAjDBZeP*hG z;xW3cX3W{746bd1%QSTkT3Y)bx&$WPT7{H`5YUjNTz9z135o3XaRRMfmZ{#m*PGvQ304cCM_X zBH8c6@!pB+%wpBoKAEJ&sfk{aA0@Z4nL;>{h)~MpqzVhmGGDGhI_Bnh8(n zLs~sYME?=)s`L!XyM}_ge0isa(A&xz*gprfxl>+Y7bw^mC>-Y>!v9GAtHJwUqnaI8 zZy(5lA@Q|m;C64EH4nlPBTO2E)@DieGoia5r7iiocyz_PmjWNB$>`S_*Q+Id0-?ho zd&8<(I_fzp3K+FY{``=vu3kIv1wFBRA|G_>!tZN9=*AG`0d zGcTy?^N?tCwWTy#d_SmfR)0vRN7?d6bB7Jwr|fB6C)FO1+5 z4BuguRUKvzwuM%$%qx6lZ%Q+4lCb@fQKvYz_bZQsa-#ibfQw) zgQU_T;?Pu@yBJy4s8jBDQeDbtC0FmWl#)rGI(NPkjm#GhlZ%)lWhZi=HD;rq!3rx2 z;FaU%;XPYUQh?;9l(`I1DU@E*r^^Gbys1iq140;g(@Zlw3!FNjZv^0<$0f zS$SB{f8F}M7Pte~lJf5KAae{(<%MB{O{&_c{5*($SmcC14YSE~JuqsysG#ey~OAJI-f6=zMbK5b9)-8O&beu3$MqB7_{ zs&;}pQsy{65zg@bw2j+&)2wds3R8n5UlS7jIh!}J@7vVNDyD(EruR1CH@@SFm@gka z@CuR$`1rd>(4b2CdcWL1-?%p4?h5gJW?)auez*7Bw{5Sj%QLYstii=v>=R(WsDXOC z8hu1PTIsu*suMwEU>WSfTkS(|u`$fYg|apjW1r#;UZeiV-}-?6=ZsY_wrtT22?7#C z0s?{!oUwq7yZ@S|fGaQH^=WTpWy@skXl8M#VdIFdjv?6T#Z7BBjY7kS0X@*k)>p(R zN)N_m^`j(-tBA4IDMThw0X>7t=<7lXAUpmUuPuAV0%M7pAv3;)#5E67P}`@k-U4VWduL_y=Cu}+6=yUaE`LsS6ASO`a|E*v&50j6J| z^=^mLDGUn+vLf-uM=kj@a25oig7g?8Z^w^s1-S7PuKE%Pf%l|>P_ktUX!lD%LaAw+%Runtrn#h(*q$1JnP6fMM%R? zkKqIz^_i{pvr6p%0rd7!=5-t6$7RFMX32c1m$opBjw2i|n+cd+Q2X(@x3G_JoWw{1 zqV>^_@J~1fMGRQE^r;yYb~ilLf;Po?q3D_&6NF=p@wMn;-|09lYE)s8_?CWeY}H+a z9risygC}EJ%NwIm6iW^>y;x5ywwtCzF)L@wrFgwjKBo0B5-2^A9Z9xCpjz0;yUbGl zkX_uqAoJ|n2?f!CxQDa6 zVgD)&{sU@-7X#P|HNw;Ei%@oSB|?p|CJ+8XkTe!+qIcJE92{FJMw}>1{L_ITTP#Ll zbKDee+PSn&ZjIX)lJ9h3hH4eM2q_P1@mWKjmwRx%FMWx}H5r5*Octa$iq6o&14u*3 z3yJ63E06DE;!#BNZXdh%-|Up!8sBd%e*5%5=XSr22L%ZA=MGh3N3gW|B`A|``A{O$ z(gq&jb=;)%2hRvD1}C^`R-Yi&%mCaise_u6Q|a=*=?qv4TEDMtm~7c@S-;<8Fd_e- zv`23ZeDPZ!zuXgqMsLkLKN386bart3N!eYA|1;MAYwaR_ZHgzoOV~(D&Cpc z1=Q@%JWp{0SGsL(sypEUDrShZ7x)})X!MptRKFEUzp8XtU8J0Fa(#%CjKi2Pg?jc} zqaKjBt|yPPT37fSh0=n#NO%2HZZN$ql<4=k-&bcmx-pes!%~uI|aj zt*_;(YaTCKKCkZC&FAy#7Z#tsHa)H`_4exZdw*WLZGEqDd-n5n{dV_0pS)N5+y3vH z(}&}~%2-yd`Cf7VW&XLE-*>c3{K4}i4UnPNG*;9wa(BDs8sWI z_yJUU4>*p@4bu&z8yJrPjexZA!A*N~jU8>=!I?lM7l9fDQ8YdWioolhb>vw_&xzz;|`q}gc;DlI0G0E;F$xU5v936 zzhl#$*B~uq1ho7#&?*_2ULf7TxEg36SUbe$$cA7Ih2GU-*4_FH3~`~X4E!i2i339u zY*KMaWlk!1x)MDM&<~V^>2F{>Z-t^6?RZIabI|8W5#~4)z|29KL_yb%KJkLku2%xp zjy4U0ZUXv51j2-bQm6?i(-P?V(MOFD`ahRL^`nm=qZ@(V|3(<`rVeXw9Nhr)jxNH0 zBlXAzVC(jxn}yzYM3}X=0og3no+P>{=v^&@DOVbyp@P!!Lf4Pp9z^KRZ$-*tsI9{Q UZ&qLq0%d7IhD2cYNbCmj0MIMJO8@`> literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/README.md b/src/scala/com/twitter/interaction_graph/scio/README.md deleted file mode 100644 index c7ef6d713..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Interaction Graph - -This folder contains the code used in the offline pipeline for real graph v2. - -The ETL jobs are contained in folders prefaced with `agg_*`, while the jobs powering the ml pipeline are in the ml folder. - -Note that the jobs in the ml folder are mostly ETL jobs; the main training and scoring happens within BQML. diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/BUILD b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/BUILD deleted file mode 100644 index 3f7e0491e..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/BUILD +++ /dev/null @@ -1,62 +0,0 @@ -scala_library( - name = "agg_address_book", - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - ":interaction_graph_agg_address_book_edge_snapshot-scala", - ":interaction_graph_agg_address_book_vertex_snapshot-scala", - "3rdparty/jvm/com/twitter/storehaus:algebra", - "addressbook/jobs/src/main/scala/com/twitter/addressbook/jobs/simplematches:simple_user_matches-scala", - "beam-internal/src/main/scala/com/twitter/beam/io/dal", - "beam-internal/src/main/scala/com/twitter/scio_internal/job", - "beam-internal/src/main/scala/com/twitter/scio_internal/runner/dataflow", - "consumer-data-tools/src/main/scala/com/twitter/cde/scio/dal_read", - "src/scala/com/twitter/interaction_graph/scio/common", - ], -) - -jvm_binary( - name = "interaction_graph_address_book_scio", - main = "com.twitter.interaction_graph.scio.agg_address_book.InteractionGraphAddressBookJob", - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - ":agg_address_book", - ], -) - -create_datasets( - base_name = "interaction_graph_agg_address_book_edge_snapshot", - description = "User-user directed edges with addressbook features", - java_schema = "com.twitter.interaction_graph.thriftjava.Edge", - platform = "java8", - role = "cassowary", - scala_schema = "com.twitter.interaction_graph.thriftscala.Edge", - segment_type = "snapshot", - tags = ["bazel-compatible"], - java_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-java", - ], - scala_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-scala", - ], -) - -create_datasets( - base_name = "interaction_graph_agg_address_book_vertex_snapshot", - description = "User vertex with addressbook features", - java_schema = "com.twitter.interaction_graph.thriftjava.Vertex", - platform = "java8", - role = "cassowary", - scala_schema = "com.twitter.interaction_graph.thriftscala.Vertex", - segment_type = "snapshot", - tags = ["bazel-compatible"], - java_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-java", - ], - scala_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-scala", - ], -) diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/BUILD.docx b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..94ce50873361b60b29e7af3f28faf439fa709fcf GIT binary patch literal 37242 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 Cyd{tT literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookCounters.scala b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookCounters.scala deleted file mode 100644 index 0d57c4cae..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookCounters.scala +++ /dev/null @@ -1,34 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_address_book - -import com.spotify.scio.ScioMetrics -import org.apache.beam.sdk.metrics.Counter - -trait InteractionGraphAddressBookCountersTrait { - val Namespace = "Interaction Graph Address Book" - - def emailFeatureInc(): Unit - - def phoneFeatureInc(): Unit - - def bothFeatureInc(): Unit -} - -/** - * SCIO counters are used to gather run time statistics - */ -case object InteractionGraphAddressBookCounters extends InteractionGraphAddressBookCountersTrait { - val emailFeatureCounter: Counter = - ScioMetrics.counter(Namespace, "Email Feature") - - val phoneFeatureCounter: Counter = - ScioMetrics.counter(Namespace, "Phone Feature") - - val bothFeatureCounter: Counter = - ScioMetrics.counter(Namespace, "Both Feature") - - override def emailFeatureInc(): Unit = emailFeatureCounter.inc() - - override def phoneFeatureInc(): Unit = phoneFeatureCounter.inc() - - override def bothFeatureInc(): Unit = bothFeatureCounter.inc() -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookJob.docx b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookJob.docx new file mode 100644 index 0000000000000000000000000000000000000000..3cc523b666596f9e3a97cd342c28dd815b6dda09 GIT binary patch literal 37590 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookJob.scala b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookJob.scala deleted file mode 100644 index 360b52cee..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookJob.scala +++ /dev/null @@ -1,71 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_address_book - -import com.spotify.scio.ScioContext -import com.spotify.scio.values.SCollection -import com.twitter.addressbook.matches.thriftscala.UserMatchesRecord -import com.twitter.beam.io.dal.DAL -import com.twitter.beam.io.dal.DAL.DiskFormat -import com.twitter.beam.io.dal.DAL.PathLayout -import com.twitter.beam.io.dal.DAL.WriteOptions -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.scio_internal.job.ScioBeamJob -import com.twitter.statebird.v2.thriftscala.Environment -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.Vertex -import java.time.Instant -import org.joda.time.Interval - -object InteractionGraphAddressBookJob extends ScioBeamJob[InteractionGraphAddressBookOption] { - override protected def configurePipeline( - scioContext: ScioContext, - pipelineOptions: InteractionGraphAddressBookOption - ): Unit = { - @transient - implicit lazy val sc: ScioContext = scioContext - implicit lazy val dateInterval: Interval = pipelineOptions.interval - implicit lazy val addressBookCounters: InteractionGraphAddressBookCountersTrait = - InteractionGraphAddressBookCounters - - val interactionGraphAddressBookSource = InteractionGraphAddressBookSource(pipelineOptions) - - val addressBook: SCollection[UserMatchesRecord] = - interactionGraphAddressBookSource.readSimpleUserMatches( - dateInterval.withStart(dateInterval.getStart.minusDays(3)) - ) - val (vertex, edges) = InteractionGraphAddressBookUtil.process(addressBook) - - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - val dalWriteEnvironment = if (pipelineOptions.getDALWriteEnvironment != null) { - pipelineOptions.getDALWriteEnvironment - } else { - dalEnvironment - } - - vertex.saveAsCustomOutput( - "Write Vertex Records", - DAL.writeSnapshot[Vertex]( - InteractionGraphAggAddressBookVertexSnapshotScalaDataset, - PathLayout.DailyPath(pipelineOptions.getOutputPath + "/address_book_vertex_daily"), - Instant.ofEpochMilli(dateInterval.getEndMillis), - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = - WriteOptions(numOfShards = Some((pipelineOptions.getNumberOfShards / 16.0).ceil.toInt)) - ) - ) - - edges.saveAsCustomOutput( - "Write Edge Records", - DAL.writeSnapshot[Edge]( - InteractionGraphAggAddressBookEdgeSnapshotScalaDataset, - PathLayout.DailyPath(pipelineOptions.getOutputPath + "/address_book_edge_daily"), - Instant.ofEpochMilli(dateInterval.getEndMillis), - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards)) - ) - ) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookOption.docx b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..f44fc3f623431f58b7758f112c16e9216e161937 GIT binary patch literal 37052 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 T3d}*ETqVem2+SVQJs=(c?t(ku literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookSource.scala b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookSource.scala deleted file mode 100644 index 66e3903bc..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookSource.scala +++ /dev/null @@ -1,28 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_address_book - -import com.spotify.scio.ScioContext -import com.spotify.scio.values.SCollection -import com.twitter.addressbook.jobs.simplematches.SimpleUserMatchesScalaDataset -import com.twitter.addressbook.matches.thriftscala.UserMatchesRecord -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.cde.scio.dal_read.SourceUtil -import org.joda.time.Interval - -case class InteractionGraphAddressBookSource( - pipelineOptions: InteractionGraphAddressBookOption -)( - implicit sc: ScioContext, -) { - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - - def readSimpleUserMatches( - dateInterval: Interval - ): SCollection[UserMatchesRecord] = { - SourceUtil.readMostRecentSnapshotDALDataset[UserMatchesRecord]( - SimpleUserMatchesScalaDataset, - dateInterval, - dalEnvironment) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookUtil.docx b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/InteractionGraphAddressBookUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..5e8c08be9aee3775ff004cae041efef35f37cd51 GIT binary patch literal 37831 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 - record.forwardMatches.toSeq.flatMap { matchDetails => - val matchedUsers = (record.userId, matchDetails.userId) - (matchDetails.matchedByEmail, matchDetails.matchedByPhone) match { - case (true, true) => - Seq((matchedUsers, EMAIL), (matchedUsers, PHONE), (matchedUsers, BOTH)) - case (true, false) => Seq((matchedUsers, EMAIL)) - case (false, true) => Seq((matchedUsers, PHONE)) - case _ => Seq.empty - } - } - } - - // Then construct the input data for feature calculation - val addressBookFeatureInput: SCollection[InteractionGraphRawInput] = addressBookTypes - .map { - case ((src, dst), name) => - if (src < dst) - ((src, dst, name), false) - else - ((dst, src, name), true) - }.groupByKey - .flatMap { - case ((src, dst, name), iterator) => - val isReversedValues = iterator.toSeq - // check if (src, dst) is mutual follow - val isMutualFollow = isReversedValues.size == 2 - // get correct srcId and dstId if there is no mutual follow and they are reversed - val (srcId, dstId) = { - if (!isMutualFollow && isReversedValues.head) - (dst, src) - else - (src, dst) - } - // get the feature name and mutual follow name - val (featureName, mfFeatureName) = name match { - case EMAIL => - addressBookCounters.emailFeatureInc() - (FeatureName.AddressBookEmail, FeatureName.AddressBookMutualEdgeEmail) - case PHONE => - addressBookCounters.phoneFeatureInc() - (FeatureName.AddressBookPhone, FeatureName.AddressBookMutualEdgePhone) - case BOTH => - addressBookCounters.bothFeatureInc() - (FeatureName.AddressBookInBoth, FeatureName.AddressBookMutualEdgeInBoth) - } - // construct the TypedPipe for feature calculation - if (isMutualFollow) { - Iterator( - InteractionGraphRawInput(srcId, dstId, featureName, DefaultAge, DegaultFeatureValue), - InteractionGraphRawInput(dstId, srcId, featureName, DefaultAge, DegaultFeatureValue), - InteractionGraphRawInput( - srcId, - dstId, - mfFeatureName, - DefaultAge, - DegaultFeatureValue), - InteractionGraphRawInput(dstId, srcId, mfFeatureName, DefaultAge, DegaultFeatureValue) - ) - } else { - Iterator( - InteractionGraphRawInput(srcId, dstId, featureName, DefaultAge, DegaultFeatureValue)) - } - } - - // Calculate the Features - FeatureGeneratorUtil.getFeatures(addressBookFeatureInput) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_address_book/README.docx b/src/scala/com/twitter/interaction_graph/scio/agg_address_book/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..9c80b4658f981c3c24dac9727136f3b59adfaa8a GIT binary patch literal 37042 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 lUW-SRY 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationConfig.docx b/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..121702e9faac0dff7372f2793c16ff18179a5e5f GIT binary patch literal 36990 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationConfig.scala b/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationConfig.scala deleted file mode 100644 index 2f9b0da57..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationConfig.scala +++ /dev/null @@ -1,14 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_all - -object InteractionGraphScoringConfig { - - /** - * This is alpha for a variant of the Exponentially weighted moving average, computed as: - * ewma_{t+1} = x_{t+1} + (1-alpha) * ewma_t (ewma_1 = x_1, t > 0) - * We choose alpha such that the half life of weights is 7 days. - * Note that we don't down-weight x_{t+1} (unlike in EWMA) as we only want to decay actions - * as they grow old, not compute the average value. - */ - val ALPHA = 1.0 - val ONE_MINUS_ALPHA = 0.955 -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationJob.docx b/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationJob.docx new file mode 100644 index 0000000000000000000000000000000000000000..6bde8f0114fe842c63c66decb04bacdbb2d1a251 GIT binary patch literal 40287 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 z%0A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 Jv6%Jq>VHw6hZO(- literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationJob.scala b/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationJob.scala deleted file mode 100644 index 06942205d..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationJob.scala +++ /dev/null @@ -1,314 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_all - -import com.google.cloud.bigquery.BigQueryOptions -import com.google.cloud.bigquery.QueryJobConfiguration -import com.spotify.scio.ScioContext -import com.spotify.scio.ScioMetrics -import com.spotify.scio.values.SCollection -import com.twitter.beam.io.dal.DAL -import com.twitter.beam.io.dal.DAL.DiskFormat -import com.twitter.beam.io.dal.DAL.PathLayout -import com.twitter.beam.io.dal.DAL.WriteOptions -import com.twitter.beam.io.exception.DataNotFoundException -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.interaction_graph.scio.agg_all.InteractionGraphAggregationTransform._ -import com.twitter.interaction_graph.scio.common.DateUtil -import com.twitter.interaction_graph.scio.common.FeatureGeneratorUtil -import com.twitter.interaction_graph.scio.common.UserUtil -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.Vertex -import com.twitter.scalding_internal.multiformat.format.keyval.KeyVal -import com.twitter.scio_internal.job.ScioBeamJob -import com.twitter.statebird.v2.thriftscala.Environment -import com.twitter.user_session_store.thriftscala.UserSession -import com.twitter.util.Duration -import com.twitter.wtf.candidate.thriftscala.ScoredEdge -import java.time.Instant -import org.apache.avro.generic.GenericRecord -import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO -import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO.TypedRead -import org.apache.beam.sdk.io.gcp.bigquery.SchemaAndRecord -import org.apache.beam.sdk.transforms.SerializableFunction -import org.joda.time.Interval -import scala.collection.JavaConverters._ - -object InteractionGraphAggregationJob extends ScioBeamJob[InteractionGraphAggregationOption] { - - // to parse latest date from the BQ table we're reading from - val parseDateRow = new SerializableFunction[SchemaAndRecord, String] { - override def apply(input: SchemaAndRecord): String = { - val genericRecord: GenericRecord = input.getRecord() - genericRecord.get("ds").toString - } - } - - // note that we're using the prob_explicit for real_graph_features (for Home) - val parseRow = new SerializableFunction[SchemaAndRecord, ScoredEdge] { - override def apply(record: SchemaAndRecord): ScoredEdge = { - val genericRecord: GenericRecord = record.getRecord() - ScoredEdge( - genericRecord.get("source_id").asInstanceOf[Long], - genericRecord.get("destination_id").asInstanceOf[Long], - genericRecord.get("prob_explicit").asInstanceOf[Double], - genericRecord.get("followed").asInstanceOf[Boolean], - ) - } - } - - override def runPipeline( - sc: ScioContext, - opts: InteractionGraphAggregationOption - ): Unit = { - - val dateStr: String = opts.getDate().value.getStart.toString("yyyyMMdd") - logger.info(s"dateStr $dateStr") - val project: String = "twttr-recos-ml-prod" - val datasetName: String = "realgraph" - val bqTableName: String = "scores" - val fullBqTableName: String = s"$project:$datasetName.$bqTableName" - - if (opts.getDALWriteEnvironment.toLowerCase == "prod") { - val bqClient = - BigQueryOptions.newBuilder.setProjectId(project).build.getService - val query = - s""" - |SELECT total_rows - |FROM `$project.$datasetName.INFORMATION_SCHEMA.PARTITIONS` - |WHERE partition_id ="$dateStr" AND - |table_name="$bqTableName" AND total_rows > 0 - |""".stripMargin - val queryConfig = QueryJobConfiguration.of(query) - val results = bqClient.query(queryConfig).getValues.asScala.toSeq - if (results.isEmpty || results.head.get(0).getLongValue == 0) { - throw new DataNotFoundException(s"$dateStr not present in $fullBqTableName.") - } - } - sc.run() - } - - override protected def configurePipeline( - scioContext: ScioContext, - pipelineOptions: InteractionGraphAggregationOption - ): Unit = { - @transient - implicit lazy val sc: ScioContext = scioContext - implicit lazy val dateInterval: Interval = pipelineOptions.interval - val yesterday = DateUtil.subtract(dateInterval, Duration.fromDays(1)) - - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - val dalWriteEnvironment = if (pipelineOptions.getDALWriteEnvironment != null) { - pipelineOptions.getDALWriteEnvironment - } else { - dalEnvironment - } - val dateStr: String = pipelineOptions.getDate().value.getStart.toString("yyyy-MM-dd") - logger.info(s"dateStr $dateStr") - val project: String = "twttr-recos-ml-prod" - val datasetName: String = "realgraph" - val bqTableName: String = "scores" - val fullBqTableName: String = s"$project:$datasetName.$bqTableName" - - val scoreExport: SCollection[ScoredEdge] = - sc.customInput( - s"Read from BQ table $fullBqTableName", - BigQueryIO - .read(parseRow) - .fromQuery(s"""SELECT source_id, destination_id, prob_explicit, followed - |FROM `$project.$datasetName.$bqTableName` - |WHERE ds = '$dateStr'""".stripMargin) - .usingStandardSql() - .withMethod(TypedRead.Method.DEFAULT) - ) - - val source = InteractionGraphAggregationSource(pipelineOptions) - - val (addressEdgeFeatures, addressVertexFeatures) = source.readAddressBookFeatures() - - val (clientEventLogsEdgeFeatures, clientEventLogsVertexFeatures) = - source.readClientEventLogsFeatures(dateInterval) - - val (flockEdgeFeatures, flockVertexFeatures) = source.readFlockFeatures() - - val (directInteractionsEdgeFeatures, directInteractionsVertexFeatures) = - source.readDirectInteractionsFeatures(dateInterval) - - val invalidUsers = UserUtil.getInvalidUsers(source.readFlatUsers()) - - val (prevAggEdge, prevAggVertex) = source.readAggregatedFeatures(yesterday) - - val prevAggregatedVertex: SCollection[Vertex] = - UserUtil - .filterUsersByIdMapping[Vertex]( - prevAggVertex, - invalidUsers, - v => v.userId - ) - - /** Remove status-based features (flock/ab) from current graph, because we only need the latest - * This is to allow us to filter and roll-up a smaller dataset, to which we will still add - * back the status-based features for the complete scoredAggregates (that other teams will read). - */ - val prevAggEdgeFiltered = prevAggEdge - .filter { e => - e.sourceId != e.destinationId - } - .withName("filtering status-based edges") - .flatMap(FeatureGeneratorUtil.removeStatusFeatures) - val prevAggEdgeValid: SCollection[Edge] = - UserUtil - .filterUsersByMultipleIdMappings[Edge]( - prevAggEdgeFiltered, - invalidUsers, - Seq(e => e.sourceId, e => e.destinationId) - ) - - val aggregatedActivityVertexDaily = UserUtil - .filterUsersByIdMapping[Vertex]( - FeatureGeneratorUtil - .combineVertexFeatures( - clientEventLogsVertexFeatures ++ - directInteractionsVertexFeatures ++ - addressVertexFeatures ++ - flockVertexFeatures - ), - invalidUsers, - v => v.userId - ) - - // we split up the roll-up of decayed counts between status vs activity/count-based features - val aggregatedActivityEdgeDaily = FeatureGeneratorUtil - .combineEdgeFeatures(clientEventLogsEdgeFeatures ++ directInteractionsEdgeFeatures) - - // Vertex level, Add the decay sum for history and daily - val aggregatedActivityVertex = FeatureGeneratorUtil - .combineVertexFeaturesWithDecay( - prevAggregatedVertex, - aggregatedActivityVertexDaily, - InteractionGraphScoringConfig.ONE_MINUS_ALPHA, - InteractionGraphScoringConfig.ALPHA - ) - - // Edge level, Add the decay sum for history and daily - val aggregatedActivityEdge = FeatureGeneratorUtil - .combineEdgeFeaturesWithDecay( - prevAggEdgeValid, - aggregatedActivityEdgeDaily, - InteractionGraphScoringConfig.ONE_MINUS_ALPHA, - InteractionGraphScoringConfig.ALPHA - ) - .filter(FeatureGeneratorUtil.edgeWithFeatureOtherThanDwellTime) - .withName("removing edges that only have dwell time features") - - val edgeKeyedScores = scoreExport.keyBy { e => (e.sourceId, e.destinationId) } - - val scoredAggregatedActivityEdge = aggregatedActivityEdge - .keyBy { e => (e.sourceId, e.destinationId) } - .withName("join with scores") - .leftOuterJoin(edgeKeyedScores) - .map { - case (_, (e, scoredEdgeOpt)) => - val scoreOpt = scoredEdgeOpt.map(_.score) - e.copy(weight = if (scoreOpt.nonEmpty) { - ScioMetrics.counter("after joining edge with scores", "has score").inc() - scoreOpt - } else { - ScioMetrics.counter("after joining edge with scores", "no score").inc() - None - }) - } - - val combinedFeatures = FeatureGeneratorUtil - .combineEdgeFeatures(aggregatedActivityEdge ++ addressEdgeFeatures ++ flockEdgeFeatures) - .keyBy { e => (e.sourceId, e.destinationId) } - - val aggregatedActivityScoredEdge = - edgeKeyedScores - .withName("join with combined edge features") - .leftOuterJoin(combinedFeatures) - .map { - case (_, (scoredEdge, combinedFeaturesOpt)) => - if (combinedFeaturesOpt.exists(_.features.nonEmpty)) { - ScioMetrics.counter("after joining scored edge with features", "has features").inc() - Edge( - sourceId = scoredEdge.sourceId, - destinationId = scoredEdge.destinationId, - weight = Some(scoredEdge.score), - features = combinedFeaturesOpt.map(_.features).getOrElse(Nil) - ) - } else { - ScioMetrics.counter("after joining scored edge with features", "no features").inc() - Edge( - sourceId = scoredEdge.sourceId, - destinationId = scoredEdge.destinationId, - weight = Some(scoredEdge.score), - features = Nil - ) - } - } - - val realGraphFeatures = - getTopKTimelineFeatures(aggregatedActivityScoredEdge, pipelineOptions.getMaxDestinationIds) - - aggregatedActivityVertex.saveAsCustomOutput( - "Write History Aggregated Vertex Records", - DAL.writeSnapshot[Vertex]( - dataset = InteractionGraphHistoryAggregatedVertexSnapshotScalaDataset, - pathLayout = PathLayout.DailyPath(pipelineOptions.getOutputPath + "/aggregated_vertex"), - endDate = Instant.ofEpochMilli(dateInterval.getEndMillis), - diskFormat = DiskFormat.Parquet, - environmentOverride = Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards / 10)) - ) - ) - - scoredAggregatedActivityEdge.saveAsCustomOutput( - "Write History Aggregated Edge Records", - DAL.writeSnapshot[Edge]( - dataset = InteractionGraphHistoryAggregatedEdgeSnapshotScalaDataset, - pathLayout = PathLayout.DailyPath(pipelineOptions.getOutputPath + "/aggregated_raw_edge"), - endDate = Instant.ofEpochMilli(dateInterval.getEndMillis), - diskFormat = DiskFormat.Parquet, - environmentOverride = Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards)) - ) - ) - - aggregatedActivityVertexDaily.saveAsCustomOutput( - "Write Daily Aggregated Vertex Records", - DAL.write[Vertex]( - dataset = InteractionGraphAggregatedVertexDailyScalaDataset, - pathLayout = - PathLayout.DailyPath(pipelineOptions.getOutputPath + "/aggregated_vertex_daily"), - interval = dateInterval, - diskFormat = DiskFormat.Parquet, - environmentOverride = Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards / 10)) - ) - ) - - aggregatedActivityEdgeDaily.saveAsCustomOutput( - "Write Daily Aggregated Edge Records", - DAL.write[Edge]( - dataset = InteractionGraphAggregatedEdgeDailyScalaDataset, - pathLayout = PathLayout.DailyPath(pipelineOptions.getOutputPath + "/aggregated_edge_daily"), - interval = dateInterval, - diskFormat = DiskFormat.Parquet, - environmentOverride = Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards)) - ) - ) - - realGraphFeatures.saveAsCustomOutput( - "Write Timeline Real Graph Features", - DAL.writeVersionedKeyVal[KeyVal[Long, UserSession]]( - dataset = RealGraphFeaturesScalaDataset, - pathLayout = - PathLayout.VersionedPath(pipelineOptions.getOutputPath + "/real_graph_features"), - environmentOverride = Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards)) - ) - ) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationOption.docx b/src/scala/com/twitter/interaction_graph/scio/agg_all/InteractionGraphAggregationOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..2eac1d68cfb082141e4f4d04637f42c2160ecbcd GIT binary patch literal 37208 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 W0p6^@90bZ$f((hk?D47>!~+0YbL RealGraphFeaturesV1} -import com.twitter.user_session_store.thriftscala.UserSession -import com.twitter.interaction_graph.scio.common.ConversionUtil._ - -object InteractionGraphAggregationTransform { - val ordering: Ordering[Edge] = Ordering.by(-_.weight.getOrElse(0.0)) - - // converts our Edge thrift into timelines' thrift - def getTopKTimelineFeatures( - scoredAggregatedEdge: SCollection[Edge], - maxDestinationIds: Int - ): SCollection[KeyVal[Long, UserSession]] = { - scoredAggregatedEdge - .filter(_.weight.exists(_ > 0)) - .keyBy(_.sourceId) - .groupByKey - .map { - case (sourceId, edges) => - val (inEdges, outEdges) = edges.partition(GraphUtil.isFollow) - val inTopK = - if (inEdges.isEmpty) Nil - else { - val inTopKQueue = - new PriorityQueueMonoid[Edge](maxDestinationIds)(ordering) - inTopKQueue - .build(inEdges).iterator().asScala.toList.flatMap( - toRealGraphEdgeFeatures(hasTimelinesRequiredFeatures)) - } - val outTopK = - if (outEdges.isEmpty) Nil - else { - val outTopKQueue = - new PriorityQueueMonoid[Edge](maxDestinationIds)(ordering) - outTopKQueue - .build(outEdges).iterator().asScala.toList.flatMap( - toRealGraphEdgeFeatures(hasTimelinesRequiredFeatures)) - } - KeyVal( - sourceId, - UserSession( - userId = Some(sourceId), - realGraphFeatures = Some(RealGraphFeatures.V1(RealGraphFeaturesV1(inTopK, outTopK))), - realGraphFeaturesTest = - Some(RealGraphFeaturesTest.V1(RealGraphFeaturesV1(inTopK, outTopK))) - ) - ) - } - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_all/README.docx b/src/scala/com/twitter/interaction_graph/scio/agg_all/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..130f33aeb119bd33a604e2d8b69f0dee3f238550 GIT binary patch literal 37222 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 UR$vYSz>% literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_all/README.md b/src/scala/com/twitter/interaction_graph/scio/agg_all/README.md deleted file mode 100644 index cedf39b12..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_all/README.md +++ /dev/null @@ -1,38 +0,0 @@ -## InteractionGraphAggregationJob Dataflow Job - -This job aggregates the previous day's history with today's activities, and outputs an updated -history. This history is joined with the explicit scores from real graph's BQML pipeline, and -exported as features for timelines (which is why we're using their thrift). - -#### IntelliJ -``` -fastpass create --name rg_agg_all --intellij src/scala/com/twitter/interaction_graph/scio/agg_all:interaction_graph_aggregation_job_scio -``` - -#### Compile -``` -bazel build src/scala/com/twitter/interaction_graph/scio/agg_all:interaction_graph_aggregation_job_scio -``` - -#### Build Jar -``` -bazel bundle src/scala/com/twitter/interaction_graph/scio/agg_all:interaction_graph_aggregation_job_scio -``` - -#### Run Scheduled Job -``` -export PROJECTID=twttr-recos-ml-prod -export REGION=us-central1 -export JOB_NAME=interaction-graph-aggregation-dataflow - -bin/d6w schedule \ - ${PROJECTID}/${REGION}/${JOB_NAME} \ - src/scala/com/twitter/interaction_graph/scio/agg_all/config.d6w \ - --bind=profile.user_name=cassowary \ - --bind=profile.project=${PROJECTID} \ - --bind=profile.region=${REGION} \ - --bind=profile.job_name=${JOB_NAME} \ - --bind=profile.environment=prod \ - --bind=profile.date=2022-11-08 \ - --bind=profile.output_path=processed/interaction_graph_aggregation_dataflow -``` \ No newline at end of file diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/BUILD b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/BUILD deleted file mode 100644 index 9c14f4d38..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/BUILD +++ /dev/null @@ -1,61 +0,0 @@ -scala_library( - name = "agg_client_event_logs", - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - ":interaction_graph_agg_client_event_logs_edge_daily-scala", - ":interaction_graph_agg_client_event_logs_vertex_daily-scala", - "beam-internal/src/main/scala/com/twitter/beam/io/dal", - "beam-internal/src/main/scala/com/twitter/scio_internal/job", - "beam-internal/src/main/scala/com/twitter/scio_internal/runner/dataflow", - "consumer-data-tools/src/main/scala/com/twitter/cde/scio/dal_read", - "src/scala/com/twitter/interaction_graph/scio/common", - "src/scala/com/twitter/wtf/scalding/jobs/client_event_processing:user_interaction-scala", - "usersource/snapshot/src/main/scala/com/twitter/usersource/snapshot/combined:usersource-scala", - ], -) - -jvm_binary( - name = "interaction_graph_client_event_logs_scio", - main = "com.twitter.interaction_graph.scio.agg_client_event_logs.InteractionGraphClientEventLogsJob", - platform = "java8", - dependencies = [ - ":agg_client_event_logs", - ], -) - -create_datasets( - base_name = "interaction_graph_agg_client_event_logs_edge_daily", - description = "User-user directed edges with client events features", - java_schema = "com.twitter.interaction_graph.thriftjava.Edge", - platform = "java8", - role = "cassowary", - scala_schema = "com.twitter.interaction_graph.thriftscala.Edge", - segment_type = "partitioned", - tags = ["bazel-compatible"], - java_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-java", - ], - scala_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-scala", - ], -) - -create_datasets( - base_name = "interaction_graph_agg_client_event_logs_vertex_daily", - description = "User vertex with client events features", - java_schema = "com.twitter.interaction_graph.thriftjava.Vertex", - platform = "java8", - role = "cassowary", - scala_schema = "com.twitter.interaction_graph.thriftscala.Vertex", - segment_type = "partitioned", - tags = ["bazel-compatible"], - java_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-java", - ], - scala_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-scala", - ], -) diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/BUILD.docx b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..4a80a6b86ab501b5059d2841efab19a9cac909dd GIT binary patch literal 37241 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsCounters.docx b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsCounters.docx new file mode 100644 index 0000000000000000000000000000000000000000..872c12777a73389d38ba85b087eb6c7b35b49ccf GIT binary patch literal 37020 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 z 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 LA~1V6_knl-4vHPK literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsJob.scala b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsJob.scala deleted file mode 100644 index 1a12b33d9..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsJob.scala +++ /dev/null @@ -1,74 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_client_event_logs - -import com.spotify.scio.ScioContext -import com.twitter.beam.io.dal.DAL -import com.twitter.beam.io.dal.DAL.DiskFormat -import com.twitter.beam.io.dal.DAL.WriteOptions -import com.twitter.beam.io.fs.multiformat.PathLayout -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.interaction_graph.scio.common.UserUtil -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.Vertex -import com.twitter.scio_internal.job.ScioBeamJob -import com.twitter.statebird.v2.thriftscala.Environment -import org.joda.time.Interval - -object InteractionGraphClientEventLogsJob - extends ScioBeamJob[InteractionGraphClientEventLogsOption] { - override protected def configurePipeline( - scioContext: ScioContext, - pipelineOptions: InteractionGraphClientEventLogsOption - ): Unit = { - - @transient - implicit lazy val sc: ScioContext = scioContext - implicit lazy val jobCounters: InteractionGraphClientEventLogsCountersTrait = - InteractionGraphClientEventLogsCounters - - lazy val dateInterval: Interval = pipelineOptions.interval - - val sources = InteractionGraphClientEventLogsSource(pipelineOptions) - - val userInteractions = sources.readUserInteractions(dateInterval) - val rawUsers = sources.readCombinedUsers() - val safeUsers = UserUtil.getValidUsers(rawUsers) - - val (vertex, edges) = InteractionGraphClientEventLogsUtil.process(userInteractions, safeUsers) - - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - val dalWriteEnvironment = if (pipelineOptions.getDALWriteEnvironment != null) { - pipelineOptions.getDALWriteEnvironment - } else { - dalEnvironment - } - - vertex.saveAsCustomOutput( - "Write Vertex Records", - DAL.write[Vertex]( - InteractionGraphAggClientEventLogsVertexDailyScalaDataset, - PathLayout.DailyPath( - pipelineOptions.getOutputPath + "/aggregated_client_event_logs_vertex_daily"), - dateInterval, - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = - WriteOptions(numOfShards = Some((pipelineOptions.getNumberOfShards / 32.0).ceil.toInt)) - ) - ) - - edges.saveAsCustomOutput( - "Write Edge Records", - DAL.write[Edge]( - InteractionGraphAggClientEventLogsEdgeDailyScalaDataset, - PathLayout.DailyPath( - pipelineOptions.getOutputPath + "/aggregated_client_event_logs_edge_daily"), - dateInterval, - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards)) - ) - ) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsOption.docx b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..a6bf3d26bc081b47a5022535f2d1853895bc17ba GIT binary patch literal 37058 zcmagEWmp}_wm*!!dvJGmcL)S`m!Ls65*#)jAh-v2cbAR36N0-1NFccTe`jXSIWy

e{ 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 BImrM3 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsOption.scala b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsOption.scala deleted file mode 100644 index 7a07a6913..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsOption.scala +++ /dev/null @@ -1,24 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_client_event_logs - -import com.twitter.beam.io.dal.DALOptions -import com.twitter.beam.job.DateRangeOptions -import org.apache.beam.sdk.options.Default -import org.apache.beam.sdk.options.Description -import org.apache.beam.sdk.options.Validation.Required - -trait InteractionGraphClientEventLogsOption extends DALOptions with DateRangeOptions { - @Required - @Description("Output path for storing the final dataset") - def getOutputPath: String - def setOutputPath(value: String): Unit - - @Description("Indicates DAL write environment. Can be set to dev/stg during local validation") - @Default.String("PROD") - def getDALWriteEnvironment: String - def setDALWriteEnvironment(value: String): Unit - - @Description("Number of shards/partitions for saving the final dataset.") - @Default.Integer(16) - def getNumberOfShards: Integer - def setNumberOfShards(value: Integer): Unit -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsSource.docx b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..ca3e847f7a0d053f1440e8a01c11c964e7b4997a GIT binary patch literal 37190 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsSource.scala b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsSource.scala deleted file mode 100644 index 1cf2da318..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsSource.scala +++ /dev/null @@ -1,40 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_client_event_logs - -import com.spotify.scio.ScioContext -import com.spotify.scio.values.SCollection -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.twadoop.user.gen.thriftscala.CombinedUser -import com.twitter.usersource.snapshot.combined.UsersourceScalaDataset -import com.twitter.util.Duration -import com.twitter.cde.scio.dal_read.SourceUtil -import com.twitter.wtf.scalding.client_event_processing.thriftscala.UserInteraction -import com.twitter.wtf.scalding.jobs.client_event_processing.UserInteractionScalaDataset -import org.joda.time.Interval - -case class InteractionGraphClientEventLogsSource( - pipelineOptions: InteractionGraphClientEventLogsOption -)( - implicit sc: ScioContext) { - - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - - def readUserInteractions(dateInterval: Interval): SCollection[UserInteraction] = { - - SourceUtil.readDALDataset[UserInteraction]( - dataset = UserInteractionScalaDataset, - interval = dateInterval, - dalEnvironment = dalEnvironment) - - } - - def readCombinedUsers(): SCollection[CombinedUser] = { - - SourceUtil.readMostRecentSnapshotNoOlderThanDALDataset[CombinedUser]( - dataset = UsersourceScalaDataset, - noOlderThan = Duration.fromDays(5), - dalEnvironment = dalEnvironment - ) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsUtil.docx b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/InteractionGraphClientEventLogsUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..0ebc65fc133bad6a91fe11922c7463b3890cf0e1 GIT binary patch literal 37802 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 - jobCounters.profileViewFeaturesInc() - Seq( - FeatureKey( - userId, - profileClick.profileId, - FeatureName.NumProfileViews) -> DefaultFeatureValue - ) - - case UserInteraction( - userId, - _, - interactionType, - InteractionDetails.TweetClickDetails(tweetClick)) - if interactionType == InteractionType.TweetClicks && - Some(userId) != tweetClick.authorId => - ( - for { - authorId <- tweetClick.authorId - } yield { - jobCounters.tweetClickFeaturesInc() - FeatureKey(userId, authorId, FeatureName.NumTweetClicks) -> DefaultFeatureValue - - } - ).toSeq - - case UserInteraction( - userId, - _, - interactionType, - InteractionDetails.LinkClickDetails(linkClick)) - if interactionType == InteractionType.LinkClicks && - Some(userId) != linkClick.authorId => - ( - for { - authorId <- linkClick.authorId - } yield { - jobCounters.linkOpenFeaturesInc() - FeatureKey(userId, authorId, FeatureName.NumLinkClicks) -> DefaultFeatureValue - } - ).toSeq - - case UserInteraction( - userId, - _, - interactionType, - InteractionDetails.TweetImpressionDetails(tweetImpression)) - if interactionType == InteractionType.TweetImpressions && - Some(userId) != tweetImpression.authorId => - ( - for { - authorId <- tweetImpression.authorId - dwellTime <- tweetImpression.dwellTimeInSec - } yield { - jobCounters.tweetImpressionFeaturesInc() - Seq( - FeatureKey( - userId, - authorId, - FeatureName.NumInspectedStatuses) -> DefaultFeatureValue, - FeatureKey(userId, authorId, FeatureName.TotalDwellTime) -> dwellTime.toDouble - ) - } - ).getOrElse(Nil) - - case _ => - jobCounters.catchAllInc() - Nil - } - .sumByKey - .collect { - case (FeatureKey(srcId, destId, featureName), featureValue) => - InteractionGraphRawInput( - src = srcId, - dst = destId, - name = featureName, - age = 1, - featureValue = featureValue - ) - } - - val filteredFeatureInput = filterForSafeUsers(unfilteredFeatureInput, safeUsers) - - // Calculate the Features - FeatureGeneratorUtil.getFeatures(filteredFeatureInput) - - } - - private def filterForSafeUsers( - featureInput: SCollection[InteractionGraphRawInput], - safeUsers: SCollection[Long] - ): SCollection[InteractionGraphRawInput] = { - - featureInput - .keyBy(_.src) - .withName("Filter out unsafe users") - .intersectByKey(safeUsers) - .values // Fetch only InteractionGraphRawInput - .keyBy(_.dst) - .withName("Filter out unsafe authors") - .intersectByKey(safeUsers) - .values // Fetch only InteractionGraphRawInput - } - -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/README.docx b/src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..a8b0f994c7befcc7a49bd29c5f520819d39eba96 GIT binary patch literal 37052 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 N84`in!?h2@0{~T{D~|vG literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsJob.scala b/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsJob.scala deleted file mode 100644 index 0b855cee2..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsJob.scala +++ /dev/null @@ -1,79 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_direct_interactions - -import com.spotify.scio.ScioContext -import com.twitter.beam.io.dal.DAL -import com.twitter.beam.io.dal.DAL.DiskFormat -import com.twitter.beam.io.fs.multiformat.PathLayout -import com.twitter.beam.io.fs.multiformat.WriteOptions -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.interaction_graph.scio.common.UserUtil -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.Vertex -import com.twitter.scio_internal.job.ScioBeamJob -import com.twitter.statebird.v2.thriftscala.Environment -import org.joda.time.Interval - -object InteractionGraphAggDirectInteractionsJob - extends ScioBeamJob[InteractionGraphAggDirectInteractionsOption] { - override protected def configurePipeline( - scioContext: ScioContext, - pipelineOptions: InteractionGraphAggDirectInteractionsOption - ): Unit = { - @transient - implicit lazy val sc: ScioContext = scioContext - implicit lazy val dateInterval: Interval = pipelineOptions.interval - - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - val dalWriteEnvironment = if (pipelineOptions.getDALWriteEnvironment != null) { - pipelineOptions.getDALWriteEnvironment - } else { - dalEnvironment - } - - val source = InteractionGraphAggDirectInteractionsSource(pipelineOptions) - - val rawUsers = source.readCombinedUsers() - val safeUsers = UserUtil.getValidUsers(rawUsers) - - val rawFavorites = source.readFavorites(dateInterval) - val rawPhotoTags = source.readPhotoTags(dateInterval) - val tweetSource = source.readTweetSource(dateInterval) - - val (vertex, edges) = InteractionGraphAggDirectInteractionsUtil.process( - rawFavorites, - tweetSource, - rawPhotoTags, - safeUsers - ) - - vertex.saveAsCustomOutput( - "Write Vertex Records", - DAL.write[Vertex]( - InteractionGraphAggDirectInteractionsVertexDailyScalaDataset, - PathLayout.DailyPath( - pipelineOptions.getOutputPath + "/aggregated_direct_interactions_vertex_daily"), - dateInterval, - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = - WriteOptions(numOfShards = Some((pipelineOptions.getNumberOfShards / 8.0).ceil.toInt)) - ) - ) - - edges.saveAsCustomOutput( - "Write Edge Records", - DAL.write[Edge]( - InteractionGraphAggDirectInteractionsEdgeDailyScalaDataset, - PathLayout.DailyPath( - pipelineOptions.getOutputPath + "/aggregated_direct_interactions_edge_daily"), - dateInterval, - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards)) - ) - ) - - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsOption.docx b/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..9de9a108cb1d9a4023b8e856fc96ea7c0f2a3dea GIT binary patch literal 37051 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

aS}I76sekTcpy<8AbtC(T7dUUqtZ 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsUtil.scala b/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsUtil.scala deleted file mode 100644 index 1d996116e..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/InteractionGraphAggDirectInteractionsUtil.scala +++ /dev/null @@ -1,168 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_direct_interactions - -import com.spotify.scio.ScioMetrics -import com.spotify.scio.values.SCollection -import com.twitter.interaction_graph.scio.common.FeatureGeneratorUtil -import com.twitter.interaction_graph.scio.common.FeatureKey -import com.twitter.interaction_graph.scio.common.InteractionGraphRawInput -import com.twitter.interaction_graph.scio.common.UserUtil.DUMMY_USER_ID -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.FeatureName -import com.twitter.interaction_graph.thriftscala.Vertex -import com.twitter.timelineservice.thriftscala.ContextualizedFavoriteEvent -import com.twitter.timelineservice.thriftscala.FavoriteEventUnion.Favorite -import com.twitter.tweetsource.common.thriftscala.UnhydratedFlatTweet -import com.twitter.tweetypie.thriftscala.TweetMediaTagEvent - -object InteractionGraphAggDirectInteractionsUtil { - - val DefaultFeatureValue = 1L - - def favouriteFeatures( - rawFavorites: SCollection[ContextualizedFavoriteEvent] - ): SCollection[(FeatureKey, Long)] = { - rawFavorites - .withName("fav features") - .flatMap { event => - event.event match { - case Favorite(e) if e.userId != e.tweetUserId => - ScioMetrics.counter("process", "fav").inc() - Some( - FeatureKey(e.userId, e.tweetUserId, FeatureName.NumFavorites) -> DefaultFeatureValue) - case _ => None - } - } - - } - - def mentionFeatures( - tweetSource: SCollection[UnhydratedFlatTweet] - ): SCollection[(FeatureKey, Long)] = { - tweetSource - .withName("mention features") - .flatMap { - case s if s.shareSourceTweetId.isEmpty => // only for non-retweets - s.atMentionedUserIds - .map { users => - users.toSet.map { uid: Long => - ScioMetrics.counter("process", "mention").inc() - FeatureKey(s.userId, uid, FeatureName.NumMentions) -> DefaultFeatureValue - }.toSeq - } - .getOrElse(Nil) - case _ => - Nil - } - } - - def photoTagFeatures( - rawPhotoTags: SCollection[TweetMediaTagEvent] - ): SCollection[(FeatureKey, Long)] = { - rawPhotoTags - .withName("photo tag features") - .flatMap { p => - p.taggedUserIds.map { (p.userId, _) } - } - .collect { - case (src, dst) if src != dst => - ScioMetrics.counter("process", "photo tag").inc() - FeatureKey(src, dst, FeatureName.NumPhotoTags) -> DefaultFeatureValue - } - } - - def retweetFeatures( - tweetSource: SCollection[UnhydratedFlatTweet] - ): SCollection[(FeatureKey, Long)] = { - tweetSource - .withName("retweet features") - .collect { - case s if s.shareSourceUserId.exists(_ != s.userId) => - ScioMetrics.counter("process", "share tweet").inc() - FeatureKey( - s.userId, - s.shareSourceUserId.get, - FeatureName.NumRetweets) -> DefaultFeatureValue - } - } - - def quotedTweetFeatures( - tweetSource: SCollection[UnhydratedFlatTweet] - ): SCollection[(FeatureKey, Long)] = { - tweetSource - .withName("quoted tweet features") - .collect { - case t if t.quotedTweetUserId.isDefined => - ScioMetrics.counter("process", "quote tweet").inc() - FeatureKey( - t.userId, - t.quotedTweetUserId.get, - FeatureName.NumTweetQuotes) -> DefaultFeatureValue - } - } - - def replyTweetFeatures( - tweetSource: SCollection[UnhydratedFlatTweet] - ): SCollection[(FeatureKey, Long)] = { - tweetSource - .withName("reply tweet features") - .collect { - case t if t.inReplyToUserId.isDefined => - ScioMetrics.counter("process", "reply tweet").inc() - FeatureKey(t.userId, t.inReplyToUserId.get, FeatureName.NumReplies) -> DefaultFeatureValue - } - } - - // we create edges to a dummy user id since creating a tweet has no destination id - def createTweetFeatures( - tweetSource: SCollection[UnhydratedFlatTweet] - ): SCollection[(FeatureKey, Long)] = { - tweetSource.withName("create tweet features").map { tweet => - ScioMetrics.counter("process", "create tweet").inc() - FeatureKey(tweet.userId, DUMMY_USER_ID, FeatureName.NumCreateTweets) -> DefaultFeatureValue - } - } - - def process( - rawFavorites: SCollection[ContextualizedFavoriteEvent], - tweetSource: SCollection[UnhydratedFlatTweet], - rawPhotoTags: SCollection[TweetMediaTagEvent], - safeUsers: SCollection[Long] - ): (SCollection[Vertex], SCollection[Edge]) = { - val favouriteInput = favouriteFeatures(rawFavorites) - val mentionInput = mentionFeatures(tweetSource) - val photoTagInput = photoTagFeatures(rawPhotoTags) - val retweetInput = retweetFeatures(tweetSource) - val quotedTweetInput = quotedTweetFeatures(tweetSource) - val replyInput = replyTweetFeatures(tweetSource) - val createTweetInput = createTweetFeatures(tweetSource) - - val allInput = SCollection.unionAll( - Seq( - favouriteInput, - mentionInput, - photoTagInput, - retweetInput, - quotedTweetInput, - replyInput, - createTweetInput - )) - - val filteredFeatureInput = allInput - .keyBy(_._1.src) - .intersectByKey(safeUsers) // filter for safe users - .values - .collect { - case (FeatureKey(src, dst, feature), featureValue) if src != dst => - FeatureKey(src, dst, feature) -> featureValue - } - .sumByKey - .map { - case (FeatureKey(src, dst, feature), featureValue) => - val age = 1 - InteractionGraphRawInput(src, dst, feature, age, featureValue) - } - - FeatureGeneratorUtil.getFeatures(filteredFeatureInput) - } - -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/README.docx b/src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..de2e6d502dab4749dbd667e15311a05a5c86a341 GIT binary patch literal 37048 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

%A3MjSBP6$?;0UKKD;(5cI=k(Gy^n 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockJob.scala b/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockJob.scala deleted file mode 100644 index e0a9f934d..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockJob.scala +++ /dev/null @@ -1,84 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_flock - -import com.spotify.scio.ScioContext -import com.spotify.scio.values.SCollection -import com.twitter.beam.io.dal.DAL -import com.twitter.beam.io.dal.DAL.DiskFormat -import com.twitter.beam.io.dal.DAL.PathLayout -import com.twitter.beam.io.dal.DAL.WriteOptions -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.interaction_graph.scio.agg_flock.InteractionGraphAggFlockUtil._ -import com.twitter.interaction_graph.scio.common.DateUtil -import com.twitter.interaction_graph.scio.common.FeatureGeneratorUtil -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.FeatureName -import com.twitter.interaction_graph.thriftscala.Vertex -import com.twitter.scio_internal.job.ScioBeamJob -import com.twitter.statebird.v2.thriftscala.Environment -import com.twitter.util.Duration -import java.time.Instant -import org.joda.time.Interval - -object InteractionGraphAggFlockJob extends ScioBeamJob[InteractionGraphAggFlockOption] { - override protected def configurePipeline( - scioContext: ScioContext, - pipelineOptions: InteractionGraphAggFlockOption - ): Unit = { - @transient - implicit lazy val sc: ScioContext = scioContext - implicit lazy val dateInterval: Interval = pipelineOptions.interval - - val source = InteractionGraphAggFlockSource(pipelineOptions) - - val embiggenInterval = DateUtil.embiggen(dateInterval, Duration.fromDays(7)) - - val flockFollowsSnapshot = source.readFlockFollowsSnapshot(embiggenInterval) - - // the flock snapshot we're reading from has already been filtered for safe/valid users hence no filtering for safeUsers - val flockFollowsFeature = - getFlockFeatures(flockFollowsSnapshot, FeatureName.NumFollows, dateInterval) - - val flockMutualFollowsFeature = getMutualFollowFeature(flockFollowsFeature) - - val allSCollections = Seq(flockFollowsFeature, flockMutualFollowsFeature) - - val allFeatures = SCollection.unionAll(allSCollections) - - val (vertex, edges) = FeatureGeneratorUtil.getFeatures(allFeatures) - - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - val dalWriteEnvironment = if (pipelineOptions.getDALWriteEnvironment != null) { - pipelineOptions.getDALWriteEnvironment - } else { - dalEnvironment - } - - vertex.saveAsCustomOutput( - "Write Vertex Records", - DAL.writeSnapshot[Vertex]( - InteractionGraphAggFlockVertexSnapshotScalaDataset, - PathLayout.DailyPath(pipelineOptions.getOutputPath + "/aggregated_flock_vertex_daily"), - Instant.ofEpochMilli(dateInterval.getEndMillis), - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = - WriteOptions(numOfShards = Some((pipelineOptions.getNumberOfShards / 64.0).ceil.toInt)) - ) - ) - - edges.saveAsCustomOutput( - "Write Edge Records", - DAL.writeSnapshot[Edge]( - InteractionGraphAggFlockEdgeSnapshotScalaDataset, - PathLayout.DailyPath(pipelineOptions.getOutputPath + "/aggregated_flock_edge_daily"), - Instant.ofEpochMilli(dateInterval.getEndMillis), - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards)) - ) - ) - - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockOption.docx b/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..dfdc8fa22bc3bbebee945e283121f63a74640670 GIT binary patch literal 37047 zcmagFWmp~Awl<2pdvJGmcL)S`m!Lrx5*!vD+yex6cXxLW!QFxccb9LayZ7GR`_3~^e>PJ0 za4>f^V0O2&ZAes5S`kJ2a`u9q#3D@UC4q`vy6r&gz!--wS(SFftFy>*A`kI!H_jiX zF|8Z|!yK2Ma_2+5QY+Ny-AJt`A$ek8kgkI{;JN zobLT@iW{7Dr@D{d2qXARJX<#)QTqWbnx-N~6N6+h7*17a6gspjZ<;5kox(v~^>CPG zhvC!isIu$JxUU=egM^<{=F1{8wPuD*8bYf-@3%1Ha}DV)#`W?2&NZ$R40TSH8jiIq zJq0N4gNOjMA3yE7ncc>;I1XWIOCqn;bk{MggMXd?Y=Wq(XAU4UwchLnvX53Y89ue^ z>O`yiSRDq+;CtRlprjvl2hh>fkr{l2No8-3sqhZE>$|(7D~O>Kepn1Oyqld-up8I# z8%F)Yr6E$I+9np0G{V8h^X7OcLGE*t9i+F!C#mSuE@>o0>o3~xb$@~KwD%Eu8Sfs+ zzw%DzxubB`WhEfjRGu-3PVXg=C?CBm?&Fi!BVtk6J4xZ5=Y^uRU6Ii{^4upZ1w%09 ze{|7f1p&wy6;}6eyzR)OXw#nxw)E>zD(2bakiGVwK{OM)YH`mOtfS4^IFym7EL$ryx(J@q?pk1oV0LR4^;7Wm?A!A ztw}!9ZHQU)fg73D<39UmfkM9^s#$?f^J!3l&_M+<1DGm10UVrJOaV^jzfbav_%X#k zRy3(QZ>d=Y&9EypI4N0r@Wb#AGFbkLEw`Lp3btdJ+!Gr+`F6V546ei*0z+30!fQMY zO^~L+@xde^acBN!;fOleuPY`vt52Cy^n4YGLA__)k29Clmi(rp-4QDINC?%Lkg{oP z2J-Wv{1pAQT%5CCCdo3IRSR_hQHE?yz;ra_0jZ_%@;_diyU

BzTO?$-=edBwJG4YGq?>V*czy1@B=~1vu2)uY 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockOption.scala b/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockOption.scala deleted file mode 100644 index f5ef58b55..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockOption.scala +++ /dev/null @@ -1,24 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_flock - -import com.twitter.beam.io.dal.DALOptions -import com.twitter.beam.job.DateRangeOptions -import org.apache.beam.sdk.options.Default -import org.apache.beam.sdk.options.Description -import org.apache.beam.sdk.options.Validation.Required - -trait InteractionGraphAggFlockOption extends DALOptions with DateRangeOptions { - @Required - @Description("Output path for storing the final dataset") - def getOutputPath: String - def setOutputPath(value: String): Unit - - @Description("Indicates DAL write environment. Can be set to dev/stg during local validation") - @Default.String("PROD") - def getDALWriteEnvironment: String - def setDALWriteEnvironment(value: String): Unit - - @Description("Number of shards/partitions for saving the final dataset.") - @Default.Integer(16) - def getNumberOfShards: Integer - def setNumberOfShards(value: Integer): Unit -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockSource.docx b/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..af0ac9daad6f1acb32a532cb331a7edc6ce2d49e GIT binary patch literal 37077 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 T3d}*ETqVem2+SUFJs=(cqQg4x literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockSource.scala b/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockSource.scala deleted file mode 100644 index 726293475..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockSource.scala +++ /dev/null @@ -1,24 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_flock - -import com.spotify.scio.ScioContext -import com.spotify.scio.values.SCollection -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.flockdb.tools.datasets.flock.thriftscala.FlockEdge -import com.twitter.cde.scio.dal_read.SourceUtil -import com.twitter.wtf.dataflow.user_events.ValidUserFollowsScalaDataset -import org.joda.time.Interval - -case class InteractionGraphAggFlockSource( - pipelineOptions: InteractionGraphAggFlockOption -)( - implicit sc: ScioContext) { - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - - def readFlockFollowsSnapshot(dateInterval: Interval): SCollection[FlockEdge] = - SourceUtil.readMostRecentSnapshotDALDataset( - dataset = ValidUserFollowsScalaDataset, - dateInterval = dateInterval, - dalEnvironment = dalEnvironment) -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockUtil.docx b/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..8b7d8a9cd484db84dd268509c0514ee39e6dfcb2 GIT binary patch literal 37639 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockUtil.scala b/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockUtil.scala deleted file mode 100644 index 89858a89a..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_flock/InteractionGraphAggFlockUtil.scala +++ /dev/null @@ -1,63 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_flock - -import com.spotify.scio.values.SCollection -import com.twitter.algebird.Min -import com.twitter.flockdb.tools.datasets.flock.thriftscala.FlockEdge -import com.twitter.interaction_graph.scio.common.InteractionGraphRawInput -import com.twitter.interaction_graph.thriftscala.FeatureName -import java.time.Instant -import java.time.temporal.ChronoUnit -import org.joda.time.Interval - -object InteractionGraphAggFlockUtil { - - def getFlockFeatures( - edges: SCollection[FlockEdge], - featureName: FeatureName, - dateInterval: Interval - ): SCollection[InteractionGraphRawInput] = { - edges - .withName(s"${featureName.toString} - Converting flock edge to interaction graph input") - .map { edge => - // NOTE: getUpdatedAt gives time in the seconds resolution - // Because we use .extend() when reading the data source, the updatedAt time might be larger than the dateRange. - // We need to cap them, otherwise, DateUtil.diffDays gives incorrect results. - val start = (edge.updatedAt * 1000L).min(dateInterval.getEnd.toInstant.getMillis) - val end = dateInterval.getStart.toInstant.getMillis - val age = ChronoUnit.DAYS.between( - Instant.ofEpochMilli(start), - Instant.ofEpochMilli(end) - ) + 1 - InteractionGraphRawInput(edge.sourceId, edge.destinationId, featureName, age.toInt, 1.0) - } - - } - - def getMutualFollowFeature( - flockFollowFeature: SCollection[InteractionGraphRawInput] - ): SCollection[InteractionGraphRawInput] = { - flockFollowFeature - .withName("Convert FlockFollows to Mutual Follows") - .map { input => - val sourceId = input.src - val destId = input.dst - - if (sourceId < destId) { - Tuple2(sourceId, destId) -> Tuple2(Set(true), Min(input.age)) // true means follow - } else { - Tuple2(destId, sourceId) -> Tuple2(Set(false), Min(input.age)) // false means followed_by - } - } - .sumByKey - .flatMap { - case ((id1, id2), (followSet, minAge)) if followSet.size == 2 => - val age = minAge.get - Seq( - InteractionGraphRawInput(id1, id2, FeatureName.NumMutualFollows, age, 1.0), - InteractionGraphRawInput(id2, id1, FeatureName.NumMutualFollows, age, 1.0)) - case _ => - Nil - } - } - -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_flock/README.docx b/src/scala/com/twitter/interaction_graph/scio/agg_flock/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..14af45521bbe72d7b27bc62f4f06da748b6e288b GIT binary patch literal 37041 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 WMtbzX2>LdvI6w}-@K{X$w)H>cj_O1J literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeJob.scala b/src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeJob.scala deleted file mode 100644 index 479b67524..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeJob.scala +++ /dev/null @@ -1,155 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_negative - -import com.google.api.services.bigquery.model.TimePartitioning -import com.spotify.scio.ScioContext -import com.spotify.scio.values.SCollection -import com.twitter.algebird.mutable.PriorityQueueMonoid -import com.twitter.beam.io.dal.DAL -import com.twitter.beam.io.fs.multiformat.PathLayout -import com.twitter.beam.io.fs.multiformat.WriteOptions -import com.twitter.conversions.DurationOps._ -import com.twitter.dal.client.dataset.SnapshotDALDataset -import com.twitter.interaction_graph.scio.common.ConversionUtil.hasNegativeFeatures -import com.twitter.interaction_graph.scio.common.ConversionUtil.toRealGraphEdgeFeatures -import com.twitter.interaction_graph.scio.common.FeatureGeneratorUtil.getEdgeFeature -import com.twitter.interaction_graph.scio.common.GraphUtil -import com.twitter.interaction_graph.scio.common.InteractionGraphRawInput -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.FeatureName -import com.twitter.scalding_internal.multiformat.format.keyval.KeyVal -import com.twitter.scio_internal.job.ScioBeamJob -import com.twitter.scrooge.ThriftStruct -import com.twitter.socialgraph.hadoop.SocialgraphUnfollowsScalaDataset -import com.twitter.tcdc.bqblaster.beam.syntax._ -import com.twitter.tcdc.bqblaster.core.avro.TypedProjection -import com.twitter.tcdc.bqblaster.core.transform.RootTransform -import com.twitter.timelines.real_graph.thriftscala.RealGraphFeaturesTest -import com.twitter.timelines.real_graph.v1.thriftscala.{RealGraphFeatures => RealGraphFeaturesV1} -import com.twitter.user_session_store.thriftscala.UserSession -import flockdb_tools.datasets.flock.FlockBlocksEdgesScalaDataset -import flockdb_tools.datasets.flock.FlockMutesEdgesScalaDataset -import flockdb_tools.datasets.flock.FlockReportAsAbuseEdgesScalaDataset -import flockdb_tools.datasets.flock.FlockReportAsSpamEdgesScalaDataset -import java.time.Instant -import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO - -object InteractionGraphNegativeJob extends ScioBeamJob[InteractionGraphNegativeOption] { - val maxDestinationIds = 500 // p99 is about 500 - def getFeatureCounts(e: Edge): Int = e.features.size - val negativeEdgeOrdering = Ordering.by[Edge, Int](getFeatureCounts) - val negativeEdgeReverseOrdering = negativeEdgeOrdering.reverse - implicit val pqMonoid: PriorityQueueMonoid[Edge] = - new PriorityQueueMonoid[Edge](maxDestinationIds)(negativeEdgeOrdering) - - override protected def configurePipeline( - sc: ScioContext, - opts: InteractionGraphNegativeOption - ): Unit = { - - val endTs = opts.interval.getEndMillis - - // read input datasets - val blocks: SCollection[InteractionGraphRawInput] = - GraphUtil.getFlockFeatures( - readSnapshot(FlockBlocksEdgesScalaDataset, sc), - FeatureName.NumBlocks, - endTs) - - val mutes: SCollection[InteractionGraphRawInput] = - GraphUtil.getFlockFeatures( - readSnapshot(FlockMutesEdgesScalaDataset, sc), - FeatureName.NumMutes, - endTs) - - val abuseReports: SCollection[InteractionGraphRawInput] = - GraphUtil.getFlockFeatures( - readSnapshot(FlockReportAsAbuseEdgesScalaDataset, sc), - FeatureName.NumReportAsAbuses, - endTs) - - val spamReports: SCollection[InteractionGraphRawInput] = - GraphUtil.getFlockFeatures( - readSnapshot(FlockReportAsSpamEdgesScalaDataset, sc), - FeatureName.NumReportAsSpams, - endTs) - - // we only keep unfollows in the past 90 days due to the huge size of this dataset, - // and to prevent permanent "shadow-banning" in the event of accidental unfollows. - // we treat unfollows as less critical than above 4 negative signals, since it deals more with - // interest than health typically, which might change over time. - val unfollows: SCollection[InteractionGraphRawInput] = - GraphUtil - .getSocialGraphFeatures( - readSnapshot(SocialgraphUnfollowsScalaDataset, sc), - FeatureName.NumUnfollows, - endTs) - .filter(_.age < 90) - - // group all features by (src, dest) - val allEdgeFeatures: SCollection[Edge] = - getEdgeFeature(SCollection.unionAll(Seq(blocks, mutes, abuseReports, spamReports, unfollows))) - - val negativeFeatures: SCollection[KeyVal[Long, UserSession]] = - allEdgeFeatures - .keyBy(_.sourceId) - .topByKey(maxDestinationIds)(Ordering.by(_.features.size)) - .map { - case (srcId, pqEdges) => - val topKNeg = - pqEdges.toSeq.flatMap(toRealGraphEdgeFeatures(hasNegativeFeatures)) - KeyVal( - srcId, - UserSession( - userId = Some(srcId), - realGraphFeaturesTest = - Some(RealGraphFeaturesTest.V1(RealGraphFeaturesV1(topKNeg))))) - } - - // save to GCS (via DAL) - negativeFeatures.saveAsCustomOutput( - "Write Negative Edge Label", - DAL.writeVersionedKeyVal( - dataset = RealGraphNegativeFeaturesScalaDataset, - pathLayout = PathLayout.VersionedPath(opts.getOutputPath), - instant = Instant.ofEpochMilli(opts.interval.getEndMillis), - writeOption = WriteOptions(numOfShards = Some(3000)) - ) - ) - - // save to BQ - val ingestionDate = opts.getDate().value.getStart.toDate - val bqDataset = opts.getBqDataset - val bqFieldsTransform = RootTransform - .Builder() - .withPrependedFields("dateHour" -> TypedProjection.fromConstant(ingestionDate)) - val timePartitioning = new TimePartitioning() - .setType("DAY").setField("dateHour").setExpirationMs(21.days.inMilliseconds) - val bqWriter = BigQueryIO - .write[Edge] - .to(s"${bqDataset}.interaction_graph_agg_negative_edge_snapshot") - .withExtendedErrorInfo() - .withTimePartitioning(timePartitioning) - .withLoadJobProjectId("twttr-recos-ml-prod") - .withThriftSupport(bqFieldsTransform.build(), AvroConverter.Legacy) - .withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED) - .withWriteDisposition( - BigQueryIO.Write.WriteDisposition.WRITE_TRUNCATE - ) // we only want the latest snapshot - - allEdgeFeatures - .saveAsCustomOutput( - s"Save Recommendations to BQ interaction_graph_agg_negative_edge_snapshot", - bqWriter - ) - } - - def readSnapshot[T <: ThriftStruct]( - dataset: SnapshotDALDataset[T], - sc: ScioContext - ): SCollection[T] = { - sc.customInput( - s"Reading most recent snaphost ${dataset.role.name}.${dataset.logicalName}", - DAL.readMostRecentSnapshotNoOlderThan[T](dataset, 7.days) - ) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeOption.docx b/src/scala/com/twitter/interaction_graph/scio/agg_negative/InteractionGraphNegativeOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..659bb48b8acf54aa45cf8109ce70cda10390dea4 GIT binary patch literal 36914 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 - ScioMetrics.counter("regex matching", "status_id=").inc() - Some(statusId.toLong) - case TWEET_ID_REGEX(tweetId) => - ScioMetrics.counter("regex matching", "tweet?id=").inc() - Some(tweetId.toLong) - case _ => None - } - - def getPushNtabEvents(e: LogEvent): Seq[(Long, (Long, FeatureName))] = { - for { - logBase <- e.logBase.toSeq - userId <- logBase.userId.toSeq - namespace <- e.eventNamespace.toSeq - (tweetId, featureName) <- namespace match { - case EventNamespace(_, _, _, _, _, Some(action)) if PUSH_OPEN_ACTIONS.contains(action) => - (for { - details <- e.eventDetails - url <- details.url - tweetId <- extractTweetIdFromUrl(url) - } yield { - ScioMetrics.counter("event type", "push open").inc() - (tweetId, FeatureName.NumPushOpens) - }).toSeq - case EventNamespace(_, Some("ntab"), _, _, _, Some("navigate")) => - val tweetIds = for { - details <- e.eventDetails.toSeq - items <- details.items.toSeq - item <- items - ntabDetails <- item.notificationTabDetails.toSeq - clientEventMetadata <- ntabDetails.clientEventMetadata.toSeq - tweetIds <- clientEventMetadata.tweetIds.toSeq - tweetId <- tweetIds - } yield { - ScioMetrics.counter("event type", "ntab navigate").inc() - tweetId - } - tweetIds.map((_, FeatureName.NumNtabClicks)) - case EventNamespace(_, Some("ntab"), _, _, _, Some("click")) => - val tweetIds = for { - details <- e.eventDetails.toSeq - items <- details.items.toSeq - item <- items - tweetId <- item.id - } yield { - ScioMetrics.counter("event type", "ntab click").inc() - tweetId - } - tweetIds.map((_, FeatureName.NumNtabClicks)) - case _ => Nil - } - } yield (tweetId, (userId, featureName)) - } - - /** - * Returns events corresponding to ntab clicks. We have the tweet id from ntab clicks and can join - * those with public tweets. - */ - def getNtabEvents(e: LogEvent): Seq[(Long, (Long, FeatureName))] = { - for { - logBase <- e.logBase.toSeq - userId <- logBase.userId.toSeq - namespace <- e.eventNamespace.toSeq - (tweetId, featureName) <- namespace match { - case EventNamespace(_, Some("ntab"), _, _, _, Some("navigate")) => - val tweetIds = for { - details <- e.eventDetails.toSeq - items <- details.items.toSeq - item <- items - ntabDetails <- item.notificationTabDetails.toSeq - clientEventMetadata <- ntabDetails.clientEventMetadata.toSeq - tweetIds <- clientEventMetadata.tweetIds.toSeq - tweetId <- tweetIds - } yield { - ScioMetrics.counter("event type", "ntab navigate").inc() - tweetId - } - tweetIds.map((_, FeatureName.NumNtabClicks)) - case EventNamespace(_, Some("ntab"), _, _, _, Some("click")) => - val tweetIds = for { - details <- e.eventDetails.toSeq - items <- details.items.toSeq - item <- items - tweetId <- item.id - } yield { - ScioMetrics.counter("event type", "ntab click").inc() - tweetId - } - tweetIds.map((_, FeatureName.NumNtabClicks)) - case _ => Nil - } - } yield (tweetId, (userId, featureName)) - } - - /** - * get push open events, keyed by impressionId (as the client event does not always have the tweetId nor the authorId) - */ - def getPushOpenEvents(e: LogEvent): Seq[(String, (Long, FeatureName))] = { - for { - logBase <- e.logBase.toSeq - userId <- logBase.userId.toSeq - namespace <- e.eventNamespace.toSeq - (tweetId, featureName) <- namespace match { - case EventNamespace(_, _, _, _, _, Some(action)) if PUSH_OPEN_ACTIONS.contains(action) => - val impressionIdOpt = for { - details <- e.notificationDetails - impressionId <- details.impressionId - } yield { - ScioMetrics.counter("event type", "push open").inc() - impressionId - } - impressionIdOpt.map((_, FeatureName.NumPushOpens)).toSeq - case _ => Nil - } - } yield (tweetId, (userId, featureName)) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsJob.docx b/src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsJob.docx new file mode 100644 index 0000000000000000000000000000000000000000..5f5b8237a57e51d92771f0c78af9ab7e40fbf9e4 GIT binary patch literal 37888 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

d3sNNpd4qUhn;d#m~ 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 z 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsJob.scala b/src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsJob.scala deleted file mode 100644 index 2a01988be..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsJob.scala +++ /dev/null @@ -1,86 +0,0 @@ -package com.twitter.interaction_graph.scio.agg_notifications - -import com.spotify.scio.ScioContext -import com.spotify.scio.values.SCollection -import com.twitter.beam.io.dal.DAL -import com.twitter.beam.io.fs.multiformat.DiskFormat -import com.twitter.beam.io.fs.multiformat.PathLayout -import com.twitter.beam.io.fs.multiformat.ReadOptions -import com.twitter.beam.io.fs.multiformat.WriteOptions -import com.twitter.client_event_filtering.FrigateFilteredClientEventsDataflowScalaDataset -import com.twitter.clientapp.thriftscala.LogEvent -import com.twitter.interaction_graph.scio.common.FeatureGeneratorUtil -import com.twitter.interaction_graph.thriftscala._ -import com.twitter.scio_internal.job.ScioBeamJob -import com.twitter.statebird.v2.thriftscala.Environment -import com.twitter.tweetsource.public_tweets.PublicTweetsScalaDataset - -object InteractionGraphNotificationsJob extends ScioBeamJob[InteractionGraphNotificationsOption] { - override protected def configurePipeline( - sc: ScioContext, - opts: InteractionGraphNotificationsOption - ): Unit = { - - val pushClientEvents: SCollection[LogEvent] = sc - .customInput( - name = "Read Push Client Events", - DAL - .read( - FrigateFilteredClientEventsDataflowScalaDataset, - opts.interval, - DAL.Environment.Prod, - ) - ) - val pushNtabEvents = - pushClientEvents.flatMap(InteractionGraphNotificationUtil.getPushNtabEvents) - - // look back tweets for 2 days because MR gets tweets from 2 days ago. - // Allow a grace period of 24 hours to reduce oncall workload - val graceHours = 24 - val interval2DaysBefore = - opts.interval.withStart(opts.interval.getStart.minusDays(2).plusHours(graceHours)) - val tweetAuthors: SCollection[(Long, Long)] = sc - .customInput( - name = "Read Tweets", - DAL - .read( - dataset = PublicTweetsScalaDataset, - interval = interval2DaysBefore, - environmentOverride = DAL.Environment.Prod, - readOptions = ReadOptions(projections = Some(Seq("tweetId", "userId"))) - ) - ).map { t => (t.tweetId, t.userId) } - - val pushNtabEdgeCounts = pushNtabEvents - .join(tweetAuthors) - .map { - case (_, ((srcId, feature), destId)) => ((srcId, destId, feature), 1L) - } - .withName("summing edge feature counts") - .sumByKey - - val aggPushEdges = pushNtabEdgeCounts - .map { - case ((srcId, destId, featureName), count) => - (srcId, destId) -> Seq( - EdgeFeature(featureName, FeatureGeneratorUtil.initializeTSS(count))) - } - .sumByKey - .map { - case ((srcId, destId), edgeFeatures) => - Edge(srcId, destId, None, edgeFeatures.sortBy(_.name.value)) - } - - aggPushEdges.saveAsCustomOutput( - "Write Edge Records", - DAL.write[Edge]( - InteractionGraphAggNotificationsEdgeDailyScalaDataset, - PathLayout.DailyPath(opts.getOutputPath + "/aggregated_notifications_edge_daily"), - opts.interval, - DiskFormat.Parquet, - Environment.valueOf(opts.getDALWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(opts.getNumberOfShards)) - ) - ) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsOption.docx b/src/scala/com/twitter/interaction_graph/scio/agg_notifications/InteractionGraphNotificationsOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..bc002c17d8f30ee10bea07448724224de58f1987 GIT binary patch literal 37044 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/agg_notifications/README.md b/src/scala/com/twitter/interaction_graph/scio/agg_notifications/README.md deleted file mode 100644 index f5f274ad8..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/agg_notifications/README.md +++ /dev/null @@ -1,34 +0,0 @@ -## InteractionGraphClientEventLogs Dataflow Job - -#### IntelliJ -``` -fastpass create --name rg_labels --intellij src/scala/com/twitter/interaction_graph/scio/agg_notifications -``` - -#### Compile -``` -bazel build src/scala/com/twitter/interaction_graph/scio/agg_notifications:interaction_graph_notifications_scio -``` - -#### Build Jar -``` -bazel bundle src/scala/com/twitter/interaction_graph/scio/agg_notifications:interaction_graph_notifications_scio -``` - -#### Run Scheduled Job -``` -export PROJECTID=twttr-recos-ml-prod -export REGION=us-central1 -export JOB_NAME=interaction-graph-notifications-dataflow - -bin/d6w schedule \ - ${PROJECTID}/${REGION}/${JOB_NAME} \ - src/scala/com/twitter/interaction_graph/scio/agg_notifications/config.d6w \ - --bind=profile.user_name=cassowary \ - --bind=profile.project=${PROJECTID} \ - --bind=profile.region=${REGION} \ - --bind=profile.job_name=${JOB_NAME} \ - --bind=profile.environment=prod \ - --bind=profile.date=2022-05-10 \ - --bind=profile.output_path=processed/interaction_graph_agg_notifications_dataflow -``` diff --git a/src/scala/com/twitter/interaction_graph/scio/common/BUILD b/src/scala/com/twitter/interaction_graph/scio/common/BUILD deleted file mode 100644 index 4916728c5..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/common/BUILD +++ /dev/null @@ -1,31 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/algebird:core", - "beam-internal/src/main/scala/com/twitter/beam/io/dal", - "beam-internal/src/main/scala/com/twitter/scio_internal/job", - "beam-internal/src/main/scala/com/twitter/scio_internal/runner/dataflow", - "flockdb-tools/datasets/flock/src/main/thrift:thrift-scala", - "src/scala/com/twitter/pluck/source/combined_user_scrooge_source", - "src/thrift/com/twitter/gizmoduck:user-thrift-scala", - "src/thrift/com/twitter/interaction_graph:interaction_graph-scala", - "src/thrift/com/twitter/socialgraph:thrift-scala", - "src/thrift/com/twitter/twadoop/user/gen:gen-scala", - "src/thrift/com/twitter/user_session_store:thrift-scala", - "usersource/snapshot/src/main/scala/com/twitter/usersource/snapshot/flat:usersource_flat-scala", - ], -) - -scala_library( - name = "feature_groups", - sources = ["FeatureGroups.scala"], - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-scala", - ], -) diff --git a/src/scala/com/twitter/interaction_graph/scio/common/BUILD.docx b/src/scala/com/twitter/interaction_graph/scio/common/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..b2167503ccae4a9985ee61862c222a1496b98cc8 GIT binary patch literal 37040 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 z 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/common/CaseClasses.docx b/src/scala/com/twitter/interaction_graph/scio/common/CaseClasses.docx new file mode 100644 index 0000000000000000000000000000000000000000..9744a6eb9a1f11660389dd5c7624f65587d174a2 GIT binary patch literal 36955 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%0AAXNU->cg77B|<%WY0Ln@K?mHMlTy3sX7q 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

ajK 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/common/ConversionUtil.scala b/src/scala/com/twitter/interaction_graph/scio/common/ConversionUtil.scala deleted file mode 100644 index a23816078..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/common/ConversionUtil.scala +++ /dev/null @@ -1,110 +0,0 @@ -package com.twitter.interaction_graph.scio.common - -import com.spotify.scio.ScioMetrics -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.FeatureName -import com.twitter.interaction_graph.thriftscala.TimeSeriesStatistics -import com.twitter.timelines.real_graph.v1.thriftscala.RealGraphEdgeFeatures -import com.twitter.timelines.real_graph.v1.thriftscala.{ - RealGraphEdgeFeature => RealGraphEdgeFeatureV1 -} - -object ConversionUtil { - def toRealGraphEdgeFeatureV1(tss: TimeSeriesStatistics): RealGraphEdgeFeatureV1 = { - RealGraphEdgeFeatureV1( - mean = Some(tss.mean), - ewma = Some(tss.ewma), - m2ForVariance = Some(tss.m2ForVariance), - daysSinceLast = tss.numDaysSinceLast.map(_.toShort), - nonZeroDays = Some(tss.numNonZeroDays.toShort), - elapsedDays = Some(tss.numElapsedDays.toShort), - isMissing = Some(false) - ) - } - - /** - * Checks if the converted `RealGraphEdgeFeatures` has negative edges features. - * Our pipeline includes other negative interactions that aren't in the UserSession thrift - * so we'll just filter them away for now (for parity). - */ - def hasNegativeFeatures(rgef: RealGraphEdgeFeatures): Boolean = { - rgef.numMutes.nonEmpty || - rgef.numBlocks.nonEmpty || - rgef.numReportAsAbuses.nonEmpty || - rgef.numReportAsSpams.nonEmpty - } - - /** - * Checks if the converted `RealGraphEdgeFeatures` has some of the key interaction features present. - * This is adapted from timeline's code here: - */ - def hasTimelinesRequiredFeatures(rgef: RealGraphEdgeFeatures): Boolean = { - rgef.retweetsFeature.nonEmpty || - rgef.favsFeature.nonEmpty || - rgef.mentionsFeature.nonEmpty || - rgef.tweetClicksFeature.nonEmpty || - rgef.linkClicksFeature.nonEmpty || - rgef.profileViewsFeature.nonEmpty || - rgef.dwellTimeFeature.nonEmpty || - rgef.inspectedStatusesFeature.nonEmpty || - rgef.photoTagsFeature.nonEmpty || - rgef.numTweetQuotes.nonEmpty || - rgef.followFeature.nonEmpty || - rgef.mutualFollowFeature.nonEmpty || - rgef.addressBookEmailFeature.nonEmpty || - rgef.addressBookPhoneFeature.nonEmpty - } - - /** - * Convert an Edge into a RealGraphEdgeFeature. - * We return the converted RealGraphEdgeFeature when filterFn is true. - * This is to allow us to filter early on during the conversion if required, rather than map over the whole - * collection of records again to filter. - * - * @param filterFn true if and only if we want to keep the converted feature - */ - def toRealGraphEdgeFeatures( - filterFn: RealGraphEdgeFeatures => Boolean - )( - e: Edge - ): Option[RealGraphEdgeFeatures] = { - val baseFeature = RealGraphEdgeFeatures(destId = e.destinationId) - val aggregatedFeature = e.features.foldLeft(baseFeature) { - case (aggregatedFeature, edgeFeature) => - val f = Some(toRealGraphEdgeFeatureV1(edgeFeature.tss)) - ScioMetrics.counter("toRealGraphEdgeFeatures", edgeFeature.name.name).inc() - edgeFeature.name match { - case FeatureName.NumRetweets => aggregatedFeature.copy(retweetsFeature = f) - case FeatureName.NumFavorites => aggregatedFeature.copy(favsFeature = f) - case FeatureName.NumMentions => aggregatedFeature.copy(mentionsFeature = f) - case FeatureName.NumTweetClicks => aggregatedFeature.copy(tweetClicksFeature = f) - case FeatureName.NumLinkClicks => aggregatedFeature.copy(linkClicksFeature = f) - case FeatureName.NumProfileViews => aggregatedFeature.copy(profileViewsFeature = f) - case FeatureName.TotalDwellTime => aggregatedFeature.copy(dwellTimeFeature = f) - case FeatureName.NumInspectedStatuses => - aggregatedFeature.copy(inspectedStatusesFeature = f) - case FeatureName.NumPhotoTags => aggregatedFeature.copy(photoTagsFeature = f) - case FeatureName.NumFollows => aggregatedFeature.copy(followFeature = f) - case FeatureName.NumMutualFollows => aggregatedFeature.copy(mutualFollowFeature = f) - case FeatureName.AddressBookEmail => aggregatedFeature.copy(addressBookEmailFeature = f) - case FeatureName.AddressBookPhone => aggregatedFeature.copy(addressBookPhoneFeature = f) - case FeatureName.AddressBookInBoth => aggregatedFeature.copy(addressBookInBothFeature = f) - case FeatureName.AddressBookMutualEdgeEmail => - aggregatedFeature.copy(addressBookMutualEdgeEmailFeature = f) - case FeatureName.AddressBookMutualEdgePhone => - aggregatedFeature.copy(addressBookMutualEdgePhoneFeature = f) - case FeatureName.AddressBookMutualEdgeInBoth => - aggregatedFeature.copy(addressBookMutualEdgeInBothFeature = f) - case FeatureName.NumTweetQuotes => aggregatedFeature.copy(numTweetQuotes = f) - case FeatureName.NumBlocks => aggregatedFeature.copy(numBlocks = f) - case FeatureName.NumMutes => aggregatedFeature.copy(numMutes = f) - case FeatureName.NumReportAsSpams => aggregatedFeature.copy(numReportAsSpams = f) - case FeatureName.NumReportAsAbuses => aggregatedFeature.copy(numReportAsAbuses = f) - case _ => aggregatedFeature - } - } - if (filterFn(aggregatedFeature)) - Some(aggregatedFeature.copy(weight = e.weight.orElse(Some(0.0)))) - else None - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/common/DateUtil.docx b/src/scala/com/twitter/interaction_graph/scio/common/DateUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..a2eb39c5fb0371a5d47a0081d4aaa9560e4007be GIT binary patch literal 36905 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 tDXLA-P(kTm8v<$ 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 R=*O&L1=#@8!!+f`)j#<)Om_eP literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/common/EdgeFeatureCombiner.scala b/src/scala/com/twitter/interaction_graph/scio/common/EdgeFeatureCombiner.scala deleted file mode 100644 index 004a141bb..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/common/EdgeFeatureCombiner.scala +++ /dev/null @@ -1,350 +0,0 @@ -package com.twitter.interaction_graph.scio.common - -import com.spotify.scio.ScioMetrics -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.EdgeFeature -import com.twitter.interaction_graph.thriftscala.FeatureName -import com.twitter.interaction_graph.thriftscala.TimeSeriesStatistics - -object EdgeFeatureCombiner { - def apply(srcId: Long, destId: Long): EdgeFeatureCombiner = new EdgeFeatureCombiner( - instanceEdge = Edge(srcId, destId), - featureMap = Map( - FeatureName.NumRetweets -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumFavorites -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumMentions -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumTweetClicks -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumLinkClicks -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumProfileViews -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumFollows -> new BooleanOrEdgeCombiner, - FeatureName.NumUnfollows -> new BooleanOrEdgeCombiner, - FeatureName.NumMutualFollows -> new BooleanOrEdgeCombiner, - FeatureName.NumBlocks -> new BooleanOrEdgeCombiner, - FeatureName.NumMutes -> new BooleanOrEdgeCombiner, - FeatureName.NumReportAsAbuses -> new BooleanOrEdgeCombiner, - FeatureName.NumReportAsSpams -> new BooleanOrEdgeCombiner, - FeatureName.NumTweetQuotes -> new WeightedAdditiveEdgeCombiner, - FeatureName.AddressBookEmail -> new BooleanOrEdgeCombiner, - FeatureName.AddressBookPhone -> new BooleanOrEdgeCombiner, - FeatureName.AddressBookInBoth -> new BooleanOrEdgeCombiner, - FeatureName.AddressBookMutualEdgeEmail -> new BooleanOrEdgeCombiner, - FeatureName.AddressBookMutualEdgePhone -> new BooleanOrEdgeCombiner, - FeatureName.AddressBookMutualEdgeInBoth -> new BooleanOrEdgeCombiner, - FeatureName.TotalDwellTime -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumInspectedStatuses -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumPhotoTags -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumPushOpens -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumNtabClicks -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumRtMentions -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumRtReplies -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumRtRetweets -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumRtFavories -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumRtLinkClicks -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumRtTweetClicks -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumRtTweetQuotes -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumShares -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumEmailOpen -> new WeightedAdditiveEdgeCombiner, - FeatureName.NumEmailClick -> new WeightedAdditiveEdgeCombiner, - ) - ) -} - -/** - * This class can take in a number of input Edge thrift objects, (all of which are assumed to - * contain information about a single edge) and builds a combined Edge protobuf object, which has - * the union of all the input. - *

- * There are two modes of aggregation: one of them just adds the values in assuming that these are - * from the same day, and the other adds them in a time-decayed manner using the passed in weights. - *

- * The input objects features must be disjoint. Also, remember that the edge is directed! - */ -class EdgeFeatureCombiner(instanceEdge: Edge, featureMap: Map[FeatureName, EFeatureCombiner]) { - - /** - * Adds features without any decay. To be used for the same day. - * - * @param edge edge to be added into the combiner - */ - def addFeature(edge: Edge): EdgeFeatureCombiner = { - - val newEdge = - if (edge.weight.isDefined) instanceEdge.copy(weight = edge.weight) else instanceEdge - val newFeatures = featureMap.map { - case (featureName, combiner) => - edge.features.find(_.name.equals(featureName)) match { - case Some(feature) => - val updatedCombiner = - if (combiner.isSet) combiner.updateFeature(feature) else combiner.setFeature(feature) - (featureName, updatedCombiner) - case _ => (featureName, combiner) - } - } - - new EdgeFeatureCombiner(newEdge, newFeatures) - - } - - /** - * Adds features with decays. Used for combining multiple days. - * - * @param edge edge to be added into the combiner - * @param alpha parameters for the decay calculation - * @param day number of days from today - */ - def addFeature(edge: Edge, alpha: Double, day: Int): EdgeFeatureCombiner = { - - val newEdge = if (edge.weight.isDefined) edge.copy(weight = edge.weight) else edge - val newFeatures = featureMap.map { - case (featureName, combiner) => - edge.features.find(_.name.equals(featureName)) match { - case Some(feature) => - val updatedCombiner = - if (combiner.isSet) combiner.updateFeature(feature, alpha, day) - else combiner.setFeature(feature, alpha, day) - ScioMetrics.counter("EdgeFeatureCombiner.addFeature", feature.name.name).inc() - (featureName, updatedCombiner) - case _ => (featureName, combiner) - } - } - new EdgeFeatureCombiner(newEdge, newFeatures) - } - - /** - * Generate the final combined Edge instance - * We return a deterministically sorted list of edge features - * - * @param totalDays total number of days to be combined together - */ - def getCombinedEdge(totalDays: Int): Edge = { - val moreFeatures = featureMap.values - .flatMap { combiner => - combiner.getFinalFeature(totalDays) - }.toList.sortBy(_.name.value) - instanceEdge.copy( - features = moreFeatures - ) - } - -} - -/** - * This portion contains the actual combination logic. For now, we only implement a simple - * additive combiner, but in future we'd like to have things like time-weighted (exponential - * decay, maybe) values. - */ - -trait EFeatureCombiner { - val edgeFeature: Option[EdgeFeature] - val startingDay: Int - val endingDay: Int - val timeSeriesStatistics: Option[TimeSeriesStatistics] - - def updateTSS(feature: EdgeFeature, alpha: Double): Option[TimeSeriesStatistics] - - def addToTSS(feature: EdgeFeature): Option[TimeSeriesStatistics] - - def updateFeature(feature: EdgeFeature): EFeatureCombiner - - def updateFeature(feature: EdgeFeature, alpha: Double, day: Int): EFeatureCombiner - - def isSet: Boolean - - def dropFeature: Boolean - - def setFeature(feature: EdgeFeature, alpha: Double, day: Int): EFeatureCombiner - - def setFeature(feature: EdgeFeature): EFeatureCombiner - - def getFinalFeature(totalDays: Int): Option[EdgeFeature] - -} - -case class WeightedAdditiveEdgeCombiner( - override val edgeFeature: Option[EdgeFeature] = None, - override val startingDay: Int = Integer.MAX_VALUE, - override val endingDay: Int = Integer.MIN_VALUE, - override val timeSeriesStatistics: Option[TimeSeriesStatistics] = None) - extends EFeatureCombiner { - - override def updateTSS( - feature: EdgeFeature, - alpha: Double - ): Option[TimeSeriesStatistics] = { - timeSeriesStatistics.map(tss => - InteractionGraphUtils.updateTimeSeriesStatistics(tss, feature.tss.mean, alpha)) - } - - override def addToTSS(feature: EdgeFeature): Option[TimeSeriesStatistics] = { - timeSeriesStatistics.map(tss => - InteractionGraphUtils.addToTimeSeriesStatistics(tss, feature.tss.mean)) - } - - override def updateFeature(feature: EdgeFeature): WeightedAdditiveEdgeCombiner = { - WeightedAdditiveEdgeCombiner( - edgeFeature, - startingDay, - endingDay, - addToTSS(feature) - ) - } - - def setFeature(feature: EdgeFeature, alpha: Double, day: Int): WeightedAdditiveEdgeCombiner = { - val newStartingDay = Math.min(startingDay, day) - val newEndingDay = Math.max(endingDay, day) - - val numDaysSinceLast = - if (feature.tss.numDaysSinceLast.exists(_ > 0)) - feature.tss.numDaysSinceLast - else Some(feature.tss.numElapsedDays - feature.tss.numNonZeroDays + 1) - - val tss = feature.tss.copy( - numDaysSinceLast = numDaysSinceLast, - ewma = alpha * feature.tss.ewma - ) - - val newFeature = EdgeFeature( - name = feature.name, - tss = tss - ) - - WeightedAdditiveEdgeCombiner( - Some(newFeature), - newStartingDay, - newEndingDay, - Some(tss) - ) - } - - def getFinalFeature(totalDays: Int): Option[EdgeFeature] = { - if (edgeFeature.isEmpty || dropFeature) return None - - val newTss = if (totalDays > 0) { - val elapsed = - timeSeriesStatistics.map(tss => tss.numElapsedDays + totalDays - 1 - startingDay) - - val latest = - if (endingDay > 0) Some(totalDays - endingDay) - else - timeSeriesStatistics.flatMap(tss => - tss.numDaysSinceLast.map(numDaysSinceLast => numDaysSinceLast + totalDays - 1)) - - timeSeriesStatistics.map(tss => - tss.copy( - numElapsedDays = elapsed.get, - numDaysSinceLast = latest - )) - } else timeSeriesStatistics - - edgeFeature.map(ef => ef.copy(tss = newTss.get)) - } - - override def updateFeature( - feature: EdgeFeature, - alpha: Double, - day: Int - ): WeightedAdditiveEdgeCombiner = copy( - endingDay = Math.max(endingDay, day), - timeSeriesStatistics = updateTSS(feature, alpha) - ) - - override def dropFeature: Boolean = timeSeriesStatistics.exists(tss => - tss.numDaysSinceLast.exists(_ > InteractionGraphUtils.MAX_DAYS_RETENTION) || - tss.ewma < InteractionGraphUtils.MIN_FEATURE_VALUE) - - override def isSet = edgeFeature.isDefined - - override def setFeature(feature: EdgeFeature): WeightedAdditiveEdgeCombiner = - setFeature(feature, 1.0, 0) - -} - -/** - * This combiner resets the value to 0 if the latest event being combined = 0. Ignores time decays. - */ -case class BooleanOrEdgeCombiner( - override val edgeFeature: Option[EdgeFeature] = None, - override val startingDay: Int = Integer.MAX_VALUE, - override val endingDay: Int = Integer.MIN_VALUE, - override val timeSeriesStatistics: Option[TimeSeriesStatistics] = None) - extends EFeatureCombiner { - - override def updateTSS( - feature: EdgeFeature, - alpha: Double - ): Option[TimeSeriesStatistics] = { - val value = timeSeriesStatistics.map(tss => Math.floor(tss.ewma)) - val newValue = if (value.exists(_ == 1.0) || feature.tss.mean > 0.0) 1.0 else 0.0 - timeSeriesStatistics.map(tss => - tss.copy( - mean = newValue, - ewma = newValue, - numNonZeroDays = tss.numNonZeroDays + 1 - )) - } - - override def addToTSS(feature: EdgeFeature): Option[TimeSeriesStatistics] = { - val value = timeSeriesStatistics.map(tss => Math.floor(tss.ewma)) - val newValue = if (value.exists(_ == 1.0) || feature.tss.mean > 0.0) 1.0 else 0.0 - timeSeriesStatistics.map(tss => tss.copy(mean = newValue, ewma = newValue)) - } - - override def updateFeature(feature: EdgeFeature): BooleanOrEdgeCombiner = BooleanOrEdgeCombiner( - edgeFeature, - startingDay, - endingDay, - addToTSS(feature) - ) - - def setFeature(feature: EdgeFeature, alpha: Double, day: Int): BooleanOrEdgeCombiner = { - val newStartingDay = Math.min(startingDay, day) - val newEndingDay = Math.max(endingDay, day) - - val numDaysSinceLast = - if (feature.tss.numDaysSinceLast.exists(_ > 0)) - feature.tss.numDaysSinceLast.get - else feature.tss.numElapsedDays - feature.tss.numNonZeroDays + 1 - - val tss = feature.tss.copy( - numDaysSinceLast = Some(numDaysSinceLast), - ewma = alpha * feature.tss.ewma - ) - - val newFeature = EdgeFeature( - name = feature.name, - tss = tss - ) - - BooleanOrEdgeCombiner( - Some(newFeature), - newStartingDay, - newEndingDay, - Some(tss) - ) - } - - override def getFinalFeature(totalDays: Int): Option[EdgeFeature] = - if (timeSeriesStatistics.exists(tss => tss.ewma < 1.0)) None - else { - if (edgeFeature.isEmpty || dropFeature) return None - edgeFeature.map(ef => - ef.copy( - tss = timeSeriesStatistics.get - )) - } - - override def updateFeature( - feature: EdgeFeature, - alpha: Double, - day: Int - ): BooleanOrEdgeCombiner = copy( - endingDay = Math.max(endingDay, day), - timeSeriesStatistics = updateTSS(feature, alpha) - ) - - override def dropFeature: Boolean = false // we will keep rolling up status-based features - - override def isSet = edgeFeature.isDefined - - override def setFeature(feature: EdgeFeature): BooleanOrEdgeCombiner = setFeature(feature, 1.0, 0) -} diff --git a/src/scala/com/twitter/interaction_graph/scio/common/FeatureGeneratorUtil.docx b/src/scala/com/twitter/interaction_graph/scio/common/FeatureGeneratorUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..e7e591e8782795dc49169c932ca946e346edebd5 GIT binary patch literal 39118 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 bn_`F6p}saXFoS;1DprsUFg;AtfByR)4TV07 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/common/FeatureGeneratorUtil.scala b/src/scala/com/twitter/interaction_graph/scio/common/FeatureGeneratorUtil.scala deleted file mode 100644 index 56c403522..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/common/FeatureGeneratorUtil.scala +++ /dev/null @@ -1,263 +0,0 @@ -package com.twitter.interaction_graph.scio.common - -import com.spotify.scio.ScioMetrics -import com.spotify.scio.values.SCollection -import com.twitter.interaction_graph.scio.common.FeatureGroups.DWELL_TIME_FEATURE_LIST -import com.twitter.interaction_graph.scio.common.FeatureGroups.STATUS_FEATURE_LIST -import com.twitter.interaction_graph.scio.common.UserUtil.DUMMY_USER_ID -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.EdgeFeature -import com.twitter.interaction_graph.thriftscala.FeatureName -import com.twitter.interaction_graph.thriftscala.TimeSeriesStatistics -import com.twitter.interaction_graph.thriftscala.Vertex -import com.twitter.interaction_graph.thriftscala.VertexFeature - -object FeatureGeneratorUtil { - - // Initialize a TimeSeriesStatistics object by (value, age) pair - def initializeTSS(featureValue: Double, age: Int = 1): TimeSeriesStatistics = - TimeSeriesStatistics( - mean = featureValue, - m2ForVariance = 0.0, - ewma = featureValue, - numElapsedDays = age, - numNonZeroDays = age, - numDaysSinceLast = Some(age) - ) - - /** - * Create vertex feature from InteractionGraphRawInput graph (src, dst, feature name, age, featureValue) - * We will represent non-directional features (eg num_create_tweets) as "outgoing" values. - * @return - */ - def getVertexFeature( - input: SCollection[InteractionGraphRawInput] - ): SCollection[Vertex] = { - // For vertex features we need to calculate both in and out featureValue - val vertexAggregatedFeatureValues = input - .flatMap { input => - if (input.dst != DUMMY_USER_ID) { - Seq( - ((input.src, input.name.value), (input.featureValue, 0.0)), - ((input.dst, input.name.value), (0.0, input.featureValue)) - ) - } else { - // we put the non-directional features as "outgoing" values - Seq(((input.src, input.name.value), (input.featureValue, 0.0))) - } - } - .sumByKey - .map { - case ((userId, nameId), (outEdges, inEdges)) => - (userId, (FeatureName(nameId), outEdges, inEdges)) - }.groupByKey - - vertexAggregatedFeatureValues.map { - case (userId, records) => - // sort features by FeatureName for deterministic order (esp during testing) - val features = records.toSeq.sortBy(_._1.value).flatMap { - case (name, outEdges, inEdges) => - // create out vertex features - val outFeatures = if (outEdges > 0) { - val outTss = initializeTSS(outEdges) - List( - VertexFeature( - name = name, - outgoing = true, - tss = outTss - )) - } else Nil - - // create in vertex features - val inFeatures = if (inEdges > 0) { - val inTss = initializeTSS(inEdges) - List( - VertexFeature( - name = name, - outgoing = false, - tss = inTss - )) - } else Nil - - outFeatures ++ inFeatures - } - Vertex(userId = userId, features = features) - } - } - - /** - * Create edge feature from InteractionGraphRawInput graph (src, dst, feature name, age, featureValue) - * We will exclude all non-directional features (eg num_create_tweets) from all edge aggregates - */ - def getEdgeFeature( - input: SCollection[InteractionGraphRawInput] - ): SCollection[Edge] = { - input - .withName("filter non-directional features") - .flatMap { input => - if (input.dst != DUMMY_USER_ID) { - ScioMetrics.counter("getEdgeFeature", s"directional feature ${input.name.name}").inc() - Some(((input.src, input.dst), (input.name, input.age, input.featureValue))) - } else { - ScioMetrics.counter("getEdgeFeature", s"non-directional feature ${input.name.name}").inc() - None - } - } - .withName("group features by pairs") - .groupByKey - .map { - case ((src, dst), records) => - // sort features by FeatureName for deterministic order (esp during testing) - val features = records.toSeq.sortBy(_._1.value).map { - case (name, age, featureValue) => - val tss = initializeTSS(featureValue, age) - EdgeFeature( - name = name, - tss = tss - ) - } - Edge( - sourceId = src, - destinationId = dst, - weight = Some(0.0), - features = features.toSeq - ) - } - } - - // For same user id, combine different vertex feature records into one record - // The input will assume for each (userId, featureName, direction), there will be only one record - def combineVertexFeatures( - vertex: SCollection[Vertex], - ): SCollection[Vertex] = { - vertex - .groupBy { v: Vertex => - v.userId - } - .map { - case (userId, vertexes) => - val combiner = vertexes.foldLeft(VertexFeatureCombiner(userId)) { - case (combiner, vertex) => - combiner.addFeature(vertex) - } - combiner.getCombinedVertex(0) - } - - } - - def combineEdgeFeatures( - edge: SCollection[Edge] - ): SCollection[Edge] = { - edge - .groupBy { e => - (e.sourceId, e.destinationId) - } - .withName("combining edge features for each (src, dst)") - .map { - case ((src, dst), edges) => - val combiner = edges.foldLeft(EdgeFeatureCombiner(src, dst)) { - case (combiner, edge) => - combiner.addFeature(edge) - } - combiner.getCombinedEdge(0) - } - } - - def combineVertexFeaturesWithDecay( - history: SCollection[Vertex], - daily: SCollection[Vertex], - historyWeight: Double, - dailyWeight: Double - ): SCollection[Vertex] = { - - history - .keyBy(_.userId) - .cogroup(daily.keyBy(_.userId)).map { - case (userId, (h, d)) => - // Adding history iterators - val historyCombiner = h.toList.foldLeft(VertexFeatureCombiner(userId)) { - case (combiner, vertex) => - combiner.addFeature(vertex, historyWeight, 0) - } - // Adding daily iterators - val finalCombiner = d.toList.foldLeft(historyCombiner) { - case (combiner, vertex) => - combiner.addFeature(vertex, dailyWeight, 1) - } - - finalCombiner.getCombinedVertex( - 2 - ) // 2 means totally we have 2 days(yesterday and today) data to combine together - } - } - - def combineEdgeFeaturesWithDecay( - history: SCollection[Edge], - daily: SCollection[Edge], - historyWeight: Double, - dailyWeight: Double - ): SCollection[Edge] = { - - history - .keyBy { e => - (e.sourceId, e.destinationId) - } - .withName("combine history and daily edges with decay") - .cogroup(daily.keyBy { e => - (e.sourceId, e.destinationId) - }).map { - case ((src, dst), (h, d)) => - //val combiner = EdgeFeatureCombiner(src, dst) - // Adding history iterators - - val historyCombiner = h.toList.foldLeft(EdgeFeatureCombiner(src, dst)) { - case (combiner, edge) => - combiner.addFeature(edge, historyWeight, 0) - } - - val finalCombiner = d.toList.foldLeft(historyCombiner) { - case (combiner, edge) => - combiner.addFeature(edge, dailyWeight, 1) - } - - finalCombiner.getCombinedEdge( - 2 - ) // 2 means totally we have 2 days(yesterday and today) data to combine together - - } - } - - /** - * Create features from following graph (src, dst, age, featureValue) - * Note that we will filter out vertex features represented as edges from the edge output. - */ - def getFeatures( - input: SCollection[InteractionGraphRawInput] - ): (SCollection[Vertex], SCollection[Edge]) = { - (getVertexFeature(input), getEdgeFeature(input)) - } - - // remove the edge features that from flock, address book or sms as we will refresh them on a daily basis - def removeStatusFeatures(e: Edge): Seq[Edge] = { - val updatedFeatureList = e.features.filter { e => - !STATUS_FEATURE_LIST.contains(e.name) - } - if (updatedFeatureList.size > 0) { - val edge = Edge( - sourceId = e.sourceId, - destinationId = e.destinationId, - weight = e.weight, - features = updatedFeatureList - ) - Seq(edge) - } else - Nil - } - - // check if the edge feature has features other than dwell time feature - def edgeWithFeatureOtherThanDwellTime(e: Edge): Boolean = { - e.features.exists { f => - !DWELL_TIME_FEATURE_LIST.contains(f.name) - } - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/common/FeatureGroups.docx b/src/scala/com/twitter/interaction_graph/scio/common/FeatureGroups.docx new file mode 100644 index 0000000000000000000000000000000000000000..eacbc45ef3c57c48c8afb3e3e0b3e6b043ce283d GIT binary patch literal 36949 zcmagEWmp~Awl<1ua1HM6?hb(jcXtW8aA)DcJwR}GcX#&?+%0%;_iv@U_uk$6oOAD= z;$hA)UKyim)~s5k_z4mU6ATOt4h%n)TeCvBATALc3~Uqz3=9J_sv{1tb2hVcHc<7j zH*?Zsa<{cqoE7&C!mdkW%&b=!cM=G-*y+b%V08`zZ z?)`p>3!G)Ax{uEQJ@`y4TRR|8^8qZHx*|p$op>-9PFZjiIy`BCl1n*U_zlf1UuWgQ%)!4j?l%-t73Zk5|;`KeuaZ zMXUN)9tBF{dESX5ryq9*&{Eft>V1VtWowVA@D94`ySt+;h@lXASPa#_o1Kxf9ar-k zM)|_2CS0T3CK{78!p_V6=5QoV=5v!Bq_e~;A@9>JVIWB3FVgRIe}Vk8X9T^Bd;iYA z@=p4>qj1+{B_P*CmLZ8&=OvLaAFV6S=*jC5v8e35giz1(Lebi;@aP>`?h~e*KA7S^ zy68dmN#q{Xy>$pMFhtN_14lC(CuXMK$BOugkC3dWerH0G!<0pKjcOA4OZpNAa`{5t z-^Nc1?SRsS%bguc5_+20Jw*FwJ0|AyX?ggI^o2Ho8pc|40XYjjnj5qi^=$^La7pm( z{-o}z+d*13sS!8i$RcJ`cUru zB%f(F#4P&2jZEuso&B>wp6=Uqxr%XvY-ipMa-m~tzNm}D)3lN!k?dm99{T$eg(Z;3*P)d(6%v7^ zqZQ|Xhb8qJ$xiA+%`BF|2Rd%qK)K>oYAb9Xtn0Aitu!L7I9Inmnq0E_0tvN|f_{A% zFjU@4H>0VBVIw$keSm(40?sa?l%nj`tj@L>e&XclurcKdsaN){DdZh;()*n0lj3rb zfE>709oKb0e?iUA?Cka`qZ6f{u(N41do{*O;}{QhvJo(SEeCnXP0%6)KI7}%^@SyC z+E*FOBGGgxnO5l^44o6X2X(%0A70-t642jsUqIm=Ss?4v&bW!cKKEYY|FbXGD=Rq1 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 tDS=JUP(kTRz?otZi3%$$4g`+nIx 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%0Dy*Wir&!dB_UGl#*QzvDL+R!ZLGN99HA}P4 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 SocialGraphEdge} -import com.twitter.flockdb.tools.datasets.flock.thriftscala.FlockEdge -import com.twitter.interaction_graph.scio.common.FeatureGroups.HEALTH_FEATURE_LIST -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.FeatureName - -import java.time.Instant -import java.time.temporal.ChronoUnit - -object GraphUtil { - - /** - * Convert FlockEdge into common InteractionGraphRawInput class. - * updatedAt field in socialgraph.unfollows is in seconds. - */ - def getFlockFeatures( - edges: SCollection[FlockEdge], - featureName: FeatureName, - currentTimeMillis: Long - ): SCollection[InteractionGraphRawInput] = { - edges - .withName(s"${featureName.toString} - Converting flock edge to interaction graph input") - .map { edge => - val age = ChronoUnit.DAYS.between( - Instant.ofEpochMilli(edge.updatedAt * 1000L), // updatedAt is in seconds - Instant.ofEpochMilli(currentTimeMillis) - ) - InteractionGraphRawInput( - edge.sourceId, - edge.destinationId, - featureName, - age.max(0).toInt, - 1.0) - } - } - - /** - * Convert com.twitter.socialgraph.presto.thriftscala.Edge (from unfollows) into common InteractionGraphRawInput class. - * updatedAt field in socialgraph.unfollows is in seconds. - */ - def getSocialGraphFeatures( - edges: SCollection[SocialGraphEdge], - featureName: FeatureName, - currentTimeMillis: Long - ): SCollection[InteractionGraphRawInput] = { - edges - .withName(s"${featureName.toString} - Converting flock edge to interaction graph input") - .map { edge => - val age = ChronoUnit.DAYS.between( - Instant.ofEpochMilli(edge.updatedAt * 1000L), // updatedAt is in seconds - Instant.ofEpochMilli(currentTimeMillis) - ) - InteractionGraphRawInput( - edge.sourceId, - edge.destinationId, - featureName, - age.max(0).toInt, - 1.0) - } - } - def isFollow(edge: Edge): Boolean = { - val result = edge.features - .find(_.name == FeatureName.NumFollows) - .exists(_.tss.mean == 1.0) - result - } - - def filterExtremes(edge: Edge): Boolean = { - if (edge.weight.exists(_.isNaN)) { - ScioMetrics.counter("filter extremes", "nan").inc() - false - } else if (edge.weight.contains(Double.MaxValue)) { - ScioMetrics.counter("filter extremes", "max value").inc() - false - } else if (edge.weight.contains(Double.PositiveInfinity)) { - ScioMetrics.counter("filter extremes", "+ve inf").inc() - false - } else if (edge.weight.exists(_ < 0.0)) { - ScioMetrics.counter("filter extremes", "negative").inc() - false - } else { - true - } - } - - def filterNegative(edge: Edge): Boolean = { - !edge.features.find(ef => HEALTH_FEATURE_LIST.contains(ef.name)).exists(_.tss.mean > 0.0) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/common/InteractionGraphUtils.docx b/src/scala/com/twitter/interaction_graph/scio/common/InteractionGraphUtils.docx new file mode 100644 index 0000000000000000000000000000000000000000..3f5a229f9bf5711004597ce53242b4102088a182 GIT binary patch literal 37101 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 Pa+M%MA~1W1_knl-!nGNV literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/common/UserUtil.scala b/src/scala/com/twitter/interaction_graph/scio/common/UserUtil.scala deleted file mode 100644 index 39ac51006..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/common/UserUtil.scala +++ /dev/null @@ -1,76 +0,0 @@ -package com.twitter.interaction_graph.scio.common - -import com.spotify.scio.coders.Coder -import com.spotify.scio.values.SCollection -import com.twitter.twadoop.user.gen.thriftscala.CombinedUser -import com.twitter.usersource.snapshot.flat.thriftscala.FlatUser - -object UserUtil { - - /** - * placeholder for the destId when representing vertex features with no dest (eg create tweet) - * this will only be aggregated and saved in the vertex datasets but not the edge datasets - */ - val DUMMY_USER_ID = -1L - def getValidUsers(users: SCollection[CombinedUser]): SCollection[Long] = { - users - .flatMap { u => - for { - user <- u.user - if user.id != 0 - safety <- user.safety - if !(safety.suspended || safety.deactivated || safety.restricted || - safety.nsfwUser || safety.nsfwAdmin || safety.erased) - } yield { - user.id - } - } - } - - def getValidFlatUsers(users: SCollection[FlatUser]): SCollection[Long] = { - users - .flatMap { u => - for { - id <- u.id - if id != 0 && u.validUser.contains(true) - } yield { - id - } - } - } - - def getInvalidUsers(users: SCollection[FlatUser]): SCollection[Long] = { - users - .flatMap { user => - for { - valid <- user.validUser - if !valid - id <- user.id - } yield id - } - } - - def filterUsersByIdMapping[T: Coder]( - input: SCollection[T], - usersToBeFiltered: SCollection[Long], - userIdMapping: T => Long - ): SCollection[T] = { - input - .withName("filter users by id") - .keyBy(userIdMapping(_)) - .leftOuterJoin[Long](usersToBeFiltered.map(x => (x, x))) - .collect { - // only return data if the key is not in the list of usersToBeFiltered - case (_, (data, None)) => data - } - } - - def filterUsersByMultipleIdMappings[T: Coder]( - input: SCollection[T], - usersToBeFiltered: SCollection[Long], - userIdMappings: Seq[T => Long] - ): SCollection[T] = { - userIdMappings.foldLeft(input)((data, mapping) => - filterUsersByIdMapping(data, usersToBeFiltered, mapping)) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/common/VertexFeatureCombiner.docx b/src/scala/com/twitter/interaction_graph/scio/common/VertexFeatureCombiner.docx new file mode 100644 index 0000000000000000000000000000000000000000..fd0ac458809dfbec63bb96c9910aaf36e5355fdb GIT binary patch literal 39418 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 new WeightedAdditiveVertexCombiner, - (FeatureName.NumRetweets, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumFavorites, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumFavorites, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumMentions, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumMentions, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumTweetClicks, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumTweetClicks, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumLinkClicks, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumLinkClicks, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumProfileViews, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumProfileViews, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumFollows, true) -> new ReplacementVertexCombiner, - (FeatureName.NumFollows, false) -> new ReplacementVertexCombiner, - (FeatureName.NumUnfollows, true) -> new ReplacementVertexCombiner, - (FeatureName.NumUnfollows, false) -> new ReplacementVertexCombiner, - (FeatureName.NumMutualFollows, true) -> new ReplacementVertexCombiner, - (FeatureName.NumBlocks, true) -> new ReplacementVertexCombiner, - (FeatureName.NumBlocks, false) -> new ReplacementVertexCombiner, - (FeatureName.NumMutes, true) -> new ReplacementVertexCombiner, - (FeatureName.NumMutes, false) -> new ReplacementVertexCombiner, - (FeatureName.NumReportAsAbuses, true) -> new ReplacementVertexCombiner, - (FeatureName.NumReportAsAbuses, false) -> new ReplacementVertexCombiner, - (FeatureName.NumReportAsSpams, true) -> new ReplacementVertexCombiner, - (FeatureName.NumReportAsSpams, false) -> new ReplacementVertexCombiner, - (FeatureName.NumTweetQuotes, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumTweetQuotes, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumMutualFollows, false) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookEmail, true) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookEmail, false) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookPhone, true) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookPhone, false) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookInBoth, true) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookInBoth, false) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookMutualEdgeEmail, true) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookMutualEdgeEmail, false) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookMutualEdgePhone, true) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookMutualEdgePhone, false) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookMutualEdgeInBoth, true) -> new ReplacementVertexCombiner, - (FeatureName.AddressBookMutualEdgeInBoth, false) -> new ReplacementVertexCombiner, - (FeatureName.TotalDwellTime, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.TotalDwellTime, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumInspectedStatuses, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumInspectedStatuses, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumPhotoTags, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumPhotoTags, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumPushOpens, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumPushOpens, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumNtabClicks, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumNtabClicks, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtFavories, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtFavories, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtTweetQuotes, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtTweetQuotes, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtTweetClicks, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtTweetClicks, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtRetweets, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtRetweets, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtReplies, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtReplies, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtLinkClicks, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtLinkClicks, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtMentions, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumRtMentions, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumShares, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumShares, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumEmailOpen, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumEmailOpen, false) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumEmailClick, true) -> new WeightedAdditiveVertexCombiner, - (FeatureName.NumEmailClick, false) -> new WeightedAdditiveVertexCombiner, - ) - ) -} - -/** - * This class can take in a number of input Vertex thrift objects (all of which are assumed to - * contain information about a single vertex) and builds a combined Vertex protobuf object, which - * has the union of all the input. Note that we do a weighted addition for a time-decayed value. - *

- * The input objects features must be disjoint. Also, remember that the Vertex is directed! - */ -class VertexFeatureCombiner( - instanceVertex: Vertex, - featureMap: Map[(FeatureName, Boolean), VFeatureCombiner]) { - - /** - * Adds features without any decay. To be used for the same day. - * - * @param vertex vertex to be added into the combiner - */ - def addFeature(vertex: Vertex): VertexFeatureCombiner = { - val newVertex = instanceVertex.copy(weight = vertex.weight) - val newFeatures = featureMap.map { - case ((featureName, outgoing), combiner) => - vertex.features.find(f => f.name.equals(featureName) && f.outgoing.equals(outgoing)) match { - case Some(feature) => - val updatedCombiner = - if (combiner.isSet) combiner.updateFeature(feature) else combiner.setFeature(feature) - ((featureName, outgoing), updatedCombiner) - case _ => ((featureName, outgoing), combiner) - } - } - - new VertexFeatureCombiner(newVertex, newFeatures) - } - - /** - * Adds features with decays. Used for combining multiple days. - * - * @param vertex vertex to be added into the combiner - * @param alpha parameters for the decay calculation - * @param day number of days from today - */ - def addFeature(vertex: Vertex, alpha: Double, day: Int): VertexFeatureCombiner = { - - val newVertex = instanceVertex.copy(weight = vertex.weight) - val newFeatures = featureMap.map { - case ((featureName, outgoing), combiner) => - vertex.features.find(f => f.name.equals(featureName) && f.outgoing.equals(outgoing)) match { - case Some(feature) => - val updatedCombiner = - if (combiner.isSet) combiner.updateFeature(feature, alpha, day) - else combiner.setFeature(feature, alpha, day) - ((featureName, outgoing), updatedCombiner) - case _ => ((featureName, outgoing), combiner) - } - } - - new VertexFeatureCombiner(newVertex, newFeatures) - } - - /** - * Generate the final combined Vertex instance - * - * @param totalDays total number of days to be combined together - */ - def getCombinedVertex(totalDays: Int): Vertex = { - val moreFeatures = featureMap.values.flatMap { - case combiner => combiner.getFinalFeature(totalDays) - } - instanceVertex.copy(features = moreFeatures.toSeq) - } - -} - -/** - * This portion contains the actual combination logic. For now, we only implement a simple - * additive combiner, but in future we'd like to have things like time-weighted (exponential - * decay, maybe) values. - */ -trait VFeatureCombiner { - val startingDay: Int - val endingDay: Int - val timeSeriesStatistics: Option[TimeSeriesStatistics] - val vertexFeature: Option[VertexFeature] - - def updateTss(feature: VertexFeature, alpha: Double): VFeatureCombiner - def addToTss(feature: VertexFeature): VFeatureCombiner - def updateFeature(feature: VertexFeature, alpha: Double, day: Int): VFeatureCombiner - def updateFeature(feature: VertexFeature): VFeatureCombiner - def isSet: Boolean - def dropFeature: Boolean - def setFeature(feature: VertexFeature, alpha: Double, day: Int): VFeatureCombiner - def setFeature(feature: VertexFeature): VFeatureCombiner - def getFinalFeature(totalDays: Int): Option[VertexFeature] -} - -case class WeightedAdditiveVertexCombiner( - override val vertexFeature: Option[VertexFeature] = None, - override val startingDay: Int = Integer.MAX_VALUE, - override val endingDay: Int = Integer.MIN_VALUE, - override val timeSeriesStatistics: Option[TimeSeriesStatistics] = None) - extends VFeatureCombiner { - override def updateTss( - feature: VertexFeature, - alpha: Double - ): WeightedAdditiveVertexCombiner = copy(timeSeriesStatistics = timeSeriesStatistics.map(tss => - InteractionGraphUtils.updateTimeSeriesStatistics(tss, feature.tss.mean, alpha))) - - override def addToTss(feature: VertexFeature): WeightedAdditiveVertexCombiner = - copy(timeSeriesStatistics = timeSeriesStatistics.map(tss => - InteractionGraphUtils.addToTimeSeriesStatistics(tss, feature.tss.mean))) - - override def updateFeature(feature: VertexFeature, alpha: Double, day: Int): VFeatureCombiner = { - updateTss(feature, alpha).copy( - vertexFeature, - startingDay = startingDay, - endingDay = Math.max(endingDay, day) - ) - } - - override def updateFeature(feature: VertexFeature): VFeatureCombiner = - addToTss(feature) - - override def setFeature(feature: VertexFeature, alpha: Double, day: Int): VFeatureCombiner = { - val newStartingDay = Math.min(startingDay, day) - val newEndingDay = Math.max(endingDay, day) - - val numDaysSinceLast = - if (feature.tss.numDaysSinceLast.exists(_ > 0)) - feature.tss.numDaysSinceLast - else Some(feature.tss.numElapsedDays - feature.tss.numNonZeroDays + 1) - - val tss = feature.tss.copy(numDaysSinceLast = numDaysSinceLast) - - val newFeature = VertexFeature( - name = feature.name, - outgoing = feature.outgoing, - tss = tss - ) - - WeightedAdditiveVertexCombiner( - Some(newFeature), - newStartingDay, - newEndingDay, - Some(tss) - ) - } - - def getFinalFeature(totalDays: Int): Option[VertexFeature] = { - if (vertexFeature.isEmpty || dropFeature) return None - - val newTss = if (totalDays > 0) { - val elapsed = - timeSeriesStatistics.map(tss => tss.numElapsedDays + totalDays - 1 - startingDay) - val latest = - if (endingDay > 0) Some(totalDays - endingDay) - else timeSeriesStatistics.map(tss => tss.numDaysSinceLast.get + totalDays - 1) - - timeSeriesStatistics.map(tss => - tss.copy( - numElapsedDays = elapsed.get, - numDaysSinceLast = latest - )) - } else timeSeriesStatistics - - vertexFeature.map(vf => vf.copy(tss = newTss.get)) - } - - override def setFeature(feature: VertexFeature): VFeatureCombiner = setFeature(feature, 1.0, 0) - override def isSet: Boolean = vertexFeature.isDefined - override def dropFeature: Boolean = - timeSeriesStatistics.exists(tss => - tss.numDaysSinceLast.exists(_ > InteractionGraphUtils.MAX_DAYS_RETENTION) && - tss.ewma < InteractionGraphUtils.MIN_FEATURE_VALUE) -} - -/** - * This combiner always replaces the old value with the current. Ignores time-decays. - */ -case class ReplacementVertexCombiner( - override val vertexFeature: Option[VertexFeature] = None, - override val startingDay: Int = Integer.MAX_VALUE, - override val endingDay: Int = Integer.MIN_VALUE, - override val timeSeriesStatistics: Option[TimeSeriesStatistics] = None) - extends VFeatureCombiner { - override def updateTss( - feature: VertexFeature, - alpha: Double - ): ReplacementVertexCombiner = setFeature(feature, 1.0, 0) - - override def addToTss(feature: VertexFeature): ReplacementVertexCombiner = - setFeature(feature, 1.0, 0) - - override def updateFeature( - feature: VertexFeature, - alpha: Double, - day: Int - ): ReplacementVertexCombiner = updateTss(feature, alpha).copy( - vertexFeature, - startingDay = startingDay, - endingDay = Math.max(endingDay, day) - ) - - override def updateFeature(feature: VertexFeature): ReplacementVertexCombiner = - addToTss(feature) - - override def setFeature( - feature: VertexFeature, - alpha: Double, - day: Int - ): ReplacementVertexCombiner = { - val newStartingDay = Math.min(startingDay, day) - val newEndingDay = Math.max(endingDay, day) - - val numDaysSinceLast = - if (feature.tss.numDaysSinceLast.exists(_ > 0)) - feature.tss.numDaysSinceLast - else Some(feature.tss.numElapsedDays - feature.tss.numNonZeroDays + 1) - - val tss = feature.tss.copy(numDaysSinceLast = numDaysSinceLast) - - val newFeature = VertexFeature( - name = feature.name, - outgoing = feature.outgoing, - tss = tss - ) - - ReplacementVertexCombiner( - Some(newFeature), - newStartingDay, - newEndingDay, - Some(tss) - ) - } - - override def getFinalFeature(totalDays: Int): Option[VertexFeature] = { - if (vertexFeature.isEmpty || dropFeature) return None - if (timeSeriesStatistics.exists(tss => tss.ewma < 1.0)) return None - val newTss = if (totalDays > 0) { - val latest = - if (endingDay > 0) totalDays - endingDay - else timeSeriesStatistics.get.numDaysSinceLast.get + totalDays - 1 - - timeSeriesStatistics.map(tss => - tss.copy( - numElapsedDays = 1, - numDaysSinceLast = Some(latest) - )) - } else timeSeriesStatistics - - vertexFeature.map(vf => vf.copy(tss = newTss.get)) - } - - override def setFeature(feature: VertexFeature): VFeatureCombiner = setFeature(feature, 1.0, 0) - override def isSet: Boolean = vertexFeature.isDefined - override def dropFeature: Boolean = - timeSeriesStatistics.exists(tss => - tss.numDaysSinceLast.exists(_ > InteractionGraphUtils.MAX_DAYS_RETENTION) && - tss.ewma < InteractionGraphUtils.MIN_FEATURE_VALUE) -} diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/labels/BUILD b/src/scala/com/twitter/interaction_graph/scio/ml/labels/BUILD deleted file mode 100644 index f06c0c08d..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/ml/labels/BUILD +++ /dev/null @@ -1,49 +0,0 @@ -scala_library( - name = "labels", - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - ":interaction_graph_labels_daily-scala", - "beam-internal/src/main/scala/com/twitter/beam/io/dal", - "beam-internal/src/main/scala/com/twitter/scio_internal/job", - "beam-internal/src/main/scala/com/twitter/scio_internal/runner/dataflow", - "consumer-data-tools/src/main/scala/com/twitter/cde/scio/dal_read", - "socialgraph/hadoop/src/main/scala/com/twitter/socialgraph/hadoop:socialgraph-follow-events-scala", - "src/scala/com/twitter/interaction_graph/scio/agg_client_event_logs:interaction_graph_agg_client_event_logs_edge_daily-scala", - "src/scala/com/twitter/interaction_graph/scio/agg_direct_interactions:interaction_graph_agg_direct_interactions_edge_daily-scala", - "src/scala/com/twitter/interaction_graph/scio/agg_email:interaction_graph_extended_email_edge_daily-scala", - "src/scala/com/twitter/interaction_graph/scio/agg_notifications:interaction_graph_agg_notifications_edge_daily-scala", - "src/scala/com/twitter/interaction_graph/scio/agg_retweets:interaction_graph_extended_retweet_edge_daily-scala", - "src/scala/com/twitter/interaction_graph/scio/agg_shares:interaction_graph_extended_share_edge_daily-scala", - "tcdc/bq_blaster/src/main/scala/com/twitter/tcdc/bqblaster/beam", - ], -) - -jvm_binary( - name = "interaction_graph_labels", - main = "com.twitter.interaction_graph.scio.ml.labels.InteractionGraphLabelsJob", - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - ":labels", - ], -) - -create_datasets( - base_name = "interaction_graph_labels_daily", - description = "Daily labels", - java_schema = "com.twitter.interaction_graph.thriftjava.EdgeLabel", - platform = "java8", - role = "cassowary", - scala_schema = "com.twitter.interaction_graph.thriftscala.EdgeLabel", - segment_type = "partitioned", - tags = ["bazel-compatible"], - java_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-java", - ], - scala_dependencies = [ - "src/thrift/com/twitter/interaction_graph:interaction_graph-scala", - ], -) diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/labels/BUILD.docx b/src/scala/com/twitter/interaction_graph/scio/ml/labels/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..07b5ce027e0aaaab06cbaa1ee93aff2c3053647e GIT binary patch literal 37242 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

#{mn1W4% zN1KJi*h@g$uF%qOeS3PGD&#_Q-IQJD2j3ua}bZu!RyLlES3rcp!L|EH}p4~J_1`Ss=)eo6Tg`YKR30X>nj4<|{Qku)$lUvDooIlQa z&i6U5_xF6i&-3}7&+yCuS1bMB12bmxk0 zVe<2jW~rpwbAElF8aP~Px<(dimM+*B5Nnq7hS}<^Ev#Qq!*Hh*Slu!O-~%#9!%V#;wDZEEIWj9tAgE#5WX9uI~BQ+8WuBZ`9z6mY|kk+pdMp}uIS6VEzlN`rTC3C8YgwfbH50`itP_`1 zXQy=21GI*PtCma6QU9=$pchEtMC(k=#Ja$C+Isw)`&Gj#S*2|dEl@T4dwVX;~=B68V%(a62IL85HOA;3BsXL)EM`B%Dc)7+m(O0+7 z{`lk`ImO26{qO6zya2Mknspyr(_(mX)p*=Z3lDZWB~n!c|kPIE6Gt1@Iy0kxGwgc13<3 z+yQU+&= zt`SbaDqboKy4bJv+FB!%;i>bk?DFm}RB1yA0yx&O`0N#qHBPmI&=Yzk#5Jz4i6!HHx)e?(dI)SyZ+jXn7h>hUs_6s-Z}x>`CxceP&}y7C>LH z=RI=&bn`J9y0xdmG3B@TCKdO$=czG(`C_osGAqOx+DkAztf-+cpnj) zsb{d)o1c}d#C3)=-{xXwKY2iVh&Qy&mQgy1z@o%`7+d`@0%FPhiPLFW#aEYUfVEGP zAJ_^t8jJMN$s`tWlP+0kh`bFwE2xwhP(2yPshr9mr>7XdPSsY9<^Q`hu3b27_N-+# z$=gS~LpIXZtk8-(<#T_0MiX{^l=C^QE^(5SexULg>QI)kC!1~qv?=**;_PtW+GdNv zZLv4r^pQ`2H%+{sZmyud2Gz1<*ZlJ;l%P|e-BctLtyqpvxFkUdlH`$*38C((uTEOTbtZPwgRfUi5R44lPYimCX&bY(Q(HH~T+0P+TeK&E@oCJOh$$u<{TZe(=@& zs5Tp{{NC(@Hgyg7dM`@W6p1Xx-tr~)h>%mTth1#MhLC2(0mXU~*L^N&j{iH`q~a*- zxd$08GbOCGL`mo~BsKH2EeS8qd~_+O1UA0Py;h)m87><7u5XV1-c>oAx|gO_Rfb;} z|GysUt-x$_UH-koqdns@tunEb5AP9b^#TS+1KtZFX5vQ*5@s_07`) z#mZVv#kou9Zp31uk^hZVS5v;ALgqxRsVt?}R8Hm#(T2)Vgd>qg1Qcu6Vh+{-fsq|n zms-_rkWyeyqj6@sI9uSV6O*By5WtSZyu{5RVWJI%ux!jY2Q{GSmX&_3fp7`EF+F%0uh?Jrw%@PQ;WW?E zUMV&n_ttCp(jajq9MX0E$@{+q`k}{3wpmjjM>EXxyJ5EX>0)j!UE<{;AyEsg4xBME zp11j~N;C@Jof6v@Q?XJgzG;WNdS?k9*c#WP%0IV{Q?AiNZp1Ik*14T&ip`!HL2Q$M zvj;(a6N^ZWFTc?^k;IWQKO~V6(P7k1h7CsK-?%{(P1bT=Ny?~t&{2)+og*~h9yOOG zyivyadmGJf07jd^-EMhi|`7lp@mS|ujf^*{E< zeTm~(@9>hCY0@va3q!3L!Ho?~WvfaX2I!_prZCAFICNUnO+x||y6!%H9*TL)^MJs* z-zn$Tt|z)my4N zq#Fid=I@U5vi|O!fd%}f40XQ(k5Ygo?(GIa(X=>|Z) z9pEI;^6T5<@R#RSCK`-?8XOdw1#nkp2!wYB9t^bn!tLDMcYEuB*0Hje>=1~L4!H9) zU?R3E2Y`h4OOJi`;+9Wdzkl3*Qhopf7A!sn;XZ$%U^4lcZG z<9yg3IH(K*Rsa_wwiWboKNNP9CBQs5YrM_(2L9l|Ib^T|IR4(2=nUO88V3u21Kn+b zhhe`9>=yQdwZO6CwpLE~?^-(}Nw5ky)Y?`lkN7bwI|45-5B3MQ`O7iCnb=P6(8Q1h Su%Pc&#Rsti%)=o5``y1B5~9@r literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsJob.scala b/src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsJob.scala deleted file mode 100644 index a6d9999c8..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsJob.scala +++ /dev/null @@ -1,123 +0,0 @@ -package com.twitter.interaction_graph.scio.ml.labels - -import com.google.api.services.bigquery.model.TimePartitioning -import com.spotify.scio.ScioContext -import com.spotify.scio.values.SCollection -import com.twitter.beam.io.dal.DAL -import com.twitter.beam.io.fs.multiformat.DiskFormat -import com.twitter.beam.io.fs.multiformat.PathLayout -import com.twitter.beam.io.fs.multiformat.WriteOptions -import com.twitter.beam.job.ServiceIdentifierOptions -import com.twitter.cde.scio.dal_read.SourceUtil -import com.twitter.conversions.DurationOps._ -import com.twitter.dal.client.dataset.TimePartitionedDALDataset -import com.twitter.interaction_graph.scio.agg_client_event_logs.InteractionGraphAggClientEventLogsEdgeDailyScalaDataset -import com.twitter.interaction_graph.scio.agg_direct_interactions.InteractionGraphAggDirectInteractionsEdgeDailyScalaDataset -import com.twitter.interaction_graph.scio.agg_notifications.InteractionGraphAggNotificationsEdgeDailyScalaDataset -import com.twitter.interaction_graph.thriftscala.Edge -import com.twitter.interaction_graph.thriftscala.EdgeLabel -import com.twitter.scio_internal.job.ScioBeamJob -import com.twitter.socialgraph.event.thriftscala.FollowEvent -import com.twitter.socialgraph.hadoop.SocialgraphFollowEventsScalaDataset -import com.twitter.statebird.v2.thriftscala.Environment -import com.twitter.tcdc.bqblaster.beam.syntax._ -import com.twitter.tcdc.bqblaster.core.avro.TypedProjection -import com.twitter.tcdc.bqblaster.core.transform.RootTransform -import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO -import org.joda.time.Interval - -object InteractionGraphLabelsJob extends ScioBeamJob[InteractionGraphLabelsOption] { - - override protected def configurePipeline( - scioContext: ScioContext, - pipelineOptions: InteractionGraphLabelsOption - ): Unit = { - @transient - implicit lazy val sc: ScioContext = scioContext - implicit lazy val dateInterval: Interval = pipelineOptions.interval - - val bqTableName: String = pipelineOptions.getBqTableName - val dalEnvironment: String = pipelineOptions - .as(classOf[ServiceIdentifierOptions]) - .getEnvironment() - val dalWriteEnvironment = if (pipelineOptions.getDALWriteEnvironment != null) { - pipelineOptions.getDALWriteEnvironment - } else { - dalEnvironment - } - - def readPartition[T: Manifest](dataset: TimePartitionedDALDataset[T]): SCollection[T] = { - SourceUtil.readDALDataset[T]( - dataset = dataset, - interval = dateInterval, - dalEnvironment = dalEnvironment - ) - } - - val follows = readPartition[FollowEvent](SocialgraphFollowEventsScalaDataset) - .flatMap(LabelUtil.fromFollowEvent) - - val directInteractions = - readPartition[Edge](InteractionGraphAggDirectInteractionsEdgeDailyScalaDataset) - .flatMap(LabelUtil.fromInteractionGraphEdge) - - val clientEvents = - readPartition[Edge](InteractionGraphAggClientEventLogsEdgeDailyScalaDataset) - .flatMap(LabelUtil.fromInteractionGraphEdge) - - val pushEvents = - readPartition[Edge](InteractionGraphAggNotificationsEdgeDailyScalaDataset) - .flatMap(LabelUtil.fromInteractionGraphEdge) - - - val labels = groupLabels( - follows ++ - directInteractions ++ - clientEvents ++ - pushEvents) - - labels.saveAsCustomOutput( - "Write Edge Labels", - DAL.write[EdgeLabel]( - InteractionGraphLabelsDailyScalaDataset, - PathLayout.DailyPath(pipelineOptions.getOutputPath), - dateInterval, - DiskFormat.Parquet, - Environment.valueOf(dalWriteEnvironment), - writeOption = WriteOptions(numOfShards = Some(pipelineOptions.getNumberOfShards)) - ) - ) - - // save to BQ - if (pipelineOptions.getBqTableName != null) { - val ingestionTime = pipelineOptions.getDate().value.getStart.toDate - val bqFieldsTransform = RootTransform - .Builder() - .withPrependedFields("dateHour" -> TypedProjection.fromConstant(ingestionTime)) - val timePartitioning = new TimePartitioning() - .setType("DAY").setField("dateHour").setExpirationMs(90.days.inMilliseconds) - val bqWriter = BigQueryIO - .write[EdgeLabel] - .to(bqTableName) - .withExtendedErrorInfo() - .withTimePartitioning(timePartitioning) - .withLoadJobProjectId("twttr-recos-ml-prod") - .withThriftSupport(bqFieldsTransform.build(), AvroConverter.Legacy) - .withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED) - .withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND) - labels - .saveAsCustomOutput( - s"Save Recommendations to BQ $bqTableName", - bqWriter - ) - } - - } - - def groupLabels(labels: SCollection[EdgeLabel]): SCollection[EdgeLabel] = { - labels - .map { e: EdgeLabel => ((e.sourceId, e.destinationId), e.labels.toSet) } - .sumByKey - .map { case ((srcId, destId), labels) => EdgeLabel(srcId, destId, labels) } - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsOption.docx b/src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..aed20ad4309a00d66ea895bb1b6f5c06a33b6848 GIT binary patch literal 37072 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsOption.scala b/src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsOption.scala deleted file mode 100644 index 7c0a9a27a..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/ml/labels/InteractionGraphLabelsOption.scala +++ /dev/null @@ -1,28 +0,0 @@ -package com.twitter.interaction_graph.scio.ml.labels - -import com.twitter.beam.io.dal.DALOptions -import com.twitter.beam.job.DateRangeOptions -import org.apache.beam.sdk.options.Default -import org.apache.beam.sdk.options.Description -import org.apache.beam.sdk.options.Validation.Required - -trait InteractionGraphLabelsOption extends DALOptions with DateRangeOptions { - @Required - @Description("Output path for storing the final dataset") - def getOutputPath: String - def setOutputPath(value: String): Unit - - @Description("Output bq table name") - def getBqTableName: String - def setBqTableName(value: String): Unit - - @Description("Indicates DAL write environment. Can be set to dev/stg during local validation") - @Default.String("PROD") - def getDALWriteEnvironment: String - def setDALWriteEnvironment(value: String): Unit - - @Description("Number of shards/partitions for saving the final dataset.") - @Default.Integer(10) - def getNumberOfShards: Integer - def setNumberOfShards(value: Integer): Unit -} diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/labels/LabelUtil.docx b/src/scala/com/twitter/interaction_graph/scio/ml/labels/LabelUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..a3794b9987ff2b5ed1c8ad34e04434f08fb1afc6 GIT binary patch literal 37318 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

9&JKY|v@U?OA2nhpA4x>wB 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 TEdge} -import com.twitter.socialgraph.event.thriftscala.FollowEvent - -object LabelUtil { - - val LabelExplicit = Set( - FeatureName.NumFollows, - FeatureName.NumFavorites, - FeatureName.NumRetweets, - FeatureName.NumMentions, - FeatureName.NumTweetQuotes, - FeatureName.NumPhotoTags, - FeatureName.NumRtFavories, - FeatureName.NumRtReplies, - FeatureName.NumRtTweetQuotes, - FeatureName.NumRtRetweets, - FeatureName.NumRtMentions, - FeatureName.NumShares, - FeatureName.NumReplies, - ) - - val LabelImplicit = Set( - FeatureName.NumTweetClicks, - FeatureName.NumProfileViews, - FeatureName.NumLinkClicks, - FeatureName.NumPushOpens, - FeatureName.NumNtabClicks, - FeatureName.NumRtTweetClicks, - FeatureName.NumRtLinkClicks, - FeatureName.NumEmailOpen, - FeatureName.NumEmailClick, - ) - - val LabelSet = (LabelExplicit ++ LabelImplicit).map(_.value) - - def fromFollowEvent(f: FollowEvent): Option[EdgeLabel] = { - for { - srcId <- f.sourceId - destId <- f.targetId - } yield EdgeLabel(srcId, destId, labels = Set(FeatureName.NumFollows)) - } - - def fromInteractionGraphEdge(e: TEdge): Option[EdgeLabel] = { - val labels = e.features.collect { - case EdgeFeature(featureName: FeatureName, _) if LabelSet.contains(featureName.value) => - ScioMetrics.counter("fromInteractionGraphEdge", featureName.toString).inc() - featureName - }.toSet - if (labels.nonEmpty) { - Some(EdgeLabel(e.sourceId, e.destinationId, labels)) - } else None - } - - def toTEdge(e: EdgeLabel): EdgeLabel = { - EdgeLabel(e.sourceId, e.destinationId, labels = e.labels) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/labels/README.docx b/src/scala/com/twitter/interaction_graph/scio/ml/labels/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..b57cc7c91c23011fd957f3008a6754ac6dba49d4 GIT binary patch literal 37045 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/labels/README.md b/src/scala/com/twitter/interaction_graph/scio/ml/labels/README.md deleted file mode 100644 index f67a624fb..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/ml/labels/README.md +++ /dev/null @@ -1,34 +0,0 @@ -## InteractionGraphLabels Dataflow Job - -#### IntelliJ -``` -fastpass create --name rg_labels --intellij src/scala/com/twitter/interaction_graph/scio/ml/labels -``` - -#### Compile -``` -bazel build src/scala/com/twitter/interaction_graph/scio/ml/labels:interaction_graph_labels -``` - -#### Build Jar -``` -bazel bundle src/scala/com/twitter/interaction_graph/scio/ml/labels:interaction_graph_labels -``` - -#### Run Scheduled Job -``` -export PROJECTID=twttr-recos-ml-prod -export REGION=us-central1 -export JOB_NAME=interaction-graph-labels-dataflow - -bin/d6w schedule \ - ${PROJECTID}/${REGION}/${JOB_NAME} \ - src/scala/com/twitter/interaction_graph/scio/ml/labels/config.d6w \ - --bind=profile.user_name=cassowary \ - --bind=profile.project=${PROJECTID} \ - --bind=profile.region=${REGION} \ - --bind=profile.job_name=${JOB_NAME} \ - --bind=profile.environment=prod \ - --bind=profile.date=2022-05-15 \ - --bind=profile.output_path=processed/interaction_graph/labels -``` \ No newline at end of file diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/scores/BUILD b/src/scala/com/twitter/interaction_graph/scio/ml/scores/BUILD deleted file mode 100644 index f5f1cacc2..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/ml/scores/BUILD +++ /dev/null @@ -1,54 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - ":real_graph_in_scores-scala", - ":real_graph_oon_scores-scala", - "beam-internal/src/main/scala/com/twitter/beam/io/dal", - "beam-internal/src/main/scala/com/twitter/scio_internal/job", - "beam-internal/src/main/scala/com/twitter/scio_internal/runner/dataflow", - "tcdc/bq_blaster/src/main/scala/com/twitter/tcdc/bqblaster/beam", - ], -) - -jvm_binary( - name = "interaction_graph_scores_scio", - main = "com.twitter.interaction_graph.scio.ml.scores.InteractionGraphScoreExportJob", - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - ":scores", - ], -) - -create_datasets( - base_name = "real_graph_in_scores", - description = "Real Graph in network scores", - key_type = "Long", - platform = "java8", - role = "cassowary", - scala_schema = "com.twitter.wtf.scalding.jobs.injection.CandidateSeqInjection.injection", - segment_type = "snapshot", - tags = ["bazel-compatible"], - val_type = "com.twitter.wtf.candidate.thriftscala.CandidateSeq", - scala_dependencies = [ - "src/scala/com/twitter/wtf/scalding/jobs/injection", - ], -) - -create_datasets( - base_name = "real_graph_oon_scores", - description = "Real Graph OON Scores", - key_type = "Long", - platform = "java8", - role = "cassowary", - scala_schema = "com.twitter.wtf.scalding.jobs.injection.CandidateSeqInjection.injection", - segment_type = "snapshot", - tags = ["bazel-compatible"], - val_type = "com.twitter.wtf.candidate.thriftscala.CandidateSeq", - scala_dependencies = [ - "src/scala/com/twitter/wtf/scalding/jobs/injection", - ], -) diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/scores/BUILD.docx b/src/scala/com/twitter/interaction_graph/scio/ml/scores/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..de94002c611cc689f4fe894ce773d9b6d1806118 GIT binary patch literal 37156 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%0D9~HLi`~wZ`1sN$!L{7p`%L}I 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

2K|Yhc@0e7nm%u6rk>S9$ zNL7fD%OQ&_0hf|l{Lo#tT?$d;nFYh_eGbHym&tua)#=N~6eSCFjdKTmGUDpze6b1T z`*JR(IZ;hUG4R%wKZJbInhC(m&!~TPISHFyD@PICLDHA*ycnli%#0$bkSwv5k$pvr9n4`)m}Rr z=M-exoI97I*E4m-P@)hX`hlFY%)QE^u@`>CpoFvvTib=oR}juQn3hrKv7}Y3>vnH< z6vDEybx+G)RzgaORB`oyh-?)J#8#yVCrmTrHt9tobI4 zo$Kfx-68()Hak|?WFm(O?|xkM`zVMN`$ry^CA9#3wgG6Lwji(-YAnwAx?UEkh?jES zQcLW0_$gtPq@e1F1Rm8i!2|Kxlx{{jJl)=O2(ebL+E|kCO(|{4e+Lv*GV(OeXHv&hBqZ%`7=j8278$LKVDx( ze+jAO%&Gb3ML1EfKBuWjBv!ecka%8-79!0jCl^NFUAdH6AJM7X6Org=Sv zMK-)NB~3mz*s1}ei&^h~=SXv>Vb+&24)G00dm_ri7=*zWbECSPi1Ir#;- zO}EO$PdvCotThN4pbYrWiiq|72KEvIH>nq_YQ`xL9{xD@9uV!BZaNygZ# zEAD0jA%*NoI+NKdFX=q&XJd_2V~7W$jfrSz*TP+#A<9pFSW{+2zd=TcJ)Hr|zRZaz z8xtV(NfRF4=C+1s$4J?-PiBnWiZ(7$%dxM8Bvh|qr>TChY~u%c-Eo1oQ<|(-X#Ax0 zAyJYojksjOItw>s=$Dm#se!;mUYYH^Kv3?ld)*({>3D)~aiimO;I zlw7xWzI1C58QhxCqb@kRi$|f+TVW(H+s?I}ZIaW09z|+Xe6<5be-)2PA(vlm98cy> zog0$MjOs9Mry>TU@~>VciKpneE+=PJ-S4Qz_s$X<@DH2I5?`s}vHr$$qtah+LlX7Y z3oF!Q`YAKtw&~s|i4b~s>5K$E=)?U7*&*Zo6WO7;zHPl}wjs`gMbw(L-oZa<*mAcC zO1v&@Xh(C2UHP_59BQR-8huixVJn0fvxbvu%E zU2NX6M@olF;jBa&51ZW}FMjaxZ;Tb5vMGv;@3c-zwC{g}#eYuVUhD9cnr=E)a2tVM zHAb2knaNj`HViP$oY^9zr;+d}aZfENboiRr*crIrBfk4Y=x&$0H?}=7)uLA$^h}Ld zSOwX>r^mSnyG3-Bln$Ropk(!iC#@(hsp&&S_z?ZIGlB+Seec%&Nu1-5__K+CUhkK;9;jZ8Ec z|2Q}(G6Uf5><|e57CaPa`Gwnid2RRB=RKmaA*y6R1N?Me-B{n+u@!B zv7M?w=WRe&;#)co;roIAH}c;_ww(o1k?@~!N)U*x1qTE`e;ovtX<$?vFXHQmb$8w< zSAypN{6oo~G=U{ge+vxyy(Cx%TqoVsL0tc-^IH)GjDrg=n>Y*Z2M#L3fEB=nh)o4G z{11gKWeG43&Khs>&w_vO;2bho0vvyDN<0nUHW~*DfCJr4fwYL<1-1)&!CK(haZ@WH z@^`JRktA3J9BOT 0 - |""".stripMargin - val queryConfig = QueryJobConfiguration.of(query) - val results = bqClient.query(queryConfig).getValues.asScala.toSeq - if (results.isEmpty || results.head.get(0).getLongValue == 0) { - throw new DataNotFoundException(s"$dateStr not present in $fullBqTableName.") - } - } - sc.run() - } - - override protected def configurePipeline( - sc: ScioContext, - opts: InteractionGraphScoreExportOption - ): Unit = { - - val dateStr: String = opts.getDate().value.getStart.toString("yyyy-MM-dd") - logger.info(s"dateStr $dateStr") - val project: String = "twttr-recos-ml-prod" - val datasetName: String = "realgraph" - val bqTableName: String = "scores" - val fullBqTableName: String = s"$project:$datasetName.$bqTableName" - - val scoreExport: SCollection[ScoredEdge] = sc - .customInput( - s"Read from BQ table $fullBqTableName", - BigQueryIO - .read(parseRow) - .from(fullBqTableName) - .withSelectedFields(List("source_id", "destination_id", "prob", "followed").asJava) - .withRowRestriction(s"ds = '$dateStr'") - .withMethod(TypedRead.Method.DIRECT_READ) - ) - - val inScores = scoreExport - .collect { - case ScoredEdge(src, dest, score, true) => - (src, Candidate(dest, score)) - } - .groupByKey - .map { - case (src, candidateIter) => KeyVal(src, CandidateSeq(candidateIter.toSeq.sortBy(-_.score))) - } - - val outScores = scoreExport - .collect { - case ScoredEdge(src, dest, score, false) => - (src, Candidate(dest, score)) - } - .groupByKey - .map { - case (src, candidateIter) => KeyVal(src, CandidateSeq(candidateIter.toSeq.sortBy(-_.score))) - } - - inScores.saveAsCustomOutput( - "Write real_graph_in_scores", - DAL.writeVersionedKeyVal( - RealGraphInScoresScalaDataset, - PathLayout.VersionedPath(opts.getOutputPath + "/in"), - ) - ) - outScores.saveAsCustomOutput( - "Write real_graph_oon_scores", - DAL.writeVersionedKeyVal( - RealGraphOonScoresScalaDataset, - PathLayout.VersionedPath(opts.getOutputPath + "/oon"), - ) - ) - } -} diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportOption.docx b/src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportOption.docx new file mode 100644 index 0000000000000000000000000000000000000000..3dcd0249f6660900aab8f191709508875baecddd GIT binary patch literal 37048 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportOption.scala b/src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportOption.scala deleted file mode 100644 index 3b55c517b..000000000 --- a/src/scala/com/twitter/interaction_graph/scio/ml/scores/InteractionGraphScoreExportOption.scala +++ /dev/null @@ -1,24 +0,0 @@ -package com.twitter.interaction_graph.scio.ml.scores - -import com.twitter.beam.io.dal.DALOptions -import com.twitter.beam.job.DateRangeOptions -import org.apache.beam.sdk.options.Default -import org.apache.beam.sdk.options.Description -import org.apache.beam.sdk.options.Validation.Required - -trait InteractionGraphScoreExportOption extends DALOptions with DateRangeOptions { - @Required - @Description("Output path for storing the final dataset") - def getOutputPath: String - def setOutputPath(value: String): Unit - - @Description("Indicates DAL write environment. Can be set to dev/stg during local validation") - @Default.String("PROD") - def getDALWriteEnvironment: String - def setDALWriteEnvironment(value: String): Unit - - @Description("Number of shards/partitions for saving the final dataset.") - @Default.Integer(1000) - def getNumberOfShards: Integer - def setNumberOfShards(value: Integer): Unit -} diff --git a/src/scala/com/twitter/interaction_graph/scio/ml/scores/README.docx b/src/scala/com/twitter/interaction_graph/scio/ml/scores/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..91fa58ef42585e0bc2a0f3d49aeabd4b030d418e GIT binary patch literal 37055 zcmagFWmsIvwm*z(a1HM6?hb+A?(W)1aA-V0a0n3G-QC?Cg1ZF?1b6>;X6BqTbMC$G z`(^V`RqH2f?Y*nIx>`vV5(*Ox3=9qoKb2dnLZu)s5gZI`6b1|o1JtT34siHn?(oS_ z&C}7`MW4yT-mW20UU5|f_4C;aRuZ!iiMKckR_Tr-jUz)GoRo!Py-_8%mvKLLvIlX0$;_7}CMt~#+cbpM0G@B*M(65MpN;C{`(0|>Cg|&&E!CZB zS9=POJq8g0sNa9scQd(u5)-`C1vE6(`I`w_9I?7f6g&+}r@`kwIU9a-)Zrn~`| z(m$%`NhK?C531e<1Q-}1=&zx(xt$9$)9-6V{KQ8{R#g8pA<1FNB8NtGiTq^)i9`8( zq3&B5!H4rK{_E$kkmgR@;zi-oj2{3ZHAyC6*y?fJl*#U8Cq+Kc)&!!@`h z`1Sx&54D|OZM)Qn8**e3bE-Qo3k?z>`VEW$UD~?S8PQ5H2}3%2Y2@PIk_5DC#7{Ju zuD*=302qLjTqEa~qKcLucJ5#9g&RLf8~KYI#X6#?rYM-P;_&1n%Q#_Ni_08LMVH35 zq+_=}wkcWZmR&F%28k=G8hB7#!%VcJ_w!iR3lz;X?|#^4q#&Qr^qRDA-3U_lbDSdj z#Zr@erqd9!wcWQq_X5Q9qo=##(RfQoe3$E z#;Py35XMK|U(3lc_j!^uqgkae=TJ-)O@8^ahDbb3D>)L$9wzP2fB>TK1oHSgw34Pm zBCvF{;vDesq<&+$Ndu_ar84*+=WRPEH@r$6#ht?qT~@r+Mx@nG)vb@Fm#lt3LLH>w zUmpgHRQA)&X{uq^2u|D{px>c@vx_LFsJJ(4ux))gadCFqoN|NIFMHP%`VKkiea_5D zak)rf4&0iq+XkS&pk`=pZfA|rh0=vvo6=G zt2oD?y4XR1fua7rF2;_If0RXS%wd%Uwf%`6O8?UrYgkcb-1xu+(HZe|yz2P$rnynF zk8w~ftUEy8hcGPO&&)UB{B`_K^`lRVq870A3Rdb^V-LB*N>1wt4OL%;_E#qk$XuXG zp-Zqd2GI1K45vmb=3yA&Kc#3YRgQX-)tQW65WzaSDAG@TT0s`ssP`^xQ*iW|el{18 z{N+}2-+!K{)UdSiO_@dUOBv)#l~tK%@suFvhuxba?W9B`WGM*a7j~#I&oXP8Z-PM&CE4CuK=%hC#1bBb-gtt;V= zMV7rqhI-@|TYAQppj#1#)gg>cXiUNIs~H7c{o>|%mr!vDsRjP!^2gJDMm5G)5o?0w zRx}FV$r&NZnz8D#k2_4|q=J=$)D%gCPbS3p^rp0@ng<8si#qxWx=~nJoOoz%l-nV| z7Vtd)HS||oL0qK|ZaO=}cUE{Ws7x33tOr{Uu7Ze1?l3&S<~n$yLK9W5*MF#Wjs4;K-W;1D};#plYCObqWEP#h#7Ef6F)<6 zEIJt$uR~=aVs<)8VI16=s8)0AEnans^%1?4vpCJ9rnhymch8x-o*<#}*n5LEGDXYu zIXRA@*ndExlmH*M6q91EsMZmzuKTlOB>R<7&7kc!^(Fd5IGuNv6MdslA|zUS?W+vL ztE;H?X$oQ|Vzp?z0DXg57py%IErg63lijAG+#ZvK00Eoxq#AWrfo0~y0|d=!J23Yg zVs0^Bz&GJ&o@=+Tun;ZTUt-(d8H5QZKgu%qQ|%85pB`>Mj?^w?*St(y?9AdJ3PA}6 z&JS9xa&!=^mj%dS0TlU=3#+|Ay13zfcMEDdoR4ySnP*A%5?{&-h*&ejUyxN z=I*>-xp+j(?s`3%^``Z^&5RnH2hmaPQlz-O`{G@c^q0$KU|Ts$hRzDFW!Ns|3Tz6?S+aMi+$5y?7Pzb7|9>$cl)bcx~2oW|ra1#jW0_j}GvVGWa4 zSz#>t!u)E^{EUd068z2&9M^)I?(H?ZG0`PDNrf~Mwf=#;<2A$8tXd45FKzjO(*^5! zIXpw{yoD$D9xazySC`)%;jj_<6D=;}m#*5!e%?3Dm{+Cg(D46^>bS64k>6NJFtz+Z zy}R99nfB%S7O`9mP2lXAW9sKdp*+5gm7-&i$08I&hJo$evX#W2E|GBvNDykU7g8TXG6`?mI z0khB{;{C5&sx~^Qssf)7sg?L!@x4vmbu$L>oq*jtF5fI_``L+G)rAdyT>AQtfjp5A zD44S$O6KSSmMF=`-F4FHqP7(z@O;%hTpddSV)8R5HHlW`2Oq!6KO@w%Q1;g%P&DK? zh_ql;M&%z$sm6b<<<^1FmY9kEW*nN8`N^w|>|&y_`Ld(jc1w6Y)um@kp-v;P7Y(Xr zY2HYmoRiXM=j>qm=H86J?*-NX!J>YiK)i4-;8|WT3f&M&<1QVtkNw`rdUV%f!4yow zy-Pe4ckwpYMyo6e| z%43=zjs<(qzo7?^P}^g>tQ2eP8?DLmtX$7jLGeBWeP{k>uA|DZ`6HOYzzo!(!BGB{ zYnM-+cIGa>-?5;Dd%})Xt#4OXZl2-u5Bu0)u%Sr@uy{8DWABd4nlpBJ_Ss+4(>PW! zCx(8Mq$0%XD(V^^OXF+#do!_>X!kTT64cCJUb6h!?aqLP#L;Olr|aB(T}YiRx@Q_s zMH8o2Z2;g4t`Gmi{;7w~X=c*ui^I!ln(*Qf;PoNq?cr(hEV@Xz>3CQF{$c&1EqT7} z>0tKfOHXHhXb;>^`<@Q}=-T5ee2~IoPx# z>m)ku={)h~(j%3Sd+a&_=*;N#!s|tTl~A@z>+0F*xw0lKAr|8o!u;B~*4frnK9)GZ z>Sy1!=G&>Kd)E1KBmQWil1$X+w7JfVvI+bqN$ew?c|!WuU-i&s(o;1yPnA^n{7EMi zh?Yu;_o)rO<9q|JEm;`o8KKtZ!+(N7S`{99U5x@=5PFKvHx*ik5?WO${8DY`t1axy z6T;ly7GoZQM1 z)_Fa2Vm&~OV4(I89yqH8%-teS%%W+Q*rP@uQUW#g&@nGraWMynoZbAD3Q& z6>?Bmbv1{;qbqEsIN5w@7hn)3PO6%6pIOt1RblH5Z5m2gsz9E1xas>@z3E$tX{v2w z@|?VQu;=7bj-6lp7=w1+^0a7trABMhpJI6*^wzFlxiIx~GW+Ow=kzipb9*Ixawe3n zEY+YtKX=}@e|7cqw9h4-gFd8%pg=R~t#99>lqmg*Mm-2|d3x`j((jyjQ8BG4Il=~N zI?R^-OLeIvj|f^ExCD`LK3iw^OI!B^Iex_2o0hpxz*AOnBtSEUIm5a=w&_dAq86VU z&eO^3`A>WLbfUrUXg*k^w{YJ@eFzO{WFia5c@l)qEXve}*Cd|RNMk-qD@zxnt9)fI z3uf5Eq$ibST>J)k=684g7;153&ZQvx^)MC z_Dz{3E&H7W)O;?;k8mn!2$WDg2NF)CM+tes3=P^UVzDcqXi4ELH!!;m z;jRk(F@rr-MG#inX-N?6H_9{eq~TP^>Cpon10E$46tgGdaIee; z#J{jlIO0K}B%pD$e}w9Q&_Y1C{|Nn)3aW(q%!btCzX;Bh$w4g$f2c@mhc?Uk9}@oq z73+0bi5-{>8ufQ!ZulTQDySf@nDsvxNe~(TOClo)9JMDR+#jmv65Jb5+kcPxcT>KL zc>SbXTPKD=CZB}PJV_^!hO6({1Gt~IpAPXtTVnS|1j&G8>aVfI&5a(Nn|>`Ax=Z#h z1QJ?v`%Z1kLt}QY43UCNx=GJx1M5#Wt}Xfw1Ky&~eT(C6IaW&^SGxCuvsqQ!9#uc* zg%l6=_D6EJ@1r(_^_y-ah@%~Ln3hEn^`g%>P>*x=Khf+8U|3lz`o4Q%gS4^4hZ=H>i9|r`G43xVCY0;<3`zADwiU z{q_4L6;IbEcU7xNSjG{MH6LD7W~pB&^0Lv=a$WCJ$K9u7mgRR#2!#U?@u^+ zKcC^pk=@7HS5%wsl>QAT*R*^4rzX`OOv2Bd9S9%!^ z=y%#P00rLMoq)OO!PLy|)@^x4cx@KXGq|>&Ux|XoSNGr)KClCozRgf2)0aezV$5qZ z%{2|&P$14GFn}wXm{mNc(=S`<@9Bw?r;ou?^|cJSRJPN%ywh|>(;L}ujgR{Iu`#F8 z%(X8OGoyc-FFfccMYMmynsi#Dkm>Oed)k%X>UlQWVvy7~B95cau)L2RN`tZtL&%ex zQgB;2PX1fmOp5?Lxh|)+ZEkYk=R%4_jx$NqN}MRx4y!dJX6LALGE3B#{f#~{)=R)Pn)AfftLkKPo}7Bb7XZOdZ#`oOai8uRKD z=8ryjg=%9=w2>5HpbhzcHaYF+8h~GxB%3L{~aa8i@C+Eqa1eKip>n9J1h^Uv5G=nLJv!l@CJf-W)wANS1sT!6M|LslYH z?&#Qk2=63O*tm0Cxqh(uX40zJ{ya>A<(dr-GId}eQ!al~b3(T|WfQtizdo`iPK!M9 zA~!3aQVhe|v$G3FA$u8BlA6T1uhvw(N$S9I_|ZxeCt%|k5%=d2o0j!pVD?_DV)|Rn zGIp1TqQM-wXtB?+x?|FIu|FpP%mS+3C`~FNo5qia2pg&4N5W0{YdHiw-4wz%w1Q68 zoiTjQ#o{VDEX)dXe*f%^{=JxD4>ZOBVl~B=S`@)e;g|PK;*-LF>)sY+=lQ%s{aZGI z(aX_gyF>Z*%lPi;Q3gHLm|x=vetc=-yCgtT>I_@ktzw8krB5O49a z)*IK1_-I1jMG1JbCiG7kWJnx&-)lVnGHkFH;k7di*^Vx2AO`0^V?afITb1Jv{5}=JkMbnGD~!b zZXlGqCS5>IC=qKPL&2LHeU0t=Oc1bD@ zoSJ)5Boy2j3o;E`1T)`Ohxf%~=%YVY@QBs!6eDVs``IStpRB2@wn#U+v>CM(axcs1 zIP2Mru*Opk5jIi0N^#4uD}0>b5oO!WN3^iBtV_ukEGoE7CtG$|f%dj(-j0xu#UAmz z^DL{3KURwG*V5uJSy6O7*s3TeZ{FQM!qvt_i0LLZMHxn|h5gZJclK$Cy^)zRd53O|maEC+znd;-$UEbI8oDrz<> zM;&e?4Dtu|1R@)Br_zc`iHPs)Z-m| zdORPM_wML$8IgYQnT~@#>D+8T>wj8%p9f)&tYUT5IKlBV4g9g3X42g6@w*e`_4Wi) zeg9*}%8*}>?{iKzFk$s8CM2zpISp@3a1ADDsE;R_Ek;d z%H8}tb_=?$UtN>QZAB<)U6qgT4R+aqA9w`b2yxMbws~v^nwod;Hz{E_Sy>zkA0HfF zri&)FJrJV2r#=lJ{+zu14slOe#_@G+X&G8$BvHL0Gd2^#EzREkG*0$GQ@KSiv+Y&) z^if=j7zKw>Fdu1z_1H~D<0Mmk*9htCsIwO)mne{9&h*=DXjcWwL1F~fz9k-_VO5TA zRu#snO`8GH!)vN_RM#tfu%?(NCw+zZW+k=$|LOpYtl7pAmbIr4P$PkOo$#`c4 zT8TD-=|Q1$372x1Lskna9gO>xck!)~qyE85^=Yfn?cnxqII)t&Q4F%f6S!78%LZFd zyjJm9>`#&FN?7?}8(O+sxQ9_47z!@eT&{MDZXTOhu5h5uG+G#$t;9ZbuUV&PoO76Z zUIP*A9PV0%9B$L@aN^+eA6)!}JufJenFYJ z!*|FZTs>HgdMi0XR1qXir$xK8`*UYcTtL*qb;Oy&ccefn=xyFf$vK)>R^DQF7}H6k zbzn^`S>$rx2CSy$H7Re&4Y9jHv?l)G^WUI?Tujk!hlQp-A2o*W_{lSb=mEJxz)TV` zjjs*DX5H#XY!4SU4#c2#X{b6xQWyPlXixEZLy9Vw+ndL!&;^7OaDbf6Z7HP7ptlhe zh~cqU9lY@=eHWA?fU8;qgBZX}TMV%8k1>`7y$r24z+1O?h@=XFnZObURE8f;G_4Q# zt9rNX6(DCf840)&DipeI!?!zYi2?W~FCaGjxrPvj$*!f6D6cKv@xTjgUR>hSUAb6f z{Z3K-4F18^kTmhyF0rJM&K~^Yy|3%159%uXPdD~3Dl1!|c##~)&(0K-VSbmXK)uRN zAE95Hy>cVjlqsKR)0>^SP-5PnIrgK=?{EVV;YDE7BzIqYCPk8q~`+ ziq~c!9PQnt%H$b%!M{2d-dB-T;t%XRJW9rDu4=4DoLF0Ia{(N!`_nHjoWsT<>{fL8(~xfJIn{v_6} zDA3EZBkFrG&c;%hQk9J#dPf?5KzpVRl`GoKetD|>!;IyeEI2dfd9ar?@=RaBkz|J% zKgDWEwt<0SF~?B|cQDyp*~+5iS)o$3tKghXX;3k@<-A?lSD`!u1dkkl>N#1LFd`=P zt5$Qtq_PzCFTiI zuV%H5;$*u}Gk)v2r>egF@F2I{>X9$ore)yrU( zgqci49_CDvPT1})yJ?nMSS7|Oi}>C>qC+tZ7DtUiSeJ6$ZN7wm$ct6oYo1fBwNI0o z)5HlnyyJ6d#c+7kVJDm%A(zW`Sb0p51TM%6i&xC6U+YF~9!+ z%_3F&wCIe#5v;G7WHN16Xp9xt-B2Z77caAfh`Rx&8+fD!1Q9x^f&z4GY|Z(@$s#Si z1I`RTOcEi*c9vSV#Q5Z?mloAb&1*iAXU+B>9MM2ru1pn0_@CcisX;L;rLRmOL?X~Z zAjHtWFPLM>`a(qYfx8K=Sk|LVUGV6ago309pLaknDZlWcjzk_A3AABCj|g?76^JS@ zlGvkh=rl8>qtqHL_TM~E6#wE;*pEtuWrSW@<9)S8k8CX#1SqECbAmT-1+Mh>w9Z#pA~HI5x4lp1lr-|&a~1BFSb={75r!6+|@5|o#=iJ_Emu3;Cbv0KvtB0PaFHWpCgQ9@Jddpa93%hx`) z)`g;2m03|JBr$!cBUueU;c|Q|EtC|wjM6B{92C+tRTR1874)f$Cd;N*f@&uK%1Md@ zlaUbWGydBg0%3!^WOp=<;CPgS1DaCuxki~6TnIH5_$uxHnN6BusLV5upyT16fstt~ z|4Z>$zW57QW^ntG zg@GAba-{f7ffqjG*7deI@}#J=*$Ix>klKVy!2f8JO1NA`89|##FlNeneq|ayfLXh}X23v|t`NYrf(a1^ zks?Oo45kVv@h)s&7?BKn77JTEZdt)>0UE*?mfbw&*AaUJ=?Cuanec%_?;TTB2B|7` z*akD!fxI&h1{fe1QO!3ou5_4$<#g3qr|Ck}FwE(I1TfxM3>t6~5e6v()S7RV)wo~A z-N@>gP-FSE$-MWa|E7_=ELBIja4|>bx9?@a-@bc7wd9<9Ps~`)3Ea2{{`4(50)hlx zSgUayX#=4Kgf%(3FHROiNBv>z$+pf1EZB-0;oqxSQ|Ee-KwW+Do7c zHCJsawB+_Gf%g``qOSZ9Z=IRF+kjBQg3QeBT4f{cZu0NbTd9~|*C@C}57>|z>L%J` z23b|kO5ugwmabch`O-RZ)jWpFONu+`%3Y|$qZb4e2g) z@M+iU_n(k+S6@yS(DYRJE(+Pt#T1+jtG<{{Y(br@P$lOgRWsheEcJ7R+oP}k()k## zZD($PVX~8^HAvlQojx+Xn}}=4SV}o5lU}z<62wykY}MRPpEtBCZK9_JH74*_E~>=$ zo7o$US?#2Qf+qhA;`yIJi4%K_H~W|Uyx}hB2fwMll_S}m%co`{>jNAfDqbc=dxVg_x`e4dCL4$CYgtz*{(e(C$%GN{!qd- zOfp%Lb(+X)xyOp1^vH_;AB8!D`-H9{=@=7#Ds=mw3NO>ILMP%j%elOib3{*y-#d>u z7wf@Z_UC+O9GsWu?qgWOZPpa!dLXYwpwy_pdmw@LVWhCY1QT<>CdYZGqI z3Q@+D(F;Yjc3WeZWqurKIJ`MHj2c(0j4qnnd)T+mi?pzxC zBS)pe&A3OOmjN8DFCZ*7qzy@OB{D;(4-N7r8b(H7711Y4dwve-YxYJd9>eyn%49FP z2f2A5Wpg#fVk9d@1hzmweJG`t2@eBWtz(n1Oj^yXrItzd#*7hYDPAY&t!jO1^HdFW zqcLv;-?VOloz(4ZkIv8&LfHb;PtmI1CNWj{P`1bHD!wsL74;@DEM-`<#=nk`)3=9G8zeu$L z+Z!p`j)gHI$UVX|k!7p<9ks~JwjKK7xlD_us{2Jcc6-o&ud)l?H+j#!`-}Y6br?jh z3i}6n6DtQs1k?XPK4T=a^$?xBx#s*Ad9RVogNo)of@YI4=J(!D-(e3`TjH2I3=K9r z0$K#`>)BfoG6>&V4@W=d-rO(leCsHLD$0Li&_e$5GYU}ibOh@^oK~9m-)xB?3v!MgUur_s?^CrJlu*8wvu1F|pT_a?q--9tW z0RBd-dd`~^mGT&j5@TtcLHM|#K^zat?QxyHm&At37PxDyn(;%9?KC{oT4D;y&a!kL zpW5oXs`>~04aYAFKtuEi8J!mdvQ(H{Yb?WWC3l}mQy0KfsixONfv2`*rciL#*KO|6 zq8#!I&x7JceAcOEYZ&sgVTJHZlWG&(3bXk|rO~bJ+Z+`yLh`Az^^aH*97qzgqu%D) zM;*0cg|7aE@EmP%Sx+lR*^m%|FQ=3isPYM%T^G|O3aM1@?<8h9a;+g6+10P2W;uSA zl;$x3_~dOn02!wo6>iXI@{lw2mm2{|US}e?)`Z#C5EETL4mun8z66LUc6rm|Nz9r} z00cgjCKSpH3eIpuS*7})$j$rga>#p?9u<$_E6lE(?UwM$ml=vm%!+VSv?rGqY{({B z>A+g0im*#`2fiioG4#55UAHcl|I4G!UE#>U-@vZCXU+aF`IDpKrgN}$wtnSbCS`Sx zIts%7G#Q%s+awR-Z<8JN|9>WVK|6#^zK` z1fU(|+VIuAo#m4Q@a8pYM#yW)#Cl9=EG->rrqFr%{U)yg+|gUJtMZSVhQ`hh9zdIE zWnKvJ9_<;_S>177T{uWM1n(s?)E5M=rRISkcT@l-9CT@_P!?%`*Q{kPOo%`6lw}Zf zQwRk%A86IF1sO&FCgvXoZVc5-BJ-7mxtN+qwBp7rG!A0i6po&y!;UKxHnTaoAskx? zppL}s*cM}P0nz?MvmIi>TxTRe?7}soJ6;XzDhK&{nuHn-;FyIB1K)-Qp|$@;^AN3o z)d{`$jmGSF3o|juuDLX}(vMi&RQegG+5WuN1AGG}=3I>Q*TJm`>-MjO`V?c79z;}H z)ON5q$ZkYbR+4rw9Exz9AJ8|@%ru<4KUoa?J>P9Z-!|!I9!y~O8Z1y5h;*oPws)Tl zeH}nN2g(KGe38Eo9I>0sfk$TlC0g+crXpf*1MWE(Z9V5&b zw}V~b_9DtLr@>y4S~gIO{YPAs=x=ej!RKNZw!Ve=S(7!LRwV(@3 zBM_WH+U+H9_oe7-0fbB zVL)^0o;C?Uy#i2!_ zd4@ff1PTR3jR^08@A?D7MtXR6z_d|of!c~~_4s#B58TBc(McH?AI&ux1*!V=i1 z`Q#U}bzH+Id(JuDEV_^2F^F!lj|~odS7rBNiXBeytX;?~T?0lOjyz~KqA6M3+1XNb z^L=8Eg=#Sfwh3f>m3Eq6OP#!XpLMJPze8LhQgt49_bSSaPk}kgj#ouUk?e<>;*6zv zyIj<7kX_k!iN^C?sY=prIc*mNto-Jo2Z)-NG-Z?RFM{uLXG|TCPa3%4k3K`eKsPiO z6JdX!$@Nmxf<&BgGJjH6i(19mU-aQG{2>L*A^gF08m|9Y=@iJRulZ6f-?xA7xNFn2)Bp36%`CPKQ!FK)AzUGG9v0tQH@QTr5b@|``Ms>T0V&4+1nR0(ok{tC)ye5MC z>ZKc7@!0>HW7%MWQO9QnFj_)A_I%a!7@~je?FEvNX!zp z09_e#)i(KgziUOqy`SWpHKeQ{@ zJ-*g71WJYxA(tP*XDpbOWi5zP3VlRX+d1|KuS#Th`Xu_e4=afEfLeIHHiEH?o6VNh zxd9mcx`=;JB$ibYB6LkqT!o`lf-=9P_KV&1QQ4JzLV=xp(r#Bh z?nZp2c^EtaHkhnKLli!gBA5!gncJWC*<zVHMv@~l%23q(dn%eoXS5H+G z28(OY({I7gs8ly=ye=TYf&UR4m{kHT{HNfa--6G73$DaJc6DQY&^Wg1^oABzBi5w9 zPb40(DIAE1SiRH3k*ajV>4+P(G9J0C<9p@k#4ES6OZ z>R3gfg?&3VztUE5Pl8%i5rK!iN`}nYAlEe|Tb4)Hd24-uA5lJT>)!?li?h?E|27wNG3UDUJX8>v zHTbV${;#=l%X=^x)TSBTK?dbF8{pcp1*#|;v@pQ){t|Q)hEDAv7w2?G(?6u+B0Htm zfDNC1>Ic#S48PXa`+i|wSRrDz3cV50Aic#1b6Tgc6pXabdVv!a{dNOdebpd(m0_}=HEnHhO?h+?HK zb$HRWk-KAYq03I6CLp|h;1*O5>*O#cssc%S1j(B7uWoZ@HWJ(on0HO<$}Hx9D>9M| zF@FxDm{*aD!mrDSEYW3h&^!hLwXI-7Jwxgk1ZNloI6^(qTRc4%OubHvwFG1PP+&b5 z*psS`pdJ5yBr(S|5ASQ(Xzqe>gKj51bGq(}oq%{~9%Lc8_$`mDt>*IwHmD)^Xm_+| z{!ae-CHY%>4Fzf*gF4aQd;OBpPNX~=SpN;+r1%@)DEtoq$2<4HU8tcpxS^A7qUfbf z55Dqr1;=)aphyTyzRYm^;H~D1+d~urz{ivh|J~+MHUHg#K3oJx0v}Y!o(rKKr|pgM zzZB>O&GZwxK=^NYAleRvVp#IwaKrUD?VijK^K5)&^9CPsN-O~zil~T3bR<}#O8Jxi zfa5RvB2!C&EohMW{q1HzTLgI9{s6~+hton1?cTp!W1|pI`9t7!wFBKfAu%HiV`UJv z1Yo7(za~miFy=TGoSwCG#E+;JaLFbWxNl@*mC}8v*b8F#Ea|svTOX2(aLca+exXChU_$UO*&o9yHe^s~`E=amAfK$JqU-2~$eP9cct{5cdI zg0kk4=Mk%2Sw!EuDcTWwu>~5uJvP6JQ(A>YZ!J2>bEjZqDIWJ5{5yulI5zfT2v`hU z?CxGDDN3S3c9bg!dZRM{C6$z1d7j+34o?JYn<}gmt2$GXs)NJFX1&VfC{81z9aBDS z$f&pp>WC0#=c*Hz+GP(SkIwT7bovBK^MS!a0S%Zlz{m1&C=Dvme3>|st5mNXo@hNj z8W?`|(9YC6Fs@J@sih68wd`TX$Z(5?Yw;#wVvhckvuI7vNS|qOY!r`$rG_n|JYaD2 zdB%s$62M_5A7)?6#{4bH@|WaNxh|y!)zs*h7kkh0cN_ajTJPED$8IV|sPz?1z#m(kMv=w0Cw`nMsYt&D*1 z9ujt3@MoqeBdBbw;GSVJE|ANf!*QeEtAK`*U-6-nthm}zith^f-wkRnxg;-g62hw7 zB=`LI7ZnSL3ODjM6-&f`$yUu2w<*Xb+c!@ZVlO+B;a2rW1DVW3EPnATt@rJs95rla z8cD~GNh$t%H1uPxZjp9Ymjx{7yizc6@gFZIr79$;i*4k{!7CF$5x$Xk`oR?N;7Wnmcq!LD|! zRo%q=vb=nWBzJ;fdkZwTBW^ zLRb-oA>XUUCLMAOGla5BE($jr6a)%}xV0;?n@RvvcDJ8;*S@!D%|#}YNZMehK|#gKnokp7QZ>LOB*10#2Q!QdhOw2L;TiDJcHjb=79MHz7!v~ zXv#U*otY|j8YOnx=YvilJQM~T6{=ipW3i<-coDh3gGf)>Q=SnGu*_8~B)&4$x)=;l zBBPXpqm&cE6%K_3M~A9LQcU94ZHpQReXEIHt~XDm2FCz6ofrT#C=@GwKVn3}+Vb6i zqq~NrbhGd>CmV-hr3LS`$Dgw=X zPL-bF3=%=7hU*D#DGYt3aU6_5871^x34CKOC|is$cwfkxod;8EoTy#R5FmN4Kn^90;FdUeOQ(kr3=gj5{Q{ zrOE!Zn&ZN8Z0dijKt%adMM(D*p+cFmMx~8wMc{!VFOptL(-&l{SJx$h3sSLXI?VS= z!S6;>zt1fS?vXN=ro~E_pP|CVewBCFp-0~(?rDRu6H89p*@KXrqOR;B4L#4>pBwR> zgJPT5qt0CMRz18bwu&OA3OdxBego^kobCqOi4w~Zxv>~N)IUlig~vzbD#pMsw#TtS zAsh$2o~9gBX0?5k-q>w}QSIC@n;Q+c6$w$s1!h-Q6=-0YH`@2 zFt@x(;b~D-iZN)5Pq1xJXz%kL%!IHz&lE^P9<#K`^I1UOja&4Q?Jub3#fd?pM7Z01 zV!@wULM+z?0jc~2g!LOp_uoMFzk%lb#yf!0Ij@!raI}%@CFT(Vb~v$rAPAI!-Yrhd zb{MpveLpf4nq~MDDTMQk*kDXJ+PN>7UvCi_LNSko6?BC2|L}n+6~Ind=bp#nt%n-r4Wz=7a-LM}$eyC*zQHj?Y&T0*_?iA zW&F`cx+c&mevvGH^x+uk;ouYCH(HVRu`TQ_L&#zGuYRu{o}Ev=E$bCr$9J3W-nj1f z9a?}(0+kC{n|@bkhPwdj&9#%;h@0IV&pLz7xBaQT)3mpTv$x0BWB0a~tf{ee{mZAD z)3&NAl(Vy}ThP(|jgD180Y*dYwyutHqQ5g<(-YM_3mvnSJjxS^X06?Q|%J9 zpMx-U*Amdv`-RK;%C*MOS5L6&*00e1A=v`x=l9mA@8@o_yE^8Z-}S)M5^x6e^As{{ zFKNB?$SZo|eKQ$zNf^osP77^H-t+Qn?r>k-b8+rVyE(PK@jBsNUWiXnJdmOz=DDgi zGz`sL$qro|Sp4BviFCR4x_j|~d1{Ei%E5_e3pcJle2m${ffR7%L#=)8n|PdRcL3Bl zUhM*K1F9AmG;AtfnqQr*>9t`bR`{ZnZ)e(>ehIuP~l6%DLj0h5V%307Zg1qu0y_=pAGT%Y+j%J16RK)+aWLn)iD z8hN3t=qg7S7am_|oA-6LXjwY3Y?~+ZX5%B2of0m$ndzZp{&C2@l3aoj#?fbRTdw0gR?)XT)s2m=k zsj=CC{pfJl>Y+vGV0K~MCAZLMcCT7CRffqixg`8{QPuQm92@W?|H@=g=N`wMLPY!S zXuIWZgzR>^8HW;wLHMQK^S;*Sxmr=7y-Qe25&89L$gr_&f=hdCb5pUXD2O1q3+_h$CU>ESIi>DccqDQ0o^4WD@btz;l{V%5vfCtDU)@Qf%=m?)|0XKuP) ztwDa@v&&=I!8LVTWQ{mJpzN5D5Cv0?82R_8RyfVM)fZJ_aD7i|VeY0w2*1AaanI$*e?$a_-_C3%oh`2Lr zy*mWdbhrg-!UZ+4-`)s&YZ1J5K5R?Bu8z3HHGt7|&u1ZOA7T%{PXZlei^GT{NrYj3P?HkA$Oc<05x zR1EeqPep|8&F+Ja3U)lXJ`5R@#$|E46Gsyi1H0k9_KM~YieB`4Ly0{Z9w{Mv%zqTk zI~W3Te&jSWI3iUVLagH?c`?B(RIK&hsl%|+eT-iyfeG4s;v^p;NU^#AL5qAz7rGqH zt`=ee(_I%RE3sPXFBmhlq2HS`DjTa7_zDwsDpL| z)Io9r>WBq(R7*8OJN_GjU;(ZP>?IYyi*o1ppnpaG9^^4$4^B{6{2QhIH~b$ce;@F7 zl>c1?E@u<8n1SdpkNRf=RdUmC20lXh!G6{8U_y!VZ=7`qo_F7WlCx~EI^ zTqTpx4hHm@^J5fdY#O_P96Dyi)R>y0GfLV)x;CnNa2~po@z)I`VD&DGnJSyuE+`fT zyoua&Fo8NCDFT`7Gc-jVKbEhbt!pOqoC(9OLR4E$dD16+&{Cdn%v*e3 zcw4&MLrjG$7RK~%w{H4IV#XBH?7#bN{P3Tgb^n^odFptxZ=VH}c$ht#O6G4_6FVgz zU0bZ!O!i%Ey;mG)s`xqb9iZz1`uw_@N;K)Wni_3-8sm9-LHzw?>zSca_)8Hi6!8lG zFRZgOoKX24FP?SWS>E>tk!C_!8JG%YLYWz6-p6y|2u5zDJ-@7=>d2w?pC2v3h8445 zT>^cUNMpS(%y5IvNtgrb4Uw(0u)jNS=Ickrx;;Tz7Xe}m1Bx_}6cxz@1W7#%WUMVo zj#rSD)lX5_w**Q*UrCdvfA9^hvlL2qss1FuE%arU;Fkx%EW~^jOlcKbF>o`0kBzu^ z&DOSzgh(^Uqa3Y&w=-zz3^lAn^sx$V$M<`bCfr-=$14fwez;6Ea*tfJo`g2?^MSh zl;WdG5!%I_&NYN*gyehFE;vFlV+xlGRuN2&NPK1RHveTYlcKI?q4HbJjcM}9& zYle|rotJ$co}XhRh0^wbS2{1VyQ8(w^}+^R1ahTJ&&|tc+{^@w4k&=zIgXTQ^@~o$ zA&;#Vp!Y-bTBb={fm5HjLsEQ=0F^@ykyJ{>kAn%`1C8a1%&DtMoCfG;D#Rn>dPQEP zjxpjUUM2S9>h7J(^F~=m*Dy4k4=gyBW^R)x2Vuwh#@r0Q8pjJtoxKU20TrAXwv!HK zu5hZT>q6WrZ{1$TERxVyW%1$TERcmhFQ=bZc9 zchCLbdw+GYDXN+=#~5qx)pO0=YftAXo=+q4zfna*g4-TpoW@c2!AO^2lwBudYgJjH zA3bD)gxoFLmT~dTckWd;@(hAT1r|D$8V7$Y5Zsr3nRu7&F6ul;{nnH0g7e*^_x}6J z7f){n-(4gR+yPjOi^Y0RU4dMWm|J^2q>(|VhELnBdN1ODt!0n1wk|SX=Y&>lhV9Gj zv|OHI_~Ws;7DIhdeZl%ujfs7M>I~WCsw6^4RBytb!x(e2V`q&)YajbgUy+jgbTo%1 zB^l$#DUTl)t0@^#)1PlG4cHAqzwponlpdrEEZjC#JMpfn1*X~;o5%+N_klI8xj3Yseq;ipw$oI`PTEO>v%4DJ}otdi4%TEdVf% zf4)MEVh_jS(st6|38!5xmNq}>8*O6LoGF(c5mjfdmlAQ>g|0l5ZRo_k`*@fY z7lR!)P(E6Rvjg)rj#Kr1f%z4f~SifnY zLGrqu9icULG)=gf&Oe5FEVOr49KSu|9hmnhm2wq*H|KA*J~!Z7Y8q!=EQg-h5w3kV zxvkquj@o8EJ41urzf&a)R8}y!#wPyK?#99E`0lhGaK_$a?>^ol^xal9MH4A(&C%tt z_`r6o<4$Fi(4#92&>*JoS$+}YK|Cqvq3WyK{*)uF#yw5>)bg1SvR)Oo8jXN6Rqfk zP&RM(`}c&N!q__c{H|i|l=B9CoRn-{y7{-VCzS>+&+fh3iJraN^&i2Kcqd;_hB8;! z1drcY$Qr{*_#_`saS{qm7Li>!G7p3uH{V{IevXfB{TOY-Px>i}f_~s7A3e^>3PqJE zM@|Y8F7t_m>d-&^0URaN%nU_*q=^Vu)!9`3cL0KS5zWxUlU`NYSzplU!&AT_vK-6;nx{0zgavx zZQPsumRLxvn0w-Z!9-=oUg9{S^m)DPXn=E4Fn$ikMGmW2((krQPwnn_tjez0>e4|h z)0c5WXRpqN*z@uU2#F@mpLYt{_ycxwN8T!x0bi@LR6{N=)Lp+`&p$pht=Zu>_~!%SiiiwgoPe1&_ZQh9XRWHV4ueW>PMz=O*gZB_Or-E1gUh@Y=T#g zDy)vPOO&fqmiTbjkC4T$UQ6b`(|$EIy6pL3<~y}f?pN08O*g9j^v$AVvF-(I7yg%9 zCYJx}$jDpZe>TKZr}#M(N%8-sRIBJA+( zI`Sx4(V|zcxf2p%uPt-6kB;4!-w?nr6C#btCk}A%Mj1U{uKBo>u-HW2mk7f;$n16Q zbMOo3B4s0o96up*8!o}EWL1CZ_UhrSMVy7~O5PSWqGs$pY)zCy>Z5bNy4_{=yv&)^ zfb2Vgyn%jg4(lBROBa~^1j;a^w9_^h2Mdn#-m-c9LqC(N(uFS{hctT>N<27xsOB&KnC!^7nz6~Q3-&Na>0g_W<2+Wndm@uY;#Q}0+aN2f7DwjwMg(;3U{{1biFe@c1ReY|4 zJdto!9b-$on_2=05Z4M;zUZOestLzM_}9~mE?-yZy*CPbuMtmlS>`)ge&}*JI_z#M ziD}?BV|0Q~mQilv8`jw&40NAy*2V&#^<Qu(fe{+K8OTIVe&;{t9#Fu_!@B&-+9csFxB{rA#QW9H#kB|j7S^z+wqbw zMhH1ot-FiV-nJGWkXsD(?zSm=ocnw??(nv&fXNT2l{~=5X4ZJ$Pji5FZ&@dI_SIl_ zfVUWuw%y`iQd1or{*wB$WTlHQdQgVL=+2t?3&wR!@u2YTb~MChmMzx;po9C`abE%a z$==aT>G#RDN58G$&;NgR0FJ2p+%KEXoNe4#$lw9q2k>p&YjDart`1}?xyZ5w+$#zN ze%A^D-(K{`nY0~3^Vdb|40MA+ZH$m?X6fIb^F(*mrPoyg zM`9Z|5-Qizij`YE6Q#V_nm~{L=JD&!v(rp!FbUy^*7S;3NvaVHlsmm zn|W&bUB=vQbbW1f{S2Q}OG4f}{O@cE-KPWmjr0721T3ydO;^RBIE>(8OS+ZveL0WI zGz|`E-ZuA!!1XQ$>do@0i%FECkQkf8B;XUpQ)ugQQL9Fut{^ULS2I-?=X22tpNbB5 zHb<7%Tu7^Vacd~A;VFUThAudZ4peAGt44;Rz(ut(1$tO(YIoJG+RpyMOuYDhgDSG; z#9lS$SvBTO>P$79Lp7{}f?!x{EW#Gz2}r5F>t40?S+x-o4j=UT(=teOYC!&ZwR(xv zjF$~Y``li&8MBRmOZ%?}b_(W>%SEwuHxC;HFB{jBt@AT@;#41+Uaua z&mJ}!UN-6Aq2B{qx;a4#%?!)DY*N;?8@KT!D!zEwtWDx64l&)5HQ-upo0SqZj1B7A zJaje-Y~N)#04eTOk6UQ1BnWlyAzUp+F?Dg$cXLjGik%2=Y~%UQv9YLiH%}ZsYCFV` zxqRwszBG$DNx{zb4K=M!%kh$qM0Ti_aj5oh^&v9=QuMI7gFSF73Uc7t6L>6ucbJxS zKy>Mw<(+M5g)(eHK%jNF`mwQOl9J}mQ+u6lhMv^NE5`Spx^PR3$ErYPhA;4eI)CTy&etP z=kgL%5or#ST5TGgtN5PgufY~*M`23Q=07E=>E?4j*zFfgKpt01rVPiPiC5gN-j1!l zTM2wwf2xDOu@qngdbz-G@n&=9^0s^xr>VkK~qT$~) z-3KCUFEr*B216$oX)XqVK`DVsHl`n%SP+_wVfK91fdIoqL=%~*`wNAv?lXE_X~k!& z@V@K@cOA$P_X;L5@!5S0$tC?M!(bQ`G7!Q#C&n|iaFD)P1O(Pcjz}?XQ*769;wwP- ze}+T>{hyE*s}{hJZkK`C7=zo ze>i9XL=*xBbu}N>aRz6LUgIiL9ghr!J>O+*o{r_N)(!^M)fDbN1m-ehAibaQj|U9C zrn8{lD~W&*7!ZW%J``2OL7r^!q^RmDuk)i=cWQAE2_7-t-M;cfG95Rz8n!wxYB z@@ zDh_*F2yQe=z;GM_pWzRk`EnFc|9o5=<8vzlNqwHSKLh6be;zOZA=$6dJEzB|J7C>6 zee)HV74Yc0eCas7CJUg4fNn@ZKq1I`_BD)ur{A~keI-}*eQQgFbm}*X4~Lq-Pl7|7 z$V!SppU_SE{Ukg=GyrlO0!kV|itqB9>y zR})818%KAS^h8*Q98B5$?u|hJAMp=^403!-G#2&b(df(9=tbJGRYm5*W;Pm*ZxZG`ATBw#{RA%=VGW{{qgK6 zjapMB<4Vm2>Z7emonSxYj~>(yeP3CQp0TF7DURM*9I@>#4>p9FxOl{b{so7Th0)E+ z>CNELosLoB4kH2yN_hPz8Xw<#FI0WM^}*QmmE1RJWc^-N{SN^m=z~OKHNX)RW%C(* zM$+0{3WBWdFWIM}E?@1ao0q*u?)}F}#fTB?46M|QV{AN=(+wXMJP+I29c2san-|_L z->K>CDFu(WYVSAYY>z6ycwpKmxZ0gA{os|{r#kxMM~hGH9&aNaZvp(din8Z&Z7KN4 zizT(D0P{&rHk$f9`n9CH7c<6zi?EfQ@D*kuN<0Ho9WC=r1Iy@qhXoQCNzD@)xg9;X z5~$kT!Hd6zt?cxy`~Y6TblNu!QhSeCD?p|TL{CFq?^SY0wL3Vqet3%JA`uK%>h?-1 zSv`ro8H@(wc|)PKriv36Y0WUT#QJ{Z`n|8omOcqqMj2MV`K+Nmm~?n2a#n*E4g>#= z(y>B3vPY4b%;2$Bc=IxSA>r{h$|fqR|51F7(&d}f^?qwA2=nO)inC%fuZZg_rHcyj zV>wRpbCKfkx6LnaiCBA&K)j)gv|O|pW;R9!_GxC0k=a(!gaIEnd5<@sYw20t8Cf?k z8$VyFYd!4-T8#XZ&7!*B6X(0l^o1lq4Lsh~CN1H90fPG5OoQ&|xoOH3492t7z9L}; zu^sWLU5;adrZ)Xw^qeCd!Rz<`Q;&lmt{iy_;>87p>X5*=?cpcG~0q-XT2i^I!ua zt)iy&7nSesyCMTY6ptkBx87oc+Hy3Y1Mnaf+SSV7)u`boBtE|nmVIdblY=^sG_%R2 z<*>7{HZjq$WtOEuHDj232|?5djlG1vCvN+d{^rjv`k-6BxXf6D*DL9@QfOg$Z(p8V z?9T(mv24=cb9rm#(MXYR`uYt7gCb`)$1qM7 zR+Oa?y98y5Bz>*@)eS@?C*JWPmP4G~Wr#A|{1F5^Bh(TK1BWuxsYgdrn*^&s`-v^w z9A%m$^U);)+rN06oY$=wR5w43O_9REDZ^b~3uN#+tbf+=1Bu99K0 z<%p)iT7Fe6!W@G)t~mQ2jFMc@R?F+TMPmyl+HLP|!M_oQ38 z(|!T+`4b*(UH^S=0-u+cUneXfyDqi5RM@MzrrG0$7? ztyS%-(E0H8Hn}g9b%oq$>LlY}mBI3{X5T#aEgCR7f3J8JGG!om`IIr(f9|vtnOlZv zK7`LGW~Aa=A6m~%7*=KBh_@Yt>AhB=tcGE5w;?8W%_}U70477MLsIGaQoGwqNKET} zxw7Q-@xC21{YAX_Q#@Gi5gnx8VRN$Eu81Q%cBZ5wyc>_=S4Y)wRj>YiTVe`qidNLT zfMYr~f@|LvTM7|3&|t|^`_oV-3|4Uc7Bu~sxFUdOC4BoaEwcosrqcF6NQv^cC}#C$ z!#;|V{`V&lPZ3XiP&}GivW2~Ci%CheWNcx};5$jD0hG11p*yLo{4P9VnVdU~G^0sX z{YX69ysi*X@QQVh5kl)HUl8}|_&0_u z>)FgHYhKytCOf-!h|b>cTR$)irq_~I4+@5Yh&>jfFEI2`h16DbAB5aEr;S1%F?Vb#cOA@ z>PT1Up43ji_dya>CNW%b-lsB<%#P(@*ip=-8{8us3B;TOClalT2ttGhBW6_sBpKTC zF_RlE&|+5OMT!EX3n8`MaNHWr@KP3=($9;7kn%%sJE}O>eE1ocnphA}Y*ht?gM7a=(HE2&J+E7e}YW+d2mtq8Uz=Q9N!ac9k^f{k6dBLyJ@bc~)49kb)T6B{QJIIkRCH zF>Qv>CUiyUJDHZl5pjp`!Z~&Pm*SMUb*q$Vp##hH`A$)6aOeU!G1WR4mpO#~%~jcA zG{345ydKIJQ6`4ism4Sal2qF{2227d233b{IXp$QK2XE`a}_E++aEvkobo1LS+pVmL}|@ zIH!@phwzYKnkkkY7rESMY_ddwrirO&s%Kx|s5Gmm>J`#34B-KSQzJQzkEpBjQa)qb z422>XBM#v)_MMNGWic+7VIYsFF%!Cmb4Kg8mTWu!Z?bq8Ht#*3KWS(N$kvk3zH``r z&N|C3*h8H6vsFLwx#9T|!~@MzZW!CeTArqQI6XdubySV1aTj{|wjA6oSn&z@xmn8P z^YB0gQ#IFDhKEg`QH_*jS6J=B4)GY$=gY)34+)=F^U!Li!bCx&pNE+U^M2V$Hk;pC zXWzkT>x64E^Q5?>wb3z}SiEsz843O*drfK>ysT<$)MALh3@l!Z(p%*rzOR5pB)J(T zvaI(Ty0kHrkST?-QEUJeo(#Ih0SVGGbvmNB@&S3d>hO7_sb__>asq-Ht2eF!VXX&2 zw45_B-%?bb+Ghkz7nPJAHH3*|Yvp=s2~1c9I28%)sJzIRN*RAT^BXZqOw41PvVsIP z)@X}^jG0gUwt10%<}W&p6|r$uiAXP+yvVgl=`!Qp?`N;&zgb`iMcPB zlz;I(fc%5J)fsu`f}l1hUBQDNQW*Xg3T+d(CXC4`n8>GI^<6xzG!i4@R2Z`{ZSK$^ z3o6KIoa|H+NEuiQo{};108&mWkoqsmWMKcK%#%K2ZmU0>X~?A{5fewDh{-Exk^d{w zY@Ux@Jl5ERmr05^I}?k#>D6wsPV;@4vW(8}K&4Bq$x{SvVo3nU0^0dXn$g-hTKN!i z?vU8R0kQP_P$cFP_iD&~(T1|FusxPNg|bFpMnRMj)-0a%=B7c>Oy3I_LxP0jm0 zt$*p)nj zWa`Bj>cKn?@8k+K^7#%mXS0AOvj$pt4(2pL?Nxuv9#cVZ6g$3zx9`$xRM9!>@UZKWa+jYlbk%CLvw#rf;WaJU&aIv z-bW&ujc7^p#5+#hrz1&%*P1Fj!9|OZEmaF&sASkduBXYE($9A3ZR;3;7g$+8BM1+i ziEHSfQ)YXhg(#108N@r1?CFJWJB|{dA;p8imj2jv8X!UV_3RIc7W>JwUxt#vo{fol z@8z=Z}S?ZYORN&FZ+-E4;%p7I~1p>RN@6ly@F z03|{2ct^ej#%*a>3k*fsZ5`uBYzhKtp0s@KP1dkr@FE~3UXOW(I8uJ`{zGsqX`ZLW z3z8Jaw(+*E;K7-nuss(xz8K!*dyZ;aPBipY!UF-ps^uK?h;+biQjzfqrvOL*PBzvv}kx>a~vFO9B{5V7B%zvC>5_4!X0n(Qa2wrfx z5iewkUH!(Egserfx2h@?r8clfb#RA@M$y>{HzCmFf=ct`lzCYf1fxsU zYoZmK{(pVu_ZYCmYY@Yb7c>kAHc{NNQh^Q2`d3_#^yxU`6H0U<;-f00UAJb+e5qK4^uslTEX|dVhO%-}Gao74IZm_pPdd@aYGd<5?nL|pghuvdi1KO|_EeM;J4J0i`tVp1Vy$FI`S>H0<*TSJApBxe{leDj zWg9uUjp2MG=d+*F;9Rhr!my~+{PvMvex`mKz(|0WV~Jb^rwMU~nHdowxa-^s7X(=e z7ffgET|7XJ6@J}Q8N$7V9wJ8Z%i{?A6$E-4MuW5!|3*q!SthWLylW9I)FfYX95mNw z@_PqKD6V2YoW%mwuP?jV;yc;9|F0lK9*I}bTj&MW$X~!H@0+W)wgM(;KTO-V!i9i= zg#HdB5Rv-*7TQ!#6!_jS{vqNHJinVlnkmiCJj{#F^Q7TI{<);@h7j$UP$DeG79o_< zAW^@-_mR^Z-KVwxaH|6?4HqJLH{_E<^#duMB^HGrbR1#Q8*=Uh{#}FW$714JK1wVQ z@Joz~$N$fN{(1Lo@h>r)uq4X?y|PauqA|a~f8p*UGbU96Z-dB2`gy(zRLGJKWCQ8D zEPvzuD<0P_#vd=_M``wv^Dx#)35NPv2poZ){f89tfM0_!e>*1pnqPSfO`SRXoa}KD z!uO#L@wa0*A~juxT)B-xOoX@hWpptxE?BqFQ`+9g41b8N`m6qt#6nmIl&x}F`@sSy zg~}g1@=q;30l$Lc{;g#0ml&|iX9?H))t5-U7}e;{Xz<$1 z{E>4DjqeB?jeX=26QCR=xHlA}9ErHwN2JD)*w1_I|5 zRY~H5mu*>l0%V^h30p8Z6%>IDVPhog4AJkKCJ(*&c%9T6v$2O-LJ2#|Mr1fpPz;=P z6?kjJJ(eeDQ zJr}n@pa7RIImbYl(mybzf5UtRls>CW68`x=-Rxs46o^7vm+khoy6q%$(!I^K5PayNDTp zXWB6{%PrGWHmwgx45750ng7=HG6vd=9xVIVmv=hhVg~wB3kn^spn>a`9@#CE?aZn!{;h`AwgDvuYPtR+o9zR{eh1CH&f|A}N*FNB4FzZf6}6xV%8RL7mmN2jYbv z---B_;Rpbvi?hsA=6Ltt(+&L9-400Z{ zNYzGS7En8yJ9{(GxP=+)R`OSba9ylTgniSCF~ganRllee7N}FeDPrCyXVWf*bm9)Dj0mKB>yUJ@zQQBjv(hO?-$8PbHz z-oQ6nYO?A{8tOkGsevJR&(fUH6bo4BDlI%ZVMTcZoWYL75gg3vs1NGdzpVa1WVay| z;cd_6Qs<>burliACAL@QwE}lh0vwX8Ogzm)3A@r$&(WkqTtbL5gqj68qm4A)M!$K| zTqNXWr{`xUFXAw$0%&9rMR{rUEVG?eXxQV)5%ujo)06>lDId<&ogvF+$><4Bl)%Gr ze)fYrFYa(sIHBO!%5Z=)Syi?pv+R?SE)Df(Wq{v+u(L|rEYDGqk`B2P-s|QaQ_38yn9LPsS1`{$EBfeAHEBDQLdD$@Z)SFR>pBAwuWHgh}EiPw9E@5yR zVF;3wCaqLclK#bsi`}cqpO=Q(Io^i4PzoMo?%UiT@?dxld(3d1trEbz&=I2^l4+S- zgqKx}mzK6h2S{mAE97rV;^G7-ngDTET-+n^qOY*PgC`C3n+jl`=823;bG$bKc$R4K z?&&9A=C>#TItsEO-p7dRU_UjYk^GYdR!S1knIrLkJL8N7osV7TlHY)niZ~%dFlE8s z;ymC*K|^gvOD$CG{u{6T&@rMzJW(MVE+SZiEMU@Frd-uzRXnAW&lTZTxFmt!Wi9Iy z`_~m8`)^;gJwgeNdSnVTeL${y%+HkWmlIk>D_!eeSgLM4A6UrRx!%Y4nbIuqpidVOvPe?V7xL>=S5Nd`}J8;M4l7n&n?Wv z8=$yfOR1-x>@+ z4ee;S;ult7gIIR`ip6jJq{kOpE$aY+lFDxdp6!()Bf03%VNA}MS%%;PI_G0P5N=uO*}5EF zsHA5BV~aVcFC1;?)n;*jz9}rgj`&)i(lb9z@>hkVk$J6;lv5B5G^%Q{C)q3kV=b+Z z42U7|6e1yO(NUKpAz5gM7Tr!vz%U;VXiAj;d|LUk7M+z*T{*+h5Cg;^8}#7%R^Llx zHjRm|RWu?+W|-h+mDs?LNTz_MWx6L?H`Y@peU^;T(l|C7x9R_8On=eePlk9VZlis; zn#;$eXb>RLGOyX8eJFr1i2I>eA0PoNgMeXar_InzlF{Db21o$U=BP`=sN`uvBmSuD znUkPI&0cL}BrGdwYMn_kDPS4AQ5AtDsqra8qGb+O9Qih=EBu#O^&;NOIb__IA!pE}8>^gzCvC)hotJpCk- z+M_W}^Dz7mb-00l)QO?|Z*{f^Ky^GY-TrUqnEwVdJ$!LVa4r2C$Q}z9`hG21q5XeI zu`%4;`6cDNe*9O1y+R>LgI-`esuS4%Xh-E@=IUx?Z}HbYt7eTY=XD;8o}E&|wmoy$ z7AN@w+B1r}Z3QY@;6nmH8oq+qJ#Z%?A{o3(V-mebmY_4 ztWlg4LEG9F(H;*65olA+TmP$^8y)cAQaw_97^$VBBza|o1}VaJxjFV+w@h}W7tPDq z%;9X8BSW`hqa*tBfboIXNjIsO!3Jr73zZrV=a?j9O~tH>``w_MwCxe#{sXiAVCv#( za5vidr;27R)=AL`LUJl4P7wA`hGKlApyO*$;mRsDPA7f6Q^>K=Z1&3(B0qHkmRDW~ z)r(^`B=bUNOnfE=!m-$txkpU&3l$~t87f5oL@5q>T#uZ}G@Y*`uxR1$iNpjB`azc`g#N4=wQn*5h6Jlpm??0Srs4 zL(2p4gaX#9%Bw>2^UHWTQiv&AWG~c%cDcSymk`zytdsY100s^z5+TN2 zo#0@ZgS36T;Ua1h&z9~m*kTed&rPAYx%ch{WwLTDy4w&FDFj1IqYkYz-MY{C22@*r z6EzF*W+Hmn)RT10CL?Ir^8>Oa^K%`_Z#+QTn0Il;F9w1RoZxW)IFpWgpHQ0aBJrAo z-CWG+3%I*?0Ajhx`_^rKkLqNK!XM>k)jF=V5!Po1>H|F24CQsm$=>bdQJcE3n~qXS zj1@EdTMxipzk+NQwEhED3Xnz}6 zr|`Q6XMQ<3DqxIK4vLcBlQS)T0;ZN&BU-MWVTEC(l0?HIXpl0$;95nldDi+==JcKL zAh!HpdM#IWK>xYD@>J(Y6$IFVss;G-r&a1-EvUYj8LR%s1s^lpZ#~F@05a>{GjN!w zdSDvODw@cKL)e)t(t_+rK*`z++zd7S@{?Vg3#apeiu8=MeA^FinrT-i|IdDVHYkn# zyvs#X;vZpKCL=U3{4gsd!r;1!NrRK}e#|@@e>}Vq>a>1gXrL0Oqig%ohv&#J z0M1(EbI4Ep(mfe!LL2jpA{B_flYx4)*}|-|U{2Gfk=mY9Nd@oYUFEjv`WZ7CcCdoV zcpwG`ZoG~w&H0dxL5S+sj6^G%lW;ctJR=IEt-%G~Gdv1L3@=`jOd4m8uX`tjf-N?% zk~L;&!pj?8L`Y)fSnlZv2Q*(^huv`U84$k^!2GSJnk{_k|Nt$Xf}S5xHZM6%(Csj4WFIuZ7d8T zU)dh6jmq&Nm9wmDg@aZ*BxmmghBLe*$?j-;Aq;sU=iAb_jg7h?c)$ASgKD>;#3-*FU zu_$%bOuKKhQv10Lt`-K{6Gpmirnax;2o6<`Hl>X*jI>uA{BW`z)r<(^E+Iw^DF`}o znY`G#eUrfxQtEXL-q%K1Rw)_s1PpP80{Pj;L7^Nb5foXi zrL$EJoO|_`$H&PmE31l34#*q*+LbHy`A+J+*_L7n`e%$s-^zIznRu{a4#-5;$r$G? z>7>aGgrI|s!W~Gl5dI&bleyC>gWoe#1?4k6f6oi>@qF!a5K#X6+Z5~8tsd$ zs4VpY-@1L!Fq_YW7f8@p3J%R#<>VTgROV_67p1e^oycO#n6XR?povwM(=M8}U@=yq zjq&nOn<#7GVTss$C`8)e`iBx1v#0M*lC}Id5TFa}z7hy)8^s|*TwS}hi^X3AY(~=JAN;htp>e%{wOj-7qz)> zxBF`s4uT)|Vbl_Bh)`iNn;_odLHws6mr9Cs22GTB4V3xd*!vW&gTyYUVvtOMkHMAw z*YczR68=c@gpRr6#=7Bcte$1G%@++3(xa)NZAV^s#!)Ks`BkeRt;skt8w#(tVC}0E zu&V)%y-HQ~birOp!pC?_n?)C73MqDEg>bP6aS%!_uE_ahui(*~AGStW$^a=afxbL& zr+QLo51OgdtktC0Z&(vdVzP~=%U@^niyQ|Pnrg*NJ4995V97GE?fWA9_3Jfe$z{gu zXf{P9+)JmH2}VN@N?6G-9teg!Nq;eAS<`JLHam%!+9i~iilz5?hs1Bh&r_HtUAuig zg&g)W+EEA;-1lZvC0Q*g&=RaTsq;#W4SC-W?}$s#Y7pHTG+7~twl*JtbHP;Z4wWB= zDHw9EAT{^OI{&gNq|tkC+9|hToAL%|Nm$tteCy-e3T-knYAF4^Au8Na=|<~v6E?TV zwKudQ$rdoV|HI0ntdy}zw(^Im*GlBI-+kxSoZF19>ju7&sQYko-iDrozh36Z z+2mT`oTb2F6mvlUeXsR;aILNR3vQ9ho4e>#2C7Z5z9*x$07Lz_g_`_Q~(ma!;6J_}^eI7e$bXA_}z%!-U^ zr`7ouySEgUv6QFH{%k6!?xI;A2y`ghid^Q#a@`LKYH8js<6s_zenGM7D3X)x^XZ~*$=ZE@GN=x`T!h=3Z5p$iC{UiPIx`rpBY^X>1xRuAPwoX;2@%J zH$q~+%SU+AsP|`V>K>~9RO<`m3uB=T%1)a%X@7fz1?WbJ4fY8s`U2&hxi$(!*t(7LM94_R zF*@4Si`&*wKYx%}D~+5MG(M-2q1y2N+_A072_~ZtZw@70M0oz%C9P^w;)|*e=pLGs z=8S(fOXmYcB$kEco`V5M@1Gb8#EV6I8w#@1kQG2KXJ3+niSyESj$5rJ+C| z%8@W;4s9`LS4?Y~1Ita-JYJwQxe4~6LrS}`x*WcF%^lY-KFBw$dO`zR6Llo5jGt)< zFGlZ>liuzrPzA?j+a~<@>0;-HT-hc<6*pH_Qjy|+>iFQqb#AfhXP-jS;?zVh$#M=_ z^m1MJso%QY)bch$T!aj_ou$;FdYlo3K|P%$buyS&i^=4hTf?=n#cWo``}}h+X(zQR zfh768k!=wU5$txoQ)X8XVTX*h{*g*~8PW1w)He+d60`L90qe~oHRe7$`T3x>p(o`Jjlan?KtON?-75L%lh z+0TR?{*<=l8{#n)@7@Z0oF=1RYFw|E_z8rLg6$2fX6dNss3>66D*5w6v%7jZImpNO zYWM`LAbHz^C`ZY7T-|q^MynT~n2;#$h>kL*Z%;S7ET&q>rR}-BppFLh@yBz7ru$rX zqOj<;n9!0>dnzmIsyIbK9%g(f34EuXTu_F zfHj#2V0QQKHHW>Mow1oSuqyK>yPMY9vft;y>E0<7PLR}Vj!5Ew;Akok*7zJFN#1-9 zLWNUzo;$|MvUx3cWim})l_OLZ$u5uPJ{g1Vx5NAH19*k}^?DPOxQ!Hn;lgztq+7Zp z#&9e*wS4gYGwqb>@}~;y8XDU7*)~66tB<|+xS8Lm8}pE8bhV{4T72u&x2x;Y8PT@< zG2Gz;52^cFH_5e!c2nikn)C$Z-ZR7V?u5Ihni0FKvZ}-EA-2$}m3f7)Y+P^$ck^!9 zN?RrxPF=O()Zyj3k??TE9hf#DD771hl1@}g`;b&xL>!t*bC)B_8gzF{yX0v zGW@+c31FFN{W5}R#_4M-6mb^U;o-s+|B(( zakBo%l$K#w4s%0W7yLTuowKx3Mj_~Jk-W@zeGQQnztlh176r3;*Ls8XR#0-D? z4d8Lr`w)w|`rT}N;rP?IldAqCW;m8803V@SM#`9a=1#aGrFT~?t)@rDW94B0)~0)Q z@4EX&USB+>`$lvJy8pB0=aIt@ZwY27`y5QZ^=|Z@{siatNdll2bL(^x6@GIX*MXdWr54?gT0zUp85;UlizTQud&$q74cY8v7 zpBdPba^CH|4s6?N>+(!23~O+)7W)L)FKeKlu1B9xk5~Gxr|Luy8CV9p@K*Z}Tx<;U zaiOdY#n`8KL)NH2^0z_{WfINl?_&d>~a+%@vKCv$tEif3Iy+iYcWkCQp^ALGx>Y21}u5sk4l)c2{as@eUZ6DYJu>rG0 zm?&smG}h^`ZI{`BXNV5u7z^b{(}lz4CBXC#vfk@(I)h=sKvpE){HP_L2F`*YRFIxy z`K4mOJP>$-~`Y+XGZm3xp>C6 zlICipnbs=qTO&=3(O?D!o_@))WF{~kyFiAKIolrk8db=O5>d+y^~1G1-wV_jsd|e# zmDi+e@Tx(bJU86OPpd`gx9Opf1fF$NydtDwnCEb!j{3~@#(AZ7pa6RNDD#Gm@zb*5 zXR{Q(v@2T}M#mA3-&={8-cSb#xp%NnaGbw;21N{5x%6q76?V5g)q*y~ zcwy+89TS9OjS02rV&CaFEoxL@lKGZ?ZEn|Hh9C7kLW8GZTFV=wP!vlJGyS%nSZp^< zjb>KPkxTV{qkKy5VI)v`B0H9BiA1%qlXsb=T$f$qISfRpiWxqX^3oe_YGsd~2^x-u zhky|w6x>1yo-_obP7Z`*MIiI)+6@EIfp~zkyk-9)489Jv!ixcHg&OH)<}Q>IQ;ATc ztjUAF5G;+wn&i`U5)a3gh7m8ylJI;e$QFlD*c?BFn|>j!lUw8FPV${D+)%AT7a{d= zEg^fz>uMja_jg~?NlhkU2a^TqH$`V?;Q^$fl!c^=ot3BeG4W`kdAEY^D0G-#M*ouyyN7RM&tv`l)4-4xdu(JYkq6!+83cH)X$ z%`o!h4epQgU7PX_VB@QN?Q&riK7!z-mCKJ+Tei?cwBMYaE&kU>ZK4(nm=}?KMOhW} zi$~`Zv~ee;S%E#GKI=8>ZrAu~BoyU|7uhwJd>xu+msG>l0l+@RY@aNv^KY!@41Odj zc$(kas-pV-udQO4Z2MxK;n^o#EIwV{Mx9M69llNJY!}`ysB(!f(YkN0_SxZ(nm)^n z-`w*e*@d?~6>PY!+OTFOXEfiuPUSe37qg!Bb@*;Ho}ajnVZxrDm9N&9aL@ByzUX3i zMchksrkHyIz5nh?_Qu_7`smN}hR@}+asw+!<-#$|PQFT}DVD$UX>!&>N2rfST>RP*8-II%3U&~e3JYKeZUfr{s z&*#-IEIxg0dR$%V?bYk|{=9bE`d;Ps?C0zH?e2X(d9U`j{ogmI566F%v8-D2z2g4M z{Bt$G?|%QAUT;zV@X`AHvA_QI+y7rwYIuNmid{zR4VE_57Uila@xx}pjT1jSE-F3T zCH69QbzA@W=*g23Z*Hip{yu^8=ec6#S4W&z&J<4n=4<8e9jvu`>!Dl!gHxGXRbN^0 zy_CtbP)=|8S@6`0uVe%NvL-gEj0KHYiT}nO-wxRacr!AIFoTB2IT)m8nMbS*S~_tm zu!VXGIOYcGcECUbP>g{g+8H<)oSIh>A5vM6S{w^%ouM00spjqQ1E};Ka2%N%rW;5% zFdhRM0cqodoA&4$JKDH|Gl5Dj0yPSvXnYP7f!96B`9Jv4b+~)!oVPa zqP-p{0@t2cP=L+VCEAq+r-7}|FTf@!s^v3)0Rf&l02)!63-miS?RgE-LPkK#PXn!z zL9u)ia3~$D9pZCjL$HQI?`kpYZhZ!ZxKLIGeiW1b0YejPQgKOTPAYi15cMi_Cq9&2wL-2n8CF2aD-4af#y>-M6Xh2D2Wn6;!4 z*(}taB)Tc+T`hzuyPKe)g3|Fq*N@&FMCcD|L&{>Pt-}CsR$vYS}t)Hy5yQ=o?Y9(1nC@e5AFgP%RG;Xa*mBRQWa4@hj7%(tQP^+#uz`@nr!PQXB z%hB9LpUKnSt}#hoaa9EE)7cAlGP4k=k2orJ*^VQPBSSpCM0NTNkMYX3)YMo%0ZxfZSxWtLReuic~Ib^YK{(2tMsRj3*WIUP7qVz7&+#pO% zONQ^eX)bV<-I{(rLyXWfu^gSCB&`Rq80yMc4GfZ@P&gIAG3fB>{2A`t4hly#m7@{r zU3#m%F(vnx34agr2k`*Otd}JwDveCrbcD7*p05!`=ju|Qj2aRKTx#7X>Fb>>)t%~A zdkaxKhY$g1-+$QmFnNq?vLC_Jl}25w>TF=xg#I`I*oIKm%pO8!X}&q|=NzwU&|7ur zXve7eSsw*U<9pwUqhuWS1kqC0lj(nfNn`7Xt@I7K>%Y6BEsT9H^sp3ea5pzAZ$F_P zFoODtQ(d@LrCl^Od6b=(`_1V{oZRmwCq#FdS3<$BL&8vyCQxL+=l%laY2O%n1@9gy zurWeI&PoL=ICvt3h*h4g%aCHf+}U`-S4`JmjzUad{qi-vZ?HMnH> zjzBU`wVe=cyR^s~3KS7@syi+V4N@Wc4a`AZ+WONO(JC zKgL-A3_wb*iSu)DW$O<+kI(nQO|H^L0U}3nj_9hX3TCXhJOwB+PMFu?G6&N!WpS+; zIBk#ZN>;k%7fgr2;)<#Up6{<=COa?&cq|(Pif3AOKkPHUrRJ8`(<};uKp@R}+1~64}1~|Gfn*yB8f8XSp3F8X= zENGHxopxM?$E{f|N;T z)t6fc=c5>?$=V zSO$7YE_g)pfU(?^0o3eLIef75wjGo^ewB{m&f$hGEB}Bj}{HKtxYm6?G0m80kE$lUzFHPe-)G5ZmjP+cUVGlveF!;CNJ39VR7PWDQRTi|4CweG-*U#3lqRMy)K?|ZY;_LV|2^r0EW8@#> zp;}pYfPN3**u0;ZZzA~X`JWobo)$$dU>g*y)Un4O@pK}vk5$gYFv7d0YARKY`HcwDDD$Me%bv8W^9d^`8$=)1n>w?f=sA}5y0`+f6e7pO433wxNcRH>KX6S8wnTv6ZloN`Gf!z& z!Eiq}9M_Yo)|G08Uq+wAb!&+Z=kRhuzKGLAjee&{vM~nqUZZDg1+F>8wcOU1^2edb z-l9M~@{27!<4Dl0h{Ng-#U(bSV*1yP0j_>=^B^TwUP5Ytf4=%(bl14De#DrYsKvs+GcvhYB$tqof)GOm>TZX9(dkRcBNm0&;UWB!ogAlqQ;jp&Co zy6~e&wzW8nV^2g2L6wd3$4R3Vi}o$)G>k8rUH;C4btEv~333w56X~Ucv&?h+*=vA@ z&qR`NU}Fal!T;%3DxpKyzFR4;oP(2&!&yVce87-`_!9&1ot6@uLC}2VjIq@|2iqN` zhGPI-f-h6Zoaba9x|x6@KifnOU!{4MOXX#ElKUhie41IL7k(9`o%{Nr_9Za`keb@>8X5=Piwuk$n`j$Rv!yQ8_fkSc9tS6i>?fDIDI_u;qdK{DBTN1aSga17CEBw zR*wgZm+hBOD;o%+aAr*0*HJfu<4H0naWDE7G1S+Ddl~eQE?oIyGc4dQhbc!&)bE2b zN$9sP8S3*M)*SA@RMM64o*$alZ;sM_hIstbKXrB)Jd#rHOK*UcEjcLI0s zxcsuI?Pn)%RTnn+@#q^q2Ju8epkmF2Dw$&lSfZvJ_tZSia&;~Vh{?~K z)FxR~9DMvD|BO)EN;y!6@V+tEL8KMCD!SlMN;TnA9k&jIw!}=rSL3kkELZP#@{7r; zmdnlx+b!YsG?(5jg?f#kK6I$srFkQL3QkI+owI{)H}__Q{x7fw2o??VgyKbefzR@K z(HMqM8h06x{p|Nf)?>RC3#MQa9^K+8;%tRA8LHcmm&NRnqCAv!X{sT%q3e5Y2uDlonLo%UcTY;5BsYiyl6;GaCwF7`Jc)t7(`=_2dr&-CXFAguK>B5V{fY*oE zw}+?2vzTJx=Hp%c`-k<5_LTYdr-Rv_H|=3zyGLFxbpo&UZ*3c)%)k{AgXH4#>HdST zl)dfo)#K*!m+|Av2Cp?c?qXq*ir$`1#ZSE9QFU+E*7Z6*PxGte-X5QY-yF37{pfe? zyI1=+p6^b|N30C*!ipFBfsI1M{g%MxtYIH*2lqwePYT94DU(Mv!l%NSuQ)<-&L1w6 zwui%l?+uw(pFpBKHvKnFP{)T)9@qVNzP$*GO$wf9Zh$s6_C9=4{=`6`_x@D=gKvnp z?XwrB#~$OmHuVp9ACX}_mqScDvrl5upU#tRERtp4`xYkpmNx@TQ4H{y>LDk;SMPMhn@sGGpAk|e&; zStn#~1Jw`RCcV|;^Hj<8&#pRQK=d?9eAjmP&hriY_7q{DSEO3IFaHT9S#?C*bqy+X zVc01K-*i|#YFKrZ@Jo%MpSG|cPbhOod#rgVuK&yHLBEAR+{^X)i))(Ra}990V^ct| z(&OwjEQR|ti(B#d&ClQrC|H&4u=s{K(3Kq3veJE`aIhK+*t!4lR;$x3l||6irYptu zK>OIk<$cFWN&R}iy6?_?fXG{VG5FRVPDpiYBI9MioR8N{pn;IK16TKT_am}#IqG%^ zDys@fpE`+2h0uV6UpTFA_$<)Pz3Y1T#Cnh#!9eXHB4}0(n72idlugqju}6(StORQ6 zr59GN0f7G7XLuQ~dH1G&KOwyYE99WC>ShjsPgm6T{$%r|Lx4e;B)NLpV`fb!PKB*6 zta&(bsS;)0;ims*&8A-!mZ`Rl$#cr$!Jd;#1x`W9V=Vf4>(ip~l^U(hK&s_^@LPv| z)xz}C$?T)!ozu&(%o}{?*mb(|(r>4*Jkm!a~jHxBh+4GUALY z8uehrX-=i;C&ZDUmi%-@J0t2?}l975Q2)gd+hIN(vfB`$wn_2rU$Z`;X8+sh~=!&uqv% z|BK*EnF7>;@P~@z4rsI7{~_@|P;uUuRX9N@pizGp=1u_8qk;zViq-Igkra{fza%n} z!clu6!u_FoF43bAt>gEoe>WAlh&N2Rw|8M0WbsMp%#(HzYqzFLMWj%x9`-xJUnjq$`B>Uq?`PFHn{$DcN@e$m!k6`6mCutUY%-bIS2SJkIp^4^wVLy$x1*cVe^7;9UGoB8B}3n}kl& z;=NtghqpaHZR#i{TVH$E zD2n2lh!tlPCQq-2V#=%a=v`Oq~hsz^-#5%LK(#gKQ3$VgoGNVQ^(mZHC#v! zdU+i*P{s{SE52|hFT+Q|RzK@yE1D#Gvf!T~fuZ@n zXl~i8&TGfaaN&3{TkHW9G=IX$`}>YOj_y9rzM|Rmqz-I2xuxIRKQ*iVU=n`r>O}a+ zFE==}v*$0%h4X>gnH$Ga$ZJ)LP`}Hb0Vwe1;RMW6520rEux`&c!f&^Dp24&I^hz8& zvAPGR@PQqu^mT?Rg}yX;40B$aX|8$j<~`zUA_KUhiCN`i2K}<7{+^yVMaDQhRe$TS zOH~JbE0U%&y58u1TSD~Dk4?E%W^VmSSeXOcd=bGv-^TlCoX&9n&6lk0YB-{z+9doFsv$Z;lVT7?_U z+G(|h%)B+Z*=5W$Jw9H zM~*DU9j`6InYYZ()5Fl-uVARl>0T{DP==fB%_+k-WDhFwPnJkqPqz}k|C+r#=`kMrprjN*W zWbc-a(gF#}lV#IpnK+B1%@o=__Cv&eT^(h02u^9T*0>3%ysIHb0dtu?e*PKP3w@!R zUo<_cQrJyS=r)$HrQ;KC+dv-CN_tTngFi9I+jyPIr z<^*gUBjWu$V$-r73d-4wQ_Og)UB>D5R5X~Q5H0aNR(DL^E(zcygjqn-8>2}>WYhTZ z5NRVd@<_BPe=UcAubWErhF;j^wlhw^xmZ$7hmBQf&L5DoF|Zd~;)%{UNTR0rQim$I zDg5%TS$s+uaNXCc>^z@eq<_msICeRy5R2ljzDWfwg1MZ&si{XBUFlI=wzI$tPl(P!E(ye<&?ve*C_#q?V*^ZqO6 zJ6^t`BOz_wSpI0KX|0J$8N^%s?DeKKBR-l?q-X&j*2IBngG`AdpWAJt@89~TH=9;D zSI^E87Sq)GlMp_=-M>CA5aL$IqGqu0bT4^w)TkSC<|8Pmy)U!k<5?=JIo23dytvD- zlYd|RGbc=$-Fr)7_+ijHzdx<*b`Dc1bTx{OXC}TRZ{ZM4W3a_RouTi7tG(G|hIL`^ zX5PZB7jjk7NPXPb+sj6wLeIcKKxbf1MK+bH5=UW8Z~nXMkML5;Po{_74^FLozfy0? zQx22JW7~jWp(Sh$y-Q$(w4`mvo`5r}j2fm5f=~V9ngnYeQOt&6=Nrb$ki|Phm_tlI zCiv|v)trhIc-pBRE}rMG4Vfi6MK@5=*-I7hQT3|cOI#y-tHIeya=fdc|M5Z%#4cR$ zxKgG)%DS!Onjb~!xSC<|D$K0bC?tum9^Hu_Gnq?R;mM?_`N1CnT00DwJ|DR^Q=8f- z&abLaZP8D{Nt)l1?z_2ZPw$de9yqo1rb;NdGZtnUwhCswt&Z%A$;ggl1G$nw*b+?&aytW zK(M&*HiLZGWd+*Dre!-)J`QKp>&~mZD&bfuVL(fZ!(>I#?O?02f}&-2{|HYT4oB zgmr!V1wq})ZWcIffW_1hKuv>8bTf8Nt$8 zXDj_VhO-?2O7n@xGqbD{FRN%dtQ_@tQ7|YU*i&v&TPG?{HGKWB`JL(M<**A%%3?d0 zVU0rsX0@Epmzw z;f_pK$)lf1g_6vas2&)`W>HUY@a^?_RNlLz!(&AL!Dl)FdeXVse%5zgdzTMkkD_9A z)ilZRGadY~f@aFx|M9yMQ^UYx=gP2uu-|iT4lr@`3l=1;kU0%+ZAdK^rCS~b zN5lB(T;e0B@E?qA(gDec9m>D^V2?+kX?fggAT-iYwf zg|>NY2b)`V2sSBUI9XX7iXI;vU%nMjZhIm``%JqIBL1AZ{SI+YSC&< zGAk|%!ad#I{xn|pK~uR^FRT4k_w-R*iUbvxQLq4cl=awMM&l$)eb)&2?5L{`CXYCX zW6t#JZCH0D>OoQ@_P!-PqG5HeUv@R-sZF~9@#Q(y^VO^c0cPjnoy`qt*VjzSeA|PS zNFqIRnbL!o*K^IYdB{+U&8Y-u1zL%A!f!)D=MpXzFo&!bR63aVD@X}#l4AiOOAYC( z&>i6R?znN1CD9DBBa?VmJIe-JPrOzM+3ZhI>q^)K;Tu}ITX=`jotO$P*IaIPi|(GA z*luv0@V>M#GFwUg7~Zo^F}UY24ZH>-IJw+)47uE{&t{JaDIG`%xaI$%QFhJF(eXkHDr`brrjYy%$Z5zJBSxXGSH+2EA5x_N! zI6{6cl}veUfy4tZuz7JwKzHS0k^MVG1v3N(Tf@>MYr7D@_@8d< zVN_PO!tkRwP@bLNQ-=FrrUCV;x_pIxZT88H=1``((q^iEy-clO~gI;FPUYAw(9sA`{v_q$xo{DkMNSe!sq@Se)u~)m{_c{%#Z8Z;XCA|x6R9}U2%}NS7-G165NfYaHVP+e~iv_g20X}9V$2UoBfJ3 z`-d6JIazRKtn(0WYm}M(!XwE}GyeChr8x!$iX|LJq1++lbLA_Gl4nIqHEx1)Hf6yj z+?MlpWE@a)RdU3Q#9~z`UtGikJL}X@;%rY;}%sT ztC;dOGSurCEgqx1X}3ZlvXq!7$-GyX>x6W?_{SuPows_lN<-FjNvf z4q;u!b+`Ev@gYA>b+2Vkwaz|WW=<0~`0$R;p$*gFQHPyqYLr4Q$6@6$RT8)$FDza; zuYRo?y^*&8Nc!wC2S8?{D+#9-s4|OE@zIshwrk=yCt%fqMTh9)(>QT=4DU3nla# zBbTEgW)`{fy%=AAU{zdgqXYGR(<+#D!gx)}55ox;53S~0NOQHtnr*C2^C7x^81!?To zc7g~`;7g1Jlz5cTmHMB~hRq7J&#iT#-ml86C=`*JKGc)0Mx1atK9&_pid;r(lx7VH zX__jET=EL~R>hF#&?`Z85CY{SMMB6)iS!x&Z4QB`QC_kq23K$*+Q9)`Ddk+F+#4>G z8XJ6-_W#T#%?MQ1nP>3v$j_jt^w$5Scr2d-gsZZ-0L&y=DT>=fII%E7-M%RuRgO&O z=4YHqZw{23qSxuo?zdLwE(l*?w^rI3kd#XGbr1?JnHZs(fJ!Pz>d!yu2(7ykX7NpTWayG!luIU=y zX;gKRCHLlttE-EKKzg!<15?2>x)zWq0W{W}7ZZJ7YETqEB_^18iE;9_GN_Oy2aTu< zT`e2+3RYm)?gU5&$`PUQ28=?I!whKrfJQg`iC~yJVn@w(90b;C8dwi2b(h*2mrt;D zIADY?{G`u~lD`~rr&ITJr}tO@2T~ZAsU=57z!Y@hJ7L{mn=4O-Mw^p31?EipAsc+4 zC&n=aM}nb_{BEW&Y9 z*7GaVh(WBn?KJ}istkodt`#hZc!*RnQfDw#I0>Zi!4X7qoLOuf@%Uv0vju1fXIOUg z*k4ENkz^mZduAdA4}Eq_RT-qJ*;$?wFB^_)AdD$-oFsnn9&s{-Cz0E@c|LVa{*_HF~ihzhf^dg_#o zw0kJNf7?pK`m*+(Tl9bpxv_q-U1o??<*W=|*nR1`wS+Id3s22+q@uK>i>|_jN<3zv z$!@SgRuhZfO)n9cc1|?|kkOFt#sL53cKyy3C2#fRbOBvYh3}$>{aj4J$*}sf>EssF z$qH3U9&!!i4b0L2SA;#r>Mxy-3EFn%2AC#0=~_e7UDg?+-*%JmEE&rvr(`nfS4o3; zih*sK`x*0wc4f`<)S$*h9?M0QgaI>qqj9U93{cS2pFuqTGbm|tkMU;za)39&1>@j1 z)z=DSyL0&r%<=mH-e~rB-W?bR6_Sm=``ro5&<^Gl@5VCfFKNJJUueK~GX7|1q?D0c zfN3(No{BK{-N_hAMG`cKa9POH`Q6`+%ogr)RP19urS0VyTnKc8bW-@EJvqUQi#2so zAe)Ce`69vv-;(XxlX6Ns(&i5(TqC4YrP-%Ryq0^c1j&!A1piT(OSDhqCX#_U`KLnn z|EcgY<0@=2ezSthTRB(sq~x9RsB?)P?Bzi2cgB&~s)BdydtPdT;=L%nWeaMs+IA+- z;x(I@G4Y#3zgOtPht2hFhPQU%j_gonJQ=+(G;8-YhFRvv(Z<7@gTv?v#j2R%xxI&d z>-;DS+d5{J;^JikPH#e(Dc4`Mr~Q30r)`qays&jQ2B3+3k`ZPGfbuEpjK#0AseXT@ zMVWNJ#O90t5b=@zC49(MP@G=z`j1?dN_XR4eO?A|^!~u`xX^ZF$(5)~p?-A8n-~}w zfmKA`Z0-3u&0-G&0=5(^!P=l71Yu6zWrDjGm^qHToXmMX24O4+-%#SKY`1%c)Dgl zq;t0ytlSVm3A~%ozRn5juRKvQo zZ=5#;ZGxqa6n4cz$?F=SqXV9dae?qRVl{IoIAdsiQ9-sZRa+CuJA^37iX@Mr6$k~1I ztyCe6>fN2hEJvO-L=(IERrD;!&(gAdCIFwjZ6_e}l%vue8eJZ8rr~lUFxmS|B+r^C z#~Na?`^Q076W`}R5yfsFdVGmlvq^w}YguBE%#h#=N3>O1z=_c9kl9djuRhkI9L{HFLG9N>qyZ3e5V#U8a>f9BL4*m`7 z%4gQ>50gJRDsQ@m+GZP8{$)~D_o%Zl;!l%dNxx0##~5)Q#<$qelU!F#D?FxUeP zfCUF#mL`-<7U(@|*#{FEKr(F^4BZ_19)}OK>)3(}Cj=7<2nRQYY9W>RLdsl1%_CZQ zV-^+JCpUHnF4cD#j|9Aej88ebVeENL$Lgxg|&UgrtE z0TX*JM)vFA)`WHY*Fr<8F={U&8ZBA}SUhA8A{r}c2N>@A2;3jgH_*&9oV!0+36p)j2zQPKLh>BAx@~LU2FJ-v^D_P36L)u>TURd<9bxv9|$t zCe3rrIboI%?CC8!~%YYV#YWRz$KktLR_qsIV?k1#7CX)DBACNf{`4CvdPMfp#rW|4g2J zw%%XKtLe1s`Z~Fk$nuv$gnq=mW5Vrm0_w>gNE;(n>YP$f8aVG#LJSCXI#}qfgfUi8 zQVB;jnE~Y!U%vp{Xh6H#NAQ|={T}&-y_SRug~d$>NFjFvLE)o)BXWWcHM5_Q=Y4MQ z08ltAT{h3JCedryb+TlI!@_yA>&aZImRx3*bGo19Kwl2SJF3-~&Q+e>5}bnl%=qT+ zA?w%9f60r&TN#qkX3r&fj;!RB)P+&g45C1$ohJMwl*k&!uu@k3hs=4>J zqX%IL@iP1jeUqZAI2t|tEO%)z{fT1gGx<86;gdb*9B($=NAOrg_qfMK2fnNFdojgM zCwSIw6qfEmBMwI%bQ{ss?4Fz)DZ2T7vBx5{SOnWda=t1%%`at6K7G$RRzcq(t`MoZ z4t)9)WhSP<9Azh}Bc(|9!%T6<(|uen8aBwUY`aAh_^wnXX}6rV3jp%8S$vZv8@-F07c zL++ajfJ%Cz8gc@_=9oF>Fe?|rr?d}BUdRJH5~2|hB0uPB_IXRfM78r;7E3n{K4w$z zGlMYP61KvED#jH%*c!&waUOd3!!}EIJnp@n(X`w#BU|@vdU6@Nu=*DWV%%S(H-A#$ zET{kwK}mp|m`K};darJ%XO#KUTsuJ+a%5$ZltHhy}R7*1M0(ByP5{Azf`XtBC{ zZ~&vaUHpFE60C)Ce^HVG?Ml2hlKbkV2S@SP{`AVW^M#{NNLcbWQP*^}du966^B94z z?h$eqC={v= z#O~xO`nV4(i2Z<8biFo;xr~>?mff`h82hqFa8N9kT^cHMO;}Qmt5k|Qzohny-R)7? zjbc)Ponq4_bJC-FE$nF52DNB7e5^VSfn64M)dWXZy>?9+>L9qGl--t zwjBGJ?)J1Sdr}5k_#?X7`LTCzbu=c6Tkq3v!Ov(^H*35uAi+WZ5ge3V3N8Gn;NIVY z&wmT9A~<$)XMNB(w(IhN7FHwCq`yxh8MP}X8I}7B*t54fDLD3Dz)EedW-+*vLtxm? z*Ec}bqK*w7VeDr)#{1j@5x>p=1YpTf5r}9uwv52q-AwQwz|jK;z?8(9(yb5B!pN#n z*w1*?9xoj}`sZB_qKeSMQCt?ws)hBeBGAHqots~1tGTB@t*VH?LtZ6A<{Xgg+R`n{ zqwD;&e!!1tU-$K|gG41;i=vxH-XK52^9aByt={RvAQF%?c~DABJ2s4Zna_R0u8?7l zTU_Ywe_~&&or`~+3%;0hTY4TY49Xt*S26$B+_>jIm<(ytjP0O+@|y#2>)ZlWlnq)K z;B|iqItoLl_K=5rx}zBo+If+a+GoH#uBYwO*BFfXhS30tM!sA#a>Vx&2( zQ+O(7`X{|0i?~V_kzxsTeFQv3)DqpiyX!{O>G5JtxI8l&fS_^D!uu-GMvh^<4MOXq zh%rcYY&)PMSOxgrr=yt}d3A^qrEYb2(Y4XLV{xI&F5hM#ynWCXR4?n)2ql^VX-6dK zn)9z7b7nSDybTzn=5=KjbHEij>4sPUhf(aS$VJhYWki;kaye)o1A)3Wu;JcebxguD zOhR0t-k2?(-V3Har^PzL@qH+;-V2;5RY%Yp{{dt%$2Cu%YuFg>!U=;OCp~kzo{OEp z1ZW-vh^anIYlX z_`>D`KJ1iK3N{>BnSkg>xJH%wC;b7(U-ZSMmI7PQAoKg%Er9k&@b>*dj{gp)g&f|! zf4Rm%C8P>~!0+w=dU!!%MHsWYt*4mjcs#?e;n_TFzk%L`E z_n~r2RJO?b{A=N)k}|%(OIj{n^o!DYq=GZ&W;8Gri_Gt2t;LOpGrFsEz^;9LxL(M+ z39;OeIi!bmb&?)e9xO`f;XD_{yI8*Xdz(e(`L`(VV@SQD#NIsC3?~w~d-z#>QV7|dA1T&pKhhaca)?V^FVs|Ku=vz0(I6^PBLW6h26;yLdtB~rg z#Uy*}6mBdf;C+QhVpxo4V=sY##l*wu>4TD@Brak{y@H@OIs;HrNy$~@%T4I;M6$N4 z!aA|4GbO7!IDBl;t4fLHG&0&T<G3KdaW+OS&7o_353xA=G#ZxSZv z7(Y3S*Yu3^nHI;#@L5=D*)l5vhsK^~eAz4k9A@(2_H}H`U!yI5NiJ3BQfg35k9~fz z_o_hJ*iY7a$3{PXQ#B?hg7PJ4?{U@wrct{T*Io;Z9uqG~D|M>E4(pQ5y_0cOsm7&3 zj?_IO$?Z#0^z+4tMK=(L>mgYxDMN1f8hmE!}10#A#+3~=inWl}PaNgcj$ z>90C_ke3pbny@Vov{FTWVbCAb(AN*0+D%lAun~L%l}EaocW=KaWPC5}&S)NBWMU2~ zBmgz}*h|PqmCaVn&JA^8gy6xhZoEz1#Qd_NVu>_kcx=nBFCvMoo()`qe0mIOi~R2u zg%Ec1y$wlyfvE&#w&|m2MFoF_-D%7kIDt3o6B_2<7`?T%Az`RAiV``$X=$_EW$?DM z!+;nQlc28#qg)jDjx{2ZB5LXmC8&h3BMn2pSC3CQ-dseg|xS`hTDCPszc zJe3+81K@OW5YVVlqV)ZU5gB{SZv&3*8j_A7hTPhNXg?_Ltuo{OYLV<%5l zBBCUUTe9`o#f>qgZZ8JykAo!01!=lrlc|(jP^^Ma*F!*uu678kX4NI5u$j}hl+8pK zLFLgX9=e8Xo+FlvN+Ajzgpeiz&3sOkk?9N)L8pf21#T$}eWh_6f-roF>dWWV)rPf%Mwrq6r-8f2%-5{ZmC~&lQnExw1x;jay~V zfg&%mUTX7a6zo^GC4mbvv1dB0cS|8iV`<;#76tdnn9I`RB+Spy;Nrf>JM7S7?2`1h z!`O+Xr0?uONKR8%b(4ji=kL#r`piMGP3}==t@x-OUX@rylTZa8YJPhI>%{uj1GW<_ zmMd~&F>sYlBKO0h*qs9aLtueU;wWZ9~xPJh0>>3F{H@as$I8 z#o_BO1m5rV87xsLfSyq$3zX_`*`l$we8}Kw(Nsz>X-iIUY*1HFaJtSENJAg9 zwJ8c%K;Mm9^po!|sOQIvL83-_*txP0OfMl;XoG-M{sO}O4W#>TAp74ybN&;ZKvsP$6wNC7+CxIYjC%0Y9B6SEyAE$F=;xeCoPe5w?}d1hP)798!|XRI%`2#sM_ zN5Tp^!Ucc$z>*4NC#v_zXYtX)i^jtD)asysv=t`OpAKHbju#u18sSh00EE0R5RuMR zD9CA2FA)UAp%*`r{pr96m3r#SOCz2O`{x;HP$mX-i-s zCxaG4a3hCq%oIBT#l^1Af*ia};FCdby5q7DF-1usAPX?;1g5xUlb0R@rf?THJ}h34 zy#3d2B#gX*W_dZmz+9?f!0`WhZeP>d)k@OB!ravL&m;VP`YHKRbtg{`*o{Ynido5E zWTWGLQy36K2IIRIskiq+<>hnwX;leFAL*Jwr}#y(129HnrAI@Dy9}d* z-@p35dU|y|`L(WBavk4oBE50l?>n>tmjtR7vN!#&&J1?})SGK3w~;ryJ6`n$U2pr- zd#CAd4`*+Wug4zkFWJ-M>-v{ZH>d5@)u?A@*|(sh{TrRDf&z?&IPKk?6~s;H>-)2> z0Mzspk95Us4b*WDL+;gKk0~P_p6BkxlYQgXRm!3L$eXjs^_SAt6l6nN=E$(CH#eAI znaevHKkMDw7_RDZH|NV)i>JCJYJUe|>h2|=m(L5A^_5$#p`V^$^{s!A{X>cc(BJ>9 zN#EbYW_NYmub}&ZsWtEn=zQBt#`|V6?vgm19g-f_oU-Tb-_q%^y658D zpMG;{edB$?y}Xc+sCXbnN5XSeV`vzbwUQIII=J}5zY6(s?REF!1M~DSf3<@X&lX;M zL&P|~Kl46Zt=SKQl@Gc=3N*T-UD?5Og5!+bbSiy#l5X^AfJU)(H~v z6Z4S>ytzH|Z&cj1w^wg6x}%oQSC76>R(4llhzn0Fw9orFTeL2nShmlT`>^p5$xaIw z;gZt_n}mOfNn|F|-FdGK{^eZAczsk=+%y=G;7 zcm>wJ-1h%k>AO2)TX%e(O?aRt_S+j_A1%Vyu7_=DB+l-t+v)L@ z8++;6jI7(#c0-)i!Gn{Xo1aX3(A-5wX%FYOPSYN<;z8-JHJc79x4Nd|PH=XT%+-pK z>o%HzXcHcwy!OWWW^?(lj!%BVOXW}>^K@j`-t0c;s9@)l+rzLyS$sCP2T2TJ39tv= zd#`x@p!h|owaI%T-z@5P^aR_U2@!SZ%^Trsbl6NyhWGnBS`JOq+|%hN z#m$zd>gEjG2h8sG#8M6`hEa}{jHa!;*}5TT7O1EZ;$x8J^YdCgUykY+j6PfV;jl>8 zDv3lnR*cj`2(@)+kA zN@RlenLH_g2v)2qM9`vG(uJ--x2uC#!1B-q%1W$O1&9W{X!hXuN--EkJAT;T@>Any z3!^O~O6|uwiJ35tbN}El6oyeFwIv6yMX?6KQ-SUPK6$SVu@K%A;4M3#3l=8Y#~9F$ zzm3yl9PNm>bv{YFdox zX{^`j1KTJzhaxRzF2$-x4VMbR|uZ@xd>w-cl&TrN&i&Tj=vF z;V)0ZS%~>+n6hg065wVa9~()@nyqa)DY0g-X9fDeZddTq8CrO!=wmh9j^FoaO}MwV zk5>}V18`Yt6rOqLy@_2Eo_0b(^P!(aw%IWPM@JU_=u3Z?G>uXJ8!cgO0U8-xwG2<6I{ zo?DjBxS0tV9Z&(ca~!EL>K9##!=78MK%a+}wJekPLZ^OlhvbA>0V;=FVyV>19|x1X z2O7(jS<_cjxQ)=yRES5$4T`)d;Qp1(7v0T)%C>% zZ_2d$YHHEL%ZCBDh2r_H4<74yuGULeAlozg!a)yZsNbnhaKlyaQ9@yT!SiQJ2RYC= zz8RNc<5xyXHcuhq{>V&|kpZ}YQ0<|{*p5JD>c@qOL?UQ(AEK@w(H7+U&KmtTz7Fj` z(W0xb7=Q*P8Izj{&$HvDq}0es{R=BYb|Y{P9=gEd-K4(Ri-t-k-X*o5WQRgixnR)m z!0MOWV1$3|G0w+Sy^~6Hq%|YkGyLg5w&iU`KYv6@U6f|{crl(+BRYS{mfD5D73)uo z@twV$R?uhS{}J{Uz;SF#ldzbXnVFd_W*9NcVrH~O7Be$5Gcz;GVzQW77Te+--}~O% zcfWsk|CmrmC}JinGf(%KI@NQ!G-tNO)_7g*y9IFu?tYl{Fk3Vl@xVU0HRKO^#%7y; zoA_kmrZ~^2l$yVPwR(%B<_{RhKU<;3@{r1Y@FVz{&kdd%iSPF8Q$U)}xsB|Wt$KmMgRKUU4yanRyGq$1Cx~k;eJ1!-x3g2wvonYubg$+r zXnoJ-MoPPMVqC@UCTVH1CCcjMr7e0Tcc zf6Crt|7E;I=)0|IvL;gKnxo4@@xJX?$F0gJp?g;CY1&* zPVc!GWLZXH{PC|evOZA z{v2(?Py8i{g1+x5A2rU(3PqJ6M@|Y8Ci97e>cB7U9vmga%nU_*q=^Vu)!9`3#UH^d zk)V$7>S-_TDI+>1bU}u!H1nq6XBiZ>XTujgGqrl;Zd|P@XSO8Gc%vt&VX@)Zh}vzi zi`LAB+8f1VQ%%?q_S|TdvTzzo!rE2*R5*~S_qHs`3)Ez0%JzGtVaPo-U>zWhUlU`N zYSzplU!&AT_xXNt;rA&mzgZkRZS0%;rdV){*q4NTgNe%Y-Gp&O>9cy-QGe&eApC5M z^K4eJ#Fw@U5AE(atjez0>e4|h)8}zRXV1=tn6vT;2#F@mU$+X{_ycxwhh8d`{@AC_RmDvivNQT2hKEaXI0|kx5lwu`LNEV*UK;5*l)_Kns<5x$ms&j(rvf zs2`ceHQmVa-peEx5v0;pvk6)`tgt%DDp9UZUgE?3afmE_`C2mno%Wll(M8WsGoPvT za^JF6FS=3f#~h22#kyy(9r)jF8CZU=BO`AClTSMeU^!DU8ZCVU1UJ5RJy5`vX6TYZ z>UTn{)U?6i@U;xqzCZwfOo%ilpD@6| z8)@`(vF7bk!eSF~S0W7SAhX-K$H6b4iCs2kVrR}!4SXgkJ_m+*T zpE62%&`l|Rj(Ti4Obpk%9__1G?cTS?rAv1rJ2D@i;|Ph7j@Gn2FK9?Ros344`__$6 zd{%8g21rhbAuzWO*VknFYknDB#iVK^?_Y(mlc(2q-(4YCPI!D-tS zsazm26ec^``1QB2!mO06RPnhE@_B(DD-O&?=Dd6$!mkptT|@4T%z7cW4PGy9N3V-5`9KmJg~?}$&F)=W;w!`reCILi z!W84LhPcf^Uf>8V(IRc!Z%0c$7{TOJwO?GMcDJ~ceYH~W53LI;|_1R3Yh$a zTFC=^Y-Eo2{W1q=_m*{XXI&0<`+JEYY1=LSB{jv-;V-GbN>;k~q6TF+jBc%&zhYcP z7Y_>WY(+tAWZH5q06Ms@9QPE!AMG98lwOXv-1}_>fBpZn18_v%<$m38=4|7}LI(Hu z+J|rBUV~H4c6A_I$wihe;9gNE@V!zH$a&TuXVPXMqi=+FX+i!4b%n@l+N>;B&tDg% zGtdnRwLU_!k*R-o#uL?5msVE^9EmO9NT^&*D^_myOqB9wY5p>4uv(6i`EB2t+MgTS zF3{N3-=5=8%7G^HYl*WXnP_j&cUbwo&HeYSN2iBeOSTtR=*~t!Tk0Lyj|MB2`{PB!)H$T(6=u{#Y(|6BHuKc(`wA?l$mNchiX^{1;NnP7=%s4V~|pP*WGIE z(`q9m96snDkINuYDgOCq)#@cuGoCgW?Q^@;X3RDMF73bX*(sPiE*8apxVhUXc-jE> zPN@zL=-LeECMwF*kng$=(oUCSe|ERg@U%$-5Bcuj(#;7{Xl7XEX_LIR)wqQxQSsH? zW^EErafs=LtO3_*%dC{BVQf&>=DxF8VCy#B0Z4JTdfY;5C0?j|7vXX-lBtW6zMFFj zRP0!IeGAWTj*UgFyLsZ^LE9mk%;i&8^MzUTaWZzUPl#!CYPP3z1hPZ5j6=0wt2dbe zkfOWIE$qHqQJ@3QuE0Y9yu-At1ENdcEbnYfE0kdq0s^hW<U7>RkhWf4QipxH)``twQRYWd zVLxYGYD8X)pSUu7`bg3rdp#Vq&*dekBGMctwc0Q`Q}H>;UxO{sj>MFr&3{Z()6M6+ zx7#b2fIO;}OdgIo6|cBiy%}45zSI>tc_77zJtZQ!3L22U6M6n=Osgx*;5D^ckk$9O zQ>{cK#~8GZ5Cp%EYI~qK**oV9aO#${ludGJ!7S!REmpx_-{tTb3L+J0v2=pbJMPKu z*TW?(iwfOCrmB&6rR^#JlmO8y#k9_xh0fAW*b-_Di(eUeSYKAd7ahovFBME=;8& zVIY082nehX91&vNrr56I#Fv1u{|<=)`tOkEs}{hJZWn)r@l&1A;K!hoY)D$de_W7+GEAd3G4{g<2d0 z!aAQf+8Kvlc*{Htgrt@DphFCTd<&%?h7=543__nJb4JcuBNomlK%9=%f4LYf9JYx$ zQBpq7qg@AL07|?u=>}Ig41^Snp9Ay?x6o_2;&bDK4Ju6fY`d)$CeG6eR}c&zTQIK; zsup`NYoKmgKMbnY>sTK6V-00C94ZJ-hCgXp4&NNZcWTq#j0xb`@ZUqTqyquc{y?%q zNOtWZ1|cX4K@|eCceD6QcJ>ha72*b$X})9X70b%N_)8=QGbR}dH%XhjBi{eyBP#}B zOy$a?s{<+d-i$~Z5F>BYgW~^56^Feo7&i*Ve>fI_&+womrpO9SFTkS@&vGbmrseYU1c=#-g4y z8g=m+wMaYGN*2C=pRC5%p4$FI@;0h>)G!)_*)P9Jr*kSM8eN<{UVSu_tN*y~dNfn} z+F!{%Ur7wz*xyy;TnyE#Kb|$EQERGXT&dYWeYiQP6Xc8h(S!P-?<336GuBi$#nC&9 zBevD$&W2DE8;2O*zu+*kFuHLuy%99J-7!ksVMHK739tW1KQsojUn6(G|EqQ{}G z_bNH0+HIU#Upz%~k#L4fb$cb1%$@|^bVh^myrGa%xVsKw8yndcOmvDa@WfK+E|0q5~>GDbJ zdcQFhg!%Lc#aXeDSH$&=(nW>%p&TdasYr1+XXEQz0@m&W5O3%_H5V`mg8eS`WK{79(F}v&ioEg!yhWeIW@@1NXPJNlUoj zfWZDX)4*GLZklohgYhi2Z%CMdY=?Ym7vq?qDNX+uJ!eRV@cRA#)Z^fbD@Wdfcz#Zy zbMkO!c2g+5mHM!^djQY-G}wShtEg%HRptAa9g%@RiU*SR8!s_IZ8;jy0eFxK?P_K4 zYSge}67QG&Wp7%)q`=NY%`9?hIqWQ~4NP=wnPq8E&1fbcLJ&1VV^5*)30uCUFZ@|W zA9Ty-7wL=edL_M93N0+}?aPyk{du4`mQDJ*E^o~|8p-la-*P}OX!3*=2+=DXPn9&< zg7i|l5u9-k*v8D>^md1F3}a8FWu1X`LO->!g4yNM3W z@z0}7PobugWGsOrnBo=SDj6nOj%XUJ>L7p7m@jTA=??s^hGf3A6j3Sd4Oq5z}w zcZ#RMQwD+;kLiQ`XHH8Ixn+pvL->qhMk>zrA@$sZp;Z=+cw2#(UTYP~Y8VE$>tbS8 zyu!i=U^2uyB$Xb|wL7hZ#I#-)D@&dq?_1H+U&Wh0#ewA>(n0zjG$*<3h&aMyXGl82 zyYVP~b5spe_3YoXC8ofpXhqHQKcZtJxbkVSr4Vrg4U#;uKM8TdUe}5G55b?kV#iOYuTiCs_n3P0I!WOm+x|MVq zKv`QGx|O=j@4_RN$-dP{HJVh_kHE9d>k5WfDC`Qx!)Z4grp)Wgx(vJxxa9)lP|}wu z8Qh#niKd`o_M1gGd?=(LV13HBp+8*uC4H9E+7Tw3bE~4J1bWD*XNh;nXj=E3k)8!|&hj08cvebL(f{_B73gVytaw!UH^gHZ&kn$ZBm-kD zW>dqt@gLMGf31I^4&x;ko&AMc9}?d`pCNFcjb)>Q0~N+efMP9EwOgjKqohIarv+Xg zQlt{Vv%*@06v)snnGPMsnFYg$X)}a2p({e)$+R4Xh&zNA#;N1C6sydwTcu139Z;^% zcY#ke9BiEjumMAlGYX~I5|a~c_Z2oDLSnPS;-k;{$7CQ}q>nwW~Fde%9PO0#;3 zULg&`5FQ{XC4$rVkh(fA`7^f7PzZuC;t(EV-`QwcCgXA$2J(m+Gofo3XOwmA%R$|O6`zownx$Mm4-Zr@Rdan~xZm&|)kscqh1D+X5RWE(x=2`am+*cy z52UNzE`3WxYA*(#B9irWDFXG5%C|GUyijBuG!xX^7&=`{d=S z!)Fnu9u?Bc@d#?HUbqT`weAE_a?ZqjOObhMpAj%!RFZqt5GInWmFuY`Fku1L@3}3u$?<|72>t7wXIbDv)|=Q!>d#s;o4s zs?x*%L@k2-Cn^b22qp1i9aS2l+P^H&s{>jP50CZ7g6YnP#3z#b)ySPPPt+t&P37UN z#m)#iD6=hfwR-AbH3c0Kb6+tj|Kht3`3HHkGvd|-L2XXDf(JjiFzhV^+9qI47?V>l zfls~ayLf781V;LaFlJ-w+<`+TRG`y1*@-5QGO!jrC1d6eq?}kF^*<<+f&G&*Puh&R zt^RO^A(xUwbS#A;Ca<7H{_hC0c|LaW7-JJ&CMn{q3@qxVSG&nN&G%)>GCJRVl`gd= z4-vG9B>@}@Xy;35Mr-FN&m*q_E`25${Ky?1(8Nr zvv|@Q8wN$!ZNbKtM_G ziG}1;=;%+_UeiwrCZ=3btVtG=s28KD2lF_*k}A~5=R4G#&HNwD8ff7;m{SF{SN$w| zOa;MF?D*o}zDuuBMP;YG)k6j0!*D+f(7|wv3ZK{iMBIhiiLb>V6faERp0Z1}zZe&i zrQ32$bngwL3rR)Ttf$)GRqw;Sb1#IAkL9wS1)ACag+cJDGm&_^yiM# z013kHCqGEEm`@)4GL!`NY)s6%*LUB*?CPKXiWxt?nLl-a1PhG@@R%P1E;J}E3q z;>PIdW;@jIl>aCVfdeX~Py;FjC<%hcIr7CbZb`#hU?|FN=@>s?QxHh=q~>#Pu!aVK z7Xc~py3aGjlJbl9AAn;?^E@t|lO#K~jkk3L4bJ?6?K!vc!SEvAbyU-GqM@%69`FxR zJ=<4=>PeM>Ox9KF0y9BLbrjc0jdv9Pks9YHo{^g1ID`lz%aa8~vg=w95gCsbgFej4 zk27?}{KqLKF^4u2Abn~7paqv}@j{lE)f~1&WG#~2RaL1-wSir#{aZ97p>0iQbNIql zeAv*!+jKGQCj>MkimY2x+CPQdwaAIGJ{$_?U6>}OWO%8(Z|QnGVAGR_1E^di8StSq zAQV{uHBENqf$)LV*wT$RNT6BY%}x-%PLb|{(8f7>BIP(@0Uz!?1I-ZUcv0>klL;T1 z8Z{}$^Xi>Tf(^L)J1kkbn07qIUt#&u_sf4KGtl|?vq~qaU|N2zaIO%3VGCA)%t)<_ zq_Y)nLZHh9mFCGV^RzAqLYJ!7L@PG^|N6}DK46L0Aci3?Xy_kgqPS_L0vnq7uecy- z)3L_KlmsyZJQ(E;CFu*7G+dhtytgO3(*ji9rp-tq@G736d5E~vVzWUTD)eUJuJwo9 zU~h%=oNbzBdLF|vg^UGAWLl00jqJ-1<<&0i zDJaKwirReiY4ssfT5xmo%e3o5t`#7By90&+x5Zutr?k?Lrs{UrXJK5G==lj`wy{sX z$Kw#6{HO!(iAx*p@{o|#@MEmI%@Io1ewe3<`t9DwoWzmOI{HZ6KR1w(A%*df?D>U> zwUQy_7#iCO4-9vi*m69`n5f3fL z60r(S6Z{2cW<-SGwsSK~5M(7xFpaf$aUVHG_;puh2=@khh#18;k0aoBAm~jf4bo=Z z8!2IBnZO?MjzySIlYGrl;9Q@{%QliwY{h&Siv_B0Uskilcd~cC-+_oc60e{)&}BM{T)akJmvchw5gsb@V%k@L&P0;zSo5`Q<|T7m=~Ys zNyCKva!KC}A=)#bL|BY1f+?jzB7cMLA*VHdnb!Wptq!y_Oo-&&kWUiT7o>QWSQLKH zafC^4$hi~ve+{ZHi-}M9D6xS5Z!s<&zdxV+^X}Q=-(onSiIxL;WuHbwqkn_{#@$0^ zOsoXn29b^M^>`JikR>0;0@8O`&f)zl9@h@WA1~xbY4(uwFn*8{4E3`RI08NUFDc~y zzXxIdc1-v+zw!o}I%D`L$^AH(??WBpZ^v*%YPt-$avO!12ygDn=%QgIFj1EzwcGH z>PCbFd*i;kG49X|Dz^+NKkkjQ7;099R3d2N)-*6UR&9n7&P0EE^h$M1!QEfAvRHeN zx=G50fVgs=**N5?0|{-H1BXpr%kfup%^(DnuK6zjFDb544?!G6ftG~}(@=B(dzLxR z^taXUZ=*K^t)>!w3meR(9%t=6=Qn|%0GF@XM?jd;KQN_#!+ZvmKB-I+{`s74){zwo zL?NxqR{Pp+5D*#{;6nVxnE5sosdJ!y@<;eC$JbRWq8HWC?7ROn*e5_K@A=$-Rmg&E z@WPa;68697tc7o`62`3l^!BLA#sRp5W*;eED2%fEu=H77)huj4VeN2ywIbQ&SZ9xm z0JzBH-{F_0=Z*3Hk%H*EFr^HM^dF$?e#^aBISmM&={M($&E26)s8>Uv$j_zihzvlq zdEo)877G&0?4yLUEN%e1h#7!q+A$;3EyF`LwGT)Pp|qWu|Hkzq8rqB=EbGXJcRK!j z2Kqt^3LU{Qqw}1j)gO{)`ZJz1&-5cgQQ3mG7PL?|p*$r#?Yf1af$P^E*-ex0CEHxz zO_;8a7xbM}#2TI;(H@#0x*a6Y(#@5dcURXPG4*>-+{V1Oke^q2{GI3)CA9gG}w* zCkuzEwMCjI>=3xPvnyg5%bC`=%G8hciU2 zUVl993IX&FU&N6qn7m-TX)@mTy-DDTeY)jonSZ?=Iy>Dmv3yi}+r4UFNW`B_7)v+> zHT2=AB@6_AQk8*w=y9%AJ)t1Gl%t^}n--%#P1ish0Zaj?p_+pnG{hMFb&PX$_NKa@ z(z55UJ;SY#7`BnLapngEeFZlPjOU?_^3umdYO)o->wtvWFHxjT9iz^$uN7ua0Viq6 zjaZ1oA%w%CqAtC3XHjJ{qzRebfgDOUc=fgyQMQ=QQi3s~qXE!;a{MS1<5 z!4Aa{9L(vc_v_ieuKq-1w;>hbZO`IT=cPrkGV10fwpZr00(VgY9FVL`JkCQ2yV6t7 z(WF6KK!`Jhm<2kcjWpgwy?M}_$LD3G`5vz%3E*yG3%_3b@U zl>urlq2Socu)i}|RhA>O?4yz{4fSVbfaIL} z0oHbF4NVy2;eqoHwZkHoqTp}u-fa?xMTk=(yzzm0{E*OptT?2&C+FTN7qEeN-8S#^5l7CRWQ+cj`>b_{$cnGHK<`UC~SECz?(3@!`&>5X9+5gGC^bT z?Q3V!EKCq5*pL*>~wB%a@8E%Oumw-s;uoUhvMAq0m#G6kC6AeTMnr%HFr@hu`OJ5F>S z5>zU!0b6Ah>cKP0Pk`URTO{q-ZEBSCZa$nozhi&->%Bv(80BXLBP__#R^kMtU@<{3 zUYe-$qNx7;`Yb6T&x!Kq7G^?He2dBgOPJ(M+(&!{WvN?pLBl~(ffB};)vjpVf*{rv zC@73Uo>8cAVu_RyMny3j=@5>Q;IoA;5J?%GxjM{adGJ z6=`v(++uqfJX1z*TwG)WRmRoEcWMN(OXs())Ty~S5cZUO{#RmVLf~9$8zCRI$e<#S zp8N3GQfFTODu*sgU0X4m##gux3t^Je#!>MU(7}gW^uc2RE8(NEDXzQ@UOp@Sy$Enx zoFtRohYyb(!2KA^ElWLHm(2^6_#|L#F$eXPqYb^aryy3k}ht+KCAm=HmcODH4EBD__^5 zGSjOoXBZlyfjDG??p!(by+mfynD|;nBT{6B@orWL4Galn3TRrUyP|btJ$2HjNf<4S zW3#aves9L~=l%U;h^OK<+6Sw-d`yZ4{t_+onjP8)0tkb+AA0rv62LMD7?yVG49z4N z?Jcgq1n_K*yg-ahnkF>jkIb4m4ouMO)ka3bvXZ9OnIw|}mcbiU5m*u%AJZjT=7311 zDA0omGZtDd!%$e|H}No9rl0rn86u0M1t74r+fW!9m>E>~#se=I*scfbC^8BDL#T*9 z%U$)clYB}KJ|4oXG;r7-yG5hu7e{_&56p}RP1qT5+hW)R8OD<-vu2%LI zf9R6^KxGSjNB~H~HxRpf?gWH<#clHSi18Hj zw95<3+o$inJuX9|ip*JvU-A%>jRoPD1Li=)Y3b>>?&elXZC{NzSW?0wSZECe`TTId zb-Z8h3vwDVTBn10qEHv;;1pE@4PGcTCx*)a=}d7(2pE&~JMNNmd7Jv!={ijw$Zfl%Za5+_rc zKZ^$>GX8u64ITy`GK$v|Ne&7k`*I5=ovAU5gpFn)&&6N?A`&EQK zX47kZFcQ6k8R^K^Yo|O08Z=_)(Q&chENG9h~v= zfxvwycpL!Eq@&&^l&0GVyyhS`7jyao?(S`XSZ>mub(`;lI+>#IN4Z(Gj%#hW_36I) z0M8Xec^z_+S9^KnhA!-eqm&Y3#SH)EJ#g2rV6$|uIRdft;HD(@&~KZoFzBIGe6exw z-^jSzLSI}h_`X&JV=7medDp`pi%D|p;`6ab8esNRPD|B?^D$W0l?`Vgt8^GEckfM4gyOn1-$H|&{IX3>Y({@V1j4>rd~IAmjVVYCUT8Ty4zF*GGM#k?$mH~TiLM#U zYVbVICrkPLc0JOT9`1X%w*{`W4AL3SjdWNij+hMIo<#jeeT(|J!t zdP-Wp<%>7Xv?G)MXTLogl*V4(#iA+k&(KYi5gHhNm}snw3%I1q^&=TWk_{$zwB2uV~(-U*CEgJ=lC(y^rV9H&iCk`_(X1?jS@5H7__tHEe0z{2=O)5@Z z49jCDNx0hG0Icp4P7bS}c`hRcA0^A^$@QCHhbKQNgzUCHbT=nNMCf8tESvY^b-P>0 ze>(QUo9AKz>__(k>_><8Z^z7my;9YTjBWqwAi0^+Z~udZVC3hw2%6L^S=+>B3{<+2 zkfuo_d@m4mf;z1A_)FpT`Iqnfwy`Xibuyjzc5$AU^ivd|0Wi3(V$$HGydN`9#vk`@ zggUKX85*d>>FC;i_Tf1)41lv1c^~i-KX*@tn9xQ)p-2UwZ>OUkZnQA#ESS@@X{5Ag zS5m=ydsVq@xPHcrf*q`&G9HM=fg7*mN_9S9V-TXcF(c86;v}36J4=rQX=`x7_XvxG z5yOkqB$LM3^ny~W>TUQ%1VvrC{V$(HOJ{n~?w81~Q#9_sg&KEDU zF=u~@P@#9>hd2$BXc-PT%0$IRLnhl>9~rYZ(9-z+J%fwayyV?y1d2?ySS^YbJ3_cn z(eYqC@4%$Cbg2`BqAm%qYQMls{cFP zZ0qh9$jhm62hD)R()!Q-!Mvw|y7nU_2&%bk1y!x4*4^j`cW+&BPx}6R?w|s9V&(_x z*I=bP4?iwo+&sGxYir8&xCPn<&r2dSJz?2%O+4IK@zW$UoOEu-c^EzN?;OF(#>RCu zy4()?^vtsCbB0e(ch?sNk=Q(M+CSZ3SH%pzHi^}_uyes^L0Xm0B@ znCi_Hw3kN+f1SCdLX!!vn!soA;0LyhyG;>l(ce)sbUf%!xf4uL9j&U{bASY6p059S z_$~aq+iPkM)p@C>LXBj_x10abJ2OdytZf9?wzrcG1O)Tnr=+W;nVlK)Uq{xzI-Kb! zIIMHw^!(C9={Q(?UU!S=khoaATrNRGYZZ%a64$k*Q6@R1=s~=6>hm+&tQ&;8Xc?@l z7KXo=f6K5ZY(Y9Pz@c4>piy={8dms02|Y^oB;eg^pmM!*9!doI66PfT_Na5H;(hqn{yR$9D67)|P z4?dOiGBR;s!yJ$au9MNuo6?ENB`J!HTc@sg=TsRwAtgDA3v}G)`0D5ipTrhu>J%&r z*X=Sa@o+QD1r@y!npEa$3m2uczBrM^ zlrdwO7C;lLET^6~ZNg%#LL1}dp*B(0z{3);c~gkA!SxR%EM`sL9Vcn|ts_7e*nJ}q z);5k=?)mn#zn(hNUn#|`|LOT~X@9hq=uHoz7xv8w?fvM5`Q7K4_V@YISBD($W{|PO zzHQ&J6ER4pfQO*U{wsM>e+fUNc|ynBabw-EHdc=^+UE0yaOu&MkhVilJmW}} z`TVL?kk%v|nRSKN8?g3O3fNVD$6lo>d%7UcMByVmrj4R=GKFM2vO>6+_*e)f7gywb zvRCjZ&JSCoOl5!+m_T11xKlkTv^&kzN#<%|Ob*rrlbCGd$?~_^{36Feg{E3D(+*LU zHdwL@Z2P`&KmB@*S#p^%JDLqqi7%y7%LJpr2qmm!821E29;CmSGOg)06PlewOzq;! zOU2Uqyn^G_}TnYc+^& z4w|eGL|K~;z`0;5cZbN2!xRjCsUS7?%sl(LDx}eSXWA*ZZkzlDXo+9h7JTdD+YD(k zGHNJ&Sr--VsC1)sxelFMmG52W=A7G% zuIoC!k?5D6}G`+A%9Ks-0TrQ~af+u#BZVb@o?NL3J0+kAVP(vdxHPZYkG)yU-9-YZY~9-;MKM|DK?K;HR$tD zQIQH`n_)b9$t_Gbh$R(VXA_i_&FWT5I*U5Vztkg7#!+@HIYe7nBt4Ajn%y`|=sI1= zP}beD!C5HKTfmFm&XoE1(k8*R-QN35{mW;HzwX(e1_R-sow!D2< zuB4jplMuS&Ij2tNgrY0NXs5V0m8(?bDc`D&4=HigOLPQIqn9Um-~q>;NkU)P!&i%Z z5;Mh*VxaC5}6fzjha`Ng5>v2?@gEUS$j?=o)at}rgUW~xbywrl!f zIh{GuHU+aGHB>rzj42HT0#UYvF>^?ZLAzpV(;QfCissP*rO9=WHyu*ywbjM&^=t09 ze(`?3VIBX+ZaM?3b1ctW?dRXn|IEd5{PjF<3*VJxViP^0F<)yO>mfJ*2}C^G)o3hUi*|LQn;WT)^B zM$EwnXqAw0afI`_lmrm}x;qlSLkT_)7J<&HL9tY|kkWQ*bB82V1jnWuAII3&W5rs8 z&=D?F;KC+_hUGvo-#8EVo_S8LelnR;M;jsmsQtw`Er zSz%^DldtuN2DT>ZNLm>;(-KyU-XSNw)l;Afj?1=1`0>ld&KJ3|O@u0TuB@aY+3&>h z-ihnXV%66^nWV+3iC&WB47BL^s_;|4b-StMO}MxS8E!jEsYCTRBMO6h8cE7z5U&=K zNse2?m9fQaX2<*dQ!i;JwJL!m`JIt%5e^aTR=rb3S0G`Bjo%nET~jBT2~X%lT0KWZ z{}Jx0^bE?ohJw0$d8dZZ+sYf*KL@nAQ(j>gDA*V%9Ooax|49C;QTtz`njKefAIO3s z@wI2*c5j?D55f{7Od5pNW=Zxlp}QZYE%~~5bj7=u0w1Tz=+_$8t0jH{p~E11!>U<2 z>NzS37`00N{E)1!UQQ13F}@l;K`Th!_CU%}G9K42+fJj^3s6i*6t_f&>C-nS8(kJt zE#%Vn+@4T}gZlX6*+SEOuG^7Vbel|QNhVG>R8^n5~%sVX#zZ7dIxXS9E4YI4TpUobw!+0+#CKD*kbkK zXegb4{(YB1_WOUV(&A=A!)<^ynQ&ls_n$R~y_=n}nKQ5|^C!ET*4nh+Q+Jj-#>%pBC3k5uO<$EQR2IQ5kM?CU8r^rB_uU)t z3iIxt}iDICLv>nc#UbX$z!NN#F*|NU3$3Dw0f71%X2wC}TRzQR@?yYI0xFR1JD zkZ5$Zr8HW6Kd5h3e@LfC+44tohYj4P>}g#m)gIVQl}~HZ6Oen&49|Zd+%eS*-(i(i z9cB-xeQU{>QwaG{(hhC=fz0?%S`K=9!N7zUuyyJ9Wur;0?tVW)?tN#p7-1D z$LS(o%&(h(bs@-YDk-jwn9J~P4ZRBVS0v5dxzpwOFT(;3h6P9{(Nc;wBanJ1>hUUF zrMc4Q`pwjB(#3xDuN}qR++P(Z>kmz78HVLB*G1S`3NF~wbXsC&8RLJ${~*0}mR3qH z#HOOj{Jub;AdQ>l*_W>PjXO3j8_AF}DYBf3&NLn2mSIVhTt|UPIf|A7vmgFhd05bY z-TJ*2xC7Uc^6vB?a|}-9g<*tEs@kahJcxc+&qF5c*8d6m**MhEq@|X6WATe)_(DAT<$(8;9{EmTPcE*FR(3c;~?b*iOW)p3TA7 z%X8~7)gpk|Zm`o=s{M_l%c)Gof;I0S(M~@VXHBp^ZBO&vHh<=Rf$4#wGUz_4c7i%m z<~TnQ&hY-UjoW$CtZwlNQ-dU56B7M7n>VrV+tkY{rh&Vr_cq}-zT=9RFCRVd3X%x; z_`68Zpi26BzuZ6HxHjMJ3h{krU{B0`xA)w)ZLh7%GqEtN!Npqa6JWonfqJ|eeMCK4 z>ARY$6G3EP8SKJa?L%;}G0ew>vNjZBpW+Q(qyEU>`hfrEj8!nUY|#w~0un?50)h>k zv4D-c|C*+ND=*;nX>Vj@%Vh0nW^t)up}`3JN_BuAymNoqaH)eHOon9E`U!(LRbnK1s(%ugv|Pe zQvkyN{AOdb2v#X5-r)Pi=Gt3N*4?Jd46oO*eZgpf!QkvIninh!0=SvG$bD1KqFmGS27Nr-{10e}K>&Q4oNW)N%;RGG^ znXUD+O6>pv^!8EabsOWyWy8;A$$Y7owlIv2BOEWA37B3``|-KAu#a$@#7F|7_0f;; zPdEle3|P7JsTmb^H$2sXHpO_M=$ai9gkz2Iwdi8s={PNFRAG|%mVR$+)m?-g_B}v@ zCu3U68>3JZOAa%=SWhgro2EoDD`(54c)d|Rru8rqC_R!LNw!3wTG+|E%u@c4UE(3ch_+o99t?zoG45D(}5scEJk5-+!Suw zxwKAhjoTNJ?{r~?Y8AQ&DGzJ$Swo(edvLukeTm048H6277Nj|f&d|aGNJGgBiRarZ zkMCpRQAG1@AG`P8?3COZ-)}8``}9EPcE64X1qk)$4pm}Du(bLmD3fpbP$JXP1|Hyb z+@$me&j>CCC%9@>pCH!E0NgF9gPN05>GHqn3|I?VzprhWY}syEzu#mqA^)JXM{f;$ z@mn9i+!KUGZ_PYE55oh z=^=JgTxUeH5ZV*mPuE)sD{?i%$dlK&KhJh-$~%CKuky9ag;n?nf|gb;K2~knLJrVg zI6GVXt`6HoEfz4(Bl?OmE9e&w&n9SNk4rNHdPKc{)ckO}!dD}qC{H-gs=46n&^*1M z8m9IK_9+}H}gnWb?TX+CPm_mRB)a=hZ zPjLfRx@~T%JK+H;W{9*G_#AC$^p-CXOENguW zYwj~9lE~L+RM5zd6WV^wJ|wJOX113Ns}7iJNL)3BIVU@NS?Wb|=!V4~MD{kbB(3;? z;a5;5aFMjmQK(wvgShD@L^zS{w-qGsMrK+u*L>e5;ubkDE^y!&2Avpo-E$1Brod02 zjSoVjCmH7v4G!jG4U*$q%?FQ?U{fwP$+JSgD@@g*uZI?yn@1BQf3mtw%IYln-sQD? z5%9lusCv!OZIdn;Rach!zI~+nqw22Q!RYs&*H3xk5nO!w)wOoHx+fR6zLu-5dAw}- zyt-#MpUbCy#(UT`7-rP`G{e1%G&vV7fuZ}pcoGG0C&DYA`J6LP?)sWaLf(V?SO#>pcn%~v@>upI5n>%KBTfBwKx{kIzu<0Qq9}p2TK^X9AU61ZosS(fAxF00$o4)s4+tS?sBMp^f6>~BhdTb2qU)CVeO5h8-U)?MHtXik8A+8ZZEo7=zT|o zS*;DoW})^Z(M>_`Y9UOS(+CX}l#Um=e)RSrLce({QWisP9R_%_0&@^3R|zsC0<(u^ HH;4xSz)_)I literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/decider/BaseDecider.docx b/src/scala/com/twitter/recos/decider/BaseDecider.docx new file mode 100644 index 0000000000000000000000000000000000000000..613942ed558403164a5d66c636c35f280ae77f3d GIT binary patch literal 37793 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 rxg5JRD 0) && isAvailableExceptTeam(RecosDecider.recosShouldScribe, id, isUser) - else false // TODO: define the behavior for guests - } - - def shouldWriteMomentCapsuleOpenEdge(): Boolean = { - val capsuleOpenDecider = env match { - case "prod" => RecosDecider.recosShouldWriteMomentCapsuleOpenEdge - case _ => RecosDecider.recosShouldWriteMomentCapsuleOpenEdge + RecosDecider.testSuffix - } - - isAvailable(capsuleOpenDecider, Some(RandomRecipient)) - } -} - -object RecosDecider { - val testSuffix = "_test" - - val recosIncomingTraffic: String = "recos_incoming_traffic" - val recosShouldReturn: String = "recos_should_return" - val recosShouldDark: String = "recos_should_dark" - val recosRealtimeBlacklist: String = "recos_realtime_blacklist" - val recosRealtimeDeveloperlist: String = "recos_realtime_developerlist" - val recosShouldScribe: String = "recos_should_scribe" - val recosShouldWriteMomentCapsuleOpenEdge: String = "recos_should_write_moment_capsule_open_edge" -} - -trait GraphDecider extends BaseDecider { - val graphNamePrefix: String - - override val baseConfig = Some("/com/twitter/recos/config/decider.yml") - override val overlayConfig = Some( - "/usr/local/config/overlays/recos/service/prod/atla/decider_overlay.yml" - ) -} - -case class UserTweetEntityGraphDecider() extends GraphDecider { - override val graphNamePrefix: String = "user_tweet_entity_graph" - - def tweetSocialProof: Boolean = { - isAvailable("user_tweet_entity_graph_tweet_social_proof") - } - - def entitySocialProof: Boolean = { - isAvailable("user_tweet_entity_graph_entity_social_proof") - } - -} - -case class UserUserGraphDecider() extends GraphDecider { - override val graphNamePrefix: String = "user_user_graph" -} - -case class UserTweetGraphDecider(env: String, dc: String) extends GraphDecider { - override val graphNamePrefix: String = "user-tweet-graph" - - override val baseConfig = Some("/com/twitter/recos/config/user-tweet-graph_decider.yml") - override val overlayConfig = Some( - s"/usr/local/config/overlays/user-tweet-graph/user-tweet-graph/$env/$dc/decider_overlay.yml" - ) -} diff --git a/src/scala/com/twitter/recos/decider/EndpointLoadShedder.docx b/src/scala/com/twitter/recos/decider/EndpointLoadShedder.docx new file mode 100644 index 0000000000000000000000000000000000000000..429990e2c4c63e59b8622ad0bd28cd2b314537f4 GIT binary patch literal 37317 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 J55Haz4*=%&tmgm# literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/decider/EndpointLoadShedder.scala b/src/scala/com/twitter/recos/decider/EndpointLoadShedder.scala deleted file mode 100644 index 73a06e5af..000000000 --- a/src/scala/com/twitter/recos/decider/EndpointLoadShedder.scala +++ /dev/null @@ -1,39 +0,0 @@ -package com.twitter.recos.decider - -import com.twitter.decider.Decider -import com.twitter.decider.RandomRecipient -import com.twitter.util.Future -import scala.util.control.NoStackTrace - -/* - Provides deciders-controlled load shedding for a given endpoint. - The format of the decider keys is: - - enable_loadshedding__ - E.g.: - enable_loadshedding_user-tweet-graph_relatedTweets - - Deciders are fractional, so a value of 50.00 will drop 50% of responses. If a decider key is not - defined for a particular endpoint, those requests will always be - served. - - We should therefore aim to define keys for the endpoints we care most about in decider.yml, - so that we can control them during incidents. - */ -class EndpointLoadShedder( - decider: GraphDecider) { - import EndpointLoadShedder._ - - private val keyPrefix = "enable_loadshedding" - - def apply[T](endpointName: String)(serve: => Future[T]): Future[T] = { - val key = s"${keyPrefix}_${decider.graphNamePrefix}_${endpointName}" - if (decider.isAvailable(key, recipient = Some(RandomRecipient))) - Future.exception(LoadSheddingException) - else serve - } -} - -object EndpointLoadShedder { - object LoadSheddingException extends Exception with NoStackTrace -} diff --git a/src/scala/com/twitter/recos/graph_common/ActionEdgeTypeMask.docx b/src/scala/com/twitter/recos/graph_common/ActionEdgeTypeMask.docx new file mode 100644 index 0000000000000000000000000000000000000000..aa4488e1267de62552242ab45c41ece3dfb2ea36 GIT binary patch literal 37885 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/graph_common/ActionEdgeTypeMask.scala b/src/scala/com/twitter/recos/graph_common/ActionEdgeTypeMask.scala deleted file mode 100644 index d29b12bc4..000000000 --- a/src/scala/com/twitter/recos/graph_common/ActionEdgeTypeMask.scala +++ /dev/null @@ -1,99 +0,0 @@ -package com.twitter.recos.graph_common - -import com.twitter.graphjet.bipartite.api.EdgeTypeMask -import com.twitter.recos.recos_common.thriftscala.SocialProofType - -/** - * The bit mask is used to encode edge types in the top bits of an integer, - * e.g. favorite, retweet, reply and click. Under current segment configuration, each segment - * stores up to 128M edges. Assuming that each node on one side is unique, each segment - * stores up to 128M unique nodes on one side, which occupies the lower 27 bits of an integer. - * This leaves five bits to encode the edge types, which at max can store 32 edge types. - * The following implementation utilizes the top four bits and leaves one free bit out. - */ -class ActionEdgeTypeMask extends EdgeTypeMask { - import ActionEdgeTypeMask._ - - override def encode(node: Int, edgeType: Byte): Int = { - if (edgeType == FAVORITE) { - node | EDGEARRAY(FAVORITE) - } else if (edgeType == RETWEET) { - node | EDGEARRAY(RETWEET) - } else if (edgeType == REPLY) { - node | EDGEARRAY(REPLY) - } else if (edgeType == TWEET) { - node | EDGEARRAY(TWEET) - } else { - // Anything that is not a public engagement (i.e. openlink, share, select, etc.) is a "click" - node | EDGEARRAY(CLICK) - } - } - - override def edgeType(node: Int): Byte = { - (node >> 28).toByte - } - - override def restore(node: Int): Int = { - node & MASK - } -} - -object ActionEdgeTypeMask { - - /** - * Reserve the top four bits of each integer to encode the edge type information. - */ - val MASK: Int = - Integer.parseInt("00001111111111111111111111111111", 2) - val CLICK: Byte = 0 - val FAVORITE: Byte = 1 - val RETWEET: Byte = 2 - val REPLY: Byte = 3 - val TWEET: Byte = 4 - val SIZE: Byte = 5 - val UNUSED6: Byte = 6 - val UNUSED7: Byte = 7 - val UNUSED8: Byte = 8 - val UNUSED9: Byte = 9 - val UNUSED10: Byte = 10 - val UNUSED11: Byte = 11 - val UNUSED12: Byte = 12 - val UNUSED13: Byte = 13 - val UNUSED14: Byte = 14 - val UNUSED15: Byte = 15 - val EDGEARRAY: Array[Int] = Array( - 0, - 1 << 28, - 2 << 28, - 3 << 28, - 4 << 28, - 5 << 28, - 6 << 28, - 7 << 28, - 8 << 28, - 9 << 28, - 10 << 28, - 11 << 28, - 12 << 28, - 13 << 28, - 14 << 28, - 15 << 28 - ) - - /** - * Map valid social proof types specified by clients to an array of bytes. If clients do not - * specify any social proof types in thrift, it will return all available social types by - * default. - * - * @param socialProofTypes are the valid socialProofTypes specified by clients - * @return an array of bytes representing valid social proof types - */ - def getUserTweetGraphSocialProofTypes( - socialProofTypes: Option[Seq[SocialProofType]] - ): Array[Byte] = { - socialProofTypes - .map { _.map { _.getValue }.toArray } - .getOrElse((0 until SIZE).toArray) - .map { _.toByte } - } -} diff --git a/src/scala/com/twitter/recos/graph_common/BUILD b/src/scala/com/twitter/recos/graph_common/BUILD deleted file mode 100644 index dd1f455ef..000000000 --- a/src/scala/com/twitter/recos/graph_common/BUILD +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - sources = ["*.scala"], - platform = "java8", - strict_deps = False, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/graphjet", - "finagle/finagle-stats/src/main/scala", - "src/scala/com/twitter/recos/util:recos-util", - "src/thrift/com/twitter/recos:recos-common-scala", - ], -) diff --git a/src/scala/com/twitter/recos/graph_common/BUILD.docx b/src/scala/com/twitter/recos/graph_common/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..4fd2b893fb843c10f9e8a2353fe455e3e38e74b9 GIT binary patch literal 36826 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 X9R_%_0&@^3R|zsC0<*`r9uN-zUk#Kj literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.scala b/src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.scala deleted file mode 100644 index 645bb900c..000000000 --- a/src/scala/com/twitter/recos/graph_common/BipartiteGraphHelper.scala +++ /dev/null @@ -1,40 +0,0 @@ -package com.twitter.recos.graph_common - -import com.twitter.graphjet.algorithms.TweetIDMask -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import scala.collection.mutable.ListBuffer - -/* - * The helper class encodes and decodes tweet ids with tweetypie's card information - * when querying recos salsa library. Inside salsa library, all tweet ids are - * encoded with card information for the purpose of inline filtering. - */ -class BipartiteGraphHelper(graph: BipartiteGraph) { - private val tweetIDMask = new TweetIDMask - - def getLeftNodeEdges(leftNode: Long): Seq[(Long, Byte)] = { - val iterator = graph.getLeftNodeEdges(leftNode) - - val edges: ListBuffer[(Long, Byte)] = ListBuffer() - if (iterator != null) { - while (iterator.hasNext) { - val node = iterator.nextLong() - val engagementType = iterator.currentEdgeType() - edges += ((tweetIDMask.restore(node), engagementType)) - } - } - edges.reverse.distinct // Most recent edges first, no duplications - } - - def getRightNodeEdges(rightNode: Long): Seq[Long] = { - val iterator = graph.getRightNodeEdges(rightNode) - val leftNodes: ListBuffer[Long] = ListBuffer() - if (iterator != null) { - while (iterator.hasNext) { - leftNodes += iterator.nextLong() - } - } - - leftNodes.reverse.distinct // Most recent edges first, no duplications - } -} diff --git a/src/scala/com/twitter/recos/graph_common/FinagleCounterWrapper.docx b/src/scala/com/twitter/recos/graph_common/FinagleCounterWrapper.docx new file mode 100644 index 0000000000000000000000000000000000000000..4eccb4b0af28c2e301dd15f410892e320021b62d GIT binary patch literal 36913 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 CPV655 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/graph_common/FinagleCounterWrapper.scala b/src/scala/com/twitter/recos/graph_common/FinagleCounterWrapper.scala deleted file mode 100644 index 3c4d62b1d..000000000 --- a/src/scala/com/twitter/recos/graph_common/FinagleCounterWrapper.scala +++ /dev/null @@ -1,15 +0,0 @@ -package com.twitter.recos.graph_common - -import com.twitter.finagle.stats.Counter -import com.twitter.graphjet.stats.{Counter => GraphCounter} - -/** - * FinagleCounterWrapper wraps Twitter's Finagle Counter. - * - * This is because GraphJet is an openly available library which does not - * depend on Finagle, but tracks stats using a similar interface. - */ -class FinagleCounterWrapper(counter: Counter) extends GraphCounter { - def incr() = counter.incr() - def incr(delta: Int) = counter.incr(delta) -} diff --git a/src/scala/com/twitter/recos/graph_common/FinagleStatsReceiverWrapper.docx b/src/scala/com/twitter/recos/graph_common/FinagleStatsReceiverWrapper.docx new file mode 100644 index 0000000000000000000000000000000000000000..44efcb3414c1dcfea0186a21bd03d0d23865e345 GIT binary patch literal 36947 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 pG*nPJUg-MK+k*)GuUe6^7;5V GraphStatsReceiver} - -/** - * FinagleStatsReceiverWrapper wraps Twitter's Finagle StatsReceiver. - * - * This is because GraphJet is an openly available library which does not - * depend on Finagle, but tracks stats using a similar interface. - */ -case class FinagleStatsReceiverWrapper(statsReceiver: StatsReceiver) extends GraphStatsReceiver { - - def scope(namespace: String) = new FinagleStatsReceiverWrapper(statsReceiver.scope(namespace)) - def counter(name: String) = new FinagleCounterWrapper(statsReceiver.counter(name)) -} diff --git a/src/scala/com/twitter/recos/graph_common/LeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.docx b/src/scala/com/twitter/recos/graph_common/LeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..ce4610c7b0ba74f6b48fac40becb7b3bd973a8f6 GIT binary patch literal 37445 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 *YvYIko7~tQXuit$^$z6Flok!PK<-aK8 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%0Dlpt`k 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 sU}jQ{`u literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/graph_common/NodeInfoHandler.scala b/src/scala/com/twitter/recos/graph_common/NodeInfoHandler.scala deleted file mode 100644 index 5e71f6b03..000000000 --- a/src/scala/com/twitter/recos/graph_common/NodeInfoHandler.scala +++ /dev/null @@ -1,59 +0,0 @@ -package com.twitter.recos.graph_common - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.recos.recos_common.thriftscala.{ - SocialProofType, - GetRecentEdgesRequest, - GetRecentEdgesResponse, - NodeInfo, - RecentEdge -} -import com.twitter.recos.util.Stats._ -import com.twitter.servo.request._ -import com.twitter.util.Future - -/** - * Implementation of the Thrift-defined service interface. - */ -class LeftNodeEdgesHandler(graphHelper: BipartiteGraphHelper, statsReceiver: StatsReceiver) - extends RequestHandler[GetRecentEdgesRequest, GetRecentEdgesResponse] { - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - - private val CLICK = 0 - private val FAVORITE = 1 - private val RETWEET = 2 - private val REPLY = 3 - private val TWEET = 4 - - override def apply(request: GetRecentEdgesRequest): Future[GetRecentEdgesResponse] = { - trackFutureBlockStats(stats) { - val recentEdges = graphHelper.getLeftNodeEdges(request.requestId).flatMap { - case (node, engagementType) if engagementType == CLICK => - Some(RecentEdge(node, SocialProofType.Click)) - case (node, engagementType) if engagementType == FAVORITE => - Some(RecentEdge(node, SocialProofType.Favorite)) - case (node, engagementType) if engagementType == RETWEET => - Some(RecentEdge(node, SocialProofType.Retweet)) - case (node, engagementType) if engagementType == REPLY => - Some(RecentEdge(node, SocialProofType.Reply)) - case (node, engagementType) if engagementType == TWEET => - Some(RecentEdge(node, SocialProofType.Tweet)) - case _ => - None - } - Future.value(GetRecentEdgesResponse(recentEdges)) - } - } -} - -class RightNodeInfoHandler(graphHelper: BipartiteGraphHelper, statsReceiver: StatsReceiver) - extends RequestHandler[Long, NodeInfo] { - private[this] val stats = statsReceiver.scope(this.getClass.getSimpleName) - - override def apply(rightNode: Long): Future[NodeInfo] = { - trackFutureBlockStats(stats) { - val edges = graphHelper.getRightNodeEdges(rightNode) - Future.value(NodeInfo(edges = edges)) - } - } -} diff --git a/src/scala/com/twitter/recos/graph_common/NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.docx b/src/scala/com/twitter/recos/graph_common/NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..664f0af09e1db41e38734c480c5bf32fdd9db0cd GIT binary patch literal 37500 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 E0Fq4%$^ZZW literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/graph_common/RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala b/src/scala/com/twitter/recos/graph_common/RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala deleted file mode 100644 index 353b47d92..000000000 --- a/src/scala/com/twitter/recos/graph_common/RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.scala +++ /dev/null @@ -1,63 +0,0 @@ -package com.twitter.recos.graph_common - -import com.twitter.graphjet.bipartite.RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraph -import com.twitter.graphjet.bipartite.api.EdgeTypeMask -import com.twitter.graphjet.stats.StatsReceiver - -/** - * The GraphBuilder builds a RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder given a set of - * parameters. - */ -object RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder { - - /** - * This encapsulates all the state needed to initialize the in-memory graph. - * - * @param maxNumSegments is the maximum number of segments we'll add to the graph. - * At that point, the oldest segments will start getting dropped - * @param maxNumEdgesPerSegment determines when the implementation decides to fork off a - * new segment - * @param expectedNumLeftNodes is the expected number of left nodes that would be inserted in - * the segment - * @param expectedMaxLeftDegree is the maximum degree expected for any left node - * @param leftPowerLawExponent is the exponent of the LHS power-law graph. see - * [[com.twitter.graphjet.bipartite.edgepool.PowerLawDegreeEdgePool]] - * for details - * @param expectedNumRightNodes is the expected number of right nodes that would be inserted in - * the segment - * @param numRightNodeMetadataTypes is the max number of node metadata types associated with the - * right nodes - */ - case class GraphBuilderConfig( - maxNumSegments: Int, - maxNumEdgesPerSegment: Int, - expectedNumLeftNodes: Int, - expectedMaxLeftDegree: Int, - leftPowerLawExponent: Double, - expectedNumRightNodes: Int, - numRightNodeMetadataTypes: Int, - edgeTypeMask: EdgeTypeMask) - - /** - * This apply function returns a mutuable bipartiteGraph - * - * @param graphBuilderConfig is the graph builder config - * - */ - def apply( - graphBuilderConfig: GraphBuilderConfig, - statsReceiverWrapper: StatsReceiver - ): RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraph = { - new RightNodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraph( - graphBuilderConfig.maxNumSegments, - graphBuilderConfig.maxNumEdgesPerSegment, - graphBuilderConfig.expectedNumLeftNodes, - graphBuilderConfig.expectedMaxLeftDegree, - graphBuilderConfig.leftPowerLawExponent, - graphBuilderConfig.expectedNumRightNodes, - graphBuilderConfig.numRightNodeMetadataTypes, - graphBuilderConfig.edgeTypeMask, - statsReceiverWrapper - ) - } -} diff --git a/src/scala/com/twitter/recos/hose/common/BUILD b/src/scala/com/twitter/recos/hose/common/BUILD deleted file mode 100644 index 9fcb19b5f..000000000 --- a/src/scala/com/twitter/recos/hose/common/BUILD +++ /dev/null @@ -1,15 +0,0 @@ -scala_library( - sources = ["*.scala"], - strict_deps = False, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/graphjet", - "3rdparty/jvm/org/apache/kafka:rosette-kafka", - "finagle/finagle-stats/src/main/scala", - "kafka/finagle-kafka/finatra-kafka/src/main/scala", - "kafka/libs/src/main/scala/com/twitter/kafka/client/processor", - "servo/repo/src/main/scala", - "src/scala/com/twitter/recos/util:recos-util", - "src/thrift/com/twitter/recos:recos-internal-scala", - ], -) diff --git a/src/scala/com/twitter/recos/hose/common/BUILD.docx b/src/scala/com/twitter/recos/hose/common/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..adc501ac96ec28f2da85f2f3356807ad8e40d146 GIT binary patch literal 36874 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 Boolean) - extends Runnable { - val logger = Logger() - private val queueRemoveCounter = statsReceiver.counter("queueRemove") - private val queueSleepCounter = statsReceiver.counter("queueSleep") - - def running: Boolean = { - isRunning() - } - - override def run(): Unit = { - while (running) { - val currentBatch = queue.poll - if (currentBatch != null) { - queueRemoveCounter.incr() - queuelimit.release() - var i = 0 - Stat.time(statsReceiver.stat("batchAddEdge")) { - while (i < currentBatch.length) { - edgeCollector.addEdge(currentBatch(i)) - i = i + 1 - } - } - } else { - queueSleepCounter.incr() - Thread.sleep(100L) - } - } - logger.info(this.getClass.getSimpleName + " is done") - } -} diff --git a/src/scala/com/twitter/recos/hose/common/EdgeCollector.docx b/src/scala/com/twitter/recos/hose/common/EdgeCollector.docx new file mode 100644 index 0000000000000000000000000000000000000000..8d9e6eec26cff2cbf38f63d32410e0797d8b37be GIT binary patch literal 37257 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 D$=-s- literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/hose/common/EdgeCollector.scala b/src/scala/com/twitter/recos/hose/common/EdgeCollector.scala deleted file mode 100644 index c5279496c..000000000 --- a/src/scala/com/twitter/recos/hose/common/EdgeCollector.scala +++ /dev/null @@ -1,42 +0,0 @@ -package com.twitter.recos.hose.common - -import com.twitter.finagle.stats.{Stat, StatsReceiver} -import com.twitter.recos.internal.thriftscala.RecosHoseMessage -import java.util.concurrent.Semaphore - -trait EdgeCollector { - def addEdge(message: RecosHoseMessage): Unit -} - -/** - * The class consumes incoming edges and inserts them into a buffer of a specified bufferSize. - * Once the buffer is full of edges, it is written to a concurrently linked queue where the size is bounded by queuelimit. - */ -case class BufferedEdgeCollector( - bufferSize: Int, - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore, - statsReceiver: StatsReceiver) - extends EdgeCollector { - - private var buffer = new Array[RecosHoseMessage](bufferSize) - private var index = 0 - private val queueAddCounter = statsReceiver.counter("queueAdd") - - override def addEdge(message: RecosHoseMessage): Unit = { - buffer(index) = message - index = index + 1 - if (index >= bufferSize) { - val oldBuffer = buffer - buffer = new Array[RecosHoseMessage](bufferSize) - index = 0 - - Stat.time(statsReceiver.stat("waitEnqueue")) { - queuelimit.acquireUninterruptibly() - } - - queue.add(oldBuffer) - queueAddCounter.incr() - } - } -} diff --git a/src/scala/com/twitter/recos/hose/common/RecosEdgeProcessor.docx b/src/scala/com/twitter/recos/hose/common/RecosEdgeProcessor.docx new file mode 100644 index 0000000000000000000000000000000000000000..2582771ceab7f892101808edc853144749b832fa GIT binary patch literal 37190 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 m9WQkK= - errorCounter.incr() - e.printStackTrace() - Future.Unit - } - } - -} diff --git a/src/scala/com/twitter/recos/hose/common/UnifiedGraphWriter.docx b/src/scala/com/twitter/recos/hose/common/UnifiedGraphWriter.docx new file mode 100644 index 0000000000000000000000000000000000000000..bf4ff89c6ee22cbb1be243d6edcf26c06a13c657 GIT binary patch literal 39312 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 - - import UnifiedGraphWriter._ - - def shardId: String - def env: String - def hosename: String - def bufferSize: Int - def consumerNum: Int - def catchupWriterNum: Int - def kafkaConsumerBuilder: FinagleKafkaConsumerBuilder[String, RecosHoseMessage] - def clientId: String - def statsReceiver: StatsReceiver - - /** - * Adds a RecosHoseMessage to the graph. used by live writer to insert edges to the - * current segment - */ - def addEdgeToGraph(graph: TGraph, recosHoseMessage: RecosHoseMessage): Unit - - /** - * Adds a RecosHoseMessage to the given segment in the graph. Used by catch up writers to - * insert edges to non-current (old) segments - */ - def addEdgeToSegment(segment: TSegment, recosHoseMessage: RecosHoseMessage): Unit - - private val log = Logger() - private val isRunning: AtomicBoolean = new AtomicBoolean(true) - private val initialized: AtomicBoolean = new AtomicBoolean(false) - private var processors: Seq[AtLeastOnceProcessor[String, RecosHoseMessage]] = Seq.empty - private var consumers: Seq[ThreadSafeKafkaConsumerClient[String, RecosHoseMessage]] = Seq.empty - private val threadPool: ExecutorService = Executors.newCachedThreadPool() - - def shutdown(): Unit = { - processors.foreach { processor => - processor.close() - } - processors = Seq.empty - consumers.foreach { consumer => - consumer.close() - } - consumers = Seq.empty - threadPool.shutdown() - isRunning.set(false) - } - - def initHose(liveGraph: TGraph): Unit = this.synchronized { - if (!initialized.get) { - initialized.set(true) - - val queue: java.util.Queue[Array[RecosHoseMessage]] = - new ConcurrentLinkedQueue[Array[RecosHoseMessage]]() - val queuelimit: Semaphore = new Semaphore(1024) - - initRecosHoseKafka(queue, queuelimit) - initGrpahWriters(liveGraph, queue, queuelimit) - } else { - throw new RuntimeException("attempt to re-init kafka hose") - } - } - - private def initRecosHoseKafka( - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore, - ): Unit = { - try { - consumers = (0 until consumerNum).map { index => - new ThreadSafeKafkaConsumerClient( - kafkaConsumerBuilder.clientId(s"clientId-$index").enableAutoCommit(false).config) - } - processors = consumers.zipWithIndex.map { - case (consumer, index) => - val bufferedWriter = BufferedEdgeCollector(bufferSize, queue, queuelimit, statsReceiver) - val processor = RecosEdgeProcessor(bufferedWriter)(statsReceiver) - - AtLeastOnceProcessor[String, RecosHoseMessage]( - s"recos-injector-kafka-$index", - hosename, - consumer, - processor.process, - maxPendingRequests = MaxPendingRequests * bufferSize, - workerThreads = ProcessorThreads, - commitIntervalMs = CommitIntervalMs, - statsReceiver = statsReceiver - ) - } - - log.info(s"starting ${processors.size} recosKafka processors") - processors.foreach { processor => - processor.start() - } - } catch { - case e: Throwable => - e.printStackTrace() - log.error(e, e.toString) - processors.foreach { processor => - processor.close() - } - processors = Seq.empty - consumers.foreach { consumer => - consumer.close() - } - consumers = Seq.empty - } - } - - /** - * Initialize the graph writers, - * by first creating catch up writers to bootstrap the older segments, - * and then assigning a live writer to populate the live segment. - */ - private def initGrpahWriters( - liveGraph: TGraph, - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore - ): Unit = { - // define a number of (numBootstrapWriters - 1) catchup writer threads, each of which will write - // to a separate graph segment. - val catchupWriters = (0 until (catchupWriterNum - 1)).map { index => - val segment = liveGraph.getLiveSegment - liveGraph.rollForwardSegment() - getCatchupWriter(segment, queue, queuelimit, index) - } - val threadPool: ExecutorService = Executors.newCachedThreadPool() - - // define one live writer thread - val liveWriter = getLiveWriter(liveGraph, queue, queuelimit) - log.info("starting live graph writer that runs until service shutdown") - threadPool.submit(liveWriter) - log.info( - "starting catchup graph writer, which will terminate as soon as the catchup segment is full" - ) - catchupWriters.map(threadPool.submit(_)) - } - - private def getLiveWriter( - liveGraph: TGraph, - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore - ): BufferedEdgeWriter = { - val liveEdgeCollector = new EdgeCollector { - override def addEdge(message: RecosHoseMessage): Unit = addEdgeToGraph(liveGraph, message) - } - BufferedEdgeWriter( - queue, - queuelimit, - liveEdgeCollector, - statsReceiver.scope("liveWriter"), - isRunning.get - ) - } - - private def getCatchupWriter( - segment: TSegment, - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore, - catchupWriterIndex: Int - ): BufferedEdgeWriter = { - val catchupEdgeCollector = new EdgeCollector { - var currentNumEdges = 0 - - override def addEdge(message: RecosHoseMessage): Unit = { - currentNumEdges += 1 - addEdgeToSegment(segment, message) - } - } - val maxEdges = segment.getMaxNumEdges - - def runCondition(): Boolean = { - isRunning.get && ((maxEdges - catchupEdgeCollector.currentNumEdges) > bufferSize) - } - - BufferedEdgeWriter( - queue, - queuelimit, - catchupEdgeCollector, - statsReceiver.scope("catcher_" + catchupWriterIndex), - runCondition - ) - } -} - -private object UnifiedGraphWriter { - - // The RecosEdgeProcessor is not thread-safe. Only use one thread to process each instance. - val ProcessorThreads = 1 - // Each one cache at most 1000 * bufferSize requests. - val MaxPendingRequests = 1000 - // Short Commit MS to reduce duplicate messages. - val CommitIntervalMs: Long = 5000 // 5 seconds, Default Kafka value. -} diff --git a/src/scala/com/twitter/recos/hose/common/UnifiedGraphWriterMulti.docx b/src/scala/com/twitter/recos/hose/common/UnifiedGraphWriterMulti.docx new file mode 100644 index 0000000000000000000000000000000000000000..4849d2f7a28c6cc92b00f3006470c2194b6b2c61 GIT binary patch literal 39176 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 - - import UnifiedGraphWriterMulti._ - - def shardId: String - def env: String - def hosename: String - def bufferSize: Int - def consumerNum: Int - def catchupWriterNum: Int - def kafkaConsumerBuilder: FinagleKafkaConsumerBuilder[String, RecosHoseMessage] - def clientId: String - def statsReceiver: StatsReceiver - - /** - * Adds a RecosHoseMessage to the graph. used by live writer to insert edges to the - * current segment - */ - def addEdgeToGraph( - graphs: Seq[(TGraph, Set[Action.Value])], - recosHoseMessage: RecosHoseMessage - ): Unit - - /** - * Adds a RecosHoseMessage to the given segment in the graph. Used by catch up writers to - * insert edges to non-current (old) segments - */ - def addEdgeToSegment( - segment: Seq[(TSegment, Set[Action.Value])], - recosHoseMessage: RecosHoseMessage - ): Unit - - private val log = Logger() - private val isRunning: AtomicBoolean = new AtomicBoolean(true) - private val initialized: AtomicBoolean = new AtomicBoolean(false) - private var processors: Seq[AtLeastOnceProcessor[String, RecosHoseMessage]] = Seq.empty - private var consumers: Seq[ThreadSafeKafkaConsumerClient[String, RecosHoseMessage]] = Seq.empty - private val threadPool: ExecutorService = Executors.newCachedThreadPool() - - def shutdown(): Unit = { - processors.foreach { processor => - processor.close() - } - processors = Seq.empty - consumers.foreach { consumer => - consumer.close() - } - consumers = Seq.empty - threadPool.shutdown() - isRunning.set(false) - } - - def initHose(liveGraphs: Seq[(TGraph, Set[Action.Value])]): Unit = this.synchronized { - if (!initialized.get) { - initialized.set(true) - - val queue: java.util.Queue[Array[RecosHoseMessage]] = - new ConcurrentLinkedQueue[Array[RecosHoseMessage]]() - val queuelimit: Semaphore = new Semaphore(1024) - - initRecosHoseKafka(queue, queuelimit) - initGrpahWriters(liveGraphs, queue, queuelimit) - } else { - throw new RuntimeException("attempt to re-init kafka hose") - } - } - - private def initRecosHoseKafka( - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore, - ): Unit = { - try { - consumers = (0 until consumerNum).map { index => - new ThreadSafeKafkaConsumerClient( - kafkaConsumerBuilder.clientId(s"clientId-$index").enableAutoCommit(false).config) - } - processors = consumers.zipWithIndex.map { - case (consumer, index) => - val bufferedWriter = BufferedEdgeCollector(bufferSize, queue, queuelimit, statsReceiver) - val processor = RecosEdgeProcessor(bufferedWriter)(statsReceiver) - - AtLeastOnceProcessor[String, RecosHoseMessage]( - s"recos-injector-kafka-$index", - hosename, - consumer, - processor.process, - maxPendingRequests = MaxPendingRequests * bufferSize, - workerThreads = ProcessorThreads, - commitIntervalMs = CommitIntervalMs, - statsReceiver = statsReceiver - ) - } - - log.info(s"starting ${processors.size} recosKafka processors") - processors.foreach { processor => - processor.start() - } - } catch { - case e: Throwable => - e.printStackTrace() - log.error(e, e.toString) - processors.foreach { processor => - processor.close() - } - processors = Seq.empty - consumers.foreach { consumer => - consumer.close() - } - consumers = Seq.empty - } - } - - /** - * Initialize the graph writers, - * by first creating catch up writers to bootstrap the older segments, - * and then assigning a live writer to populate the live segment. - */ - private def initGrpahWriters( - liveGraphs: Seq[(TGraph, Set[Action.Value])], - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore - ): Unit = { - // define a number of (numBootstrapWriters - 1) catchup writer threads, each of which will write - // to a separate graph segment. - val catchupWriters = (0 until (catchupWriterNum - 1)).map { index => - val segments = liveGraphs.map { case (graph, actions) => (graph.getLiveSegment, actions) } - for (liveGraph <- liveGraphs) { - liveGraph._1.rollForwardSegment() - } - getCatchupWriter(segments, queue, queuelimit, index) - } - val threadPool: ExecutorService = Executors.newCachedThreadPool() - - log.info("starting live graph writer that runs until service shutdown") - - // define one live writer thread - val liveWriter = getLiveWriter(liveGraphs, queue, queuelimit) - threadPool.submit(liveWriter) - - log.info( - "starting catchup graph writer, which will terminate as soon as the catchup segment is full" - ) - catchupWriters.map(threadPool.submit(_)) - } - - private def getLiveWriter( - liveGraphs: Seq[(TGraph, Set[Action.Value])], - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore, - ): BufferedEdgeWriter = { - val liveEdgeCollector = new EdgeCollector { - override def addEdge(message: RecosHoseMessage): Unit = - addEdgeToGraph(liveGraphs, message) - } - BufferedEdgeWriter( - queue, - queuelimit, - liveEdgeCollector, - statsReceiver.scope("liveWriter"), - isRunning.get - ) - } - - private def getCatchupWriter( - segments: Seq[(TSegment, Set[Action.Value])], - queue: java.util.Queue[Array[RecosHoseMessage]], - queuelimit: Semaphore, - catchupWriterIndex: Int, - ): BufferedEdgeWriter = { - val catchupEdgeCollector = new EdgeCollector { - var currentNumEdges = 0 - - override def addEdge(message: RecosHoseMessage): Unit = { - currentNumEdges += 1 - addEdgeToSegment(segments, message) - } - } - val maxEdges = segments.map(_._1.getMaxNumEdges).sum - - def runCondition(): Boolean = { - isRunning.get && ((maxEdges - catchupEdgeCollector.currentNumEdges) > bufferSize) - } - - BufferedEdgeWriter( - queue, - queuelimit, - catchupEdgeCollector, - statsReceiver.scope("catcher_" + catchupWriterIndex), - runCondition - ) - } -} - -private object UnifiedGraphWriterMulti { - - // The RecosEdgeProcessor is not thread-safe. Only use one thread to process each instance. - val ProcessorThreads = 1 - // Each one cache at most 1000 * bufferSize requests. - val MaxPendingRequests = 1000 - // Short Commit MS to reduce duplicate messages. - val CommitIntervalMs: Long = 5000 // 5 seconds, Default Kafka value. -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/BUILD b/src/scala/com/twitter/recos/user_tweet_entity_graph/BUILD deleted file mode 100644 index 779703f07..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/BUILD +++ /dev/null @@ -1,67 +0,0 @@ -scala_library( - name = "user_tweet_entity_graph", - sources = ["*.scala"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/cascading:cascading-local", - "3rdparty/jvm/com/backtype:dfs-datastores", - "3rdparty/jvm/com/fasterxml/jackson/module:jackson-module-scala", - "3rdparty/jvm/com/google/inject:guice", - "3rdparty/jvm/com/netflix/curator:curator-framework", - "3rdparty/jvm/com/twitter/graphjet", - "3rdparty/jvm/io/netty:netty4-tcnative-boringssl-static", - "3rdparty/jvm/it/unimi/dsi:fastutil", - "3rdparty/jvm/org/apache/hadoop:hadoop-client-default", - "3rdparty/jvm/org/apache/kafka:rosette-kafka", - "3rdparty/jvm/org/apache/thrift:libthrift", - "abdecider/src/main/scala", - "decider/src/main/scala", - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/authentication", - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/server", - "finagle/finagle-core/src/main", - "finagle/finagle-http/src/main/scala", - "finagle/finagle-memcached/src/main/scala", - "finagle/finagle-stats/src/main/scala", - "finagle/finagle-thriftmux/src/main/scala", - "frigate/frigate-common/src/main/scala/com/twitter/frigate/common/util", - "scrooge/scrooge-core/src/main/scala", - "servo/repo/src/main/scala", - "servo/request/src/main/scala", - "servo/util/src/main/scala", - "src/resources/com/twitter/recos:decider", - "src/scala/com/twitter/recos/decider", - "src/scala/com/twitter/recos/graph_common", - "src/scala/com/twitter/recos/hose/common", - "src/scala/com/twitter/recos/model:recos-model", - "src/scala/com/twitter/recos/serviceapi", - "src/scala/com/twitter/recos/util:recos-util", - "src/thrift/com/twitter/recos:recos-common-scala", - "src/thrift/com/twitter/recos:recos-internal-scala", - "src/thrift/com/twitter/recos/user_tweet_entity_graph:user_tweet_entity_graph-scala", - "thrift-web-forms/src/main/scala/com/twitter/thriftwebforms", - "thrift-web-forms/src/main/scala/com/twitter/thriftwebforms/model", - "twitter-server-internal/src/main/scala", - "twitter-server/server/src/main/scala", - "twitter-server/slf4j-jdk14/src/main/scala/com/twitter/server/logging", - "util/util-app/src/main/scala", - "util/util-hashing/src/main/scala", - "util/util-logging/src/main/scala", - "util/util-stats/src/main/scala", - ], -) - -jvm_binary( - name = "bin", - basename = "user_tweet_entity_graph-server", - main = "com.twitter.recos.user_tweet_entity_graph.Main", - runtime_platform = "java11", - tags = [ - "bazel-compatible", - "known-to-fail-jira:SD-20990", - ], - dependencies = [ - ":user_tweet_entity_graph", - "3rdparty/jvm/org/slf4j:slf4j-jdk14", - "twitter-server/slf4j-jdk14/src/main/scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/BUILD.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..54c54ab581752ee11413a5e0f378f48632eb50c5 GIT binary patch literal 37430 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/EntitySocialProofRunner.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/EntitySocialProofRunner.docx new file mode 100644 index 0000000000000000000000000000000000000000..9bc958748af85de33fdc2ef52194972543f61486 GIT binary patch literal 38902 zcmagEV|ZQN*DoB~Zfx6j(xkDC#@?}w#6;p)u2gZ`|RHLpU-p7`+ixuGS?bE zjIs9Anu;>u5EvjJATS{K8C;sx%Ej@?pdcXQP#_@az*ZeGfSt3cowI?ehrOwj9;3Uh zO>?rG!n!cZw~IH-6edApFEM1yiamR3d-`}>@!HHgZmkujGg+{whe_UWwK>I5D8~4# z^amfp^#*}%?-oiOG4V4!y)2DFQt(pm!p#E4b2F|3iFgv}WvP9Fg(0ZAwk+>YGn}Bz z`*j1n252D{qIueZ$(m0fF;vyD>S#p6Au!4Uzi_on-c^$|s{#`*aou~H!a`+W;4d)Rdpyom9wX5X7 zWj(OKSe8D8M&~V=pa``m{_Bg^Gkj^~Cvm~P*X7d91EKK;(t;NZIeiet|Ei(~rHt?+ zuzFiyARzF-zXpz`Hcm{8f3DRDQ(wSYQ2Z|hB}OSq?ON2tiπkL8L4d($S*OYD55 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 z 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 JavaRecommendationType -} -import com.twitter.graphjet.algorithms.socialproof.{ - NodeMetadataSocialProofGenerator, - NodeMetadataSocialProofResult, - NodeMetadataSocialProofRequest => SocialProofJavaRequest, - SocialProofResponse => SocialProofJavaResponse -} -import com.twitter.logging.Logger -import com.twitter.recos.model.SalsaQueryRunner.SalsaRunnerConfig -import com.twitter.recos.user_tweet_entity_graph.thriftscala.{ - RecommendationType => ThriftRecommendationType, - RecommendationSocialProofRequest => SocialProofThriftRequest -} -import com.twitter.util.{Future, Try} -import it.unimi.dsi.fastutil.bytes.{Byte2ObjectArrayMap, Byte2ObjectMap} -import it.unimi.dsi.fastutil.ints.{IntOpenHashSet, IntSet} -import it.unimi.dsi.fastutil.longs.{Long2DoubleMap, Long2DoubleOpenHashMap} -import scala.collection.JavaConverters._ - -/** - * EntitySocialProofRunner creates a queue of reader threads, NodeMetadataProofGenerator, - * and each one reads from the graph and computes social proofs. - */ -class EntitySocialProofRunner( - graph: NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraph, - salsaRunnerConfig: SalsaRunnerConfig, - statsReceiver: StatsReceiver) { - private val log: Logger = Logger() - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - private val socialProofSizeStat = stats.stat("socialProofSize") - - private val socialProofFailureCounter = stats.counter("failure") - private val pollCounter = stats.counter("poll") - private val pollTimeoutCounter = stats.counter("pollTimeout") - private val offerCounter = stats.counter("offer") - private val pollLatencyStat = stats.stat("pollLatency") - private val socialProofRunnerPool = initSocialProofRunnerPool() - - private def initSocialProofRunnerPool(): AsyncQueue[NodeMetadataSocialProofGenerator] = { - val socialProofQueue = new AsyncQueue[NodeMetadataSocialProofGenerator] - (0 until salsaRunnerConfig.numSalsaRunners).foreach { _ => - socialProofQueue.offer(new NodeMetadataSocialProofGenerator(graph)) - } - socialProofQueue - } - - /** - * Helper method to interpret the output of SocialProofJavaResponse - * - * @param socialProofResponse is the response from running NodeMetadataSocialProof - * @return a sequence of SocialProofResult - */ - private def transformSocialProofResponse( - socialProofResponse: Option[SocialProofJavaResponse] - ): Seq[RecommendationInfo] = { - socialProofResponse match { - case Some(response) => - val scalaResponse = response.getRankedRecommendations.asScala - scalaResponse.foreach { result => - socialProofSizeStat.add( - result.asInstanceOf[NodeMetadataSocialProofResult].getSocialProofSize) - } - scalaResponse.toSeq - case _ => Nil - } - } - - /** - * Helper method to run social proof computation and convert the results to Option - * - * @param socialProof is socialProof reader on bipartite graph - * @param request is the socialProof request - * @return is an option of SocialProofJavaResponse - */ - private def getSocialProofResponse( - socialProof: NodeMetadataSocialProofGenerator, - request: SocialProofJavaRequest, - random: Random - )( - implicit statsReceiver: StatsReceiver - ): Option[SocialProofJavaResponse] = { - val attempt = Try(socialProof.computeRecommendations(request, random)).onFailure { e => - socialProofFailureCounter.incr() - log.error(e, "SocialProof computation failed") - } - attempt.toOption - } - - /** - * Attempt to retrieve a NodeMetadataSocialProof thread from the runner pool - * to execute a socialProofRequest - */ - private def handleSocialProofRequest(socialProofRequest: SocialProofJavaRequest) = { - pollCounter.incr() - val t0 = System.currentTimeMillis() - socialProofRunnerPool.poll().map { entitySocialProof => - val pollTime = System.currentTimeMillis - t0 - pollLatencyStat.add(pollTime) - val socialProofResponse = Try { - if (pollTime < salsaRunnerConfig.timeoutSalsaRunner) { - val response = - getSocialProofResponse(entitySocialProof, socialProofRequest, new Random())( - statsReceiver - ) - transformSocialProofResponse(response) - } else { - // if we did not get a social proof in time, then fail fast here and immediately put it back - log.warning("socialProof polling timeout") - pollTimeoutCounter.incr() - throw new RuntimeException("socialProof poll timeout") - Nil - } - } ensure { - socialProofRunnerPool.offer(entitySocialProof) - offerCounter.incr() - } - socialProofResponse.toOption getOrElse Nil - } - } - - /** - * This apply() supports requests coming from the new social proof endpoint in UTEG that works for - * tweet social proof generation, as well as hashtag and url social proof generation. - * Currently this endpoint supports url social proof generation for Guide. - */ - def apply(request: SocialProofThriftRequest): Future[Seq[RecommendationInfo]] = { - val nodeMetadataTypeToIdsMap: Byte2ObjectMap[IntSet] = new Byte2ObjectArrayMap[IntSet]() - request.recommendationIdsForSocialProof.collect { - case (ThriftRecommendationType.Url, urlIds) => - // We must convert the Long url ids into type Int since the underlying library expects Int type metadata ids. - val urlIntIds = urlIds.map(_.toInt) - nodeMetadataTypeToIdsMap.put( - JavaRecommendationType.URL.getValue.toByte, - new IntOpenHashSet(urlIntIds.toArray) - ) - case (ThriftRecommendationType.Hashtag, hashtagIds) => - // We must convert the Long hashtag ids into type Int since the underlying library expects Int type metadata ids. - val hashtagIntIds = hashtagIds.map(_.toInt) - nodeMetadataTypeToIdsMap.put( - JavaRecommendationType.HASHTAG.getValue.toByte, - new IntOpenHashSet(hashtagIntIds.toArray) - ) - } - - val leftSeedNodes: Long2DoubleMap = new Long2DoubleOpenHashMap( - request.seedsWithWeights.keys.toArray, - request.seedsWithWeights.values.toArray - ) - - val socialProofRequest = new SocialProofJavaRequest( - nodeMetadataTypeToIdsMap, - leftSeedNodes, - UserTweetEdgeTypeMask.getUserTweetGraphSocialProofTypes(request.socialProofTypes) - ) - - handleSocialProofRequest(socialProofRequest) - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/LoggingUserTweetEntityGraph.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/LoggingUserTweetEntityGraph.docx new file mode 100644 index 0000000000000000000000000000000000000000..fbad62f416d04f5534bd7f3c9fe5938c851292aa GIT binary patch literal 37576 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/LoggingUserTweetEntityGraph.scala b/src/scala/com/twitter/recos/user_tweet_entity_graph/LoggingUserTweetEntityGraph.scala deleted file mode 100644 index ab1a44324..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/LoggingUserTweetEntityGraph.scala +++ /dev/null @@ -1,103 +0,0 @@ -package com.twitter.recos.user_tweet_entity_graph - -import com.twitter.finagle.tracing.Trace -import com.twitter.logging.Logger -import com.twitter.recos.user_tweet_entity_graph.thriftscala._ -import com.twitter.util.Future - -trait LoggingUserTweetEntityGraph extends thriftscala.UserTweetEntityGraph.MethodPerEndpoint { - private[this] val accessLog = Logger("access") - - abstract override def recommendTweets( - request: RecommendTweetEntityRequest - ): Future[RecommendTweetEntityResponse] = { - val time = System.currentTimeMillis - super.recommendTweets(request) onSuccess { resp => - accessLog.info( - "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\tRecommendTweetResponse size: %s\t%s in %d ms" - .format( - time, - Trace.id.toString(), - request.requesterId, - request.displayLocation, - request.recommendationTypes, - request.maxResultsByType, - request.excludedTweetIds.map(_.take(5)), - request.excludedTweetIds.map(_.size), - request.seedsWithWeights.take(5), - request.seedsWithWeights.size, - request.maxTweetAgeInMillis, - request.maxUserSocialProofSize, - request.maxTweetSocialProofSize, - request.minUserSocialProofSizes, - request.tweetTypes, - request.socialProofTypes, - request.socialProofTypeUnions, - resp.recommendations.size, - resp.recommendations.take(20).toList map { - case UserTweetEntityRecommendationUnion.TweetRec(tweetRec) => - (tweetRec.tweetId, tweetRec.socialProofByType.map { case (k, v) => (k, v.size) }) - case UserTweetEntityRecommendationUnion.HashtagRec(hashtagRec) => - (hashtagRec.id, hashtagRec.socialProofByType.map { case (k, v) => (k, v.size) }) - case UserTweetEntityRecommendationUnion.UrlRec(urlRec) => - (urlRec.id, urlRec.socialProofByType.map { case (k, v) => (k, v.size) }) - case _ => - throw new Exception("Unsupported recommendation types") - }, - System.currentTimeMillis - time - ) - ) - } onFailure { exc => - accessLog.error( - "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s in %d ms".format( - time, - Trace.id.toString(), - request.requesterId, - request.displayLocation, - request.recommendationTypes, - request.maxResultsByType, - request.excludedTweetIds.map(_.take(5)), - request.excludedTweetIds.map(_.size), - request.seedsWithWeights.take(5), - request.seedsWithWeights.size, - request.maxTweetAgeInMillis, - request.maxUserSocialProofSize, - request.maxTweetSocialProofSize, - request.minUserSocialProofSizes, - request.tweetTypes, - request.socialProofTypes, - request.socialProofTypeUnions, - exc, - System.currentTimeMillis - time - ) - ) - } - } - - abstract override def findTweetSocialProofs( - request: SocialProofRequest - ): Future[SocialProofResponse] = { - val time = System.currentTimeMillis - super.findTweetSocialProofs(request) onSuccess { resp => - accessLog.info( - "%s\t%s\t%d\tResponse: %s\tin %d ms".format( - Trace.id.toString, - request.requesterId, - request.seedsWithWeights.size, - resp.socialProofResults.toList, - System.currentTimeMillis - time - ) - ) - } onFailure { exc => - accessLog.info( - "%s\t%s\t%d\tException: %s\tin %d ms".format( - Trace.id.toString, - request.requesterId, - request.seedsWithWeights.size, - exc, - System.currentTimeMillis - time - ) - ) - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/Main.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/Main.docx new file mode 100644 index 0000000000000000000000000000000000000000..5a31b7202c562ec1ce6b931a9a57a8fda8c88b80 GIT binary patch literal 39587 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�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 JDK14Logging} -import com.twitter.server.Deciderable -import com.twitter.server.TwitterServer -import com.twitter.thriftwebforms.MethodOptions -import com.twitter.thriftwebforms.TwitterServerThriftWebForms -import com.twitter.util.Await -import com.twitter.util.Duration -import java.net.InetSocketAddress -import java.util.concurrent.TimeUnit -import org.apache.kafka.clients.CommonClientConfigs -import org.apache.kafka.common.config.SaslConfigs -import org.apache.kafka.common.config.SslConfigs -import org.apache.kafka.common.security.auth.SecurityProtocol -import org.apache.kafka.common.serialization.StringDeserializer - -object Main extends TwitterServer with JDK14Logging with Deciderable { - profile => - - val shardId: Flag[Int] = flag("shardId", 0, "Shard ID") - val servicePort: Flag[InetSocketAddress] = - flag("service.port", new InetSocketAddress(10143), "Thrift service port") - val logDir: Flag[String] = flag("logdir", "recos", "Logging directory") - val numShards: Flag[Int] = flag("numShards", 1, "Number of shards for this service") - val truststoreLocation: Flag[String] = - flag[String]("truststore_location", "", "Truststore file location") - val hoseName: Flag[String] = - flag("hosename", "recos_injector_user_user", "the kafka stream used for incoming edges") - - val dataCenter: Flag[String] = flag("service.cluster", "atla", "Data Center") - val serviceRole: Flag[String] = flag("service.role", "Service Role") - val serviceEnv: Flag[String] = flag("service.env", "Service Env") - val serviceName: Flag[String] = flag("service.name", "Service Name") - - private val maxNumSegments = - flag("maxNumSegments", graphBuilderConfig.maxNumSegments, "the number of segments in the graph") - - private val statsReceiverWrapper = FinagleStatsReceiverWrapper(statsReceiver) - - lazy val clientId = ClientId(s"usertweetentitygraph.${serviceEnv()}") - - private val shutdownTimeout = flag( - "service.shutdownTimeout", - 5.seconds, - "Maximum amount of time to wait for pending requests to complete on shutdown" - ) - - // ********* logging ********** - - lazy val loggingLevel: Level = Level.INFO - lazy val recosLogPath: String = logDir() + "/recos.log" - lazy val graphLogPath: String = logDir() + "/graph.log" - lazy val accessLogPath: String = logDir() + "/access.log" - - override def loggerFactories: List[LoggerFactory] = - List( - LoggerFactory( - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = recosLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "graph", - useParents = false, - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = graphLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "access", - useParents = false, - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = accessLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "client_event", - level = Some(loggingLevel), - useParents = false, - handlers = QueueingHandler( - maxQueueSize = 10000, - handler = ScribeHandler( - category = "client_event", - formatter = BareFormatter - ) - ) :: Nil - ) - ) - // ******** Decider ************* - - val graphDecider: UserTweetEntityGraphDecider = UserTweetEntityGraphDecider() - - // ********* ABdecider ********** - - val abDeciderYmlPath: String = "/usr/local/config/abdecider/abdecider.yml" - - val scribeLogger: Option[Logger] = Some(Logger.get("client_event")) - - val abDecider: LoggingABDecider = - ABDeciderFactory( - abDeciderYmlPath = abDeciderYmlPath, - scribeLogger = scribeLogger, - environment = Some("production") - ).buildWithLogging() - - // ********* Recos service ********** - - private def getKafkaBuilder() = { - FinagleKafkaConsumerBuilder[String, RecosHoseMessage]() - .dest("/s/kafka/recommendations:kafka-tls") - .groupId(KafkaGroupId(f"user_tweet_entity_graph-${shardId()}%06d")) - .keyDeserializer(new StringDeserializer) - .valueDeserializer(ScalaSerdes.Thrift[RecosHoseMessage].deserializer) - .seekStrategy(SeekStrategy.REWIND) - .rewindDuration(20.hours) - .withConfig(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SASL_SSL.toString) - .withConfig(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, truststoreLocation()) - .withConfig(SaslConfigs.SASL_MECHANISM, SaslConfigs.GSSAPI_MECHANISM) - .withConfig(SaslConfigs.SASL_KERBEROS_SERVICE_NAME, "kafka") - .withConfig(SaslConfigs.SASL_KERBEROS_SERVER_NAME, "kafka") - } - def main(): Unit = { - log.info("building graph with maxNumSegments = " + profile.maxNumSegments()) - val graph = NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder( - graphBuilderConfig.copy(maxNumSegments = profile.maxNumSegments()), - statsReceiverWrapper - ) - - val kafkaConfigBuilder = getKafkaBuilder() - - val graphWriter = - UserTweetEntityGraphWriter( - shardId().toString, - serviceEnv(), - hoseName(), - 128, // keep the original setting. - kafkaConfigBuilder, - clientId.name, - statsReceiver, - ) - graphWriter.initHose(graph) - - val tweetRecsRunner = new TweetRecommendationsRunner( - graph, - Constants.salsaRunnerConfig, - statsReceiverWrapper - ) - - val tweetSocialProofRunner = new TweetSocialProofRunner( - graph, - Constants.salsaRunnerConfig, - statsReceiver - ) - - val entitySocialProofRunner = new EntitySocialProofRunner( - graph, - Constants.salsaRunnerConfig, - statsReceiver - ) - - val recommendationHandler = new RecommendationHandler(tweetRecsRunner, statsReceiver) - - /* - * Old social proof handler retained to support old tweet social proof endpoint. - * Future clients should utilize the findRecommendationSocialProofs endpoint which will use - * the more broad "SocialProofHandler" - */ - val tweetSocialProofHandler = new TweetSocialProofHandler( - tweetSocialProofRunner, - graphDecider, - statsReceiver - ) - val socialProofHandler = new SocialProofHandler( - tweetSocialProofRunner, - entitySocialProofRunner, - graphDecider, - statsReceiver - ) - val userTweetEntityGraph = new UserTweetEntityGraph( - recommendationHandler, - tweetSocialProofHandler, - socialProofHandler - ) with LoggingUserTweetEntityGraph - - // For MutualTLS - val serviceIdentifier = ServiceIdentifier( - role = serviceRole(), - service = serviceName(), - environment = serviceEnv(), - zone = dataCenter() - ) - log.info(s"ServiceIdentifier = ${serviceIdentifier.toString}") - - val thriftServer = ThriftMux.server - .withOpportunisticTls(OpportunisticTls.Required) - .withMutualTls(serviceIdentifier) - .serveIface(servicePort(), userTweetEntityGraph) - - log.info("clientid: " + clientId.toString) - log.info("servicePort: " + servicePort().toString) - - log.info("adding shutdown hook") - onExit { - graphWriter.shutdown() - thriftServer.close(shutdownTimeout().fromNow) - } - log.info("added shutdown hook") - - // Wait on the thriftServer so that shutdownTimeout is respected. - Await.result(thriftServer) - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/README.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..08d742c9d30611e0549760cc5daef3c6ce775ac3 GIT binary patch literal 37254 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/README.md b/src/scala/com/twitter/recos/user_tweet_entity_graph/README.md deleted file mode 100644 index 39af44deb..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# UserTweetEntityGraph (UTEG) - -## What is it -User Tweet Entity Graph (UTEG) is a Finalge thrift service built on the GraphJet framework. It maintains a graph of user-tweet relationships and serves user recommendations based on traversals in this graph. - -## How is it used on Twitter -UTEG generates the "XXX Liked" out-of-network tweets seen on Twitter's Home Timeline. -The core idea behind UTEG is collaborative filtering. UTEG takes a user's weighted follow graph (i.e a list of weighted userIds) as input, -performs efficient traversal & aggregation, and returns the top-weighted tweets engaged based on # of users that engaged the tweet, as well as -the engaged users' weights. - -UTEG is a stateful service and relies on a Kafka stream to ingest & persist states. It maintains in-memory user engagements over the past -24-48 hours. Older events are dropped and GC'ed. - -For full details on storage & processing, please check out our open-sourced project GraphJet, a general-purpose high-performance in-memory storage engine. -- https://github.com/twitter/GraphJet -- http://www.vldb.org/pvldb/vol9/p1281-sharma.pdf diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/RecommendationHandler.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/RecommendationHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..fa82c810e189a812813bfcbeaf2cafc78cd1560e GIT binary patch literal 37559 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 - if (candidates.isEmpty) scopedStats.counter(Stats.EmptyResult).incr() - else scopedStats.counter(Stats.Served).incr(candidates.size) - - RecommendTweetEntityResponse(candidates.flatMap { - _ match { - case tweetRec: TweetRecommendationInfo => - Some( - UserTweetEntityRecommendationUnion.TweetRec( - TweetRecommendation( - tweetRec.getRecommendation, - tweetRec.getWeight, - socialProofHydrator.addTweetSocialProofByType(tweetRec), - socialProofHydrator.addTweetSocialProofs(tweetRec) - ) - ) - ) - case tweetMetadataRec: TweetMetadataRecommendationInfo => - if (tweetMetadataRec.getRecommendationType == RecommendationType.HASHTAG) { - Some( - UserTweetEntityRecommendationUnion.HashtagRec( - HashtagRecommendation( - tweetMetadataRec.getRecommendation, - tweetMetadataRec.getWeight, - socialProofHydrator.addMetadataSocialProofByType(tweetMetadataRec) - ) - ) - ) - } else if (tweetMetadataRec.getRecommendationType == RecommendationType.URL) { - Some( - UserTweetEntityRecommendationUnion.UrlRec( - UrlRecommendation( - tweetMetadataRec.getRecommendation, - tweetMetadataRec.getWeight, - socialProofHydrator.addMetadataSocialProofByType(tweetMetadataRec) - ) - ) - ) - } else { - None: Option[UserTweetEntityRecommendationUnion] - } - case _ => None - } - }) - } - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/RecosConfig.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/RecosConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..2d7ebf53d895a388f6cb541c4ab06d64eeaca16f GIT binary patch literal 37416 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 Wt<1$h3tF@)Ilu)p4|2ldzkdL&k5)ba literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHandler.scala b/src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHandler.scala deleted file mode 100644 index 8d74cbe37..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHandler.scala +++ /dev/null @@ -1,165 +0,0 @@ -package com.twitter.recos.user_tweet_entity_graph - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.graphjet.algorithms.{ - RecommendationInfo, - RecommendationType => JavaRecommendationType -} -import com.twitter.graphjet.algorithms.socialproof.{ - NodeMetadataSocialProofResult => EntitySocialProofJavaResult, - SocialProofResult => SocialProofJavaResult -} -import com.twitter.recos.decider.UserTweetEntityGraphDecider -import com.twitter.recos.util.Stats -import com.twitter.recos.util.Stats._ -import com.twitter.recos.recos_common.thriftscala.{SocialProofType => SocialProofThriftType} -import com.twitter.recos.user_tweet_entity_graph.thriftscala.{ - HashtagRecommendation, - TweetRecommendation, - UrlRecommendation, - UserTweetEntityRecommendationUnion, - RecommendationSocialProofRequest => SocialProofThriftRequest, - RecommendationSocialProofResponse => SocialProofThriftResponse, - RecommendationType => ThriftRecommendationType -} -import com.twitter.servo.request.RequestHandler -import com.twitter.util.{Future, Try} -import scala.collection.JavaConverters._ - -class SocialProofHandler( - tweetSocialProofRunner: TweetSocialProofRunner, - entitySocialProofRunner: EntitySocialProofRunner, - decider: UserTweetEntityGraphDecider, - statsReceiver: StatsReceiver) - extends RequestHandler[SocialProofThriftRequest, SocialProofThriftResponse] { - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - - private def getThriftSocialProof( - entitySocialProof: EntitySocialProofJavaResult - ): Map[SocialProofThriftType, Map[Long, Seq[Long]]] = { - val socialProofAttempt = Try(entitySocialProof.getSocialProof) - .onFailure { e => - stats.counter(e.getClass.getSimpleName).incr() - } - - socialProofAttempt.toOption match { - case Some(socialProof) if socialProof.isEmpty => - stats.counter(Stats.EmptyResult).incr() - Map.empty[SocialProofThriftType, Map[Long, Seq[Long]]] - case Some(socialProof) if !socialProof.isEmpty => - socialProof.asScala.map { - case (socialProofType, socialProofUserToTweetsMap) => - val userToTweetsSocialProof = socialProofUserToTweetsMap.asScala.map { - case (socialProofUser, connectingTweets) => - (socialProofUser.toLong, connectingTweets.asScala.map(Long2long).toSeq) - }.toMap - (SocialProofThriftType(socialProofType.toInt), userToTweetsSocialProof) - }.toMap - case _ => - Map.empty[SocialProofThriftType, Map[Long, Seq[Long]]] - } - } - - private def getThriftSocialProof( - tweetSocialProof: SocialProofJavaResult - ): Map[SocialProofThriftType, Seq[Long]] = { - val socialProofAttempt = Try(tweetSocialProof.getSocialProof) - .onFailure { e => - stats.counter(e.getClass.getSimpleName).incr() - } - - socialProofAttempt.toOption match { - case Some(socialProof) if socialProof.isEmpty => - stats.counter(Stats.EmptyResult).incr() - Map.empty[SocialProofThriftType, Seq[Long]] - case Some(socialProof) if !socialProof.isEmpty => - socialProof.asScala.map { - case (socialProofType, connectingUsers) => - ( - SocialProofThriftType(socialProofType.toInt), - connectingUsers.asScala.map { Long2long }.toSeq) - }.toMap - case _ => - Map.empty[SocialProofThriftType, Seq[Long]] - } - } - - private def getEntitySocialProof( - request: SocialProofThriftRequest - ): Future[Seq[UserTweetEntityRecommendationUnion]] = { - val socialProofsFuture = entitySocialProofRunner(request) - - socialProofsFuture.map { socialProofs: Seq[RecommendationInfo] => - stats.counter(Stats.Served).incr(socialProofs.size) - socialProofs.flatMap { entitySocialProof: RecommendationInfo => - val entitySocialProofJavaResult = - entitySocialProof.asInstanceOf[EntitySocialProofJavaResult] - if (entitySocialProofJavaResult.getRecommendationType == JavaRecommendationType.URL) { - Some( - UserTweetEntityRecommendationUnion.UrlRec( - UrlRecommendation( - entitySocialProofJavaResult.getNodeMetadataId, - entitySocialProofJavaResult.getWeight, - getThriftSocialProof(entitySocialProofJavaResult) - ) - ) - ) - } else if (entitySocialProofJavaResult.getRecommendationType == JavaRecommendationType.HASHTAG) { - Some( - UserTweetEntityRecommendationUnion.HashtagRec( - HashtagRecommendation( - entitySocialProofJavaResult.getNodeMetadataId, - entitySocialProofJavaResult.getWeight, - getThriftSocialProof(entitySocialProofJavaResult) - ) - ) - ) - } else { - None - } - } - } - } - - private def getTweetSocialProof( - request: SocialProofThriftRequest - ): Future[Seq[UserTweetEntityRecommendationUnion]] = { - val socialProofsFuture = tweetSocialProofRunner(request) - - socialProofsFuture.map { socialProofs: Seq[RecommendationInfo] => - stats.counter(Stats.Served).incr(socialProofs.size) - socialProofs.flatMap { tweetSocialProof: RecommendationInfo => - val tweetSocialProofJavaResult = tweetSocialProof.asInstanceOf[SocialProofJavaResult] - Some( - UserTweetEntityRecommendationUnion.TweetRec( - TweetRecommendation( - tweetSocialProofJavaResult.getNode, - tweetSocialProofJavaResult.getWeight, - getThriftSocialProof(tweetSocialProofJavaResult) - ) - ) - ) - } - } - } - - def apply(request: SocialProofThriftRequest): Future[SocialProofThriftResponse] = { - trackFutureBlockStats(stats) { - val recommendationsWithSocialProofFut = Future - .collect { - request.recommendationIdsForSocialProof.keys.map { - case ThriftRecommendationType.Tweet if decider.tweetSocialProof => - getTweetSocialProof(request) - case (ThriftRecommendationType.Url | ThriftRecommendationType.Hashtag) - if decider.entitySocialProof => - getEntitySocialProof(request) - case _ => - Future.Nil - }.toSeq - }.map(_.flatten) - recommendationsWithSocialProofFut.map { recommendationsWithSocialProof => - SocialProofThriftResponse(recommendationsWithSocialProof) - } - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHydrator.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/SocialProofHydrator.docx new file mode 100644 index 0000000000000000000000000000000000000000..70885dae43e8882d0dd4716755445884710040a5 GIT binary patch literal 38061 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 1 && users.size != users.distinct.size) { - socialProofsDup.incr() - val unique = users - .zip(metadata) - .foldLeft[Seq[(Long, Long)]](Nil) { (list, next) => - { - val test = list find { _._1 == next._1 } - if (test.isEmpty) next +: list else list - } - } - .reverse - unique.map { case (user, data) => SocialProof(user, Some(data)) } - } else { - socialProofsUni.incr() - users.zip(metadata).map { case (user, data) => SocialProof(user, Some(data)) } - } - - } - - // Extract and dedup social proofs from GraphJet. Only Favorite based social proof needs to dedup. - // Return the social proofs (userId, metadata) pair in SocialProof thrift objects. - def addTweetSocialProofs( - tweet: TweetRecommendationInfo - ): Option[Map[SocialProofType, Seq[SocialProof]]] = { - Some( - tweet.getSocialProof.asScala.map { - case (socialProofType, socialProof) => - val socialProofThriftType = SocialProofType(socialProofType.toByte) - ( - socialProofThriftType, - getSocialProofs( - socialProofThriftType, - socialProof.getConnectingUsers.asScala.map(_.toLong), - socialProof.getMetadata.asScala.map(_.toLong) - ) - ) - }.toMap - ) - } - - def getSocialProofs(users: Seq[Long]): Seq[Long] = { - if (users.size > 1) { - val distinctUsers = users.distinct - if (users.size != distinctUsers.size) { - socialProofByTypeDup.incr() - } else { - socialProofByTypeUni.incr() - } - distinctUsers - } else { - socialProofByTypeUni.incr() - users - } - } - - // Extract and dedup social proofs from GraphJet. All social proof types need to dedup. - // Return the userId social proofs without metadata. - def addTweetSocialProofByType(tweet: TweetRecommendationInfo): Map[SocialProofType, Seq[Long]] = { - tweet.getSocialProof.asScala.map { - case (socialProofType, socialProof) => - ( - SocialProofType(socialProofType.toByte), - getSocialProofs(socialProof.getConnectingUsers.asScala.map(_.toLong)) - ) - }.toMap - } - - // The Hashtag and URL Social Proof. Dedup is not necessary. - def addMetadataSocialProofByType( - tweetMetadataRec: TweetMetadataRecommendationInfo - ): Map[SocialProofType, Map[Long, Seq[Long]]] = { - tweetMetadataRec.getSocialProof.asScala.map { - case (socialProofType, socialProof) => - ( - SocialProofType(socialProofType.toByte), - socialProof.asScala.map { - case (authorId, tweetIds) => - (authorId.toLong, tweetIds.asScala.map(_.toLong)) - }.toMap) - }.toMap - } - -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetRecommendationsRunner.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetRecommendationsRunner.docx new file mode 100644 index 0000000000000000000000000000000000000000..3c0dbec2cc4f1c30683e0e4c2d2d993538ebbb66 GIT binary patch literal 40194 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 G^Xz}Od~hxR literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetRecommendationsRunner.scala b/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetRecommendationsRunner.scala deleted file mode 100644 index 428c2dd6d..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetRecommendationsRunner.scala +++ /dev/null @@ -1,322 +0,0 @@ -package com.twitter.recos.user_tweet_entity_graph - -import java.util.Random -import com.twitter.concurrent.AsyncQueue -import com.twitter.conversions.DurationOps._ -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.graphjet.algorithms._ -import com.twitter.graphjet.algorithms.filters._ -import com.twitter.graphjet.algorithms.counting.TopSecondDegreeByCountResponse -import com.twitter.graphjet.algorithms.counting.tweet.TopSecondDegreeByCountForTweet -import com.twitter.graphjet.algorithms.counting.tweet.TopSecondDegreeByCountRequestForTweet -import com.twitter.graphjet.bipartite.NodeMetadataLeftIndexedMultiSegmentBipartiteGraph -import com.twitter.logging.Logger -import com.twitter.recos.graph_common.FinagleStatsReceiverWrapper -import com.twitter.recos.model.SalsaQueryRunner.SalsaRunnerConfig -import com.twitter.recos.recos_common.thriftscala.SocialProofType -import com.twitter.recos.user_tweet_entity_graph.thriftscala.RecommendTweetEntityRequest -import com.twitter.recos.user_tweet_entity_graph.thriftscala.TweetEntityDisplayLocation -import com.twitter.recos.user_tweet_entity_graph.thriftscala.TweetType -import com.twitter.recos.util.Stats.trackBlockStats -import com.twitter.util.Future -import com.twitter.util.JavaTimer -import com.twitter.util.Try -import it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap -import it.unimi.dsi.fastutil.longs.LongOpenHashSet -import scala.collection.JavaConverters._ - -import com.twitter.graphjet.algorithms.RecommendationType -import com.twitter.recos.user_tweet_entity_graph.thriftscala.{ - RecommendationType => ThriftRecommendationType -} -import scala.collection.Map -import scala.collection.Set - -object TweetRecommendationsRunner { - private val DefaultTweetTypes: Seq[TweetType] = - Seq(TweetType.Regular, TweetType.Summary, TweetType.Photo, TweetType.Player) - private val DefaultF1ExactSocialProofSize = 1 - private val DefaultRareTweetRecencyMillis: Long = 7.days.inMillis - - /** - * Map valid social proof types specified by clients to an array of bytes. If clients do not - * specify any social proof type unions in thrift, it will return an empty set by default. - */ - private def getSocialProofTypeUnions( - socialProofTypeUnions: Option[Set[Seq[SocialProofType]]] - ): Set[Array[Byte]] = { - socialProofTypeUnions - .map { - _.map { - _.map { - _.getValue.toByte - }.toArray - } - } - .getOrElse(Set.empty) - } - - private def getRecommendationTypes( - recommendationTypes: Seq[ThriftRecommendationType] - ): Set[RecommendationType] = { - recommendationTypes.flatMap { - _ match { - case ThriftRecommendationType.Tweet => Some(RecommendationType.TWEET) - case ThriftRecommendationType.Hashtag => Some(RecommendationType.HASHTAG) - case ThriftRecommendationType.Url => Some(RecommendationType.URL) - case _ => - throw new Exception("Unmatched Recommendation Type in getRecommendationTypes") - } - }.toSet - } - - private def convertThriftEnumsToJavaEnums( - maxResults: Option[Map[ThriftRecommendationType, Int]] - ): Map[RecommendationType, Integer] = { - maxResults - .map { - _.flatMap { - _ match { - case (ThriftRecommendationType.Tweet, v) => Some((RecommendationType.TWEET, v: Integer)) - case (ThriftRecommendationType.Hashtag, v) => - Some((RecommendationType.HASHTAG, v: Integer)) - case (ThriftRecommendationType.Url, v) => Some((RecommendationType.URL, v: Integer)) - case _ => - throw new Exception("Unmatched Recommendation Type in convertThriftEnumsToJavaEnums") - } - } - } - .getOrElse(Map.empty) - } - -} - -/** - * The MagicRecsRunner creates a queue of reader threads, MagicRecs, and each one reads from the - * graph and computes recommendations. - */ -class TweetRecommendationsRunner( - bipartiteGraph: NodeMetadataLeftIndexedMultiSegmentBipartiteGraph, - salsaRunnerConfig: SalsaRunnerConfig, - statsReceiverWrapper: FinagleStatsReceiverWrapper) { - - import TweetRecommendationsRunner._ - - private val log: Logger = Logger() - - private val stats = statsReceiverWrapper.statsReceiver.scope(this.getClass.getSimpleName) - private val magicRecsFailureCounter = stats.counter("failure") - private val pollCounter = stats.counter("poll") - private val pollTimeoutCounter = stats.counter("pollTimeout") - private val offerCounter = stats.counter("offer") - private val pollLatencyStat = stats.stat("pollLatency") - - private val magicRecsQueue = new AsyncQueue[TopSecondDegreeByCountForTweet] - (0 until salsaRunnerConfig.numSalsaRunners).foreach { _ => - magicRecsQueue.offer( - new TopSecondDegreeByCountForTweet( - bipartiteGraph, - salsaRunnerConfig.expectedNodesToHitInSalsa, - statsReceiverWrapper.scope(this.getClass.getSimpleName) - ) - ) - } - - private implicit val timer: JavaTimer = new JavaTimer(true) - - private def getBaseFilters( - staleTweetDuration: Long, - tweetTypes: Seq[TweetType] - ) = { - List( - // Keep RecentTweetFilter first since it's the cheapest - new RecentTweetFilter(staleTweetDuration, statsReceiverWrapper), - new TweetCardFilter( - tweetTypes.contains(TweetType.Regular), - tweetTypes.contains(TweetType.Summary), - tweetTypes.contains(TweetType.Photo), - tweetTypes.contains(TweetType.Player), - false, // no promoted tweets - statsReceiverWrapper - ), - new DirectInteractionsFilter(bipartiteGraph, statsReceiverWrapper), - new RequestedSetFilter(statsReceiverWrapper), - new SocialProofTypesFilter(statsReceiverWrapper) - ) - } - - /** - * Helper method to interpret the output of MagicRecs graph - * - * @param magicRecsResponse is the response from running MagicRecs - * @return a sequence of candidate ids, with score and list of social proofs - */ - private def transformMagicRecsResponse( - magicRecsResponse: Option[TopSecondDegreeByCountResponse] - ): Seq[RecommendationInfo] = { - val responses = magicRecsResponse match { - case Some(response) => response.getRankedRecommendations.asScala.toSeq - case _ => Nil - } - responses - } - - /** - * Helper function to determine different post-process filtering logic in GraphJet, - * based on display locations - */ - private def getFiltersByDisplayLocations( - displayLocation: TweetEntityDisplayLocation, - whitelistAuthors: LongOpenHashSet, - blacklistAuthors: LongOpenHashSet, - validSocialProofs: Array[Byte] - ) = { - displayLocation match { - case TweetEntityDisplayLocation.MagicRecsF1 => - Seq( - new ANDFilters( - List[ResultFilter]( - new TweetAuthorFilter( - bipartiteGraph, - whitelistAuthors, - new LongOpenHashSet(), - statsReceiverWrapper), - new ExactUserSocialProofSizeFilter( - DefaultF1ExactSocialProofSize, - validSocialProofs, - statsReceiverWrapper - ) - ).asJava, - statsReceiverWrapper - ), - // Blacklist filter must be applied separately from F1's AND filter chain - new TweetAuthorFilter( - bipartiteGraph, - new LongOpenHashSet(), - blacklistAuthors, - statsReceiverWrapper) - ) - case TweetEntityDisplayLocation.MagicRecsRareTweet => - Seq( - new TweetAuthorFilter( - bipartiteGraph, - whitelistAuthors, - blacklistAuthors, - statsReceiverWrapper), - new RecentEdgeMetadataFilter( - DefaultRareTweetRecencyMillis, - UserTweetEdgeTypeMask.Tweet.id.toByte, - statsReceiverWrapper - ) - ) - case _ => - Seq( - new TweetAuthorFilter( - bipartiteGraph, - whitelistAuthors, - blacklistAuthors, - statsReceiverWrapper)) - } - } - - /** - * Helper method to run salsa computation and convert the results to Option - * - * @param magicRecs is magicRecs reader on bipartite graph - * @param magicRecsRequest is the magicRecs request - * @return is an option of MagicRecsResponse - */ - private def getMagicRecsResponse( - magicRecs: TopSecondDegreeByCountForTweet, - magicRecsRequest: TopSecondDegreeByCountRequestForTweet - )( - implicit statsReceiver: StatsReceiver - ): Option[TopSecondDegreeByCountResponse] = { - trackBlockStats(stats) { - val random = new Random() - // compute recs -- need to catch and print exceptions here otherwise they are swallowed - val magicRecsAttempt = - Try(magicRecs.computeRecommendations(magicRecsRequest, random)).onFailure { e => - magicRecsFailureCounter.incr() - log.error(e, "MagicRecs computation failed") - } - magicRecsAttempt.toOption - } - } - - private def getMagicRecsRequest( - request: RecommendTweetEntityRequest - ): TopSecondDegreeByCountRequestForTweet = { - val requesterId = request.requesterId - val leftSeedNodes = new Long2DoubleOpenHashMap( - request.seedsWithWeights.keys.toArray, - request.seedsWithWeights.values.toArray - ) - val tweetsToExcludeArray = new LongOpenHashSet(request.excludedTweetIds.getOrElse(Nil).toArray) - val staleTweetDuration = request.maxTweetAgeInMillis.getOrElse(RecosConfig.maxTweetAgeInMillis) - val staleEngagementDuration = - request.maxEngagementAgeInMillis.getOrElse(RecosConfig.maxEngagementAgeInMillis) - val tweetTypes = request.tweetTypes.getOrElse(DefaultTweetTypes) - val tweetAuthors = new LongOpenHashSet(request.tweetAuthors.getOrElse(Nil).toArray) - val excludedTweetAuthors = new LongOpenHashSet( - request.excludedTweetAuthors.getOrElse(Nil).toArray) - val validSocialProofs = - UserTweetEdgeTypeMask.getUserTweetGraphSocialProofTypes(request.socialProofTypes) - - val resultFilterChain = new ResultFilterChain( - ( - getBaseFilters(staleTweetDuration, tweetTypes) ++ - getFiltersByDisplayLocations( - displayLocation = request.displayLocation, - whitelistAuthors = tweetAuthors, - blacklistAuthors = excludedTweetAuthors, - validSocialProofs = validSocialProofs - ) - ).asJava - ) - - new TopSecondDegreeByCountRequestForTweet( - requesterId, - leftSeedNodes, - tweetsToExcludeArray, - getRecommendationTypes(request.recommendationTypes).asJava, - convertThriftEnumsToJavaEnums(request.maxResultsByType).asJava, - UserTweetEdgeTypeMask.SIZE, - request.maxUserSocialProofSize.getOrElse(RecosConfig.maxUserSocialProofSize), - request.maxTweetSocialProofSize.getOrElse(RecosConfig.maxTweetSocialProofSize), - convertThriftEnumsToJavaEnums(request.minUserSocialProofSizes).asJava, - validSocialProofs, - staleTweetDuration, - staleEngagementDuration, - resultFilterChain, - getSocialProofTypeUnions(request.socialProofTypeUnions).asJava - ) - } - - def apply(request: RecommendTweetEntityRequest): Future[Seq[RecommendationInfo]] = { - pollCounter.incr() - val t0 = System.currentTimeMillis - magicRecsQueue.poll().map { magicRecs => - val pollTime = System.currentTimeMillis - t0 - pollLatencyStat.add(pollTime) - val magicRecsResponse = Try { - if (pollTime < salsaRunnerConfig.timeoutSalsaRunner) { - val magicRecsRequest = getMagicRecsRequest(request) - transformMagicRecsResponse( - getMagicRecsResponse(magicRecs, magicRecsRequest)(statsReceiverWrapper.statsReceiver) - ) - } else { - // if we did not get a magicRecs in time, then fail fast here and immediately put it back - log.warning("magicRecsQueue polling timeout") - pollTimeoutCounter.incr() - throw new RuntimeException("magicRecs poll timeout") - Nil - } - } ensure { - magicRecsQueue.offer(magicRecs) - offerCounter.incr() - } - magicRecsResponse.toOption getOrElse Nil - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofHandler.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..cf3fcc236c572046d3917828e20a97771bb15833 GIT binary patch literal 37600 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

_Z*@i9xxlN=OI32?g%pLqg+ki| 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γ-ks`faY=Psr+H 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 DeP&9y literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofHandler.scala b/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofHandler.scala deleted file mode 100644 index 6ab493589..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofHandler.scala +++ /dev/null @@ -1,73 +0,0 @@ -package com.twitter.recos.user_tweet_entity_graph - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.frigate.common.util.StatsUtil -import com.twitter.graphjet.algorithms.RecommendationInfo -import com.twitter.graphjet.algorithms.socialproof.{SocialProofResult => SocialProofJavaResult} -import com.twitter.recos.decider.UserTweetEntityGraphDecider -import com.twitter.recos.util.Stats -import com.twitter.recos.util.Stats._ -import com.twitter.recos.recos_common.thriftscala.{SocialProofType => SocialProofThriftType} -import com.twitter.recos.user_tweet_entity_graph.thriftscala.TweetRecommendation -import com.twitter.recos.user_tweet_entity_graph.thriftscala.{ - SocialProofRequest => SocialProofThriftRequest -} -import com.twitter.recos.user_tweet_entity_graph.thriftscala.{ - SocialProofResponse => SocialProofThriftResponse -} -import com.twitter.servo.request.RequestHandler -import com.twitter.util.Future -import scala.collection.JavaConverters._ - -class TweetSocialProofHandler( - tweetSocialProofRunner: TweetSocialProofRunner, - decider: UserTweetEntityGraphDecider, - statsReceiver: StatsReceiver) - extends RequestHandler[SocialProofThriftRequest, SocialProofThriftResponse] { - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - - def getThriftSocialProof( - tweetSocialProof: SocialProofJavaResult - ): Map[SocialProofThriftType, Seq[Long]] = { - Option(tweetSocialProof.getSocialProof) match { - case Some(socialProof) if socialProof.isEmpty => - stats.counter(Stats.EmptyResult).incr() - Map.empty[SocialProofThriftType, Seq[Long]] - case Some(socialProof) if !socialProof.isEmpty => - socialProof.asScala.map { - case (socialProofType, connectingUsers) => - ( - SocialProofThriftType(socialProofType.toInt), - connectingUsers.asScala.map { Long2long }.toSeq) - }.toMap - case _ => - throw new Exception("TweetSocialProofHandler gets wrong TweetSocialProof response") - } - } - - def apply(request: SocialProofThriftRequest): Future[SocialProofThriftResponse] = { - StatsUtil.trackBlockStats(stats) { - if (decider.tweetSocialProof) { - val socialProofsFuture = tweetSocialProofRunner(request) - - socialProofsFuture map { socialProofs: Seq[RecommendationInfo] => - stats.counter(Stats.Served).incr(socialProofs.size) - SocialProofThriftResponse( - socialProofs.flatMap { tweetSocialProof: RecommendationInfo => - val tweetSocialProofJavaResult = tweetSocialProof.asInstanceOf[SocialProofJavaResult] - Some( - TweetRecommendation( - tweetSocialProofJavaResult.getNode, - tweetSocialProofJavaResult.getWeight, - getThriftSocialProof(tweetSocialProofJavaResult) - ) - ) - } - ) - } - } else { - Future.value(SocialProofThriftResponse()) - } - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofRunner.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofRunner.docx new file mode 100644 index 0000000000000000000000000000000000000000..1c1b433e68fb5dec9e183a8c65ce59a54966b59d GIT binary patch literal 38791 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 JZKi$u_J1>CjX3}S literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofRunner.scala b/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofRunner.scala deleted file mode 100644 index e0b38e067..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/TweetSocialProofRunner.scala +++ /dev/null @@ -1,168 +0,0 @@ -package com.twitter.recos.user_tweet_entity_graph - -import java.util.Random -import com.twitter.concurrent.AsyncQueue -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.graphjet.bipartite.NodeMetadataLeftIndexedMultiSegmentBipartiteGraph -import com.twitter.graphjet.algorithms.RecommendationInfo -import com.twitter.graphjet.algorithms.socialproof.{ - SocialProofResult, - TweetSocialProofGenerator, - SocialProofRequest => SocialProofJavaRequest, - SocialProofResponse => SocialProofJavaResponse -} -import com.twitter.logging.Logger -import com.twitter.recos.model.SalsaQueryRunner.SalsaRunnerConfig -import com.twitter.recos.user_tweet_entity_graph.thriftscala.{ - RecommendationType, - RecommendationSocialProofRequest => RecommendationSocialProofThriftRequest, - SocialProofRequest => SocialProofThriftRequest -} -import com.twitter.util.{Future, Try} -import it.unimi.dsi.fastutil.longs.{Long2DoubleMap, Long2DoubleOpenHashMap, LongArraySet} -import scala.collection.JavaConverters._ - -/** - * TweetSocialProofRunner creates a queue of reader threads, TweetSocialProofGenerator, and each one - * reads from the graph and computes social proofs. - */ -class TweetSocialProofRunner( - bipartiteGraph: NodeMetadataLeftIndexedMultiSegmentBipartiteGraph, - salsaRunnerConfig: SalsaRunnerConfig, - statsReceiver: StatsReceiver) { - private val log: Logger = Logger() - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - private val socialProofSizeStat = stats.stat("socialProofSize") - - private val socialProofFailureCounter = stats.counter("failure") - private val pollCounter = stats.counter("poll") - private val pollTimeoutCounter = stats.counter("pollTimeout") - private val offerCounter = stats.counter("offer") - private val pollLatencyStat = stats.stat("pollLatency") - private val socialProofRunnerPool = initSocialProofRunnerPool() - - private def initSocialProofRunnerPool(): AsyncQueue[TweetSocialProofGenerator] = { - val socialProofQueue = new AsyncQueue[TweetSocialProofGenerator] - (0 until salsaRunnerConfig.numSalsaRunners).foreach { _ => - socialProofQueue.offer(new TweetSocialProofGenerator(bipartiteGraph)) - } - socialProofQueue - } - - /** - * Helper method to interpret the output of SocialProofJavaResponse - * - * @param socialProofResponse is the response from running TweetSocialProof - * @return a sequence of SocialProofResult - */ - private def transformSocialProofResponse( - socialProofResponse: Option[SocialProofJavaResponse] - ): Seq[RecommendationInfo] = { - socialProofResponse match { - case Some(response) => - val scalaResponse = response.getRankedRecommendations.asScala - scalaResponse.foreach { result => - socialProofSizeStat.add(result.asInstanceOf[SocialProofResult].getSocialProofSize) - } - scalaResponse.toSeq - case _ => Nil - } - } - - /** - * Helper method to run social proof computation and convert the results to Option - * - * @param socialProof is socialProof reader on bipartite graph - * @param request is the socialProof request - * @return is an option of SocialProofJavaResponse - */ - private def getSocialProofResponse( - socialProof: TweetSocialProofGenerator, - request: SocialProofJavaRequest, - random: Random - )( - implicit statsReceiver: StatsReceiver - ): Option[SocialProofJavaResponse] = { - val attempt = Try(socialProof.computeRecommendations(request, random)).onFailure { e => - socialProofFailureCounter.incr() - log.error(e, "SocialProof computation failed") - } - attempt.toOption - } - - /** - * Attempt to retrieve a TweetSocialProof thread from the runner pool - * to execute a socialProofRequest - */ - private def handleSocialProofRequest(socialProofRequest: SocialProofJavaRequest) = { - pollCounter.incr() - val t0 = System.currentTimeMillis() - socialProofRunnerPool.poll().map { tweetSocialProof => - val pollTime = System.currentTimeMillis - t0 - pollLatencyStat.add(pollTime) - val socialProofResponse = Try { - if (pollTime < salsaRunnerConfig.timeoutSalsaRunner) { - val response = getSocialProofResponse(tweetSocialProof, socialProofRequest, new Random())( - statsReceiver - ) - transformSocialProofResponse(response) - } else { - // if we did not get a social proof in time, then fail fast here and immediately put it back - log.warning("socialProof polling timeout") - pollTimeoutCounter.incr() - throw new RuntimeException("socialProof poll timeout") - Nil - } - } ensure { - socialProofRunnerPool.offer(tweetSocialProof) - offerCounter.incr() - } - socialProofResponse.toOption getOrElse Nil - } - } - - /** - * This apply() supports requests coming from the old tweet social proof endpoint. - * Currently this supports clients such as Email Recommendations, MagicRecs, and HomeTimeline. - * In order to avoid heavy migration work, we are retaining this endpoint. - */ - def apply(request: SocialProofThriftRequest): Future[Seq[RecommendationInfo]] = { - val tweetSet = new LongArraySet(request.inputTweets.toArray) - val leftSeedNodes: Long2DoubleMap = new Long2DoubleOpenHashMap( - request.seedsWithWeights.keys.toArray, - request.seedsWithWeights.values.toArray - ) - - val socialProofRequest = new SocialProofJavaRequest( - tweetSet, - leftSeedNodes, - UserTweetEdgeTypeMask.getUserTweetGraphSocialProofTypes(request.socialProofTypes) - ) - - handleSocialProofRequest(socialProofRequest) - } - - /** - * This apply() supports requests coming from the new social proof endpoint in UTEG that works for - * tweet social proof generation, as well as hashtag and url social proof generation. - * Currently this endpoint supports url social proof generation for Guide. - */ - def apply(request: RecommendationSocialProofThriftRequest): Future[Seq[RecommendationInfo]] = { - val tweetIds = request.recommendationIdsForSocialProof.collect { - case (RecommendationType.Tweet, ids) => ids - }.flatten - val tweetSet = new LongArraySet(tweetIds.toArray) - val leftSeedNodes: Long2DoubleMap = new Long2DoubleOpenHashMap( - request.seedsWithWeights.keys.toArray, - request.seedsWithWeights.values.toArray - ) - - val socialProofRequest = new SocialProofJavaRequest( - tweetSet, - leftSeedNodes, - UserTweetEdgeTypeMask.getUserTweetGraphSocialProofTypes(request.socialProofTypes) - ) - - handleSocialProofRequest(socialProofRequest) - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEdgeTypeMask.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEdgeTypeMask.docx new file mode 100644 index 0000000000000000000000000000000000000000..2776d0a964452a9ec5be798f69d02d926a7e645f GIT binary patch literal 38070 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 QHmhU-S8#e*#D6>cKP2xY>i_@% literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEdgeTypeMask.scala b/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEdgeTypeMask.scala deleted file mode 100644 index b8e855ffd..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEdgeTypeMask.scala +++ /dev/null @@ -1,95 +0,0 @@ -package com.twitter.recos.user_tweet_entity_graph - -import com.twitter.graphjet.bipartite.api.EdgeTypeMask -import com.twitter.recos.recos_common.thriftscala.SocialProofType -import com.twitter.recos.util.Action - -/** - * The bit mask is used to encode edge types in the top bits of an integer, - * e.g. favorite, retweet, reply and click. Under current segment configuration, each segment - * stores up to 128M edges. Assuming that each node on one side is unique, each segment - * stores up to 128M unique nodes on one side, which occupies the lower 27 bits of an integer. - * This leaves five bits to encode the edge types, which at max can store 32 edge types. - * The following implementation utilizes the top four bits and leaves one free bit out. - */ -class UserTweetEdgeTypeMask extends EdgeTypeMask { - import UserTweetEdgeTypeMask._ - - override def encode(node: Int, edgeType: Byte): Int = { - if (edgeType < 0 || edgeType > SIZE || edgeType == Click.id.toByte) { - throw new IllegalArgumentException("encode: Illegal edge type argument " + edgeType) - } else { - node | (edgeType << 28) - } - } - - override def edgeType(node: Int): Byte = { - (node >>> 28).toByte - } - - override def restore(node: Int): Int = { - node & MASK - } -} - -object UserTweetEdgeTypeMask extends Enumeration { - - type UserTweetEdgeTypeMask = Value - - /** - * Byte values corresponding to the action taken on a tweet, which will be encoded in the - * top 4 bits in a tweet Id - * NOTE: THERE CAN ONLY BE UP TO 16 TYPES - */ - val Click: UserTweetEdgeTypeMask = Value(0) - val Favorite: UserTweetEdgeTypeMask = Value(1) - val Retweet: UserTweetEdgeTypeMask = Value(2) - val Reply: UserTweetEdgeTypeMask = Value(3) - val Tweet: UserTweetEdgeTypeMask = Value(4) - val IsMentioned: UserTweetEdgeTypeMask = Value(5) - val IsMediatagged: UserTweetEdgeTypeMask = Value(6) - val Quote: UserTweetEdgeTypeMask = Value(7) - val Unfavorite: UserTweetEdgeTypeMask = Value(8) - - /** - * Reserve the top four bits of each integer to encode the edge type information. - */ - val MASK: Int = Integer.parseInt("00001111111111111111111111111111", 2) - val SIZE: Int = this.values.size - - /** - * Map valid social proof types specified by clients to an array of bytes. If clients do not - * specify any social proof types in thrift, it will return all available social types by - * default. - * - * @param socialProofTypes are the valid socialProofTypes specified by clients - * @return an array of bytes representing valid social proof types - */ - def getUserTweetGraphSocialProofTypes( - socialProofTypes: Option[Seq[SocialProofType]] - ): Array[Byte] = { - socialProofTypes - .map { _.map { _.getValue }.toArray } - .getOrElse((0 until SIZE).toArray) - .map { _.toByte } - } - - /** - * Converts the action byte in the RecosHoseMessage into GraphJet internal byte mapping - */ - def actionTypeToEdgeType(actionByte: Byte): Byte = { - val edgeType = Action(actionByte) match { - case Action.Favorite => Favorite.id - case Action.Retweet => Retweet.id - case Action.Reply => Reply.id - case Action.Tweet => Tweet.id - case Action.IsMentioned => IsMentioned.id - case Action.IsMediaTagged => IsMediatagged.id - case Action.Quote => Quote.id - case Action.Unfavorite => Unfavorite.id - case _ => - throw new IllegalArgumentException("getEdgeType: Illegal edge type argument " + actionByte) - } - edgeType.toByte - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraph.docx b/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraph.docx new file mode 100644 index 0000000000000000000000000000000000000000..03913c18cca232628794e6bdd9bcd53a2c850be5 GIT binary patch literal 37366 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 &XG8)pI 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 OCCHEn%pUc;X*%%^e?kN1;&5$dx_ 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraphWriter.scala b/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraphWriter.scala deleted file mode 100644 index eff1b22bd..000000000 --- a/src/scala/com/twitter/recos/user_tweet_entity_graph/UserTweetEntityGraphWriter.scala +++ /dev/null @@ -1,105 +0,0 @@ -package com.twitter.recos.user_tweet_entity_graph - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.finatra.kafka.consumers.FinagleKafkaConsumerBuilder -import com.twitter.graphjet.algorithms.{RecommendationType, TweetIDMask} -import com.twitter.graphjet.bipartite.NodeMetadataLeftIndexedMultiSegmentBipartiteGraph -import com.twitter.graphjet.bipartite.segment.NodeMetadataLeftIndexedBipartiteGraphSegment -import com.twitter.recos.hose.common.UnifiedGraphWriter -import com.twitter.recos.internal.thriftscala.RecosHoseMessage -import com.twitter.recos.serviceapi.Tweetypie._ - -/** - * The class submits a number of $numBootstrapWriters graph writer threads, BufferedEdgeWriter, - * during service startup. One of them is live writer thread, and the other $(numBootstrapWriters - 1) - * are catchup writer threads. All of them consume kafka events from an internal concurrent queue, - * which is populated by kafka reader threads. At bootstrap time, the kafka reader threads look - * back kafka offset from several hours ago and populate the internal concurrent queue. - * Each graph writer thread writes to an individual graph segment separately. - * The $(numBootstrapWriters - 1) catchup writer threads will stop once all events - * between current system time at startup and the time in memcache are processed. - * The live writer thread will continue to write all incoming kafka events. - * It lives through the entire life cycle of recos graph service. - */ -case class UserTweetEntityGraphWriter( - shardId: String, - env: String, - hosename: String, - bufferSize: Int, - kafkaConsumerBuilder: FinagleKafkaConsumerBuilder[String, RecosHoseMessage], - clientId: String, - statsReceiver: StatsReceiver) - extends UnifiedGraphWriter[ - NodeMetadataLeftIndexedBipartiteGraphSegment, - NodeMetadataLeftIndexedMultiSegmentBipartiteGraph - ] { - writer => - // The max throughput for each kafka consumer is around 25MB/s - // Use 4 processors for 100MB/s catch-up speed. - val consumerNum: Int = 4 - // Leave 1 Segments to LiveWriter - val catchupWriterNum: Int = RecosConfig.maxNumSegments - 1 - - private final val EMTPY_LEFT_NODE_METADATA = new Array[Array[Int]](1) - - /** - * Adds a RecosHoseMessage to the graph. used by live writer to insert edges to the - * current segment - */ - override def addEdgeToGraph( - graph: NodeMetadataLeftIndexedMultiSegmentBipartiteGraph, - recosHoseMessage: RecosHoseMessage - ): Unit = { - graph.addEdge( - recosHoseMessage.leftId, - getMetaEdge(recosHoseMessage.rightId, recosHoseMessage.card), - UserTweetEdgeTypeMask.actionTypeToEdgeType(recosHoseMessage.action), - recosHoseMessage.edgeMetadata.getOrElse(0L), - EMTPY_LEFT_NODE_METADATA, - extractEntities(recosHoseMessage) - ) - } - - /** - * Adds a RecosHoseMessage to the given segment in the graph. Used by catch up writers to - * insert edges to non-current (old) segments - */ - override def addEdgeToSegment( - segment: NodeMetadataLeftIndexedBipartiteGraphSegment, - recosHoseMessage: RecosHoseMessage - ): Unit = { - segment.addEdge( - recosHoseMessage.leftId, - getMetaEdge(recosHoseMessage.rightId, recosHoseMessage.card), - UserTweetEdgeTypeMask.actionTypeToEdgeType(recosHoseMessage.action), - recosHoseMessage.edgeMetadata.getOrElse(0L), - EMTPY_LEFT_NODE_METADATA, - extractEntities(recosHoseMessage) - ) - } - - private def getMetaEdge(rightId: Long, cardOption: Option[Byte]): Long = { - cardOption - .map { card => - if (isPhotoCard(card)) TweetIDMask.photo(rightId) - else if (isPlayerCard(card)) TweetIDMask.player(rightId) - else if (isSummaryCard(card)) TweetIDMask.summary(rightId) - else if (isPromotionCard(card)) TweetIDMask.promotion(rightId) - else rightId - } - .getOrElse(rightId) - } - - private def extractEntities(message: RecosHoseMessage): Array[Array[Int]] = { - val entities: Array[Array[Int]] = - new Array[Array[Int]](RecommendationType.METADATASIZE.getValue) - message.entities.foreach { - _.foreach { - case (entityType, ids) => - entities.update(entityType, ids.toArray) - } - } - entities - } - -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/BUILD b/src/scala/com/twitter/recos/user_tweet_graph/BUILD deleted file mode 100644 index 92f06d1c9..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/BUILD +++ /dev/null @@ -1,66 +0,0 @@ -scala_library( - name = "user-tweet-graph", - sources = ["*.scala"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/cascading:cascading-local", - "3rdparty/jvm/com/backtype:dfs-datastores", - "3rdparty/jvm/com/fasterxml/jackson/module:jackson-module-scala", - "3rdparty/jvm/com/google/inject:guice", - "3rdparty/jvm/com/netflix/curator:curator-framework", - "3rdparty/jvm/com/twitter/graphjet", - "3rdparty/jvm/io/netty:netty4-tcnative-boringssl-static", - "3rdparty/jvm/it/unimi/dsi:fastutil", - "3rdparty/jvm/org/apache/hadoop:hadoop-client-default", - "3rdparty/jvm/org/apache/kafka:rosette-kafka", - "3rdparty/jvm/org/apache/thrift:libthrift", - "abdecider/src/main/scala", - "decider/src/main/scala", - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/authentication", - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/server", - "finagle/finagle-core/src/main", - "finagle/finagle-http/src/main/scala", - "finagle/finagle-memcached/src/main/scala", - "finagle/finagle-stats/src/main/scala", - "finagle/finagle-thriftmux/src/main/scala", - "frigate/frigate-common/src/main/scala/com/twitter/frigate/common/util", - "scrooge/scrooge-core/src/main/scala", - "servo/repo/src/main/scala", - "servo/request/src/main/scala", - "servo/util/src/main/scala", - "src/resources/com/twitter/recos:decider", - "src/scala/com/twitter/recos/decider", - "src/scala/com/twitter/recos/graph_common", - "src/scala/com/twitter/recos/hose/common", - "src/scala/com/twitter/recos/model:recos-model", - "src/scala/com/twitter/recos/serviceapi", - "src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers", - "src/scala/com/twitter/recos/util:recos-util", - "src/scala/com/twitter/simclusters_v2/common", - "src/thrift/com/twitter/recos:recos-common-scala", - "src/thrift/com/twitter/recos:recos-internal-scala", - "src/thrift/com/twitter/recos/user_tweet_graph:user_tweet_graph-scala", - "thrift-web-forms/src/main/scala/com/twitter/thriftwebforms", - "thrift-web-forms/src/main/scala/com/twitter/thriftwebforms/model", - "twitter-server-internal/src/main/scala", - "twitter-server/server/src/main/scala", - "twitter-server/slf4j-jdk14/src/main/scala/com/twitter/server/logging", - "util/util-app/src/main/scala", - "util/util-hashing/src/main/scala", - "util/util-logging/src/main/scala", - "util/util-stats/src/main/scala", - ], -) - -jvm_binary( - name = "bin", - basename = "user-tweet-graph-server", - main = "com.twitter.recos.user_tweet_graph.Main", - runtime_platform = "java11", - tags = ["known-to-fail-jira:SD-20771"], - dependencies = [ - ":user-tweet-graph", - "3rdparty/jvm/org/slf4j:slf4j-jdk14", - "twitter-server/slf4j-jdk14/src/main/scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_tweet_graph/BUILD.docx b/src/scala/com/twitter/recos/user_tweet_graph/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..258e4dfd5e4bdc7ee55b616d2e029a8505aab8b6 GIT binary patch literal 37452 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

t;BARx(4Hl-?W6rKKjTnWCZo6OtMjlJ_jl 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

`2|6yfOUdC80 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 DU}E=f literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/Main.docx b/src/scala/com/twitter/recos/user_tweet_graph/Main.docx new file mode 100644 index 0000000000000000000000000000000000000000..27448bc837f921d364223f259cedc7cb5af2345b GIT binary patch literal 40164 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/Main.scala b/src/scala/com/twitter/recos/user_tweet_graph/Main.scala deleted file mode 100644 index 2920481f3..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/Main.scala +++ /dev/null @@ -1,291 +0,0 @@ -package com.twitter.recos.user_tweet_graph - -import com.twitter.abdecider.ABDeciderFactory -import com.twitter.abdecider.LoggingABDecider -import com.twitter.app.Flag -import com.twitter.conversions.DurationOps._ -import com.twitter.finagle.ThriftMux -import com.twitter.finagle.http.HttpMuxer -import com.twitter.finagle.mtls.authentication.ServiceIdentifier -import com.twitter.finagle.mtls.client.MtlsStackClient.MtlsThriftMuxClientSyntax -import com.twitter.finagle.mtls.server.MtlsStackServer._ -import com.twitter.finagle.mux.ClientDiscardedRequestException -import com.twitter.finagle.mux.transport.OpportunisticTls -import com.twitter.finagle.service.ReqRep -import com.twitter.finagle.service.ResponseClass -import com.twitter.finagle.thrift.ClientId -import com.twitter.finatra.kafka.consumers.FinagleKafkaConsumerBuilder -import com.twitter.finatra.kafka.domain.KafkaGroupId -import com.twitter.finatra.kafka.domain.SeekStrategy -import com.twitter.finatra.kafka.serde.ScalaSerdes -import com.twitter.frigate.common.util.ElfOwlFilter -import com.twitter.frigate.common.util.ElfOwlFilter.ByLdapGroup -import com.twitter.graphjet.bipartite.MultiSegmentPowerLawBipartiteGraph -import com.twitter.logging._ -import com.twitter.recos.decider.EndpointLoadShedder -import com.twitter.recos.decider.UserTweetGraphDecider -import com.twitter.recos.graph_common.FinagleStatsReceiverWrapper -import com.twitter.recos.graph_common.MultiSegmentPowerLawBipartiteGraphBuilder -import com.twitter.recos.internal.thriftscala.RecosHoseMessage -import com.twitter.recos.user_tweet_graph.RecosConfig._ -import com.twitter.recos.user_tweet_graph.relatedTweetHandlers.ConsumersBasedRelatedTweetsHandler -import com.twitter.recos.user_tweet_graph.relatedTweetHandlers.ProducerBasedRelatedTweetsHandler -import com.twitter.recos.user_tweet_graph.relatedTweetHandlers.TweetBasedRelatedTweetsHandler -import com.twitter.recos.user_tweet_graph.store.UserRecentFollowersStore -import com.twitter.server.Deciderable -import com.twitter.server.TwitterServer -import com.twitter.server.logging.{Logging => JDK14Logging} -import com.twitter.servo.request._ -import com.twitter.servo.util.ExceptionCounter -import com.twitter.simclusters_v2.common.UserId -import com.twitter.socialgraph.thriftscala.SocialGraphService -import com.twitter.storehaus.ReadableStore -import com.twitter.util.Await -import com.twitter.util.Duration -import com.twitter.util.JavaTimer -import com.twitter.util.Throw -import com.twitter.util.Timer -import java.net.InetSocketAddress -import java.util.concurrent.TimeUnit -import org.apache.kafka.clients.CommonClientConfigs -import org.apache.kafka.common.config.SaslConfigs -import org.apache.kafka.common.config.SslConfigs -import org.apache.kafka.common.security.auth.SecurityProtocol -import org.apache.kafka.common.serialization.StringDeserializer -import scala.reflect.ClassTag - -object Main extends TwitterServer with JDK14Logging with Deciderable { - profile => - - val shardId: Flag[Int] = flag("shardId", 0, "Shard ID") - val servicePort: Flag[InetSocketAddress] = - flag("service.port", new InetSocketAddress(10143), "Thrift service port") - val logDir: Flag[String] = flag("logdir", "recos", "Logging directory") - val numShards: Flag[Int] = flag("numShards", 1, "Number of shards for this service") - val truststoreLocation: Flag[String] = - flag[String]("truststore_location", "", "Truststore file location") - val hoseName: Flag[String] = - flag("hosename", "recos_injector_user_user", "the kafka stream used for incoming edges") - - val dataCenter: Flag[String] = flag("service.cluster", "atla", "Data Center") - val serviceRole: Flag[String] = flag("service.role", "Service Role") - val serviceEnv: Flag[String] = flag("service.env", "Service Env") - val serviceName: Flag[String] = flag("service.name", "Service Name") - - private val maxNumSegments = - flag("maxNumSegments", graphBuilderConfig.maxNumSegments, "the number of segments in the graph") - - private val statsReceiverWrapper = FinagleStatsReceiverWrapper(statsReceiver) - - /** - * A ClientRequestAuthorizer to be used in a request-authorization RequestFilter. - */ - lazy val clientAuthorizer: ClientRequestAuthorizer = - ClientRequestAuthorizer.observed( - ClientRequestAuthorizer.permissive, - new ClientRequestObserver(statsReceiver) - ) - - lazy val clientId = ClientId(s"usertweetgraph.${serviceEnv()}") - - private def makeThriftClient[ThriftServiceType: ClassTag]( - dest: String, - label: String, - serviceIdentifier: ServiceIdentifier, - requestTimeout: Duration = 100.milliseconds - ): ThriftServiceType = { - ThriftMux.client - .withClientId(ClientId("usertweetgraph.prod")) - .withOpportunisticTls(OpportunisticTls.Required) - .withMutualTls(serviceIdentifier) - .withRequestTimeout(requestTimeout) - .withStatsReceiver(statsReceiver.scope("clnt")) - .withResponseClassifier { - case ReqRep(_, Throw(_: ClientDiscardedRequestException)) => ResponseClass.Ignorable - }.build[ThriftServiceType](dest, label) - } - - private val shutdownTimeout = flag( - "service.shutdownTimeout", - 5.seconds, - "Maximum amount of time to wait for pending requests to complete on shutdown" - ) - - /** - * ExceptionCounter for tracking failures from RequestHandler(s). - */ - lazy val exceptionCounter = new ExceptionCounter(statsReceiver) - - /** - * Function for translating exceptions returned by a RequestHandler. Useful - * for cases where underlying exception types should be wrapped in those - * defined in the project's Thrift IDL. - */ - lazy val translateExceptions: PartialFunction[Throwable, Throwable] = { - case t => t - } - - // ********* logging ********** - - lazy val loggingLevel: Level = Level.INFO - lazy val recosLogPath: String = logDir() + "/recos.log" - lazy val graphLogPath: String = logDir() + "/graph.log" - lazy val accessLogPath: String = logDir() + "/access.log" - - override def loggerFactories: List[LoggerFactory] = - List( - LoggerFactory( - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = recosLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "graph", - useParents = false, - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = graphLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "access", - useParents = false, - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = accessLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "client_event", - level = Some(loggingLevel), - useParents = false, - handlers = QueueingHandler( - maxQueueSize = 10000, - handler = ScribeHandler( - category = "client_event", - formatter = BareFormatter - ) - ) :: Nil - ) - ) - // ******** Decider ************* - - // ********* ABdecider ********** - - val abDeciderYmlPath: String = "/usr/local/config/abdecider/abdecider.yml" - - val scribeLogger: Option[Logger] = Some(Logger.get("client_event")) - - val abDecider: LoggingABDecider = - ABDeciderFactory( - abDeciderYmlPath = abDeciderYmlPath, - scribeLogger = scribeLogger, - environment = Some("production") - ).buildWithLogging() - - // ********* Recos service ********** - def main(): Unit = { - log.info("building graph with maxNumSegments = " + profile.maxNumSegments()) - - implicit val timer: Timer = new JavaTimer(true) - - val graph = MultiSegmentPowerLawBipartiteGraphBuilder( - graphBuilderConfig.copy(maxNumSegments = profile.maxNumSegments()), - statsReceiverWrapper - ) - - val kafkaConfigBuilder = FinagleKafkaConsumerBuilder[String, RecosHoseMessage]() - .dest("/s/kafka/recommendations:kafka-tls") - .groupId(KafkaGroupId(f"user_tweet_graph-${shardId()}%06d")) - .keyDeserializer(new StringDeserializer) - .valueDeserializer(ScalaSerdes.Thrift[RecosHoseMessage].deserializer) - .seekStrategy(SeekStrategy.REWIND) - .rewindDuration(48.hours) - .withConfig(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SASL_SSL.toString) - .withConfig(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, truststoreLocation()) - .withConfig(SaslConfigs.SASL_MECHANISM, SaslConfigs.GSSAPI_MECHANISM) - .withConfig(SaslConfigs.SASL_KERBEROS_SERVICE_NAME, "kafka") - .withConfig(SaslConfigs.SASL_KERBEROS_SERVER_NAME, "kafka") - - val graphWriter = - UserTweetGraphWriter( - shardId().toString, - serviceEnv(), - hoseName(), - 128, // keep the original setting. - kafkaConfigBuilder, - clientId.name, - statsReceiver, - ) - graphWriter.initHose(graph) - - // For MutualTLS - val serviceIdentifier = ServiceIdentifier( - role = serviceRole(), - service = serviceName(), - environment = serviceEnv(), - zone = dataCenter() - ) - log.info(s"ServiceIdentifier = ${serviceIdentifier.toString}") - - val socialGraphClient: SocialGraphService.MethodPerEndpoint = - makeThriftClient[SocialGraphService.MethodPerEndpoint]( - "/s/socialgraph/socialgraph", - "socialgraph", - serviceIdentifier) - val userRecentFollowersStore: ReadableStore[UserRecentFollowersStore.Query, Seq[UserId]] = - new UserRecentFollowersStore(socialGraphClient) - - val tweetBasedRelatedTweetsHandler = new TweetBasedRelatedTweetsHandler(graph, statsReceiver) - val consumersBasedRelatedTweetsHandler = - new ConsumersBasedRelatedTweetsHandler(graph, statsReceiver) - val producerBasedRelatedTweetsHandler = - new ProducerBasedRelatedTweetsHandler(graph, userRecentFollowersStore, statsReceiver) - - val decider = UserTweetGraphDecider(serviceEnv(), dataCenter()) - val endpointLoadShedder = new EndpointLoadShedder(decider) - val userTweetGraph = - new UserTweetGraph( - tweetBasedRelatedTweetsHandler, - producerBasedRelatedTweetsHandler, - consumersBasedRelatedTweetsHandler, - endpointLoadShedder)(timer) - - val thriftServer = ThriftMux.server - .withOpportunisticTls(OpportunisticTls.Required) - .withMutualTls(serviceIdentifier) - .serveIface(servicePort(), userTweetGraph) - - log.info("clientid: " + clientId.toString) - log.info("servicePort: " + servicePort().toString) - - log.info("adding shutdown hook") - onExit { - graphWriter.shutdown() - thriftServer.close(shutdownTimeout().fromNow) - } - log.info("added shutdown hook") - - // Wait on the thriftServer so that shutdownTimeout is respected. - Await.result(thriftServer) - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/README.docx b/src/scala/com/twitter/recos/user_tweet_graph/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..cfde653ccb578663169d4b16e58512e4fe0f2596 GIT binary patch literal 37302 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 z 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraph.scala b/src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraph.scala deleted file mode 100644 index 6c7ab1bf6..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraph.scala +++ /dev/null @@ -1,98 +0,0 @@ -package com.twitter.recos.user_tweet_graph - -import com.twitter.finagle.thrift.ClientId -import com.twitter.finagle.tracing.Trace -import com.twitter.finagle.tracing.TraceId -import com.twitter.recos.decider.EndpointLoadShedder -import com.twitter.recos.recos_common.thriftscala._ -import com.twitter.recos.user_tweet_graph.thriftscala._ -import com.twitter.util.Duration -import com.twitter.util.Future -import com.twitter.util.Timer -import scala.concurrent.duration.MILLISECONDS -import com.twitter.logging.Logger -import com.twitter.recos.user_tweet_graph.relatedTweetHandlers.TweetBasedRelatedTweetsHandler -import com.twitter.recos.user_tweet_graph.relatedTweetHandlers.ProducerBasedRelatedTweetsHandler -import com.twitter.recos.user_tweet_graph.relatedTweetHandlers.ConsumersBasedRelatedTweetsHandler -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.simclusters_v2.common.UserId - -object UserTweetGraph { - def traceId: TraceId = Trace.id - def clientId: Option[ClientId] = ClientId.current -} - -class UserTweetGraph( - tweetBasedRelatedTweetsHandler: TweetBasedRelatedTweetsHandler, - producerBasedRelatedTweetsHandler: ProducerBasedRelatedTweetsHandler, - consumersBasedRelatedTweetsHandler: ConsumersBasedRelatedTweetsHandler, - endpointLoadShedder: EndpointLoadShedder -)( - implicit timer: Timer) - extends thriftscala.UserTweetGraph.MethodPerEndpoint { - - private val defaultTimeout: Duration = Duration(50, MILLISECONDS) - private val EmptyResponse = Future.value(RelatedTweetResponse()) - private val EmptyFeatureResponse = Future.value(UserTweetFeatureResponse()) - - private val log = Logger() - - override def recommendTweets(request: RecommendTweetRequest): Future[RecommendTweetResponse] = - Future.value(RecommendTweetResponse()) - - override def getLeftNodeEdges(request: GetRecentEdgesRequest): Future[GetRecentEdgesResponse] = - Future.value(GetRecentEdgesResponse()) - - override def getRightNode(tweet: Long): Future[NodeInfo] = Future.value(NodeInfo()) - - // deprecated - override def relatedTweets(request: RelatedTweetRequest): Future[RelatedTweetResponse] = - EmptyResponse - - override def tweetBasedRelatedTweets( - request: TweetBasedRelatedTweetRequest - ): Future[RelatedTweetResponse] = - endpointLoadShedder("tweetBasedRelatedTweets") { - tweetBasedRelatedTweetsHandler(request).raiseWithin(defaultTimeout) - }.rescue { - case EndpointLoadShedder.LoadSheddingException => - EmptyResponse - case e => - log.info("user-tweet-graph_tweetBasedRelatedTweets" + e) - EmptyResponse - } - - override def producerBasedRelatedTweets( - request: ProducerBasedRelatedTweetRequest - ): Future[RelatedTweetResponse] = - endpointLoadShedder("producerBasedRelatedTweets") { - producerBasedRelatedTweetsHandler(request).raiseWithin(defaultTimeout) - }.rescue { - case EndpointLoadShedder.LoadSheddingException => - EmptyResponse - case e => - log.info("user-tweet-graph_producerBasedRelatedTweets" + e) - EmptyResponse - } - - override def consumersBasedRelatedTweets( - request: ConsumersBasedRelatedTweetRequest - ): Future[RelatedTweetResponse] = - endpointLoadShedder("consumersBasedRelatedTweets") { - consumersBasedRelatedTweetsHandler(request).raiseWithin(defaultTimeout) - }.rescue { - case EndpointLoadShedder.LoadSheddingException => - EmptyResponse - case e => - log.info("user-tweet-graph_consumersBasedRelatedTweets" + e) - EmptyResponse - } - - // deprecated - override def userTweetFeatures( - userId: UserId, - tweetId: TweetId - ): Future[UserTweetFeatureResponse] = - EmptyFeatureResponse - -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphConfig.docx b/src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..8dfdabacda3b18ab501f7045205ad5c19763c78e GIT binary patch literal 37276 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 iT<}3&>JAT|*-;j2G&7{n?Ib4k((l?hW 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphWriter.scala b/src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphWriter.scala deleted file mode 100644 index bd7f238a1..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/UserTweetGraphWriter.scala +++ /dev/null @@ -1,88 +0,0 @@ -package com.twitter.recos.user_tweet_graph - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.finatra.kafka.consumers.FinagleKafkaConsumerBuilder -import com.twitter.graphjet.algorithms.TweetIDMask -import com.twitter.recos.util.Action -import com.twitter.graphjet.bipartite.MultiSegmentPowerLawBipartiteGraph -import com.twitter.graphjet.bipartite.segment.BipartiteGraphSegment -import com.twitter.recos.hose.common.UnifiedGraphWriter -import com.twitter.recos.internal.thriftscala.RecosHoseMessage -import com.twitter.recos.serviceapi.Tweetypie._ -import com.twitter.recos.user_tweet_graph.util.UserTweetEdgeTypeMask - -/** - * The class submits a number of $numBootstrapWriters graph writer threads, BufferedEdgeWriter, - * during service startup. One of them is live writer thread, and the other $(numBootstrapWriters - 1) - * are catchup writer threads. All of them consume kafka events from an internal concurrent queue, - * which is populated by kafka reader threads. At bootstrap time, the kafka reader threads look - * back kafka offset from several hours ago and populate the internal concurrent queue. - * Each graph writer thread writes to an individual graph segment separately. - * The $(numBootstrapWriters - 1) catchup writer threads will stop once all events - * between current system time at startup and the time in memcache are processed. - * The live writer thread will continue to write all incoming kafka events. - * It lives through the entire life cycle of recos graph service. - */ -case class UserTweetGraphWriter( - shardId: String, - env: String, - hosename: String, - bufferSize: Int, - kafkaConsumerBuilder: FinagleKafkaConsumerBuilder[String, RecosHoseMessage], - clientId: String, - statsReceiver: StatsReceiver) - extends UnifiedGraphWriter[BipartiteGraphSegment, MultiSegmentPowerLawBipartiteGraph] { - writer => - // The max throughput for each kafka consumer is around 25MB/s - // Use 4 processors for 100MB/s catch-up speed. - val consumerNum: Int = 4 - // Leave 1 Segments to LiveWriter - val catchupWriterNum: Int = RecosConfig.maxNumSegments - 1 - - /** - * Adds a RecosHoseMessage to the graph. used by live writer to insert edges to the - * current segment - */ - override def addEdgeToGraph( - graph: MultiSegmentPowerLawBipartiteGraph, - recosHoseMessage: RecosHoseMessage - ): Unit = { - if (Action(recosHoseMessage.action) == Action.Favorite || Action( - recosHoseMessage.action) == Action.Retweet) - graph.addEdge( - recosHoseMessage.leftId, - getMetaEdge(recosHoseMessage.rightId, recosHoseMessage.card), - UserTweetEdgeTypeMask.actionTypeToEdgeType(recosHoseMessage.action), - ) - } - - /** - * Adds a RecosHoseMessage to the given segment in the graph. Used by catch up writers to - * insert edges to non-current (old) segments - */ - override def addEdgeToSegment( - segment: BipartiteGraphSegment, - recosHoseMessage: RecosHoseMessage - ): Unit = { - if (Action(recosHoseMessage.action) == Action.Favorite || Action( - recosHoseMessage.action) == Action.Retweet) - segment.addEdge( - recosHoseMessage.leftId, - getMetaEdge(recosHoseMessage.rightId, recosHoseMessage.card), - UserTweetEdgeTypeMask.actionTypeToEdgeType(recosHoseMessage.action) - ) - } - - private def getMetaEdge(rightId: Long, cardOption: Option[Byte]): Long = { - cardOption - .map { card => - if (isPhotoCard(card)) TweetIDMask.photo(rightId) - else if (isPlayerCard(card)) TweetIDMask.player(rightId) - else if (isSummaryCard(card)) TweetIDMask.summary(rightId) - else if (isPromotionCard(card)) TweetIDMask.promotion(rightId) - else rightId - } - .getOrElse(rightId) - } - -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/BUILD b/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/BUILD deleted file mode 100644 index 898e5f6ab..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/BUILD +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - sources = ["*.scala"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/graphjet", - "servo/request/src/main/scala", - "src/scala/com/twitter/recos/user_tweet_graph/store", - "src/scala/com/twitter/recos/user_tweet_graph/util", - "src/scala/com/twitter/recos/util:recos-util", - "src/thrift/com/twitter/recos/user_tweet_graph:user_tweet_graph-scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/BUILD.docx b/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..3d346103b7bb4cb0adb7684e6bf4d44f6c0ff22d GIT binary patch literal 36813 zcmagFWmp}_wm*!!dvJGmcL)S`ch`+O8xIg10t9z=cXtoL-2x;K-2J~ZGv}O{bMJlM zFU><$t)HybT~*x_%5soUSYTjaa9~8~Jla*NMG48^U|{1gU|^V_Ry_%Tqnm}Jn~}P= zlZC4RvzLQ?Q?i26nkd@Gvlr|X7GY9f2~_OzT_;*6#sqxHnv5G>on@92d5DL*N&ZNU zS>M%&=EBSvpjj76i(`@N24@* z4A%SO${sJ10iNU!5`j|LFU!o-npt)k2<<_sDD2`J2VL8I^ZhlU|VNxS- z6!jyQhDe=ihge+77zZEEoAZ$bx&KXWsNM>nq@sVPq>&J9km#WA{RPU?feG{~-aS%K z^_|RfSMk34T5!IZJYx!--b*r3A$m`O$&>FRVoAk2N#VZdrIL+(k?}k7{3k30Lonrk zRMDGSPV^pBy-f%(FhtN#BNq#MR~F{q*Q&&+50GqVfoH-}qf{l1%^H%0D~6Ik6bglV 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

aja=!?-6ljYjV;USFLP6_3K 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 z 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 CE5xz@ literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.docx b/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..d92f7294b31e6a52aff08a6d847b542be68838c3 GIT binary patch literal 37773 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 aOH6Wi=w!bfSV8lvN)_S_EDufc{MG-rDV)v# literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.scala b/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.scala deleted file mode 100644 index 9f807029b..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.scala +++ /dev/null @@ -1,68 +0,0 @@ -package com.twitter.recos.user_tweet_graph.relatedTweetHandlers - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import com.twitter.recos.user_tweet_graph.thriftscala._ -import com.twitter.recos.user_tweet_graph.util.FetchRHSTweetsUtil -import com.twitter.recos.user_tweet_graph.util.FilterUtil -import com.twitter.recos.user_tweet_graph.util.GetRelatedTweetCandidatesUtil -import com.twitter.recos.util.Action -import com.twitter.recos.util.Stats._ -import com.twitter.servo.request._ -import com.twitter.util.Duration -import com.twitter.util.Future -import scala.concurrent.duration.HOURS - -/** - * Implementation of the Thrift-defined service interface for consumersTweetBasedRelatedTweets. - * given a list of consumer userIds, find the tweets they co-engaged with (we're treating input userIds as consumers therefore "consumersTweetBasedRelatedTweets" ) - * example use case: given a list of user's contacts in their address book, find tweets those contacts engaged with - */ -class ConsumersBasedRelatedTweetsHandler( - bipartiteGraph: BipartiteGraph, - statsReceiver: StatsReceiver) - extends RequestHandler[ConsumersBasedRelatedTweetRequest, RelatedTweetResponse] { - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - - override def apply(request: ConsumersBasedRelatedTweetRequest): Future[RelatedTweetResponse] = { - trackFutureBlockStats(stats) { - - val maxResults = request.maxResults.getOrElse(200) - val minScore = request.minScore.getOrElse(0.0) - val maxTweetAge = request.maxTweetAgeInHours.getOrElse(48) - val minResultDegree = request.minResultDegree.getOrElse(50) - val minCooccurrence = request.minCooccurrence.getOrElse(3) - val excludeTweetIds = request.excludeTweetIds.getOrElse(Seq.empty).toSet - - val consumerSeedSet = request.consumerSeedSet.distinct.filter { userId => - val userDegree = bipartiteGraph.getLeftNodeDegree(userId) - // constrain to users that have <100 engagements to avoid spammy behavior - userDegree < 100 - } - - val rhsTweetIds = FetchRHSTweetsUtil.fetchRHSTweets( - consumerSeedSet, - bipartiteGraph, - Set(Action.Favorite, Action.Retweet) - ) - - val scorePreFactor = 1000.0 / consumerSeedSet.size - val relatedTweetCandidates = GetRelatedTweetCandidatesUtil.getRelatedTweetCandidates( - rhsTweetIds, - minCooccurrence, - minResultDegree, - scorePreFactor, - bipartiteGraph) - - val relatedTweets = relatedTweetCandidates - .filter(relatedTweet => - FilterUtil.tweetAgeFilter( - relatedTweet.tweetId, - Duration(maxTweetAge, HOURS)) && (relatedTweet.score > minScore) && (!excludeTweetIds - .contains(relatedTweet.tweetId))).take(maxResults) - - stats.stat("response_size").add(relatedTweets.size) - Future.value(RelatedTweetResponse(tweets = relatedTweets)) - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.docx b/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..c3a07e1f1d4be5a93e3dc03e097ba38cba01900c GIT binary patch literal 37955 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 F=pUNw*`xpf literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.scala b/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.scala deleted file mode 100644 index dd73342ec..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.scala +++ /dev/null @@ -1,88 +0,0 @@ -package com.twitter.recos.user_tweet_graph.relatedTweetHandlers - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import com.twitter.recos.user_tweet_graph.thriftscala._ -import com.twitter.recos.util.Stats._ -import com.twitter.servo.request._ -import com.twitter.util.Duration -import com.twitter.util.Future -import scala.concurrent.duration.HOURS -import com.twitter.simclusters_v2.common.UserId -import com.twitter.storehaus.ReadableStore -import com.twitter.recos.user_tweet_graph.store.UserRecentFollowersStore -import com.twitter.recos.user_tweet_graph.util.FetchRHSTweetsUtil -import com.twitter.recos.user_tweet_graph.util.FilterUtil -import com.twitter.recos.user_tweet_graph.util.GetRelatedTweetCandidatesUtil -import com.twitter.recos.util.Action - -/** - * Implementation of the Thrift-defined service interface for producerBasedRelatedTweets. - * - */ -class ProducerBasedRelatedTweetsHandler( - bipartiteGraph: BipartiteGraph, - userRecentFollowersStore: ReadableStore[UserRecentFollowersStore.Query, Seq[UserId]], - statsReceiver: StatsReceiver) - extends RequestHandler[ProducerBasedRelatedTweetRequest, RelatedTweetResponse] { - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - - override def apply(request: ProducerBasedRelatedTweetRequest): Future[RelatedTweetResponse] = { - trackFutureBlockStats(stats) { - val maxResults = request.maxResults.getOrElse(200) - val maxNumFollowers = request.maxNumFollowers.getOrElse(500) - val minScore = request.minScore.getOrElse(0.0) - val maxTweetAge = request.maxTweetAgeInHours.getOrElse(48) - val minResultDegree = request.minResultDegree.getOrElse(50) - val minCooccurrence = request.minCooccurrence.getOrElse(4) - val excludeTweetIds = request.excludeTweetIds.getOrElse(Seq.empty).toSet - - val followersFut = fetchFollowers(request.producerId, Some(maxNumFollowers)) - followersFut.map { followers => - val rhsTweetIds = FetchRHSTweetsUtil.fetchRHSTweets( - followers, - bipartiteGraph, - Set(Action.Favorite, Action.Retweet) - ) - - val scorePreFactor = 1000.0 / followers.size - val relatedTweetCandidates = GetRelatedTweetCandidatesUtil.getRelatedTweetCandidates( - rhsTweetIds, - minCooccurrence, - minResultDegree, - scorePreFactor, - bipartiteGraph) - - val relatedTweets = relatedTweetCandidates - .filter { relatedTweet => - FilterUtil.tweetAgeFilter( - relatedTweet.tweetId, - Duration(maxTweetAge, HOURS)) && (relatedTweet.score > minScore) && (!excludeTweetIds - .contains(relatedTweet.tweetId)) - }.take(maxResults) - stats.stat("response_size").add(relatedTweets.size) - RelatedTweetResponse(tweets = relatedTweets) - } - } - } - - private def fetchFollowers( - producerId: Long, - maxNumFollower: Option[Int], - ): Future[Seq[Long]] = { - val query = - UserRecentFollowersStore.Query(producerId, maxNumFollower, None) - - val followersFut = userRecentFollowersStore.get(query) - followersFut.map { followersOpt => - val followers = followersOpt.getOrElse(Seq.empty) - val followerIds = followers.distinct.filter { userId => - val userDegree = bipartiteGraph.getLeftNodeDegree(userId) - // constrain to more active users that have >1 engagement to optimize latency, and <100 engagements to avoid spammy behavior - userDegree > 1 && userDegree < 100 - } - stats.stat("follower_size_after_filter").add(followerIds.size) - followerIds - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.docx b/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..183b0a139b3c7d02bb248571f963b5a3a77bc903 GIT binary patch literal 37915 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 Pvq};02B$}H>dMjIC2iQw literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.scala b/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.scala deleted file mode 100644 index 6643bd408..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.scala +++ /dev/null @@ -1,93 +0,0 @@ -package com.twitter.recos.user_tweet_graph.relatedTweetHandlers - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import com.twitter.recos.features.tweet.thriftscala.GraphFeaturesForQuery -import com.twitter.recos.user_tweet_graph.thriftscala._ -import com.twitter.recos.user_tweet_graph.util.FilterUtil -import com.twitter.recos.user_tweet_graph.util.FetchRHSTweetsUtil -import com.twitter.recos.user_tweet_graph.util.GetAllInternalTweetIdsUtil -import com.twitter.recos.user_tweet_graph.util.GetRelatedTweetCandidatesUtil -import com.twitter.recos.user_tweet_graph.util.SampleLHSUsersUtil -import com.twitter.recos.util.Action -import com.twitter.recos.util.Stats._ -import com.twitter.servo.request._ -import com.twitter.util.Duration -import com.twitter.util.Future -import scala.concurrent.duration.HOURS - -/** - * Implementation of the Thrift-defined service interface for tweetBasedRelatedTweets. - * - */ -class TweetBasedRelatedTweetsHandler(bipartiteGraph: BipartiteGraph, statsReceiver: StatsReceiver) - extends RequestHandler[TweetBasedRelatedTweetRequest, RelatedTweetResponse] { - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - - override def apply(request: TweetBasedRelatedTweetRequest): Future[RelatedTweetResponse] = { - trackFutureBlockStats(stats) { - val internalQueryTweetIds = - GetAllInternalTweetIdsUtil.getAllInternalTweetIds(request.tweetId, bipartiteGraph) - - val response = internalQueryTweetIds match { - case head +: Nil => getRelatedTweets(request, head) - case _ => RelatedTweetResponse() - } - Future.value(response) - } - } - - private def getRelatedTweets( - request: TweetBasedRelatedTweetRequest, - maskedTweetId: Long - ): RelatedTweetResponse = { - - val maxNumSamplesPerNeighbor = request.maxNumSamplesPerNeighbor.getOrElse(100) - val maxResults = request.maxResults.getOrElse(200) - val minScore = request.minScore.getOrElse(0.5) - val maxTweetAge = request.maxTweetAgeInHours.getOrElse(48) - val minResultDegree = request.minResultDegree.getOrElse(50) - val minQueryDegree = request.minQueryDegree.getOrElse(10) - val minCooccurrence = request.minCooccurrence.getOrElse(3) - val excludeTweetIds = request.excludeTweetIds.getOrElse(Seq.empty).toSet - - val queryTweetDegree = bipartiteGraph.getRightNodeDegree(maskedTweetId) - stats.stat("queryTweetDegree").add(queryTweetDegree) - - if (queryTweetDegree < minQueryDegree) { - stats.counter("queryTweetDegreeLessThanMinQueryDegree").incr() - RelatedTweetResponse() - } else { - - val sampledLHSuserIds = - SampleLHSUsersUtil.sampleLHSUsers(maskedTweetId, maxNumSamplesPerNeighbor, bipartiteGraph) - - val rHStweetIds = FetchRHSTweetsUtil.fetchRHSTweets( - sampledLHSuserIds, - bipartiteGraph, - Set(Action.Favorite, Action.Retweet) - ) - - val scorePreFactor = - queryTweetDegree / math.log(queryTweetDegree) / sampledLHSuserIds.distinct.size - val relatedTweetCandidates = GetRelatedTweetCandidatesUtil.getRelatedTweetCandidates( - rHStweetIds, - minCooccurrence, - minResultDegree, - scorePreFactor, - bipartiteGraph) - - val relatedTweets = relatedTweetCandidates - .filter(relatedTweet => - FilterUtil.tweetAgeFilter( - relatedTweet.tweetId, - Duration(maxTweetAge, HOURS)) && (relatedTweet.score > minScore) && (!excludeTweetIds - .contains(relatedTweet.tweetId))).take(maxResults) - - stats.stat("response_size").add(relatedTweets.size) - RelatedTweetResponse( - tweets = relatedTweets, - queryTweetGraphFeatures = Some(GraphFeaturesForQuery(degree = Some(queryTweetDegree)))) - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/store/BUILD b/src/scala/com/twitter/recos/user_tweet_graph/store/BUILD deleted file mode 100644 index b1c3562b7..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/store/BUILD +++ /dev/null @@ -1,9 +0,0 @@ -scala_library( - sources = ["*.scala"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/storehaus:core", - "src/scala/com/twitter/simclusters_v2/common", - "src/thrift/com/twitter/socialgraph:thrift-scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_tweet_graph/store/BUILD.docx b/src/scala/com/twitter/recos/user_tweet_graph/store/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..1f761fb4390b2614b6be85a17c7fb621b284d585 GIT binary patch literal 36786 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 Imh^&n05AyB`2YX_ literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/store/UserRecentFollowersStore.scala b/src/scala/com/twitter/recos/user_tweet_graph/store/UserRecentFollowersStore.scala deleted file mode 100644 index 4910e9d71..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/store/UserRecentFollowersStore.scala +++ /dev/null @@ -1,50 +0,0 @@ -package com.twitter.recos.user_tweet_graph.store - -import com.twitter.simclusters_v2.common.UserId -import com.twitter.socialgraph.thriftscala.EdgesRequest -import com.twitter.socialgraph.thriftscala.EdgesResult -import com.twitter.socialgraph.thriftscala.PageRequest -import com.twitter.socialgraph.thriftscala.RelationshipType -import com.twitter.socialgraph.thriftscala.SrcRelationship -import com.twitter.socialgraph.thriftscala.SocialGraphService -import com.twitter.storehaus.ReadableStore -import com.twitter.util.Duration -import com.twitter.util.Future -import com.twitter.util.Time - -class UserRecentFollowersStore( - sgsClient: SocialGraphService.MethodPerEndpoint) - extends ReadableStore[UserRecentFollowersStore.Query, Seq[UserId]] { - - override def get(key: UserRecentFollowersStore.Query): Future[Option[Seq[UserId]]] = { - val edgeRequest = EdgesRequest( - relationship = SrcRelationship(key.userId, RelationshipType.FollowedBy), - // Could have a better guess at count when k.maxAge != None - pageRequest = Some(PageRequest(count = key.maxResults)) - ) - - val lookbackThresholdMillis = key.maxAge - .map(maxAge => (Time.now - maxAge).inMilliseconds) - .getOrElse(0L) - - sgsClient - .edges(Seq(edgeRequest)) - .map(_.flatMap { - case EdgesResult(edges, _, _) => - edges.collect { - case e if e.createdAt >= lookbackThresholdMillis => - e.target - } - }) - .map(Some(_)) - } -} - -object UserRecentFollowersStore { - case class Query( - userId: UserId, - // maxResults - if Some(count), we return only the `count` most recent follows - maxResults: Option[Int] = None, - // maxAge - if Some(duration), return only follows since `Time.now - duration` - maxAge: Option[Duration] = None) -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/BUILD b/src/scala/com/twitter/recos/user_tweet_graph/util/BUILD deleted file mode 100644 index 789b5e3ad..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/util/BUILD +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - sources = ["*.scala"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/graphjet", - "snowflake:id", - "snowflake/src/main/scala/com/twitter/snowflake/id", - "src/scala/com/twitter/recos/util:recos-util", - "src/scala/com/twitter/simclusters_v2/common", - "src/thrift/com/twitter/recos/user_tweet_graph:user_tweet_graph-scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/BUILD.docx b/src/scala/com/twitter/recos/user_tweet_graph/util/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..f21e08583c72645122850531b153d84ff9dc9aa4 GIT binary patch literal 36825 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 z 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 R1jX+Ds8vq_;PA=9;ggZN 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 =)>-|t~@25_-JM++l4SKBh%frzzAu;k7{ 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

T{mo~YLF_g4d4E%7i9o38o<1Rj0 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 - val tweetIdsIterator = bipartiteGraph - .getLeftNodeEdges(userId).asInstanceOf[MultiSegmentIterator[BipartiteGraphSegment]] - - val tweetIds = new ListBuffer[Long]() - if (tweetIdsIterator != null) { - while (tweetIdsIterator.hasNext) { - val rightNode = tweetIdsIterator.nextLong() - val edgeType = tweetIdsIterator.currentEdgeType() - if (allowedActionStrings.contains(UserTweetEdgeTypeMask(edgeType).toString)) - tweetIds += rightNode - } - } - tweetIds.distinct - } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/FilterUtil.docx b/src/scala/com/twitter/recos/user_tweet_graph/util/FilterUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..8a2fcf446de6befd33307216b61ce9ad61c5abd9 GIT binary patch literal 36920 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 Kv&X@15Dx%EBIpJH literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/FilterUtil.scala b/src/scala/com/twitter/recos/user_tweet_graph/util/FilterUtil.scala deleted file mode 100644 index fb5928904..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/util/FilterUtil.scala +++ /dev/null @@ -1,15 +0,0 @@ -package com.twitter.recos.user_tweet_graph.util - -import com.twitter.simclusters_v2.common.TweetId -import com.twitter.snowflake.id.SnowflakeId -import com.twitter.util.Duration -import com.twitter.util.Time - -object FilterUtil { - def tweetAgeFilter(tweetId: TweetId, maxAge: Duration): Boolean = { - SnowflakeId - .timeFromIdOpt(tweetId) - .map { tweetTime => tweetTime > Time.now - maxAge }.getOrElse(false) - // If there's no snowflake timestamp, we have no idea when this tweet happened. - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/GetAllInternalTweetIdsUtil.docx b/src/scala/com/twitter/recos/user_tweet_graph/util/GetAllInternalTweetIdsUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..4f926ebd1119638c284a082dfdb8d02ccc177f5b GIT binary patch literal 37085 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 bl*Le6hXLNKz#Ih1Re}tO!0eIM1L6Sy*R(kp literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/GetAllInternalTweetIdsUtil.scala b/src/scala/com/twitter/recos/user_tweet_graph/util/GetAllInternalTweetIdsUtil.scala deleted file mode 100644 index 0a5e6ee65..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/util/GetAllInternalTweetIdsUtil.scala +++ /dev/null @@ -1,33 +0,0 @@ -package com.twitter.recos.user_tweet_graph.util - -import com.twitter.graphjet.algorithms.TweetIDMask -import com.twitter.graphjet.bipartite.api.BipartiteGraph - -object GetAllInternalTweetIdsUtil { - - def getAllInternalTweetIds(tweetId: Long, bipartiteGraph: BipartiteGraph): Seq[Long] = { - val internalTweetIds = getAllMasks(tweetId) - sortByDegrees(internalTweetIds, bipartiteGraph) - } - - private def getAllMasks(tweetId: Long): Seq[Long] = { - Seq( - tweetId, - TweetIDMask.summary(tweetId), - TweetIDMask.photo(tweetId), - TweetIDMask.player(tweetId), - TweetIDMask.promotion(tweetId) - ) - } - - private def sortByDegrees( - encodedTweetIds: Seq[Long], - bipartiteGraph: BipartiteGraph - ): Seq[Long] = { - encodedTweetIds - .map { encodedTweetId => (encodedTweetId, bipartiteGraph.getRightNodeDegree(encodedTweetId)) } - .filter { case (_, degree) => degree > 0 } // keep only tweetds with positive degree - .sortBy { case (_, degree) => -degree } // sort by degree in descending order - .map { case (encodedTweetId, _) => encodedTweetId } - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/GetRelatedTweetCandidatesUtil.docx b/src/scala/com/twitter/recos/user_tweet_graph/util/GetRelatedTweetCandidatesUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..2d8839b60d6d7194942c8c6aa93b143cf33e06ba GIT binary patch literal 37567 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 T3d}*ETqVem2+STHeIOnH<)=SI literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/GetRelatedTweetCandidatesUtil.scala b/src/scala/com/twitter/recos/user_tweet_graph/util/GetRelatedTweetCandidatesUtil.scala deleted file mode 100644 index b093e4c9e..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/util/GetRelatedTweetCandidatesUtil.scala +++ /dev/null @@ -1,56 +0,0 @@ -package com.twitter.recos.user_tweet_graph.util - -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import com.twitter.recos.user_tweet_graph.thriftscala._ -import com.twitter.recos.features.tweet.thriftscala.GraphFeaturesForTweet -import com.twitter.graphjet.algorithms.TweetIDMask - -object GetRelatedTweetCandidatesUtil { - private val tweetIDMask = new TweetIDMask - - /** - * calculate scores for each RHS tweet that we get back - * for tweetBasedRelatedTweet, scorePreFactor = queryTweetDegree / log(queryTweetDegree) / LHSuserSize - * and the final score will be a log-cosine score - * for non-tweetBasedRelatedTweet, We don't have a query tweet, to keep scoring function consistent, - * scorePreFactor = 1000.0 / LHSuserSize (queryTweetDegree's average is ~10k, 1000 ~= 10k/log(10k)) - * Though scorePreFactor is applied for all results within a request, it's still useful to make score comparable across requests, - * so we can have a unifed min_score and help with downstream score normalization - * **/ - def getRelatedTweetCandidates( - relatedTweetCandidates: Seq[Long], - minCooccurrence: Int, - minResultDegree: Int, - scorePreFactor: Double, - bipartiteGraph: BipartiteGraph, - ): Seq[RelatedTweet] = { - relatedTweetCandidates - .groupBy(tweetId => tweetId) - .filterKeys(tweetId => bipartiteGraph.getRightNodeDegree(tweetId) > minResultDegree) - .mapValues(_.size) - .filter { case (_, cooccurrence) => cooccurrence >= minCooccurrence } - .toSeq - .map { - case (relatedTweetId, cooccurrence) => - val relatedTweetDegree = bipartiteGraph.getRightNodeDegree(relatedTweetId) - val score = scorePreFactor * cooccurrence / math.log(relatedTweetDegree) - - toRelatedTweet(relatedTweetId, score, relatedTweetDegree, cooccurrence) - } - .sortBy(-_.score) - } - - def toRelatedTweet( - relatedTweetId: Long, - score: Double, - relatedTweetDegree: Int, - cooccurrence: Int - ): RelatedTweet = { - RelatedTweet( - tweetId = tweetIDMask.restore(relatedTweetId), - score = score, - relatedTweetGraphFeatures = Some( - GraphFeaturesForTweet(cooccurrence = Some(cooccurrence), degree = Some(relatedTweetDegree))) - ) - } -} diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/SampleLHSUsersUtil.docx b/src/scala/com/twitter/recos/user_tweet_graph/util/SampleLHSUsersUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..786f3b443a5179d86da7a0c5a539b149d5ae48cb GIT binary patch literal 37178 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 cL&{>Pt-}CsR$vYS!h#Z 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 z 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_tweet_graph/util/UserTweetEdgeTypeMask.scala b/src/scala/com/twitter/recos/user_tweet_graph/util/UserTweetEdgeTypeMask.scala deleted file mode 100644 index 9a55c8e45..000000000 --- a/src/scala/com/twitter/recos/user_tweet_graph/util/UserTweetEdgeTypeMask.scala +++ /dev/null @@ -1,77 +0,0 @@ -package com.twitter.recos.user_tweet_graph.util - -import com.twitter.graphjet.bipartite.api.EdgeTypeMask -import com.twitter.recos.util.Action - -/** - * The bit mask is used to encode edge types in the top bits of an integer, - * e.g. favorite, retweet, reply and click. Under current segment configuration, each segment - * stores up to 128M edges. Assuming that each node on one side is unique, each segment - * stores up to 128M unique nodes on one side, which occupies the lower 27 bits of an integer. - * This leaves five bits to encode the edge types, which at max can store 32 edge types. - * The following implementation utilizes the top four bits and leaves one free bit out. - */ -class UserTweetEdgeTypeMask extends EdgeTypeMask { - import UserTweetEdgeTypeMask._ - - override def encode(node: Int, edgeType: Byte): Int = { - if (edgeType < 0 || edgeType > SIZE || edgeType == Click.id.toByte) { - throw new IllegalArgumentException("encode: Illegal edge type argument " + edgeType) - } else { - node | (edgeType << 28) - } - } - - override def edgeType(node: Int): Byte = { - (node >>> 28).toByte - } - - override def restore(node: Int): Int = { - node & MASK - } -} - -object UserTweetEdgeTypeMask extends Enumeration { - - type UserTweetEdgeTypeMask = Value - - /** - * Byte values corresponding to the action taken on a tweet, which will be encoded in the - * top 4 bits in a tweet Id - * NOTE: THERE CAN ONLY BE UP TO 16 TYPES - */ - val Click: UserTweetEdgeTypeMask = Value(0) - val Favorite: UserTweetEdgeTypeMask = Value(1) - val Retweet: UserTweetEdgeTypeMask = Value(2) - val Reply: UserTweetEdgeTypeMask = Value(3) - val Tweet: UserTweetEdgeTypeMask = Value(4) - val IsMentioned: UserTweetEdgeTypeMask = Value(5) - val IsMediatagged: UserTweetEdgeTypeMask = Value(6) - val Quote: UserTweetEdgeTypeMask = Value(7) - val Unfavorite: UserTweetEdgeTypeMask = Value(8) - - /** - * Reserve the top four bits of each integer to encode the edge type information. - */ - val MASK: Int = Integer.parseInt("00001111111111111111111111111111", 2) - val SIZE: Int = this.values.size - - /** - * Converts the action byte in the RecosHoseMessage into GraphJet internal byte mapping - */ - def actionTypeToEdgeType(actionByte: Byte): Byte = { - val edgeType = Action(actionByte) match { - case Action.Favorite => Favorite.id - case Action.Retweet => Retweet.id - case Action.Reply => Reply.id - case Action.Tweet => Tweet.id - case Action.IsMentioned => IsMentioned.id - case Action.IsMediaTagged => IsMediatagged.id - case Action.Quote => Quote.id - case Action.Unfavorite => Unfavorite.id - case _ => - throw new IllegalArgumentException("getEdgeType: Illegal edge type argument " + actionByte) - } - edgeType.toByte - } -} diff --git a/src/scala/com/twitter/recos/user_user_graph/BUILD b/src/scala/com/twitter/recos/user_user_graph/BUILD deleted file mode 100644 index 12dcbd292..000000000 --- a/src/scala/com/twitter/recos/user_user_graph/BUILD +++ /dev/null @@ -1,45 +0,0 @@ -scala_library( - name = "user_user_graph", - sources = ["*.scala"], - strict_deps = False, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/google/guava", - "3rdparty/jvm/com/twitter/graphjet", - "3rdparty/jvm/io/netty:netty4-tcnative-boringssl-static", - "3rdparty/jvm/org/apache/kafka:rosette-kafka", - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/authentication", - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/server", - "finagle/finagle-core/src/main", - "finagle/finagle-http/src/main/scala", - "finagle/finagle-memcached/src/main/scala", - "finagle/finagle-stats/src/main/scala", - "finagle/finagle-thriftmux/src/main/scala", - "servo/request/src/main/scala", - "servo/util/src/main/scala", - "src/resources/com/twitter/recos:decider", - "src/scala/com/twitter/recos/decider", - "src/scala/com/twitter/recos/graph_common", - "src/scala/com/twitter/recos/hose/common", - "src/scala/com/twitter/recos/model:recos-model", - "src/scala/com/twitter/recos/util:recos-util", - "src/thrift/com/twitter/recos/user_user_graph:user_user_graph-scala", - "thrift-web-forms/src/main/scala/com/twitter/thriftwebforms", - "twitter-server/slf4j-jdk14/src/main/scala/com/twitter/server/logging", - "util/util-logging/src/main/scala", - "util/util-stats/src/main/scala", - ], -) - -jvm_binary( - name = "bin", - basename = "user_user_graph-server", - main = "com.twitter.recos.user_user_graph.Main", - runtime_platform = "java11", - tags = ["bazel-compatible"], - dependencies = [ - ":user_user_graph", - "3rdparty/jvm/org/slf4j:slf4j-jdk14", - "twitter-server/slf4j-jdk14/src/main/scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_user_graph/BUILD.docx b/src/scala/com/twitter/recos/user_user_graph/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..7ed66e7311c0ff16f5ceb916edcc0f35af4be1b8 GIT binary patch literal 37169 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 aSq!yx7~stc%t4@BCCHEn%pMFqARYjQt`Z^u literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_user_graph/KafkaConfig.scala b/src/scala/com/twitter/recos/user_user_graph/KafkaConfig.scala deleted file mode 100644 index 4ee08df68..000000000 --- a/src/scala/com/twitter/recos/user_user_graph/KafkaConfig.scala +++ /dev/null @@ -1,13 +0,0 @@ -package com.twitter.recos.user_user_graph - -/** - * The class holds all the config parameters for kafka queue. - */ -object KafkaConfig { - // The size of the RecosHoseMessage array that is written to the concurrently linked queue - // Buffersize of 64 to keep throughput around 64 / (2K edgesPerSec / 150 kafka threads) = 6 seconds, which is lower - // than young gen gc cycle, 20 seconds. So that all the incoming messages will be gced in young gen instead of old gen. - val bufferSize = 64 - - println("KafkaConfig - bufferSize " + bufferSize) -} diff --git a/src/scala/com/twitter/recos/user_user_graph/LoggingUserUserGraph.docx b/src/scala/com/twitter/recos/user_user_graph/LoggingUserUserGraph.docx new file mode 100644 index 0000000000000000000000000000000000000000..76bc85d6a06a3c309fc3d70a621f316a33376339 GIT binary patch literal 37351 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 vwGgH}Zia>mO2-RbKYDu*p}(#jDT|@D4g - val timeTaken = System.currentTimeMillis - time - val logText = - s"In ${timeTaken}ms, recommendUsers(${requestToString(request)}), response ${responseToString(resp)}" - accessLog.info(logText) - } onFailure { exc => - val timeTaken = System.currentTimeMillis - time - val logText = s"In ${timeTaken}ms, recommendUsers(${requestToString(request)} returned error" - accessLog.error(exc, logText) - } - } - - private def requestToString(request: RecommendUserRequest): String = { - Seq( - request.requesterId, - request.displayLocation, - request.seedsWithWeights.size, - request.seedsWithWeights.take(5), - request.excludedUserIds.map(_.size).getOrElse(0), - request.excludedUserIds.map(_.take(5)), - request.maxNumResults, - request.maxNumSocialProofs, - request.minUserPerSocialProof, - request.socialProofTypes, - request.maxEdgeEngagementAgeInMillis - ).mkString(",") - } - - private def responseToString(response: RecommendUserResponse): String = { - response.recommendedUsers.toList.map { recUser => - val socialProof = recUser.socialProofs.map { - case (proofType, proofs) => - (proofType, proofs) - } - (recUser.userId, recUser.score, socialProof) - }.toString - } -} diff --git a/src/scala/com/twitter/recos/user_user_graph/Main.docx b/src/scala/com/twitter/recos/user_user_graph/Main.docx new file mode 100644 index 0000000000000000000000000000000000000000..b8113393633277d1f21e750421f99c7d54940298 GIT binary patch literal 39762 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

PPty>vmy>*_>^+=hxm(FtC9c@ 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 JDK14Logging} -import com.twitter.servo.request._ -import com.twitter.servo.util.ExceptionCounter -import com.twitter.thriftwebforms._ -import com.twitter.util.Await -import com.twitter.util.Duration -import java.net.InetSocketAddress -import java.util.concurrent.TimeUnit -import org.apache.kafka.clients.CommonClientConfigs -import org.apache.kafka.common.config.SaslConfigs -import org.apache.kafka.common.config.SslConfigs -import org.apache.kafka.common.security.auth.SecurityProtocol -import org.apache.kafka.common.serialization.StringDeserializer - -object Main extends TwitterServer with JDK14Logging with Deciderable { - profile => - - val shardId: Flag[Int] = flag("shardId", 0, "Shard ID") - val servicePort: Flag[InetSocketAddress] = - flag("service.port", new InetSocketAddress(10143), "Thrift service port") - val logDir: Flag[String] = flag("logdir", "recos", "Logging directory") - val hoseName: Flag[String] = - flag("hosename", "recos_injector_user_user", "the kafka stream used for incoming edges") - val maxNumSegments: Flag[Int] = - flag("maxNumSegments", graphBuilderConfig.maxNumSegments, "the number of segments in the graph") - val numShards: Flag[Int] = flag("numShards", 1, "Number of shards for this service") - val truststoreLocation: Flag[String] = - flag[String]("truststore_location", "", "Truststore file location") - - val dataCenter: Flag[String] = flag("service.cluster", "atla", "Data Center") - val serviceRole: Flag[String] = flag("service.role", "Service Role") - val serviceEnv: Flag[String] = flag("service.env", "Service Env") - val serviceName: Flag[String] = flag("service.name", "Service Name") - - val statsReceiverWrapper: FinagleStatsReceiverWrapper = FinagleStatsReceiverWrapper( - statsReceiver - ) - - /** - * A ClientRequestAuthorizer to be used in a request-authorization RequestFilter. - */ - lazy val clientAuthorizer: ClientRequestAuthorizer = - ClientRequestAuthorizer.observed( - ClientRequestAuthorizer.permissive, - new ClientRequestObserver(statsReceiver) - ) - - lazy val clientId = ClientId("userusergraph.%s".format(serviceEnv().replace("devel", "dev"))) - - val shutdownTimeout: Flag[Duration] = flag( - "service.shutdownTimeout", - 5.seconds, - "Maximum amount of time to wait for pending requests to complete on shutdown" - ) - - /** - * ExceptionCounter for tracking failures from RequestHandler(s). - */ - lazy val exceptionCounter = new ExceptionCounter(statsReceiver) - - /** - * Function for translating exceptions returned by a RequestHandler. Useful - * for cases where underlying exception types should be wrapped in those - * defined in the project's Thrift IDL. - */ - lazy val translateExceptions: PartialFunction[Throwable, Throwable] = { - case t => t - } - - // ********* logging ********** - - lazy val loggingLevel: Level = Level.INFO - lazy val recosLogPath: String = logDir() + "/recos.log" - lazy val graphLogPath: String = logDir() + "/graph.log" - lazy val accessLogPath: String = logDir() + "/access.log" - - override def loggerFactories: List[LoggerFactory] = - List( - LoggerFactory( - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = recosLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "graph", - useParents = false, - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = graphLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "access", - useParents = false, - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = accessLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "client_event", - level = Some(loggingLevel), - useParents = false, - handlers = QueueingHandler( - maxQueueSize = 10000, - handler = ScribeHandler( - category = "client_event", - formatter = BareFormatter - ) - ) :: Nil - ) - ) - // ******** Decider ************* - - val recosDecider: UserUserGraphDecider = UserUserGraphDecider() - - // ********* ABdecider ********** - - val abDeciderYmlPath: String = "/usr/local/config/abdecider/abdecider.yml" - - val scribeLogger: Option[Logger] = Some(Logger.get("client_event")) - - val abDecider: LoggingABDecider = - ABDeciderFactory( - abDeciderYmlPath = abDeciderYmlPath, - scribeLogger = scribeLogger, - environment = Some("production") - ).buildWithLogging() - - val ldapGroups = Seq("eng", "cassowary-group", "timeline-team") - - // ********* Recos service ********** - - def main(): Unit = { - log.info("building graph with maxNumSegments = " + profile.maxNumSegments()) - log.info("Reading from: " + hoseName()) - - val graph = NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder( - graphBuilderConfig.copy(maxNumSegments = profile.maxNumSegments()), - statsReceiverWrapper - ) - - val kafkaConfigBuilder = FinagleKafkaConsumerBuilder[String, RecosHoseMessage]() - .dest("/s/kafka/recommendations:kafka-tls") - .groupId(KafkaGroupId(f"user_user_graph-${shardId()}%06d")) - .keyDeserializer(new StringDeserializer) - .valueDeserializer(ScalaSerdes.Thrift[RecosHoseMessage].deserializer) - .seekStrategy(SeekStrategy.REWIND) - .rewindDuration(24.hours) - .withConfig(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SASL_SSL.toString) - .withConfig(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, truststoreLocation()) - .withConfig(SaslConfigs.SASL_MECHANISM, SaslConfigs.GSSAPI_MECHANISM) - .withConfig(SaslConfigs.SASL_KERBEROS_SERVICE_NAME, "kafka") - .withConfig(SaslConfigs.SASL_KERBEROS_SERVER_NAME, "kafka") - - val graphWriter = UserUserGraphWriter( - shardId = shardId().toString, - env = serviceEnv(), - hosename = hoseName(), - bufferSize = bufferSize, - kafkaConsumerBuilder = kafkaConfigBuilder, - clientId = clientId.name, - statsReceiver = statsReceiver - ) - graphWriter.initHose(graph) - - val recommendUsersHandler = RecommendUsersHandlerImpl( - graph, - Constants.salsaRunnerConfig, - recosDecider, - statsReceiverWrapper - ) - - val recos = new UserUserGraph(recommendUsersHandler) with LoggingUserUserGraph - - // For MutualTLS - val serviceIdentifier = ServiceIdentifier( - role = serviceRole(), - service = serviceName(), - environment = serviceEnv(), - zone = dataCenter() - ) - - val thriftServer = ThriftMux.server - .withOpportunisticTls(OpportunisticTls.Required) - .withMutualTls(serviceIdentifier) - .serveIface(servicePort(), recos) - - this.addAdminRoute(ElfOwlFilter.getPostbackRoute()) - - val elfowlFilter = ElfOwlFilter( - ByLdapGroup(ldapGroups), - Duration.fromTimeUnit(5, TimeUnit.DAYS) - ) - - log.info(s"ServiceIdentifier = ${serviceIdentifier.toString}") - log.info("clientid: " + clientId.toString) - log.info("servicePort: " + servicePort().toString) - log.info("adding shutdown hook") - onExit { - graphWriter.shutdown() - thriftServer.close(shutdownTimeout().fromNow) - } - log.info("added shutdown hook") - // Wait on the thriftServer so that shutdownTimeout is respected. - Await.result(thriftServer) - } -} diff --git a/src/scala/com/twitter/recos/user_user_graph/README.docx b/src/scala/com/twitter/recos/user_user_graph/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..919bb9f2a208196e7860bd5529c729b6641b46dc GIT binary patch literal 37246 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 - graphJetQueue.offer( - new TopSecondDegreeByCountForUser( - bipartiteGraph, - salsaRunnerConfig.expectedNodesToHitInSalsa, - statsReceiverWrapper.scope(this.getClass.getSimpleName) - ) - ) - } - - /** - * Given a user_user_graph request, make it conform to GraphJet's request format - */ - private def convertRequestToJava( - request: RecommendUserRequest - ): TopSecondDegreeByCountRequestForUser = { - val queryNode = request.requesterId - val leftSeedNodesWithWeight = new Long2DoubleOpenHashMap( - request.seedsWithWeights.keys.toArray, - request.seedsWithWeights.values.toArray - ) - val toBeFiltered = new LongOpenHashSet(request.excludedUserIds.getOrElse(Nil).toArray) - val maxNumResults = request.maxNumResults.getOrElse(DefaultRequestParams.MaxNumResults) - val maxNumSocialProofs = - request.maxNumSocialProofs.getOrElse(DefaultRequestParams.MaxNumSocialProofs) - val minUserPerSocialProof = convertMinUserPerSocialProofToJava(request.minUserPerSocialProof) - val socialProofTypes = - UserEdgeTypeMask.getUserUserGraphSocialProofTypes(request.socialProofTypes) - val maxRightNodeAgeInMillis = DefaultRequestParams.MaxRightNodeAgeThreshold - val maxEdgeEngagementAgeInMillis = - request.maxEdgeEngagementAgeInMillis.getOrElse(DefaultRequestParams.MaxEdgeAgeThreshold) - val resultFilterChain = new ResultFilterChain( - Lists.newArrayList( - new SocialProofTypesFilter(statsReceiverWrapper), - new RequestedSetFilter(statsReceiverWrapper) - ) - ) - - new TopSecondDegreeByCountRequestForUser( - queryNode, - leftSeedNodesWithWeight, - toBeFiltered, - maxNumResults, - maxNumSocialProofs, - UserEdgeTypeMask.SIZE.toInt, - minUserPerSocialProof, - socialProofTypes, - maxRightNodeAgeInMillis, - maxEdgeEngagementAgeInMillis, - resultFilterChain - ) - } - - /** - * Converts the thrift scala type to the Java equivalent - */ - private def convertMinUserPerSocialProofToJava( - socialProofInScala: Option[scala.collection.Map[UserSocialProofType, Int]] - ): java.util.Map[java.lang.Byte, java.lang.Integer] = { - socialProofInScala - .map { - _.map { - case (key: UserSocialProofType, value: Int) => - (new java.lang.Byte(key.getValue.toByte), new java.lang.Integer(value)) - } - } - .getOrElse(Map.empty[java.lang.Byte, java.lang.Integer]) - .asJava - } - - /** - * Converts a byte-array format of social proofs in Java to its Scala equivalent - */ - private def convertSocialProofsToScala( - socialProofs: java.util.Map[java.lang.Byte, ConnectingUsersWithMetadata] - ): scala.collection.mutable.Map[UserSocialProofType, scala.Seq[Long]] = { - socialProofs.asScala.map { - case (socialProofByte, socialProof) => - val proofType = UserSocialProofType(socialProofByte.toByte) - val ids = socialProof.getConnectingUsers.asScala.map(_.toLong) - (proofType, ids) - } - } - - /** - * Converts Java recommendation results to its Scala equivalent - */ - private def convertResponseToScala( - responseOpt: Option[TopSecondDegreeByCountResponse] - ): RecommendUserResponse = { - responseOpt match { - case Some(rawResponse) => - val userSeq = rawResponse.getRankedRecommendations.asScala.toSeq.flatMap { - case userRecs: UserRecommendationInfo => - Some( - RecommendedUser( - userRecs.getRecommendation, - userRecs.getWeight, - convertSocialProofsToScala(userRecs.getSocialProof) - ) - ) - case _ => - None - } - recsStat.add(userSeq.size) - if (userSeq.isEmpty) { - emptyCounter.incr() - } - RecommendUserResponse(userSeq) - case None => - emptyCounter.incr() - RecommendUserResponse(Nil) - } - } - - private def getGraphJetResponse( - graphJet: TopSecondDegreeByCountForUser, - request: TopSecondDegreeByCountRequestForUser, - random: Random - )( - implicit statsReceiver: StatsReceiver - ): Option[TopSecondDegreeByCountResponse] = { - trackBlockStats(stats) { - // compute recs -- need to catch and print exceptions here otherwise they are swallowed - val recAttempt = Try(graphJet.computeRecommendations(request, random)).onFailure { e => - failureCounter.incr() - log.error(e, "GraphJet computation failed") - } - recAttempt.toOption - } - } - - override def apply(request: RecommendUserRequest): Future[RecommendUserResponse] = { - val random = new Random() - val graphJetRequest = convertRequestToJava(request) - pollCounter.incr() - val t0 = System.currentTimeMillis - graphJetQueue.poll().map { graphJetRunner => - val pollTime = System.currentTimeMillis - t0 - pollLatencyStat.add(pollTime) - val response = Try { - if (pollTime < salsaRunnerConfig.timeoutSalsaRunner) { - convertResponseToScala( - getGraphJetResponse( - graphJetRunner, - graphJetRequest, - random - )(statsReceiverWrapper.statsReceiver) - ) - } else { - // if we did not get a runner in time, then fail fast here and immediately put it back - log.warning("GraphJet Queue polling timeout") - pollTimeoutCounter.incr() - throw new RuntimeException("GraphJet poll timeout") - RecommendUserResponse(Nil) - } - } ensure { - graphJetQueue.offer(graphJetRunner) - offerCounter.incr() - } - response.toOption.getOrElse(RecommendUserResponse(Nil)) - } - } - - object DefaultRequestParams { - val MaxNumResults = 100 - val MaxNumSocialProofs = 100 - val MaxRightNodeAgeThreshold: Long = Long.MaxValue - val MaxEdgeAgeThreshold: Long = Long.MaxValue - } -} diff --git a/src/scala/com/twitter/recos/user_user_graph/RecosConfig.docx b/src/scala/com/twitter/recos/user_user_graph/RecosConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..3b8e9d1e19553d086ae9c7a2e49262c4c003020d GIT binary patch literal 37255 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_user_graph/UserEdgeTypeMask.scala b/src/scala/com/twitter/recos/user_user_graph/UserEdgeTypeMask.scala deleted file mode 100644 index ac29bebf2..000000000 --- a/src/scala/com/twitter/recos/user_user_graph/UserEdgeTypeMask.scala +++ /dev/null @@ -1,91 +0,0 @@ -package com.twitter.recos.user_user_graph - -import com.twitter.graphjet.bipartite.api.EdgeTypeMask -import com.twitter.recos.recos_common.thriftscala.UserSocialProofType - -/** - * The bit mask is used to encode edge types in the top bits of an integer, - * e.g. Follow, Mention, and Mediatag. Under current segment configuration, each segment - * stores up to 128M edges. Assuming that each node on one side is unique, each segment - * stores up to 128M unique nodes on one side, which occupies the lower 27 bits of an integer. - * This leaves five bits to encode the edge types, which at max can store 32 edge types. - * The following implementation utilizes the top four bits and leaves one free bit out. - */ -class UserEdgeTypeMask extends EdgeTypeMask { - import UserEdgeTypeMask._ - override def encode(node: Int, edgeType: Byte): Int = { - require( - edgeType == FOLLOW || edgeType == MENTION || edgeType == MEDIATAG, - s"encode: Illegal edge type argument $edgeType") - node | EDGEARRAY(edgeType) - } - - override def edgeType(node: Int): Byte = { - (node >> 28).toByte - } - - override def restore(node: Int): Int = { - node & MASK - } -} - -object UserEdgeTypeMask { - - /** - * Reserve the top four bits of each integer to encode the edge type information. - */ - val MASK: Int = - Integer.parseInt("00001111111111111111111111111111", 2) - val FOLLOW: Byte = 0 - val MENTION: Byte = 1 - val MEDIATAG: Byte = 2 - val SIZE: Byte = 3 - val UNUSED3: Byte = 3 - val UNUSED4: Byte = 4 - val UNUSED5: Byte = 5 - val UNUSED6: Byte = 6 - val UNUSED7: Byte = 7 - val UNUSED8: Byte = 8 - val UNUSED9: Byte = 9 - val UNUSED10: Byte = 10 - val UNUSED11: Byte = 11 - val UNUSED12: Byte = 12 - val UNUSED13: Byte = 13 - val UNUSED14: Byte = 14 - val UNUSED15: Byte = 15 - val EDGEARRAY: Array[Int] = Array( - 0, - 1 << 28, - 2 << 28, - 3 << 28, - 4 << 28, - 5 << 28, - 6 << 28, - 7 << 28, - 8 << 28, - 9 << 28, - 10 << 28, - 11 << 28, - 12 << 28, - 13 << 28, - 14 << 28, - 15 << 28 - ) - - /** - * Map valid social proof types specified by clients to an array of bytes. If clients do not - * specify any social proof types in thrift, it will return all available social types by - * default. - * - * @param socialProofTypes are the valid socialProofTypes specified by clients - * @return an array of bytes representing valid social proof types - */ - def getUserUserGraphSocialProofTypes( - socialProofTypes: Option[Seq[UserSocialProofType]] - ): Array[Byte] = { - socialProofTypes - .map { _.map { _.getValue }.toArray } - .getOrElse((0 until SIZE).toArray) - .map { _.toByte } - } -} diff --git a/src/scala/com/twitter/recos/user_user_graph/UserUserGraph.docx b/src/scala/com/twitter/recos/user_user_graph/UserUserGraph.docx new file mode 100644 index 0000000000000000000000000000000000000000..fd641cd2eb0a97bc898a5c3937d2fca0274fca92 GIT binary patch literal 36925 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 Of((hk>~X9c!~+1X+DXjE4mVE4t$?u((C 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_user_graph/UserUserGraphWriter.scala b/src/scala/com/twitter/recos/user_user_graph/UserUserGraphWriter.scala deleted file mode 100644 index 637f29717..000000000 --- a/src/scala/com/twitter/recos/user_user_graph/UserUserGraphWriter.scala +++ /dev/null @@ -1,83 +0,0 @@ -package com.twitter.recos.user_user_graph - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.finatra.kafka.consumers.FinagleKafkaConsumerBuilder -import com.twitter.graphjet.bipartite.NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraph -import com.twitter.graphjet.bipartite.segment.NodeMetadataLeftIndexedBipartiteGraphSegment -import com.twitter.recos.hose.common.UnifiedGraphWriter -import com.twitter.recos.internal.thriftscala.RecosHoseMessage -import com.twitter.recos.util.Action - -case class UserUserGraphWriter( - shardId: String, - env: String, - hosename: String, - bufferSize: Int, - kafkaConsumerBuilder: FinagleKafkaConsumerBuilder[String, RecosHoseMessage], - clientId: String, - statsReceiver: StatsReceiver) - extends UnifiedGraphWriter[ - NodeMetadataLeftIndexedBipartiteGraphSegment, - NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraph - ] { - - // The max throughput for each kafka consumer is around 25MB/s - // Use 3 processors for 75MB/s catch-up speed. - val consumerNum: Int = 3 - // Leave 2 Segments for live writer - val catchupWriterNum: Int = RecosConfig.maxNumSegments - 2 - - import UserUserGraphWriter._ - - private def getEdgeType(action: Byte): Byte = { - if (action == Action.Follow.id) { - UserEdgeTypeMask.FOLLOW - } else if (action == Action.Mention.id) { - UserEdgeTypeMask.MENTION - } else if (action == Action.MediaTag.id) { - UserEdgeTypeMask.MEDIATAG - } else { - throw new IllegalArgumentException("getEdgeType: Illegal edge type argument " + action) - } - } - - /** - * Adds a RecosHoseMessage to the graph. used by live writer to insert edges to the - * current segment - */ - override def addEdgeToGraph( - graph: NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraph, - recosHoseMessage: RecosHoseMessage - ): Unit = { - graph.addEdge( - recosHoseMessage.leftId, - recosHoseMessage.rightId, - getEdgeType(recosHoseMessage.action), - recosHoseMessage.edgeMetadata.getOrElse(0L), - EMTPY_NODE_METADATA, - EMTPY_NODE_METADATA - ) - } - - /** - * Adds a RecosHoseMessage to the given segment in the graph. Used by catch up writers to - * insert edges to non-current (old) segments - */ - override def addEdgeToSegment( - segment: NodeMetadataLeftIndexedBipartiteGraphSegment, - recosHoseMessage: RecosHoseMessage - ): Unit = { - segment.addEdge( - recosHoseMessage.leftId, - recosHoseMessage.rightId, - getEdgeType(recosHoseMessage.action), - recosHoseMessage.edgeMetadata.getOrElse(0L), - EMTPY_NODE_METADATA, - EMTPY_NODE_METADATA - ) - } -} - -private object UserUserGraphWriter { - final val EMTPY_NODE_METADATA = new Array[Array[Int]](1) -} diff --git a/src/scala/com/twitter/recos/user_video_graph/BUILD b/src/scala/com/twitter/recos/user_video_graph/BUILD deleted file mode 100644 index f85d7ba96..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/BUILD +++ /dev/null @@ -1,69 +0,0 @@ -scala_library( - name = "user-video-graph", - sources = ["*.scala"], - tags = [ - "bazel-compatible", - "bazel-only", - ], - dependencies = [ - "3rdparty/jvm/cascading:cascading-local", - "3rdparty/jvm/com/backtype:dfs-datastores", - "3rdparty/jvm/com/fasterxml/jackson/module:jackson-module-scala", - "3rdparty/jvm/com/google/inject:guice", - "3rdparty/jvm/com/netflix/curator:curator-framework", - "3rdparty/jvm/com/twitter/graphjet", - "3rdparty/jvm/io/netty:netty4-tcnative-boringssl-static", - "3rdparty/jvm/it/unimi/dsi:fastutil", - "3rdparty/jvm/org/apache/hadoop:hadoop-client-default", - "3rdparty/jvm/org/apache/kafka:rosette-kafka", - "3rdparty/jvm/org/apache/thrift:libthrift", - "abdecider/src/main/scala", - "decider/src/main/scala", - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/authentication", - "finagle-internal/mtls/src/main/scala/com/twitter/finagle/mtls/server", - "finagle/finagle-core/src/main", - "finagle/finagle-http/src/main/scala", - "finagle/finagle-memcached/src/main/scala", - "finagle/finagle-stats/src/main/scala", - "finagle/finagle-thriftmux/src/main/scala", - "frigate/frigate-common/src/main/scala/com/twitter/frigate/common/util", - "scrooge/scrooge-core/src/main/scala", - "servo/repo/src/main/scala", - "servo/request/src/main/scala", - "servo/util/src/main/scala", - "src/resources/com/twitter/recos:decider", - "src/scala/com/twitter/recos/decider", - "src/scala/com/twitter/recos/graph_common", - "src/scala/com/twitter/recos/hose/common", - "src/scala/com/twitter/recos/model:recos-model", - "src/scala/com/twitter/recos/serviceapi", - "src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers", - "src/scala/com/twitter/recos/user_video_graph/store", - "src/scala/com/twitter/recos/util:recos-util", - "src/scala/com/twitter/simclusters_v2/common", - "src/thrift/com/twitter/recos:recos-common-scala", - "src/thrift/com/twitter/recos:recos-internal-scala", - "src/thrift/com/twitter/recos/user_video_graph:user_video_graph-scala", - "thrift-web-forms/src/main/scala/com/twitter/thriftwebforms", - "thrift-web-forms/src/main/scala/com/twitter/thriftwebforms/model", - "twitter-server-internal/src/main/scala", - "twitter-server/server/src/main/scala", - "twitter-server/slf4j-jdk14/src/main/scala/com/twitter/server/logging", - "util/util-app/src/main/scala", - "util/util-hashing/src/main/scala", - "util/util-stats/src/main/scala", - ], -) - -jvm_binary( - name = "bin", - basename = "user-video-graph-server", - main = "com.twitter.recos.user_video_graph.Main", - runtime_platform = "java11", - tags = ["known-to-fail-jira:SD-20771"], - dependencies = [ - ":user-video-graph", - "3rdparty/jvm/org/slf4j:slf4j-jdk14", - "twitter-server/slf4j-jdk14/src/main/scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_video_graph/BUILD.docx b/src/scala/com/twitter/recos/user_video_graph/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..fd6f5956a7e5cda5694837bbe3cba60ff7bb29d5 GIT binary patch literal 37470 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 T1?C`7t`cNO1ZI!ty&xU{I-CuO literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/LoggingUserVideoGraph.docx b/src/scala/com/twitter/recos/user_video_graph/LoggingUserVideoGraph.docx new file mode 100644 index 0000000000000000000000000000000000000000..0cf013b6759053c9572f74a71896f6ebbaa4291a GIT binary patch literal 36835 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 ZP+Nxq-mJhJ1j7}*$^<=*o@Ri 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 JDK14Logging} -import com.twitter.servo.request._ -import com.twitter.servo.util.ExceptionCounter -import com.twitter.simclusters_v2.common.UserId -import com.twitter.socialgraph.thriftscala.SocialGraphService -import com.twitter.storehaus.ReadableStore -import com.twitter.util.Await -import com.twitter.util.Duration -import com.twitter.util.JavaTimer -import com.twitter.util.Throw -import com.twitter.util.Timer -import java.net.InetSocketAddress -import java.util.concurrent.TimeUnit -import org.apache.kafka.clients.CommonClientConfigs -import org.apache.kafka.common.config.SaslConfigs -import org.apache.kafka.common.config.SslConfigs -import org.apache.kafka.common.security.auth.SecurityProtocol -import org.apache.kafka.common.serialization.StringDeserializer -import scala.reflect.ClassTag - -object Main extends TwitterServer with JDK14Logging with Deciderable { - profile => - - val shardId: Flag[Int] = flag("shardId", 0, "Shard ID") - val servicePort: Flag[InetSocketAddress] = - flag("service.port", new InetSocketAddress(10143), "Thrift service port") - val logDir: Flag[String] = flag("logdir", "recos", "Logging directory") - val numShards: Flag[Int] = flag("numShards", 1, "Number of shards for this service") - val truststoreLocation: Flag[String] = - flag[String]("truststore_location", "", "Truststore file location") - val hoseName: Flag[String] = - flag("hosename", "recos_injector_user_user", "the kafka stream used for incoming edges") - - val dataCenter: Flag[String] = flag("service.cluster", "atla", "Data Center") - val serviceRole: Flag[String] = flag("service.role", "Service Role") - val serviceEnv: Flag[String] = flag("service.env", "Service Env") - val serviceName: Flag[String] = flag("service.name", "Service Name") - - private val maxNumSegments = - flag("maxNumSegments", graphBuilderConfig.maxNumSegments, "the number of segments in the graph") - - private val statsReceiverWrapper = FinagleStatsReceiverWrapper(statsReceiver) - - /** - * A ClientRequestAuthorizer to be used in a request-authorization RequestFilter. - */ - lazy val clientAuthorizer: ClientRequestAuthorizer = - ClientRequestAuthorizer.observed( - ClientRequestAuthorizer.permissive, - new ClientRequestObserver(statsReceiver) - ) - - lazy val clientId = ClientId(s"usertweetgraph.${serviceEnv()}") - - private def makeThriftClient[ThriftServiceType: ClassTag]( - dest: String, - label: String, - serviceIdentifier: ServiceIdentifier, - requestTimeout: Duration = 100.milliseconds - ): ThriftServiceType = { - ThriftMux.client - .withClientId(ClientId("usertweetgraph.prod")) - .withOpportunisticTls(OpportunisticTls.Required) - .withMutualTls(serviceIdentifier) - .withRequestTimeout(requestTimeout) - .withStatsReceiver(statsReceiver.scope("clnt")) - .withResponseClassifier { - case ReqRep(_, Throw(_: ClientDiscardedRequestException)) => ResponseClass.Ignorable - }.build[ThriftServiceType](dest, label) - } - - private val shutdownTimeout = flag( - "service.shutdownTimeout", - 5.seconds, - "Maximum amount of time to wait for pending requests to complete on shutdown" - ) - - /** - * ExceptionCounter for tracking failures from RequestHandler(s). - */ - lazy val exceptionCounter = new ExceptionCounter(statsReceiver) - - /** - * Function for translating exceptions returned by a RequestHandler. Useful - * for cases where underlying exception types should be wrapped in those - * defined in the project's Thrift IDL. - */ - lazy val translateExceptions: PartialFunction[Throwable, Throwable] = { - case t => t - } - - val DefaultLdapAccessGroup: Seq[String] = Seq("eng", "cassowary-group", "timeline-team") - - // ********* logging ********** - - lazy val loggingLevel: Level = Level.INFO - lazy val recosLogPath: String = logDir() + "/recos.log" - lazy val graphLogPath: String = logDir() + "/graph.log" - lazy val accessLogPath: String = logDir() + "/access.log" - - override def loggerFactories: List[LoggerFactory] = - List( - LoggerFactory( - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = recosLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "graph", - useParents = false, - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = graphLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "access", - useParents = false, - level = Some(loggingLevel), - handlers = QueueingHandler( - handler = FileHandler( - filename = accessLogPath, - level = Some(loggingLevel), - rollPolicy = Policy.Hourly, - rotateCount = 6, - formatter = new Formatter - ) - ) :: Nil - ), - LoggerFactory( - node = "client_event", - level = Some(loggingLevel), - useParents = false, - handlers = QueueingHandler( - maxQueueSize = 10000, - handler = ScribeHandler( - category = "client_event", - formatter = BareFormatter - ) - ) :: Nil - ) - ) - // ******** Decider ************* - - // ********* ABdecider ********** - - val abDeciderYmlPath: String = "/usr/local/config/abdecider/abdecider.yml" - - val scribeLogger: Option[Logger] = Some(Logger.get("client_event")) - - val abDecider: LoggingABDecider = - ABDeciderFactory( - abDeciderYmlPath = abDeciderYmlPath, - scribeLogger = scribeLogger, - environment = Some("production") - ).buildWithLogging() - - // ********* Recos service ********** - - def main(): Unit = { - log.info("building graph with maxNumSegments = " + profile.maxNumSegments()) - - implicit val timer: Timer = new JavaTimer(true) - - val graph = MultiSegmentPowerLawBipartiteGraphBuilder( - graphBuilderConfig.copy(maxNumSegments = profile.maxNumSegments()), - statsReceiverWrapper - ) - - val kafkaConfigBuilder = FinagleKafkaConsumerBuilder[String, RecosHoseMessage]() - .dest("/s/kafka/recommendations:kafka-tls") - .groupId(KafkaGroupId(f"user_video_graph-${shardId()}%06d")) - .keyDeserializer(new StringDeserializer) - .valueDeserializer(ScalaSerdes.Thrift[RecosHoseMessage].deserializer) - .seekStrategy(SeekStrategy.REWIND) - .rewindDuration(48.hours) - .withConfig(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, SecurityProtocol.SASL_SSL.toString) - .withConfig(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, truststoreLocation()) - .withConfig(SaslConfigs.SASL_MECHANISM, SaslConfigs.GSSAPI_MECHANISM) - .withConfig(SaslConfigs.SASL_KERBEROS_SERVICE_NAME, "kafka") - .withConfig(SaslConfigs.SASL_KERBEROS_SERVER_NAME, "kafka") - - val graphWriter = - UserVideoGraphWriter( - shardId().toString, - serviceEnv(), - hoseName(), - 128, // keep the original setting. - kafkaConfigBuilder, - clientId.name, - statsReceiver, - ) - graphWriter.initHose(graph) - - // For MutualTLS - val serviceIdentifier = ServiceIdentifier( - role = serviceRole(), - service = serviceName(), - environment = serviceEnv(), - zone = dataCenter() - ) - log.info(s"ServiceIdentifier = ${serviceIdentifier.toString}") - - val socialGraphClient: SocialGraphService.MethodPerEndpoint = - makeThriftClient[SocialGraphService.MethodPerEndpoint]( - "/s/socialgraph/socialgraph", - "socialgraph", - serviceIdentifier) - val userRecentFollowersStore: ReadableStore[UserRecentFollowersStore.Query, Seq[UserId]] = - new UserRecentFollowersStore(socialGraphClient) - - val tweetBasedRelatedTweetsHandler = new TweetBasedRelatedTweetsHandler(graph, statsReceiver) - val consumersBasedRelatedTweetsHandler = - new ConsumersBasedRelatedTweetsHandler(graph, statsReceiver) - val producerBasedRelatedTweetsHandler = - new ProducerBasedRelatedTweetsHandler(graph, userRecentFollowersStore, statsReceiver) - - val decider = UserTweetGraphDecider(serviceEnv(), dataCenter()) - val endpointLoadShedder = new EndpointLoadShedder(decider) - val userVideoGraph = - new UserVideoGraph( - tweetBasedRelatedTweetsHandler, - producerBasedRelatedTweetsHandler, - consumersBasedRelatedTweetsHandler, - endpointLoadShedder)(timer) with LoggingUserVideoGraph - - val thriftServer = ThriftMux.server - .withOpportunisticTls(OpportunisticTls.Required) - .withMutualTls(serviceIdentifier) - .serveIface(servicePort(), userVideoGraph) - - log.info("clientid: " + clientId.toString) - log.info("servicePort: " + servicePort().toString) - - log.info("adding shutdown hook") - onExit { - graphWriter.shutdown() - thriftServer.close(shutdownTimeout().fromNow) - } - log.info("added shutdown hook") - - // Wait on the thriftServer so that shutdownTimeout is respected. - Await.result(thriftServer) - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/README.docx b/src/scala/com/twitter/recos/user_video_graph/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..3933965c452ab58217603109813f67a32539e7c7 GIT binary patch literal 37155 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 A5C8xG literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/README.md b/src/scala/com/twitter/recos/user_video_graph/README.md deleted file mode 100644 index 71de5deef..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# UserVideoGraph (UVG) - -## What is it -User Video Graph (UVG) is a Finalge thrift service built on the GraphJet framework. In maintains a graph of user-video engagements and serves user recommendations based on traversals in this graph. - -## How is it used on Twitter -UVG generates video recommendations from a given seed tweet set. It recommends tweets based on collaborative filtering & random walks. - -UVG is a stateful service and relies on a Kafka stream to ingest & persist states. The Kafka stream is processed and generated by Recos-Injector. -It maintains an in-memory user engagements over the past 24-48 hours. Older events are dropped and GC'ed. - -For full details on storage & processing, please check out our open-sourced project GraphJet, a general-purpose high performance in-memory storage engine. -- https://github.com/twitter/GraphJet -- http://www.vldb.org/pvldb/vol9/p1281-sharma.pdf diff --git a/src/scala/com/twitter/recos/user_video_graph/UserVideoEdgeTypeMask.docx b/src/scala/com/twitter/recos/user_video_graph/UserVideoEdgeTypeMask.docx new file mode 100644 index 0000000000000000000000000000000000000000..302557a4a5adba506e41c561ed44b9932549d846 GIT binary patch literal 37635 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 kbp7bpF literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/UserVideoEdgeTypeMask.scala b/src/scala/com/twitter/recos/user_video_graph/UserVideoEdgeTypeMask.scala deleted file mode 100644 index 9a6c577d2..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/UserVideoEdgeTypeMask.scala +++ /dev/null @@ -1,62 +0,0 @@ -package com.twitter.recos.user_video_graph - -import com.twitter.graphjet.bipartite.api.EdgeTypeMask -import com.twitter.recos.util.Action - -/** - * The bit mask is used to encode edge types in the top bits of an integer, - * e.g. favorite, retweet, reply and click. Under current segment configuration, each segment - * stores up to 128M edges. Assuming that each node on one side is unique, each segment - * stores up to 128M unique nodes on one side, which occupies the lower 27 bits of an integer. - * This leaves five bits to encode the edge types, which at max can store 32 edge types. - * The following implementation utilizes the top four bits and leaves one free bit out. - */ -class UserVideoEdgeTypeMask extends EdgeTypeMask { - import UserVideoEdgeTypeMask._ - - override def encode(node: Int, edgeType: Byte): Int = { - if (edgeType < 0 || edgeType > SIZE) { - throw new IllegalArgumentException("encode: Illegal edge type argument " + edgeType) - } else { - node | (edgeType << 28) - } - } - - override def edgeType(node: Int): Byte = { - (node >>> 28).toByte - } - - override def restore(node: Int): Int = { - node & MASK - } -} - -object UserVideoEdgeTypeMask extends Enumeration { - - type UserTweetEdgeTypeMask = Value - - /** - * Byte values corresponding to the action taken on a tweet, which will be encoded in the - * top 4 bits in a tweet Id - * NOTE: THERE CAN ONLY BE UP TO 16 TYPES - */ - val VideoPlayback50: UserTweetEdgeTypeMask = Value(1) - - /** - * Reserve the top four bits of each integer to encode the edge type information. - */ - val MASK: Int = Integer.parseInt("00001111111111111111111111111111", 2) - val SIZE: Int = this.values.size - - /** - * Converts the action byte in the RecosHoseMessage into GraphJet internal byte mapping - */ - def actionTypeToEdgeType(actionByte: Byte): Byte = { - val edgeType = Action(actionByte) match { - case Action.VideoPlayback50 => VideoPlayback50.id - case _ => - throw new IllegalArgumentException("getEdgeType: Illegal edge type argument " + actionByte) - } - edgeType.toByte - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraph.docx b/src/scala/com/twitter/recos/user_video_graph/UserVideoGraph.docx new file mode 100644 index 0000000000000000000000000000000000000000..5aad7e38c6a13f16a861ffb86027f3f8c983e537 GIT binary patch literal 37365 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 LA~1W@^@4Z+CZM{R literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraph.scala b/src/scala/com/twitter/recos/user_video_graph/UserVideoGraph.scala deleted file mode 100644 index f22486ef3..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraph.scala +++ /dev/null @@ -1,73 +0,0 @@ -package com.twitter.recos.user_video_graph - -import com.twitter.finagle.thrift.ClientId -import com.twitter.finagle.tracing.Trace -import com.twitter.finagle.tracing.TraceId -import com.twitter.recos.decider.EndpointLoadShedder -import com.twitter.recos.user_video_graph.thriftscala._ -import com.twitter.util.Duration -import com.twitter.util.Future -import com.twitter.util.Timer -import scala.concurrent.duration.MILLISECONDS -import com.twitter.logging.Logger -import com.twitter.recos.user_tweet_graph.relatedTweetHandlers.ConsumersBasedRelatedTweetsHandler -import com.twitter.recos.user_video_graph.relatedTweetHandlers.ProducerBasedRelatedTweetsHandler -import com.twitter.recos.user_video_graph.relatedTweetHandlers.TweetBasedRelatedTweetsHandler - -object UserVideoGraph { - def traceId: TraceId = Trace.id - def clientId: Option[ClientId] = ClientId.current -} - -class UserVideoGraph( - tweetBasedRelatedTweetsHandler: TweetBasedRelatedTweetsHandler, - producerBasedRelatedTweetsHandler: ProducerBasedRelatedTweetsHandler, - consumersBasedRelatedTweetsHandler: ConsumersBasedRelatedTweetsHandler, - endpointLoadShedder: EndpointLoadShedder -)( - implicit timer: Timer) - extends thriftscala.UserVideoGraph.MethodPerEndpoint { - - private val defaultTimeout: Duration = Duration(50, MILLISECONDS) - private val EmptyResponse = Future.value(RelatedTweetResponse()) - private val log = Logger() - - override def tweetBasedRelatedTweets( - request: TweetBasedRelatedTweetRequest - ): Future[RelatedTweetResponse] = - endpointLoadShedder("videoGraphTweetBasedRelatedTweets") { - tweetBasedRelatedTweetsHandler(request).raiseWithin(defaultTimeout) - }.rescue { - case EndpointLoadShedder.LoadSheddingException => - EmptyResponse - case e => - log.info("user-video-graph_tweetBasedRelatedTweets" + e) - EmptyResponse - } - - override def producerBasedRelatedTweets( - request: ProducerBasedRelatedTweetRequest - ): Future[RelatedTweetResponse] = - endpointLoadShedder("producerBasedRelatedTweets") { - producerBasedRelatedTweetsHandler(request).raiseWithin(defaultTimeout) - }.rescue { - case EndpointLoadShedder.LoadSheddingException => - EmptyResponse - case e => - log.info("user-video-graph_producerBasedRelatedTweets" + e) - EmptyResponse - } - - override def consumersBasedRelatedTweets( - request: ConsumersBasedRelatedTweetRequest - ): Future[RelatedTweetResponse] = - endpointLoadShedder("consumersBasedRelatedTweets") { - consumersBasedRelatedTweetsHandler(request).raiseWithin(defaultTimeout) - }.rescue { - case EndpointLoadShedder.LoadSheddingException => - EmptyResponse - case e => - log.info("user-video-graph_consumersBasedRelatedTweets" + e) - EmptyResponse - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphConfig.docx b/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphConfig.docx new file mode 100644 index 0000000000000000000000000000000000000000..7e4de3b42d0ae3b334ba1328678408dc634ffe6b GIT binary patch literal 37276 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 L!Rf(I-Z=X|Mg{_P literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphEdgeHttpHandler.scala b/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphEdgeHttpHandler.scala deleted file mode 100644 index b2464016c..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphEdgeHttpHandler.scala +++ /dev/null @@ -1,101 +0,0 @@ -package com.twitter.recos.user_video_graph - -import com.twitter.finagle.Service -import com.twitter.finagle.http.Request -import com.twitter.finagle.http.Response -import com.twitter.finagle.http.Status -import com.twitter.finagle.http.Version -import com.twitter.frigate.common.util.HTMLUtil -import com.twitter.graphjet.algorithms.TweetIDMask -import com.twitter.graphjet.bipartite.segment.BipartiteGraphSegment -import com.twitter.graphjet.bipartite.MultiSegmentIterator -import com.twitter.graphjet.bipartite.MultiSegmentPowerLawBipartiteGraph -import com.twitter.logging.Logger -import com.twitter.util.Future -import java.util.Random -import scala.collection.mutable.ListBuffer - -class UserTweetGraphEdgeHttpHandler(graph: MultiSegmentPowerLawBipartiteGraph) - extends Service[Request, Response] { - private val log = Logger("UserTweetGraphEdgeHttpHandler") - private val tweetIDMask = new TweetIDMask() - - def getCardInfo(rightNode: Long): String = { - val bits: Long = rightNode & TweetIDMask.METAMASK - bits match { - case TweetIDMask.PHOTO => "Photo" - case TweetIDMask.PLAYER => "Video" - case TweetIDMask.SUMMARY => "Url" - case TweetIDMask.PROMOTION => "Promotion" - case _ => "Regular" - } - } - - private def getUserEdges(userId: Long): ListBuffer[Edge] = { - val random = new Random() - val iterator = - graph - .getRandomLeftNodeEdges(userId, 10, random).asInstanceOf[MultiSegmentIterator[ - BipartiteGraphSegment - ]] - val tweets = new ListBuffer[Edge]() - if (iterator != null) { - while (iterator.hasNext) { - val rightNode = iterator.nextLong() - val edgeType = iterator.currentEdgeType() - tweets += Edge( - tweetIDMask.restore(rightNode), - UserVideoEdgeTypeMask(edgeType).toString, - getCardInfo(rightNode), - ) - } - } - tweets - } - - def apply(httpRequest: Request): Future[Response] = { - log.info("UserTweetGraphEdgeHttpHandler params: " + httpRequest.getParams()) - val time0 = System.currentTimeMillis - - val tweetId = httpRequest.getLongParam("tweetId") - val queryTweetDegree = graph.getRightNodeDegree(tweetId) - val tweetEdges = getTweetEdges(tweetId) - - val userId = httpRequest.getLongParam("userId") - val queryUserDegree = graph.getLeftNodeDegree(userId) - - val response = Response(Version.Http11, Status.Ok) - val userEdges = getUserEdges(userId) - val elapsed = System.currentTimeMillis - time0 - val comment = ("Please specify \"userId\" or \"tweetId\" param." + - "\n query tweet degree = " + queryTweetDegree + - "\n query user degree = " + queryUserDegree + - "\n done in %d ms
").format(elapsed) - val tweetContent = userEdges.toList - .map { edge => - s"TweetId: ${edge.tweetId},\nAction type: ${edge.actionType},\nCard type: ${edge.cardType}" - .replaceAll("\n", " ") - }.mkString("\n
\n") - - response.setContentString( - HTMLUtil.html.replace("XXXXX", comment + tweetContent + "\n


\n" + tweetEdges.toString())) - Future.value(response) - } - - private def getTweetEdges(tweetId: Long): ListBuffer[Long] = { - val random = new Random() - val iterator = - graph - .getRandomRightNodeEdges(tweetId, 500, random).asInstanceOf[MultiSegmentIterator[ - BipartiteGraphSegment - ]] - val terms = new ListBuffer[Long]() - if (iterator != null) { - while (iterator.hasNext) { terms += iterator.nextLong() } - } - terms.distinct - } - -} - -case class Edge(tweetId: Long, actionType: String, cardType: String) diff --git a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphWriter.docx b/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphWriter.docx new file mode 100644 index 0000000000000000000000000000000000000000..946016494de598080d7e216884e1d7535af39f89 GIT binary patch literal 37940 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphWriter.scala b/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphWriter.scala deleted file mode 100644 index 4909e0386..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/UserVideoGraphWriter.scala +++ /dev/null @@ -1,82 +0,0 @@ -package com.twitter.recos.user_video_graph - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.finatra.kafka.consumers.FinagleKafkaConsumerBuilder -import com.twitter.graphjet.algorithms.TweetIDMask -import com.twitter.graphjet.bipartite.MultiSegmentPowerLawBipartiteGraph -import com.twitter.graphjet.bipartite.segment.BipartiteGraphSegment -import com.twitter.recos.hose.common.UnifiedGraphWriter -import com.twitter.recos.internal.thriftscala.RecosHoseMessage -import com.twitter.recos.serviceapi.Tweetypie._ - -/** - * The class submits a number of $numBootstrapWriters graph writer threads, BufferedEdgeWriter, - * during service startup. One of them is live writer thread, and the other $(numBootstrapWriters - 1) - * are catchup writer threads. All of them consume kafka events from an internal concurrent queue, - * which is populated by kafka reader threads. At bootstrap time, the kafka reader threads look - * back kafka offset from several hours ago and populate the internal concurrent queue. - * Each graph writer thread writes to an individual graph segment separately. - * The $(numBootstrapWriters - 1) catchup writer threads will stop once all events - * between current system time at startup and the time in memcache are processed. - * The live writer thread will continue to write all incoming kafka events. - * It lives through the entire life cycle of recos graph service. - */ -case class UserVideoGraphWriter( - shardId: String, - env: String, - hosename: String, - bufferSize: Int, - kafkaConsumerBuilder: FinagleKafkaConsumerBuilder[String, RecosHoseMessage], - clientId: String, - statsReceiver: StatsReceiver) - extends UnifiedGraphWriter[BipartiteGraphSegment, MultiSegmentPowerLawBipartiteGraph] { - writer => - // The max throughput for each kafka consumer is around 25MB/s - // Use 4 processors for 100MB/s catch-up speed. - val consumerNum: Int = 4 - // Leave 1 Segments to LiveWriter - val catchupWriterNum: Int = RecosConfig.maxNumSegments - 1 - - /** - * Adds a RecosHoseMessage to the graph. used by live writer to insert edges to the - * current segment - */ - override def addEdgeToGraph( - graph: MultiSegmentPowerLawBipartiteGraph, - recosHoseMessage: RecosHoseMessage - ): Unit = { - graph.addEdge( - recosHoseMessage.leftId, - getMetaEdge(recosHoseMessage.rightId, recosHoseMessage.card), - UserVideoEdgeTypeMask.actionTypeToEdgeType(recosHoseMessage.action), - ) - } - - /** - * Adds a RecosHoseMessage to the given segment in the graph. Used by catch up writers to - * insert edges to non-current (old) segments - */ - override def addEdgeToSegment( - segment: BipartiteGraphSegment, - recosHoseMessage: RecosHoseMessage - ): Unit = { - segment.addEdge( - recosHoseMessage.leftId, - getMetaEdge(recosHoseMessage.rightId, recosHoseMessage.card), - UserVideoEdgeTypeMask.actionTypeToEdgeType(recosHoseMessage.action) - ) - } - - private def getMetaEdge(rightId: Long, cardOption: Option[Byte]): Long = { - cardOption - .map { card => - if (isPhotoCard(card)) TweetIDMask.photo(rightId) - else if (isPlayerCard(card)) TweetIDMask.player(rightId) - else if (isSummaryCard(card)) TweetIDMask.summary(rightId) - else if (isPromotionCard(card)) TweetIDMask.promotion(rightId) - else rightId - } - .getOrElse(rightId) - } - -} diff --git a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/BUILD b/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/BUILD deleted file mode 100644 index ad9caf129..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/BUILD +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - sources = ["*.scala"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/graphjet", - "servo/request/src/main/scala", - "src/scala/com/twitter/recos/user_video_graph/store", - "src/scala/com/twitter/recos/user_video_graph/util", - "src/scala/com/twitter/recos/util:recos-util", - "src/thrift/com/twitter/recos/user_video_graph:user_video_graph-scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/BUILD.docx b/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..b8c1754a1de460d19a94ca013d1cf9c9f34eef88 GIT binary patch literal 36813 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 Bxu^gD literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.docx b/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..16ac865fe6c0e749afb9a8002e4a0a7ce2305026 GIT binary patch literal 37751 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 DwuOfn literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.scala b/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.scala deleted file mode 100644 index 44a190e0d..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ConsumersBasedRelatedTweetsHandler.scala +++ /dev/null @@ -1,66 +0,0 @@ -package com.twitter.recos.user_tweet_graph.relatedTweetHandlers - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import com.twitter.recos.user_video_graph.thriftscala._ -import com.twitter.recos.user_video_graph.util.FetchRHSTweetsUtil -import com.twitter.recos.user_video_graph.util.FilterUtil -import com.twitter.recos.user_video_graph.util.GetRelatedTweetCandidatesUtil -import com.twitter.recos.util.Stats._ -import com.twitter.servo.request._ -import com.twitter.util.Duration -import com.twitter.util.Future -import scala.concurrent.duration.HOURS - -/** - * Implementation of the Thrift-defined service interface for consumersTweetBasedRelatedTweets. - * given a list of consumer userIds, find the tweets they co-engaged with (we're treating input userIds as consumers therefore "consumersTweetBasedRelatedTweets" ) - * example use case: given a list of user's contacts in their address book, find tweets those contacts engaged with - */ -class ConsumersBasedRelatedTweetsHandler( - bipartiteGraph: BipartiteGraph, - statsReceiver: StatsReceiver) - extends RequestHandler[ConsumersBasedRelatedTweetRequest, RelatedTweetResponse] { - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - - override def apply(request: ConsumersBasedRelatedTweetRequest): Future[RelatedTweetResponse] = { - trackFutureBlockStats(stats) { - - val maxResults = request.maxResults.getOrElse(200) - val minScore = request.minScore.getOrElse(0.0) - val maxTweetAge = request.maxTweetAgeInHours.getOrElse(48) - val minResultDegree = request.minResultDegree.getOrElse(50) - val minCooccurrence = request.minCooccurrence.getOrElse(3) - val excludeTweetIds = request.excludeTweetIds.getOrElse(Seq.empty).toSet - - val consumerSeedSet = request.consumerSeedSet.distinct.filter { userId => - val userDegree = bipartiteGraph.getLeftNodeDegree(userId) - // constrain to users that have <100 engagements to avoid spammy behavior - userDegree < 100 - } - - val rhsTweetIds = FetchRHSTweetsUtil.fetchRHSTweets( - consumerSeedSet, - bipartiteGraph - ) - - val scorePreFactor = 1000.0 / consumerSeedSet.size - val relatedTweetCandidates = GetRelatedTweetCandidatesUtil.getRelatedTweetCandidates( - rhsTweetIds, - minCooccurrence, - minResultDegree, - scorePreFactor, - bipartiteGraph) - - val relatedTweets = relatedTweetCandidates - .filter(relatedTweet => - FilterUtil.tweetAgeFilter( - relatedTweet.tweetId, - Duration(maxTweetAge, HOURS)) && (relatedTweet.score > minScore) && (!excludeTweetIds - .contains(relatedTweet.tweetId))).take(maxResults) - - stats.stat("response_size").add(relatedTweets.size) - Future.value(RelatedTweetResponse(tweets = relatedTweets)) - } - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.docx b/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/ProducerBasedRelatedTweetsHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..93367b0c3f032d2a2fb857e7951ae48a2995eb6e GIT binary patch literal 37929 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 - val rhsTweetIds = FetchRHSTweetsUtil.fetchRHSTweets( - followers, - bipartiteGraph - ) - - val scorePreFactor = 1000.0 / followers.size - val relatedTweetCandidates = GetRelatedTweetCandidatesUtil.getRelatedTweetCandidates( - rhsTweetIds, - minCooccurrence, - minResultDegree, - scorePreFactor, - bipartiteGraph) - - val relatedTweets = relatedTweetCandidates - .filter { relatedTweet => - FilterUtil.tweetAgeFilter( - relatedTweet.tweetId, - Duration(maxTweetAge, HOURS)) && (relatedTweet.score > minScore) && (!excludeTweetIds - .contains(relatedTweet.tweetId)) - }.take(maxResults) - stats.stat("response_size").add(relatedTweets.size) - RelatedTweetResponse(tweets = relatedTweets) - } - } - } - - private def fetchFollowers( - producerId: Long, - maxNumFollower: Option[Int], - ): Future[Seq[Long]] = { - val query = - UserRecentFollowersStore.Query(producerId, maxNumFollower, None) - - val followersFut = userRecentFollowersStore.get(query) - followersFut.map { followersOpt => - val followers = followersOpt.getOrElse(Seq.empty) - val followerIds = followers.distinct.filter { userId => - val userDegree = bipartiteGraph.getLeftNodeDegree(userId) - // constrain to more active users that have >1 engagement to optimize latency, and <100 engagements to avoid spammy behavior - userDegree > 1 && userDegree < 500 - } - stats.stat("follower_size_after_filter").add(followerIds.size) - followerIds - } - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.docx b/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.docx new file mode 100644 index 0000000000000000000000000000000000000000..0beb7556eac8f22c6a011066f809d8f8b459e2f1 GIT binary patch literal 37889 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.scala b/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.scala deleted file mode 100644 index 7150a2f0f..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/relatedTweetHandlers/TweetBasedRelatedTweetsHandler.scala +++ /dev/null @@ -1,91 +0,0 @@ -package com.twitter.recos.user_video_graph.relatedTweetHandlers - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import com.twitter.recos.features.tweet.thriftscala.GraphFeaturesForQuery -import com.twitter.recos.user_video_graph.thriftscala._ -import com.twitter.recos.user_video_graph.util.FilterUtil -import com.twitter.recos.user_video_graph.util.FetchRHSTweetsUtil -import com.twitter.recos.user_video_graph.util.GetRelatedTweetCandidatesUtil -import com.twitter.recos.user_video_graph.util.GetAllInternalTweetIdsUtil -import com.twitter.recos.user_video_graph.util.SampleLHSUsersUtil -import com.twitter.recos.util.Stats._ -import com.twitter.servo.request._ -import com.twitter.util.Duration -import com.twitter.util.Future -import scala.concurrent.duration.HOURS - -/** - * Implementation of the Thrift-defined service interface for tweetBasedRelatedTweets. - * - */ -class TweetBasedRelatedTweetsHandler(bipartiteGraph: BipartiteGraph, statsReceiver: StatsReceiver) - extends RequestHandler[TweetBasedRelatedTweetRequest, RelatedTweetResponse] { - private val stats = statsReceiver.scope(this.getClass.getSimpleName) - - override def apply(request: TweetBasedRelatedTweetRequest): Future[RelatedTweetResponse] = { - trackFutureBlockStats(stats) { - val internalQueryTweetIds = - GetAllInternalTweetIdsUtil.getAllInternalTweetIds(request.tweetId, bipartiteGraph) - - val response = internalQueryTweetIds match { - case head +: Nil => getRelatedTweets(request, head) - case _ => RelatedTweetResponse() - } - Future.value(response) - } - } - - private def getRelatedTweets( - request: TweetBasedRelatedTweetRequest, - maskedTweetId: Long - ): RelatedTweetResponse = { - - val maxNumSamplesPerNeighbor = request.maxNumSamplesPerNeighbor.getOrElse(100) - val maxResults = request.maxResults.getOrElse(200) - val minScore = request.minScore.getOrElse(0.5) - val maxTweetAge = request.maxTweetAgeInHours.getOrElse(48) - val minResultDegree = request.minResultDegree.getOrElse(50) - val minQueryDegree = request.minQueryDegree.getOrElse(10) - val minCooccurrence = request.minCooccurrence.getOrElse(3) - val excludeTweetIds = request.excludeTweetIds.getOrElse(Seq.empty).toSet - - val queryTweetDegree = bipartiteGraph.getRightNodeDegree(maskedTweetId) - stats.stat("queryTweetDegree").add(queryTweetDegree) - - if (queryTweetDegree < minQueryDegree) { - stats.counter("queryTweetDegreeLessThanMinQueryDegree").incr() - RelatedTweetResponse() - } else { - - val sampledLHSuserIds = - SampleLHSUsersUtil.sampleLHSUsers(maskedTweetId, maxNumSamplesPerNeighbor, bipartiteGraph) - - val rHStweetIds = FetchRHSTweetsUtil.fetchRHSTweets( - sampledLHSuserIds, - bipartiteGraph, - ) - - val scorePreFactor = - queryTweetDegree / math.log(queryTweetDegree) / sampledLHSuserIds.distinct.size - val relatedTweetCandidates = GetRelatedTweetCandidatesUtil.getRelatedTweetCandidates( - rHStweetIds, - minCooccurrence, - minResultDegree, - scorePreFactor, - bipartiteGraph) - - val relatedTweets = relatedTweetCandidates - .filter(relatedTweet => - FilterUtil.tweetAgeFilter( - relatedTweet.tweetId, - Duration(maxTweetAge, HOURS)) && (relatedTweet.score > minScore) && (!excludeTweetIds - .contains(relatedTweet.tweetId))).take(maxResults) - - stats.stat("response_size").add(relatedTweets.size) - RelatedTweetResponse( - tweets = relatedTweets, - queryTweetGraphFeatures = Some(GraphFeaturesForQuery(degree = Some(queryTweetDegree)))) - } - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/store/BUILD b/src/scala/com/twitter/recos/user_video_graph/store/BUILD deleted file mode 100644 index b1c3562b7..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/store/BUILD +++ /dev/null @@ -1,9 +0,0 @@ -scala_library( - sources = ["*.scala"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/storehaus:core", - "src/scala/com/twitter/simclusters_v2/common", - "src/thrift/com/twitter/socialgraph:thrift-scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_video_graph/store/BUILD.docx b/src/scala/com/twitter/recos/user_video_graph/store/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..eb2b1796e3458c824cf3150f9c361f207433e4e6 GIT binary patch literal 36786 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 Q0_7?}hD2cYNa_ah0CiotB>(^b literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/util/FetchRHSTweetsUtil.docx b/src/scala/com/twitter/recos/user_video_graph/util/FetchRHSTweetsUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..9005a537bfe169b275d7e3bcb1c760fe7cb37c24 GIT binary patch literal 37058 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 GfOr6wwl!w} literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/util/FetchRHSTweetsUtil.scala b/src/scala/com/twitter/recos/user_video_graph/util/FetchRHSTweetsUtil.scala deleted file mode 100644 index 63041c1d0..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/util/FetchRHSTweetsUtil.scala +++ /dev/null @@ -1,29 +0,0 @@ -package com.twitter.recos.user_video_graph.util - -import com.twitter.graphjet.bipartite.MultiSegmentIterator -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import com.twitter.graphjet.bipartite.segment.BipartiteGraphSegment -import scala.collection.mutable.ListBuffer - -object FetchRHSTweetsUtil { - // get RHS tweets given LHS users - def fetchRHSTweets( - userIds: Seq[Long], - bipartiteGraph: BipartiteGraph - ): Seq[Long] = { - userIds.distinct - .flatMap { userId => - val tweetIdsIterator = bipartiteGraph - .getLeftNodeEdges(userId).asInstanceOf[MultiSegmentIterator[BipartiteGraphSegment]] - - val tweetIds = new ListBuffer[Long]() - if (tweetIdsIterator != null) { - while (tweetIdsIterator.hasNext) { - val rightNode = tweetIdsIterator.nextLong() - tweetIds += rightNode - } - } - tweetIds.distinct - } - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/util/FilterUtil.docx b/src/scala/com/twitter/recos/user_video_graph/util/FilterUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..9dcdfb574e11ad9694e09d885afbebe60c25dd54 GIT binary patch literal 36924 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 tweetTime > Time.now - maxAge }.getOrElse(false) - // If there's no snowflake timestamp, we have no idea when this tweet happened. - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/util/GetAllInternalTweetIdsUtil.docx b/src/scala/com/twitter/recos/user_video_graph/util/GetAllInternalTweetIdsUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..3e984d05fc770f4568c885b3d05c8ac64db6893a GIT binary patch literal 37086 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 bq%4NoIt=h;1?C`7t`cNO1ZI!)9uN-zL~%Kl literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/util/GetAllInternalTweetIdsUtil.scala b/src/scala/com/twitter/recos/user_video_graph/util/GetAllInternalTweetIdsUtil.scala deleted file mode 100644 index 8628f3a10..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/util/GetAllInternalTweetIdsUtil.scala +++ /dev/null @@ -1,33 +0,0 @@ -package com.twitter.recos.user_video_graph.util - -import com.twitter.graphjet.algorithms.TweetIDMask -import com.twitter.graphjet.bipartite.api.BipartiteGraph - -object GetAllInternalTweetIdsUtil { - - def getAllInternalTweetIds(tweetId: Long, bipartiteGraph: BipartiteGraph): Seq[Long] = { - val internalTweetIds = getAllMasks(tweetId) - sortByDegrees(internalTweetIds, bipartiteGraph) - } - - private def getAllMasks(tweetId: Long): Seq[Long] = { - Seq( - tweetId, - TweetIDMask.summary(tweetId), - TweetIDMask.photo(tweetId), - TweetIDMask.player(tweetId), - TweetIDMask.promotion(tweetId) - ) - } - - private def sortByDegrees( - encodedTweetIds: Seq[Long], - bipartiteGraph: BipartiteGraph - ): Seq[Long] = { - encodedTweetIds - .map { encodedTweetId => (encodedTweetId, bipartiteGraph.getRightNodeDegree(encodedTweetId)) } - .filter { case (_, degree) => degree > 0 } // keep only tweetds with positive degree - .sortBy { case (_, degree) => -degree } // sort by degree in descending order - .map { case (encodedTweetId, _) => encodedTweetId } - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/util/GetRelatedTweetCandidatesUtil.docx b/src/scala/com/twitter/recos/user_video_graph/util/GetRelatedTweetCandidatesUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..ab935759908f106a0d02c93c8aaef005cdaa83e7 GIT binary patch literal 37570 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 Un-!RYK)FhgArY88y!${r00nt2-2eap literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/util/GetRelatedTweetCandidatesUtil.scala b/src/scala/com/twitter/recos/user_video_graph/util/GetRelatedTweetCandidatesUtil.scala deleted file mode 100644 index 176e129db..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/util/GetRelatedTweetCandidatesUtil.scala +++ /dev/null @@ -1,56 +0,0 @@ -package com.twitter.recos.user_video_graph.util - -import com.twitter.graphjet.bipartite.api.BipartiteGraph -import com.twitter.recos.user_video_graph.thriftscala._ -import com.twitter.recos.features.tweet.thriftscala.GraphFeaturesForTweet -import com.twitter.graphjet.algorithms.TweetIDMask - -object GetRelatedTweetCandidatesUtil { - private val tweetIDMask = new TweetIDMask - - /** - * calculate scores for each RHS tweet that we get back - * for tweetBasedRelatedTweet, scorePreFactor = queryTweetDegree / log(queryTweetDegree) / LHSuserSize - * and the final score will be a log-cosine score - * for non-tweetBasedRelatedTweet, We don't have a query tweet, to keep scoring function consistent, - * scorePreFactor = 1000.0 / LHSuserSize (queryTweetDegree's average is ~10k, 1000 ~= 10k/log(10k)) - * Though scorePreFactor is applied for all results within a request, it's still useful to make score comparable across requests, - * so we can have a unifed min_score and help with downstream score normalization - * **/ - def getRelatedTweetCandidates( - relatedTweetCandidates: Seq[Long], - minCooccurrence: Int, - minResultDegree: Int, - scorePreFactor: Double, - bipartiteGraph: BipartiteGraph - ): Seq[RelatedTweet] = { - relatedTweetCandidates - .groupBy(tweetId => tweetId) - .filterKeys(tweetId => bipartiteGraph.getRightNodeDegree(tweetId) > minResultDegree) - .mapValues(_.size) - .filter { case (_, cooccurrence) => cooccurrence >= minCooccurrence } - .toSeq - .map { - case (relatedTweetId, cooccurrence) => - val relatedTweetDegree = bipartiteGraph.getRightNodeDegree(relatedTweetId) - - val score = scorePreFactor * cooccurrence / math.log(relatedTweetDegree) - toRelatedTweet(relatedTweetId, score, relatedTweetDegree, cooccurrence) - } - .sortBy(-_.score) - } - - def toRelatedTweet( - relatedTweetId: Long, - score: Double, - relatedTweetDegree: Int, - cooccurrence: Int - ): RelatedTweet = { - RelatedTweet( - tweetId = tweetIDMask.restore(relatedTweetId), - score = score, - relatedTweetGraphFeatures = Some( - GraphFeaturesForTweet(cooccurrence = Some(cooccurrence), degree = Some(relatedTweetDegree))) - ) - } -} diff --git a/src/scala/com/twitter/recos/user_video_graph/util/SampleLHSUsersUtil.docx b/src/scala/com/twitter/recos/user_video_graph/util/SampleLHSUsersUtil.docx new file mode 100644 index 0000000000000000000000000000000000000000..e03440b417dba0f5e6c0375d057ce455b0162e23 GIT binary patch literal 37179 zcmagEWmsIvwm*!!dvJGmcL)S`m!Lr#2@Z`1cMIG#>3r)xx+Wa4@hj7%(tQP^+E$S+r}gXr8QBsFJ~{<$t=R8UJ|I-WxEcv4vca5lGW)qygJJ)C-M*vcN6?! z8nenFFwAiosdqlaYjr|h-c8hc5|Sqd1{qrUQgLLmOEP;z^Mf!o zEg9bLrn$jc_iFn2jWB}G#B+25lC&SdqG>8)G%-kqg5gw!#-Ky1^JjT-J188~RgXq! z_830xk14ypO!&HyKS=mVWxXsjQ)_10q$9NX^L`C8KG%@`V%!iv;9ToE$x!cPso_|+ z)?0|;K7gX6^@Mme!lSK+f@+Cc~!= zU7cukAFHE48GO$>36zZEo&Y+UdNPAVm^Ai|m`d-UyZ*a7y22Pr;fLi=!@K!81-l6i zzY)|gTpA*^s_kMi$)g;6Ja3Li668KNIYD|We3FVj9g;>uwEm(4UiTL$PX`~NSMlzV z{HyL{o;!>7UDg8fOywDq>GWQbhziiV<32ulJt7vDzmpX1eO@Zw*cTbQBhP!nQZNKl z{znx(sO3cOLDk!Y00Tn=eHuBL+d8u_|GrknPkw-8L-RWmmKvcdwr|pqELbs={Gm`F z-1Bwfw8$PPQ?%OEsUm5hjnhkfc(!M1v6!Auu*^_o8>nTXvk;KG)T_NkchS&pv<{aH z-{DW@uD%lS`5()3xz*iZB*)&X5DRnd$Mm$v{#))DhsLiTVvx-7Oe z1E=k=UHOw<`33WjKnW!^LwCw+n8^-|0ba`n!Q$DLz4r%9loXR%o>LYsn}I664%5WH zSZh6^_aC|UHNZgsfSvaB&_UoDn&iYf96g^*MQc&Mn&*R)BwI#plSWkosJ`zGr7Nl%C zn}PgdC_lwO9T(^PmnpK$7S*EMAL4503M*eUMdNAPD3D3_vFLvK`xA#HP{h}xmo^s> zgJqzXCK% z>;0gy>OqD%Z4C@N;fd=5G!iN}hp0-bs#}XD`*!$=vyJMtlwmg^%Mkd?#JlSY zE4K7RS*&8Q3@F()nQx3;lX*Ytec#@{zFQ__xaYZm!aK4=F{GPwlX!jZyCnE$U9Q*G zaF0QCv4sKyL;HJOJ~}x3Q5N-a`!!ayjwc2vgU{hsuwp8B@d1lsvl1KlHSrnE^JC;6 z;-FgDc7Z+*q1b$1SZ=}u>II$}#-5hMEMOZHKWSi(Kje)lJ8mE}R)-HCtW6%0J42O0 zmtt!Uq8m6GO^;PBz%apoPSsMb8uKErH<`E~hIMdOVwnECiXyt%;8oPF=-@r`Y%VJG z%eD4?;5QO*^`58x&epLcimnb%&DHYSVb_{U!i-#8}q4E+^8$A5-`_n;Y4Q8UK72!%7 zI;GFltguw=cuo0-UFHfhp{gMo%4DJ^6A}UjQ@T^F!$XNBT?0kEDC}%5d~{c;onT-q z_&$IJI?+Z5Px-y8?k>sQC;S&Q<_kNv!|ewbA;cp$7+zpYJv?#B3B2vgXyiDte~ax_ zN|NxT))u8eNCvKkm#tD<%D|eeNTJgE&W?1JXBOgf`1FS>g13d6UnKv$F^o%fwBLhn ziX!Ykf3R)k%uhzv5v^f2~GX}K{)b_Zse9o$suV!L@nh1#2&r_|W28(k*CX$^G zunL6x*hP%QGmNrX6~A?Ay~>C;oB3_q5u3;+Pw}-G)%jfiWZO4G`M^QB;2J(~l{iB&1|ou~>gGi@J$KbqUZvE5mpo^r1+L}?#-5B@5+KWWx# zWlz=6#mO))C#fl?Xq}L9sSiyEEtiX#T>0x(ld~h0lazp`qiKcwn8fz*8dD0fqXNu` zT%-c0utT-$UF}(C4+V}%>n;^WmJ|1f#lUL!bgRWE0)XWj2i28r@KBQkLBt9MB4V#i zjWtOnKmkBw5kG^3NsIjK$XJl479BpbJ0NXl8MI(U-yhs*vA>m6mlEQK^_p?{(UP8R zd1E%Ny+i9YRYf}RU6g+g%rMpjo^o`6s5Q+}PS=DE+@)N_r)1vNkLwU$F{Cw&tMfi@ z)fB~#ev_xak~F6~0*~Y{f2Z-~oddIz{W6qE`ghX|i753oIv}#Z94rHcHwS`7ovv^NKl9PF*2!L6b&e}#a|IKB#g^D5)OujTAimF9x~pe+x{GHexIEo zoI}l?Yc;g<+&s!u^rcIRA+~$77pzJ89v>53jbF`g+4)B#oTEXWoV1CWBOwNv#0(S0 z7qo@QNn$r$GYY8kZKS?*h@MD^>>2)$_PHHpx`s3n!yT-UY^%s+5N z=I)2S(wD6vmnpDq2-o`ss8esIGB)_n!#fq8ceH+_(`TJZJ-s0;8}92;f=rq)Z&E zpmKKH4yC$LU%r)*^gc3*icabb(KH-J$xvI7`Sdc0uze(j_&6F_#-u1F1=S*MEh%-c z8`_IMmMGR7N1tSm^V4V$seT&s2o?svC2fmKDtBmB7G=|X_ENH-zc%FTDDmP3DW;dV>Jm&L+(W!n0i82C5NVqNRHj$3lmyZ;Tzpu7YRR?&nvp zR>kkyR9$BX+yh_sEF1zN#%5mv#e9{!ep+69SL)D15_swCgq)s|uX&jxYud2xgKiX* zw%`TMylDrl4CiRz7UHK?J#rgsbwYiDD>>LRgeQ@;T5NN)AG22oskX&`Zv(r`x9>n3 z$T27$F$ty5hM6<=;;%(eQYXDqA#Bi6&Qg)@`(OJgdp`mUcF=M(4w`ugLCet}v(BHJ zslU%Xe{QT2#gqbB@xGkBBJ>3(U=`U%y!(|$-A*rEUFaPwy&8WjvA?CaVa6!2>%Vu$ z?UPMoH#d2!wzw&P$I$R0fHx8X6>Bb7*&IXA5;f(xr(Q-w%%+kQp1-D-yK`AkTw(U4 zHtAEv;fF+pXN1~Ts)0HL%EnxK(N^rLsDdBTYVlv{cyu9jBxmElehkUZ`s~?Gelc0q za@kp7vn{fb=G?ojSg#q-hYnS{ykKlV!9``fdv-W;b8klI`vPl-V9~HZC{eWU|E!=N zg<%Axd6xm%&v9>THMVE5XbL9j)-91D!CqLCp|%5gSgvg$7WHI3`ACb0=%DC41W1+tDuNeNMGOiP}R`I7fy-r6>US%9k~hRMa})BT4b zDf>I)YsbyyFXP9T4Ib;ZJjEg;6}>&3N?-UwBkSI-t?G5Xo)*@|J>9}Z-W;?6{pfe? zdshcH?(a^@M?M+dg%mIK0~>{j`z?VhS;JmB_O44GzbJmpNtryV5jhpfe8mx#cY1%J zyfYjUcyGkA_5>2;w&lBdf;v8Y^0?u{JM$tUJ}GpfwF%mD+IjIy`w|0%DSfGZ2j38H z+vhG$kKM-itm_}}J|M%ouLPNPW}if-KbC+%FsSqBJ^a-W&4xIzKxOQC+pI8mjAQ-AYgayp01M{{ilCo)AB=>0$h?PN2 zy$m8MH2~1J1ICvD>vwMk_Y*S9u)_9=YcA#x`1D0>lqXv+9fFJ^B+1p&ZnNvUv8wES zA234c!}?>=y2um^YCTt!!i=1#g1z znMJwA$hzdSI$6vI85Nll4An%A@*u{2ECw<;rlk*X@rrHT6~0@9EccpY9m80Q6&-Bp z`QR$H7un4(rTAZU!x>+nHmo`Ys?G)qR>Eu8IJRV$we5Bj&grXz#1+{EfJg1aj6!wT|H6Gd3F05EF-1kkwHhyiElF*Wn%26GcuPpWxPr*71APznco2B^st&+q*Cgv-l--7f8E^HC=qp9>9Hde050{+mm`e zAV~SA&?Lr|v^2SQZTYrh>Mh$j6H02&A2_zJ43FEsGDZq9>m@&*4Q@Q$xU?GB4|<6` z_b*Mj=6+gsztX!On#-=tSwS&IRU5Lx{hM9^|f~+ zZb;>pUcKKbX?^qP#C^4UAUgRjC-K`QHE;K4H?>bwD5E%`$7K!fkWj<)8aO+pMvLhI zFRugVMM{U`?3X=P$JGHFoG+Ym{mSzFsxV_?CVQVWQ@a8_qPr^ zS9LJ7B566H>yI9^#Yg@8(3D$c=F*>pl{v7(9~StNGTJX;T_(Lr*!1{_BmK&E?K}s4 zDNy<=G3U`2SiVPhe79r!4iAOTa}nhd=b4mg6>bz; z=cjdK7N@9la!a(AgU%mVN4p0SBs?nb^ZC9YDzq?j_I}Ql<5^0(Kt`SxkI$LrzC*UOCEYFq?W-_;PKfH_YeKmUyFg}%_s zFPa`zE$k*I^mfZC$OGt@HfASL=Z%fu2lGu4hfX-fRTu=BZzZpp9W1~kSgu?1qR<2c zFy{$0wd7IBnQC#y@I`)E%$n4}G^gdMFm za{)Gw5%GQ=v1?lm1?23qlrY zT1jfe@w|PEdZ%jC4b;Bew;BZ>siD!bA^u~L6&l7_f@F?!IVdg<3CGfvlhQKW^jhLv zZw;L&f8Wewdyauv6=yv1CBnLCgFFRBlAR?YdT%Hlv1htOK4*vnIc$KeQu?ijdH0zx{p>Jp}s5>yPDwj%KiKDo#zwqtz_s~+RFQz{{9~@ixf2H1( zr~F7Fk7)yf1(&cl^e%%D(vh|uy93TXWz;Zl5`5_&*CJSVi)1khIp6%a0$IFEggM0g zeL}$2Qr)pwk++@t;o^B7+lWQ7Q*09@ougC{A637KQt}#MrUqv_$>FYo;rj~>5W8^E z?Mj92DC@S8dtnr%<7$@KqcF2tvyddNdUQ8#%w#@(l{b^N=DR=`Xzeg$4nJ~jrZKfv zT3A!1-e#DDlQO?0J#cZ+ncgFbDwTyV0ky4EVw})*0Mge zK&ZIzHiLY{c@^5rx@9LqAr@!U_O6`gPpURQ-ce%UOUufs zy0(&eO)*NZkTF$NJQ^=G7Was4sP$|v+bH1OtdtVn{fN5b%X%wAu@l0x=(Q-c&*M+E zAgt>XC z0;^K0qU3m6)UV#`XwJ1dVr^Cm-LZeU6(QGu*@5tFazclH#QuE>DcMZ}3mrE}YLR1@ zC{IMXY97OEDwI^FWc9!>HmgRwy?3w2qssmrJsuPCcYf0e(38&1&a=Vi^>_IYb||W! zu9_w}f2M;!R?tqF`#yeiguLFFWNsLE>|7o84fJ`=%>gE?C1OF+37gaM)dtmKQMu${ zaAvH3c#gzW3>i;j?ycrw!R1)fBB|Od$mg)2@BY<2mC{~}n%-UY_|9;T1Nfd-@Qnx$ zU3iDrX0W+smtczuhKr5WzUcA6;bo?Ha>pGZ%4_=bAmY!d+iwu}ROOtB>&q+9nxjb? zm07V_5U%NVcBgT24_Yd%`dRI-dZ&*P(j=(3OhN_7qin~nvYIDZ8hggbXGdLqFnPoQ zob#q%Z$r8(Q4fLKPIzxR7}@Qlehkk!$7tMhmuZc)1EMrp!4tC0!6*Dx7J3p1Z4qO zvjjH9!jPS{JilzBH-}E=>u`TTnYqDtDjZ%td>Zpoc7UiROrA-PcJA=w$(g)>sDtZ_ zGl%a?g;dnvx|5c7FtMz<#p(P=FN5BRJ-uv^$8+nymX_bFvMoQ%;R?}~^qt>tlNxd< zRi^_Mn&y1$BYfvi-eE*{$W=lX(uf%X9S}C#_5fl>n8?QfOd99L>L17&V&OmRD8Fn< zQ|Iw`@j4bcgK+#0QF3@Jh4mQqHvX&{XtASu9u_XXiVLv9DHwOLGyxR8*QF5A%1zm^~i(Gc#JDjw|0sK=J5SxD7 z!-yl~*V4&U*A_^;@PbUIczBqz$V6D3us?`0ZLzpBey_}5mS{AdnU>Swx)7AI~6KvIgrj)h-Y@ypuY z#dty zq_S05pgWX%FpmoPBvDh!aBt#IVr`29JUu$2zLnr^E{7^tTl->krW5#gWa(17px+!+ zq}e^pTF%RXvtXSEd0L^&_7@&Wb(#rKu9fB(8Y-1=9tHCRk>=Nlrp=lapi%Q=Sy6&aqklxkxrHV3h z(W1ZOSh_-Wncq@=PesZMON-hIbmNx}B-Bcu9F{3OJ2gsv+aTGT7Qd3ruaJmj6R=PI ziTm9X@$xPd?J`0d*;?H_eHh^9s<jnNtJ4UP2=ovLF%0ht=b5v^iK*Z7G{cq1xtD7Q9sQD2loI9l z^6w)P5c#1inNLm%ZIsX}N)!1BL=_N8;@&iTnw8pFW`!R6ZyqShfAJ{p$>M_V6kjN# z*BCn=4Y9D&m%!12EG2&XDW-nS%GcH^C2G*8S9zpz*vqI6rOpU(golcSq7F5G{`$oB z&I-qS6$gCOHNGiMWNRjeCY#+n_i;d6a|C5b&#ND6gf@UeM{_sL3KlONj=NlM)#){o5P@QKN!XPc*L3M3lWfx^l|7X1OO^ zFby{N8r}byP1+HttTXq(NtWE3BcY)o76j?e779!S&*)l2q5{xbaa~OGCDx!QeMyKn^AP9aYh_d=O%51Q z9lBaE?iH%Qu-WyK@s}q;HBQ( zfu3lG6dXy$A_m4UUP!*8L2ZA{kd1MAmSiW#YvsO)ZiqMLI+0>$#LeeaU|ka6wMZ)A)H`2 z%wv8XaYT^4=joXZ8~ow5YpTX5UCja8XvQ{}f9B2z0|XpNYI6?#)s`&KKv%jf4 zkp8VwjidpjvLE)hN+|H!uO`E-KfPHG%p`E_5d3ApU7jFE{2SgNL;Z7uW2rk03a zY_c6}kki6qaM4cyrkzvI0%SF1x-r0KT&~}JM#)=yIbB58SLMGb;y4#qbTq0CH=W#u zI$5Po$wRJTx`A09;109HSo@{>AzsJU+z``bH(h&(rpqd0bY?FJ&yuN(YDzYvevLGc zw;0%_b&#=OWLwtEKm%$_;I&**jUO5G*e;b-n$t?sYpVGVa|(ry1)C|k=a9?kBYs_r*u3V0t#)l zS)yhuGdgaI==Tc!<6&!~oAIq(q$4|61y5E#1kK8IopFxkakTNr&Eb!z38kv&;`#lD z1FQT<3!6F?*5cw7LoQE3n5oadYES$7WKY|qqWECzZVW*a`y><0ECA(8))}i$WmEmZ zYKsc#L5X#u?-22k!6kgqc0jCt@y7RD)k@coy#{=Y;OPDSp|Qd3$Wp73nZo_(kT=mV zvVv=f-q|_}^T>%gn`QWnJGZJ+eHiW(<^fbKHIz${Y?u)^f&&a8RN5xIjOcX^%^zjc zYv(MrO>#D8jX_)SdLb`0t6S@*8mJr11!MT;4GWy)9xpo##@=A6R-i$ucEb*tAs=He zM*qjK-_&w{P-B3oVdZ}Bz9(8Y7m<^V|Dbj?8wXJfaQ{jDjS4dY<^Q0*=o*0U2+KCw z^lp9MX$*fKggTeI58ub{}1w6W7+M8=#;H>r@zSijAb8G zweAtLnpLpA^?m*Z`$MfYj-}JcaI4e5Rp`EfqYWXG=&kL?*oVBE`=#BlokdW^1y79H zDB(Y&0JVujKFc{`^s9WDbNRjsotc$K7j8`lv5b~wn{!~gDkqKdN<=Ph{cBo{ov222 zX)|0m1#Lp54ivVL%M*+u$Bm5=_)xBo8w`D< z*3>q@y^m^{-{sj)!?LU-r=e^u%MJ)=K7CWucyF-j5WWaB!kCoReL)~kgUPePHu_q6 z_k}EN5j>50W?c+;YEy0s1$TYj?iMY^sj&DwBvH(7m1ee%sW2B>1iw6`KFOmvS5RCQ z-PW7VR*CYonO zlw$=k+5P>ntBF6{UsS2viveG9&TJAO__-{hNOnkQmNV*8n%{~1g7+S$f@j%L$vA=H z-0In0DW5{Qk(lJ1C}(9yN?GBiT+%09*iUJq9Fjc&Z^`_OeXgF@ZA%sZ@~C@PG&=Y< zuq&@Qvp-D!NURtphvJ}x%CKy>;?b81II&>Q8tu(kc&m6Jp8mUS8?$ZM&j1}qtDZCx4W zkOhW=X3s&qv0JmNiVs^xADtfDfz~rBd=L`7I zXaFoY=(057Y%+h(Im+VP1DVC4J;ve!qT`8nC)k9g-dK>tnR`@kq6XGQ z9`g4x2{q!+IR_aEz5@+H>-df4E>;Pv8*=d*jm6;>W^#x_Yk7Qi0I{UG>6!}dl1psNISrADZ_BTL*GEN&~oklWHt2j zK-z)6Z8pd{oW$ufT%?bP7v=s6iq97H?^$_L?wE8GW++D_%dqj3BZt9%7h6}7Vl zcOo?)1#L6j!I@<+SVjooWS~*LWF+A{bRzNaRQpj9!P6rHJY4KcUm~lQbG&}4SHDU?f5Y^ zF;Ynfb=d)x6K@|s+$cc1`Umiucl~bpM!lAViiO2Z2uMM90|B9^eEJ!eNm-x{YLRHA`+Y%Xz(UdC;H3@DA!Vrt_6&w*;qPKQm@r z-Q;}Q1uoiA&IM?`A|0;#G>LwpVWlk*Qo5;$1qv?Y_u-$1Ml-BA7F(}pIdtMQO*Qx4 zcJv@DBVLA{p>I)i6-S|mp5-nNraw_kg_CdK89mu?>i`e*lj`bd7y%wCBGnzZX~P zbcAQ?Mq%w9H0E^RMYk49&F;y`k)~hh7k?~Lk3q0WAm^{L)k-XL^y+)o{S@#G;tG+v z>(HxDNp@ly%t3CVIzpQCAjA}RJl)IrqG6N#%BEW^p8rZsif-F+r_g`(HxC0q%)GQY zhx}j({D3EO`jBGE(3N29843ovv899<=i6+ar@A&I;;f_jlZJZK8t%c8w?H}f*Dc!b zz+VV7$8=#2sbKbD4=yus1JBC8FmBM!mkXIKbOCV>jax^GnGdCTSm!P0Qaz0}8=nuf zHsxnj0n{=R)sPbac8AP)`#Jd_e&qvD@`4`Vkr0i65cvULv(H=NC#s#+vsk-v@G+Zu zpBY8qma!EV)iAC&z}7LYj`Pq%A9h%~<8be7ji=?0nb^B;)04|ML^Kj1h;e_B-uy|0 zv#1I{1SJ7-Vmfsi2Qh^xmxA^R6A!Cly4q8FM7aA%<>S+{u9fLi&tnAM zdPm4zpd9!;K<||vJCM%@vy1qPi6IY{hXh~aRuf|{D(ZjMUpd{;*t-pSXq;i}h&p?I z?%7G~(fRLEO=o-lQpM${Y#w=D6_FABD}N5Kr3S}E?A@0yKIe8ma~7dlDh+ft>jRz6 zi_j`GwfI2qlrYH( z!ACa_@RvdX7E^#_svZA)EVGxKBWeY@Fy(1%RZmLEJnaVC zBj%Nsm(guN8x$!CmMIo2#BqPuspN1^tZfXC3MEFV_yM1}Xj-1VC_yFs0Zo1P*gdQ| ziNo=;*y91L5cUIF(e?T$<_ca8dv@0*U@UQo;ILRcyEIt%ny{oASGg2*VOjkbhs&di z3&o@&2gR0k=A>KoddSh9HFWo-#H#I$#A?a*d%6GwAQ8)bqZ3vdv-{R_PH_N9UqP0D z11$lh`uW__lS1mH=iamWIY;AmNEYPH4FvstE`B-!ut-s4jOgn%|3JKVxeNDJX8=iA zOgZ*5{q1R4_M|Md$Om-w^JCB6>L^TBm)@t}f}hc-Z`S#oL4pJRBRC+t6k6m@!M(o) zpZ^wIMR4rm%J!gnY}@4pEuv1M#c-cQGHP2+GAjQUuzPQHQee!#fR)=mn?>VJ4uN4m zU*7=LiaIuVMX;acneKBBMSVK`5P&5^MIfTNm@)z@S2Ll107nfV08iKs1??;i9(C`bZ#ZmRr5@NTGbGNKlqf5SaLwFYfHB+ zkFN9A`vKphyj?fG4ic4YFNtj(d4l{5FCYM`w0oxu14uy96hJ94?btN#WjXf_xk83H zZgHl+|A~FAelGEKKJa4RW%+ryFd%#AU&Z`ibK{!-U^1jbJGP4g%5M(9rE?opQFdq% zfXDqM=qL=m`a>S>>8_SvaOXu%YM&uH0mJln0k5%EMhBJMT;dh3=r^?P)qdk?yehAr^k!A;PT990YV>p7AdR58aapcHwmqd z!p0yqux)`3U=`r|Uyf#H6*M49l)E+H#nwmfjwOUIyS$r$@OA;)P`zwZBUEULq#Y5Y z>rTIV%vsn;@it+Qnm1Hf%>h^Bq?_V?oW?P)q8CMpD~PPo5==+OdQ0u9Rww|1I}G`xoOV!z+@OGP`9@or-OH-Mwk zZ-Aq)KL8x=+yeHXhTGwWPkM->m$%&cD>4)vIxGSsAuRc`!U%%4TP|*Ypb`Q;q;~r4 zwT!9z?G5(hAvh3vqe1pw2=_YfY*zfGKre81fXErbZ`&QwW;g`Xk{_1`uGewzWR`?? zGm+g3eAqFm6l^%6G9J-^aGg5!Px?d7zvzoiEd{rsLFNy3S^(`4;Oz&4oc|q82RXcV z|8k9kN=WSof#2N$bn}43iZF_mMbs9Am5EPGlBQ(JbtpVNYwe65RV(C{OD=TV%)u_B ze_y#RCRgNn{P7iHLeYt9D+-v3Mdov|-r~Z`71dQbVB5YiTrcd| zgjjCG64b-CHpzgi02ZnIaGnd}S*%d}t<56yd?wQK7*hWzp?BXzx|)e+2of*F(LV5J zlU?pBC32w{rBa6p<{O-1AoKZi2nGaI?IrIcc87|nfmL&~1N2fWGzD+mVTGXNE}w0uRr{DdxV1Y5fr ztRtHSbF!Mf{f8F)s+1@$W8+;@ejUiDxJjCbU>2w96X&`WcVhRh^GXbc1WWV5p&~&| zm@~kKiU}x9YS4O_G@7T}pc0m3H8B$hko-dw)zA|K0^Omi~$l znPS7!kyb(~5lPA~&1k4!b+{y|aD_!bD8#*Ks@U?Tm zfEW{!psxlaofY|yHN%p^YU+MSQVU~87zKZ;9-p$$Gs+asDZMD#YE%>~9Oluf%xNwK zOxxam?py!Xu00=_sU)%pC@W4M&frPFh0h+hcG%A)Te>-AA#@_bXgrmQPr03jfF9#@-MdJCA*Phk8mc+K_BB|5bDo~e* zDvRNkY(IAKU`%P)i9`G1API3pnr>QWD(4mytK!r55YVHm|A1Bh)FrF9mD9JJ%}f|Z z?bav}ypC+1Bc6*&AqE|QkR}Sva!#F*=>!r%ua4&dZYctNrFk5LKouqYO&NT1KQKp} zB}W`Fli(2s8^XpGb-6f^RcmAk1>1>7y(=s*2SN7p?xxzvh-L<^D{KK*hB^UT?ULjlHPV0 zTk(|i-F*nDX_~5TvXJxqgZWXfc_{YDeVVLQFSQ?6C7+^5r~`j!&AfqiV$Jk`?M8{` zir!d^{4h95Cxa(I<1WD@D6zw}MkSg6O;6MIs&hKt%5NMtL1?yaSn^VY^@w=6{vlEl z@bwphlzV-K%hZaXXH=;If{gWht*WhY{eltw@nWZd;namgkxJ@ilEDR6jLx*&N& z{pY!TV~>D2J}xjY=V}-*{C}R?*RuNjNy@^)-1PIGNBDgVQu3wiPM#jH8;=H+vXa5b zM#p`oFd&8u$M-H$Z|{Z6%jXT!s^X76&^Lol@r!2rVT{Dcj0BwkztV}mi*4m_9!3eh zfAxKJ_vm`^Y2B#gKEB&RdgH!7ux|w}3sx;=Z~0!G8SMdRw$@K>BX0I~J?ag+-VUbs zPt)HX&fXqhkKNi|vZu#43@)E;PTQ-iQP0k@Z$U@OQ+k~zOz$* z`pv1;jpqr^%3^$i(xEgx3GY>nkx@w2YEH=7;L>;BD&))c*S(APEYrgR)%K3O+jwye zVdE_B_GEx7ZyKF*pQPh7+e4t{@me>42T;AVsA*mK((>wL#h?Qtxym1&M-?k<(@nvLz@ z6|U*Wx*UshYFXs% zqPqF>1PBz51(yn!QRJn;1pSo?`H1E@!>5i`Pla?Ic90^jez9ft#mMC za?R7%J4X&y=!`gDggCkSXI_SWonb-$v-4y5;WbTrWUT}Np!}GL2o+171m*Rueq*OK ze@tG83HN7}4^KrSH&w#{D*-NGn96#X!rD@DK3Zvh>T5|Ryo!L@pzCdV2!(3BU5i>) z_J(NmnI#Y0-qQ+l&OOjIkfbYnqbC^D^kW;;ga>NkxV;ha(k6WEdf1Uc;_9xtogQDk zv6HFI$hu8!H^NyPJUrRG`N_Nw%~N!g_HcgdIPEqk5s>~`vt_S(t7kgy2xlwBQmquR zVXXy-GT{X(=xlCmHJ134y-5=~~+c!<~OsAg| zH(Q=+m^1Pmvbf$8OWUs+MLJY6nYQv}>jj-zprVFJj6s?&ENJ&69@Q}#hg9&AEf23vu@1pofo=~zd9MSp7~16LDL0@879!TiH)Iqlj>L5JO||=b(7&R8 z4|1Qh11Bsh`Hj->8~zWJzYq93%KxqckEmOSG zlC%nO#Doq24TA>_v-xXS55OLAn^mguH_iqGFVeT)IDa4TH_tWF4bby?{VbDhjchZB5<~G?l-^M3_~)wla6_++4=^{2V=8cpQKDzH|w_swVXyWiBDTVe{= zsl&~IT{ckiVeV`?MWA(E{FGvBeW`LQ#b>SUUTLto^5^I`fSxnx`E@Ogc*=JzE!y-n z#^dyYkGh>xVcrh##$*RCF?6Wi65QSY&-VMAtzITU_X2RK-Sc+!CS(#>D$MX^h z#;#?(zdk|LQ$QU&KU#u~C}qPs2Y4@&#d=+s;RTtKviLU`p;%?(e6!~&Fo=qEeS)$o z2E-Qm7i%FaDNzUtk+~bnT3M1FuOhE#oT74U3zmJklA*|W?-NpQDV*V4^I4EbIDC%q zmpkDc#6mSpSv7hIaLb>coup*l#-^NX2d;ok@ribX_cN(_QM{O7u)b`q+TQ- zss<(4QLz0})uKzsi*G}a)FvL3(w|@U_%l6>lzO}N5(HmsN042dR=gjcpJSwi)AxZ_x-WBkV|C9BB8J?A@@34= zEh}d{EQCz|kFd7@j$_HXgvHFv%*nu$v)Yso>9zniO~yyC;cTc@^0&>iYKYZdzm=-NI0@ zC0VfVOux(^pM+iL8F4dQwoDaQIC~K~J5+OK+sxRTy1}TRume7s6F5)td>WDajVdA% z)b*CtM!F26}}Xbw$^(#DTd?msTplG7un^=>T<*bPCy^3eI09wZMe-ZoV` z@vf-`q}Ugm$OQuTfi-|fYxfHa?T2iYxK9=Q&0 zPfln+MjxkFuxX6`po;p?ow2JLGD3u~rt_>$w*db<@${}+otxvqy(<3f*Ug$?Z%Sj5 zvvYx%^l5*F8P)aeQAg?Ui;MQyluD0? zsx!Wq5^>svtUi=&Xve;LyPFjkh$>)fE@u~}bT(Q~5Z7AzOz^AhWT&8KXAnK=T+dg~ z`kv2^ly+&y#^_wkdn`Oyzp0}^^17ZKp*40iO}LpZJchV0ws%$>zdhp}nD;1_auv;( z^EX?c8}KbRjWaKmLr?4o*S?$F)@>z4ZZn^qp~3FosSpMz$s1f_6Mt=Y+TPI;8jy(<;aAgb?Cei7|XJSpq0;-l04lr5#o zJx%%4qDKf>FWPkFNl}ZerwjJ2_E`hQ*+Z30@;R&D;I{J)x&iwvImEtLQtWyg_d#MVpsy{;jM@#evJS zd#`q)XRmhsN3cZR$rqHNj8!(l<98Oa#xN2-iN{l%_(GE!xvpM)q3P^T+J$Hwj_;sqi4xs(c##L+8waV z*35?5TZI!-4cHL&+-T*pa2iU&+BN)CIFPCLwk*m^)MRGL_6MY4$bD7dIzSq~2F4uK zoS8$udZ~-f%fr&*uQOVHvp9Cz*f+T?(cl=-F9`<*6P4+E3FC-T=k+q9{?3U(_}Lg2 z*{q_8zuPW7w7TQ4D!b;YO9!z`U&alcJv$p>&dVnt#G5pJ-pOm>57@~bc_~-=f2+<^ z3BJ5gbNzO`@c7KMZkvmKZm^wy-*35_>}vU*c-}hTBL#PpvE9RHF1EJyy`An^QPqd3 z)*@@61Ayrv#b%ZZBROK{U^>yE$(cMUbaLXUGUYRcRYZ3sCBeq5nld8UAM*>X5`sLLnG~{rR7Ao`Vz*)x~`#cU% zKQfJLx|!v@pGhtvNTs7{6SR6%VRf8UqEwx{%!m8^2wCjvwPaz2_M55EWzP>YpQ(*< z-?COOx>2pC9E*~rx)-or_+M@rSbnb~BX0qd&%5$qIa4v}Eqw$8x4w2gP{5gH=(0iT z3?Wu(+F)?_`geFY2Cc*d*x}pn$fIOMOP;;vPDqHow#?Pu+IC-mLjZqFh%_dbFu=hZ zY4m)#?(I^-ViR#+A`I&wz1O+V!7reLl!Y98{DjPHxD2sp?dG^CwQMx)7n8%8KT zYqlQ)B&Wm>m^()s>(c!-KaH+qQq_|Wu0z<#(`&o$uMsTrv^+mBVN3^${bfbrwCswM zFOe7ulO1jR`de6GR!df^_*@5hBH*ez#+G+CH3bkLuH~(K&_ldb;*X2)ucwz>zOB-G zZ4~xiBcAB6EOfH`(BX1)*xgnXRmX3}=meiEquj(dtg}NH=sx4DjR8Jq%0NpiMdKuP zpu64`2WB&KK`s#CX9?M!A@^oxy^z}`uNSwY*X6ccAPJ8AT8WbWW#5|GpBvjQ z(Ad@Ap5su;fhPTPnX@CAXn)XmSn0jZ{nwpGr-y7ywij3E?q)z+>OI)^1}m22*4Z3> z#MsQ%*wwS^%4$l_Rgo?F{FP=D`w&ul2@~28|8MeZ)L+~|V01u8uRL!}s{plyavF#R z3|?9X<3+>NIi%$kX4FJ%MuXHg3)J+xjJe(D`daAv>E0=pguHq9Gi>tRrvvjNqcnI+b#L*^etU4GyVZHur|W`7Q?P&C02ZNu+|1D4WA1;1k7DNb5>b zt9qY~ATDiJGgTMobI~fFvNm@XN2cd|aI1N7YY4C5DS_pN4mgW8R7gdudb)zZMYR$I zdT47(ch#-x&i>+ToY;PY3bMzANZGd~H zRE7t1YzA}^6{Ks(_uL0*r^~VR+-=l7ZPLI)X8c>aIYA1|49h%ilGnEzxADX)zPj72 zPvR*IG2N0i;96~)l@c|K4eHoDbT$iY-=#YMDehH|TWGGv3w7@yTrEX1b#c;nb54PZ zo(OMjbk-#?JK#F|AI`_LPc1cBqzisP=31CNlt1 zbho*KJ#Z@ubl}+&cr1W-n3i!sbm^Ppooi`@GHgOXpmn(Vv9WBDoce{Q_BzW9J+Y5h zlIgG(~FNv-RY7>QNdt^q&^VBQ%4Mi`2N2q6#1XT+|3Bh5uBq#z)o>?}hVi*twvG#zUb ztJTv)R{$0en5EAyct6=49V149>5al+-b{!|a0)+i%NEFcj33;(*0SxJO`BzB3r;w$3i+_d8fr8Q_69X}{gbK;? zJeO4B0jjMiwZFFf`WZqv4=ZDlCbS;x&@Kc9#QC>K4Zqm#Z3s-m%csu}BSA2~BD*K2 z9OGBaj$5UEqc!Rjd6c90w}JK#2QGqqhJZm`%ZGKG#o3})zsgXu3Dq0fUd}9H`f70w5R$1Yx=lMMYtdCrd0bvbxIi{3zxNwHOG5 zbv|#jGY-A*ws{x`Nh|SThbRR3HcCGXDHysagg#5=tgN+qESyh(7#*wsN-$ zgj}9SyEeoClvrcZEv|4F2q_pp2k13!q1SMQUgLxfDopxZyR8)_&hsi)5DXt%Fs}`& zCVMbzpiWvp465eqSRVLO4P`bQDhN)7KWSMG-#o(%wP|n01n_M5&!$<{h5%`QBv~aS zyYUc(5c~{56#}z=yYy3L?g;x8;ue=_p=0V5%gVs`OC$#~CK(DhNt?SP-hcCv5rr_O za%IxdhLm`3MkEc0ku&N+@&BZP!`>E*8-?OO9E-qb_(OZ490k-b9~Z~?+=@U#pQr6l zgZccQ8w@~5_G|Rc>GA0fxbB;_`3lSmc=TPqcAQ?5`O`x{HzXsV5ad1k7{7K~3N%!XZv%CWfO==p_Dr5}qI$067i@r4#ru=s)O}+mA~8PLK3^ zba*gzc4Jy+AoMdujnUABZiKC~Dqq|FLA~aYQrtE(A#=xJC_=iC{IX)&Di(1lX z)a7f`675(kS@f@nY{ig%hiN{t5UqpeBpAYbH<9@Gzg9~q9Gv8K8yj@~&O z(d{mGHiVkkIK=q=MTe2a(ap>0&7jepj#1(cBLZO0DZ=ZWlRDIv?gE48Vxo=X) z`n|0B9|A>A#Pz#m1R2|3GEYTaK3b7CFME&N`;U_f;Un1TSSjhp z*mx$V8{RBb@a!N z7N5Sjzm2%R`Sa&0$ehczCF3V8mDHL7%qKP2XzKUq*Awqv%oqnQLRWXfR+)t;@eEA0 zHO(^&ETi%r7D-?vG)`z_cXZuKplWjmFa8#`y3@1z1K5MflL>Po`$;K zt7MUCcW`Qb@f6HO!WpjA>=l(WdlGol84bqshC*sh6(%lHn_+5+^?k|pdtZ|*z2mKn z(ye^*Swng->F`cutp+a~2L2tTW0iPhk0K+9!F|2(=4JXq-2H8o?ek~-kK%KbE}z7% z_ghmzm`_hooE4jSMO@z~U6hF*%W;yPixh@)Hov|lVC_8u@rEu^bJ3!i*%%qvrtQ$0V&to27TNutu+VL$FC-3X;QqEgX$kiW z5ZK>l8hA&~O;av!FrKCQ4GA-l?TAnHavT#hrRo2o=N#z>UcdjJdK`RlWyxC*FD@vw zPap5iZVRQhQy=&D4&iy92OAJ+6*R2BD$jh`6&VPmcqD1R^%51-lBEG1fCs72s#XH8 zMh!b5@&0|V;!W$96xeyBkwq>gi=BnFiHVLay&?sw5zXX72%<`8>?t&pu<*k`VJz1{lTMh^YO`fnkA$o=5nWB1I zkZwvhf-~+R+nCv#?%pttVXO@7XO>3n5|k;DwDtB^HxT9QILC(=4l#C@A<8iGM-cGz z5KAZw9Lfx*9&HIN608EPC$=zilxdQTN0(r16TeRtL$LEx`e~mz0xiu??p8si+&&M? z^Dm%GPobugWGsUtnBo=SDjFtPj%XOH=U3Gt%rki5in0H}cxfMqWbGruYzVeAXO<() z5aDQadAcnLY=FVnduqpka~WIG|U!R!pG|wFHVN_zUA-BF=?H zIsS+Mvig6Eh#nGal^uT}7m@i!A=^31^kp#ZA6j3Sd6x}R+#9!lEb!KQX;%BlcRswmP3{Y2ULiM{I!QZNrL%mj+c%HpL;*$@ z?iJ30rwjxypV9~W&z+Vda?23ShwvFijg+11L+ZH+L#r$t@wNjoz1Ay~R51+hHbh0Q zd4+`$z@&+_Nh&>FYIj=+iD|tqSC>6M-nXNtzlt?~iUZ3%qJ#83Y)*396>)^e&X90~ zcjHm`=BN^;;@Q7%OH6@H(TbYqe@w?laP8A#OCjP08YFRQe;VS1!3wV5f~FrGTLkc^ zgl|8lWfsTOP~08}E>YV4j9Ix4#ibqpRwzzj~F)4wTge`0tbSL37 zfU>?mbSHV0--SmkoqeaCYBZ^$AAx6^*A)yeU)U9lhtqC0Oqth}brpCQaK{D4p{Orj zGPpIH5=}wF>^FyS^jJtk!1|nTLw~gVQ|dgawIfU>=T2Ew5%h>r*AnlD(X?)ck)8S9y()fD{+AAwyc3{~cbEUs@jkxUz()4} zAmLV^mE}A9_@bDitpDvVE6~&aSn;I%KM+r4Kr7JyA6ASQ9R?2{LY;&*B;HwjQ+P~F z-mc>fuUhvQA+&z-0r^rL_r{QEJ(n?M%_|etWM|h7(b+q*^#j9TYW{t$l9mQO#;Y&m# zfv9u9M1pk@L9p;(_?)u81Vej1W>UiiTJ&0+NRhu(A*ALTj$5M{Uh+~?+IevxQhvy7 zM-}I~H$UTY6AJ>04G+mug681;9fH}6MHnZFjntidqzj>FgVtn%4aH=L<{#902?oYm z%%+A5<3FfX{+jAw%FH8_Px;2P%w{0L5CmYOhRvS5ckbPZPX8 zq)0h{XO*=GDUhLEA{{!6GYf_h(`E>5LPvzYlW8Rk5qAhLj8ofhIaY~Vr%H(yI-p#i z?-a!bht8i9Q?-L}g+u7yT$L!FMhrK5?RYD}acNwu7#!Nh@LP_^k+!jeDN z2dID1t3t(R`=h7{q>{MMzD2W8c??da+jWj~g{7yrzT`=xbT|Vm1k@N2I!GJMhKFv5 zHwkl}WJS1&v>ZTvJKl=h{KIsdQ|3aXYER74V+JpuOkaI&q9&5lSQH8vJQ~aJ(PU{F z%SKg(#ke9BiEjumM8;5ldBQ%Da~c_Z2oDLSnPSCpiOY?~Ci64UG*M*@wX6#qU`;VN4fmd8*3c^!O0g zQ8lLeUC8CzN>I08#V6$FW=R*l;eiUKYOZe#51Zbj>d8s2uvV$r0}mkI0c;@+?3 zA=OTW34%yJ4>J%Je6td5Hgj6%-oa_>gljVLB)O!t&@q}=yl`O|3H~H|O{y5Ytg39( zqKLo@EKZctOZg$LuYg1(sTn4stTzW;${0$>ltRfU#-9pL8r|Z61nHSN4N*+#fV^B~ z_&mbYqe4n49zm7W3s;`7)}0_q)|r@ZIWkXG4*}CfIk`s_VIs*|sh(OK6P5u^SzIeJ zFXE+A+K_EW!YUc{gAi%xx2bX-L|!jmR1VtrDo%y@U^ zBr#!1*8Y)r*jiQc53e$`+fbM+O46!1u9~oCoHO(Y1LPB}i z11F@B_a{W7KOJx+aI4VFj{c;8N!w5#NN3JmNXvu$CsXUaRAUZMhSXJ^l1?sCVWm+~ zksAIdY7y)|QAvHqiDd-TN|B6ZZ7vBTOKge615qB;Ks`FA6Jov$dVQ(SOHUaCxn4E$M zd}>uQVyUGO80n|Nn2o9PhYp!gfllLOry4-Yz_s8hX)|{q<-`KX|DsF=_D{+@X|v|G z`okH9T#Dk+u@nlJyn+__zaq>Q_}Il_j7@l%B#E;!u&A3}?I!Cq-d8Bg=zI^9yHuMz zM9?Od1#m2&ov)-At(~Kk4k70ci7gxuOV1BQqCau31@9MaDCr2>W7$(EsrRK9L>ghu z;Yn?78Wi2M1!JRNaF5v3yzkTcm43UKLjJgQ2Gt;x9dlDhoRk5(M!(EW#?YMy0VTmF z7Lrw_qd#SPO+O=;m~ut2CRs|NUW%q3%;WG%s!%0g=umYw^M5jHpoQmPP8HNz^Rw(R z6$D4I)xd{O@caSv)Yz7~T}tT2Il$}ZXda$HD; zZrd@@$>TXB_eUjoW3bX?bkN{^1fto9rW8+{A zRB2QCxh~ypZ6ojkE9++j;ej(Tb!~LYEO)eErLir8I7gB_-H>g^Q35oiI561KAG=Ni zBnZEr{UFg|K6&&@Qxe#-F){Dm+6S2>rlm0`lB=i4ycqu6{r-TCP;S1OB zVM7b=(nYnN5zvq*vhGZ2|19LLM^2RW;ZQj5!89=?!%OCUOV{NAo1Q!xK;<;TJacvh2={>DF2bnKcBegP; z&Q`byfi4$RiYL3w)4CuCU9w&St=RPc>odRmfF)joD2AM%p?{Ex!j_dXY-r}c;)0}2 z#~Pnd62uVjV3a$Qq%U64aBVH}-ktJJ3s8BRHY16^D|?3KA>vMp&IN5M)0>I8)*o?$ zy%o}PwrQB@dJIb!LMjz*9Z{#3$}?CsM`j$vr_XoSNPA-QscX8CX*wb_vadjtSG%yM zpq$t#Xz|gf)rU-J!p$$N&~6O5R)FyB4HyR86?+++(Mmy@s@dI~hjCS+=O>Wa#y&}E(MR&(rGbnLDU63?-!DwG zl?*8#e}uAp4b=sNUv#Qp*jlY@BRjV-jF04ePA?VC1vYIVs$lm>a1tRi@zk=REFS17b z0!De?T)VXuFiHJk+P)Pg1PmnfcOZfAl$l#-Q{B(N&xZ035qIGE-W1YIY3T7VFFh}i zh6(xQlD->4v}ZtxuozneQ%ZqE{sP}ePHX%!t@Vdn9cXEo5XrkCp9HEeNbwx;XZS(K z5hmRs=T6}NHK@KUCO+k(!~*`mM7enU{(SS#r{{`)iQ?kB-~A8HVPJBA}t(`Cq&+bG0Dcza()7Y*ZrbqhVE<#o*P zhuE5*${$HAgoQxa%BQs-EO3&j{6QoC)Z*>`D=_xoO6Grw0vElc^LS=&fP#fYU;AO4 zF=PKs;d;OM5UCZT8vSVvUYprJa&DpV9f7T}k6dB`l%ojuhJtk5n4sXUY0tfn+{d|( zY(B*d1Z-RLdA4faXbeO;TkjmSI^r30kK^3}WRWVQ99n9`xZ+}U`nhLingtH}25Yq# zyw}enmY65EQ6|jr88oLOa9&ZBBs_T9mbJ%2_F0m!1(8!h5!etmMzGEj{k~~(*IkIy zPPs7~d#EK8x3g?Sh64q~!1=BWZ;iOe^5m?PCmbLMS?aF_I#^~<*T-UwBcav%>p^+D zZbV41H}0z&<1WphQp=Fi)BZS%p+;3mC4vTSO#_2t)mA9sZ1lG$uT;kr+=DeMi}gpz z+oWs=h->HB%_FWlkkEEnaM;xK9Dh~U3_?KZy8j}uOL3KY2;v|Lv@BklhN1)5v&?y> zzpaIT8@(lHH5K<;++;5GIB)N{xD5maxO~k%2Evs7fhqkPMh{T>tUO8h=X*L?$5tp1 zg|sf)?dy9%KxkZm3-K3Y=DSd&&Vl;L@8NqKU)QXNeyfaT-~XS%J^@O3FXjiVLKba< z7pGJdvHwM9J$!48FlOzCw?|br4!|We`&j8xew5vZrO)cRW^oe=YnS7z70DjQ276ot zz(qR$9=|j_Z;bbk6hz;}DJ4jxe*Xo)5G62yQ zga@ozEJ!f3j}y+bxB=`UW&oaP$Baz33=f&qJ|HoK(spM4Ti45IXft}StYaVE>G+FT z=u1r~bOgtY&I^uKe@LEbJv=F%=_iDuvPExAXrXRGIZAli4GTd7*RMS?TP8ClJ6tm+ zOgATs`c5iwW2y$}kbv8SrQjy5QUJ~2w6WZ#_q|!Qiz}z^a?InG zb~0{fZ40J=f#wYLZ2#UC?7{3~z-0Mey7W{IadzX1$^fMRc`1u4z~wT7c0Q#<#` z!eMGHk>&|I1TOCEidY6&cUq)sBT);e9gUs6S!mqCbapGbD?+#~)+WNf>80r5jL%lD z-=Fq`0QyJ2#gHkOykNX(GTsloN#Kfoy5(q@f4&|$JKZs{d{leey{cn~$DdCai#r81 z^x>!`3y1Qc967i76t@;1vd+f7od*w(#J$PZ^vKOw1sA$iYIozWBuSm-J(+&f`E^ZGl3 z9f=`0nA1@o)U$tG`+>-ALn^}Cp2elcON(G-)Xht5uf%Hw?xF}dBw3w!T7VLErKg^! zNrSkA5Mu~23v@;sX}pbk^Psti&&x{7&q`XtVNe0k$RK{^rPZ~}a#p5ck0VFaxA#a@ z0>CAII9GQDub3sF$3Ia556Agg4|2S?!--*pf@7=0{?24oS&qyyPl`G;)Otz)iFx-! ztew^xnlQ+tL+9_RM@1|}!QbA!+r*EG5T`_V;{$d1A))_RaYXSz&b?bMU>WPoh726z zKcvVeV521zm6hw|$n(moV50LJ^PTYg!|)kuP{U|Y*zo*;H(`K>`#BiT5>y@~g2v#x z*UqFlm>^EDYw>X+H0bC&dOUybui(8^?zL2WNYT5mbJ`pM194bS&-Z&+oB>=c(9yz3 z&egWeb|7M{5-hp1&_=A8lDvZrBIGdphByty1S{lwS8(jxH8kawS|wSENvlE5%58Hz zM@5R-|W8+K!f5sQSxqy!J!K@D8yA`7F5bAayeTNo(nH z6_Yiw%!H))7Ue~jFp1l^kN6DAQn%)UhQp)+MT{}4z0Yxrf>_s} zypVsrmd!8@Rl#|q_k(g83_uO-Xt?4Q*I)x#c72P?$F1~uV;Fdg%Z5RnwcAh*n_`<$ zg#qFcY+Bd_;leXC=;Kyqjzit~Yr=p+EdhjeFr@px z2zcx^9ww2&3jB)z)e#ggChoWsN46K3xPlx-X|Tmu{9@*UC`lgOz%A(Uz)?9t zI4VoaIhNCcB;s1AolwPHHhBz;#N}+Ar(9g zX>q9RQhOOZQ$}xGTx0`P#`We5H3Hd{^IKQy)ciaMdrCh4D={-6aICeBkPBO4P!>qf zeblqmUeLeJp^H+}Qpl$974E}AnB=r^R5$~4@ZlDH@L0f#`zUXTDQ$q4&xy?x0nUn( zq_g|*;jsg_pMtq%sORdkd7%=Y1&l4`p}umop;w#5{`sY_06XGqeR9vjG|68pB#q4L zeWaX%XrPf*lRZgh@fho=ePlok@uy&M8HXPFw?^q zmw4CGzk%$raG~$lqvYHFhZGyb-JNe@_Up%g6{RT@k}&862LU;O{f|;uE@rN-R`wQu z?XzlD-*W!WgVD27YS^}C4%^}+cR+haQMWBmWea>r07%0(5W5HN1cZEr9rBHc@f7p4 zt4qwg=b7Ffm!VMw<}Ac7d5Fozf^f_M^B`ih^mJVJ^Q)z{uSOg!DPa*Tw1$Fwez@N{ z-meY>ISm=D(?LB^sE&@j+nUvj6T@j+`@-Af;2;8Q%6aR5m2;y59$czNiVq_+wG}0< zjL;xO*e*B6p6gb~u5_b#8Jjtr?XsomR&BID|2$xP;C0eTEM~Al8sI{u#=|)#30_w= z>*9Vl=q7D@1bq2{S${BfaW%Lb<@{4wqZaF==ma4tg%T$adnjEYE<(`pHL!4X4I8JE zzTPSL*k~^6WeSm>Iv&e2FPQ4ZF$CsT<( ziw7h!{$dji9tIyWiq{iK778N!YB8FMApM9kS{~9ynfouh{p@oGNJZ(wDaVbO8OdamDkkOcu`&Z}qOFhS+OG>Y|e0virtXOc(@vLgW{Ycp^&)bz_wb}cTP&Ic;e zGt%;HU%Y9iUFrNk`|a7F)c5l)mrRL&gl?IP(7^D+L}O)K!X;g86zNw$z94-Liyk5~ zE@x|yK0yIKDtR0?DvyA0O_N|AAJzDr+CE4qdkawDL{_G6g<11jLqoI>ecMXI6C*Rg zKG6t@zv6K%B8kd4Jux5KvRS}*3Voskrqnfh>M#pq=9_-^PHdX=AjK0RK-6g0r0mqi zurhXfqk7MS*GPbHl#*mTU5jz?LJZ17L7a9HuA^2N$* z%-NqKl<8ggAk*6aBP^PUCj*pHMTsN}L0RJEE~ccUZRzjehu>-+P$g9_Y>njfm& zfR*k(e!qlq^Xx{fttr>#7HAv1D2dSUgk{e)@o;0sPZL*n(!Lw#Vf4tqcLXaN8`n|q zay#nNHOsQk89qDP+gKb#zPPEV=cdE%U`Aia9X3TCjN6Vkax)n~ z6rKZFHH(J*fI#`w%G$|OKxL&Sa#0)|wlJ1WZCS@)nQbpUhh#a{3-{gl-G%j|xvke= zsyA2AUJfDrb@q-5O**`40-wc$KW@wFE=8zCe^=Ge@vuMTUNA*vw5o330TPUPy8g$} zx9}Oa*VG=Wi&9Vd8i|T;xBpevG)aW4Z3I|RxswhA1X#fG?@sJ$X=Z1}{MV87uL@_{ z@(vqZI6Xf#P&y8mUN+n!I>ay6u2xDA(ON}go5XZ%X_QFLD0&dDocjEXw(17qE?Wlc zs)gY%7v3`L30sg(4RC1JBWRSIkB8;IQ$mlDJqvjE8Ytf^UxX5Y{tk1JdwbG8QuaV3 z*(pJK8og@v3Va`4!P^CUL84faylST1w^^;#YlEwW!S;ZWYMZU?YdL~L)ul~tV+b<#^VsZLs zj7Oi!1!?Ixuwf3!1lP%E=Pjwk?oB7@6h4$CQ^H+x)?`Dv( z#J(Nhm&;azUR^&F>7k3-+_&5P^$Q2VkNZ$+@is)LQ0Yw&udqP=Q;ghH$CTl#sR~PdwvD z<%RsJHIUXM9O(`D*ITgmH44}@f5%?MDto#h&qU#4Jf_W}3o`j+JF-H!nD|%-MHg4( ze6m;YD9#UCqf8}$B$z;79=KCIDYQGy)M@5gVoVO!1e2&tLHVXyQPYmk z%5AV@8QAuH;ePt{>T~4MV|Fx~pT)nFPOT7(1|yWPl3_d$40(|LV#>6p+e&D55;3)l zFE15M>+=eZ+lX7BFipI6(>sM6_B7g&4-nkza^y@4acK?1pXf8=xhAbw}{6k8dla z$;hao^!LVR;f_i-T9=#9`6aHsp&bb}|5>l^9t!+FtSrh(8LMO}f0%l%MqK;ecW%wQ z&FZ*r;2VAZGMtpRq3htMn=x`Wxn4MLDR3CcT;NaNYyCYbN;8~*9R~?aVwhU9t&<6% zNDh;}c`(hUVW^NKPj@?)@f)2%*+a+a8%9bB5;o_|JI0{m+G6!j%hrg~2&QPO^2IR6|4$~DwJp8v=o-Hl&8-9Y$~YkqWL}$;83;|vBHhzx*r(W z(!5>9#b7v?XBT})DCzSE)=sQZjhaxu(_-7dFmHVcIr=l+{;973)eWw29vutY2H^*QpK0h4FT=qUofnm?U0qA?T z#a!2;!j2TY`t$DQ9Va9z8}zOSzcZCKWNlnO*l|}9j!AM-o51Mk18^WJc$yd|f@IA) z;dO0)rgtr-sV1p|G^EjjgM5Cw5fc4fKEj(yy+3O!d#EONxyx#($z`<17Su94wf$kg zDzogK2Lr!mnzKjy;ovzOaX{ z7Wp)0iXX*5&990ITc>e>2pOq3T3f4nY1=yT=MOS##gWs3#^)3=R2$x(JGNEXL1gq{ z%^{>q2+!ZTq*P2wd{FfP-9wX7oN>=)X?&oF#4@nl^DqFZ{S#w>IMMK&p+Gxz83E*S z_GL+!SWhkIC<`R3p&b!&zid%avZ4Z`r^WKiBhwS9hP63X8#~?=+|WH?Ty~9AlNc@6 z^rLb*bEF*#Wh18~bu-p`l<3&o7n;>sGq|_U$%i){X z+;RQlgM7m}{*S$M23Y4Tbny1sRB4Q-S{}hfi5f7 z5`=mXn1y3G;%Rjl?Aw?lPE!DS#c)8RtwxF$RWk>kB=fNqW$(JLIw6iC>I+j16pztW zHDk^eWpHg9T&AgW(DM3!=@OhcTJ8qwp$6(A`iHK+tHb_V-Cw0)qi5@Z`8f*IZnpwy zlVydO1x>!@6B^k1XGhY?xY?GlV)PDKsqLNu6>wa(ZNiVAE_S}im2DzavGZjm70G_5 zjt@>;=N4&CWCl2 znM`ur8m^5k<}y3p7oK}bJE>I&B*^cLY>RM+V7Kd?GP(i@J8b;MnCY52(M)(kAJghN zBKnVU*Q91q-qq#RD$xI zE{mxaaw&UmPpG3oef;rkq3J%?ok%RYEhe-i6DJ(1D!ndQpD|eSA6UR$rOvNv+)f#0 zN}n%W7UtO2uTN#u)H&?-^|W#ol$sfPolr@d054bG!P_;5;nmy2VIN3c5f>B>hQ9>1 zS-m(KN++Oy-KUWK`mb49++1k54RB2+9GKnxd(L6+W@l{X3|y7@lif{gZrShi;B@bl z3dc+6Hisv2KyWk_2&?NwOOQ9;gHYkro#&3RvTR<~NJ$Cjt z>c#>j8eMHEjV9lB>f5#NQt45){L$QD0}mGf`cO&58iaRiEf>CNW4ketZ6!#&i zG>JGg6z4BTR@Cd1`khpk^I6H&`Ya`-)2A++?>|T8i-pNXOp&q^InWxj(a&Oql?Cw1 za`W(>uO!Jsa#KoQg(z@!D){ZpJf!=1aT35X)B2_d(u~vBT0qP|##lzcIZ4AhtTNE^ ze*5(_UBrv|bqlZ|1i3>c$+a1C72d6`TY>(Hq_H=DwzBYLSir%s00|{pQo&{fQWr%n zUb(9@SL#B)nYvA?*suPzqqv*A{AG&e4xoD&n*+_EFlxp;T* z5J}Iu-B`a{cP}_$9)_Z-w}>9j`3>N4)%_5Sy!zd2eBt=hxRa{>Bzic8$R8h}TUyeX zdiGAZBDr^0HMOQk+I{t50M@2^ZtuGLMowQWy8Gty4s^eshTh0wu$MS9lzlcP-}i3x zp8jwYjxS&ceWvH~+D&=GDJT@PbZ_@ReBVEinux=V!*~+Q)j6ZJP3-$N^?MD|z+J<8hwvNUNkz<;j~;k= z2?TunJtSyQMSb0$?s~Vb&3Ai3e0mJ*iP`V=o(Hz=wRL$W7KSyrSWA5Z?3XoAPuHVQ zsK={)*Hd*Ohzu-)U3hDK2rf2;`M6NlhNA3Kyus_#ANkuK@c$gK3dU9}x* zuz@2MuyFTZ!xV7l1?->pMpm{=){bTtSL!y7=xP{(onG9ucGD;{j2O@ZooszYjGyVj zxU9aHBykln);fhqC(5H|P#Jw)OaWxazkoc33V46iW2m}jIVsKu@F|N6OG2Z-W8jRC zS>JLBU>JbkZf+I9Dh9wzd!Kf!KgqB1{xCE*Wcg*tSdWz%xVzaEyg;r0T$7^AceC1zPWQ zIGw?;U?3|HZ+_I0PXk9m5GqKIG4gi&_*Re`(65?Fpsp5k`g07S@fSbDa!8E>#-@{2 zE4$L}_>!5`I5+|H&KZ&YS1ulLt)#i?siw6G`_@PkV>Fln0jFOxEtv_7$1adzq|dg8 zzC{+YqJ-CSL;Y|q&-Vm1MylSTPT@7_8oX*yBhL-<_SI}r{B3$DB#vht8K(eg80s;c zpshB$y>VWt6(E4#KFYjdWBjyYsArbUmwIIj!{|7|@p~%)(+lb#KKBmx367H(N#JvR z^b`CujzJLvRxW*NMupuiPqm;;F_hgEN|Jr z3WI-#TIIz6mO_p2H2Wfy9bJh~qol!uzZfKi#hU2dbrJ{1mWmPgnI-=DP>?Maqp&${ z3ODUSN;|j4?F-2aU6`S2g$_c><9dA7kmuDtT<`C`#FLr~!VV@2(i{b6XyE~*q2$HH zi=EY{_c5_3q6N2)y@zjhif)bXcNV{VdZ2T=U&n(2g!*%bDzPJ2TKy7~$hUnck!fiI z5Aix~Q~HBv1($*oTs5js5o=}v?v~U+&B>{B`QNk$tOc##*EdbJZMUu8Z!?&Xzf;Af~;g(u3mrh z|3;2c+Y_PRrn|Q_ynDLCDgCnO>#hS!X0Ot|^7Pdy&Hm@hXE*J0s=2l9R_QzG5CxT$ zlU~nR_r_{h_{%qHN7WmF_Y@o1W~^QKA?srN`^mnQX`gd~1?yI^OtyV7&+zOME*76I zZ==p8l@8ygbhZoc7gV{#muTHLSNrU6NKKz*#&7OBVY6;pV_*E zc`qJ3niIO@qHw~}|8jZR7ZkQjH+Q~cOXlj z=k-&bcmx-pes!%~uI|ajt*_;(YaTCKKCkZC&FAy#7Z#tsHa)H`_4exZdw*WLZGEqD zd-n5n{dV_0pS)N5+y3vH(}&}~%2-yd`Cf7VW&XLE-*>c3{K4} zi4UnPNG*;9wa(BDs8sWI_yJUU4>*p@4bu&z8yJrPjexZA!A*N~jU8>=!I?lM7l9fD zQ8YdWioolhV%b%5$-^B%Ydy= zRLf@o0|GpA05qaB7wC6v+VdKug^Ylfp9UHsgJL-!Fbu%jAwEYo1Zybtt`@WI)@NXd z3uR^CM=`022WnDrNo7tdc)Aij4A2jhgz0Z!G_pa_jCQ;vx;g0cqzH2s7sAXznnXd@ zjy~~%&_1ygsvT__2Hgboi3o%Vhs&TQpiE1k>qj3oM(7W#gz85hLq<0Oz5k6c!oLA) zZyenK^o}mV0QE*>1F&^_(al2dJ0i?dXhJp%wI_*g3VK%yVTyS(G*nPJUg-MK+k*)G dm)elB7;5V$wb!+&5nk&Xx7T@W6%bjOC=hB^jQs4DHAU2Tc(ToUN{ahx+mX+|~(j5a1c z<kC}?n1-V9q#JCTi|{K+ucE|uy2sI1fb zxVJOmv!IV~=KB&YsdC28G^kcz_T&)VDf`%#e95opDOr82fhRd@tE_B}pQ6hsm8JTC=nKhDicS&l3D48#9oQR1zU zZ{v?j9AV;M`?Ng~B=o$`4$xTU5R&$67t-M-_vPz%f4YWyJnPlJ zT=mN}kfcte(0EV4$w%yp(R+1&fi5chCdAY8wpg^j&pY}^nEQ$%r41naA60ZEmEe2& zs@?_=008vYUmZIm3wt`+KgWvL32|Ts1fNSD;bD>@t41ZE{AF#SBdL6z?&R@{LMt!P z!j;YrIUy}ov>x2U%UuKGg|s}ZC8|OTe-(YTdB2>+9@R~X>-sjGHHbvWc3%P)#hm~( zi`1}tA~-%H(nnTfWqcm04dek0in@y#{z?HM9ZE}4xZ;44IK(?>2XYlhPnub4Fl!OX zMwZZ`ik3YK=g=qKMh8({AHI`l8$^W^X+s8d_Ix-oTjV=IvBRmz(&(0SwAPn4SyPR& zYuY1!K^X;Y7vejxiFTxZc9Z(=MKjI2KMrV!i6&IsCXF38{N=oDrf|>bYmzS28={sx zAx362STFz6px|H73T9uI`OKF=h+hU7S{umPS=-pt8CcsH{kh09V#lQW=n;e;J%s0^ zltXS2AcVyz0Z&53MNxd0S{|5Lq%6iVStmAk^DWi0shn^(xrT0Sc-Gk(nt%-gV*~Mm zVlI6RL!s4BKUVe8)?PD(DLE<<0(vjIUuJJeO*jokyTjx#VW6rrfyL4ov?LdTIf?pf zS(xX3O%h}@%NOPx2`C^+E&o#HizRO*g2mrQp*Z&S#SMugimgK|X)448NJlKr0Srm( z*OQ#o2AN$dgY>uCwg7R$tW=lTIoi-*z+7#FU3I8#eKELU@bX14EJ@EReLV+m$eG(D2r?u7@$TA;AuV1ErHDTr zM66ZxH+APk?oplh=Z}wXOW0ITY}X(dCnj*(6tm8PA8)-kSpQj z{Ci#WY;682i{hBoDm_B`D;0>AL#P=zzZ^!a-va-P;5ue?Y+lt7 zOH_hyBF>|`RQZRpIaq+-1sj~QA!e!iuGvO6Kh%|QMZ-xvz=6DQ2`s&# z2~n;Hf~(_1$2F!Pd)JIw-=49t!^BnG0ILFq-t4^|WK<)^^O<2Uw;~dIPR{TM*Njz{ ziSN*s6L41!k`X83yz1j&Q5jHNs2m;&E~;xuYeb-Cv0x%Pk!%NgwE*s0lYz$nGoi9c%oUW5 zuHCcrhuX$>P#fJ9LCBsk7hXb8R!ezGNc!E-i!?m$s#_IGNZ-6k{m^|cq z+{THWXh67nX>sX?ny!xVqu2viko~r3ZCO81Jdh=E#Bg7q{qtmCeAnxTAa+Q}XgTZ1 z_QJ-6u0%00eU9{CkcM@owELzNWZD>Ue2m!K_CiFh#wPFUtaF|JG>C9{tfr5EKD@D+ z%~HyqtK0PDs&1~nnX>_o;b5vUDPy-hwPcyI)DawkXentmLsdCNB${*;M(7gmN=$prFrLsH8o1(>yax zJ+>n+$yV#eQOpFTHltQt?X+fr5ImqNYDNn? zWddgWB5luEjQ?~^m>GNJ8;2`oSC&mpnKpqkX z;yZ#ZP|9(s_${gS6mI_=Fb;tZWiYiyJf4DD#K+S`Ni{OMr8)H&ThO#7J!yQcH>+R! zlj$H{!wugHtXrlbbv+97$7Ed8^b+0&a{aTUNJss!yg|aSx;|1&yIhJ5QvVNNE5ek* z={yK=z@MPzVpjbYx&9&K)G^@aDWQaJ8TA3!$;3s&$iqS~sM^2VhxxF9Eh(AGoPv`_ zyM?72eF4z-z))&@XnxNbax_PVkuSO;QtFB5E-$7H7j!hXrO7YTiNiqS@T&_C)*?W3 z6J}8)ygpDUepe(2G+z~E%Obb%%4b9hCfmUIVZd00LnY7D2UV{Kl}j2E^C6`)HZfvU zN)p8^mXAzAy^K0HT;*%d;Cy$p4+iq|EWjH`H$-VBQw~@u098DO31db%ut*XuSWkS9fG7sx z8G!9%FQp|d5@dLsoC7d0^MFe%vbk@Ytl&g7*3b$ZfTCV$EZe`CAK>` z-zJxp(}2B)f$Mo{xpewK7XgwxObgKv7w_^Wg${b>GO`W%iuZlYf)4f=wqE=wD_D~X zGB@22W&Q9lCV%Bo?wB8i;ti=BS5E}RseVh(;O#e{$WdRCs-*{xQhu1BX?DBI@rzLV zSh@ur{IdxFH6SZ=R1@Srne@qEx-4Dp<~Mb{5IhvfR9FHwHUZCQhU|#*qThb2%mqw& zlm|=xQpdYx5(KBwK`#kICZUQ@}a!51mmZ&4!H1O$3c@SyKl#XE`uvO zicv8^-E;0cWGthI^hl^U!Fhwt9=5!wRV>f8+~$)Y2eafyVJNGtbFk-0NYB7~>VP*^ z#*AsDaCxQ~jA6(iL_rVS*9Q8=A=wCRa98bq7?^qulFfIkezgSb*>D6r+^x1&W@5i0 zbYjS)_E5~iBOQtBVv#ym2+m5eD-@VE_29)FtEp%eP)+B^1BSWElejSSQNFn)YvhU% zw$?o1$5!&`r5wZW=sgyybU^N$FmHBNh!{U41f3LBNwxds**mVKDytMnOp?S1I>4vt`%)@3o`=2oVqda z6M8>n7VLNyEx(M@VG^Z}Tko7m4LWU*DB z#u3`&RUF%#Xu3i$3a87!dJYwiL_+k9gngF`B!x+B{Rm@!aUo@5B@RWb-Lh4bH9x51 znS{KU$of8=&`9XPA94-i+Hx$~_BawEBuw8FSZP}qwK7Ks6|(imAOhcd*-UI~G-S62 zQR=AAlr=n6y3B-z7@j0TT3#U-E3)0U5gc7%ED0QneU6MuHH5Ex0Y7e9KmYwW_T%jWnA+#0 zt`t;hQKR7ul3HA(niv{7dU8KQOc9t%6E)wl;p`@iG*EyW{%MRM6VB>M!jMGY+lB!> zu5y4EZeU}#3fvzsZjVtymJ0RTWVpQ87&AV!g6{WU+D*|V7nBJ`$BB*w`Io#pDB4rn|-YTbUv<@M^_AZ^5MkzW#H6%eRU%J=GPlAU7f1!3zfsW!pgOOo@ zjZx|qwHUHoBEfx#0^7AWl-Z%M`d&yal5c6ut)3nz+Hd4@bDhplWY5h{DYmbP897oC zZ3LXQq9S|6Shlj)1FCUP+$hI9!_-J7L5P@`J^L)uujjaEvalR)p$g&j}a6X~i})CultJs_0vo zIVwo5@}xaV%Vgti)U(H^M1w9+9--ZRIrXw$N?*Y78F7Jpv_7mnwm5|5zUCu~gd+hi zs%WR7--%q52)#eC^Eyt__kmbfr<|f)Li3*%V>RZ!?jm=x4xg`=pAG|!rbUMZt~abq zII_|QNHT8fgcrsNWmF323{qKrt1FW9=m+>~Q!JLjOcnc-v`hvKy0Dx$l7U#3DSUi}7AOloIq z0CkNEX{`idRawU${DiGUMeWexa+Kx#8nH1tzdiu*6kP=Mn-7?95wmyC3qi-M+NesV zGOz>pgjIQ}PyJD4EWV?oZ~)uIEo=tZ8NqRiQFdFAb$m5fegzk5l4Xl%0|ncWL^Sp zLNJVhk^CA&cH?|W`h((9A!T2+7{U51%f+qyY(c0;!}=(R`~LcRur6U-%?`BKcPIO6 zr)6cJYVlEBmE1F<;|OeL1+ljsfYy)|t7`N#it&xm&FT2Dh&OkkR&{w210k-?v#@kf z^)*!lZS6PxTaQSxGIudL#a}e-Y=TKI9C_853@;@-fh^x*KIDR>6m4k88Qu~o3%a<4 zQt=FyWKHxw?{D+s!VcSPnZ!f|-bT!5x2bBqaawp4S~=-Q z%STpVWx;J_Z6F{g4uDX?w{GkzZjW{SV2mAg*LoMAeZg&}lYaUQ@UJ zI}9p6NPBII1NK_8csl=C6_|Z`E;|A7YoKalVBUH5y_3dh)j8$~2XD4r5aGOQ8+?B6 zz30ze$~zyrrj7XrA%OSAoF%;g0KXalkem8mqnYaSkmC5%6FYXt^EL$2CbBV#v59Zn@OZP@) z3&bXM8rr4XkIrdj^w4%z6u(tO3xX0>yM7`)$4b+-ELGf8vMpB`vm%R?cP67dTph;hen1uAiYQy3RMYR+t(lXqxDPH@Rl zE}XKbyUAGE+|6equ-lTj^Lp~Pg%qg8bN5s6r|3v)_QjtsX#EnU3IiN9Z5Euj-XN@x zeU$wTvYuNy2JhKJ-ZY9%3OXVI3rE4>XJpLN8521&j6{#_Ld}^(X~iklv~ROy!n|#B zS8YeX!&LSM)7qFr_Xd;rjns*o9`|V0Uh~A^annK18f#^`h$q%33O@XFe$L{3 zylWlnN5i(9z12;yfPNGkb(i%@dr2$xLNw_%9$GYN5`3?651lG{3K~i>sDgPEbiGom z2vf#RS5cJcIK%!(%IZqg5vpF56*S|q1B}xGUUW5D7buu3_`!>-v%q(Mox=SX3!=Ee zU=y@P*C)kl`caI31XC(~Zi+6^M!2yIl%lkD z7}8nyHVMIaT}LTK9G1Z)x?^(*lXj879-+)Das{iabtL00I%v1vCbSSB7dv#gQ#M=Aw+DAnC>f_Y+jzxobcWId1U_b&(fH03-1jPUbjDdGvEKKD`4e=g~a&PE*kr47h!+3 zi~i~g{N3#Q_ujzYjn8;~8Gm|=UzZiHC`GCYJOV{lVjl$eH#OD` zsReg@cOO|jv&bxGCms|QHn=dT>c#!o!-3#YW&>r7kiMJ1C!KcJi7N5`tiXrltnOj$ zSo$s?HFI8*U|N1C9xwFU2s9Y{@RCN^0wC@a&! zt&Q+{qO$p>qx|OOlVD%D zo2dffc=rEI_n#e@h%z*;FggGLZ6#2EuSU$@UfVmkS{T{?>A!q6_2YI#YCXHUa`SZF z_AH|V0EQ;50Aii6_1rr$Yc83jm}bwWr_oKL&UL&=2>9@nu#+ z(s&n#tUsQkKA&F~FC&Y1n@)GNo}SmQ+mhznUJqxF@7sccc28X2YrlV3eztA|(s`}m zX(tw4P4yiHCGBsIt)4cOy^o#V)Vr=(uody*mG^Xa$o%364zK;ZGpkc~f1O_)b8`;m z{j^cF?n8WR+r2%wclmZ+Hf*Z%7*w>_=heW2+h^jnoH^vKX63Y~_e)wYJ89yin)iY? z;{%OH((cE#?DkNQ|C0{g>gyLN=S}a8bNI2L^Oto`_UU(CfeG$&m5r~Su%$bvh&Qem z53x6?_rNFgL)+~2#i{eyu6f-vhBz#^%W{B0N7i{{+Ur%q{f$d14%^sWn3o-m+dGFF z(QRDWE`_6Or|ZfZuaH2LcOczI=UQi5Q~6lJ0E4$>+nQ&mrp9IG`@P_cv3wG4pY7&4 z9sH(OvM`>9Xy!S=XMfdmmwr#x*gR=s-J64YkQZVq38q6EWXIJ8W?K@kmur|}n+Ml9 zGC@^H^j$SPXhF~g66aJ<9ehw#CGUH+j;9*0Cwm}Wds~!IAiDSa$6=qbH^lqh`nyA_ z=3BMba{K0Y?h5D2i=ZU7i%d3|(@#(BOE2!qEUU#&BZdSKP1`@K5r_}=|wnJ!+lIwxbwqR`12YoSDZMr;+E-YoJ)E$W0 zwkVGAM1u=McYHMX%f~qJ%8+ zW}$sDC|udEp&lw;xoYdL{|>0%`^~?7YCVmME`jq{Nv}E@0bx=Wwi2IjzPEp;=EX~_ znsT05Q;(Ks>dGh~k*Q#8YdOe?gv3az89};`GN~i-J-+C(PiLkIY{4#2 ziTLb0a4E%2za>}lhhCoEe4g4z{&96|NtKQ}_#4p!mEZy5H@^pt z4!Kx(0TFu~&!ush((szln<7D!xTu_HF_L^dQ&|A@J_;3q1kIv2M67gcSGo5lHr$+J7SLJ1Y{&HwF1JkD1lB(rS96~-TusDQ# z8Wagg&!Lbl!AV?R0Cj_!yg>Ad0|fzu$p%Wd4#aJt4@!Wm0w2^$I|V+pC17e)^skS5yo_er9`F;1-EBpc?y#1|Nd-4H`l~Ts!D6jld0Bv|n^PXnyve zNz<=Mw0};5Y!h1p^8e%f$_7jlS`a!{=;2(D2wz%J z>i1~yp=th$A`LzSnJYBJU##cioEs3@|D5$dL;3cC^^;C*oygjmoI>jJ_?@`Qj-Hp# zfZl4}>Uaxn3EkpQ!oEpl@zKT2jV_&=-Yv))OP2Q7LaK8Iwr$HpV-_FO;oP(uiEoz! z>#z5YEm~Fs?)-0ki{nl?rb{lj8c&0>SykIERmbx@GKc#IBe~m85u3bPP4_~0kybmj z%X|r%k(Vqnn4hmUFoHC$Q@RM$Yb7}8n*(e34;NleOX<$A1FN01-a}cUmZx^Hhb?FQ zq1IJ9zLil3B^I9K-+OPL?Wj*|zpY$taxKhSvbE7AogT)ZO^xjtut95XFi1J!8g}^S zU~b|_AB334b{G`x?=n1p?t99OLR~Vv-8y=EIA1o$5yKa3*aufH+|wwm;t-FvhN~>a zp|zRU5>2#x^sL7W$~{mj_Sq$@ZJeCDtaSB9CO&4z|Gpt*?{aWfFr9=OK?^=Dt#<(i z8KP7|+b+>rNb`ID=)WqIIUHl$aKH^|7aL8J7avR8dW$V(1EmmLxRes(#AB?Rb^Xbo zAaTCnoi2o=LR>hvY*_2MW2m!mx|k*K4F7figpl&~7=9VqeVP40Fz-(3->`K|d$N3O zQrM&Aee3Li66cZ}7~I+SmS9EuL1)K?X2RpTs*0`EX-Vz%{nOdjD_1FijLzAtEl(G- z&G>BwtUaeF*6vOkT3dGo(pWB@v^@^J=tnO#}DD(6e#WfHL}q6))*j%O+a; znu0{>W00hMEkpK|?Nlu=Dt3sPBL}Uq5y#?Q|TK5=WJX^lJv zrzcElx8AE)*@%n&BFVVSC%?csUR-1cC8&qsCO1VOwsLHJw%BMFtu-aPY}>Zkh&DV?6Wfre#^OErMBXzEA%K7DP=;q^QaKNqY-PYCX z@gw1L;rwOx`0d1oUa$S5nK$Es?rmxa)a?TRemTvxnFmB?v#lv<=$_zNKIWB0cP${V z_`=>EPFQM;bS ~IQ|tF>M6B2&Ia!rywja{l!VxvR@V&gYs%{Y^>exgP%+*7_B- z8jb2c7OYVm)`H;M(n+c>R#~D%>MSiwQG}s%oAW_{z}f9dW;^$!3PZKyclmGCxNrdW zQ>Smo(LJEo8hM3NBk~1ZgxDU=nfbZaY6cBi38cBBV^4t`leod-b}{8z0Y;mNtA+>j zU~wjE=In4}etxvMTuse!-AW`)Nb3Dsa4P66QgDlG44kr2)N5~c_RNJ$Wu%FULRX%u zQ}z0(1Ir;ND@`oc8>i41$0v-cW`lm&`_VG#pEb*9T`n@(b42{b9;Zq+iQC0KEZATR z2%4khsnCqdd(UC!BEv5@n^Jd@P?#DiIG>0GosK(WSS*XhRg|bG6-Hb>*&F@)QN=EZ zGy`~wGVitU+?%}b-d7_mohMwcy)q}p#{yQfE~H5H=H#*u9j zaxqs_8dQ#gix7%a!cOO`q7*yiBkn==C4N^+c?u7Xln!#9@-CB6&tN4oT}gnjxC+{q zET5N@qNmm1=6EQnMfiGWoLVvUN6Xn`5H4cZPHE*zQR8hd;!t{ksPVs1#BrcV~#}pVH0{I&pv4 z*8M%*H?`Tg%CdTS8M~OO)RzGD>+|X3WdR$#Tmn9wp1o_yg}GWuk0lRET9LTal#_j_ zwE9$eK<4@}-9n1E>Nq<{j>&CHXy|#sEw3-N^brXXoV-K|X$6|}n&$j(hrQqul3xZ# zZqK$YoM$QbWl2W~gi)tR8(6>k##FG@oWtpKg0437 zmVt|QaF7RS_r|#_OcZU4q}kg@pReEMP<7~pI`}u>(wIu5G2t~UiG}W(;XReq03=dW&@ZZsk@?TyZJpU~rt&|J zz7Zo~iikQk#;)z<%J=J%b2LU{v|d~TiM^~TPyO+0SgCD9HydB6O&1-{#!psnwJ=~x-^_V;|t$@Yp{jYk2d;4vcS zs0pY+A#uz_VoqNZe+x&J4jN0P?Wtm;LuXo5!K>WO&to#C>^ke3Olm8FPwT3D`KGFWiES6C2=^(60qEn&hu=U?BxTI; zYfH4O1rwS zmnWUQV7a({%yS0G4?$fO@P`Rus0SvP&^lE)o>^7M7v^o+xHng%Z@06?SjZhmkLLII zoyi#_c|Q+V!f-T=#7Yj|Kdw|R=Ya!_Hz#B5q$z~ju%`!ku7vE%!HyWd9*QDAt-!># z3Xl2(EY+v2g0=%%I-y4k7e`P_3{PN~?ksC>y>ghwW-+~nugjw52XClqY+)QlbRbLH z-?2JcEIPStqB=r!KzdMsiESnHA-T=kMxtMV)pKa`q2;jEQs=N4bcf&tTTK11nmO6f=!1XHjSnBm78I!AG$q+SI-Zb%)X)O2v&(d z^vII<*Mj`W4b=p! z4}6fvvOt$XH3vBA7LQ;RzS2yf3R+i&98EN>5BMm!x9u0eWjE=5cf^q{bliq)w^J3c z=A66++VEi=f*vNk6Gu7vytQ3CVO{lo$i*j5 zM~5Fu@?5X?mSFNLTS1uN%y4gZ#3aGqH>qBlm7N|uXPdo}BiSS=4ixFlcC1p?2}x4h z#y+J*@2k5L^IA~$qREdK=`-OufmCAK!nJC%tib$Bp_vrd9ATrd3J|lU58TsjW>CY2 zC8!eUHI|d5Uym3(MVe5q1OR2olMWELHA}VYB^m{5GoViP?^DI{v|aMPk)CLcgIAv3 zq27x>giW_C!wjF61WKXHS$~D2!FY;v{1smOkMOzw2|xN1?vE?bQR>NhXZ0KS#?AbF zR(LM0&b-l4I7^NWv|Y9v`J{kD2tKJ4{XX_Q+M>wM&9x)qcQN|LQm|~5xi?Zr8kTQ+ zraGx3;{8E+s^#;H$(#fr9m-XJn;G0pU%`oRhang7YDu=XwoEbeNg!JQ;au6uqVQ#* zY_%izoO!8#F`LP}MOi#go;H+Ajt|+KgnckBt1%8v$Ve0=GhW z<$~c1Tvmz4=#cQ5vLA_rtDLkcH19=G*kC?&!A6X8cWlLQk#cbA=1N{vkuV&wQd zA779_s0WK9#(>O9SsypwLw@8%E9^JVDb!k~iOs2?`yV}WTD2luy{I$cOpXvqW?QYi zqzHR0Nbw3*%q!h#L~P`4SSN%!&soDVQWgi3eXleOm-kks)Jw)*U(?T|-L6m`E3UgI zO}HywrVkW!@|td77a8D&>Lm5|RX6`>#1%pqZsP8Hsqfu%qgnB7`WeO@BiV_Gait1az9Bo!8F6j@pCWvAQmog>p zlQSV{VLncG-(CVP-XnFPJVJa>owy!8vT)NcD8Fz#m&T!s%#@B&GsNis!2u!uCyw;4 z7&_o~(X}jMwXXfiARRqrF$DRSr1;;*{EBz<9IY+Fd|JI46(@3sJ=BUIiqt?S81N`? ziXd}WAFmAG%+Nem&;UoAVjJTqhMPMtBPxkZ;3Fk<=IbFuJ7*~8XO|97sDNUp%y#S@ zQ23Y%5qJ-Rf}`Rz%acJPB@FMMm$r#4 z8+WB_;itS?)A0p(4q2@CU6x%IQMT{(a>y`W?aE98gm_hKMY<5*;JFTeHRPPt=B2by znC~V+xg>LtN5w#f?}mfhqcV~(n@Sd>9otJ%m@j}3A4iMkf5buIG)M_|N1}6&M_5@Q z$|hYYm$^X%lA!{wQv5&NBp(LJymawD9X|F8Piy(V6pudChqp3|)tU}3Gf8F}2Q3PW zr^_R$z0!vE%IK0M;nRv_lm9NQ$?3uL${s2id~2n(9!9oAOC2izhL#4T(MwhyM(J&j z65FgZj{IFe8~tBC8(MG9vjduh92YC%hqf(I3*4ZJ{}WkI)#M`ybbczu z3rjsj)S8CQqjF^jL1Is~ppp`Q0I&-~uvZFTdglTRi8Z+y%k_9~d^McRueex4R{<7| z7HWC?M89GA!P{ls9`16apF2LHzLGcy96lq!gkb&3d!UFq$51*s!xm(Wr+xq}2EKLR zB9AF8(Ro-~NBz2(ysuhpaCyrikLtC_J3Xi0(SUiqGE^lAuxS0RJ;u%If96OLAW&q- zO#;~A|HuOD?~b%dLKC7cq@w;sSeG$eUKO3fu}JT}W0a)^!_f*DDNQZ12^@zduA7Rp zTt*T`k%>KKz;JbI5Hf&LyS=7OO`0z4%esOB6a$nZfNuw&03ieuJTMGRh&GFgCK$6U zZMXmmWCzY<6m@pO6h`oat$QY9;K+T)K!IAMiV3{IkYOP2(uEq#3jnt!S%5ViEN(en zVb*rK5Fr?4+BXh>BN~|;P@j)lL>r+dxw0A~bli!sjus)BOO4R|K=j`@5|yQ@%M~u> zi2c#M%>74qPmrplt>?KR!xgp@EB4>Ig-5_LBED2Q$e9GF=Hs z+v-$>8cb|~oUf23<-%6e+=DIkvxZnAt)8ii$EsNvX(Q|Jq^S;)b(*D*Oz$ROn9!7x zOp2w~t>XK$7kRa+9Hh_dSd=zVk$nxuv70Q)$Mzdq>W-Q2q<;lX{vE{rzk?Dc_G#`9 zZu&Vw?2!)tKqZ&MT3kt`Bac1xb3`zGb8AOBEEjJ0Gw+0Dh;TS3^EjGbcS8;!@lFn~ zlm6E@4T+fK0$8H~*<^^3$4>fS3JkY)i2XvY`k(nWSjJ%clOlJcNi|m+{{k-?U|Z?G z#uH-=Ss79mzh|+NC0>WvW12ADxsXh%g_-}wgmoByvLx#wfx~2<0W0x^0qb83b8rrD z9Qo3bC;n#W^uHP2q~8Wj#B7$cy2<76pBI0#8?h_a1i$Ie`AsuCTbcijY2Q_GK(Gg{ zr*uIPT+KrNO|W`1BQjjsjpAl%P(59Xnik7zQRebM~j0R5V6lUI6ANmR(K^m zgQpJ>_&yR$?E5OTN0!?B9Bh2{Mkyxs_JjOnFOmz9ksnEOHSuCN19BMJ_kOA%5>ORx%@M0LN7Dxu-F zRbMQtLD5uoKVQdg57M7qcEPtM_c@qFM5`~Lu+(G}Zzj!fEI zv-<~luddj$yvh@lN|PMQ?_P)B;71BAF?1a|+M6A|E!A}snaa?`K{a~HbfRhJc;Ydfg}AcG||40_X5>(?gR)VrvN0#OXJkMrwt8) zm>^Cs>r}n?=A=KpcJ&l8_9PiELNd*Sra&xAN)NEeOn)mV{m|O530?5gL7EU#e}^JW z1$=*7>N7* zg2Wg>DvqV=db&h9mGs-A&@6MV8BimW(rv^n^KnUO9<4Q})XxsF^89@-bJmCzTd#NFHT+BDF>}Rz=V0q>{mMT@N@$#P6omXOGAQAXNOtHyB0DVq|3tD& z{p^}*J7BKx`Vxs;X!glzk=cxcn}?2y$rYKVXGCg?{nb&f4O!jaSw24mY+fUy0lpJX zs7Db+RaFFbL3-rO8GVup(3M5A3{MvPF0S99P2>1j8>VY)l zi^b#96_c^^SKJ#0#Q=>PKv2Y-XErA_grLbOo9yiGS31B18#$UWo!SF&4s@LTs`RePc}N62e64jCY7bJm44{r zrqW;N&6ZcSE`S?gQC9*4XNM2^4BKZ5^(lJrJu+G?cL`?@dMCTUXlUmp;AwNBNmf6kZ??A z{1qPn@_d%&fOhy=_+Q%$7eHE3B)Vbf6G&~@Q>Yoec7R)qUT8_WH1JyjlLq3kf02ve z|3eNV;7Z{7=kSRB7ROmN9z!2)y%!)p=$`|4?biXU(F>4T)al)?KD%=ZwBURMXAqh` zilDt)8-@Nxgy&U*E-|U0)eG=edHxE>Imiu-uG_g7S)2UAIc*Z$Kzga|%e?c_FZ0eJ zz=wS;nnC{4Jj*Q2f0$R@VbPg9u@p!D4~9^E(EF#@+hbT{6Wze(x(a03B`)L;ZY9`A zKuVP0pj)w{4E*>)Hi}~Xa_1hNKIjqFZHnT6)!+J@^K^Plu%!!%8lhkU9{c@*M|y`P zxvi>aLt*FL?=h@F(C9nO-#+vs)=+CD2nvRHb1BvnSrtrJ4Nc}WLM6W*4nx`~RvXM! zTs~l3034@JJ2^{uwsBp5y|>LpmJD;a=Gn;ii;SMUm|Nz)I@;^|d|of+Rd6KLs%??^ zTBc10TH|C>&qI4R)DrYf@Fn6VQD;#EV(?|o(m>iP(PSv$I)=`xCCeN~7Ns~~6tq+H zOM?~XZP}B6OouHbLl+!<*MKgw4LhPae@a$&cD4xRe4oHep<)!&&p1NPN(+_vQd{@l zH+56L-$1v}q@9QEy)t6sQvfy+<5giI_y<7-=woT__Sf|rgttGt_+vS56@)3aY_|)1 zSN`BoS@Ro}G-VSWECL>|WlS9sO=>$~jlO|^fi^T3P-qMC*3e%j0FO_lOrb$1;p7mJ-y&n6)K68psSfjWoyh6Ez6lK_tRJed zSm`9|+|n4YE*~C(DQp)JAD93%lN>Ax6CvCR)`YR$zIUU^oLXMo{_J>X?&aYX{sYuG zRpnHXHu*M+<)Lu`+xg{z&ok(5$*B$DTp%N_FF!x*P+3sm9eNcm>VmYUgXZ$Zw$koH zz;nYib$i6++gtZ`e7D+vmuf1@?Mxn>siJB4ZG~5q?;rlzfR|{U7BY6-yn9|*dd?aL zXUf%6{9NnruwMX`BdhV{zZ0`Cg$P8#`j(h&IG89UPiXKMAl+cY-b)Jpi*^4>bWS}K zq`yD930qJAgd&h=MKBL3SG7Y zett>ujLGpu&XH(Bnu%!BJY&MSYAxtw*BrF#MsUUAUT~#&>j#A&lot-&Q-d8!Dy_@r zTXvBjUT=OTmkl`<;uTZFR!}DJ{XG!nQx0YtlvklN?6 zN0}q*W``eMX;c~N8|A}AY1V`oD6cr8;?=2JPgMjmy<^YoAHr`4r1xta_Fshk{zcd? zs|1wyZ^Au)2w(jnT#0q+=)~}>d}`6@4$7;Dr$Y6VfHz`MhBqSlkHjuLRSEu4|4b~~ z>R=d&J~0S@`gV8krBK+u!On~NCQ0*@bI9k};REGWJXrVzG#gclW#(ka{U3=V`k}m% z;$}*=et`1ADuAHAVN^N4x4Uaybw2aUfbxd38ZRpp)G_dZ@_Ke`##2XT2CIpDc)M--#l^q(lay<p91zx1j>RtigX4^Z)9NQ{J=wpc?t;4&0Z& z+18F7TVEAr1m(4MeY*L26^2srIT!t6N5vsvoB2RIKN zV}<4jzrW^Um=T3-a0+tTFHJw==n8tiA|WL$C=40+VvXF#y9W5Fu_6|TTtjkeZoTdW z;!6Go<{`}uY_pS)QD7xh3ojdha=`sxCo?lrNBnZ;@?P2(9c4ys2bd2~I8(=U^>vHr)*0+TC8v;Jex=|l|*M;%R(DadIlA!F` z-)ma|hI)pSkg+e3vC(;YBDdIku4#L17i+P{4nP2UuF)nHY`!}F{jdTyYcB40;E`+v zs)Cz*go@f|HQH64*RC`|W}ZwLuJ>cjHDbZMtxlr%T(k8~cX?nQ&%?UdW)hW|`Ijy;gimJ9UHp&(=v zPINYi9^2jX89erlct&@?A=`u!fT6I8SZEvUHPV#7;SZVr0bgWb@_h^ROZ>rhvvpe- zVB5g}^M8j^01xdxz2Bk1W0U#-VRp59IlBU*gy}?!L92cT7mbZi5Fw_?u_?H?Z0U#{ zQ7B-QNGx#P$VM%t{86#RFHz`rm0U0(D~IWApPEA%@h*E6CT+*E8R36@Z5EvuL*2@35(K6?Q7`A|)Sf*Vc`4d9gpZ4l42nmR!=7#+RwOx)+%d9EV26V9n z6tF!yzludv9$#}UGSPLXU}Gs3BN-BgdNGEPsTc?x83V1m7es^vw~z_`7Klps(wc-+ zM6x_ja$KD~jG;{d+?GL!Hc`RKO1xRKGAV*ZS9iyNQw=yGW`Zm%kj}2^+`e|%1=pqX zssf2B&ctY7u<*Mw*rm02`8bF&>DPLhFp?`~gdGR*X=zBbNvB3euo%gzDbfpk z21c2utM)N)ZRd5hfrqY4*BUe?Mkg?ZOGwE>x?35(AwBp^7=UlIQ@SA8r~y60gsfjG zdyd9+|Lg)9O3q?~CK)i)L}XwJxnKs>mh6)jS#ZGR?~{7={s~3@1%(m*2Z}yyK!2-d zip}6lCS$TIJ)WC|{&1_(i? xFl_t?IXSe&!lRL*>NNm&6nwO>(L+N2f^`PW=My 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 - -> Figure 1 - Left panel: A directed follow graph; Right panel: A bipartite graph representation of the directed graph - -### Community Detection - Known For -The bipartite follow graph can be used to identify groups of Producers who have similar followers, or who are "Known For" a topic. Specifically, the bipartite follow graph can also be represented as an *m x n* matrix (*A*), where consumers are presented as *u* and producers are represented as *v*. - -Producer-producer similarity is computed as the cosine similarity between users who follow each producer. The resulting cosine similarity values can be used to construct a producer-producer similarity graph, where the nodes are producers and edges are weighted by the corresponding cosine similarity value. Noise removal is performed, such that edges with weights below a specified threshold are deleted from the graph. - -After noise removal has been completed, Metropolis-Hastings sampling-based community detection is then run on the Producer-Producer similarity graph to identify a community affiliation for each producer. This algorithm takes in a parameter *k* for the number of communities to be detected. - - - -> Figure 2 - Left panel: Matrix representation of the follow graph depicted in Figure 1; Middle panel: Producer-Producer similarity is estimated by calculating the cosine similarity between the users who follow each producer; Right panel: Cosine similarity scores are used to create the Producer-Producer similarity graph. A clustering algorithm is run on the graph to identify groups of Producers with similar followers. - -Community affiliation scores are then used to construct an *n x k* "Known For" matrix (*V*). This matrix is maximally sparse, and each Producer is affiliated with at most one community. In production, the Known For dataset covers the top 20M producers and k ~= 145000. In other words, we discover around 145k communities based on Twitter's user follow graph. - - - -> Figure 3 - The clustering algorithm returns community affiliation scores for each producer. These scores are represented in matrix V. - -In the example above, Producer 1 is "Known For" community 2, Producer 2 is "Known For" community 1, and so forth. - -### Consumer Embeddings - User InterestedIn -An Interested In matrix (*U*) can be computed by multiplying the matrix representation of the follow graph (*A*) by the Known For matrix (*V*): - - - -In this toy example, consumer 1 is interested in community 1 only, whereas consumer 3 is interested in all three communities. There is also a noise removal step applied to the Interested In matrix. - -We use the InterestedIn embeddings to capture consumer's long-term interest. The InterestedIn embeddings is one of our major source for consumer-based tweet recommendations. - -### Producer Embeddings -When computing the Known For matrix, each producer can only be Known For a single community. Although this maximally sparse matrix is useful from a computational perspective, we know that our users tweet about many different topics and may be "Known" in many different communities. Producer embeddings ( *Ṽ* ) are used to capture this richer structure of the graph. - -To calculate producer embeddings, the cosine similarity is calculated between each Producer’s follow graph and the Interested In vector for each community. - - - -Producer embeddings are used for producer-based tweet recommendations. For example, we can recommend similar tweets based on an account you just followed. - -### Entity Embeddings -SimClusters can also be used to generate embeddings for different kind of contents, such as -- Tweets (used for Tweet recommendations) -- Topics (used for TopicFollow) - -#### Tweet embeddings -When a tweet is created, its tweet embedding is initialized as an empty vector. -Tweet embeddings are updated each time the tweet is favorited. Specifically, the InterestedIn vector of each user who Fav-ed the tweet is added to the tweet vector. -Since tweet embeddings are updated each time a tweet is favorited, they change over time. - -Tweet embeddings are critical for our tweet recommendation tasks. We can calculate tweet similarity and recommend similar tweets to users based on their tweet engagement history. - -We have a online Heron job that updates the tweet embeddings in realtime, check out [here](summingbird/README.md) for more. - -#### Topic embeddings -Topic embeddings (**R**) are determined by taking the cosine similarity between consumers who are interested in a community and the number of aggregated favorites each consumer has taken on a tweet that has a topic annotation (with some time decay). - - - - -## Project Directory Overview -The whole SimClusters project can be understood as 2 main components -- SimClusters Offline Jobs (Scalding / GCP) -- SimClusters Real-time Streaming Jobs - -### SimClusters Offline Jobs - -**SimClusters Scalding Jobs** - -| Jobs | Code | Description | -|---|---|---| -| KnownFor | [simclusters_v2/scalding/update_known_for/UpdateKnownFor20M145K2020.scala](scalding/update_known_for/UpdateKnownFor20M145K2020.scala) | The job outputs the KnownFor dataset which stores the relationships between clusterId and producerUserId. KnownFor dataset covers the top 20M followed producers. We use this KnownFor dataset (or so-called clusters) to build all other entity embeddings. | -| InterestedIn Embeddings| [simclusters_v2/scalding/InterestedInFromKnownFor.scala](scalding/InterestedInFromKnownFor.scala) | This code implements the job for computing users' interestedIn embedding from the KnownFor dataset. We use this dataset for consumer-based tweet recommendations.| -| Producer Embeddings | [simclusters_v2/scalding/embedding/ProducerEmbeddingsFromInterestedIn.scala](scalding/embedding/ProducerEmbeddingsFromInterestedIn.scala) | The code implements the job for computer producer embeddings, which represents the content user produces. We use this dataset for producer-based tweet recommendations.| -| Semantic Core Entity Embeddings | [simclusters_v2/scalding/embedding/EntityToSimClustersEmbeddingsJob.scala](scalding/embedding/EntityToSimClustersEmbeddingsJob.scala) | The job computes the semantic core entity embeddings. It outputs datasets that stores the "SemanticCore entityId -> List(clusterId)" and "clusterId -> List(SemanticCore entityId))" relationships.| -| Topic Embeddings | [simclusters_v2/scalding/embedding/tfg/FavTfgBasedTopicEmbeddings.scala](scalding/embedding/tfg/FavTfgBasedTopicEmbeddings.scala) | Jobs to generate Fav-based Topic-Follow-Graph (TFG) topic embeddings A topic's fav-based TFG embedding is the sum of its followers' fav-based InterestedIn. We use this embedding for topic related recommendations.| - -**SimClusters GCP Jobs** - -We have a GCP pipeline where we build our SimClusters ANN index via BigQuery. This allows us to do fast iterations and build new embeddings more efficiently compared to Scalding. - -All SimClusters related GCP jobs are under [src/scala/com/twitter/simclusters_v2/scio/bq_generation](scio/bq_generation). - -| Jobs | Code | Description | -|---|---|---| -| PushOpenBased SimClusters ANN Index | [EngagementEventBasedClusterToTweetIndexGenerationJob.scala](scio/bq_generation/simclusters_index_generation/EngagementEventBasedClusterToTweetIndexGenerationJob.scala) | The job builds a clusterId -> TopTweet index based on user-open engagement history. This SANN source is used for candidate generation for Notifications. | -| VideoViewBased SimClusters Index| [EngagementEventBasedClusterToTweetIndexGenerationJob.scala](scio/bq_generation/simclusters_index_generation/EngagementEventBasedClusterToTweetIndexGenerationJob.scala) | The job builds a clusterId -> TopTweet index based on the user's video view history. This SANN source is used for video recommendation on Home.| - -### SimClusters Real-Time Streaming Tweets Jobs - -| Jobs | Code | Description | -|---|---|---| -| Tweet Embedding Job | [simclusters_v2/summingbird/storm/TweetJob.scala](summingbird/storm/TweetJob.scala) | Generate the Tweet embedding and index of tweets for the SimClusters | -| Persistent Tweet Embedding Job| [simclusters_v2/summingbird/storm/PersistentTweetJob.scala](summingbird/storm/PersistentTweetJob.scala) | Persistent the tweet embeddings from MemCache into Manhattan.| \ No newline at end of file diff --git a/src/scala/com/twitter/simclusters_v2/candidate_source/BUILD b/src/scala/com/twitter/simclusters_v2/candidate_source/BUILD deleted file mode 100644 index 7e242cbb9..000000000 --- a/src/scala/com/twitter/simclusters_v2/candidate_source/BUILD +++ /dev/null @@ -1,17 +0,0 @@ -scala_library( - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/storehaus:core", - "frigate/frigate-common:base", - "frigate/frigate-common/src/main/scala/com/twitter/frigate/common/base", - "src/scala/com/twitter/simclusters_v2/common", - "src/scala/com/twitter/simclusters_v2/score", - "src/scala/com/twitter/simclusters_v2/summingbird/stores", - "src/scala/com/twitter/simclusters_v2/tweet_similarity", - "src/thrift/com/twitter/recos/user_tweet_entity_graph:user_tweet_entity_graph-scala", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift-scala", - "src/thrift/com/twitter/wtf/interest:interest-thrift-scala", - "util/util-stats/src/main/scala/com/twitter/finagle/stats", - ], -) diff --git a/src/scala/com/twitter/simclusters_v2/candidate_source/BUILD.docx b/src/scala/com/twitter/simclusters_v2/candidate_source/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..c60fdd867ec1f195af5e0935b57849ab570819ab GIT binary patch literal 36907 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 - rankByScore match { - case ClusterRanker.RankByFavScore => - (clusterId, (score.favScore.getOrElse(0.0), score.followScore.getOrElse(0.0))) - case ClusterRanker.RankByFollowScore => - (clusterId, (score.followScore.getOrElse(0.0), score.favScore.getOrElse(0.0))) - case ClusterRanker.RankByLogFavScore => - (clusterId, (score.logFavScore.getOrElse(0.0), score.followScore.getOrElse(0.0))) - case ClusterRanker.RankByNormalizedLogFavScore => - ( - clusterId, - ( - score.logFavScoreClusterNormalizedOnly.getOrElse(0.0), - score.followScore.getOrElse(0.0))) - case ClusterRanker.RankByNormalizedFavScore => - ( - clusterId, - ( - score.favScoreProducerNormalizedOnly.getOrElse(0.0), - score.followScore.getOrElse(0.0))) - case _ => - ( - clusterId, - ( - score.favScoreProducerNormalizedOnly.getOrElse(0.0), - score.followScore.getOrElse(0.0))) - } - } - rankedClustersWithScores.toSeq - .sortBy(_._2) // sort in ascending order - .takeRight(topK) - .map { case (clusterId, scores) => clusterId -> math.max(scores._1, 1e-4) } - .toMap - } -} diff --git a/src/scala/com/twitter/simclusters_v2/candidate_source/HeavyRanker.docx b/src/scala/com/twitter/simclusters_v2/candidate_source/HeavyRanker.docx new file mode 100644 index 0000000000000000000000000000000000000000..2e861a518695d992042a2438cf5d2d377de3607e GIT binary patch literal 37383 zcmagFWmsIvwm*z(a1HM6?hb+A?ruRFcN!1w7Tnz(g1bWq?iL_GaQA;_X3jY?=id9i zUp5a_wSKbJ?yB0mtCeISp)kR~z~I10)48>(REpx0!NI`BV8FmIK&`ss0DBj6dly4B zPX}{neI^e(+ooiB#Z?j1&u1@KDa=A7-r^`&l5;Yk&JladlCvp%EcN2W! z>N85AFii28X?MOvtM!6iKFw6R;u0tN`k9&qWRN931?%}trxx6MlJTT6i_*J;T=RE|cd zcj-UvjVZakO!&EzJ&5~DX1^>kQE6n^WFUME;Q116bgnM-*{CsLz`4$ClD@&oQr)qB zwYLb_V+av|`u&Gp50m@2Ci@XgeOc7Cs?G+wb;yqsfK4z}?d(s;Y|S@&{@mkL4f;elDJ%O~;4W#->FzIX^u~k07cl~#Fv_-KLLJvz}26uC_@^%yI z{v#-#In{;hRN6&jQ%2c&x!)X*#L0Yba)Wi3c_kElJ0uJRX#zwByzeiNpZ1NRS8(s& z1ytWjKX(@IxvmE0o60ey(CWS<6BeR%#~VL+KO&Y?yq6H_eO@eC-xD6YBg=onls5oV z`bQN#sbod&LDk!U00Tn={WWwlw{>P_`hBfRnEVLIit2wRBsoG^V&AMTQMha%@l(D~ zsOQVXX|X*}x_G6lQ&~b^3%i%-;B42_Vj-gde~G@>Hb~P%dpmG40-0UK4bKZ`R|)ND`8xr zp9NL&&PQ@iUL*Vp6;4uy4*V$Mqcmo~Qrj&Dr@ZZWHrM3lZlRq{F1;JkCjao2gU~v6 zQwyYNNJ0p4X#81#Sp=ds*6XSX_S#dnBpq*6a&X^S&*SVRl_j6)SWl!f-aCZaY)F|5 zR(-jJFh25udQOhH&r_sXtt!QNKgCqhxfl88DWcGJu+0s(=r2+O~yq!>iU&-1)ho%Zj(!jI`=f`}NWElGP7LsDl*z z>%*Xt%6_IfO)U%?!HL@g^g9%Ab`j+?757#RwylU0XD7$aX*Wpyigzuc?~qg8=gpjy zR*D4X!L8}KZ2$&}>W1g$cGei3DgA|A%v#xNF@O%64`hJOk{+{~+3irqo*?@M|UHtXA?-Ku?b-7+$ z#W@Dm#TE(-4E67IF?MkHqbzFU_Ny$Y9Z&R7`YsVxu%gPi34sfuGve!bwF#Lmb7N#5 zfHW!in znME<80`jHiQ-x>gv>@k)-J2urlw>4iDG1{icBpaB3M-oBFew~) z5`0#p&hv>+P}YdvE;sdNhiJK$cDgtMv*aSjL<|m>v+wQ)5Psm87H)|EzuibVRAimf ztb*Z0G#)pQsMeQhhFwOV#C2x8 zjly?oMo6-5ytd-w4pSwmVD%6+MGE1Q2{AssDebA|!GZXqj=q9!G*%8L9-15Fb_lQy zd=Eekon#}3tMtK5XNUOi6W$9d(}f-D!PbMTAmWib3=goi0iG!J1m5;#G-{kEpw)IW zHCbp|XPoHB0#q2DbQC)%VoS1YS{y zU~9?*lYCcpzRtO`tG2-&$Rj=@^K(C748*^|fn7;_X3$?cDf*tvnhC$mx7}wpY;|SZ zBH4}Z@vbGL=b-2AO4Kole3Pl}P{35OG3+7iKtyYSS6s!V>tb9^mBYR^!wvv7{XK-E zIit~@Epr@#?Eby>EGM0U{3%Q^&JHG*lH8hooI}798VN)s`ANJ6>{8kEOL$kwz7zfR z3B9PPdocO*k+Z|C)ImNgfE{OEhV}i9KUt4a1*>WVf^Pj6iL~Gk59V|A@NuM9b@_%A z(@=RjVQl#lOy?zYTm~#up<_Eqh)uyRJ?I1yb1;1{!Y7Bvgp^6(-DjVj8l-w5SV9aM zzEHan%cdVQ%50)6^qtn-JFUE)?hcP@I|GVtfO2K&Et)|ZA%RFq6g+*mIgUAxd}AAm z-yuuSsFX6cN{=;b+CQ}BhQffQ_~Af1Xd3%~K_Py~-FghXnKDNRPj> z$$b^MEAE~15ynia?nWp+PKBmcWvH)VPY(aiBiaikmMQZTV`2z9m0iuNhPwMwlSFf! zy)*LznOdCg+b)qs_0>B~F_zFq5-c?p)_e_EQc9Kz1$;3fLK5(Zn2+;;aXx*Yn7qau zht0`Z(3(Xoz>FD3lab7_(HSJQa2T=1VbB@|SVAJJJz%^m>t$qF_+OrkP4lnX)JR-$ z_I}*d5=x}exE1c>s4i0pQ1q$fE5gqXf7r$R?BM)Jn~GB(qT*|zGDMpC>CKq7oDe5y z?ZC-*fk3%OJJK@AYqUKWsLF9+9`cOR|IMEc-JrTQVNUgffjt~PoIufsh2pM-nBwJj z&F;_5i{EbXRu)3ImcH*feVn2@+)1Jm-Rt}47NvUKS~?QTOi3;_K3q`GYfQ+TbQ1b_ z_hWJ}HfCD=3wYID{+MW`@hBa(+3a&g#x0dbwe_vdJHYT-$&BHHpV$00%`e3M@LCw> z*(JIfTK@iwm+~1^WE!^eGJ5SMItOC_FFI=2>tjCnrm8{j0$r;(?s%ZYzsG`Zu^Y9&)iRJJQFl129yfh0SebonRZ!E~?9ca_~m8 zo+efmSco^fWRJV^47us3_kNoR<{vl5b0nU;vuKU4))9Updgl2ZXvaAFF2BB9ucWK5 zBj_JCX5Aj{Ro24>$(Dc=6)nY<^e^}5p!wjU^a+XfmNwUOmTd<%vqFq@B#BmG9=t}nG>ggq)U@1J!5-?W z$u{MiE)3~>gTm_6oJbqzgz0OUwCRPU?t$SyXHa{8d~`O@(mD=WS_wc)>mM`dpBux! z&!c~C5|cy~gII7spS>dVg(PAY+eg0tl~2`9CskAA6C$;ea4WvIsk?5*Aifi@d&lLQ zLv1%Zd8@jx!H-Md_%V88Ax;DyzdIXB5JbRHgtm^2(pHiv`pX<4GAhacB622IR=488gwUb>;R<~Yu zR@!U{uctfrZYeZq1oojp)h*2%>63F(8tt4Ne7m_fBk+5HH9)XvoF@=3-V1n^*Na9s zgwnXngzRU(H?kVrwOB9(lW^}APZeh?s?Aj0hP*6cj}+yhtWQ@Bwh4JZX~ScEJ(D!x zr2y~Z4GST>D-=~iu)|BJWurW<`Qccw@B9mT0134nw)0A<#=g;-EYHgIObrz8L(q5T zf95*60-HaQ84S!o9U2VfU%7U6@w7E}{$s7u*H7G$s`u^g&Mz>0{$Upv3^qJv50>CY zVC>zQU3bPV&p!L>+c%s~u_uOpl%yiW>MH6QAIlT!`TMf5m1y@gvl7+JUtV(jI&9B? zhQu)$FQ@C={oP1iZMtU~PbHJ5SM31c3$73U!~Us<&S`ea>Wlr$X@>CPFyQqe_U++m z@hql9xaD|P|Nde9qCIuK{pn!#@TNU9boa>frC#9G?(OSF2s3bn*dV3ke7gT2G<9!# zeD%1c;${5!ve9$Rmb*llxU#pWQ}HuzSXBMnwN-!weqfUjQNJZ{IeXY!+um)___Km>ZtCPwt?;RE)+@GE z^w@oT*Sg^W_ahRl$8xY~XU<7X#?yK7&80^=A@}%oB+!Y`>xI{g{3@|xm)6y@%X4K- zSVAn;FNFEEYptujrE)xZkk!wwea*K^Pxq|r7JjKU^wk#jR=J;@ zhNg0#W^*eZzxf)R0R^jb>=)lK2D(zBT35PH6b@En0Xz3U-s*I^rLyt6zUoSGJFc;u<<7*(K@4(f6+5L!QT!FG(io&Ww z+^0@#QYkbb;TuNl6E+KUb?dqwKCv34Mleu&2oIc91Lkj$C+E<#O6*Z15GjG0dg+Cg zYXPAD_8DFVtlz)s-%m&{!3xtljjj#x&KoHhE56JlJz|uEZ`ZeT+prZ+luazEY#L9!Rsi4|?m+uU?pb zI+=ZRxO03NmbtwWJ~iFqPw96~yr`Jbk{W3Z^)1YXKBBfpf*e0`?M=(vC*Uck zGzy>@%baD^5!VtCvZ%%9hVyjtdVXj}pGh?I9nA-e^cL>Bs1KnbjZ9P#IZvX{nMH;A z$eP5n8folDX=UkBbd@CbieQF4OnOpT#>J0t2?}4kEB!VJnC~^lI)*V9Dmz#+3c!_Z zFLGL5%J9DEL@>NQty^{SSDy_OE=Sa|vTw>PY1!>0q84&NeuPuWK%j)`J&|12{UcNdgcbtA{YU7ZR8VEqXV#=1|3z@7 zOb%*6_(MfX2eet<|B(0}s5r07YV5#N(5Sx)bHfMeQ9%WH#cce+NP@`tUlJKf;HW(j z;r>uPm+0Pv+VOkTznco3#T%#G+Pg3eviT%*=1IDUG+cep9>D#y{d9;I+LL=eB1i_L zQYXcgwl;foZThug=q}kg6G&*y?K`$F50BfvGDHb7>83oN4X!`kxVGur4|a(E}s z=s9hK%CJ^On7KK)Msj-!bX&@FM;cu1V)7f#k+wT_N;qiyH4p))*$JqQMJ==Sr4i`6 zdT?Sma(usXzRABZYscNroO*l^k3Bv9!;~9QZ-Z6djmWGsC=YLwP+>pZI-%3FWN(-C z;cd@Xc?{u<_4&%x&&U0&HIV|PXu~}!e$<5h6@>iFRugV z#fk^xY#S~_;TC2+WFy^(H=2`}CC=h288Nd}y%&HzU>6b0__w>ZcGsoen`rC$`t2^l1 z-f23a>5cAxO^81H*qm2w=Gvc(nKiJ@7anv-5#yh@CY{kNWO{tWo^j>3dY+567$o(D zh~wxpEbpU-(vU2}F!I!<6x>#xqyH8+(;`4muG_JFo15JCxtL;+<4n@D8Yh~y^V1p< zvs3grnI-DWe&RD%aOBcb|OjolQ{ z7BkDYZ_8r%`oOai8uRKD7mhu6g=%9=wv&`#pbh(eHaYF@K2x3ZE%}kXdn!=0DZ4%h zC@bIA;J-g~%)p!_ZrMB|dwWfvYoB(1ydJ)My&M|!YJYL`1m3+Szb%|R&K^D=Ij|Ua zytWEw-7-H<4?}ysf}t#Dc(w{b8E&?>qz>PZKB&Y$aT=`!7nGhlJ0nZVk5i53+@>N+ zN8x|%P&>_5X_E~Ce5;;+ddBGP_EGk~;M93mmw0F-c|Za@Vbx;O-z2~^e?+n+eZO>+ z9)MqwBAY(T#90z;rqJ%bA1wCk>L|NIa7vT4)>S~|eJv3(nDg}U^I=>s^o4Fg@${%l zQ8yWZk9&4uK0w>FDJPjKe{B3dgm;Q4Y{DtNQa{*yGiB9me;y{$a?P3tnL03#DWAWk zHL*vXvISjdKp$BXr%fJtk(-rIDVAaF*~yusn7x83MNQ(|S8KY_Bz{Ai_x6R>fN zhjNR>_XfQ`ETIzGG?vS!w>d#34vw*5MMw5=nrt#w;(pqZd zk#JM~S`GnEH;wQOt*Fa&XB?k%v9yK`3$x0c-#>R_U@x}R1C4QzSWWSz9z}3d_~m_z z_>?f~d_`_NRQuWkS!lF$O)=*k2PE4$1j=E1FH3Kf_8;OVc8c z=j>zEI#r@?p!Q_H*UI}!4vm%%@f`~&ktc=?Kt zgtT>I`J<(#wI-@$5O48v)|=Oi_-I1jMGJVdCJsy+WJw%(-)f=6Mp4JMLdIt6aIs{lRINGV%m?-CdREy>qo55U={%vz=m{LlU4n)qw(QOt&+=Nrb$kR>~W7(+}yCirbF z)f`I{c-pBRE}rMG44EZ5MK_Q$*vk~~Q1q%PB(4#@)nacYJKR;$|9GJWVihg8Un$cb zW#3kD&5t5?T+J|f7G>3F6cNYQjPAsbnam}u@MO`{{@@P>tsMqT5l3z<)TY*o^Q$UU zTlAA~lIFK0`>w9q)4L>92ac`1X%Y%eAK_}_BEaAt~qm-vdeAHTuDSUu!@5+7tq+;{)Jq0?Rl#Hy3TN|nO z6ob?&*(ee?6-1cJ3(BFUW+38e7-abg8DxG z!oY52R|{-5z~UNI!dYEq`iIXW>g}UO2@F@I=~tprbZ4e|f>>VS^wfG~j9}?)vsHc^ z!#VZZ1q?5Q_tZ4*_e8a}>Q{7&@ra#)3><*}X1u*zl1 zijKF%{c0_a=A0`d)@EhU9ebCXk+S`l9SGkiC$#xS>_4QEklr*h({d4~6+4EDa7SjS z$`v8X55`}BG~D(~IV;W8rq;4_^7J?Y$RKkK`!y)S^ULst28)jY{@ zm;wG+Ni${c_xRlr@_Kucsd3=3b7j~s$oDxf7nr!3gb7J2WKP3d7hH!)>6(wuk-7Hq zISNA|bUdA@w}zV;hkaF(xO%s+fZc+w`&ai=YI_MvMtAk&dxKqe;0GRoH$q%Ap=}QPvmv1GL+a3tf-qS9Fh=)_R-y!ZPD>#zYmX@J4Mw8X6vg5KL z+%oL!PUB@CG?m-*vfE#EPanmlh*5AD1q+czS&!XhG)}VBca4zFj=K6_@`(aD=1jlb zhIUt>93)3#?OWm@8rJ0b=G0)ETDKbzU7k}tU(H(JV|4z!v%Vqe`jSOiU~{k%NvLNo zQ+Dw3daijk4;f;yIhEj~Kr7Ks@NG!wT*A2$<|nHKl@7-J%DaTGl4JhCON|+;&>i4* zZa8t0rO^zsBa^tFc9spco_Iec^Txsw+V^>Cf>=J1_q zkP3R6cT#c=CYIH=*qz37(rBGn(@Pfl+_wR%=>;vyTXMtfZV+FSfAINlP(d!HX?MUv zQ=g9+!*?F?3?q6#t`IPjM1I5924S;q4Ip-e3mXSwP&+r({6tb0jreIt@p(gvDxce% z$FbNMgcERpoXc$~q|2bU5fq5wu~!?s;gY!v$`Qa-t%*SlV5Thw*!Ra6&w*Zs)*Iw) zSp12k3WAx$5(iX=|D0@DAM{uCZr>|H&TTOga3xeIcHM^WaMBV3@J(GnZ1{5xBaV<= zOQld=TfF0e7udYG#HYJ*w#fONqQV*cgRNm{;MkFlUz>e$qq&r6F0`4gPF(VU3;*(xm(|_Ld3^+D z=`VMg=Y^~wzzWt+w8vk;EbrCL|PIqUMEQf|w6 z+lnNi0s{n(Jb&srS?4e!CiSbY2K9t7Cu&N}HK`hSH+}e4Xh-TNp#|>jjB$&qk=0E3 z8=2}2j24ekUbI^w5ZOx1lcZj)YMrI2wxMSHR&!4^{rllTZo8?uBzN_FX(CLVG-&VH z7q3uU=Qfo-P?9jg(xCJL-T9<~2sAS$hoy_oP7PDu)`>T!#jYd@D#fE%`R!868@nePIa$!PPN`HLuO7BC+O!LpZ!-1`$rvi!l_Ymxm^2|$23Xcg1oSJ)x7$( zZuCa}1|T`YeGY)cMpqg}El_P1rQ)YWXZ(d=ea$4BX}d~eytLtlD*3u}nI%Nr4fw5z zM`}9u?|>N53Q#Bt`hV1Nun$ zg@5Wu6p)cX8z%OOP)B_NQ3Xa3do&N9W~X(QTcO4Mn+J;GUpxxCGC1JdB^OF)wMNcI zL(D96rEoMLOG)1kMb)lZc)zwuis<+0RvjrH^fIVHsWCtt;i6z7t3l13zdo_Px5D;W z!3H07OK47{9ck@4i>@ZOM2V3zoNt7a?wX;SpItgQqK8PBw%T!a#RT^Z#V7{3>W43b z)2ihqRG|0|n{mW{vGKb8f3nexcm!}?P%p+e9DFLNvDSg2*!+}yWcADW1`B-jfa9W# zFT%g0A$?X-*k_Nnr4Dn1q^cvqD*n@{%Y)1sR(dN{Qzhwt*VEb)6u> z6ZleN0VN(KG^PHhvthGB?Q<(#D2i2?6@_9F(}xC<)$kK8hsW|_Ns-HFjk4?^Ax%?7 zkxO1dpXwO0TzVy_4g#Q@q)0Fs386mYzs(^KHpxr&#NY@{MBCe=DW#rkRCvLKP-B6w z(*B>>q#1$AKJy4V9ytt*%4qvvipLV+FI=6&1z;x5PF36{#Eyj#>h?+PsCHmFH$US{ zezT|C6ur)9al8F=?u_sSc5CHp<2$7?eI10tOD0CBW}uSFJN4%ubOcsii8L=Jxg@Wn z6|atMkCzX%eu&0%zMY7aG(`B(9}FDH+mMGegYKzAYo_if5ew64A2}Q0V%KyH?=-4A zNmF`r#nshCgCRXw!+>evnOzI-C;>E9oEH;)Nwvs|pA!?zJjFP9+Za?xQUXU*hOU;4 zdIc-dZFc;n1LO!%dHqKr$zTRFen6uc9wHd#jo4DN9S4H7nFch#O5LTk#TDRh{TwjD z6MoX?MlM(mztgGzveSDkfDI`O%+iu0#b*k<@R_h`w8@hvMWxM6oC0$q`H%xX&=cd3 ziY>uVOwaI{tRZWpvL-H#cag<=$2>>-9q(807zGBYO~^$2k4EW)%N3N7wAlpXrmW{z zrs0E__1kL(3{;s40bDDX5b+RcVkAyrs&EqT!UjhW$*^a!u*Kt-70ec(A)H{@&0~KZ zu}6}A;O?0TAN=XPW2(v^Rl^S3WX3vJaOS}P0|X-sXFWUtr#^7^IJe7 z7;hW~4Y-L2gOmYk-IwZG+=vM`vIZv9IDTz1?|tdNX(X>m*HJEB%#-=;ds*IVn0`(*1CY^>?nVdy=6e0!1v!89<#Yi}PlfNInEhN#!O^fL!gO*A>STo~ zH6N*#@djpTfGgY%ef5{l#{_L#a{~;MoeZrZ>MpCy(QmuSxR#9Nlv6U94XY$UJSD)d zn){jahPLG`^wglnL>|jUm4pE^JEQSWJDH%MsXv2w{%26~leq zNVezlnHb~u1H94f@4Y(E4=N>_e)qfKo1q@eDc+4`HeAwx$-dBl?PUJZ&PXXEw*b>@ zN<9^B?z59Ql=e>0Al!K&U*~s!I}%%%^HGVn`INS&Lr@XW0n$<7kM@)VGcMM&MS&b1 z>XeIcXFN-`YY)mP?MUlClyHrZOqJ!FCi7bEvErvZvf}?oVIJW=p{qzH#^j$0-TtS- z%gn3L$@tAmE-&Rg(Ua2mPNPnxda#!RdEXgFW~&R|v+sGT4T|?7_m(fH!D`!@Jd4+E zX2ryB68>JHe?DxkcQd@T3wPv%DC5fLg`!%ytuf3pKaMv2ygB$8J)u|~Q!=;ruy0im zWnoj#%u-UaY{2P705j$CtM0VFPv-QiWHc{q{fz-=VxMG$nE@bw&OT%Dt!i%AUujh) z*)O$D@*5&L(!Ycc-U^JLZb4R{%P(ff_V ze^bl;L5&WghL!!j`<`gqSU^fK`h(idY#c<*&-EwucS?*%EqH6%YBRt1&!>8>- zrxE;7Re3ME{cJV^LxB4)Qmw#_W{UP>VT?#}k1$PS+1ddIEi$uh`~Czj(~{}h0g=w# zUi9C)?4tKA-gEE%BENMV0g`&FUc;-$+gU!x>Ho^Nw_OA$8gl}Jej(yC(xnJD*(pd~uQuxH6g&c7h z4X8^R@?FXmrCZ_Em@V*=@64(?x^Qpak7KYb-O?WDPyfbw zQ}|V|%z@mtL?~rlBV=^IgE1}u{zj~J&YKjK@)(Q~V`+jx__(P_91qIvah<-8#G1+m zxNEGM^+S&BG(6i%Vj9ZUvV0$(`qOt+^$+?R4iO7LL-a`*ofibMbeMcAEW$is6^0)F!zVW(!NoW4?B5 zb5y+u$*0dYK4M95AW6)Qd7En=b=HR!yZRTybF|0jJgpq%LP7|>oKjk#$|rJmUwkW5 zNT+&#Co#*BZw1lJu6`9g%W+s%Ucdz4leg&vWSw$Uxk01JL(Vi_ZUm%wor&aI5$0M! zOm_b`=xXMR2oO>1_NK>^m^GUO2)L9d7Rw9?&TvG3O7}mJoA=q}koPJ-DjmmHm|Z#B zE#sB1Fcg)T72&ArNG&hgkWK!i1N$jmgk7R1@GXUpq0i0h`s-rlzdY*P6^{=74eZK$ z*6a_Hha6QmT|-}I8(02iQdakq3w2t3s9->vSI-wW8(U=`>VJ3&zHJ8R$1`tbI%0J_@+MU;XfN#LW zo{N$GI=D4q-Tt-Em}ZR9i-<~#+5r|1*@KA6O40#_LlKVi1NsJP!6bH{!2*?mNT)hyN6*P{(jekFP%aoJLjFE*)OIQl9+~}@Xw@s2iin*xxD$y! z322+)0nQ|i&OCy61aF{pj4)%|0d|GkhbYIK0eeMi*+en^A92y5zs2DOpNn1CjEtIW z@&2kMX6+|x1cH-5|GvQ1gDx=5KyU_Wx0k@i+^#L?qLWd=Aw-r~(vBVjOqNS2p(kDD zl+>oLK=3P#`Ev;OP%mue9`{lV1DaF!j44=Cg{5{-@=nS@$vc6A9SN{)h5Bdm>~i$} zN?vWJZP%B{r9_s$6e9E^?i~|skK|+!>X4hEgBZir(I9sQnlnVvz*h7kOO@=4DX;;YdTkTc8h-sc9{9i&0W^F zo&Ta8`JA8n%e#X$-)51|)GRcmf{Hh_aX^9jf^=?1!4-jAwW|Uo>uzUDM4WLne^OVAUd7p8^x?1I`m#y$1NaMp z`j|HSAq~tv{K54b+`zNaFZ3JK^Q9st3mriGL(}GwLe@iBKIVDrxnxh1&AQ9J=7!ui z6#$j=L=EHwfXyLm&VE)dm``aRl)T^v_;-j#K!}3CFFEI}2@^F=YuPN_*mxMtz0VB7 za7$PU3##Z>>|kr?SI7BiVGr9Z-SIg0wno!($Bb;*5I5k9A3krHJddsKV>btkW4^7_~I-<{>pL@2G zdbIz$RMRq;NY?=OXF_!4t_ezOaFohW=9kodvAaGhyOK{T zu#<0EXHB}-tc4!!T0?hVim%w-h_94xeV`3Q01`6aH#uRZGkI)2=avK#_Z4RIJJ8@m zs-4d+KFOzDdhI@|owGM>g=RzE+(6LX=iy}_0E-ob#|Xb%^9>~URJd|&b_Noc$5voH z)7_qy=S<2#3x7mYJ3sd7t%=59aqWHjE%+Ig>Sm4C86-IHKY{~u%Ake+6x{n;@cD1S z)%eG*ZmbU)$F^PG(86lOn)LU{#G|$q#G`V50eke;BnQR*3s~u^i&+fL))3kU1CRx~^=?^60u? ztsn3s+Q)7E%OGLt)}rXZP=0d(uAN(;in2iq13d39 zK}TWe)E@G2PIol@Lpm>V)A|h9@ad<2AT7Y~Yi+$B5axvyB4(@78x;-GTZ}ZPbqq_x z$oQ-mXc1S%B2pruu8)ALh*GMXe|O!4GCf|x372n10}wRsS)iyEZQ>Z#+aRzy3Lk@1 z$Fc=FfK`I;eLk9*kynQ(Rq9rU7hM~@I~EtZ?DA;=!rKLILG`jujZmU0kaR?ntU3Ma zF=u8Y!QFs)*Rrn6Vh*?>BiRu1=P-(W6}c!*T1I4vsgQ%_F%YQ#3O3w3td2o&hCzTM z)El$K(|f_x=eSr;Fuo53)_Z|HrRo5B<3E5T=CJ1BeGMDKT{L0P!9 z!G|4_%fN;ss}c|$2-c|5{-i(P_=~>8)KXvz8f1QdyA{wL3EsXx$noFdw2;HQ_b=Dj zC9Jcpvwv$oEJQPmUM2D+-@jU9oqvn+I)>CcO6=V;k*ZEcth?lS#OhEM(YI=eae!WIg9h)2E3Dy^Rw2<_i%Id^ zDcV>{!2JUMj$tvLjlC2C76TW%rw>YslBk#+%0n`KGD*AaHv>71Lh3y zv2p@Rg9@}>CXePTH7bWETTP4whMzrjFtrX&C{#viX~SwQd)P8E+~VO{yh)gtqaSjX ztmzr)GcAsf;jysPv1L^T42?a{_^??5ILze3?CRN=zeHR9l3c3PrPQFB9*cOf^Q?Tg zv7e&#o{fI|rg}_H1UV^r?{U@wrb)XD$4(239s@U7D{ZRM7W0zLt&?$8sn)qtj>IiI z*)=IS`uSqSA_rx}wm_y*j;wP(DI)`&DfQUg90~V}R+_?sh^cw@@v3t?a{Ea`eaL|) z`-Lu}rTNjj;wAJi!$w8o8Iett@^Vg%HA9r<|ddFu{WYB0#>Rns@fl{NGmHw); z2Wcr$sTs@iKr2n;7drhh4SmDVsqIAd2pj%4P&L&Uo0wl#RxXib4v%g5_Jt>tHn4#!kWG(4ZIS)Gq7cFk zKDWVXFECZ0%r<`%t*qp)v^|Yk1IPDbeL}_f8>5%DHY5y{MsXtNH!W?JyG-78b{G(2 zVlwpAV3e~0-?2t`a(He1PYEg^tVqLVCe*lI zd%4&Uzw{B$;5UuiV@AN2VK<1MEO%iNY53aLWMHuM+vS~fd`7b zNP1~45y)7tu1f+Jq+-u>nD3W@-;JezpIa2%BV{hnh?6isLxqb=lDFTXN8csxZHKWH zOU>BXgOHr2uI?rcJuldw8}*)pVw>Ef&R+3W{draTDVmrn=%?nlH?U63Z#`f;(PDWb zHx?s5^^Y=0;qg(qN-^+D?QpD72q!?()3m+HthSHR8@o*~s;xVwoFqX5B5qzlsH8Z2 z!-W9FZlA#tl>+D)RkBd29)~R&bIY3)o)%T56oa<(1lt;g_P*f3ObEN{Oo1fiF-M!c zkOlPJxJ5tN{(^czyci@(q`R#P3;y&HVx=|+NaZgetlvPo{|2)A4K(LB(Fv5!d$nAE zqm5cGGmjLo#fkd^L7)OOw>UD}V$g!#`;n>8EW@WsA)IH$1!Ka|&P8A*-6AxFVjc-A z=m;17;R91DfSs_xy@17A4>uYU&qJ$&9MVRZP=7jT4J%%3RBD7n#UBt%Q79svr%;&N ztX?VzibE@TB>mHY5eoHG(n}MrGke60G$<2;x+O|a;hkPYOqF4nA8$pA;~{*ADM+Ek z5M0Tio3g}CKyk6_vmgg=6L_T1n{GI4giKLV2uK19I{~S#Ib>xA0jb=D4iAeL#BV77 zJhyM;892+!2?pj|0|SQl&vW~lRxY0;EiBAUUH&}6@2j6$AXR_z^nlfLG^m)J0!BJI z?mLAJF=Q~ldy#f~FH})6r=MP(aP*O`1$2sEB*!0pBvyJP_yqWcR^)wL8@ux`a@hT= z->Zjb*OPDCdKK64-R8SDuKRuaHsF##^+L|3-_@DnE`WM-?c_G{W_QQ4!JzAHe|qmU z?eX>4z5OL;dVF2~^6BQZy`~1`>@4RNbhLk?b5&4)(Ga`6yR(w0Ib(f)_7#AV zk?NkIn4^I*?rzAvI_y4W#KZI4y?C;3+_p+Nv>$nM7PSX9uTEC<+AtC;e9_9cGj7)0SKC$> z>2kTLp=ZG7jtyHJ;+#bOk6zDAl0RPj-WJ#O>jebuiTd_R23N0usYJX4tFQHfg#1K& z!~$=w&-@#eckS&pn~ZKK74tQtFO*f?mFVKa6ASJ0zD^cxODC4?^JLy^e1x*o!bLc2 zeh;;)mdLOb!}BlgnK$c(qw3wv*_)gEQT{-JLA)uz8Tc9RfP!s#@jj*>C!E4vUw)8vB?&{m=@s%4p z>AKA9+q8B=?A5`8lbxGGrafrx;-mD3^IOMh_gV44jMv&tdzD*V({V>QTS?{`#mIGQ zO+d5>4^UovV|}xwVpzw!AmOEIsE>I%GIVctA9Pf(^U3vL*q}To9<5~~Y>f_!soC&;e@Dx{d767VJcNf%|~j?Vd==e#J1#p^DM8jW!WWxGx%C*AVYT}>zfd9* zwD;smAw-a3Z4rVN`I0VlC7NwL!~&+fE>Kotwc1}a@I|u+uUCq}DB9t}{+6#AKU*m1 zH-u^Zm?tq4#&K>R?1w_pYo)g2;I+utAb2X#?7=7RwILS5n*F_G2Xw(gMf({2`|-B1 zdyJzU5Vy|9%9_EDRnG<80JHH40EBf~! zk4Zalg5uKOD2>12|3LZsfWM>s?<#OPTc91j=CzEB%6NYtV8g;`~Dl}?*snkxmKzXdQO*Y12haBH0-xE zWE-annMdT?tIL?DkUi2pU8?6AnZyn-pwFBiqcCI3_zmRnF(anN^faAO$_~=CQNx4N z@STjmZXf}xcSY=U#pHHTsW9MOl+C8m+rjf`=-yt|Sl=B+6uykG$2f4qjmPcrl&{U_ z?ZD>ykd9Kvw(4(;-teY;(I=M0PdNyPY;+ z*WF_zqNusetrq1n~%UIvT(S!NN@rNJF*UwgUlX^~s zVOJrlZKph$Q$A>E&o}06J}c#!c`07`nOv*{iCttiWzp_eK&siPtCd~rE;D+ z-0a)s03{w~&!$uP+t$QR$;Z|ft2R@8SHIpX4z^Ssj(!K|I)k2HSJR26{8rOrOiyDy zPcMkSzid4-R0~Ixz(NtP@c+U(JHrW;-|^yE$DQSUe-LFRl#_+2U?!BEW#)Z6Cyrp` zR^I#T6I25^)c*6MCD@2!4y<#a&k|{z_k|g5usI2HK%*hDRSx!dd(J}r=s340D60}c zTya2&CX%8exqu+4hk=ZhCCTv$(z5y~3j3Bo`R6NX^2`sup$(Qona;H?0^C9ovjo39 z2xcMXYhcQ2(EcA`Zvhn7wsi~R?(XjH9^9pIcXx*b3-0dj?(XhRa0~8E@C1Uq&N=tq zchC2~_x|c)Q&cr$jxpBWtLK`#*Pi9RI{|!b#O0f|wpAoVnn51bsKW=nL2Exy!h1ws z>R|T2F2rcUe00j*i$e~>w| zig;F9>BO;>coPGw9T8(g!VJhzjjfm}dkRBPoqkqIjH!g{7IVJQ5SkZM7*M5@tpZ$cNx8qOTsZw_YeFsdl*fKL_#F4H`pM&*B_iiiZa zKf*Xqpzec_F2g9hO~ux!vO+(4$OZ|0wrXF&#kbhGSKY`r3>p(y>{4nP`msoGU-o74 zUACvV>mW6^H`x{En`z(ux79D6-VDCGNFKO@uoxFh4W7CJc^)yh4thwVL(Yw#w%znz z!~t6?9%t>{WWFv5ZP*Okm)U7~JSFhQob#v$u#2LK*Zr;mm*<{QE`|RFWFys}NWASzJ zlcl@j0;5t|!NK*~9g0OToH^+lVb;8-Nn>C}p)TU$? zmqKxw(}7HLs_WaM&a#mgSDo?4n=jz(+^j)xDVaTzIf~(?EmdbvrvkYwB#CbT?ag4E0#-=&C$^d&WDk=v6A?D*k4{ z-(qua$hX`)!Ms!fJ-H)X_ilPyzm*)d&3tx-2D^W!N*JiDV0ev9{H4R4gV*WZ`Fp?_ zd#}UiiB_R+cB(0wNMY+vu8$=LcH^CQDr1Bm-D!YEF$2$vix>~$DLD^SU)_$U9BDP~ z8Oo@Qy*U4z7~A?W z){dX_QxpaLz)L=Qf|V7DDpQV}6ee8e6A9I!fBFMBN~pOxiuhnf&hn1n(q* zdcy1H{rKn1nAEUE8M3mh+r}T|P}p9LpY_bu8jyQ%wW?j%k~I^IpQT2`M&cstcEB#% zvKs4d6;I4GVME#TVpPf_XebHm*6`EdK&Ic@vnel8QbR;dd3T9c(3 za(SWd_Vs$<@tJAeE)V_OaJ%4sz-l+e&FVerylv1|8tx`@yO+^Id~NG{2i>!hnlDqG zW%fcR0Mk>N%{&iAYSiA*Y_d~}Gi6HXDB$$ZJ%d2Zx=;0zQRMypji>?Ruc|4$D zbOzUKGuvlBi(EvIN>|M`c=f2#`Z&8(xh7?q5BK{KviQ|&>B2YKuV%)Vy+6!-r#CA6 z%G%@egR#iY~+yRCuDA;Ww_O>nlC+Gy}WgZbCBK1+rq}w zjD3e~iE>E&bf2$ocbPpebLKQ4`%fTmpkG_U`i8*L1?E11G7Ky2w9m)Eg5$imZeIV8 zQPP8MPW5-vW6Nb?xY_gUSi|b@xjQLaz8Be*`OuFiBt|-3*Y>)kA?%2X?z`SjbNFt?e&2PV>VP0ASVW=ZC|W% ziNsKp;$-VT(8>z4TDn@z=QhL>30K`YzP!7sC4c~Ntzhko9_p={a9oUkJ+tKcb(P+G zqp0s1@kEzpp^N2*E|-(z?zWPc27U`h7x+{;O+Fq>Hm@<9kcOUd?(xHq#JgxoiIy}6ydFSq4`NN^OUUL>}9_UwqS5jXK&#%+pH zO}-f6wgh{FBecedv~#~5FZ*JIkW4LHPjQ}Erz6Rzx0>XR42#3r2Z^j?dFRflHoAEvtj;%aUD}K zB)q#F4Y8SJ$F&IPcO z9#E)_QIgFpgZp!y=)`hqknVytod5 zrtX1`T*opFG?|~voSi8|`$K*s%J1zSzwSJ{Jmp$*yt%@5Hv`+#?!mq{TC=3I&F1nW z#$~m|t)5+1)lhn^ifqvrthAswgpxW)n$nI2d{tPZ{_Ft)qYFZM<#lUT4X7)U*F-dA z@YX(_I&z&}L5 z;)c|GRRW5`2rjm)TP5G0^SDCO=$Phhdv63>?_!|dtem=bpv{{t2h4LDm5?F2Mg0tvAg;us{WGD(;)F@M+ zhqa~lRNt!Y>@Uv7i|;q8B708m)o`BGVBVz8*1$Q|z&a`jhPA~aY$2Y2lo`0~)o7p9 z7$f2EL4SW*0f|lxC^)ZCFO{10vc>3_->WfawiR&g`1Qa}!Q6SdB=+6i!&bq|7Pxmx zb!1T2c2GA-QKpuB&tr&orUF~v!&bw~HXS_lTR>|MCrFXGQMs3G%KCQGHl9S~7Z2O@ zDLlntrdzT`Tpqy9`Gl#l4ydORd!ep`Ja2tEDKWZch3h&S_Aw z6XA_*JpXw%7PX$1$-_r&#~3o#Pu(q-<}oKJ*m=I8W;JO!Ueb}sjx{olHU4crWQIVB z9=3O|2kyl|jy!t;kA?7#GqR3|uKjbobFFPqM$HHaw2oIlHkM6O(mwOlU1yu4C-w7+ z@x7-m-V)<6tDVd(zB=M%hRIpy%5}tWU%WBdd;hH0dCNrF{{1^`#E)x(*a8-1VKfa^ zKl@4}>T=@Ljp5TrvcdT4(U3zPFF`et<_M|vrt!Io?`gq0Y@v1(rW9?#Q<9o)0q2AL ze&HnKagAikNbH$-9xY_e*G@B zQjuH}(0W1;{C=vP!IBi8+;hO0d-8G)$(1Fum^-ytC4WP=qdpWw8q!kPB%@FKv;EJ< zD_Ry6y2mV4WAQ4xH2^39%sV5%7(;0YA@l+HjM%Mzw53>;6a++!on;tfaSri-rgLp_ zwPuFs3cvyavn1+@cf_LM-#yb0BJ3bE?j8n1Cl_fU27y5-fl4-R5SmyRnv7xoeAbBo z!$d?AnW_5=g{)p5y}qnc-#WZMyYaIQW(#w+Z4aK=^-$L;?MG$cr^gU`Y4Nze4gog)TK%{wriQ6bhMect4Ut zf3C`82`QMX4XrIE&Iavc42npUYC5yH(JaO&f`c&>xwz3Sc@WZCSE?JGIEaxIRA|1} zxs);wP;F(I!?o2HQ3&CDtjtB4um-S0`%oAVm)|0_{NlT}p)idvpF|->gJFI}^-N7W zC9Ieqw@Lp-Ytk+DtUw892OSs*S_Bb=fI(d=fOVS1*`n9D%2dZALt!s)U0 zL3J~OyAOf6%ot1`VEp3&gRj{fsP}3jAOr>kVWuBNRdI+XTRbVMrrPWLDE2e8I0%GI z0dI^84!!WUMK}ma8}VVM7zFt?$^Z;07`hmQ0ZZ1boQ*~toNu5w9c#c!30eefGjo!p ze7TV{7ME$EbNUs_+R)^46bCaV845Q^yN46r|KuYp24O$7=V!M*Vvu&r`MW9dWCjEXAo+KIsISv7(6ZkO{Fyx;%fJ*#MkMw(N zWGHQRV@7u{>^^nFyGhZ7kE6Spqqm)-r(1e5EJO~b{C@YwFo2KvhhYXeJ|-HAdh%HG zOV$1};>nBH;YSTyE<{2HCknV4uyNzO#g@o=8O(}COZY~AZX z7573FF?7>Fcd<(eRG+~__OwQwnUYDBW+U~{)|5`LAM!^p>W6`^EJyEnbNw_&-yDwE zcDDx`LTy|;V#2_pkGC4{H|1=PYQRKb+9$ZWoo<8R)x4*A`r}8- zPoF*BMm^pF`12HH&*j=v@ROHH>&yTaQ<`iv4SV$KNp~;ijDr_pt2^PV%tDlShGsfi z7MX@t(FKl+BruYiCp2<9dhVrAb$LS0SK+yn^YpZyKfc9vym z)=UuQ(-RbDxhdyhc8;fu69v>0YKMh5m7W{%Oh zHqnGZA9s0=H=t|jSv?t9H!mAMUux<+?FURBOUKs1cfY34Kf4_AC3%pI!Vx zw{mfru>`MI+GnlM%JSZ^GPN|24~k>eY_RA0*21HaBH#Qq7X*VQUs!<%Zv@9EP8L>_r3t$fWtt>?z2ns#L?tKQ=^>UwoZWSpGTh=31Uw_u z3JL>3DyX!(=-@p6 z0?N!ZY8pxAGB|=6ULmfMQL@#jrr~-)bsfSygEy`?`yY&#j=?C_ej?1q5GxC2dD2V~ zjwaXV3y@+y(!Enc>u`(Xa5E|F?*kVeuxp9)rIHu;#SaekV> z8JJ^y>K860%>;#%jIiiUxB5)`1<2=5d?*gmOyiK%V#(;T-mxdjSFmZ)%!qxALR{Rx z#kl-m#aL-_{I+hXqRq%K5K*CG|E;6Lf38K;$a{lbsgu{AM{k=0-ZP`4i~F7T#ov^T zwgpMQRz8iMX=}ryY5T_lZ-cj1jjux2!`s``zEIW`a+8^}jH7i1%g4Gy%Xn@yU~J)D z@hoK8Q1J38V`$*qc{wt#9MNJJpHa+M#ib#%ftxU_+R_PcI|$Qzy;4~X!|-lHOzfIh zSQr6JhFFKB%JZdew~dgP*86gG+3VwdJ7(sKc+01Fu)HHWNWa6DWcOVWCwS~kNhf%B z9>uRts^O|$1N(Nw6xbAPsQCfMbZi9IzO8l?BJQBUlBW)*q0Shr;0CQ|1~GBP0M9D; zj$>M82~16;?ZJ>zSn$5<26eWXiPa>Wop7@}6G<9T)d)Jmzl4!};!dAg|lFoxD z>+8dJQdb4tc*HU}cN%HNQ>q4$cy{^SA@B-C-64259p)pH`Q6!9L3e?7TwokZ1`?%1 zTeGP#6g15Ka|lO|MKlDg&jq&hN6SB@&y(9a!)0^tRMeC}j~Ml=@QxVG>c2746M-Hb z*%2pWC;w4#N5@9^w+c_tU<(7g@F5ws*Y~?urOzt=(xIAv0@U&D`fnZY6Pt}}Wd9Em z?uFXfej|@BN~tOaU;nZKJ^harPb&Y0cq#{4f&TxnV$}FBWaJR)B&;#%&c=trb8_l- z9dBgSrq>vu?UOIa=bHF8hAf-8%xN25+303_`wob%zHeJUFbt>H-#B*~09?|?>WNl- zxp)GOpf)xD<2TP;+*;WnJ7u%}VH8t)ytB_LANXvuwo)-f8gDqRp;GJP@fUy}Vb%tG zhvV~p8yBsI;uOl#tS}|(XSC`_SLmM9&cF9T5>=)!+;HBfGmy-WY|N zxdcuo+7uIn2oFWfsRT$ebQEAFH(sE{ti_8I2S^t|YQ5pOH<{z5EH$T}mjoddgx+>m zbFTaFGcGr?AfVXtkSrx?4c*@%n18bj=R~oUzEg;DB@}Dao=UW(mtCoNcqzr_f1x&nCJZcO3OwXs+3Mgxg>w?1*vM4xm22!OY0&#?fj5K} zs|50_vKAu+F?2{~K!%#iqLm4t%M`u4&#M$>i93mDRb*qE7L*;Rv7S| zqS)fl1#n`jbuzAS2>pkvvgKGobrX04lnJ6t46$>qsWc?1wo43{1W*jB4&6$4ifBWi z#%KL%RD8BSikd;Hh>ILrwTe{6;Z%Fv=15mqdixqmpES!xGOXv|I4Msb>mK>>ruU>QA{F3n)s zs>!mLRHh;E4daE%8YwJKIz(~KAcGI%A;GjztT-)kxzpHYi2_X%Q_)nfyZmpm zco??tz51UtGy`PoNNC?V9Q3o!vJ3YR7yRthPke58z69|=vs4(xcC%KbsUFTu3}YSD zU~1fjUcRja_Xt*gLVj+Ma@8LhtYoU;`pWRI=`*I0lI#YnUDPQaL;8G~xb7k0^J)=V z<6M*|i1hO?6JfzGJIQu4w{7knoVH%LHZxy}OIjNpqnX7U7nYIWPqNpnhQZ6K#zrlM z2+Y9Z#VEa19^(58Nko!cU?R)=a?zztpoGjQl#OEpsPJUaEe}YLo~hFj#gz}pD^y3$ zBh5T3rIiy9)L6Z76$tA*2%_a&i20VI^40VaFkMwrdesmnlWmk6s3kCA8Q@eTw4?GP zU#evM=`3!D#y4cO&J{+Yk%G*-nXR3#$4X!0Z1r=-hGcE6n@ zB~HsZJd)9fVWvz^C`nKTp{XfPYufRof7k3Fe(4ydjRP8Kcp!9Efm@|a9tRaQ!tTF zz51JYT3IAU#;Gu7Q`-EYV-{49^90$cCXh0)7CbFu?g6BnR4Da7D3gKxlQK{Gtc9Jy zNTv~&l0-}#g(4=epk=|YNb?0gcJWvfQ(h)1;_OT;>gHGbsd~-#70PltzXO$SwPsHd zw8>=w97|}ID``d>muTff$oWHJOGm`A^FxuCPuy!E`^6i|y21`v4iw57{TYQ(##nQB z(wm!x#W(FC*eDp>qqep0`?UULUvH+7KW<$>H3{X$-8B%WWWlb{FY{6`^yWc8N$`n< z?hTzX;I5aEl6GH2gr^gW64~!yptdO5~olPjR@M5R#?a zc1m*gd=Aa~Q3c)Jaiw4Xg;bX%@gl5d7q9X30`NW>s7zZviC}|%y!A#@F z>FMS=)$o-6C=G=JDy2{ZDg`JBg2y}YB`|JF!&+h}%5LkJJYrK2Nb{r>aBs4P1%np@ zDe-zNFvOAaiw_)vV@dNoEnSeLIJHl-cLxv6{)Fwlu=U08Cf{>X({iSvuNEE*2v$8m zP=xADlYvapRqF;bMM-lK*GWro691kS?44xx*BkL7me{piwj^XNlD#!msVKFMc05x-26?t#$8J9#1HI$;5yAwLVv5btzZ;V6>@AC?w9 zCCBsXlShILxc@sWS%sK(0>)oq`7#bFexxwa`3A5`C#zsu=~uc`3jbycQGv`%tBRtt z6K+PJ%LA3>$tm};DGWxJYS2V0G5i1e%?FA6^^ADi&r#UTZ_DRr@S))R6b@cNFwkmUSau&xHDpN!J8`d=HhM*N8Dg< zMf9BQn&x_*BQiyh%0*j8)EQ+84Aw1CnFk3O^F6gPUf6sZTJB_8P6$oxD-abmuI#BO zC-#ckeDvuJq0?G$^9w7q8^dmuAi(FZ8wK8#cpIM4N<*5d+uxjrb5)@iB$C<1J^P(Z zKz#D24tgLiYqHNrLRQ0%wdt`yC|mz-ktXWD_Yiv;Pd?}5EA{ZwNJfSf&O@^AA1>BL zhE#w*N?Ean>I%XyHa#G0qh7v|lh+i^M{+)=p9bfO{yR{QAP5WWiu@x=^3?%e-Ac2U~Z@189dZNJhhVc&*cjEco6wyp;>hmx!Jui@k z3;E}fz8gVwWI~Csm{^8TN`plG0^dhYZ~8o={fApUXj!-r$-5DsB&r`s$sDmL{E*Wq zlisjP7x3>|R6iC|--_NOlMucSb%?(m!x5?NHsZ=_5@I5}y)UPWfpNvUg`U>-K4$ns zY|UTwk0chtBA{%Q)4C59I4M;A;L(3-@d@}96!#w`^S{J^MK76rp4l6qU?H*B0T>s| zxIas{zOTMS>LsYge@27XcJ_~)TWEYI;Are4mzo0QD8ap8DBR+_PHxL95O9@$yuK|_8a+O3A~ z4YP=)7AftNiQo7PTQU$huc%5BAH3|!I}#xKtw`8{$*G_SYzdnpS!aoU-!yyZEyU}j z-k6U+)DcS9TQwoWfr4V-d{=?DLEK|`a#79~4itne3s46gDmSd}XR*PN)b9KBpt4;* zDkRt!|HYkgmu5)0by)dne}ctGvpTd2K@+#Ok-@2YD~xb9=IfJpno}z7!J4(@`lHls zat;K&*~f;fNNOJvGS$D7`rb^zx8$P;wBWP$+K-ddfZ&;VbIIJ=8_t4yH3Ev%FY7>L0HQ4j z4_dccl3?Z>C!S|>1K35(0X#EKnOW|cp0a8EKw=1G9nAc40mV$S~;Ns4yjAM}Vphc=N7PExf(cIaag~lz)V7HdPB82N^Z6@rWS&A9S6t#Z+ z{2HGfK8bA%z66~lU#u%VulBcsj-SeED zGmq^RVU5JFgQShKFevCJxLIhj0Ck+7F)mV@qxek+B-~+{B7OPt(ozDw`us%Ipp1(o&PvOwmyP2}unM$$OUOf~Hu=LRV$!(FH5Y8{h(V zB#z){K}UVi!2V_J2O_&IsR(aJHkUdtErPXi4==HUGOsnbs}kUlWOeds0ZQ17o_d}p z9pVx~oFUXa$OUb*={EY!ljb5JKRdl3J9!C*K@~tFizv!Vt7nz%qC&$SPmXBd;F+cj zfJ^yssp$$?F;7NMc%lRzjtjCMZtgTVs>BWbT|SB=3R;MlioX)3C;OS6@dSA$(t+UIzV zij{Q8rSM)i@0e2N$qldAR$t12>7pbuFkNKxg5f|uDmI*y!5H&HlVJ)GqP1)J0P8AoIENL&!tn zIqWeb^>#`Ciy|kC21uqAauHruFDlT8e{=eHZm2e zrfcFUU3_i`x5A|f{I2U+pV+^y`Z(l%(e?->IO>%t)bs(l>a{pix?f3X6=B(Rrt_4b zQfUj^E~iirnN@xU`~u!0>BwnUqojBD<@Eg(_cK869a_b>AUgzMQI56>ComO@34-y; zRGk+^_3xLyq=-Bx%AZ@9iOC7ADvK=PlDF|637M2-?k$ClhslLX7~|G^qVbD@Sl6Ju zkbk|F%`pzuz+zDrn9B(iQMR|&{5X8?uh@hffL+;V(l^kQP5+q9I8fA;&=F0X3R zk}$cYj&gXW%)a>es79*H>&ID zlX428fkstN^(LDqV63P0lL0X#o6dCOu zZh!>vY>v7_j7pv%H0F=Wo;?Xl)a=tnM#8d|rq-DvlLD5(n^X~4lA4|}BwFWzNM@Dx)EG6L%$NUeN+2M<8 zf?L_&Kn_^A(D&=n3LXC@#l~=V=a-c8`td&+6&49e8uo#MfSkboS6eSvb2m3@2g|?q zS+!_vxqRor=-nwZYTvVfZFQDEpgp6g-&UZq13n}Gr12|={R4L*LV@BA`9|bKszv(M zCFb4px4vH2;W0(#Y{bv`h$$w5aLj@8AmX(2bX@oIt7Uet#vClE;gKw~MuL3)xL-Tp zuMPw`jTmh*K)q0?j*fiVTQo|NB52$CBRb;YAOdYGcpH9IaH9hrTx&*44kNX6lq9c= z(I7?GE;q-Y>sQFG^rCqgTR2?ob7bgNZFNL{9xy)eI_oBtFxVmua-mY=;T)5MtgD!J zbH5w*khVVpKL5aMIGDb;8rqF^`Kh8=hjmhXf{>g_i4%l9oS_&WDd_YXRJ6K=jnhTn z;2d&nJeU14jmS@(faR4RLiOU54avON6%(I{fp9D~ZQ&6U{X#`ae7Q&{asr8yrOcnr z0}_>Rv55u`gAWxCo-1(9>L7(+#naYPxT0BNhj{#!h9Q}$@_cn(pv^?L0p&;P=KzM~wc(Y)ctQc2HRUy-g@qM79Vx_=tqQLAw_9PP##Slm?O0eo ztYFgy$MU{J%yuvvh1tHi0!6fqCjd!=YK=9dV(mo7CzkR0(QMx!eC4gxQI&@^gnnkT z8v`&By~A1QsIs6ygz$@u=e$5p>{QlD4K>?}AL1cN&s76dW2;g0jco5X60#TSLAzYJ zGo^$L1mDRAH~@o(6p0WMZq9J9%t6{d-f$7MiD%1q7;G_#m*-|s+}wM2Lo!);mObr= zi4=k%W>JSWneIJje1ocOzlmCecry__Y#T_r=aLaL9QXm*k_CB=6*nHB?aaG46BmO) z2hQ*~0Guf&y-z63caeB4!S1dW^o86#I{>k~)fIShDHRyVb||~i z>!N@x_1D|YXnRJ4-_iayuukE356=8@a#Y9|r5qF`zb9u_@&rsRu|~DrJj05@$|Q+K zM9?5*e!;bgT=T5=tIQiX<3Viszw}wH?tuPtd*!LlktztV1yw8X=TFPozgkdzF*i~D zuM0kAZop=U1p#EvyLa#~QT4zqnpHHB4TrERS)>)&iGY%|1-Kb%=H(~5HWyCU0~P5R zX~ni5-VD>OOu?W1_H0lZ`}vnkX2d_jwoFH9VEAETure>wYBACZVH94nt2o}oO0u(xvl^a-N*1p!#5G};qw$bp!$_}zm zHi6==cwUQ0p)$@)&d0TG7BZefpD2SVcaNPq&cc}cW!$|JneCOGvS7-%mE|?;!u_ z*l*r^S5sh*(%*0(AZY(~%mUbwSIyYO?yp9rTd4yM-&qJoe|(LkNz0bCOKQPDr5g=x zo|{f*x)j^(Oert85z-s_5fngTQs2G>nY8l05(WA@qPyCdm2;lPo6}T6(I8?s@ zE8BhiehK65)q_}9TcO7-&^~lg8mZ|8%bsWI>CTFuE}`M9b2q`m=vi>@1Xeyip{vpD ze$=mLp6!r3a(1@2u{eZ$aeH4j#%%bZjLr45m}u?6O^4mdjJ}XJVum~vznx(0ZaRo4 zJO{FB9s~OUf%2)1wTq{a%359Iq9i7KVLXT0s-D3r$3bQe$!fe0?z_pmE9*x~d!ONS zU!I_YJVM0l>>U-FOhol0K8q)R{Fe1ys!*%Ju9}h4;XvxWV5;g^b^X30BpCBd!;hn{ z5#QWj(|V~c%Dfb6B`d$){*M-|$s%O!qrmRaU34HInEyT{-K@;*&6)o?vi{wTQ^9eA z3#a#|CQ9ew(#wW>WT(XC+SN)aB3heRT(h{Y9gQ-{8AUJRm2PAoF>**j(1|PLB{m(K44x>zv2F^&zOQV}!)(AHV3fFDfq}Tb6D1J$?%FUA zw7_n(4CN$A(`O=U@_45_tNxlU>z2b=3oEvtcq8;;5e^#!gK#0G{;t9M+9b;=B}1No zAU75)Nd1FwwdZoV5MZGuIS|UOJjPdAO zwICxC4>rO9ndmkZ7BSmj4CWJR-Ao^h6oYCHoe>1=PzR>=dy;>(c@Spbf` zPvJI1?0PB&$rSh)Ts3elPZ}WMkF-GOls93b8{W?9Sx(z>(HJ2;mKxfA0ON!0Knq(4_Z8}}~I#*EaG^Eg6CuY_us?rWi zmWl1qAK`D%pfN`-Gj30_DJt=~Yy7VAzxN7gLrE-Bx0Yvxu2}LPeQa zdcSu_{6_o&g;~LZINjH=8QST4|w{VC6}@S88m?`+j(5T!L1k=+=?efMTvavOFjZ-CZ>)g8gNe!i{HW@F>V zvfmq`!kty_w5~T{^GjTN!#k2}0khuUJr((XSX-8tF;>e~{V?-djlA}|@7kJopVf8S zz&95CJd&Khq37tYmpOViwO%xDC2$zUTo^##XY)NdS}THp9R~?aa)er|y^9H5;o_q!>U~Q-w-%MNRHV)QY%Z+nrujY?=vclLxx$U*wjUJK+Ol2F z#b7j)Zy$3=DCPSI)APRdX9sM86QJu42;Ru)N56S@|64pX`=H!_qB z_Z)B*3iMX+68CduKECuRaBcVZezSmzSvGa%n`5w4-ye?Uu6v@=VA$W_0Q7y^;%@8F z;YW(z1NnFJPLq;Vjrv!F-bH)3NhL%?oa0_6?@6IspCURT=x+jgVX5c3m$sHv1gIc7xnVhA)m%h z^P?E5`&Uz8>ozSAAtRN<=xEn0ZQDfs{6S`;G50IpW%xRSO566!Wn)W#77=1|g0T>I+jX6p!&$4P)*W zWk_8+T$Y(j@bdcq&?Pu|wA=&KLk-kL^bcKscZdCty1!b(#>_SV^K%ra-5y2KW~)kb zOPT_$Cp55iQ76)>_}SL*67)_v>FwS^Rd8IkZNiVAuJ(S&RqY~Far5P+l_~zGP7lsp z=ay@J4k;w9&dv0aEa#xbFV{t%25dUatZpO3MaXbFSjrr0CKyo|)YC~)r-FI4m`ros z8?Q|)=dwEA7oPh_yQozOB+2iM?TT@TV7D8bGrNNbJ8k{PndzFl&`f#49@85*A_tCf z*Q94r-Zd1|tCaq6W`zv#DXF5 zrFZade}Xk1!U`i?8idw%SyrFW!=KWQd_z2@^4(j3kJEJQORd}WGCzUPQLuwi^&B1b zJQW3uS`~jmXm)oWCkOdBUoD@YH6(9G5ak#dkK5-R=dqeaC?+I|JEEhEncLINZp-Ob za%l%{FQ}s-1N?~`p_zWSohU52Ehe;NQ)e8iYW;3G-*H&-A6UR$r7o}P+|HTi%Ayyp z3v+Di*Qavn8XWff`r3Jl$}Nn2&Zs2KfR`(uknP&Th??z@@DHT!$P0=GqhA8stlk`r zWs}gq?o-Kr{f|{z{9IUsEwCmN0nG0Hv*vJcw>L3&0aj)HWOp-KTMqj?I6XUM!U>Xk zEfGl^5FE{g!W#N9lH@J-AXGT@=Xv9-ESuMISEe)c)j2}tk?itlpQmEb{dRcYeE_eJ zzg};G61R~eFkHE=gLKPw#2Aj{rdJN$f2N&MUH(*oT}MOvHrMVaZ2htK9yj|Nbz=b% zjjpbYMvLz|_3hes>5OPQ{uu7?!H3j+t()Y!L;LB98BKZua_`xZh0lb$W||SZtg@;j z>>+m0s#W<#uWVd!2X_nZ*-Bfc8qVEy;nd+3yOHp4C7qbIAt-elhmy`zO8byhT0|V0 zO7oYaD;o961J0_;1+3)i{Z>*k8PgXo_o7h+;^A_U)1>S~j|m`p^98xivBy_9y0vBISF8yY5g*SXeQ|EEFr!@##%+fIm^I0t}@W`e*N_{ zQ_PF`Wecz&1i3>c#kCoG715)iSBd_Lq`5bLwzBYfM8MIg5D6tlO3`){QV&HvL8ZGa zPx`{3g}Pn3#J}OSv!sXni{eznkr^$+h#cmI2wQ96C40I~YwR3j!Y}ymq<1dTN*P7i zR5V%N7AX{@akIVpGZepa$HnI$8F3~@RZ!8HWgy%!EQ^xsC@?8U(^6m#z`rPu2nKA} zyw?GD;961MpB-k6!>Rmc7-f^HF|N1>rXLYG<>A{Av@j{9oD-MO+Oj9ny?A%@6v@cF z-B`a{_b5DJ9)Y52u#6eW{SDx8)B6yMy87K>a^dvTq>HNIBxWR*C;%U!M@GtodiGAZ zGNo@d!#$)wi5Z1P5ZtuG1M&3X?rsqa<2YNtXQ-Aa@#9M+H${`1n?|Tn=??40! z$7e8vezS80o#y;%rGkkX~`rN-^dZDNcdyZ?Ip^lX~ zE>49reLn5rcHOq9TfV~7BFWc=#^~qpCiQ=v{=J52=%MMeL->{Nq%!vNM=!jBBmzGE z9uhRDl7Ze&5B*!Wmb*P6K79uEq?~sLuLHY|y83)mOQTv`tfhVd_RCtRr|YpN)Z^9u z>*;zCLzqSnk`&N0sf@oYrUG&jUO*nh1bjXkFx1?#ot5ST`BWr?rJzyZF>pr7Y;HLP zFbu(OH@Avmm4Xutzg=#vzx8I{Z@JF$dY?EHjujdX&E27S!?GZNn|p{nH1|$9wA4EB zRLNdqa=C$=wsj2df!KmsAxsuFEt%+a+I7h6z%xV#a*T&^r0K$8^AceC2ifd(I-kL? zU?3|JZ+_H~&j4pZ5GqK|aqVWp9Vmd_F~+=MYx1;Wq;H_DsnN{JIdZAqZPeG(7HmWB~8%98MWD99FvQPdLuzjj7) z#%qtL`Rhu{6wYaNB!sMr=9%{O=EONis@^{0+W-5&2-Td!U`j5JO?DO~jIoZ-=e{lYh)#6H&&jXIQNm-X-Fo#cBt_p<(d zoTbNqOEph;d-Lyx+b7>XvSSzCKKu1EyC>g(wfB3~y{o0)_cxZWzaqVUS{2*ttqhFK zM-6Tn91O^j$exk1!sCc>iewRQYMbT@N!t(iCSCVlca;D12g&!Z9%QfF1-$rbVdP4O zAS;=ctJmNBzma3q_C)Bn>F#X}@1E{(O1~`ny6eD_*{ig#JbiUav;X<>*-iVLYHqE& zRr*dkL_uZcq}OxSy|LOA{_>65QT0aPJ;g@08EY4Q$hsK+ezI?6+UJ~L!Mar}lWkwj zGd%l*i^ZqQ+o-cirNg%=o$bQ=1ywHbC0h5*)jm5MQqyOd@tb>IB)jmor-BXFRU6jK zRF-+L=v+~vY67G4v%NJeju84bS&J=S`p!eTh$=U>&7JSqlDWDyi+Thjln+bJd?6>%z4Oy5 zg@1{u5q%%5YEMnLVj}WJf=lOcq0YmKc?p?km|w6bJ!$Vft$T?#{>i2O_^A`OryYJa zg>%~5yUKIg&-tENFMPXwNm^R3%v9UVPgCaXUUqIz^|d!mhpN{c-8SixQFUdh@7qVJ zKdSD^9gKeedHs|p9>K+@UtMdLt9x>B>ub5{n#aqQ&#QZO^ZC5`g~g|@O^>Tfy}f$< z-k;ZQTi>hPp8b4XzumphC-2q%w*UL)^x^ogGL}_qzE|9TnSZY4_ucP*)9WqjA3j>Y zKlaz(e*6E6N(~S2PO-~~y}{C^+M-+)C4Sf}xN+i#$3>-wyTo3`u5Rl;A3b?e;>`_} z)!!#@{ybN#{OXAF%9+CH-+Zn7y@R!OZ#{JDe{d>utLiH&zLzq27Ru=@KMS6E@s(`g zU)IDXm9d}^EAijBK3ktBgI&IFh z1;W6pPD~x$@)^K@0M8r%jVR3p`W>70yas6@BcSD{fmX?&Sbhr_24L+FpCcQBH57VR zi&=N;Gcd%3vNG_anB>L_HL19yGA9*0U5OqB=m$!|^fxg6vq8~}cDy9IIq37G2y^m_ zVCEoAqM&O>pLjuNk1d00N1KL0HvxSj0%1abIn)G{X$f@w=%dC6{Yq6({pe%J=tiLT zzY#`AH)8FLqZ@$U(M1^W8N~o>-ClIF(EE-Ev)(kJI|k8{L^lP!tA#Lyxdj?3C><|! j{pjsMg#LN$NLdWEbr|5y3d}*ETqVem2+ST6dO ThriftScore} -import com.twitter.simclusters_v2.thriftscala.{ScoreId => ThriftScoreId} -import com.twitter.util.Future -import com.twitter.storehaus.ReadableStore - -object HeavyRanker { - trait HeavyRanker { - def rank( - scoringAlgorithm: ScoringAlgorithm, - sourceEmbeddingId: SimClustersEmbeddingId, - candidateEmbeddingType: EmbeddingType, - minScore: Double, - candidates: Seq[SimClustersTweetCandidate] - ): Future[Seq[SimClustersTweetCandidate]] - } - - class UniformScoreStoreRanker( - uniformScoringStore: ReadableStore[ThriftScoreId, ThriftScore], - stats: StatsReceiver) - extends HeavyRanker { - val fetchCandidateEmbeddingsStat = stats.scope("fetchCandidateEmbeddings") - - def rank( - scoringAlgorithm: ScoringAlgorithm, - sourceEmbeddingId: SimClustersEmbeddingId, - candidateEmbeddingType: EmbeddingType, - minScore: Double, - candidates: Seq[SimClustersTweetCandidate] - ): Future[Seq[SimClustersTweetCandidate]] = { - val pairScoreIds = candidates.map { candidate => - ThriftScoreId( - scoringAlgorithm, - ScoreInternalId.SimClustersEmbeddingPairScoreId( - SimClustersEmbeddingPairScoreId( - sourceEmbeddingId, - SimClustersEmbeddingId( - candidateEmbeddingType, - sourceEmbeddingId.modelVersion, - InternalId.TweetId(candidate.tweetId) - ) - )) - ) -> candidate.tweetId - }.toMap - - Future - .collect { - Stats.trackMap(fetchCandidateEmbeddingsStat) { - uniformScoringStore.multiGet(pairScoreIds.keySet) - } - } - .map { candidateScores => - candidateScores.toSeq - .collect { - case (pairScoreId, Some(score)) if score.score >= minScore => - SimClustersTweetCandidate(pairScoreIds(pairScoreId), score.score, sourceEmbeddingId) - } - } - } - } -} diff --git a/src/scala/com/twitter/simclusters_v2/candidate_source/SimClustersANNCandidateSource.docx b/src/scala/com/twitter/simclusters_v2/candidate_source/SimClustersANNCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..de812c266679edae8f2f09f2f92e60c559ce2b7b GIT binary patch literal 41828 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 ThriftScore} -import com.twitter.simclusters_v2.thriftscala.{ScoreId => ThriftScoreId} -import com.twitter.snowflake.id.SnowflakeId -import com.twitter.storehaus.ReadableStore -import com.twitter.util.Duration -import com.twitter.util.Future -import com.twitter.util.Time -import scala.collection.mutable - -/** - * This store looks for tweets whose similarity is close to a Source SimClustersEmbeddingId. - * - * Approximate cosine similarity is the core algorithm to drive this store. - * - * Step 1 - 4 are in "fetchCandidates" method. - * 1. Retrieve the SimClusters Embedding by the SimClustersEmbeddingId - * 2. Fetch top N clusters' top tweets from the clusterTweetCandidatesStore (TopTweetsPerCluster index). - * 3. Calculate all the tweet candidates' dot-product or approximate cosine similarity to source tweets. - * 4. Take top M tweet candidates by the step 3's score - * Step 5-6 are in "reranking" method. - * 5. Calculate the similarity score between source and candidates. - * 6. Return top N candidates by the step 5's score. - * - * Warning: Only turn off the step 5 for User InterestedIn candidate generation. It's the only use - * case in Recos that we use dot-product to rank the tweet candidates. - */ -case class SimClustersANNCandidateSource( - clusterTweetCandidatesStore: ReadableStore[ClusterKey, Seq[(TweetId, Double)]], - simClustersEmbeddingStore: ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding], - heavyRanker: HeavyRanker.HeavyRanker, - configs: Map[EmbeddingType, SimClustersANNConfig], - statsReceiver: StatsReceiver) - extends CandidateSource[SimClustersANNCandidateSource.Query, SimClustersTweetCandidate] { - - import SimClustersANNCandidateSource._ - - override val name: String = this.getClass.getName - private val stats = statsReceiver.scope(this.getClass.getName) - - private val fetchSourceEmbeddingStat = stats.scope("fetchSourceEmbedding") - protected val fetchCandidateEmbeddingsStat = stats.scope("fetchCandidateEmbeddings") - private val fetchCandidatesStat = stats.scope("fetchCandidates") - private val rerankingStat = stats.scope("reranking") - - override def get( - query: SimClustersANNCandidateSource.Query - ): Future[Option[Seq[SimClustersTweetCandidate]]] = { - val sourceEmbeddingId = query.sourceEmbeddingId - loadConfig(query) match { - case Some(config) => - for { - maybeSimClustersEmbedding <- Stats.track(fetchSourceEmbeddingStat) { - simClustersEmbeddingStore.get(query.sourceEmbeddingId) - } - maybeFilteredCandidates <- maybeSimClustersEmbedding match { - case Some(sourceEmbedding) => - for { - rawCandidates <- Stats.trackSeq(fetchCandidatesStat) { - fetchCandidates(sourceEmbeddingId, config, sourceEmbedding) - } - rankedCandidates <- Stats.trackSeq(rerankingStat) { - reranking(sourceEmbeddingId, config, rawCandidates) - } - } yield { - fetchCandidatesStat - .stat( - sourceEmbeddingId.embeddingType.name, - sourceEmbeddingId.modelVersion.name).add(rankedCandidates.size) - Some(rankedCandidates) - } - case None => - fetchCandidatesStat - .stat( - sourceEmbeddingId.embeddingType.name, - sourceEmbeddingId.modelVersion.name).add(0) - Future.None - } - } yield { - maybeFilteredCandidates - } - case _ => - // Skip over queries whose config is not defined - Future.None - } - } - - private def fetchCandidates( - sourceEmbeddingId: SimClustersEmbeddingId, - config: SimClustersANNConfig, - sourceEmbedding: SimClustersEmbedding - ): Future[Seq[SimClustersTweetCandidate]] = { - val now = Time.now - val earliestTweetId = SnowflakeId.firstIdFor(now - config.maxTweetCandidateAge) - val latestTweetId = SnowflakeId.firstIdFor(now - config.minTweetCandidateAge) - val clusterIds = - sourceEmbedding - .truncate(config.maxScanClusters).clusterIds - .map { clusterId: ClusterId => - ClusterKey(clusterId, sourceEmbeddingId.modelVersion, config.candidateEmbeddingType) - }.toSet - - Future - .collect { - clusterTweetCandidatesStore.multiGet(clusterIds) - }.map { clusterTweetsMap => - // Use Mutable map to optimize performance. The method is thread-safe. - // Set initial map size to around p75 of map size distribution to avoid too many copying - // from extending the size of the mutable hashmap - val candidateScoresMap = - new SimClustersANNCandidateSource.HashMap[TweetId, Double](InitialCandidateMapSize) - val candidateNormalizationMap = - new SimClustersANNCandidateSource.HashMap[TweetId, Double](InitialCandidateMapSize) - - clusterTweetsMap.foreach { - case (ClusterKey(clusterId, _, _, _), Some(tweetScores)) - if sourceEmbedding.contains(clusterId) => - val sourceClusterScore = sourceEmbedding.getOrElse(clusterId) - - for (i <- 0 until Math.min(tweetScores.size, config.maxTopTweetsPerCluster)) { - val (tweetId, score) = tweetScores(i) - - if (!parseTweetId(sourceEmbeddingId).contains(tweetId) && - tweetId >= earliestTweetId && tweetId <= latestTweetId) { - candidateScoresMap.put( - tweetId, - candidateScoresMap.getOrElse(tweetId, 0.0) + score * sourceClusterScore) - if (config.enablePartialNormalization) { - candidateNormalizationMap - .put(tweetId, candidateNormalizationMap.getOrElse(tweetId, 0.0) + score * score) - } - } - } - case _ => () - } - - stats.stat("candidateScoresMap").add(candidateScoresMap.size) - stats.stat("candidateNormalizationMap").add(candidateNormalizationMap.size) - - // Re-Rank the candidate by configuration - val processedCandidateScores = candidateScoresMap.map { - case (candidateId, score) => - // Enable Partial Normalization - val processedScore = - if (config.enablePartialNormalization) { - // We applied the "log" version of partial normalization when we rank candidates - // by log cosine similarity - if (config.rankingAlgorithm == ScoringAlgorithm.PairEmbeddingLogCosineSimilarity) { - score / sourceEmbedding.l2norm / math.log( - 1 + candidateNormalizationMap(candidateId)) - } else { - score / sourceEmbedding.l2norm / math.sqrt(candidateNormalizationMap(candidateId)) - } - } else score - SimClustersTweetCandidate(candidateId, processedScore, sourceEmbeddingId) - }.toSeq - - processedCandidateScores - .sortBy(-_.score) - } - } - - private def reranking( - sourceEmbeddingId: SimClustersEmbeddingId, - config: SimClustersANNConfig, - candidates: Seq[SimClustersTweetCandidate] - ): Future[Seq[SimClustersTweetCandidate]] = { - val rankedCandidates = if (config.enableHeavyRanking) { - heavyRanker - .rank( - scoringAlgorithm = config.rankingAlgorithm, - sourceEmbeddingId = sourceEmbeddingId, - candidateEmbeddingType = config.candidateEmbeddingType, - minScore = config.minScore, - candidates = candidates.take(config.maxReRankingCandidates) - ).map(_.sortBy(-_.score)) - } else { - Future.value(candidates) - } - rankedCandidates.map(_.take(config.maxNumResults)) - } - - private[candidate_source] def loadConfig(query: Query): Option[SimClustersANNConfig] = { - configs.get(query.sourceEmbeddingId.embeddingType).map { baseConfig => - // apply overrides if any - query.overrideConfig match { - case Some(overrides) => - baseConfig.copy( - maxNumResults = overrides.maxNumResults.getOrElse(baseConfig.maxNumResults), - maxTweetCandidateAge = - overrides.maxTweetCandidateAge.getOrElse(baseConfig.maxTweetCandidateAge), - minScore = overrides.minScore.getOrElse(baseConfig.minScore), - candidateEmbeddingType = - overrides.candidateEmbeddingType.getOrElse(baseConfig.candidateEmbeddingType), - enablePartialNormalization = - overrides.enablePartialNormalization.getOrElse(baseConfig.enablePartialNormalization), - enableHeavyRanking = - overrides.enableHeavyRanking.getOrElse(baseConfig.enableHeavyRanking), - rankingAlgorithm = overrides.rankingAlgorithm.getOrElse(baseConfig.rankingAlgorithm), - maxReRankingCandidates = - overrides.maxReRankingCandidates.getOrElse(baseConfig.maxReRankingCandidates), - maxTopTweetsPerCluster = - overrides.maxTopTweetsPerCluster.getOrElse(baseConfig.maxTopTweetsPerCluster), - maxScanClusters = overrides.maxScanClusters.getOrElse(baseConfig.maxScanClusters), - minTweetCandidateAge = - overrides.minTweetCandidateAge.getOrElse(baseConfig.minTweetCandidateAge) - ) - case _ => baseConfig - } - } - } -} - -object SimClustersANNCandidateSource { - - final val ProductionMaxNumResults = 200 - final val InitialCandidateMapSize = 16384 - - def apply( - clusterTweetCandidatesStore: ReadableStore[ClusterKey, Seq[(TweetId, Double)]], - simClustersEmbeddingStore: ReadableStore[SimClustersEmbeddingId, SimClustersEmbedding], - uniformScoringStore: ReadableStore[ThriftScoreId, ThriftScore], - configs: Map[EmbeddingType, SimClustersANNConfig], - statsReceiver: StatsReceiver - ) = new SimClustersANNCandidateSource( - clusterTweetCandidatesStore = clusterTweetCandidatesStore, - simClustersEmbeddingStore = simClustersEmbeddingStore, - heavyRanker = new UniformScoreStoreRanker(uniformScoringStore, statsReceiver), - configs = configs, - statsReceiver = statsReceiver - ) - - private def parseTweetId(embeddingId: SimClustersEmbeddingId): Option[TweetId] = { - embeddingId.internalId match { - case InternalId.TweetId(tweetId) => - Some(tweetId) - case _ => - None - } - } - - case class Query( - sourceEmbeddingId: SimClustersEmbeddingId, - // Only override the config in DDG and Debuggers. - // Use Post-filter for the holdbacks for better cache hit rate. - overrideConfig: Option[SimClustersANNConfigOverride] = None) - - case class SimClustersTweetCandidate( - tweetId: TweetId, - score: Double, - sourceEmbeddingId: SimClustersEmbeddingId) - - class HashMap[A, B](initSize: Int) extends mutable.HashMap[A, B] { - override def initialSize: Int = initSize // 16 - by default - } - - /** - * The Configuration of Each SimClusters ANN Candidate Source. - * Expect One SimClusters Embedding Type mapping to a SimClusters ANN Configuration in Production. - */ - case class SimClustersANNConfig( - // The max number of candidates for a ANN Query - // Please don't override this value in Production. - maxNumResults: Int = ProductionMaxNumResults, - // The max tweet candidate duration from now. - maxTweetCandidateAge: Duration, - // The min score of the candidates - minScore: Double, - // The Candidate Embedding Type of Tweet. - candidateEmbeddingType: EmbeddingType, - // Enables normalization of approximate SimClusters vectors to remove popularity bias - enablePartialNormalization: Boolean, - // Whether to enable Embedding Similarity ranking - enableHeavyRanking: Boolean, - // The ranking algorithm for Source Candidate Similarity - rankingAlgorithm: ScoringAlgorithm, - // The max number of candidates in ReRanking Step - maxReRankingCandidates: Int, - // The max number of Top Tweets from every cluster tweet index - maxTopTweetsPerCluster: Int, - // The max number of Clusters in the source Embeddings. - maxScanClusters: Int, - // The min tweet candidate duration from now. - minTweetCandidateAge: Duration) - - /** - * Contains same fields as [[SimClustersANNConfig]], to specify which fields are to be overriden - * for experimental purposes. - * - * All fields in this class must be optional. - */ - case class SimClustersANNConfigOverride( - maxNumResults: Option[Int] = None, - maxTweetCandidateAge: Option[Duration] = None, - minScore: Option[Double] = None, - candidateEmbeddingType: Option[EmbeddingType] = None, - enablePartialNormalization: Option[Boolean] = None, - enableHeavyRanking: Option[Boolean] = None, - rankingAlgorithm: Option[ScoringAlgorithm] = None, - maxReRankingCandidates: Option[Int] = None, - maxTopTweetsPerCluster: Option[Int] = None, - maxScanClusters: Option[Int] = None, - minTweetCandidateAge: Option[Duration] = None, - enableLookbackSource: Option[Boolean] = None) - - final val DefaultMaxTopTweetsPerCluster = 200 - final val DefaultEnableHeavyRanking = false - object SimClustersANNConfig { - val DefaultSimClustersANNConfig: SimClustersANNConfig = - SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.7, - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = false, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = 200, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ) - } - - val LookbackMediaMinDays: Int = 0 - val LookbackMediaMaxDays: Int = 2 - val LookbackMediaMaxTweetsPerDay: Int = 2000 - val maxTopTweetsPerCluster: Int = - (LookbackMediaMaxDays - LookbackMediaMinDays + 1) * LookbackMediaMaxTweetsPerDay - - val LookbackMediaTweetConfig: Map[EmbeddingType, SimClustersANNConfig] = { - val candidateEmbeddingType = EmbeddingType.LogFavLongestL2EmbeddingTweet - val minTweetAge = LookbackMediaMinDays.days - val maxTweetAge = - LookbackMediaMaxDays.days - 1.hour // To compensate for the cache TTL that might push the tweet age beyond max age - val rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity - - val maxScanClusters = 50 - val minScore = 0.5 - Map( - EmbeddingType.FavBasedProducer -> SimClustersANNConfig( - minTweetCandidateAge = minTweetAge, - maxTweetCandidateAge = maxTweetAge, - minScore = - minScore, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = candidateEmbeddingType, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = rankingAlgorithm, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = maxTopTweetsPerCluster, - maxScanClusters = maxScanClusters, - ), - EmbeddingType.LogFavLongestL2EmbeddingTweet -> SimClustersANNConfig( - minTweetCandidateAge = minTweetAge, - maxTweetCandidateAge = maxTweetAge, - minScore = - minScore, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = candidateEmbeddingType, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = rankingAlgorithm, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = maxTopTweetsPerCluster, - maxScanClusters = maxScanClusters, - ), - EmbeddingType.FavTfgTopic -> SimClustersANNConfig( - minTweetCandidateAge = minTweetAge, - maxTweetCandidateAge = maxTweetAge, - minScore = minScore, - candidateEmbeddingType = candidateEmbeddingType, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = rankingAlgorithm, - maxReRankingCandidates = 400, - maxTopTweetsPerCluster = 200, - maxScanClusters = maxScanClusters, - ), - EmbeddingType.LogFavBasedKgoApeTopic -> SimClustersANNConfig( - minTweetCandidateAge = minTweetAge, - maxTweetCandidateAge = maxTweetAge, - minScore = minScore, - candidateEmbeddingType = candidateEmbeddingType, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = rankingAlgorithm, - maxReRankingCandidates = 400, - maxTopTweetsPerCluster = 200, - maxScanClusters = maxScanClusters, - ), - ) - } - - val DefaultConfigMappings: Map[EmbeddingType, SimClustersANNConfig] = Map( - EmbeddingType.FavBasedProducer -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavBasedUserInterestedMaxpoolingAddressBookFromIIAPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavBasedUserInterestedAverageAddressBookFromIIAPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavBasedUserInterestedBooktypeMaxpoolingAddressBookFromIIAPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavBasedUserInterestedLargestDimMaxpoolingAddressBookFromIIAPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavBasedUserInterestedLouvainMaxpoolingAddressBookFromIIAPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavBasedUserInterestedConnectedMaxpoolingAddressBookFromIIAPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.RelaxedAggregatableLogFavBasedProducer -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.25, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 250, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavLongestL2EmbeddingTweet -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.3, // for twistly candidates. To specify a higher threshold, use a post-filter - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 400, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.FilteredUserInterestedInFromPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.7, // unused, heavy ranking disabled - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = false, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = - ScoringAlgorithm.PairEmbeddingCosineSimilarity, // Unused, heavy ranking disabled - maxReRankingCandidates = 150, // unused, heavy ranking disabled - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.FilteredUserInterestedIn -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.7, // unused, heavy ranking disabled - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = false, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = - ScoringAlgorithm.PairEmbeddingCosineSimilarity, // Unused, heavy ranking disabled - maxReRankingCandidates = 150, // unused, heavy ranking disabled - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.UnfilteredUserInterestedIn -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingLogCosineSimilarity, - maxReRankingCandidates = 400, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.FollowBasedUserInterestedInFromAPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 200, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavBasedUserInterestedInFromAPE -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 200, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.FavTfgTopic -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.5, - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 400, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.LogFavBasedKgoApeTopic -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.5, - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 400, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ), - EmbeddingType.UserNextInterestedIn -> SimClustersANNConfig( - maxTweetCandidateAge = 1.days, - minScore = 0.0, - candidateEmbeddingType = EmbeddingType.LogFavBasedTweet, - enablePartialNormalization = true, - enableHeavyRanking = DefaultEnableHeavyRanking, - rankingAlgorithm = ScoringAlgorithm.PairEmbeddingCosineSimilarity, - maxReRankingCandidates = 200, - maxTopTweetsPerCluster = DefaultMaxTopTweetsPerCluster, - maxScanClusters = 50, - minTweetCandidateAge = 0.seconds - ) - ) - - /** - * Only cache the candidates if it's not Consumer-source. For example, TweetSource, ProducerSource, - * TopicSource. We don't cache consumer-sources (e.g. UserInterestedIn) since a cached consumer - * object is going rarely hit, since it can't be shared by multiple users. - */ - val CacheableShortTTLEmbeddingTypes: Set[EmbeddingType] = - Set( - EmbeddingType.FavBasedProducer, - EmbeddingType.LogFavLongestL2EmbeddingTweet, - ) - - val CacheableLongTTLEmbeddingTypes: Set[EmbeddingType] = - Set( - EmbeddingType.FavTfgTopic, - EmbeddingType.LogFavBasedKgoApeTopic - ) -} diff --git a/src/scala/com/twitter/simclusters_v2/candidate_source/SimClustersANNWrapperCandidateSource.docx b/src/scala/com/twitter/simclusters_v2/candidate_source/SimClustersANNWrapperCandidateSource.docx new file mode 100644 index 0000000000000000000000000000000000000000..2174d0c6c28cd476d2436230577794612b6165b6 GIT binary patch literal 37379 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 - Some( - onlineCandidates.getOrElse(Nil) ++ lookbackCandidates.getOrElse(Nil) - ) - } - } - - override def name: String = this.getClass.getCanonicalName -} diff --git a/src/scala/com/twitter/simclusters_v2/common/BUILD b/src/scala/com/twitter/simclusters_v2/common/BUILD deleted file mode 100644 index 9cf3b3fd7..000000000 --- a/src/scala/com/twitter/simclusters_v2/common/BUILD +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - platform = "java8", - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/algebird:core", - "3rdparty/jvm/com/twitter/algebird:util", - "servo/decider", - "src/scala/com/twitter/storehaus_internal/manhattan", - "src/thrift/com/twitter/ml/api:interpretable-model-java", - "src/thrift/com/twitter/simclusters_v2:simclusters_v2-thrift-scala", - ], -) diff --git a/src/scala/com/twitter/simclusters_v2/common/BUILD.docx b/src/scala/com/twitter/simclusters_v2/common/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..e418604c8b09660db47effd6dbf99f80057e09d5 GIT binary patch literal 36837 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 lU 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 nErA!92m6DYyjuJ(OKhumXl}v sum + value * value } - } - - /** - * Sum of squared elements for a given vector v - */ - def sumOfSquaresArray(v: Array[Double]): Double = { - v.foldLeft(0.0) { (sum, value) => sum + value * value } - } - - /** - * Calculate the l2Norm score - */ - def norm[T](v: Map[T, Double]): Double = { - math.sqrt(sumOfSquares(v)) - } - - /** - * Calculate the l2Norm score - */ - def normArray(v: Array[Double]): Double = { - math.sqrt(sumOfSquaresArray(v)) - } - - /** - * Calculate the logNorm score - */ - def logNorm[T](v: Map[T, Double]): Double = { - math.log(sumOfSquares(v) + 1) - } - - /** - * Calculate the logNorm score - */ - def logNormArray(v: Array[Double]): Double = { - math.log(sumOfSquaresArray(v) + 1) - } - - /** - * Calculate the exp scaled norm score - * */ - def expScaledNorm[T](v: Map[T, Double], exponent: Double): Double = { - math.pow(sumOfSquares(v), exponent) - } - - /** - * Calculate the exp scaled norm score - * */ - def expScaledNormArray(v: Array[Double], exponent: Double): Double = { - math.pow(sumOfSquaresArray(v), exponent) - } - - /** - * Calculate the l1Norm score - */ - def l1Norm[T](v: Map[T, Double]): Double = { - v.values.foldLeft(0.0) { (sum, value) => sum + Math.abs(value) } - } - - /** - * Calculate the l1Norm score - */ - def l1NormArray(v: Array[Double]): Double = { - v.foldLeft(0.0) { (sum, value) => sum + Math.abs(value) } - } - - /** - * Divide the weight vector with the applied norm - * Return the original object if the norm is 0 - * - * @param v a map from cluster id to its weight - * @param norm a calculated norm from the given map v - * - * @return a map with normalized weight - */ - def applyNorm[T](v: Map[T, Double], norm: Double): Map[T, Double] = { - if (norm == 0) v else v.mapValues(x => x / norm) - } - - /** - * Divide the weight vector with the applied norm - * Return the original object if the norm is 0 - * - * @param v a an array of weights - * @param norm a calculated norm from the given array v - * - * @return an array with normalized weight in the same order as v - */ - def applyNormArray(v: Array[Double], norm: Double): Array[Double] = { - if (norm == 0) v else v.map(_ / norm) - } - - /** - * Normalize the weight vector for easy cosine similarity calculation. If the input weight vector - * is empty or its norm is 0, return the original map. - * - * @param v a map from cluster id to its weight - * - * @return a map with normalized weight (the norm of the weight vector is 1) - */ - def normalize[T](v: Map[T, Double], maybeNorm: Option[Double] = None): Map[T, Double] = { - val norm = maybeNorm.getOrElse(CosineSimilarityUtil.norm(v)) - applyNorm(v, norm) - } - - /** - * Normalize the weight vector for easy cosine similarity calculation. If the input weight vector - * is empty or its norm is 0, return the original array. - * - * @param v an array of weights - * - * @return an array with normalized weight (the norm of the weight vector is 1), in the same order as v - */ - def normalizeArray( - v: Array[Double], - maybeNorm: Option[Double] = None - ): Array[Double] = { - val norm = maybeNorm.getOrElse(CosineSimilarityUtil.normArray(v)) - applyNormArray(v, norm) - } - - /** - * Normalize the weight vector with log norm. If the input weight vector - * is empty or its norm is 0, return the original map. - * - * @param v a map from cluster id to its weight - * - * @return a map with log normalized weight - * */ - def logNormalize[T](v: Map[T, Double], maybeNorm: Option[Double] = None): Map[T, Double] = { - val norm = maybeNorm.getOrElse(CosineSimilarityUtil.logNorm(v)) - applyNorm(v, norm) - } - - /** - * Normalize the weight vector with log norm. If the input weight vector - * is empty or its norm is 0, return the original array. - * - * @param v an array of weights - * - * @return an array with log normalized weight, in the same order as v - * */ - def logNormalizeArray( - v: Array[Double], - maybeNorm: Option[Double] = None - ): Array[Double] = { - val norm = maybeNorm.getOrElse(CosineSimilarityUtil.logNormArray(v)) - applyNormArray(v, norm) - } - - /** - * Normalize the weight vector with exponentially scaled norm. If the input weight vector - * is empty or its norm is 0, return the original map. - * - * @param v a map from cluster id to its weight - * @param exponent the exponent we apply to the weight vector's norm - * - * @return a map with exp scaled normalized weight - * */ - def expScaledNormalize[T]( - v: Map[T, Double], - exponent: Option[Double] = None, - maybeNorm: Option[Double] = None - ): Map[T, Double] = { - val norm = maybeNorm.getOrElse(CosineSimilarityUtil.expScaledNorm(v, exponent.getOrElse(0.3))) - applyNorm(v, norm) - } - - /** - * Normalize the weight vector with exponentially scaled norm. If the input weight vector - * is empty or its norm is 0, return the original map. - * - * @param v an array of weights - * @param exponent the exponent we apply to the weight vector's norm - * - * @return an array with exp scaled normalized weight, in the same order as v - * */ - def expScaledNormalizeArray( - v: Array[Double], - exponent: Double, - maybeNorm: Option[Double] = None - ): Array[Double] = { - val norm = maybeNorm.getOrElse(CosineSimilarityUtil.expScaledNormArray(v, exponent)) - applyNormArray(v, norm) - } - - /** - * Given two sparse vectors, calculate its dot product. - * - * @param v1 the first map from cluster id to its weight - * @param v2 the second map from cluster id to its weight - * - * @return the dot product of above two sparse vector - */ - def dotProduct[T](v1: Map[T, Double], v2: Map[T, Double]): Double = { - val comparer = v1.size - v2.size - val smaller = if (comparer > 0) v2 else v1 - val bigger = if (comparer > 0) v1 else v2 - - smaller.foldLeft(0.0) { - case (sum, (id, value)) => - sum + bigger.getOrElse(id, 0.0) * value - } - } - - /** - * Given two sparse vectors, calculate its dot product. - * - * @param v1C an array of cluster ids. Must be sorted in ascending order - * @param v1S an array of corresponding cluster scores, of the same length and order as v1c - * @param v2C an array of cluster ids. Must be sorted in ascending order - * @param v2S an array of corresponding cluster scores, of the same length and order as v2c - * - * @return the dot product of above two sparse vector - */ - def dotProductForSortedClusterAndScores( - v1C: Array[Int], - v1S: Array[Double], - v2C: Array[Int], - v2S: Array[Double] - ): Double = { - require(v1C.size == v1S.size) - require(v2C.size == v2S.size) - var i1 = 0 - var i2 = 0 - var product: Double = 0.0 - - while (i1 < v1C.size && i2 < v2C.size) { - if (v1C(i1) == v2C(i2)) { - product += v1S(i1) * v2S(i2) - i1 += 1 - i2 += 1 - } else if (v1C(i1) > v2C(i2)) { - // v2 cluster is lower. Increment it to see if the next one matches v1's - i2 += 1 - } else { - // v1 cluster is lower. Increment it to see if the next one matches v2's - i1 += 1 - } - } - product - } -} diff --git a/src/scala/com/twitter/simclusters_v2/common/DeciderGateBuilderWithIdHashing.docx b/src/scala/com/twitter/simclusters_v2/common/DeciderGateBuilderWithIdHashing.docx new file mode 100644 index 0000000000000000000000000000000000000000..b6a5125d6964731145b5d1d7ff2fe6dab4998e79 GIT binary patch literal 37067 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 Long = (obj: T) => { - val availability = feature.availability.getOrElse(0) - if (availability == 10000 || availability == 0) availability - else obj.hashCode - } - idGate(key).contramap[T](convertToHash) - } - -} diff --git a/src/scala/com/twitter/simclusters_v2/common/ModelVersions.docx b/src/scala/com/twitter/simclusters_v2/common/ModelVersions.docx new file mode 100644 index 0000000000000000000000000000000000000000..b32603fbac5aeef4e941246347dca530e73992a6 GIT binary patch literal 37210 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 E0O-zpU;qFB literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/simclusters_v2/common/ModelVersions.scala b/src/scala/com/twitter/simclusters_v2/common/ModelVersions.scala deleted file mode 100644 index 796474ccd..000000000 --- a/src/scala/com/twitter/simclusters_v2/common/ModelVersions.scala +++ /dev/null @@ -1,48 +0,0 @@ -package com.twitter.simclusters_v2.common - -import com.twitter.simclusters_v2.thriftscala.ModelVersion - -/** - * The utility to convert SimClusters Model version into different forms. - * Required to register any new SimClusters Model version here. - */ -object ModelVersions { - - val Model20M145KDec11 = "20M_145K_dec11" - val Model20M145KUpdated = "20M_145K_updated" - val Model20M145K2020 = "20M_145K_2020" - - // Use Enum for feature switch - object Enum extends Enumeration { - val Model20M145K2020, Model20M145KUpdated: Value = Value - val enumToSimClustersModelVersionMap: Map[Enum.Value, ModelVersion] = Map( - Model20M145K2020 -> ModelVersion.Model20m145k2020, - Model20M145KUpdated -> ModelVersion.Model20m145kUpdated - ) - } - - // Add the new model version into this map - private val StringToThriftModelVersions: Map[String, ModelVersion] = - Map( - Model20M145KDec11 -> ModelVersion.Model20m145kDec11, - Model20M145KUpdated -> ModelVersion.Model20m145kUpdated, - Model20M145K2020 -> ModelVersion.Model20m145k2020 - ) - - private val ThriftModelVersionToStrings = StringToThriftModelVersions.map(_.swap) - - val AllModelVersions: Set[String] = StringToThriftModelVersions.keySet - - def toModelVersionOption(modelVersionStr: String): Option[ModelVersion] = { - StringToThriftModelVersions.get(modelVersionStr) - } - - implicit def toModelVersion(modelVersionStr: String): ModelVersion = { - StringToThriftModelVersions(modelVersionStr) - } - - implicit def toKnownForModelVersion(modelVersion: ModelVersion): String = { - ThriftModelVersionToStrings(modelVersion) - } - -} diff --git a/src/scala/com/twitter/simclusters_v2/common/SeqStandardDeviation.docx b/src/scala/com/twitter/simclusters_v2/common/SeqStandardDeviation.docx new file mode 100644 index 0000000000000000000000000000000000000000..9f1d31a189bf76d4eca2a89decc010be8588495f GIT binary patch literal 36909 zcmagFWmsIvwm*!!dvFQv?k<7g?ruRFcNz~6+=IKjySoQ>50F4`_kU+*&N(yZ-uu2^ znun^jezMlywW~LUk}M992i*|w^pS}VO$b87}yvL7#JpKR975e?_zH6VyNcn zVD7BXbCW7|)>;*fSS%}nI92L84*MY`?Ar4=nI{k)6dztw}4&vc%f-hWs zMky4ADJ~=R&X;(tPO!_TiAq;o;zVCRLo=Tove+koBai9Sf_q;wj!b4rdXH#+5T>Rj z!{^;J7dXpaO+TL@M#!01j!s~b)&p2Hb!ChO2FXweoQmKWbXax%40mn^g@c;P(FpY( z{ippgCAXIeKX>v6aev9Imt`g@jZB+#gth>lui-}L>QbML8sZ0>YuzU4>zyps9qZP5 z3sF3V5CLej-|c#s+{ZQ9k6`LbBd=9;HZiP2zMlYWf~jieen4hvzS;BV9It86f9lZD zj#l%vItr4;_qr2D$vEx_q@}JW(@%s+W9x{i^a;M}zq_L?jCn8gupDM^H$NwDH=*u7 zg8G?LUAR`IT{I?nl%1FR&GAT_-1jCYSa*e2LczB~!cdSVKxDxC{sQIcz!-WJ?;a_j z>Q4H(vuNLSEilhijv<*=_a%v_0KGfT_{sYbvAF!5gi!DEQt`&V@Yo%B-V>I*0hrQ1 zy68zID{>F&-X;VX7$WGWp_93-Gc(ig&&v48kC3cr{%1mxBb3GVP3jT_D+Urj5FWGG)=S@0&|yowYF$48rlul;gaDy z0?0hnc7wHT(;{vtP(;kB?zk*8NQLM(F$Z;N>rZDytHdM>>FlIYN`gxh(613)Xf$1Y z8Rq~n04cd9&M(E4t>10kzuXHqxkwxNiyXx|psS`Tn6cvW6rjjBVqS~O98O1<#kOYP zv^};febOzzVEPdxuBd9@@%|cSvIAp)$Ff17c&26V!vW)aib+kcDGS%lAZ0&?Y2sfj zwJB#hjWNrn#VTyzO`v*W}h-ft^kcy&Lfs|L~QA&<1y7 zGo)!qdIWp!K@R@) zVbDnBAj6!d28NCB#O(nZ2^E}OL^)N(y+wm<`^$;5ljGL38>D_YQgbL0O7gqhnUj(V zk-%KIbzQejz(8T`@cjJlI-@hCzp#s03wsUbOVc;v6h1TY?)t)t zH9b)Vt5`GxN~TSEmZ57h??=7g+lSY8%Y^jz+!s)IN0ulCv~%v_ug`s#1pn;I_1YTl zF{m%LP+(wafA5R2gTo(fQ5&~kV?pb9qKDFV`COI`;TO-iVUp20~-?m*Io8$wP8ys50nM zY>h#5eMiITvC0J)MtGN0O{Js zV7Olzj_XNP>q<4lE~8FjyR}4zb9gx+U&Lu5M`tOLtc?M^*XY?=0qc&jEw}Zh{IMvq zwcBZ~HPDIZhnVV!M@+ zBs8hH^`1X816SSKRxvJRU`_K}Gx0fm`ok5$+rrH+l7C(p9CElSypUjE z5U79NuuLvjIQ_md1~qj7b1YcELrub)fTo`K27(PZSo+v_J`_jrsJk$Ib@7Lr9YT~(n3~`v3e7EKrwT)cDwfht zYW1f>FJstC3_&!Xb-+W;8=I9TXAJQ)nb@Y`Gi}1u`bbMJkJjac_4km^*fd%){Ci#r%};qd-)*6tYxcS+wwbi#qngC) zpTbio!iI3Azun6-C6UcRU>gtho{dc5DHfN0OzB!!*c-b)Kn#)8izojnhi!lB;DcXv zSQbiPBLf#1>!12Hjg-D#)*vI1np+m*ETlhpfKtX6(Ww#*A zZMkEoddSlWu`6TVS-9^T;HjIU$>T!{TMN$H@$8)p^%tfoDP|OAzVcl9J=lC@4n6^0 zWQA{~_<{oX$WjZ89}g4Gcp@}+dmTKm9+KD_va@rD77;hmr}wZn*I_>d?IA=SvN!+C zQ!5@QGTf%`{yB*!^RA4SSmQiZ#lAd!T7SXrM+qH6G?(O+O_}jCb|;6x&9Yt{{V7eE z0HLIO;E}DGg)bu#w_o+1;Xm&)dw&89HqZh*4qAW-K@0F7_t~G@hri!#e{LlbMHPcs z@IIftBJ_nMU=`U%y!(|$)lMf>UFZ`cwHkjbzQ3irVa6c78?blB<(o}yH#d2!y12=Y zN8j)Ba;$s9w#5;f(xr(RlJ)TWXYp0B2tt8-aEOn&C1HtAEv;m1VzXN1~T z%7HqB_l>#sBCXg}Q3XGwRO3I_aqB>6OU%T7H4e?ra`9>>znH9Qx$La4*%sbNbMD<% zsMiSWLx-weUNF+9;G{I#Jv;n%b8klI_X2BxV9~HZC|Oo zvY2p}mq^P-d0g|uv0&f%SBwBsYC9a~)e?;Zqjg!H)$5sRDBg#lS>}J%I;tFpKY|$y z%s?F)479BMS!-t(Pg`^6-zyquo1CyKRp;B?otJO;{M{}#7;JdT9xUFC(Ac{(tM-gt zo_+4uw{N(gVonVGD9J=f)K%0qK9tbXv+T1_}X!E`OEn6 zWrOFsEqAdnNkwl@r{ZVcu*kZ%YpZ%4@27>eaWD5T!fy^*fPVD5_Pwiv8;^G<db(#_FE`?k7Ah&k{f=83%&1$yuaYD_(pe{DZv)j2-6p-& z;|o;D_0KLkp+NLBN_>}g_|Ef9{Pq-Kpl5_yyAS^fCRufO>~#$)bYbWz2H$jOJ!)um zmGDcAp|7^EFHZ<_M|+HU2(I7D>tVlzAKc6J#*0gu-g6CbrDID#u+shPG&F_#G>cpD z_|4bg3@BKYZNKz}Inb3H*|OSwqHwqt1K7R){#L8gEtN&k)ut=O^+5aB!{v3yN=f~C zzjolpeTc|gdNKIc9!5xYYa-)mz?_fQO`w60whLGHb?+mxaXIQv2`Z}!NuN52NrljW zgl`zFPuLvL)vfD#_{3_E8o@yAAv|zS4Vbr0k(5o-BC$`6K&%8B>ZKP}t^t64J79Pj zuzvTZe?K9;3@c=>u;ywGflpV|_Woq+r9*&0m?XJ++I?nSCsu{6FSL0$VYw1z!TzTI zXU_%;CwaIhJ(&4_Na|KR8$zu%qdF#`X@s%2_^+2lSeb8Hne%0di)5+YU!=2;H zu*~h1@X47_hO$(n{=)ou|H0MO&(nVA3=aB`R>DHfsJH$Dk22znD;o76#FcOR_mqC; zBuk3v%_$MqP~XCA=)csIN%DxG$AL=_8yB#3^}MwATu=~1tiNfQ`vg2?mqY?IW0*6o zI%1o@ge++g%q~J*qIblqox5$+Gw^9k;a zXdScKX7bc86LNNWr!4H(oKFo8{Bxhac$MNAM_S|?q8a4%l)+Maix1d zG?!hy<5B%{K}hj%|6nw4=RRsnSikv3f+X60muW>LNiX`0GYcNTO$no9k z`4<1;oE>*NbIS2y9M1IkcT;Xey-ikmH)6BSpj`YdB87u+>-bL7;{83=hqrxSt?MWzTVH!O;)axO>D2n2lGZnm zPCQn-2cnbjauR1Rsd&0w+*LnKp^V~$9hWtDKtc`EspIUF8ZM>>zPt{c7bzZ&vu(N% zhj++~rK@}#Pv3ryFXM)$6<<7)m*FE}tDp0<5lxakS@g@0z|eeOG{0h2=ecWUxOlvj zE%ty4T0i0B{d`6qNB17*UeT<3QU^92UDNOFo|;v^GYLO;bs~J^mm3_~-S?B_!ui1L z#EoMquC2toP=BXLq6|kMEMpbj$W5s8E(B#6)}jk4prbm&d6v!R%17Xv_;JF?K`rV zzCQ4*M8>>2MFnFIUZL8UlkKF%nCQd4pG{8tyU$eTeT%V8WkUglxJ#iYX2j`cZIy<9C%8yfxXWyovNJkR1b*P|g;V!E)W22ZcH?kSUM9xh0`Tow6B2 zXFwlC6Sq|!Wr>@WPbr3B{n^QxqlmqnDp^h9+*fP5!6a>PCH!c$nG>*ijEML1h)v6C zC@^O~Rx#tPb_J)~L(yQKLbSx^SluCcr^KI=5M~igZ;U1lkxk?KLxi=|$Rp8~{Iwhc zzHTbf8+u`v>+U!K=Tb>E9X3{_Ilq6-=D>bTi3d94Ac>mdOC74eZ`lxG11^8ti+p`bE zDm&wmFA>&F>*vWcknAiG(fL4Wi$2pP@;XBt$YKLz6w_}#&HJyM?s)l%j)b&zWB8+_ zrnM$2We{)ivp1U7jreFnkfH>0b8Ws8KiO%tugAdtdg6k7v28=2&A;@!~GSR{nkU&zw+YcCT%T z;fF!5{Qk7I+j&f-khMrUo|(9kyu}}A8iOtN>I{7sT;X9Ylu^U9N$|OUT$5nkJ(Afl^nBBJ1+sXT2y=+(`vkwOrJ7^00#7^D z!^QJFwjr}br|2e1I(w-CKB`{Tdx>j=Z#6jENe*`v^xt2of!KwM?pMmRM_IR(TnnQp z9al3UK*IH7fjUk_%4ORn}Ui zo1EK?+KaeXWOSVLtVdbnDTj%g-@i(6%djhaoa7N@+bck{u(hmDEf6d&yv-nAabAV? zwr<&pkdMU~^}O>euZllbiXYI@;xJiNbUoazte|MwJ2=AA#zTndAu~lCL92uP-eh~` zvdrGZOqsGz9@$&P07fZKkNBvy6kYHD+uoJ){7J>;$Gi6!_);>mDsHW0-ct-xD`bpS z6^}+sjm15p8>&5<%Qo_OH!Gz?cR!-;c(dNhQ0xTpEP5>p?eq9jEePxS_zMENm0c}x z*Z@oGQ1NHA6=@$nkEpkg8pShQm84yXM$(;`>Iq_diPKZ-l`?{*wa!)gaSUhM1C$mL zkZ0ytCtlXja#%U)@giYRKCq|Uq_$2}o@)5`V)HxE)5~EOl$6DEuD~jnDl0nP7WJz& zJDPK@j#!(OLU-(6ZbiuUUv?nOPEKg^jo5!kAtk$MV5a3FNiA{=7vYXbSIMKFNrjTk zl&BsU#%58ExA*Dwd{o}Qqr+oF{?2DQ0s5wMv-7O)vi>d~!VX2{(^bvpbEG zeb7{H)yrys)jfR_mm)#MWfUwx9%VgtlhHWIQr|N|K0E5_gUKTfziGTd1~EmKzw;l^?WsFL4eu$!3 z*#cyU#nx23lLDp>ql63YZ_P7F0Tz_p3iWMQ$iz7ldtU>2Blwi0Z^taK7epwOw-a*ur*&>xB2Ag^}4# z>c{Y!bBxA4hiTw75W&giu4BmMHth)~2|oYM#b4Abb8BrlLr@loHA7%iECktE%l*qH zdUNP>z7F>nl$kqxr~Kj7!>2KCB?pLV!sKu1(as(I+&PmM5Or{!apv%ysgMeKTX#}& z4kngWw>X`~bkgXZ*wf1vdEB=FYiaq-%G+|o>~0WkN#FVWH>n_(Qnfo^p{dWujNv z5?dTl75-zgd1KID)w_Ma5GAMCNWhgyp~!UyzQajN48S*a0kP@NHH*u1c%$h(j@D9B$7rt`|wNmzOF7G)K&POZtP%GR<}d(BRNo> zo!(Q1`CX;~^{Tpjgnn)H$&Kbvrn=B(v^a6e1CmnYcP#wNieJ|DCKvP(oTb0s;bqK3 z=7!MA>`2yW&v8MDE`Q0Qz2J=)Lso^GE4vl^)^3F`a#)Hji(6|qRkor5;VadQbuI?3 zNRx7aCa70t&>-6+UYCh*w11N(lW*XW|BmWNe*(7Z_!|4><88#Z_7$X&2#WTzSb`?b;>0|Uhpj-wFnVDkC$)g{TZBBdHv!FlVlpb~D&1>5pOp?m`b zk6eH1d0FQ$VkY&gHiJ5%=o2+1=IRs;{F^=kEA%7vlhAy3cE;Ex)rcylyv+>tdPa-K zNH5y$5Qr=#=1DTI7PZcj6x&cUeyjPX>i&c9Ah*4g9MZeGzElw=P8#%g>`PauuJc<; zA1FzgU};c$f$n@#L4=y=lf%-5XQzhAZyO|=(_&W=`4!@kto-)LKXG5a>s&uNUrQZO zYYwX(UHV)#$Y7O*nM_9h$ekjawAov6(=4<2loY2d;(Paq0mU#>5;YECRmOF<^%DLe zKUQ_WWnQ(;E?s6`6F2C`9iM$0rv0N1JJHlAgSL-Ta8X`ZymCSPS~qGlZxfL8 z#eE)t%tludMlDcf7OCQ=MQ8k#aAVyhi)p7)W4xsPhAQd0WQ8R}+zt4xkwxU>U430|M~5e z8Wh8F#_BXeBmx}-LJa-8!g;3bFT_+IxSQchWIf8&1&@A7C`gL%c?a~7@eBXZk;o?} zg*Hs+6`_v&1fmLzB=Kk(KFvz)EVDw7{WlNP`+xB$?8)GQ?-XAsq1PBW9}O|H(3QZ^ zfGj1>{uEWaX5npXl@!tM)2%#GKI~;sgHmIFIKo54LQ#X7KYx8K5OW zKs(aXbrw}cVTl?oXSmP+C*3tew=lPSctj5oKW(+^?1}~M8H!m1a@7xC3a3@WOQi7r zKWxTd{)>&*_5YKNX2c_a`+|BYuKw^-akaG$)cdVZNk>+{oNutfM-MqJTKT^CchslN zNs8QSPlAeQ4_;i4U;ZKF1`3Nv(``;DlTlt0H7GxQ3sWiKT*Ed{W3RRoM0f&UVl1G< zqlB*1|8zENR-k=ur3>|bO=eZ0h}86<5b!hd}9VKEx8to%z16<6yuHl_VRVP_;Z;rUS zx@a(@2WuEG6+EMB5s4B&W5szf(U(|*qWC!>-po^sled*Yg)}*EL}ln|#i&=X0>ft4 zUphdJ2#wc&6p|cfK;t_!y5Ua*!`u;DYPRD*uvXK6dRVEu)YjO1g6$szM)<-{`rIh_ zE8%xKbzgUTj|Ffbg@Kt`a%2Qdffqg#Rt+|}@?>bVISEr>PNW~Q!3TPx9a3;47>ei_ zK9kpHj#N~~rt&Vac<-8LYa{Wtfk!JaNNqtT5PURBBU&k^jG)aT95-b>zcLLU#H!m_ zH(;R3Pzc~!#e#@~NEIV>0#k*PKnfciK_thS!^RPhTTw7ugobc}WjBxcb;KS)_JO-+ zCVcRR_pYfbgH$y;Y@-?LVE&m00}K$1xb~|UR|ZVNN`~s3Z5o>5l0W;K$^)t2Dpg4uKq~uT zf2)K7ul;H=-1^gp<-klF*A5{-8r<~>awMSP4Kgf%$dr^ZOiNBv3rW&~KTaDLZsg{6 z!p-;OKZt7_9i>o3nrqgTT5|hUz3odWwlz1vG}%qp8lvv9${78&mxO1@SVlP|lTp7$8pKl!Y|}i*STM9L zYo@0L4JPndE~&&1nAsVPf7;CeB~AUA#PdIsk|y^VZw@X8c*C7B4u4a9tw6Rtm(Rc) zzaQX@Vt?n=fpJ(N+4y_jjlc};a9;6lETjIC22A#a25dLuk8wsy8M#H6CR6IEaC4vC zjGYDRD;#FHF*}V*~*NL+amh? zg#Picwb9M+)-K$U9iogUqZf*1<+jc+$NV_j_~YjAN7RI3Rdn(E{=9WzUD z@rnVb7a`1)%dgtg{yv%0HpwVn*t#17(84~+2r~mf`J8pe;#=8Nf3Vu3OnOjao#;12 ze58K~AG{qHt5>}7Jy)gD&A3;emjN8TKOihNq#apuH8NAEA06^08b(H74bdlCdtn|q zF=w+3pJC@#WvUOugTg$JvZdzzQY0&81dhM}eJG`t2@eB$okO#+OnU8{rIty~=8O?& zD_$??t!i~^{Zs>Wqp@HF-@IXglicHNhr!SrLfHz`Pt|JJAv54*=*8$a4*yLp`v)}! zh#FS*_wIY5b#oCp+2{{yH?wgNH9yy%)U%YB5h(u$^+neJd`Eb;;igaPhfX8-qsp>g z4Ewn(28IClUu0T=9Zm1skA*QKC_KV6QDkcd9JI*IcI^A(xlD_vYX(F*_j)mY@3ITu zHG9t^{Y8H3IszhBh5duPnUw=Gg6aPtpD~izeuz%lT6g-3yw6DHK}GW(L9D_0tv_vs2OQ4aaV=OOW8KC3jdbxirWup;>7DYZ#%g}H*_vgo#s9gfNuA^Ehq zhDU4(4rGbBF>iD2qt3dpB3J(+c#ihC?5EYE97qVkms3g$H2DP1?u&1w3TagD?j+_o z@~j}5*wwG1<~V+qmgO@6_~dOm0hy;9m2S}J@{ltPmzx2}US}eCRzx{g5R={C54)Q9 zz66LUc6-y~OU#)~0t8&j5{hJo1ZOy+KBf7e$SwHnamag>9hHm|D9o*%?UnM%mm7*o z%!zPRcBGUQZptQo(t-VyCc-Y!6Zn?Q$I$2Ib=|g9@h^`$cSWOve*?Sno-_NyMRWZ(`0DUZ<9QTzfE@9{r{Qdk+T3=NM#a9nMe*fp2OR|gPFn#(@pw%DE5d4O-i#GH$f{W`og zVcq$)*pO?icy{z){<&TzC}rU!s+-U@9VZ*5FR0`lO(3h6gy4 zGzRks;t{-o(lNq}aR=BHULT?yb2{u5nPubq@&Aa668$X>FZf*S!e(UDWSjR_4GC*M zaRU&X6#DlEY#rzWrU?knAno=N*pSn;4PAILN;HJX5<}L}V}QkSDJArz%bc9j*aif@ z(pWf$a1ZsuVeWA+!8D*bbx)syHC0${2Nmz63{<=mIM|T@+ZL#Q7SAqQ@2}$3blP@( zom@^}`AZ=}KjQu|;m$Y#^<)pEwUH`yPN@eCoL4C!2822tEcAB#7^^6$goB#Qfbxlt zuRm@Spk3`Fc+I)k9>*rUK zsCDc*S+c@m;XK-nWG+=pE;Gw{-7j*WKMun?sMVOxSDxJxoPzz#_~zy=>)XzM(T;M? zPyH3?aNV~_F4Xubn~Ay6OFhCif& z*@r*4euEo$R{Di;gLb}L$Yh}dha-V#4i?X;f7(v5?U+0^^YAPl#Rt+1$y zam5a{j&XIIhaUE@!_pmxdv9wrEqBbw)_t3vT*fY}o(MsV`-}AEPb!>66#ycr2#^!g zsna-!DMYyxG*_5-SPj$FURonU-ABsCPtOv=NgIcnoc4xa4X+q2)>aM=VN`dD-yc|l zwNM@`Nm8I)iPuJOU%m9;C?4CLUfFcMaP$cYOa3P6nyz-MOrLrlBk<8ZLhb_9!2bby zuk_e~d_IItI6zbsdAK|@zv|q9F@R^II<=KnkltLfT)OL?O!mE?m9bH5p4`2nc zAJB@f*GDl|@N(F)yEXx1iAw~B#bVi|Awt)LCDph}rKk(bYQNZBAC+AxCKcEzwyZNJ z-K*C_kM^vgyD!C8ZEwU^OSV7I1|k57nC}~%u+o@3ww`l}14;S{viKcn2q4wY=a!!2 zQ!l;tp4HCT8@EHVAa8CU=k9QYr>f!U?d!hZ_x{Vn+Xx8N#*V^=rU z2aRLfE^laIH4;tw`y`T4+j5doxxautdaILyV*UlJ)aGIqjXOC6hW&hf15_>Q*yIt$ zewJgr&pj0J?es?gmJAhvh~{F-2&~-91pfgXHGlw2Nth|!{s1kEtO|wwj92ac(&4Rt z-t{1=2rV4RWwD}KSkEc~E$rL5l}KC7Jp~$7MFjrfRWfAG0lBU%-L^cs&R_2be2?;R z+xR+2RI;}X`^PmXH#cz9L zZ?~L3ut5#ON4uj(^LOz#EX&{8X(&+h7}SgYe%CJ7){aJX|1 z+=Ci!hZ{cWA&y?&^5Cn;P;lt52#SQTt2;OeFxcz}j2>6)V>A%-9rslsl*pG+c zK>$tO7@s|SKpqT+8X9)jo4@8^cP)ticTyD5t$Gwvo5}wUOHgE7@$D~rQ z;fTt3L|s#FE+Il*oFp~KiFvjv`2uq9}IH*cRDTP@ZSB)H4Z8vl|KZ2 zcL&hj6A~-JFjfXpO8{0nJ~2t^J!7sz;ptgxXZ)yYA(w1&q5EbIb{XA=%572EBCqqW zg_BCk_@dN6gHs4%I)4tufS|0s4 z3XjCF6vxJ10s)JOhttysB}GYG#EyCeL2q;hprn$LtH_s|(BX+-ZC8bLWL0NMR<*bP z*rHdJ62)m`v}?+z4H*?TNgWZw>{NZ?T({yu?9p{zi9w%WX+AhqB%lFv2KZPp0i{6& zdR``t<|#EOhbLK0j0J|DJ#;X&3{EIiL~3cnYOQ$KGBVua<5|2(n3!Yy9bA=qKTX>RdVp7!e z#fU{V>WFQ=OobeI=Rsn6ItEk9vAH=i-dC+ug+&ol^Q_}F=Qx!1llr=lLr?Y#T}Dgu zBc!5bjIYB++nE93y`=1T;Ll9cMo>A}!M!8oTp*XdKPHTR?*bZ2f5nGRvEpe51DUKO zY<}@8t#=)w9JOp_8p+3x$*KN&H1y-HZc|8nCWQtK#$?_#WgjRtidgBdI(v|p6O@{; zEf2L)MSfw>AJfp+51rahRE@9^d;_&dx|(47!#79uLdKX z75I)d!jr;l>V8O231LSVhRjxvPub@gW(wt$UKDLLDhLz~b8A=TG?xOVZEs!r)@R$b z<|C7wxf4YNLi7)p+La}y^!7D}+o*zrq2shA(8Gpu#BUC5(+5c(u_x5HUVFLN5Wn`3 z%n&q=+hcu!FC)M!o^}d$XQqn%h8p|L=YvilJQOAz6`EXZQ;DTFcrk^)y-08RQ@#-m zu-sKFB)%%msss#BDx;K(tCSnU6%K_BM~9|HT0-jAV}lk5eXEI4p|?P#2FCz6og4%- zDwHVA9x)DAG^3Q zrqu1kp#5-=1i2thH?1?3atn%8@acL8=+M=Ez^Z-fl2O>o>08cbA`GW;Zxjz%M>fw9 z%SELSg$_hW6M<$vr^?850*Rng!}A2U6o$UiI1Wajj1rnv0^i&Z$`NDE5kt%*c!a@* zu(3s5E>2|899cracH&m+3J=PG5QWyy3B-ZQYcr}sIqpg3_MiiMb=Ag{(^%2 z>bfj&K_>Q0hxKkb7-=kRc7924pNzRIJyyc}3=J+eQQm%+9%GNBw;je-EG2z+A3}1P zx~iKj^gRDye$;y&ifwYAI&0Ni^~Y7orzjGtpdXsw-oQGszV(3ZMv3K$+*pkK&_7Bi zgC{`aD#0WuvBR}SC7J*&Pt*1)bJ{*iZ|pX~XtwTHa*~AghTubju(rL);AzoRN-$|lPH?PIY47tN%!F{d&J;*P9<#M63RpmY8@K2u zKUh@Hj}wDLjc~VhVIi1aMy${V0jc~2g#8;x_uoKvzk%lcCOU!Axv!RsaI}#drREU= zwz#o>APAI$))q%*TTEKedp~j&nicp|DTMRP*kCL;+W9Y7iMI%ip;$-43Od3CfB3+X z3ScLych6_>*29a!!uQbXpn$XyCeoh{TE~tP876xNbm{pE3L@8*j9GuVU)1@SHD*e&#oum z){RQ8|My$tm9e&MpZa;-J=)f23~^((S_NU;F=`Movi`?*{1t&RH@ zbU!e)2Al!?JcSH9O51Kd@{8Yi-%Q4x6Na;c(?gq6_PzXCI^Eayot^sAZ%(alyiT}R z7UL5X52ffxc&=&;4MVe5b3)e!m%jT|Az!Y)?p=Ifo*w3}ws+*&#*1qRA7}QkCj(sh zP-~z2CLO2Q9s)Iv*SZ1Rfa;}14eQF6mRBb$deDCtt@1@F-_E#Mb6@RPU8Kq7q=cRU zpF1{faY?ch_&<6*Gf94b@q1g^(618^v?uP{FCJXG0;Ul260W`02@>%W^N|R=xjyr6 zR@}9>S8p-8p_VUHkG@b=c2{7C3r{SzFZeoHv@V}mwl9!-v+)thP74>}viUvKtXZPK zmJctyv}fFG7>=rUGiPmW@lQ>bK2%+QzcP7w@NsH=z1A3#EjoOJ?%X7-OL?1KD=cmAN!pp$1Lr=5s)0bl@5kZu6gy%*)WLGbrePc77~ByryoCtQ98!lpiw^p<>CApuE1-Z|t<@kI4x#;{L4i z<*sPtqHH)|A;1L;Q(6yGSX)ZWM=Q=xeJ#m^SLRn8bh}LtrBJE2Yf;V0-VljCv*d=` zds;!xxd*xhk#uEm^n`$her$t=@IXWCw>QGxT7<7%4?EIGoZVHo)8nf*cG9&OS+}X} zhB#}3hbOx?KbiKSxr>g{9?owar`_ko1Jhq?w(M1Ibxp?|;cO+Ds}&4?z%xdYHq!Okbwhhc-VxNL5Bl4!ybU=O_4e(}O#@r!<6 zD2XS-BPC?7`S;=ldqY6(_uLi+2jnV4hz)$iH!Y#6O@k@H!QMEZl)h+Hz_4m<0t&)( ze`I2mgFtw-$$KK7Eb4dk1Unw_;dSWEn_=s8*i21^_XoRL_D$2=)9EM0&6cO?<_z42 z%x?F@QueEckq(uNrmei$y1{1_sHoxMW02+x3tByiM|BKFUo3oaSfuNf5b@q?)k0T{ zGH$%-ymqZ-!Z+WyoUwH@-{NekMj#9FhP4yo)ka? zDb^GsXi+TdLRX;M)Xu7>uGEJ{)ZOs`0ah(v}gW_G6ty zPZ-C#eXt)2#i)_mmV?)#Scl-LK(_~+lCMXO86!zO1ij7mb%p=O} z)n)Wk$UfP=F4c3jOhN}3&}ZI{QJArL{04IPm=Q~3dYaBCc^CQGsQ$re_)f-OH;|Ck zyF6yPd~&C-L>Pb+X|rYYcKCc6y1$<})^~>)NgyNaF%H~x<8gaD)tUkape5g z%D#buAdA`7VOJrlt*1O0 zQ$Faa&o}0+J}c#!j+5T`nTIR{i8ACis^Q%fQ#el@ZVv3Sff5gM zXVWSCt?Oc^6l3d4m0KykYi;+6gUyvcM`r=L&Yfrg&5^O{<8`e3{XPGS4`@#$_*qoF(purHuDjR3kp0hwdD%R}@%BmO;TNF^NiL9td zAs|TRVIX5=NqW4ByrO=J%Dyd7_W4ShBIAQ^XuYLShI5UJ0JqSWIl^BagmVxJ)i7n% z=q13d06sR7l64!Ka#CW=Add?4fxWJvl<@3{A!vgEOYWE zaspIxX4*{Io4LZNqOmIoS`a!-@CXjcJ)w(=2DjY6IgX<5LXa)MDZ7kESF5tZ-gtZr z5_bF4viOd`V(UtEEypluSYWPQslNYgj_|73eeCsPXF>a3a#mNOGv1VG_tn&ryQen; za2v(rT^~Hw@qDePu0Xa&)P=ns%22;!o#3X6-lK%V#-hj1mJV{DQ(QAH!{)Dylx&_t z#DkHUCL;rI1EJdgN7y?+SGH~4!m(}Jwkx)6+fG$fv2EM7ZKq<}PQ_L6+jY*p_ucdT z@4dh6mX(&)cKYbO&$Z?rbF4krI8~q6=c`VaUam^S2S@h8?>US%CpmUjAGG$i@AMHW zxlcoJXi}6iew=dud9j+D9yzUdYiYo02>gwU#=rC+d0^qTsoIHqRW%^RzSu-I5U>xd zan%h%;PQxmDW(QnJl&Dnl=#Tt%$|7H)0B4UoQSd{!{Ft1GOtc(>5e762ZkfomjGp+ zwUhdb*ObQ0j>sCft9>^=*1-L`Sr4N{qY)SMvs**{pl58h`S*!07H$gj^optZ2iL22 z2&(?_u~mD1qP(`v3mKN#%K?! zC=cD~yQ;w>gz#%R&+2pwaL*G@@4D4F*&f`h;?I8HtQz*FG$uJa7l=xo_Gg$;T;Cpb zln%eRXpcSKd;^swze-N1K2{Yi+GB9R7sx?q>#)6SS~erMImw?CO_?s~wB<@`TDIul zxW8{OcHYirV5t>#Rr^oXE3W4)As-7aM1p=?7t z_QTuVthhi#0aJ4+yD+7*(RzZg*3xH!S7j$V1vNW^;8Ev#u7cY4d~T$)OFK43=VH!d z{=xcP9R-}*_3Q|xv7>3i&2;`T#C@T?v*P&u8Rx*fN3oQn=!ZFPv-P}6$)8&E@WJavnyx&_ zY7zBxLB7{MYd|@BsImxsZwulAa>|xS@Z5yol_P+A(sr)8AHBRgp#FGFdnJz$8El4) zD@?GW5kT6!-S6KMcnW3d=<~gbzEjE@^mbCTdFkfe%9>OhxIDY}YA1O1YS(`RN#ve< zK^n?fVc|diU?OP@BjOQ%JjIGHG+9J+Wy?4abliM@ar!kry7hCk4L9+ZFcRv4r)<%LvJp+y0zX;^Q@@q!%%CHHQynR?jgxymJ1~@ zV&`Bw(V@wnJSlK;;;Ay_Glfw^b0sOx!l>lil}(q?dd5(?=5yr9d6sZ{vtD`@-(;yL zm0D7YD0VgB#g<7?U$G+&B4qvY<`NomxIhh&d3E5dP!oxH?@y?%r!di7Q^|AYFwsnKQ6PcxsXjdI_zRxg@St*0D|lEu0g zkX_i{ZW$PUZzCh`0h7-Oy7u7#fk?@HPhG@_*MJ#0;oLFl9TdUd!W4!`lpnlE@V@RpQA2I4g=lI zo=5vCM!WajN$JwP(5}>{UK~Cl!tt7x=OqzGvao6$N!C(Fn;aSiM2;0C(S*lS||PgXL}(n`@di5=*!cg2F*%$%1Eg!@%O zvS-M-nOQI3w#n_q>F9O2EgMLLB{%sZw$;67OLz^xiR(OOU6^A0%@Dge$O{y%C0eMB z^Zj_q2Q8SCqV}tc#NM_h4}e=Vw%z+}`G5WYvy*3wywCl%>CE27iGc{}?{xs%#<>QglKhB^(YYw3*s7{+q79prk=MhN_(Ii7-D0DXfsp){+uhS zt1hjs5-<|mfRRwXo>r*b>X|6z&eHg0(qOe5CH33BHMKuCwwemu` zM>4_wpzpBKN1OZaJC9BenU-uXj?mrBfVR|oko5*DrsUR{9A5a?%+}bIv+K%ga?cf^ zE!zC$W+eL%Vta8D>Jk6%a;ubI-GQKVfQYX=Z%wP@YYSyH;0@@!v<}9LhADH1%PY(% z30RBkr)q&-TT{BLZdG^o7iQu_ z_Zw6YJtp?5+0UxcZ&GHeVH~QV9pv~!TVvq1;7@=`^wa%)I5U_Y4*PoVwqEh_x z&#To+BxXEq(Awwrs?8W}_*~k5Kd_Q9c3dusth>3}$a&fT_D-n`59rto=p-sg)sXJF z4^mH;W9qrvsC(L^frk9>Z|PH z_^9O&P2%#UtNGF_`Xm`M*C)iZIyKu&AMExECcuxY#gm6)&O|G2 zS8vBwU#@h7P9KTUV$TSOu7d_7?}c7|8dK{C(s@m-7G(A5b*h#KThk%v3QFt+ZX0 z2gZZ?pqDp7Qyhc~c|bfPbnP2yE>a-|0uo_m8bVu`g+HL`Se;m@o+h}GX99v+6n4Qm zVp8|(n(hMwtq|AfSrK(D{u-Qm2Pn zS6ZQG71o#4@KqapAiYtvMkf9|+NS^1pgc27(ZAGd5wdFTq zFu^>Gj0LLDdXPiA5GWw$SD_kS(cRk+sD_s>!eApoP`@L)C#M|am(7k_C0|h*b&5R7 zk^I|$`-cM;fP}%IkXQ4e9cQq%Xw|PW)Nn|USo2-h=4qJjYVDwqT}@%`gP|_d2h#fK z|9C*>V>%1$wUQto3CeYV}!3LWctg(C=xhb5TX23eCem^n}Ou1VqJqWR7K|N*$7A?Yd%heA*e@R&%lO<1Ph6j??azSu{GSI*9-rj*=$+H! z(;cAho3{A|$O^dhUA}dkUX%FKfCj6j9cpV)cOr6=7))@%BPucKl zRB+~D>uO@_X=Cf|lAH()mVqj}-@P&L=OO%QkWPw=j>4ptG#YjJ7PUw{)=Cn-fSasJ z-=5n3O!Pjgd)zP@h2Af_N~3)yA{rH^tUFizTw%<<0_E6B`E~-@o86 zvM{=NIlUP)y3;XA*kObxMh>h0MCI*s?}@DMyFM6`wvziUiKySptpCYJ0C|vLtSWy5 zLEd~uo1VCKmkcLu`&;^{sLMwy^5$jlk#qlXQXzZGc1Ov= z`sRhZ%V%nOdrHpzz1r(tDa*Y|emo%c3ry`!mwwPn?o%D@@uS6;ukP<7?(hD*xeC(f zGHuDYNsA@5rt;>K8Z1=xd$enbcQ0o20~etyJ7Ft~0^~RbrrMh383vY7`3?(2P~sXV zR5CldZY2=4xq}yf3tQRgS@{XLf@!pF8YK1}Ggkmi7YLq)x<0C85Nda@YJG7O%!R_~ zuGH)ml{0%1xYOwk#`A_kYE2a;E>fGJY6H(B?0fNN=) z-RYS(FB`vJs%t&$23m}KmCPc$KN9A<&GZGtfDPQ=*Cs7te#-~;x0wds(Q;Ci%NdMk zseVU54`eywQN0{T2Tp1FzvwwfID*yh|EC@YUu+rD7Wj(`GVRmHd$Zd@$?ep~{k=n2 z?&rYu<_GzU~SQ1d=@xwcmP)@N3CX0S~|eRcKW!fmS1joe+7y9xQuP`y~Z- z9%*EeO3GknVQiwKVoEJb0&7Gw_}~Mn;v0Jk{7BgLEq&$9D*B{ZzPLM}$gX8s5SnjT^afrdq%;nbrou0@1V zp!LKOW{xyXl=0{ijA`QcrD6zrZc0B*m@UxK{N!#0Skg^+V2*blX?hAdl_+Bg6wVZ< z09(;8$#O))U@gC@7H*Et3tN=+55`OTKqPY?0eVBQr8%Q4afT3Eqs#LJP!SLD-YLFS znE7#-4AS&DFa!(y92^ysG}{5K!nI-wWvC@UM8RJe{}OR7D8lwf1c255TSWAbXroNG z{@((a^PuP8XuAl^HwszKk)|($ssGUW%HWIdr%FkN*G&pPH-+Z}$T7b336>CN0E3H% zoA;zyex?2f;PWRw1RHUNQSeHUcvNZ6=o9%H$P{r#_&!ZL&eTr?qvk*STN(OjxL!5%g+gQ)wBtHryMx zf6jB)dudkt$aOxvzfbN9WL_aQnmS22Sfw+4uGu$_(wZ)`3N)o1^Wze0t(*V-i+R&ZERel!^p;Y#r zdaBW+ihcx+ZC+O}tXyGNFb-C`*)VxtSJqYFUBDd&2%Dn5SjphlOiDBv6{FuQ+|gqp z6&~|*z76fs(l5#Lq}Glw>6|-dRYl+j`s>#l-9jvqW$JS3YgQ>N5_MLip4#{J+1WTSA96kqNYioIg$L4%DE?N#n$&@6S zp^DeesMQdzP(3J}UiX0#lqb<#u|B5K5zLNdp;(d3B^$m*G~$Uk2TUYb7vTj94u;Pv z`-{`H=c6YzT%bg+#t9YqOBRA_zGJyHn&BibHl>{x2O{K$+;&v4uX*#*FEug2A=z*d zEhcCV-rvEQ{jdmQN3xN;lZ$l07irL%Ot2xF4AK09S}#sVUyI(+_r<*aD9OKSG_7^T$VqInt&<^ z3+-Dp3zf%URJvVfiIT! zlv|pxk7S=l1RcUbfNCaNc3k9eqq4~q2AC$Itf7{5fu-E6mZDooMK^>aACwZoZhS;p zotLbKX)_c8XAD1tL*I8kT9!$_T!w}?qRNQx8pa-_-&(Tm{J+WKpxJ!%=zUSw@RzP7 zqW)mB*ULQ1D%gXc_qA0!@xI~u7RUw3RBjm4#ay1MayUIcgmF}ju6`GC`Mw;~&0p~a z@wr*TMQ?bZf}xt@JKe*k_o#Yuk}I@UVTWim@$+TEn!A|yn|VmJQ(*!>!mq;&xOv~K zM4Qc=*4YnG>N>%ij64YrNi9^gCMGXzXnMRq$zGEx8aJ~l3#AA=AOnjNA@@>#i0dmL z5=v@@iYV*NL6tOy5HKZEGK%r1z>z|=I3PlJrc8quRXQLoR~bH!F!iXAREmdFW%k0B z!>@J6i;{6BTC{sbPisvn}Mr4eZ9r-JB> zsdI-8nGk_a<0PjV0Lp+`@RXF9JAiUxfyDoyOak&x%3NtP=C=C78HOB+V$rc=3h3PY z7Wuy;%;tGmMPrOjxEUk}vobI!o8Igu>oh)=$;)Vb50tx9n>>V2CYJcHEFhh)B@npBMY7|GfBzx5MiG^r z_FfMWgbT&_!bbzeDJ*zV{}X->VmH1P4PUe{fpf|(+5U1|K$>RTG11B6IVAUIC1_)? z(q(ke;C%$V*@&hjSDfR-eHwx|XsxM|6HJs4$x^l8g>t$b_{%EX_ipaLgV@zS{}nTSd@FzI5CIwzMc!k646x83r+(N3F^Lr+5$~MdRyE05t9s0k}EZzbCWqV2($=5iQ9diE|!>AwEqwk zLz3%h@q#GXv2DDqD`;@$7j(~sjSrd^>7JvirV|xymEeGXkjnXi0z^-$6nL_ZY8QwJ zQmUh2Vpell5)n0t_EuFSB2@?WC=TvW5CnEKAkAS5S8<_33-8iJw4UKm5XiFb zOsW4Aa@Qg!%KEU#ocExb7?NQn^1i3*a)C@w9t|LK5M{uI&H#~R$*XFxDh-4Wtj3mZ zzJmkI`eAko|80tR4~RO>(GwxZ5d-j~@fk?EILFI!2dPZh(A20&8Ll_)Tp~>Q`@h4I zl#6J^qx}_@C;g!OXEGg)k3X|yk}|rbUWIdo;44e8GI&O6Wh9NQU=tioF0dq5cA2Mj zK@h4$y#`9L>HpVfUiSe@oCXmzS$;$RAQOcxD`n`=%zwoNN}G-~J|V}8!Q(#mXV#N<)ebR*GpgllA71}m?2VNF3gu~X3Ep-rm~nbL%r zn_s5h7;>!u;@KN847e-yGB~4_1UFT)yEzZzs6@?AAhC^o_B|N~`{G9#_&`|NXqSh8 zsEQk7-E9t6y0&hfD(tuS5OW$wI_u~o@$k|>LV^&+MYQi1CeliRkdHe;UcQR#0>mpa z)h}qRR<@Cy+Ze_}bUv$>3gd#|6pBHi>bsBd@+&2004*L;hACndlq&cu)Xazw-d*Qb z7(dWT7=Idb@8SVsjNsdz@(}hdtauG)#c#!;nWD*%zpImQWaW&~b!8cgVRD@OKTeFO!K+ z`6wZu|8EfvF26tj`RCoU#lJk}_lX zIm!JbnCDXs>~F`gglf7BIdU5X81QfJ%V?sZTrh4Sr?k9|>HZK~^;7vHi3z_DAY1vg z_LB)l0+}~x{zu8&ZxKMzODd0R<^~{GK;*3-${9WO&l0ZpyAOd{F|yI0 z(cre3`6K5R64wzh8vBSPCIC5#Fz-kR$BhXJ?wa2T~<6eS4{p0;J}@!)-yL@Yt16cBhe_>B?FGX$?UP42q$aoQ<2W@8Vv_+oaJjfgP7 zz-Uz_Ny}uunx9dg(_UJ!{ToJ4zVumn693Qt>0}*SA%PWAyKJ|w?F9j#vE^L| zzZx^%g(7qg)K9L5@3DPbwIX;`8O^@`KZAXdFXg_N8?Xvlunk_AQc=YG7oD~6tyTP( z)t}xTRoPhbE}_}SN|$n@tUgSAR@XHPn-CbgY~QSi_SiO9<09l;r1I}^OVjhlxc^9j z_g$D$0!R1{PbH>)*P$tBiAwZ;FX*)a}0Bv4yz^cW92tE5a;XI2| zo>j<9o@?4MBhxLzLprq&Kn$+5ossv}^)edLj20y8*oS*M{$d95QWF9d&M~9&g00mb zoNHPSN0Mv$39hJY!CMnjpc`M79F}^+g5SXPTaWaX$&Zp9jvporHzy1FPAYL@ss`!c z^0x_#!A)AF@>GY@#YJ zg7T)y_&D$;f+_atmZfI=^>*a!bjQH-S?z82rj8~Se?DO><`mS>hozb@5d1|&3g)rL zxmx9vjO0p&ikxIxg!U|59c4s*N}dv;Imkg>gx+7sNJId{wXEMuKn5CL=irzFV)bhNmlvU0sF zXZN0@6hmPbfCTqauR|DYOxvsqK~f=DfTtC|b(R$b>J87!y(&NvIZ= zGb5K!*o{zlNr{tID#?le;>5w~+2qGfMd=)8Ls=*R3pAHAH;6bGmdzSHTxY8&Z(it# zRu9gwOe)09EW%AqU84=4w5S>UHziR~JR}WyQCDp2BhjMo(13#n73I6K{65ta35Ujb zZ#dvA(d6FKPrA%+QIzi}$O8KqBdmk|(uhLzPZk)-i2!GgME~QAGYVurW}QoZ16B(B zgcRPC1#64*fF~Ihr5!b;K=s#Goc2S<@D9-gxh$CQAaxS|No%Qc6_Zub0Jg;QsJQ1|a-pNJ$DPfREHlW)SOFzUcJXRZ(Ycz&LSt zOVJ`Y!#G!%0$h@~8)v$cmd>u{K*Jrgx|3W;2ymT}u=dOP_}=MRMO+*zv)En+%aG9< z7Z=$;k#W8GgA$J9%K5!3b!u)7h&3gj_l=MdA28S2M#zRO(kb($=RWFLYR~Im=g>r{ zX(?n=`3m-7z)iB-I4YdUcko~reR5eqi}@&Ti7IV?md}d*D3U)bPLj&*!-d5R;Cu?^ zl%|}m%jSkieC9K@n1lGn)`nVb7W?O$!hEdoZ}rJN^V39sRY)2c*ZPRr`B8u)t0sGr z%;M43Qu{~%7-CPsV$v2Jb=hL#g@!0m?Sy!A^KtS`DPr(4lF(Wj$7W+U{oajfFZ%mQ z;Lk*Dv<_Euc^DK7{KZ=4H9E8o`QQezKXvQ<#QN{+IF~Hdzc?lnx zG>vb>8<{n85}2UTtA&VwVI@haJxL+~D1$euz%eB@KBbGb%mI*0kst>XW-K&ah9NM@ zZ{wjfP4)Kk=^~3H`M@x=+K}iP80nOG#sjbDSZ)UE$TIQ%L#T*1%U$KElXOZK=(~Bm z-9z%zFA|A8D&tgl!~ar;9q>n;2-5#nXA1{V#|72x_kNE4A28Fy7ngX~(!YW1F|Z-; z*P`Uw|4oX8?(WVvG5hWFf3&kJ6c9J)1vGy;f&Q=NPcCMzu2%LIf9P><6yu7Y|6Rof0uKj%0IYNj}#w9Xlg5pUm2l*3$a{ojy=~c zlU(UWanm=mIooAR(X7~L3;#Nxf8ch~Ni3$bK^Wjbro_QICJJ6tHtXX2Fz6<3dzAnB z6TSXm>f&l}H_G{!vPLb&Nzn;hQVKa%Am&iILR01*I98?-Zx$C&Wc>Z zcoerMf(!&$_SHf(1z!3Qd9)n3jWX-2XvC)U(bkWGyx>XtxuT{#7cuFFmbd}y@h*Mx z&y=tJbW5v4%L8%veAcTu}mMByscR^SRXLHn?i7M?%fSaW#(FRx4|cn@dukm9$II( zb)WGJsI~>i8{oR8E3ZRL@@g-S z+|+^Ibd*q}ubAQ8dI0SDeYg{Flm6UnIB5O}SrkcEtwcTM!&q=G!RX zlV5j83C(Cv34mBvi*JnUr_uQ-K?^O1$6@uYk*2fm6u$SMj4vlg1@w_hfswL%GN#2(fYcIWMAOwHv@o<(oM2c81zhSkOsmi} z*IJ+QoW2td*p}Z*ujR@P@ISX#o@yVd00CN1wE%wpG$#G41=Tk*W0n89;G<{ztp}Ol zfM&gV1`ZQc4ost%g%en?@H>-)S`Z!a$eEh~o1vy(ez9tCV0AuF5T6m3Z~Nj*Gwe#` z|JiTP0-?U2ce!Xv_%n3NWP}Qe7b+Sf;}Rz6YNJTM0{jI*I4pXI#JHTLLFxnv@TlZ* z?5I3E{8df7Ib3Apb4vRlf$S~$0wIv+*L=*f-SV25Wv3ApUGK2$d+czDQSVho#)lMTB&@P9h?%AMz80_bG< z3Iha$@^8n?0gYQ#jf`#oYG=8X(r>@cgg5f@djwT#mb7hRGa53@NJ!Hp0|ZVi@Xnc317M=LrkcnpOGX2P}jx&)lQ4mS?H%7+n4K&q%{K(+oHZS?`8G#^?E>?|V#*7dwRB$}p$U8LYyjbhU zk`a6G5b@&nzI2q);8O{c<7pwm%AJ!2vx5-pI{l0A6qwXvHiV`V$Q4 zODl6HR{@2Un$SgYblCh@Hl<}9on^MY)GUJKSTD@F@rMiZXLDPx!BlT9zr8G6_}k1K z1&UO7)dVh+2XEY#)m@4}i~g>vq2pnH$~}LI%4k*Hz5_T2<8=McqwnEA+}=`qC@xAp zSe8KtSmKJ|$f(&Fst=|2i`N)!|HA&S8TCtLK*nQpe%q z%Z6J-huG!n)p7|uN~=h0lc z0T%UI1eKEW@vz)FIpiqGGoN>_f%47LMJNIAYnYSl`;+#OvIjiTP6@)(=vA{<;K%SX z&MwFc0@7e!ZK;Gb^9ir2huCXO@8S5^41*G1{54xvD+00kjn=_JYmnSH630v^hWbwcA_M0 z2BHR+SMsyU@2S!*8LZXNBD?W-d`~99&;bxIXJX2Ab?&!DX=Vv2(s(pcx&qnR$3cN? z1|cMA&84$dcdUE0m&eD+Oe?F33^wo^{o0i)wfRoUz1fyxG1_OeN1w`hDXBP+VK(pt z*U4z-Ey={>k`#r;?K4-L3yKWwkdhpQ1scu^Ts2g=FCq(6b#fMk8+I9%IM^BH{Boan zo{jcJRuq=H0q@=3DCo^+f(t|_Oa+JL%rY_!P0Dk%g^Q9|U!6!|$`~=@U9Ei3;phd@^Spi_~G+H{rlqin?sIwGtgLK-;VFgWvfB2t{;-r z&_!+T`|bYPg#-WReJG_^8$3j))FzNuSRn5y(50dRjX@JRP6K&9DCRzy>mZ@asR%ej zz++Hl|FtZ!znCAwJicS@xUo)H8?#3lb@N3-xa4R`NZXMoj&Y>&e16p`P-_yF)P~&K zElB$+8T6{ZW3OVBJx!2jqTn$O!)DP1iCnTBNg+&3d@Puviz{M2$s1@C`=_l@rjon_ z2wz_ws8c;Lq&wBrY36ETOb*5bgNStF>GJp4{36Fexu#kX(+*+fHfWLzO#8lYKmB_3 zSyHJnJE~1#v9G05%Xp)~a3#znXb*Tp9>l*HGOcO05}KWaOzq;!OGVQ9yn^F4;^xUr z6R+L$PQiygjdtV$`1ie7RESnf3N-mEPU<{UVuC;R!#ZN)H5-Jt22ED*qO8paU|i6Z zx``+V{S5YtC&($8`hONcih;Qr?EH zgP(53$l2st;hZJkVI*ULKW(q|dQy~TI36n&0*Lr9rDj_v16+|TI&Je{noYw{AyJ<0 zb}s#Q8iTTjj?;IvloSL^_J>~*JcMXEi{Z;l6UV{%1^3@o_EVC&+G!RSmnn?2ms;fMIMSXan{W%0xQ8)Kvm2WUO{Xgf(uP|$C=(fK3uv+1 zxe^ag+9ar!+ee?NfB6iH8sp6|NQ%!-hccHvVM!3oA29N?z1yO$Yf)iG3SRwrcXN&t z;*|}0SNQ7;r43md*AI4_mH1;4?35-@I{NZhU=>_V^b^ihNrea?N_9i-1DGdS8WqzgQwPo zwWyfVEW)0UvCE9NRqY%6cpc=|Ix6>EKseZ|R+jhLK6|@SmUoWI6;<+m5<+)9=hSGN zkaPs-?G*N>autg_Wn0y7!Nsn7364Rjbo2NRJz!WfiD(OZcxn+(W2ShK4AlIpC@^&z z=LrxIileo)su#DdBY*uQu~r;8EogjBAwjm`{2Qj$IH*({9*7@klXnsW|HUUL7$m@iHwJZC7-PFkshm6sX5+a>6 z#*~T-jv!mim@%Zqpj{!gX$~YeMdNsZ+~g+6n+75E#_DqT<}G(zzxW{Eu#We0FP#qB zIhO0aR_{0DKXb7hKc1CRzy}@#AbUjx{5ElOadoiMw6kTjay7I2>tnAvsvc&52@U9% zkJxy^cnMD!+JZ6?C2~GYjnvCJL_$|Wk@4qtSnsa;H^1OmkDj^*&D)nU-@ zV~$u&0jL$j0g<*EDP9!KY&a5($5!OMYrg9ESc=Fm3^fp3MpxDJIa}nxwQVq&rp`f2 zYyU$R|HRQ!H$V?1Ko`M3bp72O_CMFe!SFZVHnSI7L+J$M@B0*z-~VHk z7B?FjZUd;vgafj>|ExLe-Rz9boB>stKiS>1=9c|F7gqO9sbIXgZgY4d8yH(tfuOox zv^Z(=JrD&}-Ffa9Gt=g^%$3PBZB@2FSp=&r%Gb$gRNo!$4{!N5@ZWDYfeG6P;b<-# z*MT~vJ0f()GE>V3AHPyhDK390L$9Hr{FrU?6}0-?`-q)+Mc$YPN1>@LrPAbCr@UQV zmrRec<&EYH8+b_B*StxpJ+zxDpVpwoBlVgYp8tx!YpM~x%Pg%j%o=P9sZyC&_{PEk zb8t8BmZi95qVCjH8%7ycz8e7xQ`~`W6O2^5aVYLYp|}rDp-I4|p*VLrvaDXG)bFIS zl+R46)@Lapl|FUhd@mfCFB&EjF-6Qu;6QE6LOX*IRu;f5!^y>czMLcn&PgtH6{5h= zso=Ns<00M8iyaS|k=i#skZPQ^)&lGYc#LHPjFS|!!wMZO_xImV(?#6q-?rp81i*JF zBsex>uEM+3bt_Qc5H$AY&X(uD4)Zw}79b!+ODNckfa@Zu#VdD}=1N}ZH&eDr7W>t| zbrg4Vep8sNKQg7J8x2O-3W_BwNd#+5bdzgDHqQUzqxS<`K+jz=9V3i&c%m=hfsRX?Z(>OntQrWbwp7n0jp8jwowyz*?eWvGf+D&=G zDM(~9H1GF6eLp@Cnh3*tzkZ)Ai^R^6^UF^;De@JRQ?u7tU%Q zoQsWNJ~o84p$O{~ckmkJXa4pl>_2C$g0W?bZg3!=AR-_jOu&oeBPh+XsWJRPKt8@Jj!B%5|Bu+Xjmg8*0=0@Xa=CSn_ETDib3%P zKQ6b{-g~m{w_Ikpy-w^4MhgrEXYWwFpqb!6&D@0^ntCSfn`<1oDy1*cIb4BGTiXZr zfNVf4;U)?i7mc+$Y}=)FVCkX)*v3NGQgvW3x$)5b06hd@Ilm@HfpQU{{M-{aL!u_=}&SImE^RW7A11m0f9fJjsk|Z0z#1&KZ&Y zS1ulLt;D(Nsiw6G`_>2(V^rt?0jJ+GEgA8Q$1V_|q|Ua7zDE`^BZb#;Li}_s&-Vm2 zMyTGROyM@^8oX*yBh3x-_SI}rd^J535W}&Kj8gzN4D}dJ&{mt--Z-z+3gAO+A7$LI zF@9P$)H6%wNxia#qIVo&d)-Pv_kuWx&%J|wf?+2_;1jNoeu90*GAN?M$fZrqsIa@` zs^+&T#tB8$=$ODCYmBc&75PEKZc(EGmBh33dvm+)GVG}D5fU^R-CEWdiL6+BnBmoW zVzJ#cC5llgTPDTpo%|`ShaOMyiR4(kB?8&PPS$0Xd|i5p>o5SRDth=(!c%v+sg*Tu zCU7_k77R)VpMMJ}XwndbGARI@8IHuWYc~`~8|(qb@|N|RAm}>83O5>{6>5a1*;j$= z=t{U6B@Hgzg&;``=0xwVlQ?c5r-uS7p+!VFa_ zbl_4R*W$B=Jg@d)dSCkzPiivoI~Xj8a}=B*1qTp@k{1#$c2=G~#zdnC=G{K`9=_Wt zx;1{>S^W0tfz0iG8xIN)=+7Oh#Ef8S^-EA9-S#0zq^1r$#Ob(A=?|XaUkpxg)u=v& zubGi|x1;W568C4U|F_yj+}adRh>K<*;J{&~b*6qrTP&M2(=y2+R#R+ec(V}dQ|vD{ z+X*W&HN%LLH`qVVcWuf$0FAHmwaNvRdGLakRxUqRZCOGNQC`_QTl}t%+Jr3@&@UqT ziZUx`7mv;-sAEq`GXr{rz1M5j-L7#}iO9+mF0yJac{()CE-8j7{Q-T7S-x0S=igY* z8T?F?^Dw`+RYCTt089LGn!`MO2m>Y?A;S_LKo%w!U;#1vGtX1hz?Ei)lj2@*fPxV$ z?G-jh3lg>E2-$Ci+^;GfS_dH~oKzp|G~*~HOs<|a*Qf_5uIt(3yw(*qN3OJBF4A59 zj1xq68!7r@3p-kWJK$CU~KM{`1#Tog`N`d=E_ONY{^{RnngW= z5z2=pXTFe==-&BhmBPQo)QG+hR<)-lTrm-OBf+I}xKQU|#k_>fGt4j8lb*Eqp4Pp@ z8~@}|fBe*m+tUs|o5DHm?Oo+L?dN>YtQWrBz9cQJS7xeh=BFuhb}u`(r~2BPrbE?h zj&7TD$*8)r)c5Tp)gM)Ne(%p~x2^A0ZqI(cuHWw7=actpf7}0kbNX=nR~gHyHQy`lzsx^Z z^ZV}izv=ZB^$#Dd-yi$yZ@>NjMWu!Zc&FH9#NJ?OQ*BYMiV{C;7Th@T!{egT!(C!8 zV^_EJpO2nADe>lp%IfbEIDeiiR(^HFdF4#u^l!da{@%e_ySE;?^*=b3xmER*72ivl zJPYOYmY)Srz4%Ht@Gom(lge1oh?V$n-0|&@eSkM3lL#|tc$|Ylah7?++MuNqrvh83 zr+{N_pl$~YGyugI7^0nlgTbkJCGjDZ1*yfcpw=0>0hMar4nKfO?*Ye=xna72bOYlt zpb?NZKDcR*uCb$yJ2(@loYLKg|adL-2w*1M~wWVY(X_ zRjg4oqa81aZVvi9DZ-qo1u%1vCQ;C}qffjbv^SSPwWCeLpqqd`5rHsaYbn$OlxYcc z{ph2{2>l)vQ2pp*$mm9(_rDQFIM!qBjiVcY-qA%EAlZOy0Jd%~x>@LbM}%2IjmT!9 z_9W3wLGNlIOwnwDh6+l@3tc~Ydk~@jNGnnnLv0-fc(Vd?5GYp(G9&`C$F^<|4* Double): Double = { - if (t.isEmpty) { - 0.0 - } else { - val sum = t.foldLeft(0.0) { - case (temp, score) => - temp + score - } - val mean = sum / t.size - val variance = t.foldLeft(0.0) { (sum, score) => - val v = score - mean - sum + v * v - } / t.size - math.sqrt(variance) - } - } - -} diff --git a/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbedding.docx b/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbedding.docx new file mode 100644 index 0000000000000000000000000000000000000000..83e660dc6f6433516ec6da87e66ad935ddd5615b GIT binary patch literal 42056 zcmagDW0+>mvMpM+ZJS-_GP}@KUAAr8wr$(CZQHhO-|BB|t$psf_fNjho0$<~#E6_T zb7n}30fV3b002M$5T>#!SI8E`Bme>cjDi6GAbmAp~B1peEAu5V#4zqn7SkQ&`i)U

GJ+P@P(_e@Ky*!O`gec5N2Z7PWq^CT2 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 ThriftSimClustersEmbedding} -import scala.collection.mutable -import scala.language.implicitConversions -import scala.util.hashing.MurmurHash3.arrayHash -import scala.util.hashing.MurmurHash3.productHash -import scala.math._ - -/** - * A representation of a SimClusters Embedding, designed for low memory footprint and performance. - * For services that cache millions of embeddings, we found this to significantly reduce allocations, - * memory footprint and overall performance. - * - * Embedding data is stored in pre-sorted arrays rather than structures which use a lot of pointers - * (e.g. Map). A minimal set of lazily-constructed intermediate data is kept. - * - * Be wary of adding further `val` or `lazy val`s to this class; materializing and storing more data - * on these objects could significantly affect in-memory cache performance. - * - * Also, if you are using this code in a place where you care about memory footprint, be careful - * not to materialize any of the lazy vals unless you need them. - */ -sealed trait SimClustersEmbedding extends Equals { - import SimClustersEmbedding._ - - /** - * Any compliant implementation of the SimClustersEmbedding trait must ensure that: - * - the cluster and score arrays are ordered as described below - * - the cluster and score arrays are treated as immutable (.hashCode is memoized) - * - the size of all cluster and score arrays is the same - * - all cluster scores are > 0 - * - cluster ids are unique - */ - // In descending score order - this is useful for truncation, where we care most about the highest scoring elements - private[simclusters_v2] val clusterIds: Array[ClusterId] - private[simclusters_v2] val scores: Array[Double] - // In ascending cluster order. This is useful for operations where we try to find the same cluster in another embedding, e.g. dot product - private[simclusters_v2] val sortedClusterIds: Array[ClusterId] - private[simclusters_v2] val sortedScores: Array[Double] - - /** - * Build and return a Set of all clusters in this embedding - */ - lazy val clusterIdSet: Set[ClusterId] = sortedClusterIds.toSet - - /** - * Build and return Seq representation of this embedding - */ - lazy val embedding: Seq[(ClusterId, Double)] = - sortedClusterIds.zip(sortedScores).sortBy(-_._2).toSeq - - /** - * Build and return a Map representation of this embedding - */ - lazy val map: Map[ClusterId, Double] = sortedClusterIds.zip(sortedScores).toMap - - lazy val l1norm: Double = CosineSimilarityUtil.l1NormArray(sortedScores) - - lazy val l2norm: Double = CosineSimilarityUtil.normArray(sortedScores) - - lazy val logNorm: Double = CosineSimilarityUtil.logNormArray(sortedScores) - - lazy val expScaledNorm: Double = - CosineSimilarityUtil.expScaledNormArray(sortedScores, DefaultExponent) - - /** - * The L2 Normalized Embedding. Optimize for Cosine Similarity Calculation. - */ - lazy val normalizedSortedScores: Array[Double] = - CosineSimilarityUtil.applyNormArray(sortedScores, l2norm) - - lazy val logNormalizedSortedScores: Array[Double] = - CosineSimilarityUtil.applyNormArray(sortedScores, logNorm) - - lazy val expScaledNormalizedSortedScores: Array[Double] = - CosineSimilarityUtil.applyNormArray(sortedScores, expScaledNorm) - - /** - * The Standard Deviation of an Embedding. - */ - lazy val std: Double = { - if (scores.isEmpty) { - 0.0 - } else { - val sum = scores.sum - val mean = sum / scores.length - var variance: Double = 0.0 - for (i <- scores.indices) { - val v = scores(i) - mean - variance += (v * v) - } - math.sqrt(variance / scores.length) - } - } - - /** - * Return the score of a given clusterId. - */ - def get(clusterId: ClusterId): Option[Double] = { - var i = 0 - while (i < sortedClusterIds.length) { - val thisId = sortedClusterIds(i) - if (clusterId == thisId) return Some(sortedScores(i)) - if (thisId > clusterId) return None - i += 1 - } - None - } - - /** - * Return the score of a given clusterId. If not exist, return default. - */ - def getOrElse(clusterId: ClusterId, default: Double = 0.0): Double = { - require(default >= 0.0) - var i = 0 - while (i < sortedClusterIds.length) { - val thisId = sortedClusterIds(i) - if (clusterId == thisId) return sortedScores(i) - if (thisId > clusterId) return default - i += 1 - } - default - } - - /** - * Return the cluster ids - */ - def getClusterIds(): Array[ClusterId] = clusterIds - - /** - * Return the cluster ids with the highest scores - */ - def topClusterIds(size: Int): Seq[ClusterId] = clusterIds.take(size) - - /** - * Return true if this embedding contains a given clusterId - */ - def contains(clusterId: ClusterId): Boolean = clusterIdSet.contains(clusterId) - - def sum(another: SimClustersEmbedding): SimClustersEmbedding = { - if (another.isEmpty) this - else if (this.isEmpty) another - else { - var i1 = 0 - var i2 = 0 - val l = scala.collection.mutable.ArrayBuffer.empty[(Int, Double)] - while (i1 < sortedClusterIds.length && i2 < another.sortedClusterIds.length) { - if (sortedClusterIds(i1) == another.sortedClusterIds(i2)) { - l += Tuple2(sortedClusterIds(i1), sortedScores(i1) + another.sortedScores(i2)) - i1 += 1 - i2 += 1 - } else if (sortedClusterIds(i1) > another.sortedClusterIds(i2)) { - l += Tuple2(another.sortedClusterIds(i2), another.sortedScores(i2)) - // another cluster is lower. Increment it to see if the next one matches this's - i2 += 1 - } else { - l += Tuple2(sortedClusterIds(i1), sortedScores(i1)) - // this cluster is lower. Increment it to see if the next one matches anothers's - i1 += 1 - } - } - if (i1 == sortedClusterIds.length && i2 != another.sortedClusterIds.length) - // this was shorter. Prepend remaining elements from another - l ++= another.sortedClusterIds.drop(i2).zip(another.sortedScores.drop(i2)) - else if (i1 != sortedClusterIds.length && i2 == another.sortedClusterIds.length) - // another was shorter. Prepend remaining elements from this - l ++= sortedClusterIds.drop(i1).zip(sortedScores.drop(i1)) - SimClustersEmbedding(l) - } - } - - def scalarMultiply(multiplier: Double): SimClustersEmbedding = { - require(multiplier > 0.0, "SimClustersEmbedding.scalarMultiply requires multiplier > 0.0") - DefaultSimClustersEmbedding( - clusterIds, - scores.map(_ * multiplier), - sortedClusterIds, - sortedScores.map(_ * multiplier) - ) - } - - def scalarDivide(divisor: Double): SimClustersEmbedding = { - require(divisor > 0.0, "SimClustersEmbedding.scalarDivide requires divisor > 0.0") - DefaultSimClustersEmbedding( - clusterIds, - scores.map(_ / divisor), - sortedClusterIds, - sortedScores.map(_ / divisor) - ) - } - - def dotProduct(another: SimClustersEmbedding): Double = { - CosineSimilarityUtil.dotProductForSortedClusterAndScores( - sortedClusterIds, - sortedScores, - another.sortedClusterIds, - another.sortedScores) - } - - def cosineSimilarity(another: SimClustersEmbedding): Double = { - CosineSimilarityUtil.dotProductForSortedClusterAndScores( - sortedClusterIds, - normalizedSortedScores, - another.sortedClusterIds, - another.normalizedSortedScores) - } - - def logNormCosineSimilarity(another: SimClustersEmbedding): Double = { - CosineSimilarityUtil.dotProductForSortedClusterAndScores( - sortedClusterIds, - logNormalizedSortedScores, - another.sortedClusterIds, - another.logNormalizedSortedScores) - } - - def expScaledCosineSimilarity(another: SimClustersEmbedding): Double = { - CosineSimilarityUtil.dotProductForSortedClusterAndScores( - sortedClusterIds, - expScaledNormalizedSortedScores, - another.sortedClusterIds, - another.expScaledNormalizedSortedScores) - } - - /** - * Return true if this is an empty embedding - */ - def isEmpty: Boolean = sortedClusterIds.isEmpty - - /** - * Return the Jaccard Similarity Score between two embeddings. - * Note: this implementation should be optimized if we start to use it in production - */ - def jaccardSimilarity(another: SimClustersEmbedding): Double = { - if (this.isEmpty || another.isEmpty) { - 0.0 - } else { - val intersect = clusterIdSet.intersect(another.clusterIdSet).size - val union = clusterIdSet.union(another.clusterIdSet).size - intersect.toDouble / union - } - } - - /** - * Return the Fuzzy Jaccard Similarity Score between two embeddings. - * Treat each Simclusters embedding as fuzzy set, calculate the fuzzy set similarity - * metrics of two embeddings - * - * Paper 2.2.1: https://openreview.net/pdf?id=SkxXg2C5FX - */ - def fuzzyJaccardSimilarity(another: SimClustersEmbedding): Double = { - if (this.isEmpty || another.isEmpty) { - 0.0 - } else { - val v1C = sortedClusterIds - val v1S = sortedScores - val v2C = another.sortedClusterIds - val v2S = another.sortedScores - - require(v1C.length == v1S.length) - require(v2C.length == v2S.length) - - var i1 = 0 - var i2 = 0 - var numerator = 0.0 - var denominator = 0.0 - - while (i1 < v1C.length && i2 < v2C.length) { - if (v1C(i1) == v2C(i2)) { - numerator += min(v1S(i1), v2S(i2)) - denominator += max(v1S(i1), v2S(i2)) - i1 += 1 - i2 += 1 - } else if (v1C(i1) > v2C(i2)) { - denominator += v2S(i2) - i2 += 1 - } else { - denominator += v1S(i1) - i1 += 1 - } - } - - while (i1 < v1C.length) { - denominator += v1S(i1) - i1 += 1 - } - while (i2 < v2C.length) { - denominator += v2S(i2) - i2 += 1 - } - - numerator / denominator - } - } - - /** - * Return the Euclidean Distance Score between two embeddings. - * Note: this implementation should be optimized if we start to use it in production - */ - def euclideanDistance(another: SimClustersEmbedding): Double = { - val unionClusters = clusterIdSet.union(another.clusterIdSet) - val variance = unionClusters.foldLeft(0.0) { - case (sum, clusterId) => - val distance = math.abs(this.getOrElse(clusterId) - another.getOrElse(clusterId)) - sum + distance * distance - } - math.sqrt(variance) - } - - /** - * Return the Manhattan Distance Score between two embeddings. - * Note: this implementation should be optimized if we start to use it in production - */ - def manhattanDistance(another: SimClustersEmbedding): Double = { - val unionClusters = clusterIdSet.union(another.clusterIdSet) - unionClusters.foldLeft(0.0) { - case (sum, clusterId) => - sum + math.abs(this.getOrElse(clusterId) - another.getOrElse(clusterId)) - } - } - - /** - * Return the number of overlapping clusters between two embeddings. - */ - def overlappingClusters(another: SimClustersEmbedding): Int = { - var i1 = 0 - var i2 = 0 - var count = 0 - - while (i1 < sortedClusterIds.length && i2 < another.sortedClusterIds.length) { - if (sortedClusterIds(i1) == another.sortedClusterIds(i2)) { - count += 1 - i1 += 1 - i2 += 1 - } else if (sortedClusterIds(i1) > another.sortedClusterIds(i2)) { - // v2 cluster is lower. Increment it to see if the next one matches v1's - i2 += 1 - } else { - // v1 cluster is lower. Increment it to see if the next one matches v2's - i1 += 1 - } - } - count - } - - /** - * Return the largest product cluster scores - */ - def maxElementwiseProduct(another: SimClustersEmbedding): Double = { - var i1 = 0 - var i2 = 0 - var maxProduct: Double = 0.0 - - while (i1 < sortedClusterIds.length && i2 < another.sortedClusterIds.length) { - if (sortedClusterIds(i1) == another.sortedClusterIds(i2)) { - val product = sortedScores(i1) * another.sortedScores(i2) - if (product > maxProduct) maxProduct = product - i1 += 1 - i2 += 1 - } else if (sortedClusterIds(i1) > another.sortedClusterIds(i2)) { - // v2 cluster is lower. Increment it to see if the next one matches v1's - i2 += 1 - } else { - // v1 cluster is lower. Increment it to see if the next one matches v2's - i1 += 1 - } - } - maxProduct - } - - /** - * Return a new SimClustersEmbedding with Max Embedding Size. - * - * Prefer to truncate on embedding construction where possible. Doing so is cheaper. - */ - def truncate(size: Int): SimClustersEmbedding = { - if (clusterIds.length <= size) { - this - } else { - val truncatedClusterIds = clusterIds.take(size) - val truncatedScores = scores.take(size) - val (sortedClusterIds, sortedScores) = - truncatedClusterIds.zip(truncatedScores).sortBy(_._1).unzip - - DefaultSimClustersEmbedding( - truncatedClusterIds, - truncatedScores, - sortedClusterIds, - sortedScores) - } - } - - def toNormalized: SimClustersEmbedding = { - // Additional safety check. Only EmptyEmbedding's l2norm is 0.0. - if (l2norm == 0.0) { - EmptyEmbedding - } else { - this.scalarDivide(l2norm) - } - } - - implicit def toThrift: ThriftSimClustersEmbedding = { - ThriftSimClustersEmbedding( - embedding.map { - case (clusterId, score) => - SimClusterWithScore(clusterId, score) - } - ) - } - - def canEqual(a: Any): Boolean = a.isInstanceOf[SimClustersEmbedding] - - /* We define equality as having the same clusters and scores. - * This implementation is arguably incorrect in this case: - * (1 -> 1.0, 2 -> 0.0) == (1 -> 1.0) // equals returns false - * However, compliant implementations of SimClustersEmbedding should not include zero-weight - * clusters, so this implementation should work correctly. - */ - override def equals(that: Any): Boolean = - that match { - case that: SimClustersEmbedding => - that.canEqual(this) && - this.sortedClusterIds.sameElements(that.sortedClusterIds) && - this.sortedScores.sameElements(that.sortedScores) - case _ => false - } - - /** - * hashcode implementation based on the contents of the embedding. As a lazy val, this relies on - * the embedding contents being immutable. - */ - override lazy val hashCode: Int = { - /* Arrays uses object id as hashCode, so different arrays with the same contents hash - * differently. To provide a stable hash code, we take the same approach as how a - * `case class(clusters: Seq[Int], scores: Seq[Double])` would be hashed. See - * ScalaRunTime._hashCode and MurmurHash3.productHash - * https://github.com/scala/scala/blob/2.12.x/src/library/scala/runtime/ScalaRunTime.scala#L167 - * https://github.com/scala/scala/blob/2.12.x/src/library/scala/util/hashing/MurmurHash3.scala#L64 - * - * Note that the hashcode is arguably incorrect in this case: - * (1 -> 1.0, 2 -> 0.0).hashcode == (1 -> 1.0).hashcode // returns false - * However, compliant implementations of SimClustersEmbedding should not include zero-weight - * clusters, so this implementation should work correctly. - */ - productHash((arrayHash(sortedClusterIds), arrayHash(sortedScores))) - } -} - -object SimClustersEmbedding { - val EmptyEmbedding: SimClustersEmbedding = - DefaultSimClustersEmbedding(Array.empty, Array.empty, Array.empty, Array.empty) - - val DefaultExponent: Double = 0.3 - - // Descending by score then ascending by ClusterId - implicit val order: Ordering[(ClusterId, Double)] = - (a: (ClusterId, Double), b: (ClusterId, Double)) => { - b._2 compare a._2 match { - case 0 => a._1 compare b._1 - case c => c - } - } - - /** - * Constructors - * - * These constructors: - * - do not make assumptions about the ordering of the cluster/scores. - * - do assume that cluster ids are unique - * - ignore (drop) any cluster whose score is <= 0 - */ - def apply(embedding: (ClusterId, Double)*): SimClustersEmbedding = - buildDefaultSimClustersEmbedding(embedding) - - def apply(embedding: Iterable[(ClusterId, Double)]): SimClustersEmbedding = - buildDefaultSimClustersEmbedding(embedding) - - def apply(embedding: Iterable[(ClusterId, Double)], size: Int): SimClustersEmbedding = - buildDefaultSimClustersEmbedding(embedding, truncate = Some(size)) - - implicit def apply(thriftEmbedding: ThriftSimClustersEmbedding): SimClustersEmbedding = - buildDefaultSimClustersEmbedding(thriftEmbedding.embedding.map(_.toTuple)) - - def apply(thriftEmbedding: ThriftSimClustersEmbedding, truncate: Int): SimClustersEmbedding = - buildDefaultSimClustersEmbedding( - thriftEmbedding.embedding.map(_.toTuple), - truncate = Some(truncate)) - - private def buildDefaultSimClustersEmbedding( - embedding: Iterable[(ClusterId, Double)], - truncate: Option[Int] = None - ): SimClustersEmbedding = { - val truncatedIdAndScores = { - val idsAndScores = embedding.filter(_._2 > 0.0).toArray.sorted(order) - truncate match { - case Some(t) => idsAndScores.take(t) - case _ => idsAndScores - } - } - - if (truncatedIdAndScores.isEmpty) { - EmptyEmbedding - } else { - val (clusterIds, scores) = truncatedIdAndScores.unzip - val (sortedClusterIds, sortedScores) = truncatedIdAndScores.sortBy(_._1).unzip - DefaultSimClustersEmbedding(clusterIds, scores, sortedClusterIds, sortedScores) - } - } - - /** ***** Aggregation Methods ******/ - /** - * A high performance version of Sum a list of SimClustersEmbeddings. - * Suggest using in Online Services to avoid the unnecessary GC. - * For offline or streaming. Please check [[SimClustersEmbeddingMonoid]] - */ - def sum(simClustersEmbeddings: Iterable[SimClustersEmbedding]): SimClustersEmbedding = { - if (simClustersEmbeddings.isEmpty) { - EmptyEmbedding - } else { - val sum = simClustersEmbeddings.foldLeft(mutable.Map[ClusterId, Double]()) { - (sum, embedding) => - for (i <- embedding.sortedClusterIds.indices) { - val clusterId = embedding.sortedClusterIds(i) - sum.put(clusterId, embedding.sortedScores(i) + sum.getOrElse(clusterId, 0.0)) - } - sum - } - SimClustersEmbedding(sum) - } - } - - /** - * Support a fixed size SimClustersEmbedding Sum - */ - def sum( - simClustersEmbeddings: Iterable[SimClustersEmbedding], - maxSize: Int - ): SimClustersEmbedding = { - sum(simClustersEmbeddings).truncate(maxSize) - } - - /** - * A high performance version of Mean a list of SimClustersEmbeddings. - * Suggest using in Online Services to avoid the unnecessary GC. - */ - def mean(simClustersEmbeddings: Iterable[SimClustersEmbedding]): SimClustersEmbedding = { - if (simClustersEmbeddings.isEmpty) { - EmptyEmbedding - } else { - sum(simClustersEmbeddings).scalarDivide(simClustersEmbeddings.size) - } - } - - /** - * Support a fixed size SimClustersEmbedding Mean - */ - def mean( - simClustersEmbeddings: Iterable[SimClustersEmbedding], - maxSize: Int - ): SimClustersEmbedding = { - mean(simClustersEmbeddings).truncate(maxSize) - } -} - -case class DefaultSimClustersEmbedding( - override val clusterIds: Array[ClusterId], - override val scores: Array[Double], - override val sortedClusterIds: Array[ClusterId], - override val sortedScores: Array[Double]) - extends SimClustersEmbedding { - - override def toString: String = - s"DefaultSimClustersEmbedding(${clusterIds.zip(scores).mkString(",")})" -} - -object DefaultSimClustersEmbedding { - // To support existing code which builds embeddings from a Seq - def apply(embedding: Seq[(ClusterId, Double)]): SimClustersEmbedding = SimClustersEmbedding( - embedding) -} diff --git a/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingId.docx b/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingId.docx new file mode 100644 index 0000000000000000000000000000000000000000..2cafa59918e60bbb8fac69298e6e03de5197feef GIT binary patch literal 38217 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 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingId.scala b/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingId.scala deleted file mode 100644 index 0a2fc592f..000000000 --- a/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingId.scala +++ /dev/null @@ -1,209 +0,0 @@ -package com.twitter.simclusters_v2.common - -import com.twitter.simclusters_v2.thriftscala.EmbeddingType -import com.twitter.simclusters_v2.thriftscala.InternalId -import com.twitter.simclusters_v2.thriftscala.LocaleEntityId -import com.twitter.simclusters_v2.thriftscala.ModelVersion -import com.twitter.simclusters_v2.thriftscala.TopicId -import com.twitter.simclusters_v2.thriftscala.{ - SimClustersEmbeddingId => ThriftSimClustersEmbeddingId -} -import com.twitter.simclusters_v2.thriftscala.EmbeddingType._ -import com.twitter.simclusters_v2.thriftscala.InternalId.EntityId -import com.twitter.simclusters_v2.thriftscala.InternalId.TweetId -import com.twitter.simclusters_v2.thriftscala.InternalId.UserId -import com.twitter.simclusters_v2.thriftscala.{EmbeddingType => SimClustersEmbeddingType} - -object SimClustersEmbeddingId { - - val DefaultModelVersion: ModelVersion = ModelVersion.Model20m145k2020 - - // Embeddings which is available in Content-Recommender - val TweetEmbeddingTypes: Set[EmbeddingType] = - Set( - FavBasedTweet, - FollowBasedTweet, - LogFavBasedTweet, - LogFavLongestL2EmbeddingTweet - ) - val DefaultTweetEmbeddingType: EmbeddingType = LogFavLongestL2EmbeddingTweet - - val UserInterestedInEmbeddingTypes: Set[EmbeddingType] = - Set( - FavBasedUserInterestedIn, - FollowBasedUserInterestedIn, - LogFavBasedUserInterestedIn, - RecentFollowBasedUserInterestedIn, - FilteredUserInterestedIn, - FavBasedUserInterestedInFromPE, - FollowBasedUserInterestedInFromPE, - LogFavBasedUserInterestedInFromPE, - FilteredUserInterestedInFromPE, - LogFavBasedUserInterestedInFromAPE, - FollowBasedUserInterestedInFromAPE, - UnfilteredUserInterestedIn - ) - val DefaultUserInterestInEmbeddingType: EmbeddingType = FavBasedUserInterestedIn - - val ProducerEmbeddingTypes: Set[EmbeddingType] = - Set( - FavBasedProducer, - FollowBasedProducer, - AggregatableFavBasedProducer, - AggregatableLogFavBasedProducer, - RelaxedAggregatableLogFavBasedProducer, - KnownFor - ) - val DefaultProducerEmbeddingType: EmbeddingType = FavBasedProducer - - val LocaleEntityEmbeddingTypes: Set[EmbeddingType] = - Set( - FavTfgTopic, - LogFavTfgTopic - ) - val DefaultLocaleEntityEmbeddingType: EmbeddingType = FavTfgTopic - - val TopicEmbeddingTypes: Set[EmbeddingType] = - Set( - LogFavBasedKgoApeTopic - ) - val DefaultTopicEmbeddingType: EmbeddingType = LogFavBasedKgoApeTopic - - val AllEmbeddingTypes: Set[EmbeddingType] = - TweetEmbeddingTypes ++ - UserInterestedInEmbeddingTypes ++ - ProducerEmbeddingTypes ++ - LocaleEntityEmbeddingTypes ++ - TopicEmbeddingTypes - - def buildTweetId( - tweetId: TweetId, - embeddingType: EmbeddingType = DefaultTweetEmbeddingType, - modelVersion: ModelVersion = DefaultModelVersion - ): ThriftSimClustersEmbeddingId = { - assert(TweetEmbeddingTypes.contains(embeddingType)) - ThriftSimClustersEmbeddingId( - embeddingType, - modelVersion, - InternalId.TweetId(tweetId) - ) - } - - def buildUserInterestedInId( - userId: UserId, - embeddingType: EmbeddingType = DefaultUserInterestInEmbeddingType, - modelVersion: ModelVersion = DefaultModelVersion - ): ThriftSimClustersEmbeddingId = { - assert(UserInterestedInEmbeddingTypes.contains(embeddingType)) - ThriftSimClustersEmbeddingId( - embeddingType, - modelVersion, - InternalId.UserId(userId) - ) - } - - def buildProducerId( - userId: UserId, - embeddingType: EmbeddingType = DefaultProducerEmbeddingType, - modelVersion: ModelVersion = DefaultModelVersion - ): ThriftSimClustersEmbeddingId = { - assert(ProducerEmbeddingTypes.contains(embeddingType)) - ThriftSimClustersEmbeddingId( - embeddingType, - modelVersion, - InternalId.UserId(userId) - ) - } - - def buildLocaleEntityId( - entityId: SemanticCoreEntityId, - language: String, - embeddingType: EmbeddingType = DefaultLocaleEntityEmbeddingType, - modelVersion: ModelVersion = DefaultModelVersion - ): ThriftSimClustersEmbeddingId = { - ThriftSimClustersEmbeddingId( - embeddingType, - modelVersion, - InternalId.LocaleEntityId( - LocaleEntityId(entityId, language) - ) - ) - } - - def buildTopicId( - topicId: TopicId, - language: Option[String] = None, - country: Option[String] = None, - embeddingType: EmbeddingType = DefaultTopicEmbeddingType, - modelVersion: ModelVersion = DefaultModelVersion - ): ThriftSimClustersEmbeddingId = { - ThriftSimClustersEmbeddingId( - embeddingType, - modelVersion, - InternalId.TopicId( - TopicId(topicId, language, country) - ) - ) - } - - // Extractor object for InternalIds that wrap Long - object LongInternalId { - def unapply(iid: InternalId): Option[Long] = iid match { - case InternalId.TweetId(id) => Some(id) - case InternalId.UserId(id) => Some(id) - case InternalId.EntityId(id) => Some(id) - case _ => None - } - } - - // Extractor object for SimClusterEmbeddingIds with InternalIds that wrap Long - object LongSimClustersEmbeddingId { - def unapply(id: ThriftSimClustersEmbeddingId): Option[Long] = - LongInternalId.unapply(id.internalId) - } - - // Only for debuggers. - def buildEmbeddingId( - entityId: String, - embeddingType: EmbeddingType, - modelVersion: ModelVersion = DefaultModelVersion - ): ThriftSimClustersEmbeddingId = { - if (TweetEmbeddingTypes.contains(embeddingType)) { - buildTweetId(entityId.toLong, embeddingType, modelVersion) - } else if (UserInterestedInEmbeddingTypes.contains(embeddingType)) { - buildUserInterestedInId(entityId.toLong, embeddingType, modelVersion) - } else if (ProducerEmbeddingTypes.contains(embeddingType)) { - buildProducerId(entityId.toLong, embeddingType, modelVersion) - } else if (LocaleEntityEmbeddingTypes.contains(embeddingType)) { - buildLocaleEntityId(entityId.toLong, "en", embeddingType, modelVersion) - } else if (TopicEmbeddingTypes.contains(embeddingType)) { - buildTopicId( - entityId.toLong, - Some("en"), - embeddingType = embeddingType, - modelVersion = modelVersion) - } else { - throw new IllegalArgumentException(s"Invalid embedding type: $embeddingType") - } - } - - implicit val internalIdOrdering: Ordering[InternalId] = - Ordering.by(internalId => internalId.hashCode()) - - implicit val simClustersEmbeddingIdOrdering: Ordering[ThriftSimClustersEmbeddingId] = - Ordering.by(embeddingId => - (embeddingId.embeddingType.value, embeddingId.modelVersion.value, embeddingId.internalId)) - - // Use Enum for feature switch - object TopicEnum extends Enumeration { - protected case class EmbeddingType(embeddingType: SimClustersEmbeddingType) extends super.Val - import scala.language.implicitConversions - implicit def valueToEmbeddingType(value: Value): EmbeddingType = - value.asInstanceOf[EmbeddingType] - - val FavTfgTopic: Value = EmbeddingType(SimClustersEmbeddingType.FavTfgTopic) - val LogFavBasedKgoApeTopic: Value = EmbeddingType( - SimClustersEmbeddingType.LogFavBasedKgoApeTopic) - } - -} diff --git a/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingIdCacheKeyBuilder.docx b/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingIdCacheKeyBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..208b7310c05238823e1bf14d1c704f727ee7c694 GIT binary patch literal 36979 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 Long, - prefix: String = "") { - - // Example: "CR:SCE:1:2:1234567890ABCDEF" - def apply(embeddingId: SimClustersEmbeddingId): String = { - f"$prefix:SCE:${embeddingId.embeddingType.getValue()}%X:" + - f"${embeddingId.modelVersion.getValue()}%X" + - f":${hash(embeddingId.internalId.toString.getBytes)}%X" - } - -} diff --git a/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingMonoid.docx b/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingMonoid.docx new file mode 100644 index 0000000000000000000000000000000000000000..7ec5e2478067b69b42be9f2d0e595fba9f9c09e2 GIT binary patch literal 36840 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 bMap8Rt-}CsR$vYS;~}wq#?WA literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingMonoid.scala b/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingMonoid.scala deleted file mode 100644 index 1b17c9705..000000000 --- a/src/scala/com/twitter/simclusters_v2/common/SimClustersEmbeddingMonoid.scala +++ /dev/null @@ -1,18 +0,0 @@ -package com.twitter.simclusters_v2.common - -import com.twitter.algebird.Monoid - -case class SimClustersEmbeddingMonoid() extends Monoid[SimClustersEmbedding] { - - override val zero: SimClustersEmbedding = SimClustersEmbedding.EmptyEmbedding - - override def plus(x: SimClustersEmbedding, y: SimClustersEmbedding): SimClustersEmbedding = { - x.sum(y) - } -} - -object SimClustersEmbeddingMonoid { - - val monoid: Monoid[SimClustersEmbedding] = SimClustersEmbeddingMonoid() - -}

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 ImiB^p0F4OHjQ{`u literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/recos/user_video_graph/store/UserRecentFollowersStore.scala b/src/scala/com/twitter/recos/user_video_graph/store/UserRecentFollowersStore.scala deleted file mode 100644 index 7d1b6df6f..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/store/UserRecentFollowersStore.scala +++ /dev/null @@ -1,50 +0,0 @@ -package com.twitter.recos.user_video_graph.store - -import com.twitter.simclusters_v2.common.UserId -import com.twitter.socialgraph.thriftscala.EdgesRequest -import com.twitter.socialgraph.thriftscala.EdgesResult -import com.twitter.socialgraph.thriftscala.PageRequest -import com.twitter.socialgraph.thriftscala.RelationshipType -import com.twitter.socialgraph.thriftscala.SrcRelationship -import com.twitter.socialgraph.thriftscala.SocialGraphService -import com.twitter.storehaus.ReadableStore -import com.twitter.util.Duration -import com.twitter.util.Future -import com.twitter.util.Time - -class UserRecentFollowersStore( - sgsClient: SocialGraphService.MethodPerEndpoint) - extends ReadableStore[UserRecentFollowersStore.Query, Seq[UserId]] { - - override def get(key: UserRecentFollowersStore.Query): Future[Option[Seq[UserId]]] = { - val edgeRequest = EdgesRequest( - relationship = SrcRelationship(key.userId, RelationshipType.FollowedBy), - // Could have a better guess at count when k.maxAge != None - pageRequest = Some(PageRequest(count = key.maxResults)) - ) - - val lookbackThresholdMillis = key.maxAge - .map(maxAge => (Time.now - maxAge).inMilliseconds) - .getOrElse(0L) - - sgsClient - .edges(Seq(edgeRequest)) - .map(_.flatMap { - case EdgesResult(edges, _, _) => - edges.collect { - case e if e.createdAt >= lookbackThresholdMillis => - e.target - } - }) - .map(Some(_)) - } -} - -object UserRecentFollowersStore { - case class Query( - userId: UserId, - // maxResults - if Some(count), we return only the `count` most recent follows - maxResults: Option[Int] = None, - // maxAge - if Some(duration), return only follows since `Time.now - duration` - maxAge: Option[Duration] = None) -} diff --git a/src/scala/com/twitter/recos/user_video_graph/util/BUILD b/src/scala/com/twitter/recos/user_video_graph/util/BUILD deleted file mode 100644 index a8a1364e1..000000000 --- a/src/scala/com/twitter/recos/user_video_graph/util/BUILD +++ /dev/null @@ -1,12 +0,0 @@ -scala_library( - sources = ["*.scala"], - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/com/twitter/graphjet", - "snowflake:id", - "snowflake/src/main/scala/com/twitter/snowflake/id", - "src/scala/com/twitter/recos/util:recos-util", - "src/scala/com/twitter/simclusters_v2/common", - "src/thrift/com/twitter/recos/user_video_graph:user_video_graph-scala", - ], -) diff --git a/src/scala/com/twitter/recos/user_video_graph/util/BUILD.docx b/src/scala/com/twitter/recos/user_video_graph/util/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..16679198c9530e1fc5d9cf7739162c7e629bb5bc GIT binary patch literal 36825 zcmagFWmsIvwm*z(a1HM6?hb+A?h-U;<4)rNg1fuBySqaO?iM5v-2LB~nRCv}x%a;B zm(4>}t)Hy5cUAT7Y9(1nC`>RgFgP&MG;Xa*mBQFWa4@hj7%(slP^+#uz|Pss&e>4S z!`{qEpUK_UrZG`oaa9EM%h?N760;DAmpBSm*^WJpJwq&>M0NTNkMYWeKYMo%0cN3MaxWtLReuic~8Dz0{{(2tMsX6zaWGt!7qVz7|+#pO% zONRIRX)bV<-I{(rL-gP?u^gR%M6Cy~DC){+4Rqq6U^o@QG3e0h{2A`t4sv@nm7@{r zUHZ>^V@j?s6TWU_58{53SuaaWR2rGq=?HE9JSkyD=ju{lj2hwwoN8Ss>FXUW)E(+p zdkc}>hY$g%-+$QlFu9FuvLC_Jl}22v>TIA}1^+k!SO-zn%pO8!X};O<=NzwU(0}gG z(T-B{u{;Wt#`C-rN6t9z381B}C)H1YNn`7XuJjJN>%Y6BEsUlRdRPiIxSN}mx1CV; z8$tQPsV-cr(k>dEG|JA){pN5aPUdry6QsM$E1}@iAz>&;<1aGcb$@~UwEqcu1^51) zf7PAzb7#?>%W6QLi5x=`t?o-AVF6lq?58KMN5tat_Yy+A&x^(Dd%|OPWO+}R@&;f^ z|EQt|m8{4;sCpX^U|@)#zlM%xHcre;zps^XlOG{jQT@(@Bu6NV?V8jj3YHBd4&@7k zdQv7%i|l~XMJrvM$`blo*u6vtXS*im3+egzOY}uHfttqJ^8vYwy;_^J7Y*%(Yj8>M z9sZ>5YCA#NHfiBEl$R$Cg@o3kG&NP}X zK8&*f7=V;q6X)0B%GMt?ZeQ<(o1CSM{6vmo?9o(H6--%icnXkZ95AlMWe%pJ%3@kG zu-hKnl|Jj1Uoag8iYuxbxKmuiOm?6T@K`hm6wkEme%NQEAfMFqoHBRW2vqj9pCj_uJdxuby1u2ux zsxP+?%11s>$H_7GWr{SjMWrbBP)rp~e))@rNE}TYITFbpChbpuf1^0<1m(&i!} zune@4T=1}@flqQ%22it0 zEL1D&4$$Wz6pQx@^Gz6kJ^xd~*wdn@Ic$T%XLYRchrAIbhjoO;>aWB5tCI(0PEcjg zrC1t+X!;I@(_@wMFpTidshUbvV_szS#uFDru=Y-h^wZ8O$RZmJUPbK+_TJx~%|s-B zxz^qfoF^(ZE^VYJvnYNohkU92T<%daEy(#{_vT1DDG>=-3gXiXJJh&Gxh2hVs1%Mo z2|lY)=lR5EC@VxS=bJjypJ+K2wz@b1v*aSjL=5(qv+wQ)5Psm86l{qAzuidLmuH^R ztb*ZuZ8)wcQLQW0484pziRso79nRt9gnSXFi5UG(o@n(6(0h%Rt>wSw5Yuv7U&M# zGzy=o86nBq@tX3FJ4_X%f>lG*6iI|n#>DvaCbXxT2M6MdI{FH_kyzQBcxbMa+rhwA z@I3%Ebb_@YuF?lrogL!4&v-AWOc%DS2U`y=f`~_MFg(DPdU&Gb6L_1K(TH&({}!9g zb}i{;DOzHpZ_-2@c`qmUB(7_RzL;4NoW3Shc1sulryUlIw%*rpvGdmlZf)IdeL9 z{mInMQLhh0E#}aPs-TY^IU;8#>qOcYxqbE{mGu+jx^?cagCuu(H4~yIdicqxeT&c5 zPR#6!P);2`Yzk|1x*J`0JJgP!ye0T|rIS;@dR3I=)#YDWVWX201Ae;K-u3$mJBGbv z6Gx?e->R5w?z>9>Gz%z1XY%BpBU0Me)VTJ2kT)mxg*XYo`t_sP#oy*b>X-N8SYwz> zSGrcuyHiWC-^93Rhut`gN6Yucb(S$-T^}@7XuW!JEyO=ZNJ`Zh z8^L?~dzyFT3rR~`icgx}1OB|2wiyeed3<=}B}_nuD_dqTyPHJ9@}!{Fb_dGvuBDNn zQ;cv{K!i>R^U^*mdKKk1hk%0-!??UKRGAd^OUkVCaGGj{l93ae>v?H{xkZZl5K_Cd zgd@_59a2TKYQNxq-)MzM5XH z&Lsgc`I(d2#LpE69~0!C5o%j02kHp*Br%*3U93dzoL z_G~A+n5=5K?5wcf5?)Vp>fKVP*9hoCgQ{JcH_|8Pq%_(&JNR~UZ%W|%0&9R^-Y`!f zUbN@`EUy=dZV07umjT(&es5$swrjp%0w&?sEuJjSR#=mvx(#_*%pNYvLs^%m8e|>( ze$tx9>Ut(&z*7O<*$WmzcvmQ*m|%yOP|I3*T=T=RVBdKPx<3iEEw)C z^-MJs??d2s=6~iovK*T~oEZ$vKph$kbNW5|fVQ;pJ5qH%-Q9WlhR;82 zV}ihjr|iJuTnRpTb!OF`vCFg1{`&R}=X3Olp)Vz=2(h|~y2i({xH|s6ENms(JGoT@HRQk*5I(L6JQdg_)nZ{G`aKH|m9+X|_i~yp zyf_SaeTaU0cv?J*Di&@&-qpWTp>0{ zDn6g?KL|pnc+UWCOa1y3|LKszE^FFq+>BA^h3 zFO~1$8{%#I?8WJ^+xV_k{R8etBv|+5Ad}AQlc@Bk^TeA=_cTK8@#}D)BctaFuP6Cc zeEBY|i$|Bo%9^l*ShR02^J~{yS9^2Cc;XGEu+7<~lRV zCNM>k*jqa5g!FBo`k~vnw|ab@Dyjb2StkUDmPU!^+z#J)zJb@CEDZDrS8Mm?Kfxfa z4vV?2L4hs|IYsB24yi{8sjd=!sWJ4?7WUx@X6|T@HVek_eR)0TH}{2mxn6&9PSbm? z0WNoJ3J6xZot=gxbDw5$D;~f37@PqGtFrAD-!KNck|J7Gx=$1iR-*ws_dnihb-Jap z@VnY{rMMnwAA7hw?^r3RU+-7QZ(; zB7G`H*)Bn0RUz(ECpNAS8j$b_rS%S-1-iI)T@RmF4pJi+s6B)Q%&GzNw#XB+X<8)q zs1b;iKux{$!pb!O(0}_3F9TNZ-}LV%q?cfY>=agA%pmaSirOenHeWgf7=($Fs;Av% z)^uW2*!n`6hvSzjk>~Ah`hV7J`cz?>Xj>USCodlCIXG2d7nD3kqn)=tEq=OEqqQ1H zwYU#_>(H-Sn0`8$eYC%Gco~+ty%Ih-6UtDQYSf>fJMZ7Wy83zA@07toAKXe%s2Taz zzwcf~lyOC)9*DU7ZSS7a_ndf9F}*oC+zRSjs5Sl9nlecq5wuuv38GI0Y+XGs?L8Od z_~C1BT4vtf6`A?ca4O{V z=mGX|&3+^qKlJ&dV^IsTI?98$C;{NwJfpfIs0x?Zs6p`^&?Agum)J1@F&)qaIlntU zgF3PQ)d{st0RR{MYkXBB9wieLvj^fxpUeitzpzg@;y|G!pmDT+gzA9Mfp`^ zs+9W7iq!qT2+owrK`jV>s7UI7HqHGX68{4g<9S(y9gqwf^><;e_#izhs35PH4L=x3 z5E=hVA|nYLwFe^HAFAi#-5OClevkThQ-PCs!<1`#7luI=pM=glNf(iZi_h5uxUaUa z4)H>JV$VkeN&jT(gqV_+CikvQ-&PFWC0i!~39Y$(hxX;+ahq3$2tg*@r0282^`{$` zR(-ocFVW}z#R=Ek&r9xCy7xn~+117--$DNOdFvxtd$aGY!0rG+@1nmmonUt23Nb7e2258ZI2z}4qAT=d<9hR z_*X@vmfHBx2=rY&I5HeLyk9xrOr zuped>*J)C`x6AtQw&$ZfhH%FEeC6Wn?RM4@Pk~an;S^f4aKos&N=Px*7NNNmkKJxn zM?Ts5+PfY*q%e)D;=wrEhBHxEhs;>I%E$5at>?HhZfIKZg)?~>K4P}|Sr2Q`MA?%C z-wX+KO^TwqWz#y39aF=FLkg-TZk5 z*ZRvVQQ*Yt9-P7lcA!$q3{^6HY2+Bjyf)KZ^WY5y;%qzvxT3LX#$Q*2Yu^1O-D4n(fzi#$e$mZa;r>T`V%oT2e$db0)J9O`NgkEr#A_i93Qc# zU-_<{=b$YHN~I8S9DRZ1eRNkEl4Tf1p4yax+sbwD+u~+g1n9|iJG5_ellwduQ7m$t zNt#sQM6z~%UPEGbj65f^Kz-ToJj6WO*%v3~R{oIB`vpT8m$H8mz+8| zAxp}SQ;lceCL>En;J0O8AUJT#CzAOW7RYOv{V z;$WISBH56>Uph+j$1hKkO`B!nERHl)Xm{HW68m*^l+__PrO8_3BB1iVh6owVY5Ms2 zXG|~jg>HV)^r%WUA6XNpRUUbfo0U%~nqlqP(TSsoy__mZP2$`~Yr4TW zZE!j4Xr-AGuyKrt`}2rR%W^0nXD>!E1;imkx90HzhD&ZSiVVBF!I6miMNi`i7W~CXwU(UwBUUZ2&8si|b zn&L|xir}X3%ll^WDPh2MU#qg?e14JsEgQku<=C>#p?t?>T+g>L20hj2UlSPiiFtS{ znvI%=p~a{rso}?ScF}5`Dv>u(d$QkaZbMc+PcyFky6uI6O}TEw|Lp>O>0JcG{Ns81-w|}2c``&C62sqw~fAk z>!03iTIF0lJBwRPQ}0hi`0{rD`nW)VQz46z!NSwM@y$FQd!Nh z#-QTGU51T3MfJ~|5M_4HEs5cWLC^gDw6@zh45i@J2s)mb*pj@3LsX5y7CUu@z6-AQ zX5$&wg~6M7bC+JoRY@cDac@r#D}@R@13LkofjJe~RH{mBg*CnT@6JC$ODVsY9C|)D zwDSE*y(v#VOeBkL1A+yYur>59ff3M>v>m$x&OT?Zo$BG@c@E2vS)x;P138_&Q~?h~uZlwA8sS?F_Ew_(T?PG* z7iu6@;ey+hGVM{;Z6(+ID00Wu43kG;X0=8kacuSIPVAWRT-*vzCQZ!`{xHzmVZikD z$hDc;#7c2~RfTGceiBa7?3QHT#YKC1m!$H*p`|xfLcx`>Fw3x2Fzan~WM52%KI&s7 zk67JK38F@YuXR$v$(qV)t8|l7yHR@)_p*$Rqn_0$YaHb;VKc?66t@h!!pBJ-QMTOz zL~|R9`qTo!;=`{+9kMgRxW2LwOEiDe?6-AeWt;!1Wmfig$ zTy0#0=pIrNlo8ZA*dI+cXU-;+prG z7ux0VrJ57e_3;-3bSt}K)1A2o_&xGG7z5{;lcGtm>o@)W11 z)+=QMOKY92^yL`NwgV{5$0N%`^xGm~eYj!Z>Tp6)4ErssbyW9+y?Z50m_&zzI%{OBAA(@2qrh%E3 zi#WB&AxwljJY6M^ekK)4GE<^@U>J)+O!5=GVrp$aFzdJx)Z%;Bc3_NzO4EqN9Jm=;B<5v?fA!&uoXn1Rb zYB4EY^3XXl);>N*U?_x)r!nYhq&FGfl4u6lfLu*(ko zz$5TRh>Iq)&0{^-+_HneNeRQr%3@da_+bC?t$1?V9U;Rg}fYK&8>b_1fzbE@a7S#x}h&ci#a8GBtf$N0#riGE&O6*7XoOOu8IfrTBH4wqh<*sAMUFBMv(M!Np(HD|2gQ zID=mnfH{M2T`UCISk9~sg{K+$n=nlC;z)TYU4PP6C&AK&!*byfDDFB1osj>PHNnP~o zp)JLi4JoQTZZ95(A}0`z{{eCiw}p@{gWg790EYWsP0)sO#x5vF02j4J1~GuCwisaF z4`VzVdKp@8khgyE5J?pTGl?Y*s0urrY+fJqQ}t@!D@4v|HWF|lR48)UhVO9H5(Dr} zT|jL3aSbDmkX=h9QC^$BX$nQh5B?O85J(WS3hv=_YLV@RrSvt_q}-`Xt^Mh;4` zWN~V3r^=Q!Abg~nG0(-o6={<9Q3dtN3>svc#OpE!M{2d-hB-UBx!*y-<9rDuC>Sb1P zF1_BW$we|-nHjo6sR!ezkXHgFxeVtf?j**hIKb1RGxB>0&c;%xQni&YdS^Pme@B)M zl?&Rkz}VSKgDWkj)8$<3CB?|cM#cJ`O2c?S&>qW zi{PA9Szrmb#k@^6Ezf_ttX^_;9zC=rwTRhvN_VbqD55_5I32Hs5{z9rg``bkK> z8#`mnqH1^*Q{F~~dOf50V}vK|Rxm`C67wXfXNy{ANwQ6dDZl01Q+5A-SfJ}}at_H| zU06< zqC+tZl|+t1Se9|!ZN7wk$d6IoYnfB6vrU(o)5HlpyyLTL!?1hQVJDm#C6~*wTX{^C z1TM%6i&xI8U+YG0Fzq-uDPIHG~LT$wHo_dCD6QiEbx%2=63h(Mr&K!~P)UpU8<{gsI719vlAiL86My5P|- z2?a?JJ}>`1Qhwn>9f^E05@^HtUJ>eu&mgLR2x9l9;nS?t&N551n1Ay?QT&TXVOItR ze7pEU39ZJ+>1c?Vg{}mS24pGW`%h7|YZl(NR!I^4KHbVA<%3=ZH7GR(h$CDSOk_2v zx%1a2*7ug!-YeMPqpopH@w6i?U1yP1 z9w8V-AXokHrEpp`yo3rA|6%*|^}pD7UH(7WXhz)qxi6>}W9tt-7gt;9Kv8UdPCT;w z<#dAuK6=1$(aQJLucJO~R#N0%dlHmHJMiLqyz&phH&B>_ny#}#nT+z1D1rIun;1&* z=NdKv8oRZfAi@*)l1~CkJW6Ov{ZD7ZrUlyPmby?Bt1>GJMICjHKsiZ~ATkm{ea3&ALm+IFm+Xnc5uAv$vqMu# zKG!JsgbSv|0$-*5KeI_Q0+n^<9(X+RGaw?p^?xZI%U3_)s%$O*GjUe3;x-|6G>lNU zcXCISJ=3|_8E4{~9p$Fzb$YYw?dNkRgcR7Vm9~a=N~QWb2nCl+j8IKLC6#yT&p+r0 zEW6@qUW{`{UPsGc9a1))sOlt5>dg^XR~HR}bY~3(rh;d5Exe-y&{%R_O!OtxAS-@}k2CcUv<;R{)P=14_#Oe*gpi`R}>w)Q*THt;9~2B}TRc>Iq>X@tw= zl;N~l1mh;G=T|0SgP3*OYX%Hd84CVfE0_?m5UFA$j$o>A67NC>M-a)dXR)xwW0w_7 z7oZ^=VcE^1e;u)hlYZdtnF$*_^x82|Wss_7hix=v9n3#-XMh2M5!I%Mab>{7FK4LE zI(#ca4aNNC9}mVGgFypsEW#jVfLfbURfGF=!j-I^2{ndao6Kup`fnP^%hPm}ixzWb ze*0b){O!9pL`%-W=fsrtoWPZf;7{L@qaaAog|)_q^?N|*pmXq`l4%o0YU4@xXw%RX zm;Bk^RPIatR;fzd08-fx`&%Uxcx{UDaO+QRmVHxk99sl`X>gY($PxdBH^@+bLK70k zP%Sx4t#^{<{IS|Na3eRj6Rtid|3O^k=qQCM(pw>wZv8_D z3$wC%>XePNd&s|k+e*VsSfk(;Jzzs>teAfEpjlsLJ^c(Z>w zz#Ha-e(;+rr2@(3Ts{M1{CS54Az@UgX}g z1vOZ08{=p3n$66p*iFLUEA-*R=6W~7Tf1;acCa$8j9v(;rRy5QEc4@N|{yv%0Hpxg{*t#17(8NB;2r~mf{*raZ z;#1jFzrWI=OtN2MmEb!>bfkX?AG8$^qgTBCBUh!;^;54tF9SGQzkg^eyn%2Xe^JGof^WlIgkVgxHjIJUq5eF&wNF%JV; zoqh8sne^IO3oYZEjTs}*R=i%&OV#q$>Zu0mMq}OxzIojoJE_OZ7M-Ctn6ee9pQ_cc zO=`f)(2L&xDeO13>>t$VAZl3I-@EUL){Or$9gcm>ySZQ7N$D(t zDlT|p&_e$DGZIjnFyyn8BTBczt1+AJE8m$}d352{v>(G@QMNG)rlWk)D5ps1;?}>a z+1QCLlPkHm_~8o2vOHS>oY+i6&qrNlIpjYZi$KK1ACs_Gx~H|)PI01eS6WprK;$kJf) zEU^qzO7FgqrY(S{QGHtz1)f@$n?S)`U$?tOiE_vCRzMN8; zqsqr~c3*reRY;?HelnvkvU%G!b@*o`AO`K88M5&+E3uihp_3 zxhonS{2SPn*R1IuCVz5N-gFJM%{Hw3%cQLCQDB@kp1qsa1&&nBydkSHGq3y(i4{gWA$0|Drba$VT!-p=yL0eH(AH6!G;WMTuR zG?tc*G*iet{eH9OAnw?$=~czYO~X%)5AHy#Z_2z7;=S54sI$5gyt;6Za0p&Yrl>Cn zo=Yu*fo`Y(OgQMWG@)!#f6rNqKA2!X;%SRO=;mMwY(CJgV+%5r08Gp;6#NrZ3yDku z33CZGk7(tMX-F)@gb5ryOQ#K27Hn2aa$^{_592!ZW7h3o3k|8CPD z?*3#k@bh@L4Sn0JpLH;a-Dj{sWgyb2&e_p(GMq4ocn*{c!ucwHA24b&l?#u|{!6s- z6--6M)(YH_M4tq-&2R^2l1679K|F#tP&!7K`P2b+h1-WH$D9s(MQYJVG5#NMk)prF z;RcJ1BW4WuWApz`>6A z+q6LaGkLbzdVeLarqiY?WpXK=D2aGs?E=n(33 zu+Up^W2~Yi6835`1Ij1fK7KfnfOfTy;5G02-SQ24EeI3}i<=PM1>Fq3)?1eK`zouU2C+S9x}e ze+u?9oO>IiX}M!Yw(i^Xq%wA4^#lka zoL?k2e^OyDr~nW_Nr0S~PMyX^OeV}Fr@6ww#cY_a_S6~?>ONBb^z)`|`!-+}3B-JTyzW zf!2C$pwnpqTA8}mU-VkW<}+L{I{y2l9MhpBc@;8~yC8)|d!9Zj*e_gr=hAaJU!evD zVwwrWjk7}V(98n-C6R%}?CFhTY)Z&dFq?hlajK}(wr4|#v3CKiiX6X zx6oTUio;}xd8OrLwCm9NMT!Dt3I+4ATtBoc+1(Rr8v`UmiI6J};WHOZ%Ci^5DTO|w zs_h)RhgB!CJ2;Cz?!yXVJ)jm{uZ?0X`N>S#Q z)PAwMJSw}8Pb#pJZ(3zex>c`*9PL^`cVCLH*xZP(lx%&V4L|@AGT%2kVx}>hV^`X15_>Q*x(VydX{6n&piGVSYmJAhvh-Rb9@GV_U1^)pYIe-96j-M&r z`T#AAqzZ-gj9cyY(&43l-t{1=2rV4JWxlLhSkEc~E$q{|nLu03Jq2o2MFbx5Dj728 zfLzy>Zdn{%=dbkxenfh^uBQwVmTWDGZXS7p{0z?{0IRfmrwap!LDJ+wDKY8TFzRJK z_YS#2f;nz+qPzczb**+To-!ABG3T=MJX{!%J@l_){;#=l&3`Z+(xw^PK?dbF2jJ4V z1*#|;v@pQq{t|Q)hEDAv59f48(=WL5A}6)afDNC1`Ulbi48PXa`vGBISRrDzO1)9h zK)uCqGg^nxRE+d5dI9D!l`JB~66*R0xQZwxx_NikjVROO#hh??rZfP-Pdy71Ricd? z!+IM8mPcV@km^`AKzpzX@VzfbGc)q)5G6|8>hPj#qj$&RLYH0M%|LkDfGwzA)~OLn zR0WcbaFR90Up;2bY$UiFFz=ezm08RHS7am`VtyP((XS#GMG4D@EK%ih&^!hLb!}k7 zy~FAl1ZNloI6}QqTRgoNOnnZEbp+%4P++|m*i)+Zpf~;lNMiPD?q1ihQQUgj!wuK# zuzNB?%(Ice<^?|NkXQ;f99|iRXiu<4mHH?B0monT#U>U4ThJi$``aym_Hgj_{XvfZ z4yT12-o1ah#zrBa@`J$Z?f|-ZKw^d)#>gOQ3BXFnB_v8wFy`79o}RUK#*L~La>*tY zx^3iOmC=2u+!B>7@;px|oK#ZA^L0wgrHgz~IuBQHYZ!IdxW2bOqDGoOU{vE?&EE{_X1S|$Fc26Ia6eUp+JIWOVz0nzfl1fUhB42Jo zhbNr1T@}`WRh=nG)z0o?i(XZ7B&U(ljtQSOWMu3lb$BqdWA%ws-LgB8d)Ij-I(@u_ z+2Bx-fCkJN;A6!Elm-=Oy-Xa*_$9eip-ZVj zH9hwA#nz+Z-Nt^B)_XSk@tdkKIT7T9#J$H^bC^c$QXE??FnSE!M6J}R3LDHzHrGzZ zRizrI3ON$jutb-H#K`B15%X-65u1FO3OTaQ{e<*%bf)BEGczRI6s=T+1rZaotm9Ru zSmgGT`nuo)5B3XPMhml}cSTF+DZ@rvnf_tDB<#50&rH)sP&rsZy(45?AeX&|6Gp#x z0ga`<;zFiaakZrs-xcw{8`55KN?zn7gjKmo?)~vEDi#nGZp3dYmheI2t=egB6Oc`| z6b}|+PaETrHuXmXnXE)Ce(@`<_Z^}fwQQyuNym>#seXDi^y4nBQ}6hU3k@1Rk$TmX zeW27RVx_<8>_J+JS8BqtIM7NJ`Grn@OhaEkbZRqEHNuAf4OAZKYTmv5qM-4;v^%4D zfRV8osE`1Zq+<^uFI6^cF&h_@g%SJ*o4WBfbz`&3ii#zYjN!2@pT4j}(t0*<1+wWe zs4cR;R}@0n-upHv^#!I9l-Z__q7@bV6*i|)YvA~vtWT&Ie`EC2)`o2JCvXj!U{JG{$4#kWtV4|DU?%sQMB2pAW%5W ztzDVZTnd=BxpnSa``)fK7m?`1oggX@tbefBt}HR7x2HMWMimqU9jh&Y7CMw8esf@x zK1lM2HKE4!+RMd;n9@f)gWouAhxrx03?H|6+A+wDnJVTRO3XL!4>|$xP#ADjsB$q) zB^F-b#pHf=BE9KP`9?Irau>1SxT-YE5->oij8ZO+Qf@F;7!(#99jY2h35joyHEIC# zttNVf-aM5W90TBVauCp{P@?qxh!F{E%Vz_Q?i!MgW3#;+phOyh>q}O9R_|I8)1LcI zjmAcvszgLd6sKhCv5OmhO5Iir+86tsAQz;`hE=9gZb7jM9$gPU9h%x9tlH-;8HLT9 zzNKs?f-ow#M)BY^B(of`ToiIq=m3N?5oqRfs*FrWkO(?8Tn}&yVdyK3;~)geNTKga z;2V2^IbzH?Vu+dek1$ve);1_h#R)8$Ba6sbj@)WpVSzaiqR{#|0a&pv+j{dyI>D)D zuub=s3-DMUU9*dGA-s=yMS~4Qg0Y)0?vUt~rUue$kBcU-ssF745#>)6!97=m3gyZg zRaP#Q0SAh_NP4NwUy-q1U6uqcNX4G%FyAi)y&FsWKDQ{iN6K859wT9Ph6)#xAaA!r zkG@OX+YVzRmYlw`2O&94UDZt*a-P3GH|jM9#WuM|oweendU#dxIg*$v@KE#H8(1gi zw;r&aNU>az8}pGv{iAeJczjf@5)AwjTO2DC!U@pyG;OCctL?4y#%>*iYU73}CrMC` zh@0ylA}J1Ee<47z+h?#ur2zVjDp{aZhrn5|7-zykVi+`OM`e?dJzRtyp)+|9*r8=m;15;R933pPjJYEuY0p4>uAM&t0p79MW2tP=7jb4J%e`RBD7n#Saif zQ6M6nt5A^Bq+TKjibE@YB>mHY5eoHG!b>Br6Z_X0X;3Bxb&Hjr!a6;Pm?}asKi-NK z#X@)!Q;?J5Re2IcKnlFvdKyh{FAv0 z>>m~{h~H5Dd2ZjxBVd-76Aa9$8U_sSpXc^9EuBA0nwy)MIRANs-$y?=U#jlp=>e

@Z*7_a-wutOM#{cK+;GzQOy5YY9?{9Q?*OWSth{(`>@%Obli&g zJ~uEsvIE!T3yVoC#r>4UU!*GUk^Qp+v*~ald6z{1IjWY2+lsa%WqS;f#%X^WvX1bF zPYMv>FGEUG!GV0FSF?iI-34MY=GMfVwSn!#+apbnBoo14&;6c;g+GEtIy$uN_rMBwwQMpaMsCYvQ-tf%#p0Wrj%Ld0b(I_q=9C5jBu zqC1EQ7#89I&8gymPpe=`RKb$PmxOY_ty7^7xn(3pvSAYfQpX|ps_WVCm<0ph^3IqDKIDtU&`h(9WO_9Q4#qfZMN3Cl`~T6>C2 z5;zUsq=LYb)bx}g-Z~FNGDU$NN}RRObQyuds<=&n(KOZDFJOo&mJ)!#(rQOxXk=zk z=9>t*Vqm)&s;9^z_!psK{%jAGr!MkoU68Nl33d-DPd~{d_h^jMJPiL$9d6(sb)qQ$ zTb(TeP#q6UkN?{_=D)y94_{moT+99jvd6-OzF&`)@AxMvHio-9zoeYkkN>K8SR^E2 z&<73zasvBr^}$@sTwSf~E&f_()uO)T{GA7*cc;v-ea{@W)k*Gv_Kc!_Tb{}mxJdv= z<5v*72ku0K0)-v&jmU{q^Yp7r%)94reZ4NjV+zdKi0=7_DaL|u%z^VDVzl&hT=(;< zWwx(I94x8fku0=^f_(nCUpwEg4g@(38Lcxwy-=u*j(pl%)Ju{gXxsWDI^y9V0&OaI z8-7)AqXQmXYDP;ABQ>=ZC9aInAVt_NH^-mrSIDk(qj?!yIGpWrr0G^|v_JnmV0_?p z(n%^|ut6H+LZ!yTIVK5NS2pYBemCeLZGQx~|G;cGn7+6g+KqPpsjN|lby9qSkeo`1 z6NEjSp%5P_==d5`w7Q0k(?#Fl6mo1dm;Ex0$WNVs<&_^o_2QTf$-LMV6Q7BJa4b4) z?hzCHLPbe@xkxB-0*RBQ#GlOr5|wbVi3SgY4;jttg(M3Fk#n^eLq(8rL>VIwX`{^k zTP$)@=4k6%VSdOI<9u;*zKgibLu>q?^+dNmZut|eMd0!%CJD9cnY+qb~0@}tCfFwet#tKrQcB11G z%Xs~0wr>!=($?yz^1~WJKeOqLJ{XDa;jC0tSx_KC_(jHZULYrSDr=>>s!hcYv5=(a zssXC8)hPN#w)Y!xnG3a`U9Q}jQo;s;@8km8w19o_54U3c(Q5s6*>ax1KY;L6x@OL@h$RnTQ@X4J6%j$q4H9 z{D5qUf;@+c8xPQS=3ShLi@~4+CwLqH&Xl9>CzR&9NW7L{Hy3mILhha&fM{OwzID6b zqZ*ll@JEGNjkarDg!S2h+91z0Lq$DuvUf*C)TR#XrlX`HW92OW)&p?WuV9N*pE&}t z)Xu~7dHGI(tpI^whJ3{WR7JOf-Lok&p&3qbQPediSb@2JvqYN;6t7aq{ zBKR1r>&r(nk(E1*mAd#J8po$%A4>JPuFM+JMtUw6rkK37_RS)a?3`XXYcDObMg3gw zT1@4x3tp0 z$=U*33^nuelU<7or|W@=^o+D(+YfJsX;-@7&w6_{DE0mP%Oz9dA7NW2qckx5Ffmw} zmvG5f8^!vSkS|D|!()cYj4Rk0rB6_RTP086M&}a{u4xj?n(2pcB+%Z6sU?cP#w=#%~+Pa#b(g^nbV*PRjc+`)vI2@J6WJ_JyI5N{o)K{YO8ZBf}s#Yq8HEKk-Y?RHzAU%rlB) zAo@-Q>d|H^v-YAnO}lz(M@|(LypMOa+or1?W;EYNYxs5sdbEGo83qQnJxOnSG;BgizHX1V7{>JFIy@96sw{MwT zyym6vzN1iNG9{|ftk{vlMGB6G8~KMOT^H*EII`joUR-pRq~;u%H5A#FN+>3kLANql zhSF(O45yK?(V69-Yt;ka=;qq?+##=~D;zWem&zLS0z!Dtf^_UhOA%D^*b1xLOs#v+ z5$@l*jPsWp$S-)T+O$YUp@4 zka{nesxnqxzwZDE#yr#T`A zpQog&rJ0=>^Iu2Szbc$*%R6jv;q?C0K=eITyILtlL~9d`YZlY7rBNa| zqv%Dva_aXt+NvLdyKEh*uMvj7TzJd0Cu~JJHNc@=kEBs@J|2<(P6<6m_AKDjXP|tu zd=W+j`a9f7?(IqYNZAvSWTzDAY3!=SJLr961#cJZ1&Lxw@~VY)-)6N=uN|%q2HO)x zs(rSuzx4Nj1spiFc6n_q6FgJU26t{7TArJp`0Ws`b=aE9`BTAm0#0k-Lg1qVa0Y6Z-ibf z!eN785YD93-_?0vn`BrerO6X8#25IS~`_@H67oCzEWxG3(#g;Q;nHEA5E3c$oG;hITtU(*&<)b!J*22RQvH4Jlw8ISy zCoW~r+@BZd2hG->lY4!ANOI@;_Zk~VbYr* z-r+&~ry!S#3Umg|lz5Gl1>o5G6s|+WE~lc9Oo5NVRRh;@qyggoNDG9Hc@xGu;q9!R z<+LpqjS*5~siEyhUUC>#Wq}W`nNhVR5 zrqh+La|OkYL-NgaqNbgnmD^#-GO_LZBmDIn)aS^h$L(k~Ka0DUO|KA)g&>r&l3_d$ z411FPV#>0n+e&P45;3()s3;Rn@AnRg--utJFipC4(>sM6@iN+x4;0+@W>X|RM~?v-`^Wlc!E@7}aa zcEdL14bYmfx+D13&$kuYY-H3}_Iu;AaA%bpt;;jb%$Gt`*kLAjil z!wiK~DO&j^JS*xZG_=EV7J0~Lf$Ul5XbtCVBGk?~kuj~bdfyWF)}nHjinO_(&4o4H zG~WjU9m=;NSGciU_k)63Tei!&7z~HkI*2uDP!k(=T5Sgw=B+Ow$9^W* z|8{dJECa8x)lRi}%C1FUfQpWiAKwb+(M@S(x$jgjp?-DAfMlEghYQ=jPj;Y@6X!G9;(S* z?y?$cavANh1-Fh&Z-3aY$}D^2!@#fECdq|NfB&pS!;)?h{)CEKZoI8(-{{Zp09fy= z+H(Qp;;dd>*=zsk>p@%DIjT@pDez4U+x41PqjN&h5n{Ac*q_c*EcTLXQ^SW8zwRSC z2B*=@7d-TYW6vU?FY4v1Lq3h2=0`D5^RK4D)@fQGLPjcy(blS2+P04R`Gd?_arCsX z={c1Q)rR-yj%{^LFd2P#ODO3Q!t>W|DHW4aUsQcS&+wEKXZ*8SIv*$^u?#HtJPbf; z|HN1zUNjwAG+PA+32HEH72# zc#+cNCfJ7#DecDUa^&VUZ$iK1pun)6|6?zM0oFN==dDif7xaJTV!8f&t7X6+JSbrH ziVl1=adUBXu+y}&WwvrPv-|63uO_+yZjc27{=8{6$?o% zw{{OmQU!2qx`_#l16@|EB?$FkFbl^D#M7E^*tc;xgknOXxFb5sn7KXO?6#P0C6}`2_JTSZ(#N035t`|D-HF1Y+hRgXHgUqCs@Ch4 z^&N*L|A7TuRqFhz#_g18ru6y3WnqqO{rXfkU7f>jUr#GfL8*nY&k2>J8SrxD6S7@< z7*Vr568?eI9eF|VVE9X5o7J16v1}6h*L^D4um2jQ#m|LB*Z}8bB7oW5zs4N)Zg$3I z&cIojKiS=k=9c|F4^GccnQ(%HZc9WG2LwlRp|HAMj0AbhJqQ&}{dwLvE6e7!?3Kw3 zeRYmdc_h0Wn)_4?y5A1(yAR+M^4IH4P~tXH1cnROb&yWkjwr*i?DWdP`_Hsfs>`3s zu(^&sG-P zM+6)U3z1M_Bo%B%A$3vI5|q2k@}w^GTd3QmO8gsMJ4<@FzbH&K9GTKGjL2ech_JO5 zUb3fax5myfCj5f`PI~7orI=BKO+}OSZIMD=3OC!UKSSXwcU*i9k|AeuR0S2CX$Ha_ z!}4cxZFwf8Xj%%)0r(fC5y5~B>-Rd~3S3Ld`?JHWaX97Q45Mt4HAWQ|!So{{r#yT+ zg677hlyhR@np<`xIv4K_o+25!w;Sts>mG$C%p*`#4HhvYxxWECuDTzhQCGiPj4vF2 z8h24OoWzX85(VHR^hiq@Q_tQBSElsss;1TUN_(t648q#<%tMUVS8OfM9bLC_d2lcsH@L6 zu`sN~#aikYV85(|db%EaLOovXzn-oaL1bVV>c(5^M{uz*EWm}bHWX!_<_%e={wUb~ zfd9`Pt8je9q6ZQLB$xyQ1RL060SkBk)lC6MUcl?q-pI<9$=cD(;!54d5nT;Ku*;j9 z)@}xch7kjLu#2s~nDH|`7?;)e(qyh;#yY1^=_GmdOe&)ZK|gcp#ubKcNle2K0+&GN`M? zocn*Nz?F+d(=dYWmS!oD@q{hc5b! zj?&c}K)6{5Yr5xE*?>EY)^j<~+ z#V4|3iPlI|3p+WNIm+)c%RGmHDAh3|hmu~pBh78>@v}iA(eMy3B7}llD8W;PVARQh zkgWe}JW5r29<(z=v3%jm_-I`2zMC(b!i_4X0h z{@({CKVLUXc9&kd;ynK%c85cJN2Xq${QCa&Z~soX^vGQ*{r~VwZEis6=6|2kf7I<` zpTGCd$(APjgY%E97Vk3H-Y_Xp`CgqWzousM6RBMvryXoPZ+E42Qc3vQ7rg7v`&DG9 zw``p{U29=&)S)c9tbaG}B;U)qm-X-CEIs~Ps(HfOn}0XlKKb^M9lP-M*{`43J^2Q# zz2B?uT`m2-zp;G%73uZUs@Ps{WngSRYH-WoU_g#U_KcJj9!HE*B#U@c+caND+J3k< z>ALs2qx`2oNWOpdAbaI5;Kf%9BUd^ES;@3qz5eF^jU1!4CqlnXcW-NW_jHF-`eo7A zT?dxTUZs8I>8n$k{m+-rZrbNmb8FqL(s$A!3Mwlny`Hn~jn%I3mv7XLsy71fDK@gr zSiA5;*2VbulYJ}GKIa4r)~#ZhZ2MxK;n^o#EIwV{Mx9M69llNJY!}`ysB(!f(YkN0 z_SxZ(nm)^n-`w*e*@d?~6>PY!+OTFOXEfiuPUSe37qg!Bb@*;Ho}ajnVZxrDm9N&9 zaL@ByzUX3iMchksrkHyIz5nh?_Qu_7`smN}hR@}+asw+!<-#$|PQFT}DVD$UX>!&>N2rfST>RP*8-II%3U&~e3 zJYKeZUfr{s&*#-IEIxg0dR$%V?bYk|{=9bE`d;Ps?C0zH?e2X(d9U`j{ogmI566F% zv8-D2z2g4M{Bt$G?|%QAUT;zV@X`AHvA_QI+y7rwYIuNmid{zR4VE_57Uila@xx}p zjT1jSE-F3TCH69QbzA@W=*g23Z*Hip{yu^8=ec6#S4W&z&J<4n=4<8e9jvu`>!Dl! zgHxGXRbN^0y_CtbP)=|8S@6`0uVe%NvL-gEj0KHYiT}nO-wxRacr!AIFoTB2Ie>dF z%_G(ZEuA(+#8>7>@ysfVAz1{utEwLgC0R%)OfWDoI56A{ZmnvS;`n56FtBkLFfa^ItFAb}-o?z`#Zb-D z!OU5o$-~aJIaywDO$7Dx*$Y+*vk-~5I0{z9t^K{9K^%jBwx7t ztWqcpQ+!tXoiEW^gJ8E$3ze?8#EHIsmS!OtWT{W#Mgh~QIrqL~JgLl*^d8~-5KLWL zme2bcE^wB;x&b~z^pG>LJe|N~tp~6e>grexbmHLH!atAe)qfzQT zddvNBCAXJJKXQbMLni2+`>)od48=WlF9UIpA zijh5r5do;*zT5ROxld@aAHg(~M_sGxY@%C-d_Mu$1XI<`{eaBTe6#1zJ6_YEx9rr> zj#2ZqItr4;^STp9&N}W5q@`{o)lY)SVC#&n_6fclxVxh*j-?QKSPnC|o1c@nn^gB7 zMfuFBE?lqDAsU-9#?H(A=6EDd=6jPDth>T1q2SvoVJJuwATsEEe}VjT@CkYq_x@c# z&7JgfSINHXT3~^R9777N?n^RZ5n50Drzh`6#L~+55<-2?OQjq8!sB;j1y7jr24G76 zsG=v8tjIm6dYcenV2GffhE8U-&df}|pVbLdA0b&${m+CXM=49~Tht|rRtzM5$QKFq zrcIuf*aM|YR=c~DCG@qh`-l$D_DswdGYj#T=}T;bG>x?v0`r&pw6E;Zoo` z14up8c7wHTGa_%ukwwg??zqe~NQCG&F@|($8&79NYs4fB>FlJD%Yw@j(XJ6)Xf$1Y z8Rq~n04cc^&WO_L_V2dt5%HcYR^S znwcbnSt^$NqU zV^Cdep}@dU|6Z3*4i0~mMQy@i}y40O*nre|5MZW(~_t;Y?FeeI@ZKP!Kjks210Xf#K^(g)FGKOR0VW7 zmc|g8zN6vHc=ZAdBfLwxrc%wgH(8_c(2jLRyr$YzswNr!@i&(~)&5y@X} z_4kA4$x6-3n`z1{iV>BNFSVAHo@FzFoFDdXj>GKq^(R2zHCnD#z`A2x+ihbxe;l&x zEi%+2zu59Kwgla(IIIp~Tw+T)hF|?S;OZAQ&%4CxOGqv7h|BL!2ibKPNg`GRD__tk ze5YrHB{t)CA6x|ykKAE+fNhQNM5!n6wl8B*6GQ=Rwp*#m zLQ|Ss6#SuCIO^WEit(v~Ycj&ciXXZ6iO%6OAFlA<7H)nK|8rt2$aWT_fj+E( zaDRSa-2qOf%%D%Ls~u=_`aLtIG;{&0ESSKp+OSJ8ZukT+*^aXOBN8=fCDgB>g3ZIM z;Y))pw&JTVkJ;;Rb43x!Lcb_)+kFqOF2-bP00!R%mods|EPxX~ml=atCdJ3edT#27 zT5EMae+vtt*@?QZ)-2HB4pLl7$8qYEg`a~VVc9o>crveQK4*~KNh^|eRf(X~^r_@e zE5+Wjr=`*uHnViK8)0%2bCOF6bP*rCl}^Xf8&?#UMXPDmU+acQZ-5-$ifSWy7p2Rj zS|pl;CNX-LZ3$T-l3{Ntc4HH>Ph@o4-JUpE$+8MdA77vVBY^T*Zn7XIGYw;uj-FbGo_5A$t@|D zUl{fjp*#{A)DVq8lwLe@`i3eaDU zhoX#^AUplOJ9j7$#B@2zw#Lshm0Di)>`@Bf|aJnmZzH!@m3%K;$44YT$jOtl+w5;JTj$=V# ztr~2(t`|f~Ha$XX;L0epuC+SP;NBY68Ud1#*^>@u38+fv+?fzr@P@vi1ymeZkyD#` zn?}PUz}L0^!amoXzKO>@aUs?C$)bp9nJki)Bou-Ngg&J}a<&~G4YYp8;9aASRaPZc z&uA!H`QVNF4D-)vZ10bc&IVfFCP3>O0cd^uV;cXtJO6z$|G85qi7E!M;C?=PMd%Mn z#4NFoeE+L}s)J6dw%8{`YBk|je1A)K!<0dMH(>9M%Qu(WZf@#Ub#ap)m%iy^AWswo z3g%phk{P;y1xo61Z=IQMNUG-?F)qe0a# zFBs{Qb5a`Zo*jO@xi=;7dx14TFmGBQ5HHyec$U|TMmL1gxXXeZV81uA8s9TtGy#)v z?-5TGXDhDDQr&^PEM<=r<)LiIPz|;Tc|T>tV|_iFH0Y%O@8S&$A-pFPRZ6hSOQ>a| zJfZpFSg`**4LyK_+78=!wM^r{XkC_P^?J4ziuWPt8}mPN9bJjdAIS^`W}prYhVrjm zJG*$=nmPYoFhHl!#9gTd-=3a=Lc{0pc5%UABh&U^32p?Ryt{Jh&)DVJ=YD`tUy-oO*uR`+3NMWSULRuL9-fxYVoHTukN5QNA2u#JQWrX& z4(EQ}bcBZP9eKVq2)x?8ec23Q2Cfntq?De|3>=20?(a;j9k*7#OdMY}d9K@XmkJYC z_4Rfse&!8}YIwW0YSi(5T3DO#a*q&xbI<||pxt%sT^-zbyg#WNwKTj7EnOM_HVY9A zSO8aYM!dD{-IhLmR``^cI(1Yhd@7v%iY+AP^x;BjXCyS}-jI3i2_(vW%Wv}pWn$#y zal@DA>x;11l;DZxCg>1j=glYOM+6k2@T2k@dPBVJn7cSVcAwa@ZhXM~hy?4g5^U0y zdlHlRbe?>3>5)OmJ#ifgbYk>+;q@ZFO03+Yb@lA_TwNEI5R3H-VSepi@9t==nn)gE z^|R|(_wClxJ?nnC5q~sSNhKO^+}dD9*#f3X68lK!oRGc^);{zY_tj1;P^C0JyXb@h z(K0CUTsq*p&NuNoQiXw@k!l@2{3jTswc&Bsbturqp{MA4Gog(rp|v%_FLj2#+QPm( zAeu_V12^tNMBeg? zp|_4O0;*eM8BYV|LfjsF4TOwcxQ4X7k4T>?QFh8uSXGGo)rpO(ga##i!)SfN=76ql z-Pa>0RzuVX25JxCfpcoWf^G8TT$(nCeQE?EB~Vizy|8i}0QB1d!^@!c`#1gjN$F)+ zA$x^2S2GAax{@yxCtEL_0t~{$DYY~1v+Fu>Ds26sts{xc)yNC>Hv>QGwtQwrd!+xy>;r>EY3Wg%so2XIlhd@++GQvoC#$q zOEv2+%%2Y&TwVP<9dOR#pbu#$DAtUA8#wT&Aj-O;Q4c~~`MQ5k>32@Nq?p;78fgvn zHOz)SqOL-cM+7Y%T!QFR5nFffOGoboIez5&o0geRz*BBn6hJeUIoql;t~DZLNsG@7 z=jr72{HGm#7SZrGG#@O|TexqcK7@ueGEv3kJc&YQ=9TKB>k`juq_H2Rm8HwjRg%~% zgBkWQ=}Bc7mp;NJD17Ou^4lU{zSkJ<9Kl?y>SWC<1Xs4b$ZdTo$4k?RV0eAnuui zcU9t#8SJSlg0R|2OM+;(S(RNV4W~j*j~?id(CSZ;^Je zf~s(djT)TT2|davc8MJq7}p71l=r*S64Z(PuTH2P3IMq1U*l_<@hF*~m^~3k`(-vE z{)K(QkpK!M0ga>mBUA^376QWkN9dnaQ03HT)}$W)MR2A}4r)R8Lq$p_v}ykTkoX^{ zIIqhZ?7&pesJ{zy!w2b6K?QlmZ2Hbfg2?z^5*bP0s67$k{!l%i=-!Ol`FqsAn~I#p zo2K15x-krL_#|`|NVD~{|<<{wKcR(a(fDN zTh4Mv8d~dS@*ByOwmWu8IBfql7y+o=4XBAlEw}Zh5$L~qaAG)ee7}0W#lJXb$KAo4 zdVCmbhe@rF@#jgVseOO)nvB6f#$1Nl_@Yu`rvu<|XP+JIB?`sUGz$7;`DOv+te z(zi=0o*ox>Rm*AQG3>D8iY5<8s1Z7K?45GM#mvB$*TM4=#ls1^WN^MRrNcQ@N;(;!bg6&q2b+qKUps956n*7*cL*bYgz>Q z-F6H>fj4(YV1artHM6@_N1+j3hxzj?uFdCHqM*sOeK>^=>_DZoS*ld}^5}7l1#PDJ z)}b2;#JNNUa7AO&>c=el6$|}+J#q4^33#f3_7UfrPWtwDnoekXV+UUnqJMsD$*(bW z9Z1H^9^Byz5Bf_6 zy=KgJ%(y>Zk6gZ94i9;Cyf}IS?_QJN7Ed1Mem);Luzc!#Z4=JEWqzI+f%bX@Ls`l6 zY!iYq-0Eme9l0TWP>FxyG+GZXEIV~}MwXPHpqj|NO+}WD!vE5#cABHoE*k{+TC?!< zjM3BMqwIgdsq?HZ@z6x_fCPBLs>7zgNq}kjh-6Fpe)%XP0KYOtHe-&7vozXNp~L+k zSnSu;QBJ4ev?gnvtANV;IwE8+=b7W@pK*QA7rKQdGh-^nJ!Awv?m0yT0Bw`z++?bP z@rnBo-f5z+NvHTK{a~}Llr__X1(-yOb!#4E>cBvz0{+&v#9npER&<>~ePm6Xc6sC_ zZdN{}ScdgyCufcl_DZT0HHmXyt(hj{jG>kAqt#YUz~(U`?$0AOEvw>dwAgL!h%GM{60hm@T%e@+6JMO3|UnhZoXjqeYU)>5O7gj@30atL_3>4a}+#oeyE z6Zo7|ynXpBR|YKkunD1uwUFYjB$r-cF6{q4$53xy^6w`>IC zm*Xq8Kjb?v6MDanGw7+t{+h&aNG`xz)oj-M5mt&?mL7RLZy&4Hr4oGuwJ-avPTp5? zc&uWW?^t++nqd|{h5cL>iqlivv3%vEyaFe)o+#f(T{}9!FZmNm|`v$KSy4E2FzgwJpHuaAoaI90MJ zSu8v~%N`tc>Yq3Z5fs!YDlGYUmMiLxHHH)~?y_v!qD*lzr|@qEH6Pc}{6cm8nD-eJHLapcxYZDOssu%<$_O+N)EX?9C;;OeS9vqw^W z=-AemE}`JYSe#?nE|~MSHhLf?Lm%_8nn$c*w+vCE%FiaH=ww}GtzEjsxx=WVgnLCs z$4Sq6j5UFBgs_$3Rf=1NUE$*tk0{$-5u&-RMPquAU}^Df7TJpPDzvwC+fJl>9QK&! zoo8iD!m(1qpq3Vg@v5Th;dXTudE4H>5w12aLToRo3CbvH1MK$}+cTGC_7-N!)P1t3 zz8VHFN_l$3N3Erpq6gTH?!0G96`LRLDbVqxWMoy`+DW~q8KhQ78EdK@jh32Adqp=? zdpDPDxQj_;dR98^k?jB}dZw@(Q%ZSh9L`PFxOzTc(}eX}s)%rgFPpPRFb6 z>7%$5F$xZ&U=h+7>#>`R#z~I)o)Oa7QFlK~0Z|~wyh++^XiqiDVR9tafdw9-VQs!| zZY{>Cb%z1b!)tos#M%Rx!>l>2pv~0>ko5R&eLOnB?^23+cbIr2_$Pn|b=>#VQ zT8R#Vufsy;63$gHKUmGFbTIB$-z9vJ9QO}iZpvJP?gY1U!-8%`X2{+)}zq)+D7+He-XA`o*H-=b3&ac?CDh+2Y_ubDBm4KNf z@+-bJ2%B|#5V12{_){PTwR3ar4Mlr5{MDAebpEaX?M@kEzy; zA%9ixj{RcfyjCLtS3-pn*B$syCoM4m-}D8Gl!&wbd^-mPeWHLYvj*#3c_%PLPUYQw&wU6>*nKabS=K}2F*6~0{8_TL~cy{up6BZJiDU5mEmkIhbh%s`=NJb;sVOx%~!52NuHG`)wv4JTUP{?aa%0dRwfA*8X$P&`%}-$I)@Q4 zsb76DXdsL^QBz{BP1V4=>BqN1J5oOhEp%sRj9XHTtYIqH%u;V;G=GfpqTLRG$WdaR zBK2xh>ncmN4K?Mrnt!StI0z4N+e^(OxohZ87h&S0L3_`>bcNzNzoqnnl7tDC2Bi<^ z&L&7`uJJlK!WsNsf$=78oEFt1t_};AIWp)1`m&DATC#DN+bQxZ?Dv#7?!hEXAq(g z=pYbc>E9R6Gv!7QQGMWUg)5Wws8km``X!+tDZ=L+&`-)Q{6j~gkc@`@hI%c;DGOxUMQi}895&fGqcc@!O?&$C4KuTs&>u7 z`=wn{M899R`bhb(k3kJejRE2a7X=ep4Ql@U^@;Vp6}HbRHu#uZLQ5j;Xj}JLbPc%$ zN{pQ0LKB>H_blDQ-16ZOJw(Ec)vmKECb(xPMhVE(0DL)|Rvj;)0>yvWK1KW&8?WpC zCmYSEM*#N)^-_G}p=D{UwGI@;mSysh)i388Eby^Ij*E7_2>;H;j5$e>d+jMu679iD z8}TYXgxo-35^B2531u_NOQHl7W^Q39C7x^825RipcYz2`;LAPbDfL{V(hDwx8Vh`l_W#T#%_vmPnMcs^=+D5Y z%=Z7Kcq|eA!Zo>E0A}KxRK*=a>{u9~9-q|C8V9Cxvop@*H+#x0(d*1sw_D3|XM{A^ z?bR<$@07~*br6a!nHZs3fJ!Rw)Sti85mBg$k_xJyRK_^r%}^In$njiuC6W`4C%od222Of z>Rx7Uv+FM%AV-MG>puob z1~aJf9U9H>CxT)As4X?yaUfW`NkAj4)LnXeTp|AUk3l0m;U|4=YU@(64WrvuK|f*ym1&b;Km{hQU<8?X*G4Y z5tD9YjZCO<{MuyR2hxAjNM4ztqg=9-FZ0{?ir{bGeW6-%j=m?Rtmg!7Tm*mmmK*~? zf*!1OzO3H@!-iZ!hLlWOFw&b(BF9>Wr@7?M{-*Lk>bFW&;wF&F0odOvp}_0Yj7Qpk z`mh|BisRTJ1W1FsK0%HKG`&HF1rVB$FotQ#X==TbH0O`k#(^8Xxt(UFa>3fm=^~n*3g1Nu`?;8cqhW1?$<#K~$tqQ90a6{~4b1W&SGXPe+Ap1t z3EH-11{lV>nOeit-Bwv+U-y!6Ef^~(r)9Dl*GPhRN`YTA53&{vZ7W*osX>j2JQhnT z34^9~MiZ91S)iclKZAJwXHfFgKI6^78S8WdrE>S7i;>GKrRn;%0;*{o(0>r2j#SOr1c+4 zxJF5)%X3eYc`f!?@lzgI@&BVRpYVXtRU`{z>Q9Ak|5M>*)>Y_K{8km0mvX-7N!fd+ zF{d&;*vrBEZ;YdJHAU~)_dV5y#QTu@Di+mXwQY@`#p|}RW8$|6fA7#g9=0}m7~VRB zJ99&nab@&EQLWt88RnQD$C`iK9R7%&RIG_9o!@^ruquo)w`pKzDJ@+w;PfJZnRfYA ze>%`FbNWRxnisa=#sIXiPcg#G0+2uFoU!;;w=^ECwkeYwlvyYF4HF&dU&04(2gd1@ zZhX&IsdoF+r_aj(jy4bw78lZiB)J-uEi`}zc@qO8Bd~_(ldHWjkCc?RS%Jr}bE`7l zkM2Qk7D(AvN3j&eiV=w|Fi0Otsb$Q=fY#v9`bj3Ue$GP6IB#>-2y_&06!ccLy0w0) zgSydJFoJL0Fvm{m^|nK2=nJ822kNJ5HSLfZ@G|tF4}1#$O)dKeH9CkIR`&Pld$N6V z5h=y!4{A5l2@o|u*PqniC@~_D{}1Ym?m_s@@La=9pY{)3M({_~6@BRTb2$tQ0q(y@ zwE{a^C_0XXF(S!5!ZeX(>joXP$V_+a2NJkUN@wZ@MY{I-(0`w@i{H0;&%gVN{ML08 zM6L?^2YD+i2Sy~*|3N-$B(wbxle)F;^cQ)*k<5dN<~@RDt1{-dewS~sKUCY}nY#=P zwz>k^1@D{KzaV52zJ2*I{;}ZZerY$Ys|2dF=!roKIpSwDpgw8XcR5d#Zk1PKuFy}u zE4%vW!oB4nj=`d0a}G>L`J`D+kKj?2dL@WXg(Whi|UJ%GKU<$0T4AaW*K9goFf@e^DT^9wO+EkiA!ChZ> zxW|Zc$S*z*iryC6_r-ReCgcbsD2TW&zNg^#FF4Zl9(I! zHq$=pY6vTF^)G?v=!nmKT0P2xgb;i=r8GyCPvq>m_*$-zLG}JlVveK03ZjKw{VIBn z<7atAArpX4-lhwXeacbo28|{UIoou(8Ia<2CQ@KUm}dns)${$ZyM-?zKt!>}n;uVM z&U6YO;8KxTA~P&F%Mopv;eR5x;Iqde?^SVBHi54&w|cf$&MRMOC@L{0!cpCsT2Z_y zn{25AYndU!F3}tKmcqx-@8)&=WvS|49(C?Y#)kd|cI7>1`iIG%9Mw17!(Zl_R{v#E zR`;l@IQ&nOp~=5Z@*w^;*=6_tXOc(Wre~((fTJ1+GKo=Q^~PtL(?&>Ch=Ya4ACvjX zjLMM!^hUWMd~JVs<>U~&ZJnAC@>(*v2~!$NOGlb1bbf@H-C#MGw zp!HW}UI_6%?OD`0-AP_uI7m1I?`2ce7X+{6wxJ+*Q~)L%bVY_xE@^<*oJBuOh(Ga+ zMG$mr2n9AD=+vPQH5o>+{(fLHP6JpHVXe2=F%r&MvSqJMX2l;!Ogc=Rtn1c)h-+>09b^b>4 z5UqyQ3BCA@#_VtlGd0YvxjeBth*;KI@foMh?!3VRd=n=2T#WSB;jJ<2&acI$^iL># zh^VxvonY~hy@;r+B%NS56yZ4Ep>Lp>X*l^&Jt8bUk=$_3*@$lnK!*-q!fBeVY!t$qbl5wWudcOuaz0Ua|uz?r1cnMV6CYoHoM=FY+DGuZ z_XF;QhJ6+U3dN-@2=9XL1_Q&!`bXsi?d#?ukQTgeZ~;)*EZx@6ug1~qSPinI#UsK6 zv>Pd0suo@qw?*VL zH49CdpyEwk98h4PupjR{EQWr~vDA7!$Ds?mWxBQRwzC&u8Sygg3~h_NyEGat>@0tI zDD#PYI)ZEi*YL@XbDlSs?jv|CqFdZ!vpwHc<-M3C*7kP(Li51O@TdTwuC zo)q1}fY@V+S}cN1A{k$et!7e%qj&$aj%DCCh$}>@?nCc>MVZMNFbCPm+DIvqgHRKk ziA-6JoE1MqC1imX(N!o44o#KGi-#qjHQM2;aJhFo&@B{AbnM3kv12_EfXDArx z=C(2->~FILUTRv9h_jAnPwHyXYd8l>KKzwjXgn(!uP*A6&n}4L&RV zLcc*hUoK`c*8#*oG;bX#WIvP_V4k;~OZGO~Y`7d~ZpwXC0Z>U#)^5tIbT$(i&SY{XQ;d~%vA z3|!2nnOZNcQK6nAjOluWo#|sLeTNwr{tLq zr^u_2ncM{{G&}J0Q^9`b+CP_`*NK1{9E@uv5I4>V#X~a-43IIs~-P+tgx4u zBWwq{G8U+B)lNyuK1*{};Tdm^J}4RzgWf`K>nM(pAr_QZR?u!h>z61BR45cJ#B+Vu zu4ea0s&5XI3?o9W`T?K4Xi}NGC{8K#5mjyX*dx3)ncdMv^zi^z5bFW8gqg0Nvu&nlr-Stt~m3&HpoqWqWd&<3bJ@jbL8oK9F zeAV_we6?)*18pDzkdXPl*$Fd)$z$s|uQZUjzbJ>_fd(H^?R;+ONk0A3Ywua@oV|HF zGzaqL27>NBA1@ODSfU_2PMCJhH<;j4>B_a$6-ZnWTZ#2dcY9iqJ0$}x{1Hv<{Mf6n zHX4J)weRV-;Ad2-n{{4ikl?`o2oB6GhZg=*aNlpi=f4Hl;2*oXu|8-V+je_H3#$=p z(%&Z&kJ(ldkIDT7?9o@792EO6V5KiErZG5E!(dp?*Ec}blFm&YVXS94#{2w35#KI< z1Yp^435aMewgTVE%~bFoz|n&Uz|_Rq^6d}M!bqx6SkJh%?k}C*`sdvbqKeSMQC#LL zs>O}0BGAIVU0X@CwcOL7R#imc4_+lh<~)$=`togyqwB);0l@cYAGeLPA;PllCDE-T zFOZ*+1q5J?R^Lom!C(9 z19OM}Rm}f2H*SRw#>3h)m38%NFPWRt3KQ`Dk`lULB%L zsYe}NbbajZSX}6`+ou%>Zx^@?)yFzLN{OmK(iusz?)0nIjG2uDcN6Aa>xMFm8Q_YH zWK+za!zlJu!@7s}HEaxb@uWeoqn;UE@5OFF0yGb@kX*vHNA7mp`2!o&2z-n? zS`2?Tf77!3t(}GfHIG4~=zC0SPNZR2YGdqV@b2o3~3sE~aZLVb=q zn^k`)&<&a$By@)G-}XSX841O(;KSjD>vP;YnI-1gOk(o}A8|}B2OEj3PC#@ZSf@(= zlm3w7FZxmw3xREDkokk1Hb6%tc*nsI$A5>@LXPa+zg%OZ5K#F;;PrF@-8~^OBMswZ z5VZtgr4y2pr6?Hl9g0uS+Pf0QRExP}Q;OX;^RO!DK2&du%9ePYrxi~rDdYJ$XXMjG zzbKtYDmZa&MFZ0@NqtY&+gy1#qr1xoZ96tb8il-C5GxItgL_%mrs#3x!J?EN&hufs zO65zxeKF5I{~G0W45@dN*tc&iRm;dd42hfSXdm>m#V-Gq0;yP(Lb1~r;|)$Bi0S+} z6di)H{*vbrt5aD-->Nmn0eYz&8oV>EsFqV&g+y;XCdG5Ncyl=cHx2$B!%{pOdl>{Q z1}=7QKa>XO0KFLQlC?t>){#}6DMi)Z{$rb7O=>i!k2a!kjc{MtHqJ`PeaEX8h%o*Tg)g+V#6==Uq9xG64QVvhH znj8-dKYQq8Y8#qVsEX3khSgf}uw`Vp#ltm!lQ1?z|H)apu4kmrv@|h}$HG$2mR%Jv zJpMfE!)5{CFqIFpYhYtei?;YBxm=}7sX;X}9`R!5S@mx7AVupv8~wyh&A6Nha#HgC zam#_5^kDSy27G}iCNC^nsYpI$4O&D$e}0ug)XCo+0na_W%RTWqwVZ~ z@IDfDT<~Y686&7Xtl+*;GA@wIz8{lDzfS?p<-Za_r&)2er4-+l@V^_@UUp7h;v|Gs zxk>H&{x2#P5EX9JZz`6^A>-}(8EzAhO|~>o7Gf`33`80VpZQo7Hf;fyz+~Zt!4#*;t_7`>b%x+z>Mv!OaJ<}4z2m9WM}RqQGpQs z!=(;oiD|uk&5_qP}6%X}&{q5)RAiiIT9WLTAf z0m@~R@^O^%L%71Bu;A!W)kw-n{CaIr1EFs<(W~?psMO#X0H;$!fM$g%XadhzMd)PBIKS$4}PY~}SY=Q0t5Q@J;bhpZ!+<%#8^kc&bGB4mg_ zGoMpsWjldH(5c~if?EhfUuhf%BTz;QeNzJ8+z-kVW6l#p%*KC&!Gf@{MOiLQV$mF3 zLdJ69R_hKA%7YMv*3S#Xig(@7TR74QNk4;axvyS?$NK1&Tbd8ybIdCmVjvQN-GXt4 zM7KOWm|1^ZGKo$7Zxx6rf2s)Sy&_boRMx1mcC8LPROCg{OK*)p#(H&K7Puf4d#1yD zza0E-JmcH^lHfimb46yHgxMJ?TwId8{VqNF9&uj>jICH|=I%a(U2?wE3t1dWKe`2nGl;_!_Z0u+1w2Fp|mpzo-XMM@1g zY|)t8-lXufs48U`v}GsQ)+n_1g%74e*xhFeBq5Kv+T=wnpudfq50D)!su#wKL83&u z+q$se&nzQWX@h`N{sO}K4W#>TAiLi{^L~?EKE_KMmbdc0l^eSBGUN^MR_giWrCnMw9-e?KOGpMP){el zG~+t6N6botGBKoEs`M1z^ETgNeP1^xJ!(%F22D zjGBa_k94h|Tl^xq{^+Bz(xbsAz%*Ks_i^p)&LhZS_pg4h9-iG#zU>>;T*r4?@7}oX z5A554%K|lvxm$i$XNG$K>aF#Y+sK=}UC%~??ze-P{nO01hqJfG*JJmNm)x0&4gJff zo70ZkT9mW1+*{Dq{>`p6K>V-naewCU#q>_7_Qn0SEtK4^QVSo zYCn5n>Yinwr}qn&)s<_#p|74`?X6#l-9xH5(9iF!Mc>cedT(vQx2WfVsXgEf=;tY9 z*jfJN)}yfWjrYxX!Z~pyH#jr2HFe+1udT~{ZQt2xAoJ$b>c;DYdu1^pQSnfUj+p1F z&d@M4XEiT$ZD{GcUk%db`s?1s2j-a({#tuSo^9Otrtk@74|`I;l@GP{xo`4uhV3Cx z<9MwHzzwKfTGX(verbDkvZB|9kyz!6R=%Bev*y0qvAW2R%S#PC13q_d+TsxBCh~vu zdS;UR{^Iwxw4vW1AZSn2zh64Eb_Gl&;w4ynZ4e~nC*mU(cyoQ`->kap=&0RdbVI3J zs2zKutnR5o7Z;vf>{#%1GH+i#vFKPJ^Je2Cl${YS#$oe&s9Uo@hOHb~c&1}(C8k|olZpi z?r5j|Zj9`9rwxY^he7zI$@9L!=ebT%p|eL=OA-0?X~eLla*9iPeQQgxv^0n~g}IVg zBQ|#8=ILqYq5o#?$noJVC*|1hEG2en?+u^$;H`WpbZX7Z&nHh7R`86dP?#vC_Gdws zUV}l=z_asX<>57TM^wEyKA`fLkq`w_ju`p%t#MMJkkP+u+jW2gqGZ$sk0Si73 zV1&|ogxuOfVm?N3emboz8(x`Tb;#{DGn8DV(XLH3CwD_6=FEZ{ZtrOYDeoTW7DU{g zyU`m0YWlGaYQhCIvESYZdutKAc0cS$zvJwwxt*Cp0^+CmxvjTDN7da;s}H;Rt6d$y}=#xnZpdh&JW{%4=_KY_(R7=y(?< zyi^bOGtWeZ?#~^7t_pTNxju{-RK(|UyA#I{lmUC;z4l8N4ohG3`$LI686GJi`^>(V zF4!9a^1tV|F*qRA7(#5|A--t|)odC}3l8l2X?W(J~?q8$XnYmF%g zeR8PZ)8p@WB!oAhwQh#3(_t~S7~UW3YT38UaL;6(l(t%&s+%!zA2Pe$6G_>x8b&!( zGn%yX=IREYnWLbDi;qK^Ei7pDCLJ{}7)6--VzWp$Dk0)hXw^ekjWKS#>AZHYX2ZAM zx1F(dw%%fIBp{<1v%NjFtSlv(hKhZ;ckD8(ai8E9N@Rleo;oRl2vV#oM$jT()`hM@ zvu%J_#B|pM%1W%&_=^U;wb)%=5xdB3&CbJ~)ls$@uFA60mw##?Dku?G%>@ z1Kvg1Y#F^BKA(o}?`Mzq-(f`I%Lsc+05{!u+#XN)+I`**ZN44Z+;Ucr>~SNOx=*0s zyxw~}z@0dG|9n}`?#2?x?$~_#$y5W|(qS5rQ$zG_w_VtE?-+?FYJO{F-#|f-#dK@x z2EV29B{tHu>b0GzYv<-N*7xVw;lks@!}pczXRG=tJtxAjs}R-pQ=Y78AGGx68?$zw z7vAct8D+wGfyvDgX4OuKKso8SGX=iHN0IZqvK4(xJ)5)X4{GpYRT>td(m zdUJ!qK*?wlI5soN@g(6<% z|AlpSh7&5k>&3HyJIDL}Fv?UYHycyIR46Cg)cbf|9Kpz~qVJa_R3kam!Ska9*r;MI ztaG5xGHIOmg(+^Z83}VhlOeKIF7`Kj&LaKjIJYM#t5QH*NkFM4lAozu(Bt)7)9#v?Ad)-0HXQ*LaqK~z3yT0F|HR0aAe7ur?9)!zLBljpk>r3n=_plWT zTnPCrx+5WFiThQ|QwM3kT#82V33)&KL22;|u8ri2I7H2mI2$rnK)Py7`9$e$=sVTP z2c?AQ3WQE^$8!zgSt0p8wF{0=O!=Gol8yn_g)0TO-4kJ%M5Tpxm$}STzwW_SJHy$5@gxxIL7T@EW zZ(XUb~mV#+^3lxtd;b_w;4}ZX&rklhH}orf-EJC*AfkrC&HAp)ScVe7u;*s}o(gWJ~Wx;EMGlLjT6zK`ZDzsX4PHzQXHb-z9|G zf3<4X&1~`i2zv|QIGSxqSj^1K%*+-ujF@FHGuk4HnVFfHnVDrVS6Y2;>%;d?;>aIC;da6&O5fAK>TSNY!XKc3lw~0>{Zi@4aN~!t#SF5*3YW{$6 z{IeBmEDx#d2S0+J`P|^Sk@#-UJ_V%toZHB5*$T*Yc)RjK1G4%!y@E|+^!ruR2kwkr z)sPV)gf*R~b$SK(XNf1b-5T5+_wH5kr@yaP4SQ1>lboFk#AQzUGt8*2ZVo$2ho4<^ z#vZP}g3D80CMQ%MsficuGPw{6v=TC~KOqX=p@}xB_TlBBr-8C3H zZ)G#FRQ|Gei#ZsJP2Em~C!BV*SlalcZ?u6?bE;f=NK~Eiqm+o#E@b7tY+Wbz-P_%) zxIj!1TWcx1Fr~B6dV;vt(r1ESbvru+Jv)QwLHBB|g4XwJZlttJCpJd+e9mM3-ug`g z4U*UO^boDFqiMp;bp9d4eWAUx;^^%OZ{NH}sg$eeyE%We^_cDTz^=FibK{KQ|PDCqm1@=@cgtWZ=L za^$2iVKSdcs1E$n?!i$)%*;^4N1BLmRh>=cU;Gig5((-Eub%eeo-(3SLKkGnN;7X7 zewIODdp3O0GgGTa?#9)sa%M}?j5m6c8WtOlji}uQyJ*d9sJ&4DM9rbrk48qUGIL~GkOMGd&@X+p#!>a6>tu7tJ zGJPI5boT6Qh&d~tfRJd?{B^6KjXz)~cj%>3>Hn=dQ#JVFT;28C)%?Q~)0%BA`kBF2 z{$0Q2PO_`zd*WH^fR8lXb;ec?qq+F%=8tx|CnYr>rdo@v`3?Z4hcug6E{xQOorCE_ zhZbk@q|ouPr|Oi?6jl-4rL-g)v$AhjHbX}1DO2g1&!H#xX~NC*kJ8ilCdfclYXT+@v#@4ZZN5kV?lHJhN7 z!wRdTtP zmVxE>Ix_MWF!{8j0G2ZqqtVhwKyc%0*8>GyX@)Ktq<$yFN=+LK4qy8L@5Z2=m;gI` z^8k9<%$Am~@@(BYRypcvv7i-=wB`h`(cO}BG4l=u) zdmQ`%x=2~b!AFnC+=feVE1A__yFGh&YY}H5yOOqqji?!W4_XuCkoxGpT;A+3dt7AC zYC!fKLtaC_Hiz~Of~5(}egb6}Qrd2ti-iTpd2iXc`YEHN2i=t7=cvb)!^CjC>(Rc7 z)$V1a*c^MZ!7)5&Nwxo_PF#b?#_V}Rs@7y@(qaD7dtzvh?G zRZOZz^8Qr_J9&C-_uUnOMV_|j2PTZ^V6nfP7@W3Uk;(-ULt(O`jbDEYE6hsCN)?~$ zAWsBbRma%U&W4r%0>qVql@EG|mumb`5&qTmqRY1xdaw1u-YdjoU6%PymY=#@jt)Cp zN@5!L%^02FlVy|}_=a_M2m{@xoV78)2NxM=Yo}-)#}0JYyW+rXWX{V6BK#^L+co6g z$gCG~+u-%$cJ#W~k`E-oQJ8#|*zDf5CB8!3z;_3mM$sYahOidks!G+tq<=B^Oz?fO|!u z!1qc)Am>?soJpI3jJ^@xr3LvH)DXBcXCNtysC)Gf~Q$rTNRG!D=~5=C^%oYJYBQyFg=Ce|wHYDF>R&uO-foWTL%6 z-(ltVHuvAR9-SU?E!kdNp*tG^ZK-!)KN_r9l3QnT_z`0>TVq#FuPUo4Jy%3F>GPMH zQS3uV?IlfUNBqAjtWtk*2Z7NAA-(jxF|7jB7RqZP8ZdZi?~fM^Q|FMDSC~-~u^A0g z+ssqb?=a?eqw8y<>!*9CSQ7H);eTgS=sp?XZ=B~JBw%qxYPu{2#bE>&ThgtR@5_Ez zrfG0U^|HA$1g>{6P_LIyTudSrg~Zq#CIO!)9z$A}i&{1MbOmu~yPB!GIG>7E_*8Vb zvp6z6=Ym_!i(5l@4NnLx*LA^Jbf7{iS~b!Y1TwILm3X1=5y%eJG7i;#t=?n?K#J}*x3K$eMS%`Hy8;gd@D9_m z4u~#&v%Iq{tx$$d2ne(emp|8+Op;T-@YG&qnV~24@rv=ir!3qM<1wop&n~<=;AMo$ zS>?#JM{}RQG1+J#MVTK-h5ej$sS$ZGe&WjT=_5&h?DcTa zK9`rEib!*q)M~@%OvUFUe+{-kI}%fhHvchEO*fzO-fpj80`jO@GI==WRJ`J5^=54K z`BGQp}J@P5BYu`w7kt!(&h!{J|5XQnR;yz8s>cmR*G|?r11q5bM)CKR5MZ>Ra zx(`IyUTDlM6oyVN!dwgjgHi&OY)n5Sp&%p)!|ds_0|ADKh$bRK_csbz-DmW=(u&Vk zVSQN*UvwZxzEm)giO=p~NG|D583w_ikbw}^IWeB9g@N?VA|S9na72i4n_|0;6JG+t z{(DFi(Ekc~zG?vs>2~oqB;RAmV!g$`LS{jskO_zNAu06bs7w@-g1K1J+F;_W(>_F_ zh(xNUF^e0{V2mKx8$pqa8{UuyBCU3&xYCJ(7+OMw_A&+3cuQ`UR~~x5%R$#lH=- ze>iXfL=*xBbu}N>aRz6TUgI)D9ghr!J>O+*o{r_V)(!^M)fDb780I2#N^;jm52iIVbp9_>0115o0PNjJE{VIZVn z{2ZWHxP@NB6`va?Y*1m+XWMP9Fmaw%xPoB#*n)X&P_@{DSp#*``e9JDUdQslA8RPH z;ZT8(X7nd5%i)`2_)cxwn=t`A8~*#yEa^aiv_Fun5RzSch(QR7LQsXk?AlAS%o zeucQfWt#7pdd0FbF#ZzB!Hh|U!cEfV?uhq4`N)bv7*n}2>FPjAzBeP12E@o4^`Q8F zQpI6!3&xE?@gI&w;4}QGGhdDZ>X(m;V|->sAgRyO_GiF+{?7vjASC-edh7J?cnhri zrfs|evjQG{m#-ZsS7iS55YP?D2q*-3PdkKL`B>{c`(JiQnmwUPgxpQ)kwvbq7N4Qr5j16`lDw zx|%q8+Bmwqq$fgyW^nl zY1Eo38CPmHP#IC^BfApY!==;cW^o%vtO>y+j;)rc^xw9eE#Ks}U_b)h%ER1ek zOm75@Zg-3lcNh^!P{Qj!(s=vad7|q3{uqo&TgiQsM%M3T)&CG6g5FOsRs$SDQ8u5_ zrzfu6CL_q&{+4|#>hjT!ynfz&;NE+fR16=%PRB|~Kf=Z{Ia&8+!E?8*-Bz}+zJBKI z@|l|6no@9otM+{mq|0S5fv%t}Piq zX|bf%6ktB7$wpJZOTU(Q`)tNIa2~p{9k#+OM2Tl$s-tC|VPF}R@324uBdK{zBe$*R zRsvO%B@2sdgKu))!CFTqK;~Qr%uj zC9@}iH=WU7JZ~tZ)>LugJhd67mRR4HT)+1<$2a^u(Sk7wj++pC~ zQ94$LM|LSPk{I0A3a_81&n4X7M%hF~^*@TwP`Z2)yWVe11z|otLUC4X7vOkYR>)WH31ZPF6%Hz2UT%{1_qo|~pz!C*W~?Hdwi zAlo6I+Qm2~XiC%nMb8=1A-sP7f9i4Y#g!v(K|DXF&^dXyGrK92-b#Jg+dY8ieHv^) zq*c_k{;Kl*%Z|uEAjJbo`;C{Fptc+h=m0!Og?6bL8)&?dzw#>3LsAe>i4R5dF&yITE<==I<_{p?=^>U-7&w#}PCYu3+9X&7+K+5u z<|xx784oVO*d~6TDu!U^ru5T9IRY)sk8f8%rQJja=J@APrl(L-Nivqe5lrz4aFq;` zEJrjA*7B=r5#|`YaK+jGU_7@EM6&h~VKxL?nlsCjW{7Y!x;&kO6!DSno)B7vnIDD8 zp-i8FLa`yvA<(eMa_rM9UMZzehgt$f6#T{bmxwcAF^)eXfUN%CBBF=H8|Aw7{}I5N z2RnyA-$i7;UdVQaGJO$D`-j#SCSO87HEIfiZgRxADFP>8j`68axP&wV6jCzWyeG}_ z3+-1RpFi=TI7l;$f>(+pqe^>5A1PnKrbsiw_b>`@asLtH{C^c=smbwT)m%xNo~|#V zLdE`~qr-ouMbyB1ja{LW+m}mklMUWIt)q+kgZJ6bgpIZt>2r;IDm~NYx_jf+&w1W@ zFRf}Hh0go8x5+)B%uD1(Qzsb*t8|u+HT&kVoG8HP{GH-y@RWhz#bf$l|C!TLL~a?P z`4B#%n30NeeMmhwVQ7_wBi>dZrq^19vKofL?YfxQ6|b-`0+2hB-tJ0gzo*cp6qbDOyqU z{Ez6^2(EluY$-(CK!YSt>`y|RFj&F$ThR2QV~YSDmGJFHw9FEino3&(!6nLDqL|ei z4SOg``rjW#JVZS3LGfs6$rg66EG8wgKj0A22j@4hHj-U^SkhfWwLKIQjI26 z^&{|X^SXlJ6$-n8@o?JBhAH#9vMvK}18%v%IF$4yN(MJ)QlcqnnEhrE4j&3>2w0!; zZRih|eo3DtwRVKb=G>~NDS;j`>RI9)GMd(XXQU?rJv_7}PQp(5qvDp1jqo289-u+y z`nF+%GHS2yx35ZHRQ{zyHSZXxlRv(4B@MH6Yf;kblIt&PQ<1Ac~D>GK_o&H1jMw;YI5C`+@#6tA7q zsv}*Zdr&*Q?13bxOk%j=yicVgnH|Z)u%nnuH++d`BoK2Bm`JcLA_x{944+l;mt<(q z$4qKCM~hyK6DjhSE`-#2!*Odg!%JRlN;@kKM9L4j>8Rpd^X6wa7PG10-1rY_mA}@%P>1o7i_ZR{ z)`!IR&u0kSXJgsu;6R0O5};ViRPB~&>?mo_`)PsKhZLy<@T{;FAq6tDOQu7Iac03V zV%iL$P3VfycQP%9A>t0mZmEyXHx>sBe#LI;%V^PQmB;L!PVVybm8E^`R|o2#%f+3?T}@g`yJkt_>Wk(L9fZ^m13n}3>) zbIP8JRPBmedVI&rC)3xMov4ZAG!}yb29L%vd@xy@#) zGZcbgj5vhH*mpKsmdUtWhJiey#!ToM#u=sGTC(N*zscfZ*u3|A{-mMlFI!7O`_5ti zIrB8DU>9-T*H-=5`Ud@Tw%2fJH(?&pDq&C+$FqU%|oi43KIm8ejQ{W%==~~+HB;s z&c1`w)(O{ShM{FsYivhay)_>s~4^UVXZqs zl$N*O;o^J_6lOw1#kvVwRu z)+mep^qEinws{eM<}W&p6|r$ui3m@cyoj|)=`!P;@5hM=Q*!nXWHe%!$y4J>5|n{x zYRcm|80r*tG}4%6i~)3KGiHbtY5mB!>S}2wc@dH-!yY&xjl91g8vW^jGl5%$R(A9! zMNHa;`an8!=0aK?>_3@W?}a*ZfC{9Z+LTOkkt!>Vs;czxf1(z_{wFF4QV1pSVjWc) zqT0VK(5nMl5D$;_$Aan3h{Pw7`_;&uGEdYbPfg|Fti{dRL%b?(3+ z6DrVYoa{ssNEuiQo{}+h2U1Qfkoq5#$-w@TGEdr!xvl?HSShIN28yf~i*KNVrC>Y!$HZ|{i zw0@=EuBVVcZk$0i3FXGzG!Q3c!LHCRa+5Li=0HG6@QH=wROskW*k0352_~joQLIT8 zlc*P?sR#2oypk%^$mcuMoXz|n%^GOoIha!gwO9QtdrSqvQSA8Q-@Z$)QAK5^z12en z;lpr03(&!Eiwd9D|3ut{+KI2lAQUf5;GVKew!at`lBL^nOmy;i3d#Lh3Emj2d=VWq zco%_aHliiX6X!T_mxd$>UTdoC1Q#Vjwp1;Au99vC`6E@vlzz5LZ%fAryuix(2|;+^ zR9r&`oifWEEm(PM(;&`~WLGa_%W;$d4Ji%`w)E$Y(*Oy=?F?S-^`ynK!Sxv19;4j0T&vSwD%ieCUIl*bh905c*=j2hQI-pQm6ry z0+a;7;~e?o8MmZiEie>iw{(mjuqg9#Cc-`k2VoCYM`wzgeqee!InmHp2@m)Osh;gCLiMD|Kql*|b%B|nq&kZ0 zq{cgn|45B<6wgRaa2!H}k>$yPBH48BC;0A?y9O(q}sqP)&4CSlF+s$v^jj?Dn4vz;cdE@_7egc5=GXnDea#^ z?powTSsxCC^DayiQ!>0%-nVo;9+H|b(F(p9^0S`vGLrMC=B@Nf+ z0`Kh!@3a7ww`nty2)v4CXdWW&wAgIWh6=rzxNH3(H`rStJ!hMynV!e6Od+Il;pQQA zdZ_|~RdZyV!M0vFfdkV_2ouW1$eOi6Ulos6F{4(wO zkZT19-|m26z-_UY!6~gYq^Y{y^;sBKC3=1WnQiQo@9{XqCqL@Id*aeYyF4UhHT)Rs zZgYgvwIAlGqJF#gF(+~4vyMJe_sH0<*TSJApBxe{leDj zW$W3wjbVHwXS1JE;asqsLb0gSeD{!^f2HIMV8lbqu|%wb(*%EknHdowxb55w69ica z6HH_6UED{G5q{lO8N$7R9wJ8Z&Ep989SC|8N`tf+_eM%sSthWDykik2)FfYX6gbys z^0JL26k9PL#$ti$+n3dB@ty45?{^>~kHjnJ4fFzQ#BX4f_l?yXTLF{QpQi1bVM4$_ zLjMF32v7Nb18u4&3Vd%U{}6Epp6_)b&6MV69_GcTdD1W;zg*IHLx}baC=nK8i(pD= zkjUTQd&p^xU#7MHaH|6?4HF`HH{_E<^#v)OB^HGrbR1#Q8*=Uh{$GRY%VOeFK1wX$ z|67cU$M4T4|Gay)__r8NXrkqSUfHJ+(dggczj61F851jkw?Skhd_7(TDrCtAvVinm zmUDRj#^c(-_~V8AD9s*n9>xz+f}wsE0!N@{|4jM$GP-CO7pxoTDQ&MKhCjqs{Z#)*Vj(O9%2qk4{a}HU zLgfz{`A;q0{=Wlb|E*;1w-~VKC6mW9a}5+MB=*`5mX9?H)&4)<67}e;{Xz<$1 z{E>45jqeB?jXmTN6QCR=xHlA}qs9b9cP)GFJ>)*lJ!JDKW*}hOs?U>E^Lk?-(&<{~ zpw%JIpnDweCLoJcG3CHgGsYDctJBXtE7L4+&^K7S#o)bu2C>9Exs5X6JD)*wIs)e< zRY}6Vr)^n#JY=6G30n|36%>IDVPgdA4AIMVle^x0oKDKM+1Pz8p@f}fBQhK)CXoO4s}sfR_|ksfQpAqCm^Sg=r`{fIZ8cXZqV}__xs;f>u)rzl9CvQjfFt zp7WbPP=L$V>?0sd=^vQVe_%cXN}p6F3IBXfH|xj>1)`AFWvhK{HwXxg3veO+V$6IS ziqtt!Klvkkm*eZI714|8X!hOz8SE3Fl=pmYz$#?HHh5u5RSElFbk@Q*R|#WQe|mdV zW#a%`LbH#QFBC@EeOUUeu4)!Gps;p0zFLv&a;&q*MF3o6^6&6V)APo7|42dfU6@ja zMEW;ScE9Cbtege}&-9yf#^&x&Ce*7TP~_**c0>js+Pv_9Rf`1)X7*9SSr#{dUBnE) zGwqm>>6YOko7x8?hEUqh%zxv05e;od50-W0!#f>+J_CKB1%-~_n9+I8(drM$GyNG) znrHeEp{Q)ZTMJsKn^2w-o_5_r(7^R;kL;$&_mXX{?{D$|PS+$ERtINDoCWF)he4)x?vsVX)Y>A=6Ltt(+}Rbe407(Y zNYzGS7Es%o+q*N+xP|HLR`QpGa9ylTgniSC(Zd;{RV|piUllml@{)uu%f*F&R~b)2oC0S)cf`9Usr!3vfGe~ z@U~}hsq@kzSQ&Nm65A{DT7kPL0S-u3CLZUZgk9;W=V;O(E+E7iLd*i4(MB3?qTW1c z&g1j4((<#C7I7F<0W`9RqP(>+flnYqKIf8b3R;Nfl-#Fp_h%Ewdenc&j8!?hLdMYo-+M zV1o!b%$^}mLovZJ`R*kg`&JE2d8KwqmQvD6kh4nLEYD$)k`B2P-s{FKQ}P_S!6n}Io=x%JWI5A zclDDl@>`Su9R*ns?_jQXWkeF-r}-hP-mSsl!K<&W>jH-ge03bc0suCcN+9@t6f~@ zgL^6${4v_G@&x5LRlVB-DFSc{df0bVNstL`&eswFNEzuRi2FTBPbVyN zsC8;P%f?$^A2d0Vj#&}k2ORC}y*)J;~iw+l(cS!`0t!8GW8P-R?g ze5XbryL5i*N}ZaU17T0e=YJ(;CIrs4wh{7Siwr6P>A4S|Ep_JguX5<3)U_3}X?%tI zun;CWZ5$O(0Udm}MISsCuo6Bho8rpr;N`R8--`gJ#Yr;RefaR$0o;$l+_KcOb=ka7 ziBAH?7IRQvIoi;x&0_!jQdoc;@wGm=XMURGZ-u0hd99C>QxFX_vTCv?$t)gYEwzsf zh#~P9EFo*rQI{Ceu8j&J1jCZq2XkbVnQ$W))-4(4H>#37IO~Pnt9Gi{Z@Ov|+Kkx4+Lp&9?(LPws zungX)iolZC_?RxyG6zI5MS&hnn6c1u8HU0tzln#@GX1=l z&k$K8EdYU~-G;)@z|5e+Hy(J&z;-=YN0CYJZ$d@Dwo47$cFkd1 zoaFauPbuoQ6sT;04+#Ki_y%Hk&z*pfueeRV9xbHE&kI4wOL*WKJosqL!~2TMv=1PiU9AfF%Zw~qJAeL+q`M(cD?PZX-dL+`d` zjpD>`+Sb1C_Bc3*0Go2&`rqZ;=zx2d>XG7u2rV5Y$x99Ty!VB&AT|1Y!@RE5=0#I=%)LuB>9?bkf&51s@sBW<5_K@>9oSdFBOE zJv(MWGB0#S$7Nt39EnYtyGKVoQ&AFMED(wuL*isA^JnpZM8=BFRBP zWM3{sQxT*eQbsF4+NiLa=(hu$83774@RPQFe4pV8W?~OcAox} z8^DR3!djuBW>fxCJUH>GvY%>nC6c~@?fqIp_FO%1hbw2ggs`6A2YEjSVBmlv0b<f2ACM)PpX*S5?GD<;yn{1-J`lL?1djv2nRL|qgwk{yf!7@5 z=3-7?z}>wK5X(*4vu^W!P$yFq{wO!A)^V*3w?5rhAKOI7HAf(p9^90~9{O!_6$U-DiZ3?q{Tmr~Tj-0c1>e`IU`*u-Gw*uX zV=+l?U3@y0YO6WR(tMfjA{O8J1Ulg~=4TWC{cEtwcn^0Vr=38ixlV7&UiOuLw zh(Op^i?5CAr!fVo!3!;i$Kmy@QKqx*0GXU#FVQuFSq+}&`D7`-->yg6(!+fZ_qKp_ z3g0_$=I7(X0>((?z)1OBIn&}tU}}jqqUGulS{Pa?Ni-~i1}XC!u2tlUXRS|VPTvU+ zV$<)r*K%bW^gp*(p6DE^f&g1kwE+MA^!@zXg6gZ8vFd-j;G<{ztp`~UKxVyq1`ZNb z_f4Z%MHAR?2s@KRT96$HC|R39_yELNN04TLevNmaJ`JGX^T%NJ!Hp622D*Izb)Qdiv zi@Xo`iJ!YCLriF+pHQR%(6`f34>wwvbr#HN+B8zyvn#3Ky}hd3He5erM!^nNP#F(I zTdWqviX9D3e;ra1s#{l~D$|TGjuZZnkyz3*_Zgxr1iFVrl(n|6tzJ zKwbNh5(L#;wt}iwQ|oSYguAz{xF>yoK6g-oJ2CSE^=q)worfP6Fm9gRh_yB4dfWnS zgXbj?nx3%ixh5WNtoUgX8csU5<2;NW`FDLMvZ*cW7%a2xWoD5q$9my@7{9x)el)lB8cg-(3fjvfgul+*QlZI&S54rv zc<{$^WP)u-wtOw3J&XBI6c2KQ92G5pV!?YIwUSu zFPBRY(OSh~o5Xc(X_QG$DS8kuo%;NYHtPoAE?Nfbs)gY%=HD{x30sg(3~*@IB50JI zkA@X~P(qKAJqdXC8mL?^ore;EzJxi+zdh<4s(2uhY?mNCj$Sr<1-=h2w8(D!jnI=tICKCE!kLu%hX(I!qb#eG40$|;I75N_?8Bf?Hj@a7tk%-$ zsyoh|`t!rXWTur>MFt1twSMi&rTTm)_3ms-u>}1S#)D7gyo^j7*f0lVg6m|o^QLrS za!HC}nmPrG!gae0OFY~Rb3uiVThB)OA}cCO zy@0oFZ#2y2Q{e>?G?sz`b5=RIh9;G{+QLQYtS?SvF=fnHrUlT%D$A+oO`EV7tI)=H zd8kd4HSn-RY~BwkJa zT-qP4C3@3?=!JcALVG`YVSe{{ru}{X^wlB9yBTCGv2WY=`J&aJSI-YcX6U>&_w8nH z?c71|<1Un1q74x$RAvLjD=d)z1mr?Vk&Cv z-?3Mz%APLBGg0^mk7=XmoJ=9vj;s(aCO#HI$;A~ppX?Ppiu1$PC{r0A1t!p!2kul) z3hhoab&|Q77?XoF!6YWzc(VL$HowSmP@$<-%(O#Pr45!W1KYkY+)uw=W0qWI%#LP5 zRN_nN)H1 zo<`dW0fKv8Y^o%yB?Vf76~}d+DKWwCdtn{1@mdX{n}a4R1X0%J18^>w%H1LI<1ht7 zUn)q=Ju}a~t_o@N-kEmFt=lHQ0b1f$wgun%_%=hDjEoveU)Dv1J1X61U9Lmt7P)qZ zwk6s8XS{xRDDwZbvM4KMtdgz#Y3jKWapim0xjE-HqwBhkZzTFSp?1uQjB2OW z`4oR?DJ)|tPo4eMR8ZYT^J5^up=>i^nH$S>FEFsBd8>?z!Ei9oF8Y8_%I5*BomjIP zHKBgH#kPNb&iVp!^jEz7iH6S_`UGL&_opAKa%yQ0!y*x%s*^u1f+u4_?Yhl*bPdAD(q|t(dh`wD5 ziM^DM@TOAl&DhEvsLNmMuo`M{8SSzKwG2;feb}$aF1hEyz^~dS$_G#V5Y?t(NwWxh zM8z#L-cqw~@Z)y?taViGx`1(UR;?`Wwte(=qb+YAmMf{|`y_06hys!53tsy?85Xi}Op z?#V2T4-}DD7M6Ps1|Yq6Y%CBb7M?Q{Xs017fLzYLBn1=esqGwPfn+tbEkf>>Eha`* zRABVDP=0Y}dMw?rI?HNf$GeOhx+{#!u9<2QqwSi0SWah-v`xWmNDY-v9%D*Ffk2ck zVay!TV$iOb+B652o1%HNKxuLvm1ATR{Qxk z^nd1JIevUArNA#dC}8&br$4=kn~ST1otB*~vz4ov-QTah>Zp3S0Tv99Up^A!3F9Sv zVHgW4DAcI=a5XZ|KcEu25{isJw!(UM+`l@G9@#0pgAsG^0a_(wTpZ!NE+qlPzwVBN z?@)rzgGHdTYEUdyEu^&F+T0;Y6~VFT#>X-C^;oeMAvA)(EF8-bPpZRU-^LtqngY-( zh65sPHB-E(nmO>Kn2)R|d)It52yv89pP6c)c#JNq8FMx%gKOL1GEJR>me&4NPO)XxZN9P&4aMS2$Ke(wONw= zOz7@MX-mE?9$oS7rNGB&GWxZ~^=gTqK^+@l#Ivq%eK>K^#T+V62&diVfysV$wrsOR13MZJ+~*+;h;YLc(%}VpX+uc z7TqQjT9Szq4pr6XE;*kuSn{7(z+I)zuj<@R8D`3&=PvWJY-?91a%mbIc6*<-a}|}F z8GD^jNtyu9m)^l!H3#9-<6!(U|1-4kdI2uYPpnu<`kp2E2tF*Y;&~O`I zO(qt$Ai9!cd zk=)es{`;@g6RL|}DzIy4Xy0ese1)w(cHd)XUQpNPA<^h+OKG(Deo)`6{*X?OvgMEF z4jZ^n+0(jCsy(oqDxcP*Cm{El8J_<_xMQjrzQZc3I?Nty3$0q2SNO`t1-E}Y@0O*s zX`tr`+$Px|GjKuHI)U zC6hjN?tCX2nJ*qD7coW3PUJvq%tk+h6;>9&E62^ld$ydU0Le`$a~Yz@)v4&W{rx`O z&x?})mYLQ!J&QkJClGm|r&m>q3y*R8m|UF_+=p z8hRDzuSlA^bEnJmUxo!73=5D@qNNmVMj-W2)ZKIPUptDsxxXq- z)*qVEG7QUMu8Xj>6kM>U>9oYmGRFUg|3P}|EUlDYh)qS4`F(*xK^iy9voBro8+UA6 zHj*J{Qe-(5ooPD4EyI#1xsC#pauh8EW<=yE)<`|sH3&RMT zRJBq0c@X`u$O#YMwxGFj3FWM~gx01ViSGHkgNI0Z&dvJT?V5YRG4n7KRlP;@aLx;W z$5rn`Eb{WD+4$V?mvJXm{c-eg43R%RLbr^RG4;%?a7A+Oj#_F>kBs}u{Q#^@_w4Rf z_qDvfcy#x*=r(l!XU)$e2fPUA@rG^Dd;ri4X2<`%+S5v z{q%kRKx!fmHxA=TEZ5+Su7Ae5@y>$>u$_ooJ)48Em*>`Fszm^^-C(D$RQnr8ms6RF z1#8|vqMd#!&YEC-+MedSZT`&t0@DLUWzc<8?F4nC%yE7qoZ56lrUpsA zCM5cEHg96zx2cy^OapgK?`^_we8&|rUp{)^6(kYx@pqA+L6!9Nez||Xac#cc72^BM zz@C`>ZtuBo+g@9jXJTPkgNwD;C%}GD1NC?{`iOe8(swmgCxXbpGT4Q;+K1p`W0;Q% zWo;De3OokR2$}T_rvQcl_|3*<5v)>ByutU2&9%3l zth-H@8D6hr`-0H|gTdKbG%r{d1aLEVk^82eN&Ds+N1jUA3rsFokdxN-fn5+AFiV7q zg2qK-oetY}nQeH6r~rBd(P+ zS0mN5R&mc7X=029Ga%sPYo;YLf$`WmGK|dW*3h@eLROUUT5hPHuI2fjpvFkmo75@1 zCS8M<4eI2%Vcx!4ElMw@2SO5f){$|FkcOci!wEX-Gh6FtmD&LU=o&%Z%Z8uL zlKE0EZDAN4M>t+K6EMA?_TzJJVISc*iID_E>!TmxpKuI{7_f5bQ!^^;Zg{E%ZHn90d;n zBSI*+i4rtv2u7V00Lh9#=GnCq3ZesX4`+G9{#6+K2h<8L2Cx-sgs0gTq3q~Ngc@Z{ z9{hzMX)M-6@2=xGIJQ)bI8m1PrvpK@Sd7BvxGCJUb7`I28n-Vb-|4~()hcumQXbag zvxYn`_uzV8`Vx<8G6*}EEJ$+{ouP#XkcN^M63@3+9^c2rqlo6+K6dZF*(td-zTaB> z_UVDn?S35(3J~hg9je5RU}^PBP$u8xJl^`o)KIOPH@$%K0&OR0k~UI z2Q??B(&c~C8L$?#eqY-#*|OcTe!t0JLjFN%kKP*i;{HD4$+9~C+Ir65XQG0K z`JJsQs!s((;-`}w*69N{2>A#(w(tOoFoggMsM()+p5g|sblcoicftcy%n)fW@HyJh z=q-n+ek+uIRq3$0NIBu;`Vc1>hcRIa_3XJuJs@#iPabEruJAbur3G`5?)s^!B;38?AqfoWT2XWI+h;Sm? zZ!1XNjm)%SuKB)A#4U1QT;RYl3_3CFy5|^LO@W_48y|#5PcqIU8XU~W8YIWJnhzc& z!KPepl4pf}SD30rUk@!ZH;*Pr{$zEVl+{`Cy~}I)B4EI)YPcm~p3Td{P2qBn^0(*z z+FiMW(eFR6pYp^bxcKy|YwdD%PcCkKEmvLhc-iuKbpRen;yZ8Czz1rXQf8U%w9RF3uvTDuuiu*6~&(-|C`~7cvy+!@QN9*^; z{`%W*|9?@b;Q`($b{VlZSlU!ul&hk|51R!yPWQYOzrIlbj)!Ba23k`4UJ zn%JZ=7Bpfd{u_6EJ7gc=&B!Fe3>qHi0Pejsk60VDbmCNC3-uIm%nj7-fPn^}7z0DJ zGjK3CHLoN-q_QBjI2P18LpPvO&D-GzQ0YD3I5Ia(H;`^%JO(rZ(#8ij?a?)Mv~dS# z0+n0@Y7|7#_#7w#uX~d7i@+n%=-R*BzAgS5s6B^;fk6O8dp%GDu064!0Gq3?dhb~@ z187YX2fF1mfB^xXIRF|_nhW$hHtl&0(n3Z+%TEKXl0mUN9yrwq)(-JGvLRSQp?9^I zb+3%S@-TV2}6XykTlH ziXl*pap@`d-h^wl0-auslsaPKr+Rwn8hNDPMP7Luxr}FKT>BDnB+^S#dj#_XP}R-p zULU47L7Dfe`*;n|g3m>>wF440A3>t2Dq_^phz5gUlm$j1L#y&;xN_Rb>{OMHhpG1H zzU+@Gy1b72x{^MM`AKBHE;CZ9XIQ1dwfb{^4>P<_ll*E}AK&j-<1#^4=U}d8U%S>* zfaEp^4?vmyVbjg%I;O#P3{_had84AeiDnu6;}l>OL|Hv|1fHq!Zp)W_vZhY=rCnPq zTGiX)I8X}L<6aCY{iHj9hN_N4?;BJqYkN$ESI~Xm{XI=V47uRra;X0O{G6Q4xSHQE z@>dQup&I2jk(i_rHXg2b`(rUu@7wGkofRH&dGB^{0|9D(;eOADOQh$6&ycG)4+#F1 z_fjt%h5OEH0lCJq^hq>2uZaZts9kZNpFN-8i^@KT3--J$6>aPbjoy>yK4Zw~gDC!^ zitdy$!VkdeZGwS-zym)G989epnHYaxE8-_UfwQ3aoeN3~Qxw@Ys)^^X=!+l8(egbQw^w!-ewrVb14S|j3`Q+4Z;@fC}&4}msf(65gJ zhRO%&rqtC?toWxckB|t+plrfQDax+R>a5%0r;ZNxTT?FJdSwVrAqYrGA97|+i_3)r za$weVTs8sy1vNwS^SkQ|jud`EPA1K4)#$H{W8759pMBCda*&2x1i#Y>y)CQSUKuRT4ywVNeFG{s6aR6w2CCWS?^icCU568{bDLC@yn&= zq5mRLv0-`hyArcPcp3O>)t55&;wb@+k9)VrT1knBNRnWmU)dnW+{-MeS3)JR<%scE z3_C8yzd%^Rdph0Ln*2n~Hn-8i=AR=IJ|U#HyP89I=!g4(ZJfU?>@$5UX;+qUM!g1t z9bSJ@N32p?q7ix(bsF2HDKeDJ!vX#(MjbgaOO|N)8PIcsnx*N#ZXerxS69LpizIW0 z1o6Zty8MDAPP-}wtxXV{(3pbmTQdr{{>8dQ5Y|6SPr)zodw{JU7@&rn(JT*lTTr-Uq>Rx2>qL_w~`YD zCp5Om`9jjM)jX{g;*$H_u})6`1)c?Yd1ZNYVb@H)1E|_YqoVP}`|4seWa$s& zFbOT%oi0$fb*x6~GGI)kue7Oyr!FJ7AJSsVD2Lv zf36*H8xPIr20e_NUfxqIa6A&}GPNLJR*4CjV}^U|=(YrWPO_xQlQxf1+PXsV<`vGa zi_DWVzS3PwKYFVBDPkbXdOm9qqC0D)j1T%bzFOk@+3uY-yB#AZ@sxZs^NQLkulHK+ zeMwWm6w(F7O<=nU{{DE@M{61;O;pgD(@Qisoi6npRbNJ6V1phf%XF@ zJK1C7K!ErKpnB0tH67Oz?}O(~LAAe8m+?5dXom$vB=N2kb?tocFLsKaj)%f4bJ2lA zWTFaQ875^J6)+=!%T$_9*2~UD=O&(IQZ!hMF?J)i+4??Rr2DDAg=B7MInJ?F^qW?; zU6_Ppzec3h$>bhOTsW;K2)4+1_53x7B+UTA90j8@YVB>#rsK4Do%IGLTgkT=+nC+F zY+bRt+u&2p!G~JbS)ZzW!u=d64qF^mt70`V^99;jYgH%w*q`03ACID|xQlLoW;uVr zmt;NO^GKCD$&Sd56FK?HLil}A$`Qfw*J=lycRq)qM>Gk--3I7~P2Hc_sYcwfpYv*d zW?$agh1T1@=UjipOw`kO&~2jM&<$OdYu6+;pQFBUM6Fi7C5Bs*de~#XlhPuhpb7T| zgBGhtkB>;UW3GLV$n+D%X?8F=G4-u0POZW+>WIGjb&!By8zZ>RAVwm~-bXk^4E3z& zIW;R{JzO7Kpzu{&;bXK5%Y2r;eR#(g`3|R<*#2#=l^_cune`1?D82PuL#Da8U*6g4 zIFo9fShk&5)vuc*A7BV@MG$YtPij;~tQ=0LwAv@#--GLZh@c6+=qHcF)zP+2XW;1( z$ppe5+U$8OZmN}UOb z$Lv?*_kv-j({@cyc9C)V!Jb>_O+6jI4knPETkiT3B!5vRo#ZwjF6mkX_=G>0WA@}J ztw5)|ZaCoFJqC&DjP`ab%Y?HYHTVjA_{LcXiz!)9QLo^Emxq{iiQ!Lv)M+=8OaAzQJVn`Z!)BKMN8S&9Z_{7P%(3!G#`Xu>;!qF={4eJNz$5oMkWG zqzg7tw;bN7=JLvrYw7;()})v(WD}s5OfLEtr*2`A3o} z@n37Xw86B*XX3wq4#~=N@@ONyoTzNR>L|C`7TQR4?AeyDQxE7xg{WCxFw`UCpfKD$ zKb*dOFv0hIh1Q2Nt6#tuE8O>gk<*PrGk{RPPY3T~doZ*Z-7{M>1`&7d5=$0iEvQac z*#W;QVv7*rrl?I-39<_QFk!`Qc{B5^-$NeO$rBn(XiqS*2!EG{K+{TTOylE;K<~wO zG=E|$8!X4wV)X;Vbs6r}o0%#Ip2xshrhn!-stk)Sf(ZmfUkwrj`CqwqbaJ;gb^N_r z03SgTb|q`QySj4o3|@ZN#0G&3P1=IQyWoHJ?8vM+XOm-_`!zj{{Uzqqz?XtVm`F`o zP5o18d@WyZCYB=2zD7oZs_E-%mT$ZDxsL%+blU6L23KDfVrPrax%zX_#MyNlz~>dm zi|_H^%uV|&GimMB_Vp}HXlV%W_89a2_`Gx;T_n_WvZwd(xN+H*ywLW1IQR3mEhJ>` z*!{JZ|IOyTbu*aBXO&1lspw*=?=U2Je`jp%q^az6?BuH6echU?NQkJsr@KSpD^F-- z?fZ>Iown!m!rGXJYq-$6ohG0U^}cQI`ry{>!)e*@7lZqdqNP5c20_9;bDx#WAx|w^ zm!;2NUVF}7Qe7scL843w}Fko7H28wds^4&Z|9veD++VJL{eiag( z5IEJ?1nyvMJb5L334H{~eJOnh-r?`s<}S}pT*vk->mG4FAws*Y1Q~Z^okpiUUnJgM zxup_tjon1}I52p;@_3M4CzS2cIJZuxApiHWJancU)K~1H=b!vm{ zxY)#POBV8Rk5Fy%;yXnrsS1m|sYZq@2suOJoeHT#4ymdXdaX9_))MmO4rXd^i!lwx z_I-Uj>@)L)dA-?qbxPHJsrFfE-{Kdja6LZ@N#;7s^}T>uhH(3%*5+#)sf_Uqylr`QcsfVO(k%TF_R0&Dj(T zm$tB#{B-NJou6KaD5+}7b!J^VR++Uoq-iK&xdLgy_O|b5^_F)fhOw5V(M$5u;l90N zIaYr0Qw-`w%k$FbYgHP{{uJ|v!1s2&%EhVY)43AP#8({sUeCCLW8h53uV zgX`;`XMK+8>~z5`_yrnK?|lburG)9%)M|n7E7SWA6uuWkOA2XC$q|+i)1g*$;nk%Q z+`_1FpyGs|^I1E)U)#Db$?zi9-!)CW{GYRmBLNyQOc@sKu}$H@OPahc*w3eL7e8(2 z(g_D=QN1up?qFs`ya)`ar6UW-xDy1=&C1k<*Tr8{Nn$=pDM=NhDSu-t3!>l0pd*oC zSo#DLFW=f#?z@H0^q@Z4K7_GY-p-Pi2dZR!nbq`Kg8N-Noc`^3!=i()^1MHPCA^x2 zZA*Gt(`GjTC7%=g6O3{i90f$rp}0NCaY9}YeS?;=XzZ#J4GE0-CPudb%ypq3Mv%LT zFx+Z84KcjUW_d=Q6pS(%9a?~0e3Kt>`VT$6m^hUD%=WV2Z3+OW7WasbFpB&Y7D`Y; zJLE8f=oMCMKx{i?e)jLqFThT$e|19akOM$P{u*D|fJ?y$!Q>7<+$+5a_Al&H_IO|@ zF>oBsAEDYnv|u3aKSKYcf+(Rnw|L*)(+^M~sB1lIRW7abE8}5mTwEX&a#aozPRT6fqmP` z(3tfbeWU=RPSVTyz{c~fbBmtsfTzey-_p2C&X;AkYn_L|xvZ)kx2m5Df(nQG2P3&V z4^dk}dQG?DMA5dpj4Q&4y3ywxak%f#b_ik&?o);+^y?)A>01Nq#CK;tF3ahzhy!b# zjJ`uzQZ^?J@rNzH`ojTLyZ)6iC?(e3)cn2Ij}G+5_8(R+w)ht3Y`EH(l1~ofu%^a- z7<0kvZnDU^5SnxZ=HPA-$RC7R#&;MO?eDQXzVCZ0jl!L?yj(l`dbyrACy*l-Y&wQk zFWxe!tPzlpwnl0!Ct$T%){;%My!C9v4JzHys`fb~u5TWnx~+EgMZb@nk7W^br|2f5OQ5dJR8~>^;rB zp;&gO^l#cbr#;v_H>vz!6ng3GfcwNJJ21Gr?<>QJ^^wVe3(H*4eN7WzuhWL!hyUHx z-X~Wrh>FS8qAkx5x6SNj2FL2_8)4x1+CGf@M>ZeD?=zIibR|)v=nGnm^GyS{kxCKXTVbSvh1`?_Le>0_{zeJw+dmF;vb2pSHkx+4dz@liiNHRe>BIQJ!DWc2Uw zh6Vm4kM>Jgmr83CG(I_IOS|@6yU0de3Y7d#$bS44n&-()aZrYS2x)Rl5@tKc-fx?W zaS5O++hyOj!$s!(Qb@kUelB5Li5F5NHXG4M2Ym7sx+h$vnbqqhY#g-mj7J2L3rUa%|#pLw(k^G6>&LbT8) z+K7wLQHQ+08lClZovX}y7yZcGJL50dlGzvll$7qM^F92uPs5laYT7y{eSb@xZ<}&` zx*589yBZwuXnVDH_ql&dd|y0$n)~^3Y{&e${jFIjn<5dDiW`?UG*$exkV-rFkQLu{DR)q<)!3z z$)WwCCjMAY{D=s6#;nGoyN!ox{Df#t@?rTn)gP}cNhWoUk)tTeM83`SAV~Dr^>Jpq zz@!FCwKKo+hiXD35XY&Lm!Gjcke51ng;OKS1zn{0Uapz>xd1KWhO9)&+|jXzV4g|B z&~b;ja=jqat)w-Rg9WGr^L0yZB&vV_#$3Lp=7erFiY7Geemx`&>=rqsB`y|T#Tfea z7Y9f7Lbfu>BvtVXZ_TNCqtt3nNe16%R{rfS+Zm0|cM5+p}wa5ZnLa!g1#3qFRH@z)N4hwmOdUve&qgSIV)<<&f zSMlA`qx8BeF~7#q?GkfwS2Y?mjzWu2ic=y^=51qCJCvhtA@*fvtL3~U21iN`PWoOG>fRY6x?@)U=}feKSsM+4^IZ9C1jO@N1{^a^>iWc9sZe zy&$wiUTD7YID#F>U;?BS((c?%`>q}Cd3Xzt1+{cy_@X4IG{-BX;qP#>HX7Frd8vaD zqWC>o68fj~GsKTQ?{*Alr~9V18rL}1&d=kQQq}qr;l92SKpRjyMJC;CWW#B zOMYEZ#jN!`%OLnP#H}Z8fb%cu)r^~X zU;D;1@YY=;nG8ZMHb1X`7wrJB3=d(6fwJ(zAZlip>e3{2IU=r^T*+fcXE0M=V z)~zHLzk!>s#@bG_yDz8v@k-@`S+MAOtweL2c~`-?FoM*6J;Uf;kWr;xKonOsvKu#Q zG#|gpok3mwgD(uYcIY#PAGt8*j694|3;mvenTCax`2?X&Ggg781`%ddU?MhRX6M!=;9zZjlX@?#*Q@Ih@;- z5`z1qsC%Bw_fjMq0UWa)vjW>(-V`(Z+Fri=fG#CxGb~oX(mF)^c};oh$FIX`Z6k*9 z^w-6y*CLU$=f=7Mm>yzuRJtV$AgL{L6~634S+)Shg#^TzIhOI)HI!@?_BxzMD5Q^U z$+syj;}vJ>Uf!5|4s>*~nEAz}F&!(=N+n7P_IHJSs!jH$9IL~YCMA&V`&U~LGJRL= zaI+KRTD-%yACrkmZtIz7IEhjU?Zbq*BGQy|>1I+OBr?RS`iC%?)#7cvdfcCs_U~zN z7!ZH(8jk~?bZ&QE^qkf|7Y1V2%rKP?h7IRfT?L*``l; zbwT-ZJ!gi8-f?tqc}v{+J%b|8>TorJK-W~dS7q=};XP6FHFB&N6?ZiGbk2(8j>r z^;EP2tHMv3PK$PI_v6Z*xCE<(>4-Ch?MMNa*WJ38l(jQ5ue`(R_)IH>+JQN>Y?jM) z=f9Sk*QB&9JH+M!)|&W(*Kd;&d?`h%9U7AAV)Qd?$4~AdcsKA>d?wYz=h z^gUpX0M4on^r8S0Em6RMANp7p>Lq`kkWu8N9>o zAt|EuJt7H1?S0s#2XAMmk7~+%&$l*E%B$NUxRLBgFAn4sp}tqCKDw2iUV^{2dSyql zDN>wh(wiMPzrA4o6dlL(KaE?;n?{U&+B6EW2q<180wdOd%MV7-eX)bvp zMiEtD=1T7brrRvwh7U_HWw2{(CQDb;!Mr7#FfK$v6{wRBPy}>K_3LFC#cDI)j`wd< zrStUN@;*==>y1NKp4?#Ge!7d8Zd*YZJ}C*7!&U+S!?6&&B|H8IFa9fh{@>w8zrzCw zMLSBpId5!d!LK|lU*{y|)9Nf6oh7oAm>}B~yU~vec*K#DOR;a`Ph+i%0zBM1qGpS+ zHdt1NxdI@0j`+cUK(ol$QO%2RC~XUykiK$$Quf;=pcX8H<_B|1#_$k$4;_4O5s z*^h&{f=K7fR+l8s3l*!K1?DYF1Bwjw$--xw^b`B_hxW~r4LDNu;u`Chh0% z_#5j+nT$IX>SM)qx0H!D#VgFgVlF<@4cw9g0&ty_f&SW-R;GMmq><*H{^tfCCkYW_ zJ4-EEV!ZOyN{ecy7Brs7vgY~^kEy|~R;P+0{4VaURUzn?(^se9BH?Jk;9}@L6wEVb zg%eVK>*?Q1!Y6d3EuKe83~7+iBTNs`TvuRdf3gM>ym0I zuI}(lQI(}O1o_sN#AAzJj<=YgBZuslExh4=?RBYh62cE!6Tl?ef)>@`mVFGqg}@-t zaG4X#V33nQ4$Mp2LRU<c~W5}v{qf96-@Rzy|odp;jB$=ABD(19RdlU|iC zBsPAmBVG$T<+OV$EtC+xic&Ah92C?rRuI185%8*vCe5Z(glNb2k(Ce*A|)o!WB9i@ zID!T_iSB4@f$=C?TU5p53-vM&m|!YQ&^4O>Gn>@I5Siz0fhWU110vH}{+Hr0hx-Xt zW^n?Th%%EEb_lRypai?TlG`io7%xoEITGJ(DYisz(wbcEzFauMeTUv&ZLLR8EYZ`3 z%fDh|fN1nlR7OyH`9X_s(V0N~YLrd!2m?Q(9v4@V1Zo4RM8@^|+AoR>JPJYrpUIobY3T3;ASd%97wQ z23&fLThv?S$dRDXWG765I1qo#0`2dPwoAqmr!S!L z3K}g>FS!MtfcMETm0+ceB7!Cpf6SQW;@UWD0HbziU7wyZUEZH_6$2~|EJc*q0Yn8x z93gaI7@ibs4iif(ZbjZ?5faP+n$0xk*D+fJ$w#j4nXrK)&s}2`ddVs_=mry(fxL4! zdMF}0)zx!SgO5QW&=V8 zoPq}wO&ZZt8crid8V4si<<9@6@<8&pN)@7dpvpez-zp(MYrY!|wfyvAJ}?o(wt@4P z0(E`{ANH?*2M_fpFeYXQ)s)rHM36A!i_^k}8NR(6ckw>`58@hodkI9L#+qe?rtE&D z&x4syQCEJjr}oVLoqq^HL1t!mt&*WuH`(m;b}GiVb#g9|LsrCwx`{UFK^EonQdl9E z<(rmb-n32}Rkz{tlHyLOe$=(O|A2PdT5 zwb!#nR9$7>%R;sbQF(iVs&M0pZHUuV%H&+cYKB{=<$lgE8??1w+MnXJtWEXNjds&C z2dO$O(nqHE5^>BKN+~9#)9coV1G$TQS~U*R7YwXRo9L*3jS1Z5OUm*6CN_p+Uv|@h zL6d(5asSVt#EE@|+k>lqo-jwW!{1cj%Mqw zr|G1YyIo*`j~%$Z{2%Q}@g|%sDNFoW+*C=IVUD=wtT%2HlUfm$e<+0|IB^bo7Zo6}tRSg;(j{^w;@WbMrH{1p@QE=LrL?m!Fy$CEzBc+%ib)-rQf+zp6o?)BQp)4Xs#w- ziey2Lz~b+x3!%_7;-*KfwQKq;omMkvu4$CLIb#Uiiq{Evs#x4vK37BBsxKJAHf@+; zC3Sn+pwagPQ?&T#rD)dgkm&Q!_n`HC4*N|l^9MB=kQ!R%_wIYVWpfcR$?y+q7n3m{ zH6Q1n)Uy=m5lH_B^<`&2YtDB#KMjq z!T5iW&lpN?KSn2Stvmch-fJlRsI2h-r_rQ@G281j3w@;0635hGpug4O-y-l(&(;c; zLGa#sH2Nv`_F-xFdq*KeQT{W%CQ|s%C_v4(LGR^k5!zKA^|?G>xsHsA<4f1ZgIId= z(#<&#ZKcx&Sp@=T*SMBEh5$_27|yH-=b$*jv%+c~24) ziW3kD^yP7Sp_7INFv{D!8yrmF^^C#{MJ|D(>vFn8K9%yrz4#n^t_4^lo7#2M9Q)6b(mX~0ubfo} zAmfa^!UYml4t%EmYSTZ-<6Jn`f*{)hY@+MOVP_+6xWBMMmnR*r_?*cEfZwS!p-_5I zV1_;FORC?g?1I-GyPQYqaq$?Q{M_pKUI~v}nSqG-oG^Pudva;PrcB}&ZRjtl!ffK* z0q;q?^t~<~H?2$M|MIAPUpO-GH?V8ZIg>w3{$#JX?Hp{Kt6%+>Ng18vj)Jg1O@<`? zHpvbD+hm8$|DQ>2IjgRzwgdJGAD~I}LW_4^>&#{X!aQtDT)ybE&!&|2_`o;HwP9=f zyDO)Mpv~)44B$5siS-y#n3~#Bj3Enj2TdLWIHPwa*X5tK3_d$Ny7^d6EAfDd^=QqY z%;}8t=)i!(zP|zJnAX@uxG&hk7Xzh^8-)KyB zcTf|9Y#PgBtNrlBO{HJ4n{6&?-9R^?VlG5UejVN!vF!X>tWWuj+yjq7gVGKX2i^^j z!b02*f=wQV{R8qAl8KsQ?~Oh}#)#w9CFXi$Y zP@mno4OwtHLNEx=97EFHt&hQcB`Nr*DKL4bFwn#P*3A(AOrA}a?qA8P?y&CsKCzs@{Fg$wKKT6;{GBm8s)=rJ zOG6c^>=HL>7>^QsG%z(LHGRup(DM+vI4f%bK!^!p0_vv2rTAK%a=E!sCCR*8Ipn_pbYz0hFgZe3Oz^NBI_)QLJd97SsqAxCYuZ=-M}$; zw&9rP$)f!P8UybV`_y2|dtLS*s?cE%%hH9!+%;gxZpV#kDUy=aot-U7yU-{4RHzyQ zXO%$8TWPKFt<>JL_eJ|lz%1A`JZ0yhXRm_v_!Nkp%y?CVB=JFrG4@!Rr{iV)Ch4_R zmqYSbF`!IBqW8Rz#c>K{J8;HXY$!X8sVY{MR%r(ybE6n~-JqFgK&Fq&xt z;vO5ej^#5ROL8$TnlB`}8>}{*4m37prjCtER*&trU17Pxk9$^vS z4Sm4!0={QmG{=uuIjm1Fn7gaKUf=1 z$(}HT7fyjQXi656xl0 zu4ARo&oAObi5rI+9JU7E4Xzo?)>aM=p;UH?$Pdgxnkf#JB*;*%#cCqBu3x*c6i#f; zuB|#=*?R?rBz_ZhPF1;7q)onz;(6&DBX$CF;P(i*S8`%UIv>m`!iDKwxhOp7xdULP2V1M{_@hj^Q~L!ze_ch4i;puyuG&`B zgoMnC6h}F((dO`@f&mfmE%dgw!VoEZZb?}w%?6}ip#p!YeEvcl=MSw4Hn(pz4FM9N zgh=H_uo;WSWm$`26oQ{nRCiC@!m1M4?43lO4xj}vA5jW#)<@7+aI#smIyV8M-t5|OOO|qRe!NLKPfqrO~|v6ZCPeaxK^!)9Pe2|c3p|BTHlJT7H@x~ z34rq%(>MOKvWu2hWSE!cUGD;Aq^??303vt#G|Jw3Z2=x=lQqb z7Zl3dbsk5c;DG-K4#+Bj6#7$e&u_sOzXey~ojAL&JgT2qcX~n!sS;_>JtPv1SeFrv z$o>WF)>D-j81pY+#a1ViXzYnW5X_gGTOXCe_Dyaf%okaPhnz!U?+!mWpW?wnAkkb* zDV~LkiNHUAqx#`|k`rc1wm(7&A*w)NzTi~3zP5YnU35N*C_oBDa+B1}I8WHNG*^&0)C+3anh1mD`z{`2(<(Hv?fULoP74v`1 zjZ5C6(V!Of=q?g4zu5rij%{E?Ss{f0?hjYMqcF6pkGa@qyBdDM9hccDz51+pbW=YN z7oqqxw?Fg?@jwd_u~z7ghy>~`MVQjqho+#Xebo&xi>+W5E)rMMgTqlkF4oDtziB|8 z8Y|*}$u*${2z>5dB(D@{U?0-m#J4yO8wFRxwDz$BDF@yEdOR~Drv_H6*rf(5vOaQu zA|`m%>DA-|YZI^y(Ze!1Oo1X#+#W%^?(nPIl!=uXXA=scX+w$G6mU&SyeaC(ZW!|> zd|CKy1)e#&Ocs(`pTD*hWT;M9!=MrmD#SZw! zzaLT5Zr#oE20EInU|hf3Ue}bi`*PPm9+DeLP&R(sEo-~^;*k|%2sYXkHJY!JuYOtX z&PH9Hid(-<ZhCX4sxjl60|)wzluXjnOJu{I>~*vU~@Sh=Q}I{{Zbq&TQL|kIu2HMFN7oo zVIdpxH5i@YIe>yvQnox#c3hh~f~8Fb+MY#?F-gVN_EWQNWpWgUq2aDEuNHVz+yqrb zFq1>osblSm8=+h0MFkpNg1PCyU?IOc)H&c&`8b3+C2+k=9LZIzR|-qC7#|G?JAZ6v zY#tbwFOSsJg4SGdvu2>b!^JUs7dJ9R`^izXu4|~rxHLA3%gkKEno;gQIQlZ<#cB>< zH<1gqsbyvQ9%cSZV!2$0LY;DIH2l@Zy&PflAW8EBE8W;_<*2MM(znF@r#UmI2CWio z8%+>8beu%Zl*w{yj4M``4u&^T}Y{JjfkDESp1GRcCYC8>Z=$cHefwd|O@#6bY9e4E_!<6l(F zKq{Qb-&D*I14i35Q(VSCo2=j6nTb5CjfPv*p7fl0?9;qsx{e!}wvHjG0!v%n$ktwi{0OX_-cR^1TRx43!XXM3UyhrQWu~s!B)2s6G zW#aUq(QWVEutbtNR#17;sZoe+(!W;}OvujbE-2*{ssfnV#!n*U<$UGVXVL4Rcpfaz zDCmD<^w81*hoV$3OyHQ-)MCC*=V@bu0x~8fLS7F*$H0L7|9l5@V@CWN1F10C%PwMV# z47E}Q1wqDXiKB)NW{ce(TBi*VKVgoma=!I&vciAwC7Qu&7_-F)hb_g!DVlN!a%G~7 zokotG_WGzD01JT*Ly00A+gNPw30g$vXDi&3_MB%(?NjC~8XRAlYEcXVD3Mmo!B)%( z<_v?tgrP-IB`zlR?Y2S*fV|T{E7x71RE41joJ|Y>8sv)=XO9^WF}J-pVQ6o_Y1y~h z$^eQakvP7jHRp9M#j$NU2&&Z9a+JlwiXzy>+fSWbXp?F-qL98=2m+ko#+#NIiaGg3 z%DA-Mc(kahN6@NYI;G{evU``a81cg>T^q!L*AY##MRSnJL?8p;QiUOzE-2G89DpKd zRdL)w&4nPZ)lY)pD53;s6+t)m1G7b$vPI!D@SdPB!K|#2my5nJYYZVLW4aq;H%c@|_||OrNbfj}1Qrj4vltz(*aq7YnP40^Jx$pv z&uMunzOz{cp;)_O$V%YX!QJ``&Nw|xQ*dPoTn)z^yZ+CDFAsEL(^4dcAfB3+V^k*ZebIoJ+)WwOyz;)AXCj++< zBG8)(T*r(P9g!SnSM~!0k>?9b<;dq}H>wp20OL@Lo=E<5V2DgL`R%m<$B`|3MhcjT z0i7bn=dcbBLdNn?j8AtWg>hhBMC2rpqHxZnkPR84r@*+FjX9u$_iJLkiJZHvz`f8}D< zmhbhs!5)BWYyI>t;&yM>y-vUL{a|YUEbaaA{Qc?e#I@};Yievm@9O#XtgWgF`TRWV z4tTVGvtvzwpTPjDt*fJ)urY1pVD1fooR;jGrjVtMJmzY^wKn8BX~@m}(zSGY@VRA; zV(=j1_B>+awWK8((ZGr+BINqr87ffv>fX}ZV(%`Rvue!Q;cCw8xptY#*H(zCYuU%$ z^Oe)$+PTKSTUVg!&bQF!G1<(=*Y~|q&)3y*Z*9ywzw42)#sA#L*Im${y`=TdEwAXE z=iO+`F<~exC@rKZdEdjgxx;mB-_fBj?e@&#*5j0GWidWM;ZTy6i2J(Qz#t@ZH9KT& zVCjc%CF0fk+ur3zrl}#mDqDN*ZJfCJurVe#TN1#v7nRn9cj8H^^`VdY$yyhH3sAMR zsBT&D+Wh8VL8k>JzRDY=bT{K-$#uPBahWQcog8xR^U}U)jZKu5!1u}Hg;CnblK3tYg_v5hQWwh7gOfe7T@GV z$z$csk87jXM=yt#x4SK(+WQoq8y1$wH=ml8tPjeSWmY1 zt!|nGwkDSrU9yXfCJ!oQQ)L+JlgmQymsL$p<5+-axi?1rI@dU^6haz=cRZql_mY8-i8T*juWT7;fpfwZj{;P7$Bv;{a>f^d5I=mgX z_^?{krp?fGT1>`9gNK7%P20vPuBo)sq9*e*HB)-7LnfC8LP^_IgGjpy2ICf7h_8kV5u48GLug6~Qu;7XqsKqTx_q=93_+`w+?IvaBwGjL zE=RQmop{g!TMTXV^N{J+0SOW5W$^36-NEYq9AyW;eKA_n2!f=d3hba+1$Gdh0y|=X z9o3S}kaquuz+Z%E0(niv>!R5GJ?LN2zX!QZ*nr{}7XL=6{|)~K%HIe49p!&lfy2=R zY4<&M6^vVU#ugMG%AyGbDKH2K#_hgtnKtQ%kpzs)Ss@Ed0X zj2mJ0H_qP&{LOQOs)FICbB?I1p0 z^S%s13{7LV;6o=280u3~w1!E$h&P6Hj}Alk(tbJt_$;1fF;is|I|ao;0E9@ZEyMT2 zm$Q)l{fyDxd-O;=X(6{UpG_BTm!~t{7O(e1tJ!0#JC2H>Judhn*D+-5w+FXJm{SMO zpRel~otXR?ZJWFbbYB}E7^Ok z^+92vsp99zEI`K*`24z-N;v7emKtq*7UO<)Ni_Sq{X$f4Sk$fh|-)l~$n^`)v91vJw@qTUnJ66KVvy zm816Wbp|evRvBQE&` zXIj)<8*#rxl3L*zX+P{yaj_N0O5#-vta3n%6$#TnMJ2jqtmrNTL1p|=F+Qpku3gOj zLS1M^P_9Sy{}J{M(3Ndlw{UFRw(SZk){br4sHkGwwr$%^#j4m&#Z^fKZ`V2Z-uIpR zzxV#OTUJ_H+v%hCKG&Li%(3=dfJh>v=I~^O_e6cYCU^G!8+HriD;4~? zQL_TCV$T$D8?Pe!MScJN-A${kqgyyCwj>MoovHgb)~T>UKYGXn3AtOg zui)aF@7$|wx-VjYtrd^6_HHs?=Y%$FhV9Gjv^<^?_~Y^U zRzrPIeZhuP^~rsKnhcqh>Lfx)RByuG!x(e2V`udtYajbAUy;)LbTo%%MQP*5X^$Tl zYbhB~GkUj{2JD8QUwG&O$_`Qn7jK(uoOst%15@owOyq)q`@ovk+@ORmj~JI@YjGtq z9BEBSj||T2Nq46gz*s7o^qUT&xI>qVCD*fM(IxZ?bX&=%OcXg_&RYs~J5uJgLu z_Xy$)-hVgiWwvNC;(>j3Yb+S@ipw$oI{C@MO<{piF|FX>dhHHLH2^Syf4)kM0 zUbhhcJn8hVN1dDF!J|6i?AOhjVP9%fva@rcnDpsDrWw`s?NMjh$cu~i_~XqNa5>7W zl*F22Rk7kdCKp1XT%`6++soz^GfJD2f+?}onbIy>p7iDwi-C>%`$l8u?HneSs-O05 zv4`VvX*+4~gfp%d%bTC{jW#iA&y>oJh-xywml1K=g|0r7Z)nH8`*@g@6pAWfYcA&$ zrFJ!0PZHNz`cCqz?Bt}P=VTH+>RiuP()yjxkCt_7$HnSg%zG|8Sih;GLGrqu9icUK zHcz^lEMEOvBN9=|=~9hmnjmT?t-Gv{xyJ~!Z7Zk}LXs(_x{5w3eTxvk$yj@o8E zJ41urzf&O$RFXHi#wPyK;l{!1`0n&Q;EcW3-hHA~=$oxdiUv~Hx}(cu$${;7=biEx zp+|Qbpixxcv*IGggLq2TL&aC8<0(f*>s9LYqlO~hS!B7`Sx=j!{h%ew>G_s8_#l#!xCE%5P0iB@z%D4VzY1A9VG zVQiiKepfMfO8G-RPKq`!J^WkQQ;LI^XZPM6M9d-&^0URaN%nU_rw3!H3#o1KucL0KS5x?6=4Qw`Wq_PiM7@(3DA!n!s5G&qpy z_x5bcOVku*%8m!55y*X2U>zWxUjt)~YR=4|K)uXG=jCB(@z)tGzgavxZQPsOmS{+< zsC(jp!DLm&Ug89z)Omx2=Qi(pLgrniv3_}V2@5@3q=m}5I&jwUz&?)$G>p#Rnr>$M>}QdS2vX^&+61p2RazZqmnzky zEc4-hKSCC}dM#b}M*G#&=(6{RneX&Qg3FUn&giAidYM&%rOCgOrUN za{PqMZMY1#npN|q$E%mO4si~$J9%5!h?=qQuq{y*sh`gM>UNje^D<{n9kTxf@&@{~ zC9H1$4xhV|vgLb` zUFi?KctT>N<8>{sOB&KHC!?{H{tY7(-!}Rca9Vc7%9ltCMJbLp{sXP7Fsr4j)qJi)JdtqKo#V^9 zo0Qu z(fe{+E{Ft2e(FVht7p%a_!@B&-+A1+DAo9jA#O{sH#kCTj7U58+wrn5MhH1oox6+V z-nJ$mkXsD(?zSm=oclr#?#Q;QfXNT2)qKFmX4XXiPji4)UwIdI_SH~NfVU`;mfg}{ zQd1or{*wB$bhVo=dPthX=+2t?3&wR!$&m2wb~MChmMzyJpp*OBabF(%$==aT@%PEL z$AGQi&;NgR0FJ2pyf2&1obB9L$lw9q2k`CO>u^drt`20YdB`$_+^h11e%JB>xi9(? zOj-E-e|>=(l(pRj~JKL7PoqKT~$NrwJNejU$D}GVjoIsFJVGE z8t_$qjoRG<1V#sh^vdhjv>H%XB&UIBz~HTQFi|{0ol9C#X+}-NW;8@?vp`M1%b3@L zuCIlzpW%~gNywXz|BX$)=X8+2X@P%;fW;N5`KkmIhY?(KS*J>_Kj(3UrqLnI+veU7 zxZcG;y;(VRF^N(T5@mCk0(_!)3T;~{Zd32q5yYkKZlUVtd@f$)Q`Y9r=E(Az4{0+m zX$$2wJSDK)&;e)Bh6=50Q_oNkxTsO0Ko4t6?Ww+1-PvE9jThT*R6+Kf+^gX{tHHcU zovnd$sDX8m7Yu8QMc6_-0V&gW-K)_$t1&{t;e-DEv;q>H8c=XvqgE<8>t%z{F~3)1 z#%v?t((&toor1aZa!K^Nn}?0Omkn_5l*-7Uj?JJ>l7e(C`JTrR?Mwx>o`;RPmrXi& z=(m8@9!`)VGsAK(o0RqKrfod&$}b)^>r;3N!%Vkijks3ZW@SW;<3l<&4_z$++jkib zK#F@c6Be4Q2|_)42vLHJ)F~^q9?)|+j#!-Y%HohEt7|jS`IN}E}yzvF3n<2 zQn2%ULrrVaa=fG>ksWHJ9cujBe8>!d6g_P2U=Q4igB*DF1Re|F9cE-45MBD`c;{N% zpbVQ45NI8)erzn8q@=m?)Lmzrp(pk8it@duF5VL3F{_@;ExtP7WroRG<;r%%a9_MJ z*?Ir0*M7@H+W!4JZN!gjgV-DvWnnZ8RxkTXJ?e7e)Rp1WN3#C->(P*X9xp*Pk;VwA z)uz$8vhQiZI&7g<6s9C?!Bdi|P66kG-G1RD)Smo{7?fBZum5#{iBPmAQ z84<~K@SxPa$jc97S{-2q@9DL|?0&s2)l!jMW6*j+5d40soxze6pWJi6nOpL54#|}T zv#1-jXeEC`w}T!OL>kgk*(9S+{IlK9$17SEWxB^K6(g}K+cf|v0n9rizz9Qe2qE+V z`Ha}Lf3&4og%kutl$~W5V{s1gfTnY8aQXG|RTt76iFfz0+&+fHvi`JTFboPA2w}Yw*SVw;4^VAonfZ$n`kUp{??7!8K`71c8}?U=A)cHAcQ8?8yF*s}s9pdEBzBxn)jGXxCk zS^=!%EY23a`c=9m`#v9So|gDcpSs%w@)4`T*k}4;Xw+=Rmzz69FMG zAP6)4C@Km=JlSGNQ8m?G=SQ*b)M6kI)&;yV&N%eK+vedQByGfpouUxr+b9Dtq+sZx z5c(`xv$EFead5tYVsxwlDnLEOMg}B9KTIig9 z#j-Lmc8}s<#w0`GCTaI@#QSePGNKU1RIW@q+K>|OEr_Inv2sSeC;^{TaM;^JaHCNI zM&c0o41Z`ZRG@(R7vSO;pIZ?~=<~Gy88F}f^MC;e$$pL9IXynz0qef$o3FsEfJfiu zOXuk|SpYo*bYltv3PJv}uVMT<{l0bIE4hmATYD;`(|}QYIMgJ55**@WR#F7|q)yWB zC*et=L6GARP&$DhLjgnnc>}1#@AOE&$3}+IW;bSZ2E*=CH@uq^ocTDqn>l*hIeNOK zCc{ExVao4!ZwvzXh<_MlkmF;bv8W}FMPI%~FVT*-kwq-xr>HV^q;))#yp8D|H;zSP z4#=(1X`hLHjw#8Rs5u_a(|li$_ctSacX&9NWB{*$f`r=^P{O zG$IhEgx7zf@$tR)Le=;CJ`|h2n)fD!tl!6~{~RNDut)+Up>aYZyQAw?3RRakbn&;a z)t%neAHXY^PV1&oa_=!~707gv=xMn7y;>HjZU?8%4^P2dB!b~e&0bMCt2dE1gVA6j ze>k+xRAKTWtp%ozSl^Fazwb5K(kH>nD8tIPfHkxilMe4h)@ta&VemguI#-ED_b4)x z89dgDZeC_C#68}|*gk*O|0p>}>GnvRgxmaN& zck|0zBG%p`5O4S*Ee|b*nT?TweTJE1bgu1l!k~|voW~o`we+l>jI5iNjh`G!wi3>eu`a z(koJ+8Zk`1gdnPf#$H0-61V-ze)DG+f6%R5TxKl6>z4Le$+xn+cdSe;4djF3ST^hL zxxBUTsHey^f6WEKpvf1OCq%DwJX2I}57tfXL2$-BWE(eo)7=}vF^rRe{mjyYU5YYI zlD^*Y>IR~m6YuyC%OS?@GE5n6{s;n|5o!sAfkT<;)T=F_MS@kR^~4r#jxs}%`REdY zZQ}o_au{}gT0i|WN06oY$=xcbl-uXQdHw~InQ7EClFVgr1XH|1Tt&lV%TW!3^@8d; zgn0&UTru`P7%v@zQLOz$n2jNp=FD=WnIarbF3%Sr#eAfDr-WAF=Evc(C^P4vP;7|v z2sA7*90&9Y*NUmsVU|D!H8_4-wN%k&Wax`1Q?dWn*5*Ig zBx>Zn!LHQK>(8UN$pP<~(bmEJ&imqT!baPIq*p7KM$fdh;nB4HV}ZB9TeHSjzU$%b zZE9aA>k7Ha)JfXGDud-?-M(c!HySXuaIbI{GHoDu`IIpAha5q>5p1w;?Ke%_}U7047bWO;Y9gQn%YiNKET}xw`E2@xC21 z^F^%XQ#@GS5gnx8VN0^xu81Q%cBX_Qyc>_gS4Wj_6|aGPTVe`qiZ;~zfMYr~f@|Ma zTM7|3&|ryE`_oV-3|4UcRy6&XxMF~36@14rEwebLhT`^MNU75HXUv+-#(fk;{cleq zo+6(3pm;QOWQ%*(7E=;v$=Je{!FLi)gDC6k!*`Nb1>JbW(m8kPX+~2j`jL3H`Q0J# z@Hu-M~_7`1gy^mHuOi!Kc&u- z+d9K#a_^K?6+w>}buICZ7)|THG13!(9v#^dCu1l7QE^AdM)Ge0xody7x)UjHkC0{O{fCH$tHNfc2a~HQ(CdgLFw0{`I#18Mw zUHJo_ZPrFIhDiMl$0by9eLVgG@FUDhpYL#d-f!cg^-zpLNs1MwWc`d*4e1KqliKO` zK1ibS6oxC#`*a49*|8i9JBqnfqkCi%fv9ufWTJI3L5T2B#GG<~1VcvwW^&^NTFhF! zNO6Ev5v1lDj$4x%UdmE)`gutZQbFi#XEo=#4?p8_GYbNW4G+muqUO;39fH|6i*Qa9 z8>u__C>KJ}My;tt8;Yq=%|ECO5)6!Wn9YqB#(z+&12q4II)ax{eEt_|LukUlLZ-k& z4wj8J4pcZN0gAPB^IjLc!E z7t=~OBJMC=IH$J%a-0&kPPGy(bYO)(-zka>4qX5zrfMhS3Wv~txGGtU6;wBYH$WL9 zO2-g8)tX2_l4?1}fQbXeplZ{tgr|IN2vm31t476V`=h8Cq>8x6zE!hGc^poq$90Z$ zg{8Nzq4Y_kY$Ova6x0|II#?UchKFvLHyLxEWJS1|v;shVJJE*Q^22n3Q|3aXdQZ&K z^BZ0PnZEkmWNj3uu_zQUcnp@|qsh_?mW`?mi*aQd65lXhsEncf@}zwf=L|CVFdh<2 z3&o1#5|(Gp9^!(Z zt=fst4bPV#9%z;d!`N=tiZqqOnTcVnqZ&;0yU@$GmEa!1%1_A8Es`#JBZHMpHC$gA z9yWc()KijOVYP}n#bQXGFB8{2#C=}PLu;Ih5(SZd9%dpe_+=;AZ05Gjy@S)%3)g1m zOL9qRp<^_&c;mt{68uT_npH7)SykDnMG=7+SiC5uxAH@Le<6uTatlmkd0#HNlrfZ$ zDTR_zYycIWG`htB3DPrlI-;1;0eOYW$a$oxXQh-<0)i^5H?BNkod-d*tTQp+a#X&m z9s;I|a!Ri%!ep|wQUkR(CM*M-vba`Me&kD)v_GBsji>}B<}prrVS*}aw8cTj?56?S z{K!A^7oGa5=!A-Rq!&$oXqQjIxK8B$kuS~{gzg_TA{MQY@qsKv1VL?uBAr6gXer%Fdu{g(y0^*{>} z;IaN#Fw+&8^i1-w7PVXMg_`W8p)``c)D=kwWwx!R+CcrYwy;xt{tG7MUwjWB{~&L5 zMc%m}sLo4O^5BOQg};SD+XSu)V{!^6@~KsS6H6c2|BEsi*gq-rq|ch$>W^d^aw&?(#8D_<@(NlM{E9SN;A0nyH8$a8 zk|fT~#G-C~wVSHfcweC`r}H~d?pAH~6hWI@7QnH9cD|Bgw04eGI)t1*B(`usEIU6G ziTT967P4Qwp`;^hk7ZAxq~4!V7-fVthbOhUX;6IA9)gX6!98kI`@T=>U-tE88u{ba z8B~K%cHB)JaY_d48vQaa1w(fp1e64ySV&fxj{cPGHRFt6a@rNenq(=NdMSo_D4)YS zxl)yUp;Oh_Ea1tkkrtkVIZaS&&EK-uR1h4+jxXWuo76g0bWZwP15_|R4EKuw9Srwp z;fsbJhV}gh7BN5F;HKlms z9VhS8ktD$DOqHDAqD9D-YlJV9GwdM0r%9XA&vol=Ya4+VT3J6M2oIi#scWNCW_zH8 zD2;C!#54t7QjuD_C#e>0?{n&LHBtiJ~><@_+`^j@anv%etjfr{h=Kd>~UBmNV zF%u@X3Z@T{V4=|fo(to^g$5<dTs!mdloe ztVy!BrXm@oI=Dx5aEFE@w4(uS4qvo}4;xl=mm#Y4jDUtjk$q=M`=^k*9yM9sk3-?S z2h+@y0xy~WHA9yNY-Z|c5S5E06FzJfgd!WDs==-_7%{jOSGM^E2{h}Q*(u_eY0^Cq z+IUAVq+CZV;8WaZp&8;GFDo3Rv*5$hqNikeUVZXNumSgfhb5~J)k?tlD=c5eLB)?0 z20GsWR;grVOiR5==Stzxep|OrF82B`WhE zA!EL$R@w`jPhHcEOw$peiG2m4qQ-?i73IWEL5q(*y&-g36K;NCg?3}uwGxDHZ_qIC zuEg8mj8+QLRL$<@Je;cvy&#dyHtyN)WCG%oKXuRpaaogHJ`%DjeynwmIYQa`ck{H* z{(BFxr}5--j=qu)FO6hmNZ~vr`~KmgZDdFV_@k5+Yp5B(^>nL4v=Go zU-y)Uac`lAiBbIWIRbwLf!>DEAZ^9JkrGyw3+yBBT7(NV%hetS&G(!9-a!(It6T_Y zu|W0f&u+2!M)vOiD+rNC{1x;TdXY8q7ck2E=Gv{TfJxd9(~hlhAz&b(zXJ(Gq<*`F zHr4$Md~X>4FmWfI-%SzCw1yrJ^V0JIX}FMo9_hOwL`No+2#c{r2&EKA)GzRTOsrGg-G5F`6N*NKuYF_Kf@0>jxy;EJ9h#9u0{1@G4ZV!BNhnwCCbI)|K~sd zynC+XmncqHlI5Uo`KQs(F~7in;qD_dCRG7%gUCesdA zj~8-dH2cW;7~e?=h6h*(9D$zw4=LmUzlLD`c1-xSpz0QyI&0)49ux_EJwY-lR{t#R9SNS7}g|G-HTluu^g9T0!l|Oj&pIUqZ zeg(z-N6GvzQDD(aI-h6u1}Ioa^mPEn88hzB60Yy7FOgaas?nd(;I*0kBj*+x-w`+( z`^cpxKskzVZzxE|O^FH~n)clL$o-uA$mY|`K*07j-)F0qjiw-^v-Peat0SHvk9giK zKsKpD>Y=4ZtSc^7m%m4LmRZn{Ux-$#!F$6jVySsbJ7wZGK7*DF1kNj}(!>WZ+wzVC z$bL%_wqSB9C;}V8rbyOVqTe^o9=Z$h+Nn2Y;}3O&;&zrz$Z(*b7&zaR;jIz(Se~4f z@`VEhAib!&aU`_*emy8}*N+Mb_Qij3W89?~QfeJmdfK00G1RCItwPYi zt!-p*tlkPEoQ?VV`e_+b~hS39*Ju6QU{`o(h>|-kwh$32-?T+=mU?4Ouz=hb|nE5UYscW!d>U+c< z$CouLqTecGIrsl(uup(8-i!G`tI$Q;ki}^gMeKjkS&!ISBaB`9;p17Ig9C60%Q;rM zlpkaFW$CxNu3g-O!rJBdVnwpYvB4f632>1vxW_Nc$RFqZBL&fKaasuy=|4a@1D5-7 zvg!~#GjGnBTYJMr%fRtpl$oa4mvY;FL%h#7!q#xXO?Ez?sb ztsh7Xp{#?M|JL;~2HK1sEc@7(cP8Ot7Wz^X3LU{Qv+IJREdY{dMh{PlXXXi^xO~w^ z6I!T;P>vFwcEdu@!1YV7%$CWw(jBgECQLUci~3F~@#Crn8IXY6#HEmCtug@3;f%4| zrq8`ujf*R*%YsUq{s8PUeqD93q;l+|dj}b}v$hFbejweD_S)M6@#2qfMEomo1OU>d zIcABcdjCNTfxr?Us0As`Lbb-DU{gDfsiF~TEs>TIXm4kv3%6{*uAP_h$oy+8jCvxH}>PGCJu&tQjvyx>~*eDIi(=GlBJ;}n-Qfy z%TPxf1xy2|p<03+)I}Ksw2kw$_osWF({tvry&|lT7`G5PPm>OD2_eQ1Y8K>-HrjL>{pLw?k&vIAUXY!< zgu|c$ppilR%uB0lneD7h!yZqLsBiC?rUZaX`Eai33Ry8rMo)O61RjnHvLEDlaYvHE z2?fVjM*^J5sahgdspwKU<7M~BYeRga2UibKA>`?QN66(dfI z@FoQ5@ z)S`ydps?Wu0B^zo5BGC0UZto!N(4f|DU+1(r0te%0w zO9)oT_padBw`*xCsH3S&xWC=-i%88w1hP&t&xmwaXCAB34_}NLy(*_Wu=mm z^e;|a>|V|OyfoC#@ix>&lJFq&x${HFL*Y5>F(dW1iU9K>M~ntYrWJA#URF_FTH0D| zAf+YEkiRL3i4mY^0K{BzagW4`zrq3!o;1{N%7A^ECo(RLiM|NnS)$3ir=NUT(5eXN zEX;;@A1AJd{nUg;@=q36DM>(Qj>P`sj58W^0d~DhK_gBo;-oaev;}*s^Pm?64YeID zwNQ=wZ@i8}$B0g`MEPvEh+uWHfGKO~3Kf$zv6L=8SA<*P(gc2&^{h|qUsrwXbH8YL zgc2O}N*8MQfL!&OpDEt2B(#dK>^jkTic=}K1#Xv9sD;cbJp+CLZ;^E5w5w9myZLhZ z{)+nXjuYk2EzHE^gjVH6mT-yN z_>Y84$}+c>!p6hoLPd;mtG&tIOte-ZH9Z8}UQgBAD}0jeV?UQFBxCypF%FmVMr zin0)k@r1>!1yPbRk}??y5rA9pP+xCULP-wM)xcCcy&x zu-TDx+=}=2M)=mqh?Ms+Nb_inb(Wdkm4r zX@48Cj_`+13J~EhLrPP@fqbM_vx3>(1!6Mh*2J8(f#by6BTbLw4Ch>F3Uo>GZi3}b zMkc3$3j=@L>P~7gG0=5d(%L`!{cD$3HEBth>{3TLJX2<0e0)?RRp#~PH);g3E9bZF zwCVYI5cbpp{#RmVLf~9$8z~pQ#GovYk@u))slA|ool6(3rlpWW<0ssYg)qfwwg$ub312Rtz{RNtVv($A`xbHe#jK#d~tKWi@3}~Yy6<~M7KWWN2+@O!}8kj%3wU9fc2Wv zn$W_+3ZAwkV#-zpSNz+pFj8Zyq||mSEFV^|NrOXqUm|8Zn6>_Gc>QR$ZxFuH*6OJ8!x}VxTtW;E4P#{A1MaFYpASZSzYo)rX zO~ntfkfi6T0jjapDEdaW_ZxAU3$>tKuH2bY!UlrxtcpL!El%wt^l;*ogyp~`$7jybT?w%ch zXkPNZb-UlA8kvIdM}=99wrgF4_1S^iAkQ^JMLlw|cSl9krVi|;qog8Zd|#?VFqJCJd>UX+L?yU&@cG!I z3^04EW+WRT_!z9~%SSSil{<}%>!0TJ1%w*pKvN*ke$J7pGH+o$Zkfr{5yBTfIi10hw-v-tx{O-Y-Urvq+ z8KabfqU82uO-r7DsU_B^rmJUIQCOJ-(TE5dr1USiHj!(d^?v1feJ4DKE&rE3%hesw ze{Qcl)jm=I0k)uO1^)bL`ubNJy)S0QD*xkxkC_{=9%4ZNne*-)JWNzMFpXyYoXCbl z*p)2OitI>0$=U+k3^nuelU<7or|W@=^o+D(+YfJsX;-@7&whJ0DE0mP%Oz9dA7NW2 zqckx5Ffmw}mvG5f8^!vSkS|D|!()cYj4Rk0rB6_Rk4m1vjm{?^T+<|&$450jr?w9k z%Gm-GI+2y@TVd9|*3u9y#N4*g@WjdtvQIXF;;(pKi%6m}&P>k7wQd$NoYRa6R`l=oxy+4$q(jZnMo3qvE77#&^vkA6HyhCy)FVxL2P;+LMO zP!rmiXB5dm^qmaUqs>-k?L~8%cJrm+u_J|x6dVsX@()eAF4hNdWW^u6xacfN%{ek_D6%b; zP)sU=Ze_9zrPHbyP9tNZGs{8Ost3N&&9&{hLtaf+IA{bel{M%Egz%mP>DZ5!BBMExOW6AAD_@s?{+)t*EP$w&mB2C+uK+iLcX}YFB@Yv_)x;; zdRk1h^5CY!?qo(^$Qv<59*W;iFmf{)L=>I_Sv8A+{eVFE)W+JyQ%Gf{CUQ{{6TUE> zLv2~lV3}htJ%?mD-Us*H_}zu|qouviV7f0)&|VH9;&t|p3QanqdJ><-lRtjT>Mm8N zRex92(D85}^-vJVgd8XmV(btG?Zm(&*R2OAl^0g9`UvK}bNoukPS^Frk zKXVry2ngoCPf1rxGdnZpzmBYbbvVHVpJ(s{V_vf&olDSo+jwNi?R)+QR) zET&^iqeOB>(TjNH)bDS!RX+rG**a8TBMg7J@Rn&$*ot&&fJ3_;Nu%U^JR<*{5_*j6 zS-_{yK>23*B8&+1ces<>+mrT@vL_=-Y(b+62+3_RSWID&1#)q zJ6s(MwkM2K`)pl*>k%BPE^SIXV;E_l82I5-2dWtn#$7^;EK(43;tF|*b;l-yC(3WE zn}V?KD_iq08!!kMC2m(>ATIAj3B)=nR@E@fs-$z_Ir!T!)BVPDLS^0w05`2Cn5u1H}E276={l zCX98$+gUx!XytIX`TTvXlUlU;_R5;7$#s&>l3?r&()B zvAI~2OrkPPrz>CQ3W^Q&yh=y+tF-(7I!b3ULhC@ zK`3Plc~b9{8XNMyAKn?4pxO9&Ysh4kAllk|5Y7ctsV7u!0;X`-y^_@2E9?Br znvi7Ui;m5ZOyyQ>bP#;8+~>kNzUKUb@12C96g&_FPgU$IE-R0 z4506`{+=AI89~5~g9IiqLao`}#e`5She_Wuly1{FTtt$uyPe1QmCm62q4V?&BQ+HX zoAcqPBp)$`&Qiq6^5k(yLE-&ZmHpJ@?hd-8r4{NDiK{!S3Z)1f1*tfhgLJRMUsnca zs4>NZayc)D849UVwDL`OR@6;sXoux2@{rF0*|W~k8qV27sGV~nV_IqTz9sIhMdd6N zX>&iD3v0S*z7GaEly60@aAUdd2L-jZY?pH}7!Kvz#T*h!`aXhn5Np(+CN}J}+72wt zTVFzs{Y4D9bOL41lH+qLi-e~!U5gus30;>f8OnxR4mb-1dMkK|+qn`SU-}fdmfL&3X+Xs+ zn;P@YF<7ea4~KG>z0Xo$*x%p)^nKf6uItg^M+)8p`FHbpdRK(snaUcoH?AM- zxT^@qB{`{0V082WI1rUQ&5V=5vSwZIy0$+vx);+`lhr{Q(`ms$KEK@viTfnT#tk_(ys{#lELCEX(Y2^F{8cw5!J z(VyP|u-;j<=K{vXS-rZl*Z$GhgSN7BRH3L+;F}n>>ou=N=Y*mo#Av6mKb@yo>?PNx zh7T!z-A8l`PNSPIc<2eoo<%}m)XP_gd>T8=k7A(aUrmLr)3iW@j8qb%tyQzMZ5{RV z2bs0v=xJfob1E6C4e!q#+v=QPGWzhAP|_uY=dayTDki1AsQQ4O;VCK3_-C_pK2Str z8CdRl7=YCNiLpSuXhiOCke#}W0CENUvLsBLmzHz11(Mb9jtIGbj;JVEaiP)EV#Vc= z>4{Y1+8nEm9q$Tm*q$&hyGEKxtd?uWQ3ahj(hdc)AvIJ6d8{c71p-lyxG{5Rt3iiC zTJt(94Z z2K>N-0%ou1z~3frF0KxCns&C#R<34te|_xLL^r?QGp++r$ ztCfEF4wcxQSZw^U9p1O=@x^iM*iQZ(jF^KD&?YYJ;t1z`B>^D*d4DW?j}mebA_ARV zi(;u_A*too?g2@v0FF&JF@bTQ%ZjxGp&kro;aGuqS`!ZYHtvYi9Ee^y5*THxk?Kv= z!ht8rd~8M8x9+D-h@*)5!c+^zV{}!+n7c(8Qr8ZbW$GNfy#8Oh1SgM{dw_bVfx3wP zq3iGNu>Vo_S8Ldq*#=;KjsmsYqd?khS!rfLQ=s{T2Dbj$k+dp)wl%y2y;D|dySGpU z9G7jI@Z+b8ogZ>ly9ia>e0gbQivOwOgA>=e#hRae3Q4O|Gra`MIcV|Abkd=P z+XyicGTaW9GKZQ8Mid6MbduDmU|vlolU%pPYh#PKtj_m^=RVRdY83(r@_QrOVjLpa z?FOgJ?jXWW8~<@;y5=r46P~cg^ahT|fn(e?saceFb$K#dIsVls&f>)X|VW{zQ(@Ouy?+6c*hU6I!x~ z6Ao3iUbn38I4t=OEa0wE=T|jur%W@Y&lfHWb8PF^r?Tnl9CrJ9T6qdeEsT9ms3gsR zmn)x;?b^eLn(dMB52WtM3yKHBUjo~#-W-i(lhD8JQ^|h)*D5W3E-b9o}~zz$@gh*PEckZKMbc7q06dow6NKhGW_3m4o-6 zX{S_|Kb2wE(a^rlwfhNMeeAu*&HhH+Sb#*Mt1F|?kmD!=HJjSKGJZow^Eamz&Ask<(m zI=o^x5+1Ik6VoOHrEcR;!ih?8ACgLwh(kkh{&I9hyFG?eV0UOrub-*3CmX!Brhgsur%D)*#*(7U>DlUTQ zM?_9}_;v)%jY}!##KbkX>_~Jj-W@zeGIDP>*6-Fm3Qw3vpr{%wVn%X*19)6@KSZOh zezzE3IQ}&5qG~va8Hptdz(?qjmNcfGy%VlX>DyIJtL>HcSbZ3TwdtALyY9J>(-({B zx%s>UJ)ozdH+mT2EzS&OpM%Nwy$8K_AOeNM9Sou0^ju!MIe#P-g<_WO?f!?~`v+1p zafER=Pf~?CXH3Hj)~!!IJb>*~%<9D)jJ+bS0aG;+nC*r*eW5zoJieOFQYc*a`5xo+ zLt)MY>(kB*-(8Cy_ivb9C@O=V;~FQZVw=HTGuQ0VpaeluVET^X!z_9e&su$H1PH^KS2T zVB1kwpKoGeSc{9b)Gxq(Sqt@aJ@$lpyxM;~T`z*jz%ta0x7Lr~Vq;i<3uSF6%0A5- zvQGU`u>Ar5&l#(5e8r*%5(Ffe1Ox;dIAZ}DcmFj_0asqY>(k!I%9hF6(ahpX-Nq4J z4MVWYo14~d28D(Z1A4HFt-qM@Gd&oW)%Vh5u42YIr%>r6dGt&wqc4l8fSiOEkjF3q zpN|F%Ro84M#rZ%!WpQCiXcTx1oKZ6CTTTHC1Mu6;tzuZk-~@wjms{&^z1jC$F0;Je zC-#M7g$6@&cWB z9nw4S4AFrc4de#& zi)J#YtHqrD979;b#SgJuQscn!ndH@~?({pp6lOIJP5`}gX4Jryi)VZrX`XtTX`RBp zHPYlb4Q62A>6a`^W&-2!3uGASv+d!pQAMmM5p~>9KU^ycyg-eSYPP6Tc}=>9t{TlxyKdl(*nWgZhUD?7g zI*xMu-b%#uhB`>dyMuj#<0M8B_}mcl1pkaRMgqkrvSW$XNK^|uIhQ%g?=s6ghk+>7F(ZePUb-XAZS3*0K_k)d5HKQyf?FuT zQ-)yF$$^lp2xMN}yI~;O5D##cx9nep!M{VT@?rp6p+`0b2|3oG7ZC^@cTH2sPyw2Oyfsk3jrI18djha)$+F5{yC3SF1%KzGQ zt%bEwhqCOl{@uKjd@tu-*1wOl^!RV7<_T|a{@rl<0XY)cGg4M~95GIjEaFXV(|jRm`{CZC>)z{* z@}K@7`To^|?3KHK7hf%mTmwQy{+Nh(;ZIfmqlN99au7Z zmG+gVuTE+9KVLq(X`fTgt#!9b-${oksH~jydd|8xR=dJqzEL}>-Uz&>*vK|x?ZOXP z7vtYg_N`3&oD(cqw~A%5?TdMaXP%O_#XNN;- z`YbbkbI*%p7vA<%u;IFD!)+Nk)@!-*%&?Ogz6PEs$%ger?uwA;j^Br3< zSGQ(Sk6?uIVab^<t1MBYen=^QT9c~~(oA@dCL3-+WZ z?Y*aUFY(4dxzry&b>jB4!_TI0PJ4S-c~1K|-!tolZ?`W=OY4=HYMc3K%ADQH&h4qb z_NM7j^_rvGCS5YBt}OL^`$+Xi)m^!R(eFR6pYp^bxcKy|YwdD%PcCkKEmvLhc-iuK zbpRen;yZ8Czz1rXQf8U%w9RF3uvTDuu ziu*6~&(-|C`~7cvy+!@QN9*^;{`%W*|9?@b;Q`($b{VlZSlU!ul&hk|51R!yPWQYOzrIlbj)!Ba23k`4UJn%JZ=7Bpfd{u_6EJ7gc=&B!Fe3>qHi0Pejsk60VD zbmCNC3-uIm%nj7-fPn^}7z0DJGjK3CHLoN-q_QBjI2P18LpPvO&D-GzQ0YD3I5Ia( zH;`^%JO(rZ(#8ij?a?)Mv~dS#0+n0@Y7|7#_#7w#uX~d7i@+n%=-R*BzAgS5s6B^; zfk6O8dp%GDu064!0Gq2Tl2-hm3RD*g3<*@rX8;2NJaYgvqBIxicWm188l;7cfR>*I z8X<#Xc?>WNz}g``M>Yg&DD!kdq~emwoK*01C3+a3A1Dda z-@w>lgQ6Mjcu90~(C0}J=6o!KnS(Tmg03BX;sv4oekoKt+B6Kh3Fs3M2onU$p(dbA zOQ7pVA2mkkUs4Ixk3NQsZUlP&8)3xU2CThtbOX>kx(EYG8<7pb*6l?%3%&1%Fe|SK z*(}taB)Tc+T`hzutql=7BJ?Y?BV{qv)?t7*D=-Iva+M%MA~1Uh^@4Z+ DxkaJk literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/bqe/scoring/follow_graph_features.sql b/src/scala/com/twitter/interaction_graph/bqe/scoring/follow_graph_features.sql deleted file mode 100644 index ace7e2f36..000000000 --- a/src/scala/com/twitter/interaction_graph/bqe/scoring/follow_graph_features.sql +++ /dev/null @@ -1,28 +0,0 @@ -DECLARE date_latest_tweet, date_latest_follows DATE; -SET date_latest_tweet = ( - SELECT PARSE_DATE('%Y%m%d', SUBSTRING(MAX(partition_id), 1, 8)) AS partition_id - FROM `twttr-bq-tweetsource-pub-prod.user.INFORMATION_SCHEMA.PARTITIONS` - WHERE partition_id IS NOT NULL AND partition_id != '__NULL__' AND table_name="public_tweets"); -SET date_latest_follows = ( - SELECT PARSE_DATE('%Y%m%d', MAX(partition_id)) AS partition_id - FROM `twttr-recos-ml-prod.user_events.INFORMATION_SCHEMA.PARTITIONS` - WHERE partition_id IS NOT NULL AND partition_id != '__NULL__' AND table_name="valid_user_follows"); - --- tweet count candidate features -CREATE OR REPLACE TABLE `twttr-recos-ml-prod.realgraph.tweeting_follows` -PARTITION BY ds -AS -WITH tweet_count AS ( - SELECT userId, COUNT(userId) AS num_tweets - FROM `twttr-bq-tweetsource-pub-prod.user.public_tweets` - WHERE DATE(ts) BETWEEN DATE_SUB(date_latest_tweet, INTERVAL 3 DAY) AND date_latest_tweet - GROUP BY 1 -), all_follows AS ( - SELECT F.sourceId AS source_id, F.destinationId AS destination_id, COALESCE(T.num_tweets,0) AS num_tweets, - ROW_NUMBER() OVER (PARTITION BY F.sourceId ORDER BY T.num_tweets DESC) AS rn - FROM `twttr-recos-ml-prod.user_events.valid_user_follows` F - LEFT JOIN tweet_count T - ON F.destinationId=T.userId - WHERE DATE(F._PARTITIONTIME) = date_latest_follows -) SELECT *, date_latest_tweet AS ds FROM all_follows WHERE rn <= 2000 -; diff --git a/src/scala/com/twitter/interaction_graph/bqe/scoring/scoring.docx b/src/scala/com/twitter/interaction_graph/bqe/scoring/scoring.docx new file mode 100644 index 0000000000000000000000000000000000000000..9a148c11689034e91b00fccb864deeb37e56ad40 GIT binary patch literal 37317 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 Pjm)u5+}43 literal 0 HcmV?d00001 diff --git a/src/scala/com/twitter/interaction_graph/bqe/scoring/scoring.sql b/src/scala/com/twitter/interaction_graph/bqe/scoring/scoring.sql deleted file mode 100644 index 5694c0988..000000000 --- a/src/scala/com/twitter/interaction_graph/bqe/scoring/scoring.sql +++ /dev/null @@ -1,52 +0,0 @@ -DECLARE date_end, date_latest_follows DATE; -SET date_end = ( - SELECT PARSE_DATE('%Y%m%d', MAX(partition_id)) AS partition_id - FROM `twttr-bq-cassowary-prod.user.INFORMATION_SCHEMA.PARTITIONS` - WHERE partition_id IS NOT NULL AND partition_id != '__NULL__' AND table_name="interaction_graph_labels_daily" -); -SET date_latest_follows = ( - SELECT PARSE_DATE('%Y%m%d', MAX(partition_id)) AS partition_id - FROM `twttr-recos-ml-prod.user_events.INFORMATION_SCHEMA.PARTITIONS` - WHERE partition_id IS NOT NULL AND partition_id != '__NULL__' AND table_name="valid_user_follows"); - -DELETE -FROM `twttr-recos-ml-prod.realgraph.scores` -WHERE ds = date_end; - --- score candidates (59m) -INSERT INTO `twttr-recos-ml-prod.realgraph.scores` -WITH predicted_scores AS ( - SELECT - source_id, - destination_id, - p1.prob AS prob, - p2.prob AS prob_explicit - FROM ML.PREDICT(MODEL `twttr-recos-ml-prod.realgraph.prod`, - ( - SELECT - * - FROM - `twttr-recos-ml-prod.realgraph.candidates` ) ) S1 - CROSS JOIN UNNEST(S1.predicted_label_probs) AS p1 - JOIN ML.PREDICT(MODEL `twttr-recos-ml-prod.realgraph.prod_explicit`, - ( - SELECT - * - FROM - `twttr-recos-ml-prod.realgraph.candidates` ) ) S2 - USING (source_id, destination_id) - CROSS JOIN UNNEST(S2.predicted_label_probs) AS p2 - WHERE p1.label=1 AND p2.label=1 -) -SELECT - COALESCE(predicted_scores.source_id, tweeting_follows.source_id) AS source_id, - COALESCE(predicted_scores.destination_id, tweeting_follows.destination_id) AS destination_id, - COALESCE(prob, 0.0) AS prob, - COALESCE(prob_explicit, 0.0) AS prob_explicit, - (tweeting_follows.source_id IS NOT NULL) AND (tweeting_follows.destination_id IS NOT NULL) AS followed, - date_end AS ds -FROM - predicted_scores - FULL JOIN - `twttr-recos-ml-prod.realgraph.tweeting_follows` tweeting_follows - USING (source_id, destination_id) diff --git a/src/scala/com/twitter/interaction_graph/bqe/training/README.docx b/src/scala/com/twitter/interaction_graph/bqe/training/README.docx new file mode 100644 index 0000000000000000000000000000000000000000..10ba2fed01bbe7457edba0cbab9741453e2a0528 GIT binary patch literal 38883 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%0DkL9%l?27oIh@9jOc&(_A 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ǎma*OVtP}%#@v@Vn4-J{wn=VaE_u{+9Yq)D%BJV zGu4<^`s2pE&N|9l?w8f6($A1fQFp0x4{G#-;Di9j<2zuNAd2^&R%N|i@2s5K@P6C|lM6S)K?IAh0eOV@a~}bn$;ndb)RSV>lIDP-?~pk5 z;X51&g46lk2bA?(ND=x9`@qlQ+GdUDYlbv4x)oD4oYwvl8%hjn-gn2+4^x=UDPIO^ zipLONm43YjX;~(LUiP)^k}J2S3UH6(Kft0}%ReQOPOu`%gNclZ0+VxaM93j}1r2BY zu+&SFmk|Zw>COhVt09DRr5Ha-TaJs&L>r|Ol&Cve{5hSIZ`&tbUnOYR`dy(JnkW_B zy8D-pc8$t3vG}kR#oBja=c4gNoS{J2LPjE#JDh$u!Y8^kbE@^&20H;mtC*4^!Q^g_ z!06TJSrWsz3#T7P-~;Y@o6>%~J047m1j~iFYP_X~)$WOrf$uvZtx+**wcpqK43==h z&5e6u98l#uf}}>Ea{HZ2360&;PF$AxRJv{r+ay;l6W(MRW0p2~-@3WhgX;D4YK#7? ze&=s3bE0&(3Z9u~+wR{KVe*~w`0XakeQ9P=Ttr(gQFdwQz7%@lecQG^<20q|xQea! z-FYBBdsWNEM=N#kcx)wa#*}9-j6T#9A*r75Rn0LwdOWD*nBBe>W02# zi`xD?f^4mgEZUz`I>mRbM{g*JiSX#GcaNf6_$Zq5zZMrp4+3*?Z+|N8B*wS5P|eRT zk{5`a-iW++LTeyq=}Xs7ty>t|EE9=gbm=D6eU-`KEG%toWz zmu(fXhb!uJ57L6KT7eW>v)O3bGdp8`20ru{WBtd;A-4#$!crsA;vv2A>nucgnDp>^ z2!~ceBi%JzVJX|mC}~-Pve|;hyhg&Ka@f%b;68X-QrR1Kn)Y%rJt{R)(Hd8?3!1%_8^^(MbYc|xE zWy?6J!13ST)hQT~O+p@!FpKp!l&ougxNT%sTFbT_K-gHzmln61Ke{@Q7dQ7y

FJCCn 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 class_dim, "Dimension specified by class_dim does not exist." - - num_labels = shape[class_dim] - # If we are doing multi-class / multi-label metric, the number of classes / labels must - # be know at graph construction time. This dimension cannot have size None. - assert num_labels is not None, "The multi-metric dimension cannot be None." - assert classes is None or len(classes) == num_labels, ( - "Number of classes must match the number of labels") - - weights_shape = weights.get_shape() if weights is not None else None - if weights_shape is None: - num_weights = None - elif len(weights_shape) > 1: - num_weights = weights_shape[class_dim] - else: - num_weights = 1 - - for i in range(num_labels): - - # add metrics to eval_metric_ops dict - for metric_name in metrics: - metric_name = metric_name.lower() # metric name are case insensitive. - - class_metric_name = metric_name + "_" + (classes[i] if classes is not None else str(i)) - - if class_metric_name in eval_metric_ops: - # avoid adding duplicate metrics. - continue - - class_labels = tf.gather(labels, indices=[i], axis=class_dim) - class_preds = tf.gather(preds, indices=[i], axis=class_dim) - class_hard_preds = tf.gather(hard_preds, indices=[i], axis=class_dim) - - if num_weights is None: - class_weights = None - elif num_weights == num_labels: - class_weights = tf.gather(weights, indices=[i], axis=class_dim) - elif num_weights == 1: - class_weights = weights - else: - raise ValueError("num_weights (%d) and num_labels (%d) do not match" - % (num_weights, num_labels)) - - metric_factory, requires_threshold = twml.metrics.SUPPORTED_BINARY_CLASS_METRICS.get(metric_name) - if metric_factory: - value_op, update_op = metric_factory( - labels=class_labels, - predictions=(class_hard_preds if requires_threshold else class_preds), - weights=class_weights, name=class_metric_name) - eval_metric_ops[class_metric_name] = (value_op, update_op) - else: - raise ValueError('Cannot find the metric named ' + metric_name) - - # Added to compare TF and Lolly scores. - eval_metric_ops["lolly_tf_score_MSE"] = get_mse(graph_output["output"], labels) - - return eval_metric_ops - - return get_eval_metric_ops - - -def get_mse(predictions, labels): - lolly_scores = get_lolly_scores(labels) - tf_scores = predictions[:, EB_SCORE_IDX] - squared_lolly_tf_score_diff = tf.square(tf.subtract(tf_scores, lolly_scores)) - - value_op = tf.reduce_mean(squared_lolly_tf_score_diff, name="value_op") - update_op = tf.reduce_mean(squared_lolly_tf_score_diff, name="update_op") - - return value_op, update_op diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/BUILD b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/BUILD deleted file mode 100644 index d8cd264ad..000000000 --- a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/BUILD +++ /dev/null @@ -1,8 +0,0 @@ -python3_library( - name = "libs_py3", - sources = ["*.py"], - dependencies = [ - "src/python/twitter/deepbird/io", - "twml:twml-nodeps", - ], -) diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/BUILD.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..d79bef99ef240b305f4ebb2bc7e5d9e009c3abca GIT binary patch literal 36746 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 literal 0 HcmV?d00001 diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/__init__.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/__init__.docx new file mode 100644 index 0000000000000000000000000000000000000000..0fcd1835440215ff6e14f15ce4d71c1e10c97724 GIT binary patch literal 36611 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 literal 0 HcmV?d00001 diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/__init__.py b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/discretizer_builder.docx b/src/python/twitter/deepbird/projects/timelines/scripts/models/earlybird/tf_model/discretizer_builder.docx new file mode 100644 index 0000000000000000000000000000000000000000..f79cd349678e021aec33254723537bed00ab3bc4 GIT binary patch literal 37309 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