From 53c2f869f359ce80725c430c2e1766a629d3eca0 Mon Sep 17 00:00:00 2001 From: Ari Archer Date: Tue, 23 Jan 2024 19:10:06 +0200 Subject: [PATCH] [docx] split commit for file 2400 Signed-off-by: Ari Archer --- .../builder/ClearCacheInstructionBuilder.docx | Bin 0 -> 36950 bytes .../ClearCacheInstructionBuilder.scala | 16 - .../FeaturePassThroughCursorBuilder.docx | Bin 0 -> 37152 bytes .../FeaturePassThroughCursorBuilder.scala | 33 -- .../urt/builder/IncludeInstruction.docx | Bin 0 -> 37028 bytes .../urt/builder/IncludeInstruction.scala | 31 -- .../builder/MarkUnreadInstructionBuilder.docx | Bin 0 -> 37176 bytes .../MarkUnreadInstructionBuilder.scala | 32 -- .../builder/OrderedBottomCursorBuilder.docx | Bin 0 -> 37509 bytes .../builder/OrderedBottomCursorBuilder.scala | 45 --- .../urt/builder/OrderedGapCursorBuilder.docx | Bin 0 -> 37578 bytes .../urt/builder/OrderedGapCursorBuilder.scala | 54 --- .../urt/builder/OrderedTopCursorBuilder.docx | Bin 0 -> 37514 bytes .../urt/builder/OrderedTopCursorBuilder.scala | 52 --- .../builder/PinEntryInstructionBuilder.docx | Bin 0 -> 37113 bytes .../builder/PinEntryInstructionBuilder.scala | 23 -- .../builder/PlaceholderTopCursorBuilder.docx | Bin 0 -> 37263 bytes .../builder/PlaceholderTopCursorBuilder.scala | 34 -- .../ReplaceEntryInstructionBuilder.docx | Bin 0 -> 37552 bytes .../ReplaceEntryInstructionBuilder.scala | 63 ---- .../builder/ShowAlertInstructionBuilder.docx | Bin 0 -> 37041 bytes .../builder/ShowAlertInstructionBuilder.scala | 23 -- .../builder/ShowCoverInstructionBuilder.docx | Bin 0 -> 37042 bytes .../builder/ShowCoverInstructionBuilder.scala | 24 -- .../StaticTimelineScribeConfigBuilder.docx | Bin 0 -> 36890 bytes .../StaticTimelineScribeConfigBuilder.scala | 15 - .../builder/TerminateInstructionBuilder.docx | Bin 0 -> 37074 bytes .../builder/TerminateInstructionBuilder.scala | 44 --- .../builder/TimelineScribeConfigBuilder.docx | Bin 0 -> 36933 bytes .../builder/TimelineScribeConfigBuilder.scala | 18 - ...orderedBloomFilterBottomCursorBuilder.docx | Bin 0 -> 37331 bytes ...rderedBloomFilterBottomCursorBuilder.scala | 43 --- ...norderedExcludeIdsBottomCursorBuilder.docx | Bin 0 -> 37153 bytes ...orderedExcludeIdsBottomCursorBuilder.scala | 26 -- ...deredExcludeIdsSeqBottomCursorBuilder.docx | Bin 0 -> 37322 bytes ...eredExcludeIdsSeqBottomCursorBuilder.scala | 30 -- .../premarshaller/urt/builder/UrtBuilder.docx | Bin 0 -> 38074 bytes .../urt/builder/UrtBuilder.scala | 94 ------ .../urt/builder/UrtCursorBuilder.docx | Bin 0 -> 38293 bytes .../urt/builder/UrtCursorBuilder.scala | 134 -------- .../urt/builder/UrtCursorUpdater.docx | Bin 0 -> 37359 bytes .../urt/builder/UrtCursorUpdater.scala | 44 --- .../urt/builder/UrtInstructionBuilder.docx | Bin 0 -> 36888 bytes .../urt/builder/UrtInstructionBuilder.scala | 15 - .../urt/builder/UrtMetadataBuilder.docx | Bin 0 -> 37081 bytes .../urt/builder/UrtMetadataBuilder.scala | 43 --- .../component_library/scorer/common/BUILD | 30 -- .../scorer/common/BUILD.docx | Bin 0 -> 37042 bytes .../scorer/common/MLModelInferenceClient.docx | Bin 0 -> 36854 bytes .../common/MLModelInferenceClient.scala | 12 - .../scorer/common/ManagedModelClient.docx | Bin 0 -> 37205 bytes .../scorer/common/ManagedModelClient.scala | 33 -- .../scorer/common/ModelSelector.docx | Bin 0 -> 37077 bytes .../scorer/common/ModelSelector.scala | 28 -- .../scorer/common/NaviModelClient.docx | Bin 0 -> 37464 bytes .../scorer/common/NaviModelClient.scala | 50 --- .../component_library/scorer/cortex/BUILD | 35 -- .../scorer/cortex/BUILD.docx | Bin 0 -> 37039 bytes ...nagedInferenceServiceDataRecordScorer.docx | Bin 0 -> 38461 bytes ...agedInferenceServiceDataRecordScorer.scala | 137 -------- ...ferenceServiceDataRecordScorerBuilder.docx | Bin 0 -> 37703 bytes ...erenceServiceDataRecordScorerBuilder.scala | 67 ---- ...exManagedInferenceServiceTensorScorer.docx | Bin 0 -> 38069 bytes ...xManagedInferenceServiceTensorScorer.scala | 97 ------ ...edInferenceServiceTensorScorerBuilder.docx | Bin 0 -> 37398 bytes ...dInferenceServiceTensorScorerBuilder.scala | 47 --- .../scorer/cortex/ModelFeatureExtractor.docx | Bin 0 -> 36993 bytes .../scorer/cortex/ModelFeatureExtractor.scala | 15 - .../scorer/cr_ml_ranker/BUILD.bazel | 18 - .../scorer/cr_ml_ranker/BUILD.docx | Bin 0 -> 36918 bytes .../scorer/cr_ml_ranker/CrMlRankerScorer.docx | Bin 0 -> 37399 bytes .../cr_ml_ranker/CrMlRankerScorer.scala | 52 --- .../cr_ml_ranker/CrMlRankerStitchClient.docx | Bin 0 -> 37431 bytes .../cr_ml_ranker/CrMlRankerStitchClient.scala | 79 ----- .../component_library/scorer/deepbird/BUILD | 42 --- .../scorer/deepbird/BUILD.docx | Bin 0 -> 37135 bytes .../scorer/deepbird/BaseDeepbirdV2Scorer.docx | Bin 0 -> 37893 bytes .../deepbird/BaseDeepbirdV2Scorer.scala | 91 ----- .../DeepbirdV2PredictionServerScorer.docx | Bin 0 -> 37541 bytes .../DeepbirdV2PredictionServerScorer.scala | 55 --- .../deepbird/LollyPredictionEngineScorer.docx | Bin 0 -> 37577 bytes .../LollyPredictionEngineScorer.scala | 61 ---- .../TensorflowPredictionEngineScorer.docx | Bin 0 -> 37441 bytes .../TensorflowPredictionEngineScorer.scala | 58 ---- .../scorer/param_gated/BUILD | 16 - .../scorer/param_gated/BUILD.docx | Bin 0 -> 36839 bytes .../scorer/param_gated/ParamGatedScorer.docx | Bin 0 -> 37352 bytes .../scorer/param_gated/ParamGatedScorer.scala | 43 --- .../scorer/qualityfactor_gated/BUILD | 16 - .../scorer/qualityfactor_gated/BUILD.docx | Bin 0 -> 36839 bytes .../QualityFactorGatedScorer.docx | Bin 0 -> 37512 bytes .../QualityFactorGatedScorer.scala | 59 ---- .../scorer/tensorbuilder/BUILD | 21 -- .../scorer/tensorbuilder/BUILD.docx | Bin 0 -> 36910 bytes .../BooleanInferInputTensorBuilder.docx | Bin 0 -> 36893 bytes .../BooleanInferInputTensorBuilder.scala | 13 - .../BytesInferInputTensorBuilder.docx | Bin 0 -> 36890 bytes .../BytesInferInputTensorBuilder.scala | 13 - .../CandidateInferInputTensorBuilder.docx | Bin 0 -> 37410 bytes .../CandidateInferInputTensorBuilder.scala | 70 ---- .../Float32InferInputTensorBuilder.docx | Bin 0 -> 37025 bytes .../Float32InferInputTensorBuilder.scala | 27 -- .../FloatTensorInferInputTensorBuilder.docx | Bin 0 -> 37157 bytes .../FloatTensorInferInputTensorBuilder.scala | 33 -- .../InferInputTensorBuilder.docx | Bin 0 -> 37765 bytes .../InferInputTensorBuilder.scala | 151 --------- .../Int64InferInputTensorBuilder.docx | Bin 0 -> 37049 bytes .../Int64InferInputTensorBuilder.scala | 26 -- .../ModelInferRequestBuilder.docx | Bin 0 -> 37216 bytes .../ModelInferRequestBuilder.scala | 40 --- .../QueryInferInputTensorBuilder.docx | Bin 0 -> 37388 bytes .../QueryInferInputTensorBuilder.scala | 61 ---- .../SparseMapInferInputTensorBuilder.docx | Bin 0 -> 37302 bytes .../SparseMapInferInputTensorBuilder.scala | 61 ---- .../scorer/tweet_tlx/BUILD.bazel | 26 -- .../scorer/tweet_tlx/BUILD.docx | Bin 0 -> 36963 bytes .../tweet_tlx/TweetTLXStratoScorer.docx | Bin 0 -> 37600 bytes .../tweet_tlx/TweetTLXStratoScorer.scala | 58 ---- .../tweet_tlx/TweetTLXThriftScorer.docx | Bin 0 -> 37828 bytes .../tweet_tlx/TweetTLXThriftScorer.scala | 79 ----- .../component_library/selector/BUILD | 47 --- .../component_library/selector/BUILD.docx | Bin 0 -> 37077 bytes .../component_library/selector/Bucketer.docx | Bin 0 -> 37011 bytes .../component_library/selector/Bucketer.scala | 20 -- .../selector/CandidateMergeStrategy.docx | Bin 0 -> 37852 bytes .../selector/CandidateMergeStrategy.scala | 82 ----- .../selector/CandidatePositionInResults.docx | Bin 0 -> 37164 bytes .../selector/CandidatePositionInResults.scala | 33 -- .../selector/DeduplicationKey.docx | Bin 0 -> 37247 bytes .../selector/DeduplicationKey.scala | 33 -- .../selector/DropAllCandidates.docx | Bin 0 -> 37140 bytes .../selector/DropAllCandidates.scala | 29 -- .../selector/DropDuplicateCandidates.docx | Bin 0 -> 37443 bytes .../selector/DropDuplicateCandidates.scala | 45 --- .../DropDuplicateModuleItemCandidates.docx | Bin 0 -> 38150 bytes .../DropDuplicateModuleItemCandidates.scala | 88 ----- .../selector/DropDuplicateResults.docx | Bin 0 -> 37447 bytes .../selector/DropDuplicateResults.scala | 46 --- .../selector/DropFilteredCandidates.docx | Bin 0 -> 37287 bytes .../selector/DropFilteredCandidates.scala | 48 --- .../DropFilteredModuleItemCandidates.docx | Bin 0 -> 37424 bytes .../DropFilteredModuleItemCandidates.scala | 50 --- .../selector/DropMaxCandidates.docx | Bin 0 -> 37704 bytes .../selector/DropMaxCandidates.scala | 84 ----- .../selector/DropMaxModuleItemCandidates.docx | Bin 0 -> 37593 bytes .../DropMaxModuleItemCandidates.scala | 54 --- .../selector/DropMaxResults.docx | Bin 0 -> 37294 bytes .../selector/DropMaxResults.scala | 40 --- .../DropModuleTooFewModuleItemResults.docx | Bin 0 -> 37408 bytes .../DropModuleTooFewModuleItemResults.scala | 46 --- .../selector/DropNonDuplicateCandidates.docx | Bin 0 -> 37814 bytes .../selector/DropNonDuplicateCandidates.scala | 75 ----- .../selector/DropOrthogonalCandidates.docx | Bin 0 -> 37396 bytes .../selector/DropOrthogonalCandidates.scala | 54 --- .../DropRequestedMaxModuleItemCandidates.docx | Bin 0 -> 37716 bytes ...DropRequestedMaxModuleItemCandidates.scala | 68 ---- .../selector/DropRequestedMaxResults.docx | Bin 0 -> 37514 bytes .../selector/DropRequestedMaxResults.scala | 55 --- .../selector/DropSelector.docx | Bin 0 -> 38339 bytes .../selector/DropSelector.scala | 111 ------ .../selector/DropTooFewResults.docx | Bin 0 -> 37260 bytes .../selector/DropTooFewResults.scala | 35 -- .../selector/DynamicPositionSelector.docx | Bin 0 -> 38260 bytes .../selector/DynamicPositionSelector.scala | 124 ------- .../InsertAppendIntoModuleCandidates.docx | Bin 0 -> 37455 bytes .../InsertAppendIntoModuleCandidates.scala | 56 ---- .../selector/InsertAppendPatternResults.docx | Bin 0 -> 38260 bytes .../selector/InsertAppendPatternResults.scala | 105 ------ .../selector/InsertAppendRatioResults.docx | Bin 0 -> 39385 bytes .../selector/InsertAppendRatioResults.scala | 171 ---------- .../selector/InsertAppendResults.docx | Bin 0 -> 37555 bytes .../selector/InsertAppendResults.scala | 53 --- .../selector/InsertAppendWeaveResults.docx | Bin 0 -> 38372 bytes .../selector/InsertAppendWeaveResults.scala | 120 ------- .../InsertAppendWithoutFeatureResults.docx | Bin 0 -> 37260 bytes .../InsertAppendWithoutFeatureResults.scala | 35 -- .../InsertDynamicPositionResults.docx | Bin 0 -> 37536 bytes .../InsertDynamicPositionResults.scala | 69 ---- ...sertFixedPositionIntoModuleCandidates.docx | Bin 0 -> 37700 bytes ...ertFixedPositionIntoModuleCandidates.scala | 69 ---- .../selector/InsertFixedPositionResults.docx | Bin 0 -> 37249 bytes .../selector/InsertFixedPositionResults.scala | 46 --- .../selector/InsertIntoModule.docx | Bin 0 -> 37804 bytes .../selector/InsertIntoModule.scala | 70 ---- ...ertPerCandidateDynamicPositionResults.docx | Bin 0 -> 37756 bytes ...rtPerCandidateDynamicPositionResults.scala | 78 ----- .../selector/InsertRandomPositionResults.docx | Bin 0 -> 38850 bytes .../InsertRandomPositionResults.scala | 139 -------- .../InsertRelativePositionResults.docx | Bin 0 -> 37561 bytes .../InsertRelativePositionResults.scala | 58 ---- .../selector/InsertSelector.docx | Bin 0 -> 37238 bytes .../selector/InsertSelector.scala | 39 --- .../selector/SelectConditionally.docx | Bin 0 -> 37430 bytes .../selector/SelectConditionally.scala | 85 ----- .../selector/SelectFromSubpoolCandidates.docx | Bin 0 -> 38275 bytes .../SelectFromSubpoolCandidates.scala | 147 -------- .../selector/UpdateSortCandidates.docx | Bin 0 -> 37680 bytes .../selector/UpdateSortCandidates.scala | 86 ----- .../UpdateSortModuleItemCandidates.docx | Bin 0 -> 37614 bytes .../UpdateSortModuleItemCandidates.scala | 96 ------ .../selector/UpdateSortResults.docx | Bin 0 -> 37279 bytes .../selector/UpdateSortResults.scala | 43 --- .../selector/ads/AdsInjector.docx | Bin 0 -> 37584 bytes .../selector/ads/AdsInjector.scala | 73 ---- .../selector/ads/BUILD.bazel | 30 -- .../component_library/selector/ads/BUILD.docx | Bin 0 -> 37015 bytes .../selector/ads/InsertAdResults.docx | Bin 0 -> 38321 bytes .../selector/ads/InsertAdResults.scala | 95 ------ .../component_library/selector/sorter/BUILD | 20 -- .../selector/sorter/BUILD.docx | Bin 0 -> 36872 bytes .../selector/sorter/FeatureValueSorter.docx | Bin 0 -> 38084 bytes .../selector/sorter/FeatureValueSorter.scala | 248 -------------- .../selector/sorter/RandomShuffleSorter.docx | Bin 0 -> 37017 bytes .../selector/sorter/RandomShuffleSorter.scala | 16 - .../selector/sorter/ReverseSorter.docx | Bin 0 -> 36889 bytes .../selector/sorter/ReverseSorter.scala | 14 - .../selector/sorter/SortOrder.docx | Bin 0 -> 36721 bytes .../selector/sorter/SortOrder.scala | 5 - .../selector/sorter/SorterFromOrdering.docx | Bin 0 -> 37179 bytes .../selector/sorter/SorterFromOrdering.scala | 25 -- .../selector/sorter/SorterProvider.docx | Bin 0 -> 37193 bytes .../selector/sorter/SorterProvider.scala | 40 --- .../selector/sorter/featurestorev1/BUILD | 18 - .../selector/sorter/featurestorev1/BUILD.docx | Bin 0 -> 36884 bytes .../FeatureStoreV1FeatureValueSorter.docx | Bin 0 -> 37563 bytes .../FeatureStoreV1FeatureValueSorter.scala | 98 ------ .../component_library/side_effect/BUILD | 30 -- .../component_library/side_effect/BUILD.docx | Bin 0 -> 37070 bytes .../KafkaPublishingSideEffect.docx | Bin 0 -> 40965 bytes .../KafkaPublishingSideEffect.scala | 233 ------------- .../ParamGatedPipelineResultSideEffect.docx | Bin 0 -> 37599 bytes .../ParamGatedPipelineResultSideEffect.scala | 76 ----- .../ScribeClientEventSideEffect.docx | Bin 0 -> 38126 bytes .../ScribeClientEventSideEffect.scala | 118 ------- .../ScribeLogEventAsyncSideEffect.docx | Bin 0 -> 37447 bytes .../ScribeLogEventAsyncSideEffect.scala | 58 ---- .../side_effect/ScribeLogEventSideEffect.docx | Bin 0 -> 37427 bytes .../ScribeLogEventSideEffect.scala | 58 ---- .../side_effect/StratoInsertSideEffect.docx | Bin 0 -> 37841 bytes .../side_effect/StratoInsertSideEffect.scala | 70 ---- .../UserSessionStoreUpdateSideEffect.docx | Bin 0 -> 37143 bytes .../UserSessionStoreUpdateSideEffect.scala | 35 -- .../side_effect/metrics/BUILD.bazel | 18 - .../side_effect/metrics/BUILD.docx | Bin 0 -> 36924 bytes .../metrics/CandidateMetricFunction.docx | Bin 0 -> 37260 bytes .../metrics/CandidateMetricFunction.scala | 59 ---- .../ScribeClientEventMetricsSideEffect.docx | Bin 0 -> 37804 bytes .../ScribeClientEventMetricsSideEffect.scala | 74 ---- ...beClientEventMetricsSideEffectBuilder.docx | Bin 0 -> 37643 bytes ...eClientEventMetricsSideEffectBuilder.scala | 84 ----- .../core/product/guice/scope/BUILD | 8 - .../core/product/guice/scope/BUILD.docx | Bin 0 -> 36751 bytes .../product/guice/scope/ProductScoped.docx | Bin 0 -> 36835 bytes .../product/guice/scope/ProductScoped.java | 14 - .../core/controllers/AlertConfig.docx | Bin 0 -> 37246 bytes .../core/controllers/AlertConfig.scala | 38 --- .../product_mixer/core/controllers/BUILD | 39 --- .../product_mixer/core/controllers/BUILD.docx | Bin 0 -> 37148 bytes .../core/controllers/DebugTwitterContext.docx | Bin 0 -> 37499 bytes .../controllers/DebugTwitterContext.scala | 55 --- .../GetComponentRegistryHandler.docx | Bin 0 -> 38017 bytes .../GetComponentRegistryHandler.scala | 114 ------- .../GetDebugConfigurationHandler.docx | Bin 0 -> 37673 bytes .../GetDebugConfigurationHandler.scala | 60 ---- .../core/controllers/PredicateConfig.docx | Bin 0 -> 36980 bytes .../core/controllers/PredicateConfig.scala | 22 -- .../controllers/ProductMixerController.docx | Bin 0 -> 37921 bytes .../controllers/ProductMixerController.scala | 79 ----- .../QualityFactorMonitoringConfig.docx | Bin 0 -> 36755 bytes .../QualityFactorMonitoringConfig.scala | 6 - .../twitter/product_mixer/core/feature/BUILD | 10 - .../product_mixer/core/feature/BUILD.docx | Bin 0 -> 36777 bytes .../product_mixer/core/feature/Feature.docx | Bin 0 -> 37970 bytes .../product_mixer/core/feature/Feature.scala | 74 ---- .../core/feature/datarecord/BUILD | 21 -- .../core/feature/datarecord/BUILD.docx | Bin 0 -> 36898 bytes .../datarecord/DataRecordCompatible.docx | Bin 0 -> 39074 bytes .../datarecord/DataRecordCompatible.scala | 316 ------------------ .../feature/datarecord/DataRecordFeature.docx | Bin 0 -> 37370 bytes .../datarecord/DataRecordFeature.scala | 42 --- .../core/feature/featuremap/BUILD | 16 - .../core/feature/featuremap/BUILD.docx | Bin 0 -> 36846 bytes .../core/feature/featuremap/FeatureMap.docx | Bin 0 -> 39341 bytes .../core/feature/featuremap/FeatureMap.scala | 195 ----------- .../feature/featuremap/FeatureMapBuilder.docx | Bin 0 -> 37857 bytes .../featuremap/FeatureMapBuilder.scala | 110 ------ .../featuremap/FeatureMapException.docx | Bin 0 -> 36899 bytes .../featuremap/FeatureMapException.scala | 12 - .../featuremap/FeatureMapSerializer.docx | Bin 0 -> 37874 bytes .../featuremap/FeatureMapSerializer.scala | 63 ---- .../asyncfeaturemap/AsyncFeatureMap.docx | Bin 0 -> 38748 bytes .../asyncfeaturemap/AsyncFeatureMap.scala | 134 -------- .../AsyncFeatureMapSerializer.docx | Bin 0 -> 37419 bytes .../AsyncFeatureMapSerializer.scala | 45 --- .../feature/featuremap/asyncfeaturemap/BUILD | 18 - .../featuremap/asyncfeaturemap/BUILD.docx | Bin 0 -> 36876 bytes .../core/feature/featuremap/datarecord/BUILD | 23 -- .../feature/featuremap/datarecord/BUILD.docx | Bin 0 -> 36899 bytes .../datarecord/DataRecordConverter.docx | Bin 0 -> 37418 bytes .../datarecord/DataRecordConverter.scala | 51 --- .../datarecord/DataRecordExtractor.docx | Bin 0 -> 37554 bytes .../datarecord/DataRecordExtractor.scala | 60 ---- .../featuremap/datarecord/FeaturesScope.docx | Bin 0 -> 38688 bytes .../featuremap/datarecord/FeaturesScope.scala | 157 --------- .../feature/featuremap/featurestorev1/BUILD | 17 - .../featuremap/featurestorev1/BUILD.docx | Bin 0 -> 36842 bytes .../FeatureStoreV1FeatureMap.docx | Bin 0 -> 38382 bytes .../FeatureStoreV1FeatureMap.scala | 191 ----------- .../core/feature/featurestorev1/BUILD | 29 -- .../core/feature/featurestorev1/BUILD.docx | Bin 0 -> 36930 bytes .../featurestorev1/FeatureStoreV1Entity.docx | Bin 0 -> 36984 bytes .../featurestorev1/FeatureStoreV1Entity.scala | 35 -- .../featurestorev1/FeatureStoreV1Feature.docx | Bin 0 -> 39103 bytes .../FeatureStoreV1Feature.scala | 312 ----------------- .../feature/featurestorev1/featurevalue/BUILD | 19 -- .../featurestorev1/featurevalue/BUILD.docx | Bin 0 -> 36867 bytes .../featurevalue/FeatureStoreV1Response.docx | Bin 0 -> 37231 bytes .../featurevalue/FeatureStoreV1Response.scala | 39 --- .../functional_component/access_policy/BUILD | 9 - .../access_policy/BUILD.docx | Bin 0 -> 36789 bytes .../candidate_source/BUILD | 21 -- .../candidate_source/BUILD.docx | Bin 0 -> 36864 bytes .../candidate_source/CandidateSource.docx | Bin 0 -> 37296 bytes .../candidate_source/CandidateSource.scala | 50 --- .../CandidatesWithSourceFeatures.docx | Bin 0 -> 37007 bytes .../CandidatesWithSourceFeatures.scala | 16 - .../PassthroughCandidateSource.docx | Bin 0 -> 37384 bytes .../PassthroughCandidateSource.scala | 59 ---- .../StaticCandidateSource.docx | Bin 0 -> 36929 bytes .../StaticCandidateSource.scala | 15 - .../candidate_source/product_pipeline/BUILD | 23 -- .../product_pipeline/BUILD.docx | Bin 0 -> 36910 bytes .../ProductPipelineCandidateSource.docx | Bin 0 -> 37839 bytes .../ProductPipelineCandidateSource.scala | 71 ---- .../candidate_source/strato/BUILD | 21 -- .../candidate_source/strato/BUILD.docx | Bin 0 -> 36902 bytes .../strato/StratoErrCategorizer.docx | Bin 0 -> 37055 bytes .../strato/StratoErrCategorizer.scala | 21 -- .../strato/StratoKeyFetcherSeqSource.docx | Bin 0 -> 37079 bytes .../strato/StratoKeyFetcherSeqSource.scala | 27 -- .../strato/StratoKeyFetcherSource.docx | Bin 0 -> 37447 bytes .../strato/StratoKeyFetcherSource.scala | 45 --- ...atoKeyFetcherWithSourceFeaturesSource.docx | Bin 0 -> 37588 bytes ...toKeyFetcherWithSourceFeaturesSource.scala | 65 ---- .../strato/StratoKeyView.docx | Bin 0 -> 36766 bytes .../strato/StratoKeyView.scala | 4 - .../strato/StratoKeyViewFetcherSeqSource.docx | Bin 0 -> 37118 bytes .../StratoKeyViewFetcherSeqSource.scala | 30 -- .../strato/StratoKeyViewFetcherSource.docx | Bin 0 -> 37507 bytes .../strato/StratoKeyViewFetcherSource.scala | 51 --- ...eyViewFetcherWithSourceFeaturesSource.docx | Bin 0 -> 37661 bytes ...yViewFetcherWithSourceFeaturesSource.scala | 75 ----- .../core/functional_component/common/BUILD | 15 - .../functional_component/common/BUILD.docx | Bin 0 -> 36839 bytes .../common/CandidateScope.docx | Bin 0 -> 37785 bytes .../common/CandidateScope.scala | 98 ------ .../common/access_policy/AccessPolicy.docx | Bin 0 -> 37351 bytes .../common/access_policy/AccessPolicy.scala | 38 --- .../access_policy/AccessPolicyEvaluator.docx | Bin 0 -> 36916 bytes .../access_policy/AccessPolicyEvaluator.scala | 12 - .../common/access_policy/BUILD | 15 - .../common/access_policy/BUILD.docx | Bin 0 -> 36859 bytes .../WithDebugAccessPolicies.docx | Bin 0 -> 36896 bytes .../WithDebugAccessPolicies.scala | 10 - .../common/alert/Alert.docx | Bin 0 -> 37147 bytes .../common/alert/Alert.scala | 31 -- .../common/alert/AlertType.docx | Bin 0 -> 37008 bytes .../common/alert/AlertType.scala | 25 -- .../functional_component/common/alert/BUILD | 21 -- .../common/alert/BUILD.docx | Bin 0 -> 36941 bytes .../common/alert/EmptyResponseRateAlert.docx | Bin 0 -> 37142 bytes .../common/alert/EmptyResponseRateAlert.scala | 27 -- .../alert/GenericClientLatencyAlert.docx | Bin 0 -> 37024 bytes .../alert/GenericClientLatencyAlert.scala | 19 -- .../alert/GenericClientSuccessRateAlert.docx | Bin 0 -> 37153 bytes .../alert/GenericClientSuccessRateAlert.scala | 29 -- .../alert/GenericClientThroughputAlert.docx | Bin 0 -> 37103 bytes .../alert/GenericClientThroughputAlert.scala | 25 -- .../common/alert/IsObservableFromStrato.docx | Bin 0 -> 36892 bytes .../common/alert/IsObservableFromStrato.scala | 10 - .../common/alert/LatencyAlert.docx | Bin 0 -> 37028 bytes .../common/alert/LatencyAlert.scala | 20 -- .../common/alert/NotificationGroup.docx | Bin 0 -> 37418 bytes .../common/alert/NotificationGroup.scala | 36 -- .../common/alert/Percentile.docx | Bin 0 -> 37001 bytes .../common/alert/Percentile.scala | 17 - .../common/alert/ResponseSizeAlert.docx | Bin 0 -> 37133 bytes .../common/alert/ResponseSizeAlert.scala | 27 -- .../common/alert/Source.docx | Bin 0 -> 37440 bytes .../common/alert/Source.scala | 47 --- .../common/alert/StratoColumnAlert.docx | Bin 0 -> 37171 bytes .../common/alert/StratoColumnAlert.scala | 34 -- .../common/alert/SuccessRateAlert.docx | Bin 0 -> 37112 bytes .../common/alert/SuccessRateAlert.scala | 27 -- .../common/alert/ThroughputAlert.docx | Bin 0 -> 37071 bytes .../common/alert/ThroughputAlert.scala | 24 -- .../common/alert/predicate/BUILD | 13 - .../common/alert/predicate/BUILD.docx | Bin 0 -> 36790 bytes .../alert/predicate/MetricGranularity.docx | Bin 0 -> 37099 bytes .../alert/predicate/MetricGranularity.scala | 35 -- 400 files changed, 10865 deletions(-) create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ClearCacheInstructionBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ClearCacheInstructionBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/FeaturePassThroughCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/FeaturePassThroughCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/IncludeInstruction.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/IncludeInstruction.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/MarkUnreadInstructionBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/MarkUnreadInstructionBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedBottomCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedBottomCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedGapCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedGapCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedTopCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedTopCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PinEntryInstructionBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PinEntryInstructionBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PlaceholderTopCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PlaceholderTopCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ReplaceEntryInstructionBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ReplaceEntryInstructionBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowAlertInstructionBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowAlertInstructionBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowCoverInstructionBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowCoverInstructionBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/StaticTimelineScribeConfigBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/StaticTimelineScribeConfigBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TerminateInstructionBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TerminateInstructionBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TimelineScribeConfigBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TimelineScribeConfigBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedBloomFilterBottomCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedBloomFilterBottomCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsBottomCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsBottomCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsSeqBottomCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsSeqBottomCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorUpdater.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorUpdater.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtInstructionBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtInstructionBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtMetadataBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtMetadataBuilder.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/MLModelInferenceClient.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/MLModelInferenceClient.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ManagedModelClient.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ManagedModelClient.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ModelSelector.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ModelSelector.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/NaviModelClient.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/NaviModelClient.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorer.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorerBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorerBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorer.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorerBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorerBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/ModelFeatureExtractor.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/ModelFeatureExtractor.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/BUILD.bazel create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerScorer.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerStitchClient.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerStitchClient.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BaseDeepbirdV2Scorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BaseDeepbirdV2Scorer.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/DeepbirdV2PredictionServerScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/DeepbirdV2PredictionServerScorer.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/LollyPredictionEngineScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/LollyPredictionEngineScorer.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/TensorflowPredictionEngineScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/TensorflowPredictionEngineScorer.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/param_gated/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/param_gated/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/param_gated/ParamGatedScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/param_gated/ParamGatedScorer.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/qualityfactor_gated/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/qualityfactor_gated/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/qualityfactor_gated/QualityFactorGatedScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/qualityfactor_gated/QualityFactorGatedScorer.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/BooleanInferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/BooleanInferInputTensorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/BytesInferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/BytesInferInputTensorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/CandidateInferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/CandidateInferInputTensorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/Float32InferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/Float32InferInputTensorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/FloatTensorInferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/FloatTensorInferInputTensorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/InferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/InferInputTensorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/Int64InferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/Int64InferInputTensorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/ModelInferRequestBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/ModelInferRequestBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/QueryInferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/QueryInferInputTensorBuilder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/SparseMapInferInputTensorBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder/SparseMapInferInputTensorBuilder.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tweet_tlx/BUILD.bazel create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tweet_tlx/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tweet_tlx/TweetTLXStratoScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tweet_tlx/TweetTLXStratoScorer.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tweet_tlx/TweetTLXThriftScorer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tweet_tlx/TweetTLXThriftScorer.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/Bucketer.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/Bucketer.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/CandidateMergeStrategy.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/CandidateMergeStrategy.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/CandidatePositionInResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/CandidatePositionInResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DeduplicationKey.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DeduplicationKey.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropAllCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropAllCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropDuplicateCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropDuplicateCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropDuplicateModuleItemCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropDuplicateModuleItemCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropDuplicateResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropDuplicateResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropFilteredCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropFilteredCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropFilteredModuleItemCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropFilteredModuleItemCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropMaxCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropMaxCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropMaxModuleItemCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropMaxModuleItemCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropMaxResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropMaxResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropModuleTooFewModuleItemResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropModuleTooFewModuleItemResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropNonDuplicateCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropNonDuplicateCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropOrthogonalCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropOrthogonalCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropRequestedMaxModuleItemCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropRequestedMaxModuleItemCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropRequestedMaxResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropRequestedMaxResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropSelector.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropSelector.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropTooFewResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DropTooFewResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DynamicPositionSelector.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/DynamicPositionSelector.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendIntoModuleCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendIntoModuleCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendPatternResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendPatternResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendRatioResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendRatioResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendWeaveResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendWeaveResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendWithoutFeatureResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertAppendWithoutFeatureResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertDynamicPositionResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertDynamicPositionResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertFixedPositionIntoModuleCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertFixedPositionIntoModuleCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertFixedPositionResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertFixedPositionResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertIntoModule.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertIntoModule.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertPerCandidateDynamicPositionResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertPerCandidateDynamicPositionResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertRandomPositionResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertRandomPositionResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertRelativePositionResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertRelativePositionResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertSelector.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/InsertSelector.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/SelectConditionally.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/SelectConditionally.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/SelectFromSubpoolCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/SelectFromSubpoolCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/UpdateSortCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/UpdateSortCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/UpdateSortModuleItemCandidates.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/UpdateSortModuleItemCandidates.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/UpdateSortResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/UpdateSortResults.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads/AdsInjector.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads/AdsInjector.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads/BUILD.bazel create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads/InsertAdResults.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/ads/InsertAdResults.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/FeatureValueSorter.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/FeatureValueSorter.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/RandomShuffleSorter.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/RandomShuffleSorter.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/ReverseSorter.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/ReverseSorter.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/SortOrder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/SortOrder.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/SorterFromOrdering.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/SorterFromOrdering.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/SorterProvider.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/SorterProvider.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/featurestorev1/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/featurestorev1/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/featurestorev1/FeatureStoreV1FeatureValueSorter.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/selector/sorter/featurestorev1/FeatureStoreV1FeatureValueSorter.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/BUILD create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/KafkaPublishingSideEffect.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/KafkaPublishingSideEffect.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/ParamGatedPipelineResultSideEffect.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/ParamGatedPipelineResultSideEffect.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/ScribeClientEventSideEffect.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/ScribeClientEventSideEffect.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/ScribeLogEventAsyncSideEffect.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/ScribeLogEventAsyncSideEffect.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/ScribeLogEventSideEffect.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/ScribeLogEventSideEffect.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/StratoInsertSideEffect.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/StratoInsertSideEffect.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/UserSessionStoreUpdateSideEffect.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/UserSessionStoreUpdateSideEffect.scala delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/metrics/BUILD.bazel create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/metrics/BUILD.docx create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/metrics/CandidateMetricFunction.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/metrics/CandidateMetricFunction.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/metrics/ScribeClientEventMetricsSideEffect.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/metrics/ScribeClientEventMetricsSideEffect.scala create mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/metrics/ScribeClientEventMetricsSideEffectBuilder.docx delete mode 100644 product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/side_effect/metrics/ScribeClientEventMetricsSideEffectBuilder.scala delete mode 100644 product-mixer/core/src/main/java/com/twitter/product_mixer/core/product/guice/scope/BUILD create mode 100644 product-mixer/core/src/main/java/com/twitter/product_mixer/core/product/guice/scope/BUILD.docx create mode 100644 product-mixer/core/src/main/java/com/twitter/product_mixer/core/product/guice/scope/ProductScoped.docx delete mode 100644 product-mixer/core/src/main/java/com/twitter/product_mixer/core/product/guice/scope/ProductScoped.java create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/AlertConfig.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/AlertConfig.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/DebugTwitterContext.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/DebugTwitterContext.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/GetComponentRegistryHandler.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/GetComponentRegistryHandler.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/GetDebugConfigurationHandler.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/GetDebugConfigurationHandler.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/PredicateConfig.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/PredicateConfig.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/ProductMixerController.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/ProductMixerController.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/QualityFactorMonitoringConfig.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/controllers/QualityFactorMonitoringConfig.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/Feature.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/Feature.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/datarecord/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/datarecord/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/datarecord/DataRecordCompatible.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/datarecord/DataRecordCompatible.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/datarecord/DataRecordFeature.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/datarecord/DataRecordFeature.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/FeatureMap.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/FeatureMap.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/FeatureMapBuilder.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/FeatureMapBuilder.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/FeatureMapException.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/FeatureMapException.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/FeatureMapSerializer.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/FeatureMapSerializer.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/asyncfeaturemap/AsyncFeatureMap.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/asyncfeaturemap/AsyncFeatureMap.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/asyncfeaturemap/AsyncFeatureMapSerializer.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/asyncfeaturemap/AsyncFeatureMapSerializer.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/asyncfeaturemap/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/asyncfeaturemap/BUILD.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord/DataRecordConverter.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord/DataRecordConverter.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord/DataRecordExtractor.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord/DataRecordExtractor.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord/FeaturesScope.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord/FeaturesScope.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/featurestorev1/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/featurestorev1/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/featurestorev1/FeatureStoreV1FeatureMap.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/featurestorev1/FeatureStoreV1FeatureMap.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/FeatureStoreV1Entity.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/FeatureStoreV1Entity.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/FeatureStoreV1Feature.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/FeatureStoreV1Feature.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/featurevalue/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/featurevalue/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/featurevalue/FeatureStoreV1Response.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featurestorev1/featurevalue/FeatureStoreV1Response.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/access_policy/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/access_policy/BUILD.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/CandidateSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/CandidateSource.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/CandidatesWithSourceFeatures.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/CandidatesWithSourceFeatures.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/PassthroughCandidateSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/PassthroughCandidateSource.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/StaticCandidateSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/StaticCandidateSource.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/product_pipeline/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/product_pipeline/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/product_pipeline/ProductPipelineCandidateSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/product_pipeline/ProductPipelineCandidateSource.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoErrCategorizer.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoErrCategorizer.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyFetcherSeqSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyFetcherSeqSource.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyFetcherSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyFetcherSource.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyFetcherWithSourceFeaturesSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyFetcherWithSourceFeaturesSource.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyView.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyView.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyViewFetcherSeqSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyViewFetcherSeqSource.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyViewFetcherSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyViewFetcherSource.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyViewFetcherWithSourceFeaturesSource.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/candidate_source/strato/StratoKeyViewFetcherWithSourceFeaturesSource.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/CandidateScope.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/CandidateScope.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/access_policy/AccessPolicy.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/access_policy/AccessPolicy.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/access_policy/AccessPolicyEvaluator.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/access_policy/AccessPolicyEvaluator.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/access_policy/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/access_policy/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/access_policy/WithDebugAccessPolicies.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/access_policy/WithDebugAccessPolicies.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/Alert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/Alert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/AlertType.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/AlertType.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/EmptyResponseRateAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/EmptyResponseRateAlert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/GenericClientLatencyAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/GenericClientLatencyAlert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/GenericClientSuccessRateAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/GenericClientSuccessRateAlert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/GenericClientThroughputAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/GenericClientThroughputAlert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/IsObservableFromStrato.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/IsObservableFromStrato.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/LatencyAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/LatencyAlert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/NotificationGroup.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/NotificationGroup.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/Percentile.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/Percentile.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/ResponseSizeAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/ResponseSizeAlert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/Source.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/Source.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/StratoColumnAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/StratoColumnAlert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/SuccessRateAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/SuccessRateAlert.scala create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/ThroughputAlert.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/ThroughputAlert.scala delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/predicate/BUILD create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/predicate/BUILD.docx create mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/predicate/MetricGranularity.docx delete mode 100644 product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/common/alert/predicate/MetricGranularity.scala diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ClearCacheInstructionBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ClearCacheInstructionBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..c3d1831a42e93320bee812f04a15e7e212a184df GIT binary patch literal 36950 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ClearCacheInstructionBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ClearCacheInstructionBuilder.scala deleted file mode 100644 index 458c25ff5..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ClearCacheInstructionBuilder.scala +++ /dev/null @@ -1,16 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.core.model.marshalling.response.urt.ClearCacheTimelineInstruction -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.pipeline.PipelineQuery - -case class ClearCacheInstructionBuilder[Query <: PipelineQuery]( - override val includeInstruction: IncludeInstruction[Query] = AlwaysInclude) - extends UrtInstructionBuilder[Query, ClearCacheTimelineInstruction] { - - override def build( - query: Query, - entries: Seq[TimelineEntry] - ): Seq[ClearCacheTimelineInstruction] = - if (includeInstruction(query, entries)) Seq(ClearCacheTimelineInstruction()) else Seq.empty -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/FeaturePassThroughCursorBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/FeaturePassThroughCursorBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..82298d7454895542f7258b33c9894660be164475 GIT binary patch literal 37152 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 BV7&kU literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/FeaturePassThroughCursorBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/FeaturePassThroughCursorBuilder.scala deleted file mode 100644 index 368336b2e..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/FeaturePassThroughCursorBuilder.scala +++ /dev/null @@ -1,33 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.component_library.model.cursor.UrtPassThroughCursor -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.CursorType -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineQuery - -case class PassThroughCursorBuilder[ - -Query <: PipelineQuery with HasPipelineCursor[UrtPassThroughCursor] -]( - cursorFeature: Feature[Query, String], - override val cursorType: CursorType) - extends UrtCursorBuilder[Query] { - - override val includeOperation: IncludeInstruction[Query] = { (query, _) => - query.features.exists(_.getOrElse(cursorFeature, "").nonEmpty) - } - - override def cursorValue( - query: Query, - entries: Seq[TimelineEntry] - ): String = - UrtCursorSerializer.serializeCursor( - UrtPassThroughCursor( - cursorSortIndex(query, entries), - query.features.map(_.get(cursorFeature)).getOrElse(""), - cursorType = Some(cursorType) - ) - ) -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/IncludeInstruction.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/IncludeInstruction.docx new file mode 100644 index 0000000000000000000000000000000000000000..07756cb4d9c613e2b3d8a9e6bd3041343151867a GIT binary patch literal 37028 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 V-mJhJ1j - def apply(query: Query, entries: Seq[TimelineEntry]): Boolean - - def inverse(): IncludeInstruction[Query] = new IncludeInstruction[Query] { - def apply(query: Query, entries: Seq[TimelineEntry]): Boolean = !self.apply(query, entries) - } -} - -object AlwaysInclude extends IncludeInstruction[PipelineQuery] { - override def apply(query: PipelineQuery, entries: Seq[TimelineEntry]): Boolean = true -} - -object IncludeOnFirstPage extends IncludeInstruction[PipelineQuery with HasPipelineCursor[_]] { - override def apply( - query: PipelineQuery with HasPipelineCursor[_], - entries: Seq[TimelineEntry] - ): Boolean = query.isFirstPage -} - -object IncludeAfterFirstPage extends IncludeInstruction[PipelineQuery with HasPipelineCursor[_]] { - override def apply( - query: PipelineQuery with HasPipelineCursor[_], - entries: Seq[TimelineEntry] - ): Boolean = !query.isFirstPage -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/MarkUnreadInstructionBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/MarkUnreadInstructionBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..263d0377eee5eda7a3b791689bf1b396adb4eb9b GIT binary patch literal 37176 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ΝC11qjcppR5ZTz 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 - entry.entryIdentifier - } - if (filteredEntries.nonEmpty) Seq(MarkEntriesUnreadInstruction(filteredEntries)) - else Seq.empty - } else { - Seq.empty - } - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedBottomCursorBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedBottomCursorBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..47b01e957398832d3cc5217ce7314ce595bec585 GIT binary patch literal 37509 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%0Ae-u0DZGg5;&n?g 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedBottomCursorBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedBottomCursorBuilder.scala deleted file mode 100644 index 85b7b5e47..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedBottomCursorBuilder.scala +++ /dev/null @@ -1,45 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.BottomCursor -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.CursorType -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineCursorSerializer -import com.twitter.product_mixer.core.pipeline.PipelineQuery - -/** - * Builds [[UrtOrderedCursor]] in the Bottom position - * - * @param idSelector Specifies the entry from which to derive the `id` field - * @param includeOperation Logic to determine whether or not to build the bottom cursor, which only - * applies if gap cursors are required (e.g. Home Latest). When applicable, - * this logic should always be the inverse of the logic used to decide - * whether or not to build the gap cursor via [[OrderedGapCursorBuilder]], - * since either the gap or the bottom cursor must always be returned. - * @param serializer Converts the cursor to an encoded string - */ -case class OrderedBottomCursorBuilder[ - -Query <: PipelineQuery with HasPipelineCursor[UrtOrderedCursor] -]( - idSelector: PartialFunction[TimelineEntry, Long], - override val includeOperation: IncludeInstruction[Query] = AlwaysInclude, - serializer: PipelineCursorSerializer[UrtOrderedCursor] = UrtCursorSerializer) - extends UrtCursorBuilder[Query] { - override val cursorType: CursorType = BottomCursor - - override def cursorValue(query: Query, timelineEntries: Seq[TimelineEntry]): String = { - val bottomId = timelineEntries.reverseIterator.collectFirst(idSelector) - - val id = bottomId.orElse(query.pipelineCursor.flatMap(_.id)) - - val cursor = UrtOrderedCursor( - initialSortIndex = nextBottomInitialSortIndex(query, timelineEntries), - id = id, - cursorType = Some(cursorType) - ) - - serializer.serializeCursor(cursor) - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedGapCursorBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedGapCursorBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..53275f696980c7c1bc68e8b59e1e8cc6fbab2c71 GIT binary patch literal 37578 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 z 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 R1j0Sz0RW0N4`ToT literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedTopCursorBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedTopCursorBuilder.scala deleted file mode 100644 index 2939f8d5e..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/OrderedTopCursorBuilder.scala +++ /dev/null @@ -1,52 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.component_library.model.cursor.UrtOrderedCursor -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.OrderedTopCursorBuilder.TopCursorOffset -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.CursorType -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.TopCursor -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineCursorSerializer -import com.twitter.product_mixer.core.pipeline.PipelineQuery - -case object OrderedTopCursorBuilder { - // Ensure that the next initial sort index is at least 10000 entries away from top cursor's - // current sort index. This is to ensure that the contents of the next page can be populated - // without being assigned sort indices which conflict with that of the current page. This assumes - // that each page will have fewer than 10000 entries. - val TopCursorOffset = 10000L -} - -/** - * Builds [[UrtOrderedCursor]] in the Top position - * - * @param idSelector Specifies the entry from which to derive the `id` field - * @param serializer Converts the cursor to an encoded string - */ -case class OrderedTopCursorBuilder( - idSelector: PartialFunction[UniversalNoun[_], Long], - serializer: PipelineCursorSerializer[UrtOrderedCursor] = UrtCursorSerializer) - extends UrtCursorBuilder[ - PipelineQuery with HasPipelineCursor[UrtOrderedCursor] - ] { - override val cursorType: CursorType = TopCursor - - override def cursorValue( - query: PipelineQuery with HasPipelineCursor[UrtOrderedCursor], - timelineEntries: Seq[TimelineEntry] - ): String = { - val topId = timelineEntries.collectFirst(idSelector) - - val id = topId.orElse(query.pipelineCursor.flatMap(_.id)) - - val cursor = UrtOrderedCursor( - initialSortIndex = cursorSortIndex(query, timelineEntries) + TopCursorOffset, - id = id, - cursorType = Some(cursorType) - ) - - serializer.serializeCursor(cursor) - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PinEntryInstructionBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PinEntryInstructionBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..6a1b7c208f178ce96ba3a9a8d018e9474034aebc GIT binary patch literal 37113 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 E06hIlEC2ui literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PinEntryInstructionBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PinEntryInstructionBuilder.scala deleted file mode 100644 index 9fc4cea24..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PinEntryInstructionBuilder.scala +++ /dev/null @@ -1,23 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.core.model.marshalling.response.urt.PinEntryTimelineInstruction -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.model.marshalling.response.urt.metadata.PinnableEntry - -case class PinEntryInstructionBuilder() - extends UrtInstructionBuilder[PipelineQuery, PinEntryTimelineInstruction] { - - override def build( - query: PipelineQuery, - entries: Seq[TimelineEntry] - ): Seq[PinEntryTimelineInstruction] = { - // Only one entry can be pinned and the desirable behavior is to pick the entry with the highest - // sort index in the event that multiple pinned items exist. Since the entries are already - // sorted we can accomplish this by picking the first one. - entries.collectFirst { - case entry: PinnableEntry if entry.isPinned.getOrElse(false) => - PinEntryTimelineInstruction(entry) - }.toSeq - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PlaceholderTopCursorBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/PlaceholderTopCursorBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..4acfd6ab1397bc8701c330cc23543a0e9cc5b6e3 GIT binary patch literal 37263 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 - cursorOperation - }.toSeq -} - -/** - * Create a ReplaceEntry instruction - * - * @param entriesToReplace each replace instruction can contain only one entry. Users specify which - * entry to replace using [[EntriesToReplace]]. If multiple entries are - * specified, multiple [[ReplaceEntryTimelineInstruction]]s will be created. - * @param includeInstruction whether the instruction should be included in the response - */ -case class ReplaceEntryInstructionBuilder[Query <: PipelineQuery]( - entriesToReplace: EntriesToReplace[Query], - override val includeInstruction: IncludeInstruction[Query] = AlwaysInclude) - extends UrtInstructionBuilder[Query, ReplaceEntryTimelineInstruction] { - - override def build( - query: Query, - entries: Seq[TimelineEntry] - ): Seq[ReplaceEntryTimelineInstruction] = { - if (includeInstruction(query, entries)) - entriesToReplace(query, entries).map(ReplaceEntryTimelineInstruction) - else - Seq.empty - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowAlertInstructionBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowAlertInstructionBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..bd6d9c0b44febf014558f749f82c381d7b5826eb GIT binary patch literal 37041 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowAlertInstructionBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowAlertInstructionBuilder.scala deleted file mode 100644 index 678904755..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowAlertInstructionBuilder.scala +++ /dev/null @@ -1,23 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.core.model.marshalling.response.urt.ShowAlert -import com.twitter.product_mixer.core.model.marshalling.response.urt.ShowAlertInstruction -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.pipeline.PipelineQuery - -case class ShowAlertInstructionBuilder[Query <: PipelineQuery]( - override val includeInstruction: IncludeInstruction[Query] = AlwaysInclude) - extends UrtInstructionBuilder[Query, ShowAlertInstruction] { - - override def build( - query: Query, - entries: Seq[TimelineEntry] - ): Seq[ShowAlertInstruction] = { - if (includeInstruction(query, entries)) { - // Currently only one Alert is supported per response - entries.collectFirst { - case alertEntry: ShowAlert => ShowAlertInstruction(alertEntry) - }.toSeq - } else Seq.empty - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowCoverInstructionBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/ShowCoverInstructionBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..2ef7130c5436d964c28cc330fd736895fca1b3b8 GIT binary patch literal 37042 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 j>ql=7BJ_K ShowCoverInstruction(coverEntry) - }.toSeq - } else { - Seq.empty - } - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/StaticTimelineScribeConfigBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/StaticTimelineScribeConfigBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..97d37b8a976ccae25c1e850d5bce166819996e33 GIT binary patch literal 36890 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

pCbxdPv7Ili11{c#2@IuhDO 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/StaticTimelineScribeConfigBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/StaticTimelineScribeConfigBuilder.scala deleted file mode 100644 index 2b374f2d0..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/StaticTimelineScribeConfigBuilder.scala +++ /dev/null @@ -1,15 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineScribeConfig -import com.twitter.product_mixer.core.pipeline.PipelineQuery - -case class StaticTimelineScribeConfigBuilder( - timelineScribeConfig: TimelineScribeConfig) - extends TimelineScribeConfigBuilder[PipelineQuery] { - - def build( - query: PipelineQuery, - entries: Seq[TimelineEntry] - ): Option[TimelineScribeConfig] = Some(timelineScribeConfig) -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TerminateInstructionBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TerminateInstructionBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..b4da362efc241b0a78ee44ecaffe0a2468f8c889 GIT binary patch literal 37074 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%0DweXKd4ba9t%t3X-x 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�G%5^wwQJ7oar0}$;swEh-B`4U{D75$a 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 Vc(Vd?5GYp(G9&`C$GL704*<+j{1E^E literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TimelineScribeConfigBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TimelineScribeConfigBuilder.scala deleted file mode 100644 index 98c05ac4a..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/TimelineScribeConfigBuilder.scala +++ /dev/null @@ -1,18 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineScribeConfig -import com.twitter.product_mixer.core.pipeline.PipelineQuery - -/** - * Trait for our builder which given a query and entries will return an `Option[TimelineScribeConfig]` - * - * @tparam Query - */ -trait TimelineScribeConfigBuilder[-Query <: PipelineQuery] { - - def build( - query: Query, - entries: Seq[TimelineEntry] - ): Option[TimelineScribeConfig] -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedBloomFilterBottomCursorBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedBloomFilterBottomCursorBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..fb01e82ae716f4ecac98acb36181a14e719ac7ee GIT binary patch literal 37331 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedBloomFilterBottomCursorBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedBloomFilterBottomCursorBuilder.scala deleted file mode 100644 index aeb333373..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedBloomFilterBottomCursorBuilder.scala +++ /dev/null @@ -1,43 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.component_library.model.cursor.UrtUnorderedBloomFilterCursor -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.BottomCursor -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.CursorType -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineCursorSerializer -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.search.common.util.bloomfilter.AdaptiveLongIntBloomFilterBuilder - -/** - * Builds [[UrtUnorderedBloomFilterCursor]] in the Bottom position - * - * @param idSelector Specifies the entry from which to derive the `id` field - * @param serializer Converts the cursor to an encoded string - */ -case class UnorderedBloomFilterBottomCursorBuilder( - idSelector: PartialFunction[UniversalNoun[_], Long], - serializer: PipelineCursorSerializer[UrtUnorderedBloomFilterCursor] = UrtCursorSerializer) - extends UrtCursorBuilder[ - PipelineQuery with HasPipelineCursor[UrtUnorderedBloomFilterCursor] - ] { - - override val cursorType: CursorType = BottomCursor - - override def cursorValue( - query: PipelineQuery with HasPipelineCursor[UrtUnorderedBloomFilterCursor], - entries: Seq[TimelineEntry] - ): String = { - val bloomFilter = query.pipelineCursor.map(_.longIntBloomFilter) - val ids = entries.collect(idSelector) - - val cursor = UrtUnorderedBloomFilterCursor( - initialSortIndex = nextBottomInitialSortIndex(query, entries), - longIntBloomFilter = AdaptiveLongIntBloomFilterBuilder.build(ids, bloomFilter) - ) - - serializer.serializeCursor(cursor) - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsBottomCursorBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsBottomCursorBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..3462d52aa86c5168d2a5cfb5edfc2198e48ebea8 GIT binary patch literal 37153 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 C+-?*A literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsBottomCursorBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsBottomCursorBuilder.scala deleted file mode 100644 index 5a25da032..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsBottomCursorBuilder.scala +++ /dev/null @@ -1,26 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.component_library.model.cursor.UrtUnorderedExcludeIdsCursor -import com.twitter.product_mixer.component_library.premarshaller.cursor.UrtCursorSerializer -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.pipeline.PipelineCursorSerializer -import com.twitter.timelines.configapi.Param - -/** - * Builds [[UrtUnorderedExcludeIdsCursor]] in the Bottom position - * - * @param excludedIdsMaxLengthParam The maximum length of the cursor - * @param excludeIdsSelector Specifies the entry Ids to populate on the `excludedIds` field - * @param serializer Converts the cursor to an encoded string - */ -case class UnorderedExcludeIdsBottomCursorBuilder( - override val excludedIdsMaxLengthParam: Param[Int], - excludeIdsSelector: PartialFunction[UniversalNoun[_], Long], - override val serializer: PipelineCursorSerializer[UrtUnorderedExcludeIdsCursor] = - UrtCursorSerializer) - extends BaseUnorderedExcludeIdsBottomCursorBuilder { - - override def excludeEntriesCollector(entries: Seq[TimelineEntry]): Seq[Long] = - entries.collect(excludeIdsSelector) -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsSeqBottomCursorBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UnorderedExcludeIdsSeqBottomCursorBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..1e344c159c778120ea5e6b563e48081f8076772e GIT binary patch literal 37322 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≈F`FoREZWsF?R~e;D?Xc02(*zGF5X z&Rkv(@5Q+MP|>W%IxRUxNJ*o_3C14DR7{8xbb1ReUR%e;>85XV4m~lR&v~6ei8f%q?nr-EG@zCU#>OrdUwP^Y#wvSs0*-Q1{J+8djGQviJZ{&jCzO`^ zD7@AXcUKGgBJSQ@fLMOYflY`1lRBBA@b60VS{=9gNSpIR^&y@chRO!y6raw@=q+8? zEhi}@#;Q5~?ML9QU%^)CehUO*>EUfj?2(_gHxbYy>-b`mzCV$1cZEFMEcrgygkmaJ znfo@vo{C9w>*DjVM;l`HRnJN_M)EP(G*pacA**zmD0lNeHcd>&J(d}8U7I(ikM>?I zPBZyvADBlb+dIE;)?HcVi21wSx0=b{6uwrE`=hu|Zz=pxurD>7+=k-1w%9>~oc7oy zCpM=)BLZPxFTFKsoW&HR1~0Z6orE{AL7B~Y0AzFe{EDp`&S~<#EF??&`F=arks0ZK ze6RzoQ}{oCGryi57coXF2S>~A%bArv15-<^F)cT*@Z#`tNup5^G)S4BaP1;DJR1Wl z3kJ@35ZeK-{Z?zcp#R)nd8Tu$3Ic3F)du|g(>3<57F3_jO;rEmgpZvcv>9eW0Gapc z8#+o-Jv5796-{EpA?!{OX+w4*pk!?YZibqD{lTuyh12~=MS4zJx#N#F%d{s`_-DU8 z8&+5_D#%wP(TLa)GLuTSCYe(d;H{D;abpSy z2-md;7VuF`E~p(sgmSk5Mb2au2G*E$Z*??8i?Mg@G(2&#L+n${p!lm^HzHD~jI&b< z@oig0jAziN%3#Vp<7bX@Fy{W5_aDS&DUZ@TVFE2ujfJ&LBjNjipc6D;Z6;m| zcP{?=%5N9Xa@`=){b--yeN8_@0U88@>n0`*PRjdx?#1Ny<2#{F`)7tGDseixj_(6_ zP7FiftR=oj{KT)l(_yBxu`ei6LFl`gsK;Av%sNXJG#wggow?Oi@V-7Z?ptp9m@%-! zRa7QJu{dy(4P5CiM{Ep2RCneiS}~l2^AQ)B(I6d7uJ~RN(J*3o37TZmIQx9PyQvgx zaY5Cru`5&d-VvK>6UGb@!YORJ7Ro2%EXTI^XV*Bac+!R96}A@aFHtJ=uKW<^5fW{q zK_}U$*l5UP2b*IP4u)D9U%zH?@miF9_>Do4$(E|cuwq9E7b`j)Z5AAvc3*A`;>bxn zdUMfPky>zM)l%eGDWjNH1>ebL8_A?sGn_@m#bi~0uGb8HrJHZx_kg^fsdUr~S}t$Y z4-Dl!57u=UD??DtXDg~{H?!$QM|gPeNq8{`^4Bi&$S* zsmCqQF??ATrRfdJo^R^q&WfKQq2a7^Kgq-BRrufpRxvTDtI^|rJfLTum+C_fS60Z1`Ilo9lTg$=Z{f4!esPeKCL340$+VC(+p5bO=#+9%Rit7WOv;%BObL zZk{44Yju&!(%6W_iCk){1_rBK2bp;!tBHQNZzdnEtiM}3`VD9L^93E`5hCB_?y1mZ zB5S7bS-kiYwyp2egxU=D)Qp^t2Gbq{(^SW68V(#G!I)&%R0UJDb(}92h`)U4t61!QM+nY20b!7dk!KE!M1fdJ#}hGDp?w&8|aVfd@X_bdm(Hl#B{ z9NLX28fBN0QH5`m(Bot;0>1r*Dz___;Y6UnBAn&lpLLE^ybwut%aESOuUmbBKSo#a z_P}0|D3+zJTWJq$*Xs2<;Ob$py zkb@0kI=2|SP<~(i zNd!e!Yvp|16X!ww_33Fk+uFJ+iv#l3pnmOIeX*N*f4;3$g8l{L$*+1*MkWDllmjx! zZ93LvTRJ(lEKRX_=iCkNk}69ltSnD)iH`dcUmacHlh_hXgMwx8rhS$b9&VO}pu+Ea z?`DS*Ybq;Uy9@mZBpIRynz*7L|qi;$`U^4`;Ht3T7;`B4}cj)%44j zZCH$TXcN2w)E3G*cvvDfUkZ^9xWSR6<(%1v(-f_MO$6v7`!58-+9q+UeP3P@IQ9XB+c2@~nHVHf z&{IhD;EgJ;16_!BvhWEW(^knPnL?^PSutE(VmySBs~d75*&BEa=WjdXY-NBH zn7}{*xN{>Zv?tBXS@wEzTprdGlbCGt+3J`1!V;%pg_e3Tvo2AU4p_1*Y=?o!0E0%2 zd2*Qvdzvj#36JubRf6$Qgfdn#j7NeIFVde(**0|BNv+NzX7-7d$Zt+Eb1|uQn0D# z7@(Imc0RpP4D3*P6wO=|NZ)VsEhR=Pl7Jlt2~2X7TC1a*386$DlfHF0!?tOpn4~~& zC!g^Pongge*V#KpS{f2I=i?74K4J{r<;c~QsguycqK7Z42Wcriopj5~tJI~E*Z0=3HVlU2=#} zyXHm4wbL8?N7&UAG$<%BFiRI12@O8+fVv zg)$#s#x%IL`^SJ;VC5W}I`i!bSeoB=#|qbdQE4#juW$hR{vC0*jhKjIMW4Zf`vs>d z$?7KkYr=0# zwBR73@3%r?zbeOg)2R>U?BtHr<*)WwjkLIo_t`?)MrU?@JFLmBcox9GuiGWdht7Nx z)uv&|u#9*{#jP;eQFCYt;CBRUbXD)Wf^l)ytgY^M{O<2XTirdbR8lSUOA6ofUQnlV zM$r{wv{yWs$yX}zmTyPJoeMD;*=`zC0mmXS{v@~bJi+KhgC?c^eEcXHoK>Fa+L?A&dGH)c^RJv(>p4HZ#cNI5$Ul^BNGu<>!+b#3BlFkBYmx9@d8Y+`K z&WwfvfhbqPggLCuuv0O;WdSTdP4i@l()2dOmkufY*7|Dn_AP(Xp!BfNsDc0YekKE~ zOFYkez5Y+=f97I&0eoxaz%M)~VD^d*d^UA=b#t`WvbSTlb~CsC>uawzrV(z41q0-V zpTuO+WEo!s#*zvOHEJPToy_YusHC2x5|iIM5&e6fpPj}}>=i!1h&lKG?GiGsPH;Zg zk^tf#4=2J8D5003BG5T?C|0VLQrhkvo{*%9;MjDNlNg73tXRts8X;hoPL+sfwGpuI z6HYiSLFiSZLD6=aX+Bh~9C%X9C)Skx8~z%EI7+CmOm$E^#@DrsdE1ns^&N28W-cKs z8~>$CaO!xa7pR9CsEgl-N zq}2&?Z4ssDU2@VpeMPF^xNJLwzkj&e`y*F(h)~5ZRFqYv2AnxPI&)oEuKPQrlC(Lu z&`YvhfR?=86n`4D=`^#tixd|j!|h}#cdVUcL}5_RAW54J;niX?&2w+MF|nM_?)q4K z=_l=`Rwa-me=xQy!6Aa(X>`u&2`22a4VYl2Yw1Qa<<{#{^A(j_8T*}4Nm>A}*S?`Ubw`o4JEIZ5k$R#oDISe}3hc1@a5R-qLH~S6Bm4PZ ztF(mq@JL%=O(qhU-Tiyb;oxp>V(tR0%KXXhX0^5*4tQ{ScguwnCG}b(lQ|$bT8e}< z^kXH-TOUBEa2hW1Cs5OdF?Rg1+z~^MX$M-jDfLJ8GnKQN^aSKSbEAtMgnMS1k$bGNs-x_ocF?NT1;uY{ zTyTf?i|#o}+ol@MJ@paP5tVyU@NlJFn6{xP^_xeM&QwYVkW^Yk9GXfCS7WOh4a$Sg zsw;)8a#1s+>_m>VCT#R`SP>OLymH(;yceq}3Xt5CGS^{> zT-}NRyI&tO1AI6MV3}$CGlOX+>FX^azCy-XMZr1Cz&frm(DQ!z`8->~i}`sQuqgz& zOC`m%6?YxktD#qg{)VKvzi_^~=rJnbXjFuR5-X)>I|iwTqMoSIQ=Tt}t9L#Hino-y$!{5R5j7ip!;Vr(j!?5|4{3evba z-UFG6U%2BFa*>QUQ=%)W=*%(^?ip4@$#oQ%lw)WqFbCmZl}7~wH*G%Zfje-mC?C#` zvM1nFeld)(N!1!xUWU+*ik$KA?Fw3$lu^!$OK5G|ljvT4IC_a>=G|>>+;4amoidL? zQ8ik|j^_OW@VM#y7K^_A)oOC-^uwf^s_`^-G>#|`AE8%9%7l9EUbrf?e@`vFu205u z?Qsa!ws(I2ruSCfKs>hhR&*D7P+wDj>?qVnf*Hyo7nAQ>FM8i#BnpQI7{Y+rg@R5? z!Dt!^#T?!H!*~CW-$*UQktPv5$(0(Mv5l`-cfJMi0Jbx6>sJdf_R9Q5OtmOrwj1jF znd)%sAOq#h3~W~&f|9tX&_8H#L4eH;8JHO%oIb#(~tXlR$f`EjOfPi2FXDndj?!Trf;K~bl zemWRi+cDWVnOk0K*gB!BV+eNpaMRk)qR=p6Ko51Z4U{m7(t~kXe=AGjDq*a54wFe% zK+mEw{=Ae1$W43&c?uWs{oRP6=9c5Ev=GFnA|WgVjRKE>Ge%}}$0>ke2!6M`5V zl4$t#YJ20oFXv&~b&l8P)S+m+$Z&Z69?b`q1p(aLQ{=IwZ`z@?&WWd5_6n2B4dkr7 zb7&vL7R(A^s;GI{M5oKHQ)U;QAts1pB8($l7Y>`305c%iX1~k%9EJr0S&?|_cRl$m za25oig7lgo@5E1R2e}3Ptd#=lW;t&#&k&w?`CUAZ)FfzPHf624C*z(km06vG6F~2h z6+L+E>Xpz=ny-;=R%nZRV?5*bG3d}riKbTKPRWIZ?3celzy zZ%`AY+HLAIUeli8>n3&b{0Luvtv01!W=BF2cs9`qijYR(UZY7m>T^4r7uDK90_dIN z%$v3*&#OlI=Ba$?*LEptD;a_kJOBk^7>C>~S z?C*GL1#L_5!qGLmrU)mR6YJ5%zS418)~Ujz@U8sZ+G)6oI39R{22aJbkvBo1D3u&# z`eie<+-a5;!>pVum*(?M`JBbNUO?HLnC)F^Lr z524)HYJ@svO&q{5p3JlCN|T zMru{M2x(6ni8&+Q*9UO@zXp;|>#_*Dm@G;26kVW&hmb~6my$1c*PcHn#AApS|JO?Y zKm1ag8&JCW->38+b^F-o@BMSKrOE!_{3ENyy9~BBObS%KSEtIasoDHQYS+hU2V2kE zU1^t}XPz5#3R_o{nWOTX`LEMI>`di}I2w%1!37@Ln8+%h;AkRy>jBV~oh z5#toeBHq+C%@>lkAMQ=M?!E3P|LG5s?_WL0Ubzc+@zuh}l@38xGA&oHzxjV7$EfXz z&~MY-+Zx_I-QkpeS@d<+fhDt7XXc^x^X0Rf_BqwuT6e4TopgwT%F0Qv=d62U zwJZGP8?~eAjlg?~jcha4F8q*nG5-Bz-^#SlIl+Q;t5_!6zL;lt_6Zk@PnWk*XOl{Y zZ&Nzkh4%}pT;fZ#?whN9b~vP_&objT_q<4U;cZU^8?LK1teMFf%{Q-8IgaJUtfze) zz8j6_C+=gIu;*vxtMw(^^L&>ty4YP2_tKmx=AJV(VTk8}It5b8{Zn}{#dXvv=UBbK<4<5}4 zU2;)4Vd;OlyzC1K+ohX3-?1fgb!!&&2u3I$mYn%QPNI9~r&S975>q4kK3LVBnsCKL z#6w6}Ma=d_>mJ+of; zcKedFv|gF1wwa%%%-Ox{+@9)dZ<-EOuQ|GH(j}wn%2MCAk5qqD-IY5S{r>a%DNj6t zi%-A0)-G4~U(uidu3SGhg=`MQ3) zd!J9%w0?i=ufP5F{}+`S9^jo~ zml1n|rA@U(xhhKhuvu{9#1D^)N)LC5y^LMm)_*>F@}$I@8!D^6PvHD{u2}ii5$BaN zh10+JTKRhiYwg~8=+^(>ROVLIS5|y4W%4YP(_4NPJoVx$*}%W7iA^eFK_gb;zj4R6 zL-qmQj7%cTpy6>22Fsb|5o?2%PMivCp`HScxq-SJFwg)LV_=AO1`YUR2HNb z$AVgC=mu1(c{}_7D!m6BN9Km<2GR|T$ACsa+W6q6J-Wt@Htyg|ppuI~je;l|p94kU zbx(4B5qKmTUHg~Yx5Zxrwdb%fFbJS%uLp|2wI>!7U~~1e9+hR+fa+cWTcN0y&j1Dl zc;*0TL}@P2@7T2GHAo8?0WCibG(rZ&^0~k;0BeW%9N7@8q0qZp%(`2jfgvuGm4P3{ zBu-waNyR0VIjP|3O7t*5KTr~;zk%_f4T@&8<0a9}L7yi@m}67~GY4rB1zkJ(#0x^Z zLK##$+B6Kh3Fs3M2or+Jp(dbAOQ7pVA2mkke_9FEk3NQsZUlP&8)3w~2CThtbOX>k zx(EZdH6j~;t=o%k7JA`yPwWlpYDCmy?-VT zRdc*D#_U%#-9u8*C z`b_S2whf8$imM{1-_BpLl9+`^yu?wkN_QM+92jEpB&yPGd9;_9PvsyU@5lMV)Mu1J zV3=alQ|^6;R%-=2y&I`?#U)Pl_0u);$RLZn^VV~j&dj;@C1Xit7NvIy=LTS^o725N zPH};=>{j>j8KMWDi)HHsBx*f^MNwBoYoHSk2E(ZcjzWi4<;`&Cw39oisT>be@6ucD zk1Dyoj{CZiJ&OBDX1*>lQE6n@q#?BW^ZW=ix=@$;W>g>7?_A?LL0{)&q3&3_+Eak+ zK8OfF{kdn?&Ez(w$$kt|TM}`jsB&&eDDQ&1^3~Df91XO zOGn|p%W6Qbi5x=`t?p|gVLn<{?3ZV+C&Z$%j}k&XFN;O%`@*C5WVz3n@&;f^|5Zf~ zDp`>SQ1vz-z`zhee+`|?Y@L~z{#+~KCO$*5qWYZ+Ne)vM**B_7&j;iz_GoR=Ue>o6uE8b2xBHX2 ztL+47+op!!k|T?lQQdQyYmf-hZ(t1Q($<~Lh*pY87}D8EBNqpi#G~CHex=cL@nM_= zzyPG=8aclgRkZBcx_y5TZu}~3F`oe?2o01VQ-Fz*6Trcl*#zKZ_U9qbh#OPrV?mX? z_m-TK*9f~tg_D$_13&)$SsK%SspXD?Q{HwglWSsgH{VVto8FaZlYi*iL1>-3p$XC? zI4+ntB=+3j^gE(9*4wHv_S$o%Bpq)>Vo>jS_tWeZl?9*4Xm_|W-Uo#0Oh}nDR(-jJ zP(JehT279+Z#$&pC*F=>DK`xAx5lgHJel{6I+fu*Ar z=YWSL^?#9@G=Q32DuWMn+O~yq#jDg&+&S9NWyM=0-T7vFTYigN<0 zi!Brw80vr4<%@&EUu97nvtMOFZGWbR(*OG13RYAZH!fg7bVhs~uR1QhX>OG4b1YN~ z>kiQ8F%*mU8}n@#e;xmG{pjQ4Vc^F3cuPK^Jm7`u{b;jeDM6eFdiu6-oSCBb(lv6db&#U(7@#f4kN^ z^j{<@H7srXP-ap5UIzJEWm)D?JSE8aY4`S6J1G$fSqkFID?8MfN0}APa;OxJJPAIl zQOCu&C6qOy*Vo%x(_d)W7IwNg0<+{ICqxVmSF;};`VsbUO!BuxfYY~94rLiJY}nH>P0t){FwKe{=JEh_ASU)B^v0wfB6GQH_xxVnwjribmlx zIU^)lGge*pd55W-RIqZ8nj(qt*_arg-h}o{^YBo7QAb}vHxet06A#UmayuB<0=^HR zhEA{%#8vv_sC{K8Ch0iX7GjsHG>`^hT+&rEb^Q3zoR|7N;Fycs(O)Fm*8&`~`c8KK^y zz+GrjL`+G+o>v+Wckz&XR?VDNbHF8J5GC~Xy=zL|XF+p}1z&`sb>L*UcArbJ$w2WE z#F`?_qZ`#?2u4>W93VRh`;{;-O&=`hN&PCiDYUQBpN+}nrtlb08bzHP7NR_6sVA6u z^UQpaafuZvFF^(ym7z+?UV5oM>G17EX>UlHy(m>)YxL&lG@pK~b_8GWp19(!dvM?Q zM>4-{GTE}8oz5EM;`b8s;Sj&Cs=ynDrVCGW6)1-0)VlVA)nt{vNe{`r4J2+Z-Gjix zRruFWGO{lv@Ip|)9V)XDaiH*k=sP$%D}@F-5yTgt2?QC{$5Cbz`S_N)Q}^e1Oi2S( zlU3!mEn_^ z2?vKwKN9+&mMLX{gj|n{*4QV$M%SC&6@rm; zk()M6nl5=M8b8KbVHWclu_RBX=Omu)OzCGf|r9YYuS6O_-6WnxN7sGo#nm0S0lH_GZ4iMYZbD-Cg<9` zZgs5jf*5XJKQsHgt;pp>G$bV)HTyIstIAY8sYe=qiQ&5l))v=Bx!d_KDbJ4ip8glC zb!O#3IyRG2k=VEb+SFl)x_OC&bh#vnsT4NYR=?1fp%)r9i#lHE-#O_Y;1Wd;pl8V_ zb)eKpgEArX!D7WsLva^jbGJtfImX_ z!)P`ez59sGqNHpzp_wTD(PlWrlAS}RuP3u)Fu{>y6{ZqtjGprs%pMXc@dWKhbPKt_ z%00=`@kt#hyq{-;3kJB7L_hD*Ph37)q|SWB>eDbZe+lSFf4b4IMpL7G}959{bAzWWg?@^bO$ib|;I(PiL!DrmhmPsp;KUBzL6s^T* z1+{*uim)Vz>wmN$p#9P#k+X1*^RtY%;F3iT>i+l|CMhC7jFhoON;Q^BxKGWEyWuJ3 zMWL0^m8fD$m?95g{?yhTqnk}WBx{ipy#ld$_4QSg#rOC6FV5p&|8&)gZ}JG^p=}(g z0zNCB^Kz{|-{Pmb0rcSO;#TzQQ0}MLT1CDjHa(HIX;8vV9P-DVPO-YEBHkqws0V~b z)g{tPEx#W%y2e9g^HB_QjQuF3!Kr~FN8~aa7GxY8CXrjrv{y^)J@{bbX$_HkU~^P( zu2hsw|LunL`M~g4@4jw1R`D~d|Fd@XaWH47tK_%}hg8a!c!>}E#ibD2hHFyXX9Sgi zjdL0p1m)u{Ur8~tgce;}@hhapAmkQ03c!AunrM^HA!-WT#b-TtU$o_}!6&;DN}@ty zZiTnK?dpKs74GL5uPcf@U>0gJR`G;NsG_z@U8s$*T0u!Yb;+DE-u_y(D zgKh;$0=1>S3H+RQuu?%u<&?!@8G^k&jxwGT$3zU3DC;+~ZeeFSt48h6w%!hnUWbSa zvrK)NK}efq^vadg{NO2*fZkuw`37G16A&6o?DN>I;e@>~-x)p5Iy-$dTP&y(?M*ML z5~hq`N32g6cF~rLgW`50TUGLxsJr8vTwk5tEyuSnbyhPyxHUuHyPfKH$DV4(p+6PA z5UCo@n_ope_k~q7%`TS;h2?oOwk=7T{lo;OVSP2LqG_3y5Tn9|8`Ic`9!EV491pRg znR*h7NywGPVB=nlOc=LRF!J|T;D!Czh#9>^3#dy^I56*y*yZz9UWDx_TcN@6?#K=v zYO6RpSP58WR&Zhlv$|E=J3iyP6)t*Y4If9#zOicwpwO1^ni&_wjeZn*xXs~2~gf367 zi-$$;?su)Kocf<%lelq}XUz4bzvl{zP&F(1jBY@$wjQG;7|&%j#geA+jT z%`GZ{G8$YukmwhdNy1&RG-ghTLffyK?X-y5{pRzP7;u05&dU3Y@!x~Ky&pb08)!B- z2AT~LfM$b#4f=ntW&U&M|9f4NAgUP1g8S|K4WTzU9<$Is{NwLjsx~^Qssis|sg<}p z@%>HRbyEiM9sk{XE}txFyV;35)rAdyT>ARY0Xz{9D44UsN@nN+7AVOl-F4FHqBa#I z@O;%hTpddSV)8SmHHntxho2MVUl3|qDEn&>C>nC?MOv^bBlC}>RO7zYa_c~7OU%Um z_!5$p`PH+H>~f;A`KqJbW=nWI)wyR&p-v;97Y(XrY2HYmoRiXM=lpQ`_Q90E_Z8Lv z!MuK+K)i6@|3zLe65S9=<31g-kNv^OYIN6p!30dgtxG&voUNcbU3DAss)#*Yl!vl5 zRW-;a_~V2PkM+$=Lcga1{8ukn2;p6!h$4a=UP3J!Xwr0+MrdOafd;E@6txs21 zZl2-Go?T23*wCasSez@t7q5=Ynsat}_SxUl(>RvVr-r_iq$0%XD(V`aOXF(!do!_> zX!kWU;?>MvU$cDMZO?&*#8GLlXY1U3T}YiRy5}0tMH6S&Z2;gat~dYV!I`_xS!UAe ztNrU)n(*Qf;O#N`{qcG6JgP{z>10>`;c@-4EqT7}`Ed5vZCgml?y<*ft-zbzd+SCp zGjN62AgSnLs_!r)d4GFs^`xonb?oG--eb*{yGWS0yr;WE@f&YwMD6>HRh^F4^Ze?V zr`vbocLyy%AKHD}?)AZ~`^VF=VN1jNkfOytV1p1*p9OF^bI42E-gWWIH-#_R$rH!b z!e_!6Z`eX|PMrrtFK+#nop;m?s@0yt@x9 zH~%RHX;oOvO*IO1LC6_8-&9B)N=Q|u@N2c9kG8N6PcUQ+VV}7#-0RKy z>(^Ahmuld0`=)?kh1>aANHX_XCb#0ryN|&+P_Qz~e(@cnzcVSKd8O-A;czt?u=B9@ zUZc|`m5JZksw>6yNc+^y<$2FaN&WV)df>`^h{#)VIq=>VN)pq)x`_~kFKzl;&k)1U4TKD zIH_vNZDvg;Mun|6q-iLAsRDW4{WQ#9H|%k$!w zYc*Qy{uGOc!1s3j%7v-t)7dA7d&k!ynY(M@({rJ8WvK@J`MHa}gX`;GXMN7;9Q460 z1O=Lr?|ldEr9|o1H0ptf%hUT0l)e|li;8JY$>G*e)1fx>->XX{c|_1+!6k^klH-T3y=$3y`#)zDM*uXVnKP`~W17APFKY3*;yj(%dDo?61*Qe-x=PX*R4AEE6@A$m%mrDvTw>PY1!?>qvmr# zeuh&?L!gA}Ih1fDJ&w-{VrbA-5sO**N=pi7v4Pob2zOoRhZ*FdDuS@mPD_Glw^5#v zCk>}UPLCeo5ZB~KlD?Z-*Xc6uZKX35aQj z&d>hSX$k7Y{%0rDHU$7&^dI+EHsDb*K{0zE4)@AzK>QQ?lp_ulN&>o%_ODPK5Lz$@ z_rF5_rh+P=KDQ=y{~rYB%H*IHguhfIwL_cc{4a_BhKljLs>BXR2Ho|a!d&q|dQ?zB zUNP(U7)cNr|A$0I5;$rPM7Y0H&&9hnptk?H>t9Xz&f@ixu5Fzd2AO;kI`br*L>ewW z=a1mN+P*r(3vG$rpAjVelc^J8iklnVJ2!n>Fm#vfoCzef<_;X&mWRe{-xwkUnRJt0 z&Ii_?Z(UmS?FYO>U-}luU2`m#+^=;X24}OXw%x0K%?l|W?jMZgZa+kB3hOuBN)Sic z?=UTkB^d z{OhkMwr9ePsJFo??@DCa z5txIwNvLoTW*ygIQnbIz`uM)@qdbam&iZog;_K~p-W*SXQn2A1TD@?~sJco>G1?lT zxfGAxW?f4@(el=_9y_RfN2k{3l(@EWeCoc^)gP5~pPlgYii)S}tDCCjB=QJ$=t*h4 zJ0#Q)ojUe*iQz(8!0TK8MWN#17~95IqOf+E(KMCMV`*D2ai!eQwBifr@-lqHY<069 zHlm5LrwhL666l%~g>%cMwH`aBh6^W)Sz?bUp!X-7ys!80)5z}A>>H|ecS`?;qf6R@ z-E))b9+U7(X9vP(ez}3coqbXtPTbfQLLRGH1p1wJ3_yW*H%DNudJr|Un^jw$ z5nh}5%M7l~w>P4|@zs4eg-`52r5`g?$@C?WqZsqrOmj^Gw-ku8@eJUK#-GaDM z`ulp~gy_q!K5RwZn1^iP3jly#SPV;CMf->A}Yf2uvC4E$hedaV; z3(6}#b9P3SlpmuS%eqTOmX5%0ZC5+XRB4e71WZ@XKfhpfb$KiMU2^KYs7pN7lRP2; zp0TR2>2Kp;8b2f1l73t|PW8txOOj2UW#TM~G*xJGI|vf{eSMtSE;y;lTJ0jB^0Ar- z8O(X=yOUg6Y;N5RY%^)q z^k5z)-eS#~2bnq`fGL;1sX4w|ow5mCr(Yjg6Q@NUd6AoyPbr#V?ZwHNqmaFfDoIV^ z!bfYW-Z*t&IqZ0)i4(AKf{6R;m`%%SFd%zBMlt=pW*NK7UD05UT(sExMBO22yV#GD z0A>MIZ>V$((((T8B#HE!4j3&uV!e$-$A*LB12=Wom{Q{3P}ZStw2q zamSM7(~?r0v>KuuZ*}cRf8UG~d-nbqWoKNnMS|KX{akql;_XF3I&Ua#(HGhTUT25{ zSuB8zV%nXDS>LtOJuhG3v5>ZIG=HSjl-78K4B{PL)_UWb5g$$Phe!c0*7*J@gA9pd zue)udpVNI)n~kfStLNu&i>c~;i3s1`AKso82yn_}QPNp>x|ZBIs@1=6<{>DkQIuNp z@hp{ApJ)syUf!qM%2QPR$_`Ox_uP^gdK~b~>q~9Do5N5FUX7sRnTajVT{uG37-+Uv zXXw4;YHKo{VOB+y;o`=R>6YXwKDB-=3NEX{0MUU^$e3oK}MBE0dZ{A$WH92@m$;rPX@Z;Ze(c&rZDOrBzp6sDMLz*2X?90);Nqe^wM$ZQ=-AwoBB9{QSdeMhBAEHUI(#4| zLm&0If=8@℞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

6$>N_(ih((1)X?hl5Um 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 U3pj(eXO#fp1Wpf=gzd9`0Qc5B9smFU literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtBuilder.scala deleted file mode 100644 index e47bf476b..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtBuilder.scala +++ /dev/null @@ -1,94 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.CursorOperation -import com.twitter.product_mixer.core.model.marshalling.response.urt.Timeline -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineInstruction -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.pipeline.UrtPipelineCursor -import com.twitter.product_mixer.core.util.SortIndexBuilder - -trait UrtBuilder[-Query <: PipelineQuery, +Instruction <: TimelineInstruction] { - private val TimelineIdSuffix = "-Timeline" - - def instructionBuilders: Seq[UrtInstructionBuilder[Query, Instruction]] - - def cursorBuilders: Seq[UrtCursorBuilder[Query]] - def cursorUpdaters: Seq[UrtCursorUpdater[Query]] - - def metadataBuilder: Option[BaseUrtMetadataBuilder[Query]] - - // Timeline entry sort indexes will count down by this value. Values higher than 1 are useful to - // leave room in the sequence for dynamically injecting content in between existing entries. - def sortIndexStep: Int = 1 - - final def buildTimeline( - query: Query, - entries: Seq[TimelineEntry] - ): Timeline = { - val initialSortIndex = getInitialSortIndex(query) - - // Set the sort indexes of the entries before we pass them to the cursor builders, since many - // cursor implementations use the sort index of the first/last entry as part of the cursor value - val sortIndexedEntries = updateSortIndexes(initialSortIndex, entries) - - // Iterate over the cursorUpdaters in the order they were defined. Note that each updater will - // be passed the timelineEntries updated by the previous cursorUpdater. - val updatedCursorEntries: Seq[TimelineEntry] = - cursorUpdaters.foldLeft(sortIndexedEntries) { (timelineEntries, cursorUpdater) => - cursorUpdater.update(query, timelineEntries) - } - - val allCursoredEntries = - updatedCursorEntries ++ cursorBuilders.flatMap(_.build(query, updatedCursorEntries)) - - val instructions: Seq[Instruction] = - instructionBuilders.flatMap(_.build(query, allCursoredEntries)) - - val metadata = metadataBuilder.map(_.build(query, allCursoredEntries)) - - Timeline( - id = query.product.identifier.toString + TimelineIdSuffix, - instructions = instructions, - metadata = metadata - ) - } - - final def getInitialSortIndex(query: Query): Long = - query match { - case cursorQuery: HasPipelineCursor[_] => - UrtPipelineCursor - .getCursorInitialSortIndex(cursorQuery) - .getOrElse(SortIndexBuilder.timeToId(query.queryTime)) - case _ => SortIndexBuilder.timeToId(query.queryTime) - } - - /** - * Updates the sort indexes in the timeline entries starting from the given initial sort index - * value and decreasing by the value defined in the sort index step field - * - * @param initialSortIndex The initial value of the sort index - * @param timelineEntries Timeline entries to update - */ - final def updateSortIndexes( - initialSortIndex: Long, - timelineEntries: Seq[TimelineEntry] - ): Seq[TimelineEntry] = { - val indexRange = - initialSortIndex to (initialSortIndex - (timelineEntries.size * sortIndexStep)) by -sortIndexStep - - // Skip any existing cursors because their sort indexes will be managed by their cursor updater. - // If the cursors are not removed first, then the remaining entries would have a gap everywhere - // an existing cursor was present. - val (cursorEntries, nonCursorEntries) = timelineEntries.partition { - case _: CursorOperation => true - case _ => false - } - - nonCursorEntries.zip(indexRange).map { - case (entry, index) => - entry.withSortIndex(index) - } ++ cursorEntries - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..39027fa0a111c34c54292279a4b6750f4724f9be GIT binary patch literal 38293 zcmagEV|XOp*DoA%Voq$^b}~sOwrzE6W0Fj4+qP|MVrzm)Cbmz{egFA9=e+Ni>Z^Cv z`eCi=+G|&Dg|FZc=pY~ARyyVARuVKQEgFxowKQ(v%ZRly{VHf zgS)LwQ`6v=#^B z3a)RHer_aBqWRhL28ywA59qQNniV)q0 z;Q`1$e%kgjxJ{_Don1{_vvkH(c?UlXJUmbr#gGX+t%T`4EX>Q=POAEkB7I|5 z6|7V05ROS6W98=ja5xbq@wv+l)?Vcnlk@2m)90rO5E}G)yh40AG=yBke*6?r{UG_; zRea#G9++<|Lzhgg{g#AZh|&{h_~P{pUsCZ|OrY;|xn%P|aQuNJ{{>xE4@BX=s^~%S zRp=2|y)7^h5P0CHzN4v)6C=Z)V^#c=G&nP||Am0~D0zupv#MC(s-D=fY@tAJ>g0K` zov&o^T6dSCn63t9AHmVZzOmU-Mgi^$ZLv*|x{>B$VBT_{#y0g;V~73*Ofqa|0I|Eu zUa+Q3dc++mqL3-Y1BaO!kpS%$+K@JN!}*+WwTPHLjjbeNX>eHr$}PMzmAZ=${X75) zAR*Jt{=KBC?Wc{~_ea5IXGsHpp_5p96y-EI6J{)~LPRMCv|CZBqnYUP*tSf}_U8@- z3+;+4hT|Ynd1XC!vRkOBPSimz^G3dsxz_zJhxBBmQ|g}6W-ePnihlMp1izW;QZBTb zVpe=$#^$s+F8(_~Vc+1DErGZB956vBzyz59j1?RK_D+n(07uh5H+fe4gxmlVviO6y z_=2oj_zg0QxD*ZO$#-c<^njJNdp34in~7|WsqOtjTdiDLSAuQcksEt~P0pqkaO05p z5W>*7ivW}F@R}I!>qeLxFWKTW+*L`z{TIE@^VbySJjUa_5sEmU;A*qMr81axWtPHt zNC)fL*%rP{6KAz573Up`D5J=(ep3^Qr)nofAUZ&&{uK~F5S~C9-+)rqQcM7niBg&e z8lF68C^M}GF~3p)8|1ia1L2BOttG#Ayrs>Iv)+ub?p)jcY<$h^=Zmj}5d8bgkb%-+ zrYTh|6bs&&>l5TBBv4i%#WW?iRyCHL?`KYq4%;)X;JOu`T0%b|CV$SGJ1eae3e1Dq z(01Jd3>MXmEG+D8&^wX)3p$&$veu%#HBWF+rWpEWZssA5xbd5Z!e%8t++JBSXCz9Y zmk4JKW^~*`11aF1&{WT^9lm{#2itNdfrX+{k8uZ_rL3MyS|Qf3apC_ z1PBQ7f7Zp&-u|z$s7%Y1EToRrW-NdPl&um#3Cy|bWXk*^< z^?3@z;Qq#V7tY(j`_ef6vMg){-6&_FiZSt&KdRuc3D;EfedKU`>WIV%q8zdeLv08} z*Fk?~ylN4O9@aTcU7>p1i=@G5@`?c3-btQz#(51*9d#Dlqai$!%gqk{CQ21K_JcIZ$`H_Zi;|-eu;CEfdf!mS8;kh$9ueZ1 zS7hZCQ;cR!6j}>EHlaBU&9818aPym!>r+D2HMj=o_v@c8hgr2~i9(imtL-RcKGSmo z;&l_X71DbQmBjqj!<1yn_%B9;xU|O9=jumCqRU#ka@tWCIqWznuH?HRzHOif07}S2 zYkq8nFRog9gbx-tZ^#T+w#-L6PcHoMCvH$&zO4r#S6@?W|-GZK8>(6ga=|#_6`?-xQWMCNQMn`gI`_zV@{HNH{~$B^m4?-6}B)uHGeud5;^uq*=46 zW+;Mke>o+g2WOgf-7B~{;W(SEaN&$X+FD^r)i znMZy%`?@~HRE&fak6>7&SYx0HPZa)%dq!*4{2M#IqQu?8t&57Q(<0z!{DTf*6>6yE zJUB>KMdB1qgsKaC?z#1n$QG2z+|MNCwvgrIU{HfTRgng1fc_dTpNv^nCEn$R0j1`{ z*c-)L(jeMnIZr3TYpF$IJ=oI;K}VMMWZ18K8wXsN2o`h6L#*we6Dq7V8&_}6FKXZU zDm)7wPHlSyQ+xu5TfgetMIVM1pF)9d9?v%}j=@Ydnmz>K>LvH{F(u$8O{h*1IG0v2`GH(q1P zUQ|b)zGF!v?vNuUkTTRsY`&QyLfQ+!)g^QL=8=YoXtW^j=iNWLTY#;y+*mLVmUh~@Iy{qu1JznV*pw;EMctDp2QK8Sc(N|lM^K>0%y0qa~JM6kpybi zS2>auE|`Le7|2h&B`FxbTDIA}v}8T|K8$R?o-hIw;1Q-?=SE98)pNDz6)5U64P_1N zVB6VVEO^4c^_RV%_B{uP6Sexh|Jp~c;?2~7{hY_VJ8Te7C3NAB8-PEX$`WGGm7TTN zpOcID@w#!5Un}i{Xy8A0Mcc3m0mz4CUTcC=E@H&0qqop;WT4z=98o)2Lw)BT1eRIN&DGq+hmz>Uz`8OW31-UYr>B4e#SO@ zcNaq&S%}+pteHjWh0{A;lI=8eD1V|6K7}4B>!{ z0o~n=7|yQVu@ykH;GP|HE^KGv16j+wPlrb}Xd&&=$6{a$4j#2(!i}4Y<9l?FN3x_U zu|`0!F~-Jwq+Gx=jP%r$A@tyO%53eUedf`!N#UsG1RIB&wb6e6v}W$j5oqslZGhMG z>$XQT;O>D|mZNJTBd1Y0E`GD#V5aAiHi3jneL|-{SBv^xSVgQv%*gH)KDrbPhZkQu zu*v75B)9S%az@c2woR(m>!rAPOr>Fr|mjJV%FdP7iJliGYev*N)yeTsLTY9;nF z7RXFpwv-5QvXuV;Q@%}?1``DZhYpl)Dc_M>JLt2#h)uQxYQk<`Z!e4*PM?U7&Smm| z4I1JUi#Uohtc%TVbUNXz;M|(Ng$C${0jNMSlp{X-%2{zyT%xipbA_C=%$|~k38K|^ z4}aoWWNTiu6;@~Cr^WzP2pR6==f(>cBV`~f*e=p(JRMhz}i}(aV!}cl0-N71tyW`C~ z(}PfbEMB1Qd|n zB+3wBDUsTJ1amN&oc$N3AX%hxNoQ=+W4-4oT@9EMiQNWCqGb1Sy=9o+gQmfpZ0Ff*zj9CV`|`88O(-@fRF zZ2L_P@|*1u@G0M>hTl|d7s+HA>WEWJH~0eNZi|Wy!ndkqKi`f=2kos_62 z(&7a%ZxSUphX->#h}&#t;*>woU88xvgfg0kl+2DM69{mh5Ug(Jj1HId^vz54%<*%% z|6pcEYkj|`)@g}=yQqyT5QjRDZ{J>>KIWQRwB3EF@RHbTE1}5y3Nqye-Ta~fVq0oA z($?G}r$dz*sKg0c98DiB_New_^cErGGWY~pfq=jzGZ4;pWnvGSeQojL9q$A7zxx?G ze_T`+V52($Y;^H}jqYFl%-_qj|Lki1Ua}<$%Lg%Gf4g{x>kmmlFSd*L{5zkbgGQpJ z$U8)0E&g8gU|W0BgidrXVE=)`Cx_B@e(GL%X^R(|woy8eD-sL|eLh6N6qU~$Ddn`c zK~h!Nx{3&vr?!uyYlTllcJ8b$$)fT|I#Ko&uC9%IupW-ADbG%*4Wl}$@K{1Q{#!k# z7MP~kTzslwXim1XX9vmERCVihSEcoi;AXm0-;P{^T3|m4MBU1wfi5XKxxwDW(d^x$ z37+2@v>u#U<077D@j<|=tWFfFK7`ssCinpBqk-l4zS)v7h?rZCXo@IHQEjI3F8Fl` zYlJWtd40Nauyx4iDQhmP+quL+PdQj;FK95qeSydlyghDw4Qs^-^)ILV{gxAJvaIvJXJ@f2V$Ssa$ccprRh3lLq|4*$ zdHb_56{ru?vl3KH-`;ZkI&Cg|^$DXh-p)5U2YL{?+q5s#UP`9UZ#n?JZ`j_vPlxC3 zTIbox>u+{%=NW>_BY^j(n2)EI<%{SN!Isl~-N&cRtB#b#j+dkPUw0j$q5CHuZ}oid zwjb?VA&kCjgnG#(moo!Lp(zKu6YHlf6>k%#*Nq+7bgq3~0UGm?!!y@ZHZY>+M zyj~X9Cp_K03x3#Z00vMVI`(f4@7zD1Rg7BbKZKSn5BN3-5Db|6u4a#TY1+9i8-9~B z%uSg(sTDjI%zDQZka7HSrLa2^8uX~oxc&kZ<+km&b%r!Ca`wFG!!`RRC^E%=roIJS z&DwhLNca)>3Xu6x_ziu)-*?Pkou9f*>{~TFVM`-GyRQZtcjcT#XS`e{-Cet<<8w~j zM)*3?d%kgdlHMd#>{GjVbbG9A2#Sfs_=PaOcW-oev{X(c4Ke%Kc5L``>u6tezuk#G zn<=Fb3^;6WG9qpJriv4KOJ<)De+szHXw!8R13b<>icL4`f!CXc6P*=hG6-%7+bu6Azo@mINBoQI}xo@aB)pMLo0UHI}>=h!WOpbd5>N4Bo@oXH)n z#{l*oe}2?y^+;sncDHLwa6C~z_i}hXFq2chKdv9Tavs5Rmt75gbcEqi+#5-G=rI;x z_u#6*rSHMir|wH57*-(dmLf4L5%#MR8dVAmiur_5dxy>Yy0~`Vj+|KzQNrn|JcS3& ztN7;ckS66&wTc~3!VxF{hx%v*6>9;&Z-;bmgI1qEbRQ=rSD*##~1Z7wzr_e${UKRHGYfS{c2jEFT>>I8|a6mOjUz zT(-R|8{Vi;TMed}KL&kt>Q*n!yqwKH+dnwGjY!?!2%cRCWGYHD=`Jo@4jkUx{5l_S z%4DMrX~Qd0kNOxmbT22!yrEJJf?u6IcqI3`BwUuyXi15%f|w1nru|-9F3u%{5(g?q zU|7h~-TT(jdqs*HvGJi{>K*WsQyK|Sk73NR?2K*s9#wN z2Jt=24`FY7eJZKQB2umdfeW(=)zJ;HR~6zIX-P%NQdFfx){0=d19V#Auk_2(F!6Hj zJ(Ygjc#Mx~6>83mwciX=`=bYYC=0=@by5?- z+iq266-dG;k@&7_U?>srI_ked zwSZ_LK-~Wd{hJD+jPk;Y*!_PHTqu$PN8tWak=zMslJ~zP{u?UR^ST-{Fa>zke+qNO z1?o{k26{zr{7Fv)Pyat8(i6c@dcec{rFtR3tqHmF&sF~#Ds&QUoObQ#M$^mY5z|^E z>LyTg@ws>c_0#mzB3$Z7>Xn8Q4@jX*j4f?#cJJQyYeUmsv30@|(^xok=vW<@uz9D8 zU;oXMBi)I^=e5gi-lch4&JMpL2q*HD0eVcK^iuW`s1CB`>TPJ7kYdwR}$q%`SKdvdbdYs*qEv6C2 zFvCvE8{NSnMrc$qcgysbG6LV;2QQ1|k0w~QoC(4^rN%Rqq$e_VUgOI-A*n@|E@Y*6 z2w58DJ*5wx#ps`*3sc%~uVk zWOTFaC@{e3FngWDw*K}`5Hz`d03-K>)mI^Pjv|G&ENUEWQIlbzW$2C!em;Q?RNly> z>N%5k)m-;LN0c;k0+wQ+ZN#a%leX=Xx+99t*kOBo)Gz7gylNAdfh6>-!Cjv4pkHLs z{s|kB8O;L5rzfl#H-77vxhTs)5~&1iC*PpCpWPLPztW8$PH#)V?BqH4?{G3K19W71 z96EM6Nqt_6$(GqJ#Eq-5qL{lZHV_ycqb^Czk>3uxj?qu{4n+w$6~7d4e}k88Wnk-b z&XeNQv8arJr?#&K4RS(2_O=|qE21uDljhxeq9rL*VxU#}hgi0{qu;N0b3=Cw*=WS_C=v5_eLDd@6MO4RXlSN$SWad$bq1$+MbYd%J zt)NI&5xex!m}xXhA6gARS!-bjY@Nbm|2kpOupAD|J&2Xh{HR;S>~WXZTObuK^*&X# zPu?x{XUBtDLe?3lN{44r`}q`MB{BMpzb$(!1BauXhW~+5)a|l2fy=&JT0?_@US-Pb zpSv}95L4=oLO(>PBL7y8#J?^0_PIrLS`cvC-=^reSWv8c&w@98J-%vlEZcb<-#a@_ zr=uM6dlJn)DIaG|y-EEztOU6+E=HwGDe4a5;OmcCSs(G?vGQS_Q^8eAx;flr z*2}LD>>i>HWvgdpW5x#8Lont?BSygGyI(7wJ}$5D3Rmppm@4^UBJ+16zdY+Ld;+-lfyyMsU{P< zg`2I#+)1*3sHFY*M(K-DwB&Z9NPUuhU&XOFhS+&C$KX+vRijo!7*{j47dLLS5WmKi zMOFKgHyk*3=rMdhac!YAwvu05SEAUVoq`cJy(clWcbCFz6`eT$R#t)Ug_4jwc_%Zy|e^ z;FMyOlb+%dX4x-*|ca#KmK@TPL_){3<(_T6e3{=;$9 z19$dEIif8;wppK9kzGDdni*bwKW|}RkD`kiCJSJB10w#St}^}0w^7xOF@t!zo6__f z;YgYbV;z1BPf=P*oicim^tSmbKemw^JAlGs0>a!p^W@t)axODl19l`7;uqGGyR^2+ zs&h4O9}HecT3Q*5!qW1Xu2pEoGDUfZ`{DtW76()IwNWdRGRV$@>+OiI1J|8!Kc*%% zc}DHNq!1C`H8N6j5T+G7gbQ&-WGLm+&ZR+!XNlDej$kmU#@l)Kc|0o~JkVg%BmCqs zo&>IR?si{woi{!gfY~A{S==;FvHi*beXgXMHuZb{;Q)TSJH^mA_}sNN;uqxenwRUF zu%3txPAy$ z1SzAZ`uVfoKCAB+F1`A=So`RI9RMv%y?5Y;DiuzCNidw&`SdylbC7i%Jk8VbSv!B8)Mg zx=N{?WvlKRAY7bu_e13q1hOp{r{0J5R3RNDMPMA7(pq*QF=n-6BQoP>G zo8h8$9Y0vz5p}0#kr!AWtwrGLm`ar$y}e(mUo3)$m~BtTJIYaub>Pho3tWmhRYDyz zn^9ZLznixAVen5ud~Q61k~>Q5d$R zp}m8B9My#;=XA^AVzcb(zK!7m(*^5I4JEacG=SfTC!4!1lIeGb>UL;$?2j`O#5^w#kCLOs@R2opEhF4?1-CyQ|}1$(d> zyyV%8Xs1qp&fKXhuzHxTI8)fJG;lec?FR`Ndn5Ded(19F8cCEcjF}a)e9rrT_4I-k z#T}UuR#&k0q@O(gTNL2SX_}qTkd&9>hOk|~xJKaJ!PoE@i6UlkHG$a7JA?3@;ev*N zXp~M(HOC05!rzZ=$-Zq#P~>xZaXAz_0dWG35OX=r1+?jOwt@oD+z)Dlx12NgfjI)W zs5H@u08BJR0Ehl)6FHEpkUB%$4a>&}%0QSY3{gOJ`0-TB=8(U#SI0pSVs488p9{WR zvCA%Or=x}lfM@y&Y|Ecx1b&p{Rw9}F*6b4(EZ_FkH7?DKlUdH66cx_l9_@@s5^n4h ziW_Jhz%D=fxHx}NRpNcQvxQPx+X=;qWJ7#)BqI;=yH5AjsqXd`_`TgPGnPx9=1iU0 z>c}ArNJ^32HS;eod0XF~TGWMel1zQT&YX+P3!#SREF^ttIl@1d{qt1N1_G&QUp|8myXK#B&rGAv+a%(N2oE#gJ0UvF_r}Vr@zSJw3Xjew1Qut%NDm zSoxuLW#9&MW@}Nnpxhl+rrSQvnJ;_=WkkOW_OwKt8z?#v?=s;fTQAGi(~~b{I|<PKENBb@>L#Wno+43po)3G!;^xuN#j<5T1I*)QDu!#kqd+ z$0p&{jL3~xL8WLUGp}9pFRZtpTDQ+mw-Sex>Lbc0*WNdcQs`x2MpKc;dDFyG*88ij z>g8q@NpXroJ`c~R5Ol+(Q4?U6*|j7y4hO2@qnt%Pret zybDyzOX_A8)t^ao<_C{XsKBn*W=bObFYj+uAm~;y*Jj`%;b_3%VrV}XEimMKC!qMk z*#cAg)xAQM|KzuroVXB=S3o~8ui&wkSOEzUq<%u55M`tVkSZ{e(7k!&JUgwc+!7`B zUpx?G|KyR|m%;+wExA%asWosq8D?anDTSc|T1x!!OIYQWiMzc`Tu8THyXr*osEoR>|4%lmQTG7OE6U}#h9irT z8Y?XbvTci`6U*ODcNm~!M{HMZJm3908`9^+g&sAhfJw9iEos21_!4plfsU{4Ixmn# zFDs4|RFJWarjT%{W)rBkU)KdBJcBJY67Z~PZ~VS?gXkgqgaw-Dcs4sdBq-}`9>Oqf` zp*7PF*)X(gVFfkk2`VVT=UBt`LM#&l|O& zWH}84X)_LJfR=bjYl|(w-8mjKz!7}WIvAI@lX+pMohyS4>Oyjie!Kw6Z2PjeD8NYtJ-C^AmSFXtW%i z#5Q;WuCzfq{%Qqz1a&svgfa8wjdA!8dj0N(9vwxdTmZ)!I#?W7nh232h%$`Wr?8<> zcoNKc3{26uRXLL-NH9leR@0c@C#(^~UpRZ`!iSE%_KcP3Bx+cpn@pI83NGB~pnO3H z>QY5GGNBSyGnMBZW{Z)-&}Rb@K)7Sks6dT`=p^)z>r$(0vA<8ck~AZ$svLm+qY?tNF4btH?Uy&xp@}G#EnI*ksLKoZ zXh7o!cvt|wF%f;3hK#z#Cvh|0I87{=(YyOeSD&+gBd)V`mO&J&uUl1V$Q)GrKAQQK z^c048Y0Vwn2ZZ7mWoP%+D;j9_lKz<8Nk>oIAmbE1VnJwXnCg%kW>&f=hZS^Pxos=u z$>_#baUZQLEA6JKbfOTAUTU@(YW%8>PV1tR;G2F)F$a)Rlk7nSoprhW?2MSd{&v2E zqNBufRm^%RBIlrA^WAuA2jXmvA|)T8mi`WEWsoD>7Ipo%mUO(Pjj0}*(O!neFlD!8 z=Gg3h61F*gIr+3yX2UvB5LbzByZT|~qP|Ue3oRvZFoDZ_St)+d#MWTKVlNXIH2rrF z*Z&SmnmVArJG>s`4tGL5`a_jkiC}Xnn~65@ILIBv`q{G+^{7(3>CbsrTodG@1^I{Z z%!X?!kgso4AbXjAjnk7$$t*!N8&gh)n|kkM4yS$M*9&)A%GdgHz5{_J%;}`W%XC`P z!#=3U*B;zK?yvFWcoPohv}L{=F3RMqa3>sdmRoo7Y0U_$zm#x{5>1!ooF{RcA28!4 zKQrV0TVWplA-;=HCfd~B3SIxV!t2bN(5blXN)AuOJmIs_&yHh`r8>~pgLyybN9U^x zKeHZqs0@krA@-FosX%Mm7`=+tZf8ZuZR7u$p^u-oH+$$lIs`j&LKLy3bV89WT{r0F z8K1|Rj_;0+qbB96qe~VJo(?SwBF(Jp8JS8-R`u9D@t~%if7hK4^h=$$i$`%o*Wc*@ zAM8`~P;&spZ`l`2K2^;Phik2hM2DqTiGITbC%V_L!8?JmIwhMw^OUMw4f}Mt=|E8i z0>WZLIuOLyBC`YrP{8k^p``fM;k|P-7Z(r`bGOQI=yvawru$LdNlgRETWiUdBbm`6 zF!=^)L&-Iaxad&o?OP0`GV12dHH>n%<_v(XcmuzevgN(iOD)8m+M)q$%cdD-a<7*y zDqUX)d7H0pnnvR;u^u;FAL@W%_#f)8e^H|XsiD9A>Aol1ww4f*4gR8bHJJcX^K$%6 z{ev7W0`dPrebqe(+ZmptzvbQbrON>Jq^i6R)ownUjxNCMH?c-wXERyHsUTVese70@ z;@8?idkqqkUAuvJ4&#!U+CibN{XWz`U3Ssu7O#a*{~*7283mFnL;pqI!pw#i!SMee zpEHo!d5TWi-f;W}dB1_wlal%)oO+8Q`j39+AJE6jZE=iU`g+@40d4$`jjZi(S@<9A z$K%rZcaO_^sa?eoC510^8i?P2MFHv(hkaIZg=yBf)#eNQWV^DePOjXV4`b=f%eUr1 zv=q;pWaRN(+y>Uwo4Szn>(gi1?+V-b%j`*QN(7QO)k4Mw-RWZkVDCg~7rcm($xlJZ z(N-qu1W%iqL~$TopEqgyiL5BBefJHOvwq63oQG#yip@aSn3o^oQd;~_R{f&8W&eH2 zS08msO6v`dBpoW>5<@?=?BN@6`Vwe5#q5T#@40n_F$B!*ZHHU5Fq`bs>#%4Ek7c^a z2Ab@ASTXF%w8|8x+aB8-m#UxR$dC4R0Y*i_HYqwZ#&?*T&cJzlgpV)G_b06ypPgkq^-{yDZN zi*)}pnMLn?Hd)W|lhO%Xx%st={W5OZ3VmU*c_Fr{&Xn?^t*=QITF@5hLabuFfgi~{ zbp5WLx9!W7|MaN!P&_vDA7D3L^Co|p{KZyv*FD@m-?;WqlV7z@x{AX8HW`}q$0Qg0 zACq0S|9>XAWUYHiY-5QY_ePN2@0?%-R%_Eyi1 zKwCE`>A`QslN!+_F*LL!8A2Cn4_iEku*dIBZYrg>^$i`L+in2Fp%Zx0y)G1p7ZAYP$B+=Gv+~%Eg@u>JixAF2RsZ9 zM8rP~)DWVTNGg$tv6PZaxa!U%G!AUi7>1Uq%Z4KxI=eNcDI8M)po+j~-w|VW1=jgO zwHso@*kHg%=)^ImJy{FwA_M+snuHh)V4DXI1KouLqILd3a~H0H)(XA)gT`oo4>dK+ zs=hL@HV9wZQvMCA)%LR99drvS=2C?C_tCu(^X~7Z#xz5uK6qqmn%~}33aKmclMr*Bo4t}`pN`jeV2U< z9J86ugGFThEnM{uq9kN%1?otoO9X5)+(8*6Q5i?!Phj;FPT}SZJ3(%+`{896GoWvX z&6~(3{w*#__>Va3;7gG!>(Mcz9q!+?gv zEpw-W@hrnb1yiMghTMrCXBH+BvsaNCR6O(c@yCh+bf`#!)_xvvE70#V$CE26X@>h0 z{4f|8Hr78X!*5qR{~ck`>kbAUajgts!Y1kqurG1f$em(x|_7Riluk8nKC zjj}lPj>B$Iz}g=kT7a-=SxYX-;WFqUXV%OS>9n3J?)WPN6l7CtDFNn>xqMF*4RH85 z2h$f-m8f;B!)0&Y3Xarms-M2U;V4h3!=KVX?82X1W?=?j6@H`MAz!W(F_>uq;+~qe zPvo+m%JR`KTQ9|Xo2)mT57oD1W|aUGl9M&ylK>X`tOdJynP47;LtyfPpI|@18~B11 z1g7R(w#HA^IBsM!^=gF0{G-i+6*Rq3Vt3b)eRapdgDxur^cv2&xxYp z%d6N((&mvmyPbZj{tdm^`s&dUl=5x~*`YZ|EBWEFI4SatXk7&7&08;~{Hg8vjdj-> zTfcyy_#dL~nHtxsjOo{LTyO0Ygl=FC{GTBA%TDb{7D8AA1B8VUMk+!>Zn0_zFqY(W zoOM>ucUAZAgP)pa={ln>USE566MHrPXQ^g#Jbx=;u~xN=zOD&M3jHI0_RwXzr^PHi z*KaY$_~XrF%1k5NAxWr1<6uA{qlpHJRwpG@YTg^u3$-Wh2&$Z~9&7J64>CPAGKsaA~ z#>XZ{^mGRI?bqCrK*IjQY+idRTyT}k`Q;bcv}@1(SCvcFrk&7i@Vh%On#Vkx3^?Cn zIl*!K)LWjxc<%}qj_s~M!t$63j8~fb^YWZ2DM&$S6qUf*}$q;_i4?FA{QLa0vrm_#^cQ$aW;^ABM6 zzM7<yvoo&<{b(7bos;imJSyKiRNRO7wEdKY{&fMwqRob@H5KWbu)DczjS9=c>BZ?=x1aR&bL~lZ>A`a z5GYL+m=fd8ErUMBOYhJd1gO(iCz{7!7`G~yqNxi(R|_sHuOmf)Im7=f=KnP}t_4p< z!#^X{&iq7Jg5uTK z`8+7d4J|;(Ql&E{9Hg@xVM^@~mWGz`O()PSwu(upL`+o|4qG0nR6GCSwh3uwqJ$kL z--HUlZ`iv;RxRAbHlnkIXL%An4z7w}<7*F633~ADWNuDY6|7XDM-^6hW9;EnRN%VX zyTupQHgE@`k9m5O99fR2GlFQt@prE&BMTAs7SyMfO+_YCzzqq}mWV%_LCm|*RdM1f zJX3Uq3?!ExUwu2sNZ*Jm8r}sO9+p5~^bS|w6+^$nay{O}Ap}U@73Q?EJ@AeHAcBbf zhP&4-bTnttq+YLsjwwy=)m}h6Bp0H9O#F^}&Q9y)6AQ!$Y_uCnG;cR=W93g{~1mVKC=J#c8iIGN8t~K)6?ne<^hf#p&u&+ufYc`8K0OWK}Mfv zUvz%a))hadT*UD;xyWrR7o(i!OVy6>*J97h)S@W`MI1k;^gNoVH-*axIY;*GDBm=6 zVxO~(Ru?YzsP3{sn~u$q1_94z_zHc-;9lnSDOxO9kVu86%RDI064{a;?Pgh*vyq;s z;5sJ>eFsJoHT0ar;Mge+c0s?IZS&sA5Q>D!K|$r_(oXeaKf$7O^N6O#^}=gpv+G|RATH9%<5 zu#+^>rYmjGuUTBX=+_l$ohoIBT*H%G5|g4{uSU&skVb6^q$*`dx(*XFGEf;(PEAb_ zuv0bC|_Om_YtvTgT6A%7(nD= z1ow@SZ~$HQ9Zwqk=>nR{e#eJSGh=H?$bTy4{WPq(;*_$?jt{MLm(ut1pHxghD(uKV zR7?>=Mmu#goW?+#EU6w$gq}7=qwT8CdQ#a*7`&o48lO9b+3HwK)RIr1lhgclsAwl# zT&F+r7!~O?8WMZemVY5vD`uv>>FPyTNl<9UFh9~r6Z(xxdrC#yFnn$^Sv|^vI}0q2 zWDWPhVR7)pLHdKiBEZ1N6j(?AQu3*XfR{3hwTO)i($XmIlTH0ZyQ-1tb!FuWQRc|_ zj!%Dh5^)0ys2s`6IK&Rge^wMs(BAt#IPDFp3YghuY2nIB-b$PE=nYU@Pv#e7wEtlA z)YJrrqEIVNV4u~{WO~Tt?qG!iGA1NJ-V8-L$?=@3g(rpA)*p*e2w+6$hy19Sn6}H; z&l1QjyDHvplH)5H;nb|kZ7BoH*xWn!Z~W-cScpt=;!G6g3(-AV?obq));UlgX{QJd zhK$n`LkSzs6}>yM$rvJf#+X#$c<|+rN^-fEP~T)+8FTfnb^|l7~bp3>gTQE(FPVNs*c52oyo1g6#on zE(m#}b{Y&v9wqQY0d(siC|86rR|Gx__ZbQU%-RNNr6iF_eRLTS!;w>^J3J^COc+u( zHxMJvWmjkML@Oli0=oIJY6%uY+BK&n56t_NTR22dC2uFIS;iL(~O!xbOde!t!dg&c5=Dqg5ikHr#&zT-s} zhG~UF{aEm1B7oU_Ax9MQoTEuv$OQav+-!j4a7ncwP6Qk&!p+8+33p}%zETqir1TFU zj6Xoy{{pi81GL~b+2t#l_inxfLmjzUW*Wg~gBAN10$&C2+2X)xgGLQ}??<9UwF;Xi z0e6`d8;lM^z3?49@gA-z6#Ya{PD`-xFCXX<0j&59ZUszUI@nR@IPMyqq~O+q__{Me z8yImSV-llmO8$UgvO*!rJh{T$X4O)DU>r)xGx6UJ43H?N6W^M!omjumNdhx5q+O!$ z65i!Wz)%^6E`2Xt90%r2NJb1P0_Q>k*_0)628@f@oCiAin8YE5+;+uc!Don+fJ5M; z+Y3l>$ss8_3P|BBw0~N@BK$!5?|u6Q9)a`R>>wacHBcZp|GjTt-O|}Y+|10>*!k}* z{64xV1rqgVFHaavCqwet$sojI6F$?ZV8eP7`&ViAj{+4H3%cpm@h8$WEx=v;LOK4Z zqcM`B!Dqgy)Iy(Q+gP1O5W^nd{odU@x?gE-rHJfm{2x zy4Lym==Cu>db%nJnlm;J=idQH87XcV@;Pcq6K?vP>mzQ{23%aPJw`}fftH4`q5*YjpC^(&Nqc7l{WE506HZyc64 zE_M1oI{Y>Fe#N#=DQ3QYejm-cer{I#>k~eOJx>g60T;f09s>HEW$pLw1tlNcA4U^S z2_red8KEsH2cCYdU2f|KPL2Z^cjuOOo@bn^OYsTvM-nuITsO7)`k~otxuNSr%Rl|9 z5w17h_piP%&W!NZ*g0_RV8=CvPcXXM5d&_#DK#&Bl1|fYj(pWl*Lwh*fSTncHLI$( z)^|rsT1_aiHJ&KN`#D!D&YNA!t8|&%l+X*`*Ul{)EW(@wUTM!)2JxS7ejm%5y7heg zb_D$gB}3~sz9|IUcl@A>qHQV&ANEM4UV{hbDJ(Z}Uf|E-f zi$0EKZ7XNy9g8GhEIjyMX9SC|Sp1%9*Ub^3D@GRIIx_Dz^~Y3u7_+yxd8en!o~mzu z-Wa_-c{{ef-)|GvKcsQrGBZED`_{eP5By&1f4E@Tw0|aDRtyhNSKIEwe71XNch|tT zGr6+tky&asc~q{LsX%9&UJ?Abs%dea#00#^zBA}GxW#d%5m0|R*=>6mBe~yg#UjU| z6MSp*c&zt+t(BMS>=D$EM|^)7(QmGp;?UgK-j**Z2_j5ptRPg2iJ7>2dD(sHznedC zc>2grKJ~juj#=LSz$HBVC>si$TKDwx&ix9_e?d?nNRV9fD?d}GUaxTA)#eVFQO) z@9zY?H1OWLpLQibvG-Kp&rGb{*-F-BX5XiE=wq%A9i8pn{bD$PlVf>cyM=jw;;i-aVNOD2Mg}*?(XjH z?oM!bf(HnY*W{dg-#z#L-uI6lR1Ze&o@>sztE$)D)w|X~@#0bO>zBS@LN~f+a`0Z` z{o+L%UEAFK+!i`JgeqOI4V(|Z)%mM7b*4TI_QrZ9_eCk$4lC8hBf?GhMF;mb)1(!o&nNh@}dCDU#_MQPMvf` z3$g;mst#-k?W>lTw8&bOkC5N1S`SXI7@c0Eo%rGQH)URyVCpjb)PA&!s0sZT7jc`R zVALA1Z5dc~(seMd3KSdA$wv*arI02ccj*BwkYJ%cdY^ur9gH6RNV^Z)S7W73Ac#uJ zz#Y`zfjfvUfIDJ^4&?4CcHbVtAdzXf2=}<2DjQDVS6ZI?b zfcQX*;-y+Lz5~R|bHSTlfWCSB9(?$W9!+(6nno{a7vWB?{>fqZr=*XTA0D$udGvJo zqnFFzgM-YmzMmf>a3uv?$GtXPxLlqud0IVxA6d?wT0XE>4)1Y( zDE>N*g!%U9`UG>~;BoT0p4o-Ym)XAg>x7{Sx~bhLEUStDez#S?dG8E?AYx%_^*{&k ziOFbd@*cOT{53kyZ{Ci>gS=+WZy_|yLC-HUncq_zWo$Zeof>m^sllqX8+ z%e`@{=PP$>_t!u}fy$-vFAv-I{iD(2a_QD{-!}JsrslsUB(q=I-5*+Kdx<>F|CmnZ zZC(F-NjkQ^T)CC}ZLRH5Zm_xXWOU9}%Mmz!T}vaF@?J}eGQ5m-ySyfxd)p@-^qW-AjXj4hNo08N*A<>JLsvJbD`>+lK|V z)F_qfF1caX?N%?3rCT%b3db>?l#p2gpG@!^Cb&Kg$^1eQ5(;R!hp`_;*##qBgi&xBkE&K;hQ4=|@)vM1 zYgxj^HQBmVTFcS(ALg5Hm#^>tF^_j!{B`V2sqoFC9HMpa>p zrP@&&5g+KD*br~K8__PF5>XbV={{eN=hO%--ms*0!Er=;6QItqwo`xdm{6PE5?bw1J+{I{Gug?Yh-qOvbw6!&zQ62nbA z^WF#VM=mFLb~vu{vsWH*F8daebEYg(4bF~?K%bNjRyTjc2<=`4<-RL@MFBScRh=jl9}rZgeJ>_pw+>pqD_PTwe)DuSF3b~_!&G0) z%ui~sw-_U=HuDebvElZcW3dciVDf?baH@N z-_|hZY&3Tt@&sV+}9DdWeMOPG#x5#htF^JsNe2WevyX>_cwls$&WLq5kOwQ-tFBH zcnD@`>+!ybyiv&M_q3O{eD37k$QYOJJ3qPgXeD^^Xw|s~i{~DHMjl98X5l}4V! zA>t9cKgNp9H(Wq+VoTc-v|E3Dw*NUgyzyhW1vmcZXXKB2?lKXh%*;>}Y0{*`Fd>qk zh$!}bQtrT!gN%)lMTQy(u$3H)WPbU=d&J|_;9oxN#yq7(CI!z+k`$+3*ZnAg!gQ~5 z(Kc4DMe4*>uW(>VP>a=n5+4*Ej1H^b0y}R`udBY6J2Fy(4PwoXR4fUlBFC>@!A*t( znRsi-AU{V*WF&9BLmY(MRR+!jr0}Yt%}~r3+vchkJ8C`OEzCcjQ1cqcuu@0A%4`S+ zMhUyb?dgt{r|!g!B1oLpN)7uu#0TJJqMcU~{7l8^+vVK-6T_-i_QzA*&D`5wv+YDD zv$y!u<~}b8xU00yE_xG@m5uMMG*9x%UJTWy8FOs_bT8R?&Q{V?{LSS$4|Y4)HQ)_BM=En28~2HXDd=$wY(^D;E_ z>NozhEen=45vAJHgNJwRZQTV09BBqG>LyR&VNt|n51CA zz1zed5uw|PvC>o1`s*(U;ExFrM`Ysq*to;>pUzi39gCPO!)}WNVQnRM+IQJ_`Lqx- zkOB`MkT~@g;g-`YzjnHJaaSYEKz1Z-3hGnRckegHNh9{qxLjOsGrFB;&Zt8696??| zzcdDS_k*SI&3po-8<5{>nT>`8$9ij8zx*L7uMORh!exhWj}cal5_#aAMDzKC;(})$cx{V?qe@t%J2y$=<4;`j=73s)>7- zL9C>y)t$GO@TNH$?!VDtjQR_GrG?=%tP2#+5$W<1?JRwIo0wsiiRocg)K;40ci z7Pr^c`QRZgWzD@l26-sO9v0wUPA)ipTc-6`%kREKIMQO8YiIhQ#bIZ=y(urOira|R z4nAH&zK*L`V-4TedBR>D1$=^?u7*aE+EH|0XRQ+!%zFBqj6eL(B9a|F&h_+K0q1pY z4^BIe^Gz9lA}rbQXVHz$9V^01gmqkp5sUmJgRgqnjR79u@J*3IEu621i(Y7fq!iUI zj^aC;>O4Shk(Aq;My$~;bDh|On@)U&KcJR#0KeDMM|*yn05rNw+Bq{W`a69+gb_8Y z7yd|1va|go^=Hv?2Tw%5B%A(?1>;w=%gDlh!R^fmi1lE=cV1QEckGV|Lg#4;kVge*B#hfI5CjGeLeO*v~aG%DP%g?k}PKx?pJ(2>yAe{gI<`U!Q3z-`p1AYIE_6QSAH2@16~M6{l+b9>4a(NU99Qx5EjO<+$b zUQWuDZ*+|nb7!diG^{gUijaJ?X-@9Vj&9|v@91sKvMpvqmHfHL-j+zP+wVQ7@Ydq` zc;nXYCf$_j!4bT@?$?rh3--OvoGGz+I*S(}I=wl1`Q);^lH7e+XoEI)sS(*Gh}cHV zkb21Xo9qguiz^6>76|c$`?XO8pgLbh4MCUALt}5WV30D4xU|fel7L0OpVD%Ul6IRu zyYr)t#z&o0&m=Q^?i}1H7TM0@KHmB{-hMnLC&Y$}LQpJvaN$L*a+#jY`z5M6+hh;R zTRq@-7Y*fV>DbXQTuwlk#daLY$d8wdTwMUB|o4TWsqJ#aZV3|izlQV-Y-F-H& z*`%;Jh+FR%&umQ#oJkWZsH|BvRgUkhQi1GaaC1^;#kKO*?)-F&$ZnkylH1r$CHqMw z`c=|&C7f*~tgS46aB~#=2Eq|Yv5wPDrN&96J|Y$m^!JA)kccGT+|x>xBJpW=OSIP6 zol0XyOFqZe$2(Rs#~M|0?o^JNsxQY1bnd`kEQB+3u+w(3Pk;&^39fD8_{_2}DR(xG?cZzIMv^#w>S#PS zjyy`l%=QX0s!Yywmk2|$t(3H_^lA1a(FIa;wY-7db1v|=<=Wx9&--9IDP@b`*fYaD z)6@*5*8mSsZF})!ZP73>*@dh6GQ;>|d=IxU&s);`H6ae8^3lxvi!DxCu(WxWbZaE% z*(-y!$Ilwg*EGb4~M5U;G2%YJ9Qn>Pk|SSgk`7R#xpI==0>A_Uv+&sw=YUDor(?1QM9@ZH z#5ov-Mmo$y7y^x46oq6&Cnzp2C;`p*>7)%FhJk=8EKTbXnWW~+$C~1@FXkaV8Fen2 zkV7tI3?w2myJ%vIIum*UFvuhz_%-(QC(0opJu~p|%=c_z!kk8!PNReufRO(Ti46L$ zkY_8Vz>v=8e?sy+1TEB>{v9#{3YkPOqz6&9CrfdxkQmI-g4z-tYmNFo5?Lr*DTPr) zZyId~-bNpaR7CHZ)E{xBJ;{ki1VqmaDk#VOR9t}zsJ5)w=F;rzX9&R@jI?>G;99VK z>mV2qhhIWfydvAzK`?dCpFTqj1;9LpcaBfk#V#2iHcR|Mt=B4WD@FEg0qq_1p9lF2 z0fVxV3u`xxwLz9i>n>ZfAf(NhA^OTV$jlr6nkq#Aoh!r(eFa`{iKA&+7gHz zf$TdN4bP+ZLvyYa8Pq2i8_VF-98XM#tL44Jy#D771K^W94&T_{KimN4eN)z7fLQ^T zj^o$1<4Y1>S_tU6M0jMpoF^~6m^a#8i|!XvC9l_(BuM*S{g@D_G2D1Kgt7Ga(2rwU z@xLAf#|ZjB4g*1H_J_WNY_q7c5(BK{g4>`$Ivo7CzHzD-*5sF!o#Ve4pM>uO=^ z?2s4>4wQx|x!u0f_2nV_p_@vIi;l{qk}w=`{t~f3Ja3EXfVbAGsy85NJoO7<65W2p%qrjmMs#|9?V?wpsNZz1a zt&Z|wV_Y-98|il!%5NPnDYmYWhMEbs?inoM%??)<_^Rj_gxKDB+oAd4_4CQ~fZ?sS zVZt_jJW=uwIuBHyUbpTjI^N&=qf(Z$UnP)qx|wx;^ASMr#Th6A4xq>zPiRx)S8o#G zrK}#M9tt|VG{Uc*ckVfN@5kjrhcHtyl2Q*baSV^wJehD@t*W;aOf9aSxjVcjCO0Q! zU0*9bUKKK2D*&T@$)Dh=w>oqJma`vfXbHE%tm$yQe83o93bd5CCP11DDB64l#iD1Okj;N%!w4IBfsyG9O1XUZ!jh!Vo!c-ILc$4aMza*G>#+vJ=ntSCk2X&#-;2cSt_n+DJ{X0tAGU3n; zSy}>}>uUbh^W>SR>+3Mf=g&I73r~?dyy83Fu8sI%K0QFOm#ya%aC{?oR3yAF#Y%W8 zkQ>Ze|N0t-v2zc^8#qhOMvY`-p{HY=WMmtfY5pAB=jklt`U-R{CA~8>{pxw`=W}JX zn{{84zPEyLc;{Q(T&J;)fGDW0>+9;c8QdelzqiH6|Av;6s#I2YG(-6tBDz1z0gv+e zC^~3T!~a9iDdNEgo!)=yvGvB5CT&7EJ0sIPzP~lT&X?FszTe&1|G@p!Uxz>~r)Ke0 zamr;|sL!A5o~ZTOLzrJfnhLb<14x-hr2=>*O2`qB=dZmbPimh8|Mmm53{nYc%nXcm z^pBX5OA?@Jkqln=Ajl(S zYtY$od~M`XO_XW)mIZ=Fl_MyN|FO*OL|(NeKs%`u-T`}`WyJVZduI?!FIo!rGgCcg z5%L64%4+M2Gl*hljNM%nn+U7p0C|YXJqUPekQo#j7I~U|m!_Bo5k{WI151br@+48( zy<;Gzq0gtX0od6Ios`dP{$?geH_MjKS87-fjlgxKmGpUyxEc!+n7@y$a_4nw4oCr?44 zSP*96shFhL_GslU<&!9b&442E{$Ttq;#5$W?OgM&b0n9nDv+%SX z1SV_wET_nm=YiDkv|Jdx@qLsj$?!T!5oRaw?14GPryju~;xtf5u~3t)6f+mPEybRWix63>#~%^_xHDxNAMsE4^gf z?_OWWcLmZfkm`->C2h@9nSQU@G>&9N0EXvo3BndT%%H5u;x0~?^sXfk@7u|oq zZAMOh6>0nw1D1V21L?irnBcrEWcL9xP0a3tGnd>qJEagM_ugGALNZLUW|SP?LmC#m zORpv?G9hQs0I_46;~;x9W^kP*RGrA^0)Sijht@-CMp1M%`OUt-B8AP*=#}eryU6l7 zQx8IJLTC!D`(k3jp zr6L-vty>}5yQemOpy^JmzOrxC0yrcNRpQKevT*opK`kr*`mb)=*i};gRtiQv1IUKf zI43TOzj0ZnEyW`VR9~?igTz-yV$J|Rg3Wb!_D5#D*Up;uMaUE+m|+T6PpDN8FFv|a z+W*=GiBlX$bHaL?NJTV0l!0MIHj$`v39H8wcJLdEvnap|6zmV3QS=p~Yt2PZs5?WA zT!|4X@Ri7iRDZ>Ct~bU>Txdu+E%Zms4Z3ctU|;p*rC)4df=9OGB3g)3@4vl)H=Z&L zVMn%~0g8xK-{N39j3qpwD9s5>)wN3HNx{~L7>C$Zr44{B{tZ0}qe z-(4n#r6v|s2s<9Kg=ED}iR!kzDy@$?cx_ODq94~Xa{;11U8`6sbO?I}3_ZH#0P2{Q z5N$idQV0U}08R+Irq5!u0;g7m0yVT>sSeLEvLzOcFFU$&8~qZSz`waFm=5Pw)PvVT z86ZeT653Z8Nz+c(kz7}ey;UXb@@_(g3I!*r~#y$FyE$0JzsGIPN~yr zhIomotGl-7L9KW&4I>ED00BBc6V;N7W`H{ZeV1rSu!6W0KzTjdjNSOdXp~**OsHZ< z#LR69CznJ=b!Mz8oZUbe3K%>RL+{>jVG_eqS&GS^EE$n!04GRFPj+$4CY*f|348zt z5vGxB$!>wenaVQ#Gte|)MKzU-Gc3hMl_c$aD!Kt2KtNI$yTJivWlrK3Ov`~Fcmsq1 z9QvNq;gWRvr4lrxA!SB&quqHD9S}BI-9bn=k1n8F@Ph zbKX`eN1j()U;VkDnM(DdI+#n7mG&n`2QUsQ(N%AP&R>@TI{C{!0Uv)W?)YV}uZ*FR z;~U-Gy63QJVuBN_Mt++}B=OUE+^Van=Zi^DrG0)JKjP2*H2691jCjlStmc_FaOxVt zs3{BN9qzgb6F@&iW`} z03~2Vrl23?OMxT#(R7ap@rg18K}2DXv{Y&EG|b4YOhO?RUYXegTNc0C6)!^Cfski0 zJV*HpJi4P|VwW=fSb~K@Eu|0ave zr(Ua^u=nd1jq0-SsFG-yJ5^5D>bOLS!S>WqeB6Yz%{>W~FnZ#|sJtk-KdQ3AXcn3Z zSq+s0x-q>U&FQo;LRm^L61IwRieXNenBt%tR!}|nPl$S78sL?{xlBDX@{=4obzQAL zjR|8uH5cZ4rq+F~!sw?6sjWOAnOLC2Or@kGG5Al^0@#0|5+MeW6E4(Hq#!8&ZGmlKQQvR&UYZIOQicbEA?;hkk z@M)wJAWLHO2w2&a&Z`1>aietee&$SZ90^{{V2(? z8jvz@E_g!H*cC`QK2Q9=D3gHwlQLJzw276@V45C>yl7-JnH)MdziIAcnDHDBt4NfA zAvc3KVMZDTWy6d0c#YcI5_t)Y_nu;ha)X-?>ewP5mMOHug#^8YLxjRUAq0pC(f0?-GVg*EkPR$8!`pep47Z>eT*3#iS>2ef~%H5Ok_09AK%iG7`tSfz-_OnI$^3c!WoeCDHp z;ruLkR{H~C2WmUE8Vz40KaO+4I??8QR6vSm(=OiL?I|exM>%+Xpu%}%K>uwRg7J{L z1XqmR*lh};75XoYt;F)5oHRShXNh8{s4(&}%eegVUizj%&z7r8u&5z_6 zuBd?uBOAIgc0@bcL7R5Nc&LamV6eqMw(a|f;2)oSAW@?}x%Ent?f zbOiKI|Ag&2v-CpqAlTWrqQ*=r9dU7h`u`YAc!kAvif=T$<~}Gn)t#aQjzSl2T!fShPQ3c~bXE zeG|Chdgz`|OF$Z_SYMrnaFl<{jU%y&e)2vVh4|z{>3>I9TyLF&h@^}gWzlH@U%dL= zB>A(?&Rx`T4C#!Wm-yXt9SI3y2p7?=Pl#|c31Tkp5P9heiX#ZG@IJBkC?*U$rm$lf_@evkg3*TGbX8!@lM_~j*hyGYxnAp#9DRfqnwJ%+!w5Cx*k z=0ccEQM`LH8cnB2-h3YY5x7KOK(C?anZq7|QQp>9uC4eClYbbsZiEN`0}1>Uh%Yp0 z>KfWe`!ld@Fz*0i8;?UGMJpCcc^AF+3l=;OS{&EaU zsH#JcBfDOJ0ss28geDTk5#t(qLc`;b?w#0*kJ7s&Cj5M$Y{ld1-%N1gD7*nf|J35? z`{*D2ZzZ#j!oW!{$sDffE1+Nj;g?<*2lVLoAzb%2F9MZ96#e(!;I^E8mvaq`YX|I& zU8EvIpd5L)S7gM)`ZzgPbsNrIq#pKNB$Ek7AYjXi*OPhUTD?Ew$!dGQ`2knIYYg`W zAcI&gY2QpO$_X2z-N!W}-Pph1J5ZxZ_pNpsp~xh$g*9?u+6`BSV9(G5W^wcVX%Hh?p ztLo_NDmH@grz5{TcqH2;VehS&o37rAUngWjKwLUZuOD#KfCRTngTp4TX89^RrQrjL zSAFM!rxZuA8$T8TU(@`#QSe6qYlaEer~pA^UO-#@37acGVVkx%Wo*}A$D0EET{I1;)TFx~_sw)fSJe-GVZ z`?_LI@Jnep^Y(uR`vfTFKAY_`51O|MoS#sV$NZblYUsuae$>hjPq&IpEP!Kh=Apv5 z>@cerQ;+#&)%-dX#x~nmbD|x#HP)CgfTLvYEpBmY&ItFr6a?@22?a>Re*$$!Z~|C`i~(Gec4_I(X>L-< zJwRgc#jT9I*G}h=(8jc28HZlnld)&h(C6wCI<7fZK-YT zOhaSmr?Q&MT;RiXFgM`$OfEzYrhPVl`TnpY0MI%3C4xl8-~r=FmG-vhNd#Bu)hR>G z`19q!!TyGU>35~4^@}Q+Xzb~jfv9~zT@RLWTwmZPB}usZE{95`V=|HpX)1D(NnzTP zR8`a=zyyF2sxiP;RhZsa(;!=OccSwtC36C?; zEIK6sl@!8fZfb3_3hEz$N2^kFgKrz|CQ9#+?i|_F#Mn zKL5z_psxc-MTQ-t)PuYh73CKNfY_|-KE_sa6;%l2!M?+H<%0sIg1~QYo-LvW1qc&D z+_C=JypYiERveJsk#cUA@|i_Dupj}i@xLWV#$Y4GMDqtdW>~igKd_!>Q zs!&3xkXdkifj41*o7))}_aYQ71-$yeo0s;48JGZeuuIWV0#xY899kS-&adFz6|U73 zJcyCoFEg5Ketj_*4^Ou{80>x=Owf^nhz^xjjMg9`&0Ehh|bwZ>tyLwo4 zg?LM(I~Q=Qn^jb$@&J>3JG5Fzh9y!VZf0R_YU(OY zAf*NMz`rPoh~Ocs0Ysdzu@6KFzQF=FZd8=7ihy0J2NDjo(e6;-QKHVhqmyu++awQY z%gcax8zHQL{Zx-i^iLKTiSa;Z4n+R#i~}lkE@q8mZXH$gQ$z!p}=nmt*-QVK6|@Ul^)zBP;#&`XVMI!;buZ3o|Yuwn=fGDMai# z=67rwd9ib2Ufq5|o;=!!`OfE-Q5#VEO(gKyd)YjgCEP&z9){CMqXG zRvc(L5<8zhCrngKR4gSX1aJubk}_&iBW#?7}Ww`({^#hPO7 zH`o!6m=oS+`DKK)VjF&CGK?a-9XI_$s_YiYC&Mp;1{;!lQ3#N!Y_`8CZ$(tRLl3c5)|x zHXiJP-(04!qF#y{A_{BZr86Q^1%Q*n1j)=E+z*(3oDYGVQj{|_ncPtEPkaWZvru2z zT0T}9N5B74n2#0Vr8co^Zj$KF3`srXY7a3xKPqT=#dueOaV*+uat{d*L-Zj~RLZoi zCR0=_Uk^2+l@O0^E(Xw$BntSn{B<=VJ+-oYnyxMqh(prv%8^yuO<+8Uj;mfUBu=6i z>uerZM;AvTi>hw4^SNfEt487^0j;TiWF~su=hcArthbj0;Y7qzV}B)^he1x)SF~wP ztxaQ}556D!w|1?sC~z7C3_~M%nrfVc`Ucxq6nHd;pCg1POycYFhG$G4`NyesYak(F zm`hMB0*n_#iMe zT9E1L80i#wM*T17Sg!hO$kOrtO{jo3!&T{_opeGQvtz7N@n1kT7}(Ias}ZuT|02agcXQ(%pZW6p zzsiQ@3yA4DOu=4qjxhtlB?lqVfFF+0Zx%#^ znwEy+c6Pbg>P4T8DJdk3iCT}J#|Qgc+uOw+Kf4~iMJlK}GR47xXG^1MVSFfcb5Ce% z3><`?Whr;_UgLS4P&9bHD z=bwA@cii?`@r87jh08R5A|m9i1zOy7mAd3RS8! zhm@-tZT-YFQZtm{<&Uedu{@-Bw*ue8Xmq6mMx?zzEfHSq?*|`pmiml+)n!wa>Gp+PGf+xqX}&uXXh3` zI6Gn2qQ(1Og+xy9cd2ourc-sO#mSyZAJ-*aX$?|>M{8;Lx)$uZowz)G*);FQ9dOkz zf1^aV2|S@h|ArXmz@z152=u@TuJEYmBNFzOfQyqU&)14TbcHfw&sx|cVKGiETpreN zUG%QO6^Bbm$G=kj51Wasg9*`Ko3g}S2~P#hN~o2ZcEE?cC8#FgfABCGl{>fFzANs=C4uZCJuL%k1nH-YmM-nZb4&qoJ& z^x+Er;W9hYMuiW+)DmMz-N`LDKe$+oU{DAZQt}b5S?H2$wMTJQ#~ue_!{@o%Y$cKNCF2j7L}Bew@;tQ3UhnI2J7Y z_5`6OBs)BE=0@ORsLAJ_tQs6x?RON!C&Z+M;fRCjaE7mNsh1aBA) zQNi%SL}H|!!zEm-73h>fJ|lh(i5ws?C}pXWJVFLODtQz;A_otDMICPz7scR|(k4J4 za|4iPPg0^|j$ZXrMMW?ddEHFK6(!ZjI#v&gyX1B$B#uHqIW`;Jw4O(Q41J^krqD5b zYO?45e^Mrf39C&3lOM^JCwplIJgw={B`fUVI9!00??XEP6&lpV7+6gjHKNxH$VF_?z?%&f-2EXrK@im*j($!Ij(9pE}=)tk0>jP&l@Z9GmeC`|% zGNg`tLKgS?xRr`>u-?R|Id4MMqMFp2Sx)i6)1$(9-RTQ@1Z;m9g+X5=7TjnJN3z2{ z3!MPPwK0);1Uvpr$Z2XgNK2g~u3Jbrj4)1&8i@qf4o~M+A{k4RUpaH+;+VC2$eQwq zKAosw0*jW3!r?H}fhF$o1r{@oM6O7Qr3vd(m?EtsFT_cRXw#tIVLA#XDiX==+R%uN zuDa^fR2m1jNzt3v5EO}2p>hN>W|&~UoZbFf&c0#$*=jGAwCJ5X2aOrA30qnvS%#Sc zvSFG3wN$#EWO6y(aadGDS_$Y%Meh{NO!JNl z4c(lXaZ^N9?KN*kx#-<;Z|%TJMn<(%JDd-Cw2d=tvIb91cGl+mkTCwlRL3%N{gB>W|rs)ps`RLlB$+SvHP@{SATqshPQ*E04llMd++BGGuNf zlhUk)&MebLat6_Cq#N$L!J8xV@5YvH-HGmOej6G1(3j~O3RKC^iZNU!H{O^H^P41r zCY^0%J-hwhq+9+ZrQwR2U0X;n#>v_r2j4=coL`c=D9(!AWvj%>zFq%U!Q=!Xl9nN0 zt@d^r5D@f#9g6FpzKSSmt5Z5EDh z5Ye)tQXo1Z>q5A&@A1*!sOg70Z|bk96#Q^L_nKyd--LLqi$%Q}My23zI4Jv_9D11K ziO;iJSMh4`ESLcFSBSmL>x1Tjq8kFyRuSUE@I|AC|J&da&NkRHBH4oYMI-gD<#P3x z7Px8{Og9*bmg(xArUN(>ZR*4p`e5R25%B%-Rup3bw42ySX+(eMxFym;i`I2IH{@R! zSGmF8mo{c$)?nb#3Y{;&Kpfu)VhOvpE$HwXVb>b_Gvg&_(~#7-JQAOj9w&-Bq_I|l z3#><9@!gpOgZscB9Ed5ut8%~8OEHT}lE$Km(B;X@-1iG)G6*3{sV|7A48mZ=N{e zoKd7{1{Gz=&C_t6;i`O;{Ukh3RU>Pfzh<3ghJ&4E!Y}*##=YLAz?{NN+wZm06BWJj zL~x!6l__uEgjrg;u0e6OI)6bT!^NH?s)P~4C=Z%YaVhz%VFMOz1=;{72c?0$>H{nR zizk^-3taC&+(O3W?NNfd&l)^*p7l38K@EebrLJ#Jduz$lz2)MJI-i~o7Wam$30}1! zx?x}KQQr=KF}`^{Q$L?`VnIEQbS zJ!+s8(!%UkLfv>)7b-EF6x4Fyj$;t6IG0I|vmh&9#vXHl2pi6y+@ zK=>kN60|$K0XO1DhI9*>jkrd8AtUS9(qiG19*@A7wU{|FqxehbFUOFB?)qD@e*C*0 zEJ{QxMS1G{Wk)scNl}4syCH4SvFdf7H~I~i@ggit`rsVV6*_}tMq%;>T*`<|+|y6L zt_Y}h-x{?`uURF&0-9o%xA^!4kCf31BMY%6!BcDxFnUEtUm*b-y$o%ZazCx<}hmreo*roSv`^K#Ew3gEvuKs72!GxSOZCfAhw4syn)%;mAzWs2< zJYU*wi|+{$>Y;e7ScqU^gOutm?F{e*GU&98{VA4p1NlTb+MC(*-)MA8?%IxD(UOu7 zG1>2ait`YnX)S~$*Om5 z*5Vv;_-CxmFK5TRV(>~U%_Pf*jH-`wP!Zv>BO4)H+KEjJ*9b*r9H(RC<&7%li<%3X zi9c1sk4KSr%-B9RF^Rbu&@?);8Pc>nksz-*XM!`4eQW|RbUsz!;Yk?>*KmI8G4d^) zW>I0hIs{Ad`e9q*xbs;8408$&K-;}3;Zyahq#j| zcc-nS_f=%hx0&_SIrMi}0-6RVHhh@zT*hS!CtYvwA1ptyAyS3>!4I#Dc375c-wteg~lFPOMu>5Zg(PEzQA3k zSp^qT^s<}a5S&UohkxG%WC012@$Qd6UHVbdb~ z=MNGK`Jv;y`llok6ie=(TUHgB0VK2`jX}f<@K4`5B$Nz`yijxiode?%>@iQqDLkME zgi^4avoHXO-6I3O7~#;Y0e@>%DL$l9))PqtQ6T~etMm`|Sqp?bp|hitt+l$f6{ES6vGt#?y~>DMxIQK{ke^|Io&^d) zXH+4ZDVd6EIJdY$63c;O(u|Ix?P)V(EI_CRfSKBrA{; zplD>n5obI!C+}YMR>jAXM|ozbg5uJ@sHD%@AP=l=flD`X2v}VGFJ1g&2aBCRJ(NIQ z1pm=lV=<&<{0Z=&BKZL(amUpnVbNth*nK89C{!D11U%UElc1M|WAk5H0BtWPw7p1=7yZVq@ zk*vLCLThhjh^yCFD8oxDC??=YQcB9*Y=bcZ_V*TEgl6qxLB+6u>@*_sQA($?KJ{R`U3;Fs?^~{h0{LGSmE=TgBO?iYlA+?iY=0IfX|0ZhI7> z2Eg-$XW(YlerV<9V90O8j<7SbJH1D~O=b_ay5ceD$J->5$Nw6o#moeUS_0=}LV?-c zzsDRl&ejIT4!~KN_v~&`eZyv#3#)UhSTI&hyD>DL4T7y9Pf+zsq!?-AEeHix&1v=s zGt>H|^o8LhZAGR)Nf@gPs>^ufNAE4}H&4I|-lC^}p{&h8qS90sQ>pWOr@UVIE|D5x#T&^P(s!4% ztA3SGy>C5HI;lpBN9r*>IOl@DZKM{u%`Bxf$Qoz`tyG?q|H8rnw|6t=oFTtqsA}I) z9YPsWx*hfbuCNW=G7!0XZC}iuLVg#LLY;t3O@8)#Xi2q3q1Rq%F_)QCrN>NMGIiq2 z;r4TQu1JV<*aR^vfi1NG3+*&UNQob}G$$AL=~99$BqzD#MUWgvyPVI~)Lp8N2Rj}t zBei#`Kh-F0wJF3DWRzJLoV_Hh?J^xL_qWG~$pUWluN#0h0mv;1agOzV$TOJRoA>D#z82GTGPnEtX}{wC+*+D z;TOLe4bJR-8njc?9z_mD5%}W5cS?#IP)^?nmi?c$&O98d{g30vzKjOh5=n_Jkv+_{ zC3P!_LW&sMGz_`cFk_jiq;ALl&h z`<&PNd%oZ2`Fzi3d7kr4efr)!om6+mzyD(+muqeJ=zQ(sIa|Z{+C_sAjs_b`n`hK; z+(|`t_iQ1=V68x1Lo}b-4Q8Htrx|0bCwE)Y_zrc+t*0-4FA>XS zHX3x!I(8Xk?L>(u`@{t`+LV4~pw5VB^-`Gy`X5db{2VDF-X>csxjv|a{#FR-Zy7kU zF9q@~9rdMqV{Jd&3?3!L5>9de;$cM-mn8 zt=CqaC9$v0KVRja=&zseC_TPQUa6^O@7sDFZ&$lKQFe^o3Dpj*@PWgOJPHH0eZ|Ue z?L*hH0YI1}0EmDq7PxWu<}w9FUZ8!t+q<|O#dx65bC+B_1S|w~t8p5#*I)AerXa}C zSglfDpkQ!>`IyV#{gh(`3S`fSGs(sRnKJf%uhY(F6TbqVBDDh#cN3i&MOiZIp&vmtM`NQxG>@JvecyJcb{A z{hW8V^x)Yynp6Vc!}u2JAK0rcPbyRsyFy#yV62?S_vsGvg|*u;A5I~#Df1k}*1V4d ztXMyCJ1?pF>9Y*7_iG7)TcO5aQ8)CmSw#p^>-jM8+i?TB>vgS$qG(gO1#?Fm#Kc&|vPm(hCRUJhi$T9Ka z&~Jn{r@l_6jr6Z>v>L`qyz*s?ehj*9>ic+O8T}==jw84BpBG^Sy@uT8Vv!i73VhN9 zDN3+3udHk+b#K*DT0?l3Zf|&!k7dc!E>hQdf9JztWvS_Mc|lf<7+uW9z&l5Z8wInm zlzEhQP}*IfB9x9FdNDVq%OOy4hc=;0T?N113(~d4Vhag3{m8vyFU+x`1$ew8=zkc(PHWg?i3yA9iM5FO_+Rehfrq_I7k}wofk8gJXDxO z%OcGpsw}5xWm*p31otUc(Qz)xTg3Dr7m|$wuC2J4@dp>NChJV)D8Hm~v!07FQi&!U ziZUjk*}E6+Vhxc#aw8ftEBcKximVxQSk4s=f%0*Fe7`jQ;cYH!cuusGE$dX~_^l}8 zN2}AipQp-*#Gq`6`7keq&fP-j+gGGGU&D8`Aa5%f8eCFp*bg z`!C{^2I^lA_;)#;;$7S=!@=v(b_HJ+EUAn`xy}9k_D`V!_%V`Q&eZ#{EQ^930lRw) z33u0S$qKR1=y`TW?pRr`IR490O`^A_B=*EsE*D8|*rP7rT0{i3CHATb&hFusZ}OBM z_0O?$>0p`SaG*xUw=2Bbg`~bpK&BEat~E`haHY)+OJzlN8h4Ndh9V2DU5gh_)p1!) z$*R8JS%d4FB{bq5wv;EmQo#lI8qbYMf58q*G*~aJkW;9q&Ai)Z`XVKQsXb*h30&ZZ z`ww!0Ck7^SLh`)Z`_gTLQA5S#+O@u+-zfnVu9Kt$UCPP}N)TOdeYU*``AJ+0`|z{> z$n>9`f%M_e>*x^8kkK*nQ=6~r33`ltU*-B;DZ0)!Z&@Rx!=$iQB2CB4ZW0$ic=8MKRhKmmGR#mc;nFh*__VmY zrW87C&13v5+^3ZHK7oC&^WB>}o*1f8tBrc5Moi3tEZ@@OoPgGCjmsq$?-5f$548=< zxqS;eejIqP4FIf9fXQH#yARSlzysxN^UXVh3Ixa)>3;zqrGR;4*bf@K;+dX-694)5 zo31?+jEaDnxqy%KfFS=ia1w0!`R#H1(`z#m4aGkW4T;b|+>I3g__pC8V9QV3-os<3 zw>Hao?3Bj|0NSUaoo9d(u~|6)C48@gW8VpP$BXS&0XuI8yAt2lxijx~{J)X^Dzf7& z#1{+y9;*ldwiavvi2gkAOugW!HebZsC%_H0S+0c60rZEGKWIEtoc=Z#@_R|B4zy0X zrL*q)L+6(w3KWMHUbb*rz;_%{hJh+T3lUoi`*7bCwv{EIJTz;(#g_(s=b<@ds01|r z-jXN`+c6r43P1zhErFZizY6RW_CmFwvE!B&HsV*U?U5u@1sZB?sSqQ-&&syI3(72h~Mu11>*;ttpET3 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorBuilder.scala deleted file mode 100644 index 9142bbd05..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorBuilder.scala +++ /dev/null @@ -1,134 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtCursorBuilder.DefaultSortIndex -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtCursorBuilder.NextPageTopCursorEntryOffset -import com.twitter.product_mixer.component_library.premarshaller.urt.builder.UrtCursorBuilder.UrtEntryOffset -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.BottomCursor -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.CursorItem -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.CursorOperation -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.CursorType -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.GapCursor -import com.twitter.product_mixer.core.model.marshalling.response.urt.operation.TopCursor -import com.twitter.product_mixer.core.pipeline.HasPipelineCursor -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.pipeline.UrtPipelineCursor -import com.twitter.product_mixer.core.util.SortIndexBuilder - -object UrtCursorBuilder { - val NextPageTopCursorEntryOffset = 1L - val UrtEntryOffset = 1L - val DefaultSortIndex = (query: PipelineQuery) => SortIndexBuilder.timeToId(query.queryTime) -} - -trait UrtCursorBuilder[-Query <: PipelineQuery] { - - val includeOperation: IncludeInstruction[Query] = AlwaysInclude - - def cursorType: CursorType - def cursorValue(query: Query, entries: Seq[TimelineEntry]): String - - /** - * Identifier of an *existing* timeline cursor that this new cursor would replace, if this cursor - * is returned in a `ReplaceEntry` timeline instruction. - * - * Note: - * - This id is used to populate the `entryIdToReplace` field on the URT TimelineEntry - * generated. More details at [[CursorOperation.entryIdToReplace]]. - * - As a convention, we use the sortIndex of the cursor for its id/entryId fields. So the - * `idToReplace` should represent the sortIndex of the existing cursor to be replaced. - */ - def idToReplace(query: Query): Option[Long] = None - - def cursorSortIndex(query: Query, entries: Seq[TimelineEntry]): Long = - (query, cursorType) match { - case (query: PipelineQuery with HasPipelineCursor[_], TopCursor) => - topCursorSortIndex(query, entries) - case (query: PipelineQuery with HasPipelineCursor[_], BottomCursor | GapCursor) => - bottomCursorSortIndex(query, entries) - case _ => - throw new UnsupportedOperationException( - "Automatic sort index support limited to top and bottom cursors") - } - - def build(query: Query, entries: Seq[TimelineEntry]): Option[CursorOperation] = { - if (includeOperation(query, entries)) { - val sortIndex = cursorSortIndex(query, entries) - - val cursorOperation = CursorOperation( - id = sortIndex, - sortIndex = Some(sortIndex), - value = cursorValue(query, entries), - cursorType = cursorType, - displayTreatment = None, - idToReplace = idToReplace(query), - ) - - Some(cursorOperation) - } else None - } - - /** - * Build the top cursor sort index which handles the following cases: - * 1. When there is at least one non-cursor entry, use the first entry's sort index + UrtEntryOffset - * 2. When there are no non-cursor entries, and initialSortIndex is not set which indicates that - * it is the first page, use DefaultSortIndex + UrtEntryOffset - * 3. When there are no non-cursor entries, and initialSortIndex is set which indicates that it is - * not the first page, use the query.initialSortIndex from the passed-in cursor + UrtEntryOffset - */ - protected def topCursorSortIndex( - query: PipelineQuery with HasPipelineCursor[_], - entries: Seq[TimelineEntry] - ): Long = { - val nonCursorEntries = entries.filter { - case _: CursorOperation => false - case _: CursorItem => false - case _ => true - } - - lazy val initialSortIndex = - UrtPipelineCursor.getCursorInitialSortIndex(query).getOrElse(DefaultSortIndex(query)) - - nonCursorEntries.headOption.flatMap(_.sortIndex).getOrElse(initialSortIndex) + UrtEntryOffset - } - - /** - * Specifies the point at which the next page's entries' sort indices will start counting. - * - * Note that in the case of URT, the next page's entries' does not include the top cursor. As - * such, the value of initialSortIndex passed back in the cursor is typically the bottom cursor's - * sort index - 2. Subtracting 2 leaves room for the next page's top cursor, which will have a - * sort index of top entry + 1. - */ - protected def nextBottomInitialSortIndex( - query: PipelineQuery with HasPipelineCursor[_], - entries: Seq[TimelineEntry] - ): Long = { - bottomCursorSortIndex(query, entries) - NextPageTopCursorEntryOffset - UrtEntryOffset - } - - /** - * Build the bottom cursor sort index which handles the following cases: - * 1. When there is at least one non-cursor entry, use the last entry's sort index - UrtEntryOffset - * 2. When there are no non-cursor entries, and initialSortIndex is not set which indicates that - * it is the first page, use DefaultSortIndex - * 3. When there are no non-cursor entries, and initialSortIndex is set which indicates that it is - * not the first page, use the query.initialSortIndex from the passed-in cursor - */ - protected def bottomCursorSortIndex( - query: PipelineQuery with HasPipelineCursor[_], - entries: Seq[TimelineEntry] - ): Long = { - val nonCursorEntries = entries.filter { - case _: CursorOperation => false - case _: CursorItem => false - case _ => true - } - - lazy val initialSortIndex = - UrtPipelineCursor.getCursorInitialSortIndex(query).getOrElse(DefaultSortIndex(query)) - - nonCursorEntries.lastOption - .flatMap(_.sortIndex).map(_ - UrtEntryOffset).getOrElse(initialSortIndex) - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorUpdater.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtCursorUpdater.docx new file mode 100644 index 0000000000000000000000000000000000000000..b9941e6f51d65525b1fa09daaf410206411601f9 GIT binary patch literal 37359 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 cursor - } - } -} - -// If a CursorCandidate is returned by a Candidate Source, use this trait to update that Cursor as -// necessary (as opposed to building a new cursor which is done with the UrtCursorBuilder) -trait UrtCursorUpdater[-Query <: PipelineQuery] extends UrtCursorBuilder[Query] { self => - - def getExistingCursor(entries: Seq[TimelineEntry]): Option[CursorOperation] = { - getCursorByType(entries, self.cursorType) - } - - def update(query: Query, entries: Seq[TimelineEntry]): Seq[TimelineEntry] = { - if (includeOperation(query, entries)) { - getExistingCursor(entries) - .map { existingCursor => - // Safe .get because includeOperation() is shared in this context - // build() method creates a new CursorOperation. We copy over the `idToReplace` - // from the existing cursor. - val newCursor = - build(query, entries).get - .copy(idToReplace = existingCursor.idToReplace) - - entries.filterNot(_ == existingCursor) :+ newCursor - }.getOrElse(entries) - } else entries - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtInstructionBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtInstructionBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..933987847ab658f9b56f5bd0cdccb6cd342f0d52 GIT binary patch literal 36888 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 YZ5;-9vjTGvC|3zGBm%R?!fp@`0Pd8~6#xJL literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtInstructionBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtInstructionBuilder.scala deleted file mode 100644 index ac1b9da31..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtInstructionBuilder.scala +++ /dev/null @@ -1,15 +0,0 @@ -package com.twitter.product_mixer.component_library.premarshaller.urt.builder - -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineEntry -import com.twitter.product_mixer.core.model.marshalling.response.urt.TimelineInstruction -import com.twitter.product_mixer.core.pipeline.PipelineQuery - -trait UrtInstructionBuilder[-Query <: PipelineQuery, +Instruction <: TimelineInstruction] { - - def includeInstruction: IncludeInstruction[Query] = AlwaysInclude - - def build( - query: Query, - entries: Seq[TimelineEntry] - ): Seq[Instruction] -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtMetadataBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/premarshaller/urt/builder/UrtMetadataBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..ae39c269f12d25f30d62f0e0e3370f35c0120fda GIT binary patch literal 37081 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

mr#k#Q=F*_1Ya=$Hi+5 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

5=<(;*!)$VN!clEfd)8(wi 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 rpBkZ|g3|Fq*N@&FMCk8rMap8Rt-}CsR$vYSeF literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/MLModelInferenceClient.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/MLModelInferenceClient.scala deleted file mode 100644 index ee763759c..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/MLModelInferenceClient.scala +++ /dev/null @@ -1,12 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.common - -import com.twitter.stitch.Stitch -import inference.GrpcService.ModelInferRequest -import inference.GrpcService.ModelInferResponse - -/** - * MLModelInferenceClient for calling different Inference Service such as ManagedModelClient or NaviModelClient. - */ -trait MLModelInferenceClient { - def score(request: ModelInferRequest): Stitch[ModelInferResponse] -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ManagedModelClient.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ManagedModelClient.docx new file mode 100644 index 0000000000000000000000000000000000000000..fc51ca43a3d21f768c59d1272aa05427abd7d9a9 GIT binary patch literal 37205 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ManagedModelClient.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ManagedModelClient.scala deleted file mode 100644 index cd71a072a..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ManagedModelClient.scala +++ /dev/null @@ -1,33 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.common - -import com.twitter.finagle.Http -import com.twitter.finagle.grpc.FinagleChannelBuilder -import com.twitter.finagle.grpc.FutureConverters -import com.twitter.stitch.Stitch -import inference.GRPCInferenceServiceGrpc -import inference.GrpcService.ModelInferRequest -import inference.GrpcService.ModelInferResponse -import io.grpc.ManagedChannel - -/** - * Client wrapper for calling a Cortex Managed Inference Service (go/cmis) ML Model using GRPC. - * @param httpClient Finagle HTTP Client to use for connection. - * @param modelPath Wily path to the ML Model service (e.g. /cluster/local/role/service/instance). - */ -case class ManagedModelClient( - httpClient: Http.Client, - modelPath: String) - extends MLModelInferenceClient { - - private val channel: ManagedChannel = - FinagleChannelBuilder.forTarget(modelPath).httpClient(httpClient).build() - - private val inferenceServiceStub = GRPCInferenceServiceGrpc.newFutureStub(channel) - - def score(request: ModelInferRequest): Stitch[ModelInferResponse] = { - Stitch - .callFuture( - FutureConverters - .RichListenableFuture(inferenceServiceStub.modelInfer(request)).toTwitter) - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ModelSelector.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common/ModelSelector.docx new file mode 100644 index 0000000000000000000000000000000000000000..809c99203395387576982e776be8faf5093b9eea GIT binary patch literal 37077 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

_Z*@i9 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 - TFServingInferenceServiceImpl.adaptModelInferResponse(response) - } - ) - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/BUILD b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/BUILD deleted file mode 100644 index 80e97e4a4..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/BUILD +++ /dev/null @@ -1,35 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "finagle/finagle-http/src/main/scala", - "finatra-internal/mtls/src/main/scala", - "finatra/inject/inject-core/src/main/scala/com/twitter/inject", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/module/http", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/datarecord", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/configapi", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/scorer", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/pipeline_failure", - "src/scala/com/twitter/ml/featurestore/lib", - "src/thrift/com/twitter/ml/prediction_service:prediction_service-java", - ], - exports = [ - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/module/http", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/tensorbuilder", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/datarecord", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/configapi", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/scorer", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - ], -) diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/BUILD.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..8879678502e112621bb741788c354c36a228e898 GIT binary patch literal 37039 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 j*N@&FMCf;GL&{>Pt-}CsR$vYS7**Y1hy4#sK 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 H>BrH(%@p+T literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorer.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorer.scala deleted file mode 100644 index 67c85407d..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorer.scala +++ /dev/null @@ -1,137 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.cortex - -import com.google.protobuf.ByteString -import com.twitter.ml.prediction_service.BatchPredictionRequest -import com.twitter.ml.prediction_service.BatchPredictionResponse -import com.twitter.product_mixer.component_library.scorer.common.ManagedModelClient -import com.twitter.product_mixer.component_library.scorer.common.ModelSelector -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.datarecord.BaseDataRecordFeature -import com.twitter.product_mixer.core.feature.datarecord.TensorDataRecordCompatible -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.datarecord.DataRecordConverter -import com.twitter.product_mixer.core.feature.featuremap.datarecord.DataRecordExtractor -import com.twitter.product_mixer.core.feature.featuremap.datarecord.FeaturesScope -import com.twitter.product_mixer.core.functional_component.scorer.Scorer -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.ScorerIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.pipeline.pipeline_failure.IllegalStateFailure -import inference.GrpcService -import inference.GrpcService.ModelInferRequest -import inference.GrpcService.ModelInferResponse -import com.twitter.product_mixer.core.pipeline.pipeline_failure.PipelineFailure -import com.twitter.stitch.Stitch -import org.apache.thrift.TDeserializer -import org.apache.thrift.TSerializer -import scala.collection.JavaConverters._ - -private[cortex] class CortexManagedDataRecordScorer[ - Query <: PipelineQuery, - Candidate <: UniversalNoun[Any], - QueryFeatures <: BaseDataRecordFeature[Query, _], - CandidateFeatures <: BaseDataRecordFeature[Candidate, _], - ResultFeatures <: BaseDataRecordFeature[Candidate, _] with TensorDataRecordCompatible[_] -]( - override val identifier: ScorerIdentifier, - modelSignature: String, - modelSelector: ModelSelector[Query], - modelClient: ManagedModelClient, - queryFeatures: FeaturesScope[QueryFeatures], - candidateFeatures: FeaturesScope[CandidateFeatures], - resultFeatures: Set[ResultFeatures]) - extends Scorer[Query, Candidate] { - - require(resultFeatures.nonEmpty, "Result features cannot be empty") - override val features: Set[Feature[_, _]] = resultFeatures.asInstanceOf[Set[Feature[_, _]]] - - private val queryDataRecordAdapter = new DataRecordConverter(queryFeatures) - private val candidatesDataRecordAdapter = new DataRecordConverter(candidateFeatures) - private val resultDataRecordExtractor = new DataRecordExtractor(resultFeatures) - - private val localTSerializer = new ThreadLocal[TSerializer] { - override protected def initialValue: TSerializer = new TSerializer() - } - - private val localTDeserializer = new ThreadLocal[TDeserializer] { - override protected def initialValue: TDeserializer = new TDeserializer() - } - - override def apply( - query: Query, - candidates: Seq[CandidateWithFeatures[Candidate]] - ): Stitch[Seq[FeatureMap]] = { - modelClient.score(buildRequest(query, candidates)).map(buildResponse(candidates, _)) - } - - /** - * Takes candidates to be scored and converts it to a ModelInferRequest that can be passed to the - * managed ML service - */ - private def buildRequest( - query: Query, - scorerCandidates: Seq[CandidateWithFeatures[Candidate]] - ): ModelInferRequest = { - // Convert the feature maps to thrift data records and construct thrift request. - val thriftDataRecords = scorerCandidates.map { candidate => - candidatesDataRecordAdapter.toDataRecord(candidate.features) - } - val batchRequest = new BatchPredictionRequest(thriftDataRecords.asJava) - query.features.foreach { featureMap => - batchRequest.setCommonFeatures(queryDataRecordAdapter.toDataRecord(featureMap)) - } - val serializedBatchRequest = localTSerializer.get().serialize(batchRequest) - - // Build Tensor Request - val requestBuilder = ModelInferRequest - .newBuilder() - - modelSelector.apply(query).foreach { modelName => - requestBuilder.setModelName(modelName) // model name in the model config - } - - val inputTensorBuilder = ModelInferRequest.InferInputTensor - .newBuilder() - .setName("request") - .setDatatype("UINT8") - .addShape(serializedBatchRequest.length) - - val inferParameter = GrpcService.InferParameter - .newBuilder() - .setStringParam(modelSignature) // signature of exported tf function - .build() - - requestBuilder - .addInputs(inputTensorBuilder) - .addRawInputContents(ByteString.copyFrom(serializedBatchRequest)) - .putParameters("signature_name", inferParameter) - .build() - } - - private def buildResponse( - scorerCandidates: Seq[CandidateWithFeatures[Candidate]], - response: ModelInferResponse - ): Seq[FeatureMap] = { - - val responseByteString = if (response.getRawOutputContentsList.isEmpty()) { - throw PipelineFailure( - IllegalStateFailure, - "Model inference response has empty raw outputContents") - } else { - response.getRawOutputContents(0) - } - val batchPredictionResponse: BatchPredictionResponse = new BatchPredictionResponse() - localTDeserializer.get().deserialize(batchPredictionResponse, responseByteString.toByteArray) - - // get the prediction values from the batch prediction response - val resultScoreMaps = - batchPredictionResponse.predictions.asScala.map(resultDataRecordExtractor.fromDataRecord) - - if (resultScoreMaps.size != scorerCandidates.size) { - throw PipelineFailure(IllegalStateFailure, "Result Size mismatched candidates size") - } - - resultScoreMaps - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorerBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorerBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..974b7c0616de3c8a69ba12cd90cb74cb7f96abf4 GIT binary patch literal 37703 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorerBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorerBuilder.scala deleted file mode 100644 index 026cfa696..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceDataRecordScorerBuilder.scala +++ /dev/null @@ -1,67 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.cortex - -import com.twitter.finagle.Http -import com.twitter.product_mixer.component_library.module.http.FinagleHttpClientModule.FinagleHttpClientModule -import com.twitter.product_mixer.component_library.scorer.common.ManagedModelClient -import com.twitter.product_mixer.component_library.scorer.common.ModelSelector -import com.twitter.product_mixer.core.feature.datarecord.BaseDataRecordFeature -import com.twitter.product_mixer.core.feature.datarecord.TensorDataRecordCompatible -import com.twitter.product_mixer.core.feature.featuremap.datarecord.FeaturesScope -import com.twitter.product_mixer.core.functional_component.scorer.Scorer -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.ScorerIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import javax.inject.Inject -import javax.inject.Named -import javax.inject.Singleton - -@Singleton -class CortexManagedInferenceServiceDataRecordScorerBuilder @Inject() ( - @Named(FinagleHttpClientModule) httpClient: Http.Client) { - - /** - * Builds a configurable Scorer to call into your desired DataRecord-backed Cortex Managed ML Model Service. - * - * If your service does not bind an Http.Client implementation, add - * [[com.twitter.product_mixer.component_library.module.http.FinagleHttpClientModule]] - * to your server module list - * - * @param scorerIdentifier Unique identifier for the scorer - * @param modelPath MLS path to model - * @param modelSignature Model Signature Key - * @param modelSelector [[ModelSelector]] for choosing the model name, can be an anon function. - * @param candidateFeatures Desired candidate level feature store features to pass to the model. - * @param resultFeatures Desired candidate level feature store features to extract from the model. - * Since the Cortex Managed Platform always returns tensor values, the - * feature must use a [[TensorDataRecordCompatible]]. - * @tparam Query Type of pipeline query. - * @tparam Candidate Type of candidates to score. - * @tparam QueryFeatures type of the query level features consumed by the scorer. - * @tparam CandidateFeatures type of the candidate level features consumed by the scorer. - * @tparam ResultFeatures type of the candidate level features returned by the scorer. - */ - def build[ - Query <: PipelineQuery, - Candidate <: UniversalNoun[Any], - QueryFeatures <: BaseDataRecordFeature[Query, _], - CandidateFeatures <: BaseDataRecordFeature[Candidate, _], - ResultFeatures <: BaseDataRecordFeature[Candidate, _] with TensorDataRecordCompatible[_] - ]( - scorerIdentifier: ScorerIdentifier, - modelPath: String, - modelSignature: String, - modelSelector: ModelSelector[Query], - queryFeatures: FeaturesScope[QueryFeatures], - candidateFeatures: FeaturesScope[CandidateFeatures], - resultFeatures: Set[ResultFeatures] - ): Scorer[Query, Candidate] = - new CortexManagedDataRecordScorer( - identifier = scorerIdentifier, - modelSignature = modelSignature, - modelSelector = modelSelector, - modelClient = ManagedModelClient(httpClient, modelPath), - queryFeatures = queryFeatures, - candidateFeatures = candidateFeatures, - resultFeatures = resultFeatures - ) -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorer.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorer.docx new file mode 100644 index 0000000000000000000000000000000000000000..a667dab09570e951b4bb4bf77904f6af1e320390 GIT binary patch literal 38069 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

i*icIp!{YD&(AMzozX+eip85Y{0TTlpd1Q(Z3Q( z8skk^a~(;&Za88fFM03Re*O7@DF{K_em36U{#!1u4WD}BndT-*T$*yZkz ze6$6O7))EFT|xp0Mz&|G89mxTolS#PU<=L?=r|kX1N6Boi`Rb{S}?ZiJJ}QBb;PIvS1DPAe~E z2kDsZKg@Qy9zw6+xE*z0K~fVAb43_jMm8`ezPn%o?cfJLF*KBB=!7S0MFGT@0u4%? zjqk#R;Egt!$(FKRkxo_~ zgb)>Qt}yQ{+}UjDP>~2~TyIg_jqm4aq|co4!e%}%+Tdp z9xFo3C1@Ys*h`@?-@_I((>3bi7Z&6;$~oLCXPFT=g$?=mvAXSP3SR&HmP_C5H}au& zOujqHX*G&3XWx-~-Z8zXhG6*#oh*JQW`MudQ*X>iY45&PYxUt^b`2i=0X6taJE1~)X zO6>aY-E;e7)7Z{U-l;8a3g9s`d_HrQ+~YqQVP8Z7bD49Rg)zuAOKrc2!itk+fR;w>lnO2p!4U`0t-Xva_5$ z+sQ8{t6Hu)E52@vY@|8$ZY$Pn2K1pr)h;g>8&Ggj8SkDS&fGqj5&FKu8X{OUED%Z* z?fbtd=tp4~L22G+K=yMy7+a0)SuC1@NxF4Qq)4zA)?}#dKwcGdM2PWH)upKgeGUFF z`IXoDW;SuaQxV?T3l>6TPdKueaF>rr`>V>h*2fc}zKib|{-iXvI8Li2ng_<~a=fcI zv(-?1kAXi}{=3#u<|E#r>vxkkj)1R3YXt|!SD_!T)-JO?j^zzd- zHVABZ$_^~vmGHAyXIAYwhXTjk@0l6gFEOV^zEotQBpRw3nxD$z>je6;aFprxwK5ab z&0k-$eLHN91!SJpJ9sU9EcOn$N|PXV>ij;47ZDz~jN0yY5+5^4hE2>sh+U z(lFrdG3Nd8dFed5Sfu%6&*0&4R5NXXu?$7`M7o9%nsW-tqImBcW) z_+q;MFeGJvXMF9Xx%_qfGL!v($OAc9*pbz`gYiF;S2YAv+?SjrvFj{ zTn6smMPKMP6WIm_ZvI(hdoJO>I@W!o*iV-9pBN4BhXpDG@%#Q=66e!kc0c1vdw zbhYV8b3f8O^>BOMvr*B!J**wL@*E=am0k|Mw}%o^-m2dqE58$3+NEW--hDXzJgL*UaFwNajKy>o z>&B|G_k}bMCoET@EZE)l|Ek&YslqbVu{L>0SvuTzaH_y5D0zxOzi544`h2ZUXFZT= z`4ITtVNkU={d_w2WPk7QIxKs4EpmD;oS`D!Xs|GU(SLA#{p+mXDT9+CxRtO_E9$-f zz`cw(D$FGTZRncp&#hp*kpHbKg7I=jA&&e z3n_RLgwHL?HAdDYU)0HBKFO%alwhbPa+C)#?qe~K$uTW`f{Ryd>#p$KB4l~c9P1dy zTCC_`OV0;avAN7{el5lSt{cwy_Pk-$DNuDjP_PnS!^W{CyR2=yn}Alp4fzR9H64Kp zs`pURf$TUTKZvnWM^!v_)tQbA&Tom$=v@3!MO?rD1z{pisTMxv)unB@!wFfo>x^k0V$xX{!^GM0Z5N38ptbF!%rqs zM5g~Ck%<(J#sd-VFV*u2ZjERif3EshsK800Vam0=3)3)*Us890w2N5N#pnDH+*ij} zmt?U$spk`dlz$3MVr)rElY7^eZ!4zWvaJ)Lr1t!QL;K3`xXl}5q!6=S^2_<)#`CR9 ztAX91m)J}H(u8a7mu2^By@#Q>?CKr&>R$`ON{9Ogqj@_IQClJg&9{;y(RRDcE22sI z(dS%o`0vm5ND@pQ)5d6w>!m~)TZ8MQcV|G?x3)8ju)c@XtC*%Vxf%{l{f@wbQ+ z55lbDJ57uC_t+la_kC2x5YE|Nu3db+-OgJQC{YVHokD9CZ<*BAh$zR}BDIziaN4cw zC?;FqdN<;RRPN~2`yG?kH;+%W{8@MP^Ivi);bS4h#kR3}`{WPAw{Ssfs15GEfc&;GJPr_b5=kZl6N$zyf zH$xIbi?V2b#jMU_*UV_~WGP$x5f$|Ogj4YK9(fwwdzyPgv+hY9*mQ77f3SUSR{O~; z^3v6b@JT>^aAq40SrqFmxU zmolxwjbiKkvX0E+7|k&icF0)#iPQ ze`f8S2^Mb2Z43fR%XTyc9)3BbW6hB?Z=I9BzopH$PrE(c3}3xn4Gns>zdCpT@86Q% z7f+w&e!U#qvwrS)YZ1x3V|ke#hW2~|LtRPtXc2}o+G=l38NMZZRE>M)GF}hLFFA8^ zLXlD!rykF~OF@x|BxvhUKg&{Wl?w#SR4qKeV0L$VtN2}V>Aq-4J~og(A_JbWYj7BD z<6)XUA={9BSUyhkCn!&rOPgcnDvmN!YxX8EDG|U;U#p7aLVl6K9XsLJ)!2&7kwV8+e9z1nqrO_q?+Hx%q&)mp ztwyb*&|yjeYqbs3O-Upqh&+Tpkh*r7NeU zWw`0J#JS!YI#K?OGNbEPSbcuXU5C?MD09mE< zI}h{zYsY&&{-R@H9laQVDCueKiAq_-JN)d8rgdX}+F+z8K`*w1foa1`$z!j(9pfJ} z{nJ}bYg}vR=kZHv8vRKK-`*eIo)!slE96i!Sb4jb-8pMCK6B+GD5_JIec|U_E~`1w z98|iz&#+OTtp1e~qQc?1Ejj!+=$YT2)^<0KsT{l(NzXeQSCY4Qgr+&zVyD5_cgfw} zY%N zR{r0qx8*5EN#rqYK(OEv_J-bNFhV-gwi9>2`In3u=1qcc{o`5$>u!-OMj;oQpI0D@ zcZo2En14CqNH<_D&nK+S5ZpdAk5U@Y$w^@S1|m1 zr2%3WF1lT-&>d&pRdO$kqI6u(GJ6zeR%;fL#8r>(#*LZG$FK5c($@SG2m_5BhRor| zuFW*2)=CR&s?^&IlWRXSp#ZwIvHB-Jx^T={2ewySJW8W)4 zw6L+PPc0BCF1*ViUvXN6_Ofo-iBO2e8TGjLD6fh?QH~$b*5))>RdPApuB@PF**iGK z)4@ZC=^-;k9YL#u{n=!5?!3&=#6p#_PafG@#Rx{Fz<~Iqy%b&W2;1J3^YTUY>(K{F z418%>IaSwIGOsB{=@l}js){G$rN-hOu?@AJ&E>BOc(*I1ME6Hg_k3CJWhk~ncow}D zg?4%TsTPEFeF6mm-6}2?IP8F>b*T9B+KRM~-$pdrM~&kduS?Rd#Ukm?P4$JaJtY`u z^h=q*(pu*#eL07-?EuOP3COc^Y!k0*XgO@0^>~pmC?7deZc|$)D$g{%eXs=_85rcT z3rfmjI#*y-N>!8`?uz==n;p!#R!6MON})UUueKuO`mZ_=eoRj2@Q>JiOd%z^ZD66} zCP^)F2ovRrNLS5cm`#O}%9N}g7{+GRh`00Z^>|X*zo*AzLjK8bIssbg-0r*>IIn-m zhpVwH64&a_6oGwUiH~Sho$Hfbjd^C>Zb*D}LH%+)XF-73d30}mOWO54 zlPdq~;c5htzPW7a;p^Ll*7*Wtu*KF?yrUwWWIN%^knn}1Qw7Wsn+3Hl=EEvde4Esm zU(j+x`WkcxxUDO0tW-%9quj_O-k04K!|i9jFY(zN&ygF-*ae}R+Irh~M^T-aicUA& zE;dW9?pxR{aGmhpbTG2pN&Og}a}LqC7cdQchN3vRJavq@Jf=NiBtaKHxdn=PW$&zw zW(mpyux1Iq77Igm*7E%R8ofDmHeZMP8_LWLzEk1w`ti${m$E%XHDU5hdbCrAA5YHY zB}5%uXPh~FXDXzk{?@&;yuFEK)g4afXL=d*PVDJri#(n?|FyLIW|eLEVGdV_wxpl@ zew);gOQ|{?u+TIYW1rzWfAJ0@xTd=HV7l+u1Z_HJ?15?oa8Yk$6bG2;hyxD% zFvqi@SD^I=`RbRBkkvpilh_h~s<5NU=8Zu=HLv#lLX@0lV?h@p#Uhs-_zp*HaRC3+ zCB&v5_b}oJ`Hgfk)r|!bFTCK^UEL1BkK{yoaipXQ^}R|1>Q{An3;*8glON5YN_D2oXmR9L03@X->{$4f z6~C_SO)eN9ILUm!$IFzTQDqGQn@R4rDx)29fqD?tK6Vfj;Y>;b`sLMn+-oH(g%{O$<|3H0gFacY2a)W*Q z=`LcXeFbUcq%>FoR|Nn{$3gOu?))pgPHFg=5nZVwY4usXF7p@N0u(N z3;OLrMVjs7tmV8MI1AQAkf#;OY=7agRHvB$XOuXk#dcT z(7bh7UXn_(SM^r^ZsOLdAS{%s$D75cHpX-K{s z2UF~lT0|9d-e!hIJ(I;#q$k~WFhrIz%Osg+i+X2CicN@_fYtnSb^k$FpzB^r4(WYe zU#ciG7cKe+j-_iPZk$^ zr}$DCy~fz-c!-6Sz66dIWGV5-FERBSR=&1YDN%zyy~<;i!(K*pD0N1NV?0zW6m_Wi zi??UC4^}wdt2p4JuJKI?bR#WY=TTJ@mZ;J4MhgvaGF`Lu3vJPsZS6k~sQEq)nI=1@l zbc+o>ddPX%${+66QJ*#^CHkN<2`Zu;cyT>``N!Z}C@dl^*E!)#CIu=jCDAKBA@8ba@*DUqvdZ7txs2vHNJ?S=Y2X6sc4A_qCOfrP_&{9X$3yegj7%6Qy~_l(LHfB zz{RZV8Qp7Eb&@6b=16F0hy_8qvxNdv!85uRk*EN)R$P}8eTg+FO5YOV%{;`p_*xlN zNs|LcREMrtjC+MDFuv~k$@t3?q4D{RLXyJ_X#RvoH~NKOlsjTW!+sI~)@tfs4=a72 z+8UcruzfUOj4$$Rz=M*%5_Yd!_kFkbL=Xp31emEUPe#BTaOpi^)$lb}feei_8hHkz>w=AXMW!T`aDYrl(gXTT(^WT?$K z%oL%8V$Jv`fbqp*(t?|aGD;hw)qbz4!3&>oC9h{jixtoz_d1aI4~-P%X}T&!OS!Ut ze6I-o@!cDuE$`rSYQ}a!=*ms_w{NLY5G3fpR^!9=BOr9pIe1XntO+x<@ibzzX=sXD z;ru^T9!URDsYcQOQrQptMHpppVF}Ua_0Mjn0X92RBGTj*9GcGqDoKf=DUe6ZM^;P*Vi#RUC6&;MK z!%Zi*p-xw+Q}U2&m~LT~2e`v*G1h+Teu~$zF*n3C*-h6TqUo~A7@gTm!n0&5qneV< zs9z%u2S_FwAK&PxsIHc4YQYr{iKT^C=w<`@lk=J*0!;U-9I4 zGj6ujCBbZ7n&itcCwxox8+WQHoe1l{lyHxbPL*b#CGlDAvk@deu@U@RVJ^`Dk&9>s z=H%ZBUH`YjtBmWA$+)cwZcmk5vD1L(r^T*BR$no<2ceoSFb|+=si9noWW$WW5gcF$q0%6S>0Jb*FfEBE*Qf%Z&=_Y_juW2F!lyhwE_)NwHtQG z4EY#)G5SA;{h^loiy8w&4J-F&_C3+Mxrm%>{1>&W**J(=fctOiA5@qTDE|-Y%dP?V zj<9T_P4Cu^oyPFTm1Vscc5_*bjQ(!F$+QDHnkd^(L@*;L+(Wfcnd(9*LgZ$2A1VpX|`xkjL8z*K2^Z$c<)>wA?F*;>y-SHpf zea5nns#*^STFok0Kl+@1z#gf!#<6r78E$p@w+cNpaI_(061}$_jeW|yeOTK4-dO}y zT=2}OjS~JV3Q(IkS zw879vYEAtWxc6Bt^QS!fSy+~p}&#a39&%TzMLc!hKw7W%%aVjjn3`rF8Tcw$;V=Byr7Qru1sZa7K z&J`4wMYnbAa8|wwE2PaeJYh?6B1_JVd70}Rch-d#x%d^qbGFB2Kd&C=Ktc$;o>5t# zDI{=pU(S>&rcr;mmz?9wvw~>i(72A8*cso+_5 zTry6eIJbJfSIVbQZX_l-C(2pbky2K;DVOv`7xqhxxfXMxPxY-GSCKDtr(Uy*jgKb9xhedT@|%2wux(Xs-yK z%PoU}ZfF23IOwu8;cPO0&pFFJm|#DWY0E(9=3q)3e$cFA8#0s-Ox!ON{4-Pwsca%C zO9>6HSmmu*NF2n3DI5c9rww-&Y*tH3V;GJyKm(b@zCFg`5~Aaob|=_`rQTSO#EE-U zZ=wd)MIQ3cFbOr{&p8Jf3cdpkLhJa0<}OwVs~d9p2aU!44rX$QLu+|_bpWxXx$GNm zi|s|7JNPC{%!N4F@54J2ww>RL4XK||dlAv-&^o~4AbSwe*ho9Ta4ExZe?s3vv(R$w z{bDur^FZ2xzH2tfI-JDmGhC!L6z$aD>gYKgP8>wM0Llm9hATV-jM_})!lQ8f7OQ*% zQx&zf26rSiAO%e`+`*Y;Fjz(qkKqlKPY`B5cYs~v^&!f$q{Cj5SvFFR|65#?*dK9t zK^NkeUq?nww)uY7kg)X=Hvqv&q5m9U>p%yXCLlPYjO%MaLr&K=bm8eJ(GVhQ3|U8y zAr|YEwD7YYOL9tM8xZ_jbKwHQEyNRtrN^xV(~$PeEqw~sRB^c-RJ_wNQ1MRTU`PCI zTA=>Bc(&R4|0rHfr%l)Q$>jvre<(!gN8CRl+!-gJne2hIHddp_DRrlX^DHIAfY6|a zh2D-IV-q8lv{#oMP&xJX@xzS*w5xvtuldmLmT%N+NvK#@+=PG>bUzRfI@&iPFJxCU z7mmE(b&Cgp!eQ;Qet9#ATF0)FBP$#h$)npy=2o-hHnW`93zr9d9EP`7uQ8pkJijA2 z1N)UR@8_n@gM0F6_}|25#U*`8UQb+Qo7qvxP1o?y+&}STXalG!N^dEycId3;7AH=VG04iS4BRmqKF%Tj@;CuE(OZ-H&<9Zfr zHx52#Q|}9-2;4HZ;-VVHH3!%_#`Q@adg$X0Yj+&(gN^aD{0S3#_g#8&8Hb2QA_Ot+ zZ_?Ypsc;rm0f?X?Ku%1jPU9e^5am+PUSr~6HB47~YL5taAFF(Revuqb+BnqWvNQT_ zbj@V3wsLp~qqb8_d0+|FLUphtMS*rLQ5(T?{n~@0bYgpU{k8Lzvrkw=>JL%ZbhT?` z`qax9fw$fsFIuB2Prn%^Y&50e&gQ1keSyFhZ-1& zZ6=g3$qK3(bO3A&*a8=-&Y>qrC8IgeA zLT~FT4U;40m6n&$Z9p3oDG8P-7A(YZ|J14Ea8Iml43G*XMyWW0&s;Pu&t8DKb1Si0vi*@R00BtE^3dprmB#G8^^#K@ zK+;!`C16iW0I7a4xAd%#dgZzIqJF{AxE+!Od3y^%|B#EHjsPrD6d5D>e#1Wy?_KV~ zz10~&QWjH={X&0tR+c>}3oY^qUH#(3v$r}5lhvj7`H$ciH0s-RJ|~difPV`P$S#Ez z`CD-BAHf%Y1XmH9xVW-CYM$71c|nV)lV~wKB$15Tl#`6g{{z^)w>l{>=AXdIZO&%V zxRXO**e^G?K((TdO)Ax1MSME966vaWra)0OMBovhvJp!T z$aQV$w&n3n{(3*)XOy?=#`i&@lIFefce^bfzVZ`3a&zRw3<&butX3>OAu5B;;5|JT~M=0BPY>CletqJZj~190iw z26dDjS_I(na0S{5L$Cgr2ii8RSS~K$k$nvcjFMrXmfmVZGR&cl}b)4rIKW z*#8s2LFo^`aoAq~_V;c9dr-seaKooP#L>%J?)()QiuN5AfsqiF{8?cHLE9~tcSop% zfKRENetRur>VA8J{dfrWgx+Y7y_dqh4m+C_|4^V8I6FY(1mU;sj`(#r1k;iqmj|xb zVefR7gm*KM-3xr!A*mE>IHEEh(VlRfI`wb*L(YHD7n@oNZbO62AMCUM+9SZ*4+c5^ zXF46^@ZQ7g4Gt|zt!bxQnd|#)uT>7Y2<%lj9=nB`%kg;M;gJ}Z;@CM#AYd`^aC-Wnq^XFDI8d)47>v&WRMgV)75VZL zy1Wr=?P{A>Q>x|-McO-F&Gjo z%?F2y1T|sK0iP-+pfssL<7Lulo^pdqSd!JmSU}kMV+V7~;DlmDq_z&M_KLd=6XP8| zp2fSQi8;nEuHtolV*}=;@iBZ>)>`(=3jd+8msxLiO8}>tLa1#WJInVd%imJV6?#;f z)YD_(ueKf)NSg=A+8@{%#&4^}{lC)E&Dr~T>*j+oB z)|6|UD&$FB!;)MQlcHWOM=Y{YM{M$CE9A*L4-(VUF_=?M%*~PUzH6r{E{d9(XPvA$ z#i6vH*4G6edT?CoF=O6&h!uKCFQ^ae_@_BhRVSX>K!5H2D$7#nlSz| z3ur9;9Un5qhNmN~gj6JeG^Dfal(NJ{1gmyvRRPtPz7I+qKg?rXZW_ z-#u7KJZ(%y+BBXFWwVm71thMuKXiz3*0P&vCZ9Ydr~2vBGK{;pP9gD|6dE>sCiAK( z`$(l(#Kv&l*@L{CpxlIQd8nN#`Wu7cgqERx=*(uKYJ{C&2GkyzYQFu0qM-5pw0q+P zfU$`=sF48FwN}aI|mGiF(C>1dN9&Sk^e+9EGev}?nsha7(2o!_(%2llwF=trf^Q_WzklnqF~`L zk4|Myb17ij=FYiq{YSg@d}NXnPokJ$u)*O{yNcwL{=U|58+A|+bexVPdgxG&#O`#T0&aqP^+Q`Np)sau@O7_^LFk5->oita2`{a&9np7!)=fJ(@ac38`<-SF`}= zJ1vX~{RL`uI7YzP_;K$$EO&zHRRyxz4Wwmla~ zoz_NyxhZ*x1d-RpT38H9$oziR{cwttm0Nq z-*PrHVHmYrqeSpJvU!epE-Hl>bO1t{C^X9jbw;KmNCdq)o(H(42=uk)Ne}{6l<*H_ z@Xh_e9C4N$al}l5Cm3vquQsU5#fhw1BTFdQjy&pJVSzaiV$cRT0oZXaJNgU9y1}XE zuuTt@i}2W=T(gUFA-qrc#DWb)gK?TL?~&=3rv}n%Pl_gRX#S-F5%q5s!9CYRisdSr zRn{(*0f$O_$oi?x;V9T|F3Wgk~63-RAwHP@vI8G;nCqUya!6YcL#kEEyngBhXrtMVcbi9?{Ilcy=*|=fJOA*#1 z;^q2>NJ+rgUkXz0^%*WxD}vUjQU%I&xa?6_+g@bwbZDw2m~7X9Q0iyHZH;*h8jZZ^)W1k=li6*?dw)qenC{{hnb7m)2Apn2bk zPM}Qgo8=-LUF1fod4!-1ZtPzOg5{uRivx=dCLQR#AGs>+3Vf#v~@uINs-L*R?Ais(b8B7PRW5F{ z3q)md6$^5jG)ja(dFaJYWPdv_Mx~ibd~L*Y;s~FW0aap9uUPpxtkaX2xgr$n)16pR z9E3LsB^k6hf(toxW2X2iC@*GX4&>l{0-p?e%N3WMh&fUk0a=i7*FVK2o4oYUKZU2j z{&DG&)EGuqmujNehcZH`{BT@6}T)|wV1u-dwp)S2cX$nKfQ~%-P`r3 zH|%;pnBG52e}6oGe|kG{Yk$q29^WvydcHktudYTtKhM4cZSCLeToV#xGQw%^?yMkg zO5Zq`djp`Rr?{mnWox32yBYDU4ZBSl^YXrQFP$EIZe61qI*7PEkJxxEZB0Qo`pOa! za{cZC6DWIiZ|!5XcNfiFJ?`RoHD~c$w@l+}CqmP`4D|4N<+i$ZsWtM^7plJVEwX(~ zu>kt|zBd{8x>@h7jr$aIKQg!ap96h8gpE2%+wR=+i{JU)O~#!PhO>jxLz+|eJ$+j` z-PZP<9Q)I6&#Z1ePkB}r;}et)rRhm{uWO8qLb6tKLe>VCe)?7+U#-9GU4CSl9u}y! zbKu>^i)#oQXK}Y916+I4=v??Dout_u0yR(8x&b_Z>ZL_Z>&n-bH%BW59T>?~{wS5Z zSyyYG>m94hH2IvAkaOTm$EFP~Np^z3C(jpVsh_XD?@Jp7b%H{6#C`k4gKO8o6kA4iMUSPkwRQ{-^ZFYOBC4h;f2@sjN1*PQH^evtgS79smapEs+*tJCa;g)j;(KZTO@V& zseCtVY>#ii+Sj}O->ZH1=jg&CU}zfM063v*H@!RL;oyWf0xnqaN_pIa--}B^{rM-6o zl7sis!H~%{PhamGIar}{;(QU}tPCOOUe0YrTMAvC7JLl0&0VtxcW-|&??dwx9j85B+&N6U%}E5LztwEnsov?Cjyu5F zNU>BaMQm7W0isNJfeJdC8(Yog!@6Gi@voIbeJs-vA^UR&psj+P&n}O{hGlWtJZ>b> zgeAZpc+dUfg~Q@kgT4?F55^}d$X@fG#S3;ufZU(CEsXZaRYnjS_=xY?!d07wQ$mBi zao#C?(Q1HUwb}#}gz5gs#3*~guxb-ZBJV7k4-5o5?(t!D=*^p<>-5;nO-2s~yV`b5 z(>&AZr^U^dXBy^=Jclf<55&@Tt45Lbl}x6seA#+I=N71_VG?7I<_injJ&DJ4jK<*> zJ~*s0^~#8Nl-jk>6{AcW@49bYtC{f44=v~H9nE(*8}TUUChYIeO)EefW+}+(RNN{W1-Q6WvaCdii zcXxMpg1ZwufdF|;&bjy9bN}ys|L8&WVAQU;=A65#dhK1kdsU)X*MlviebMrk7Fn&594qtlPF7eCths?5t0LS2rZHh^{+J!uf@DsDR*f?6xKBLk~Wx&g*jiDC;n z^-}|EIkef=LwZmPBt)p6-gf|J7o*o8%KpR7^>|q`2%?fQa0m4_;0~fo;Eq_}j#{x+ zNc(?7;4QZ(>u;47#IBf zJI;SL_z%ssVvUfCS|nS*W~jhs@6r&h94jQB5g+evqkjb*5+7<&ywpf0bb@$$E&9+4 z(6>xHfRCKhqp8l!(C8=cA>8XXJUNd1ko48^$7A-ah?%LF+AS&-u!E1Z+SdPl{Bjj? zc$hWb|KnpMuB3q5g!h&!m+SKtPn*~8W2^Zyt4H>#k$uh&C0{0xFyDTycD(dF@pQ0u|6)-$rR|6xdKaYBcEy!B?S+!|@?g^D^~&AW^CiegplW$S z=W*v@U@T@rF2iR2>(+tq^um|K6!t6oha;ODZ;_{k?=va9Z5yAjNXIu;sXjjm$cuWktEUw2;Uss+MJpdkpq@m`>R|Be|VyXV2R ziM7CueH>}bpOb|KFy_zBGWI-Q6o%7xE$_Q9hiD*$IC^}`6M47RSwrF>~O6r zFvl<3r+mW}f+qV=SKKk+vUCS<-MbXvKhDi~dEMv9a@UjV>)ub`d#f8oaB*DodU|<@ z5#`S~^uE)4UDzM5e`yrZ<-n6EXLxB{`_9RTM{kQ{_qfQG7OisAEjQw})8_5@)Vh&v z7+2&lAZ(i)U&lvbn@1p)R&{VZ#eJ;0R+T+-H;vf@`9ksG%%D+@TfS?8u!UQm^}M!s z@AkS`+TJA;1yh^}^VZmP8tFLnT*rWu?xK0JsNB&L-_fp$J6;GJuu=W7zO8v=o%$v=m$5c00CF?)@5v5)9pK@^<2Gx5x#{E z`G$e-3wU=WU&i00x(Yk?le4=Mov@~jdhVuIzPNkRdG8>)VfVwLoiEn8Yw_i{McvqH zBMuKZ)PLG?)_xWNY%aTh~l!Bsx0gi%6dIrJGP(-5j=;3_Uw(jy_y}0hb}aOp32MQWh!PWpKh5$VO~! zx4vjxHX*k<&YKWPo+|FJ=1Of`HtSozyQ?>J+{$8Ls`z2+5`8clld_%i0e{NbY-!_@ zuE7Rc^{GP1AwgC8w-N$&o8XoE(sj+4H!nAnqI_XFO!cL#g5-_{%W=XQbMJ9prR}Wb zk6Gyi4_a4q<Cf}d$&sX{tB{sSD1uf z+FaPU?cW@}`JJ+M+q#Z53rt%pC8;5Xtl2v~6zyA&w%;m_;JbCE0P2Nx-OJ9S+z2P6 z-ITnw+8(nclsTu!ADeaXA?t)2FFnX=kaV=czScac!8p1rvj}}{4deoG$P$nD*g)8k zC4hg_bgaA^xwze@etSs$MIJ6Z(DWg;Al`yT0D0qPuWwi2F@&YP*XJ_oRv~x5%R%1i zxr=u*b3(rV;`Gk5jo`_%P4@vTfqUW^c`$v2h5zV{iKHQvh)3+<1S_t=J%0S+=L&Wkw5Nx$V84YGec3NOOq1Agi3xQqB!tPy$44QHZegK8Ez!N zR&q3!`Q-=inSfV|fAzE%`;;D)9I_xuQj&2~|Gg9n)1%&1+eEnzsS8`Z(vc-mEzaOc zd`NgGCcI`F?4l*3zUD^m*jNoVm^CL#u{4Z|9KU82Hw6x4@~t(K`~oG3k-Y65aR_ox z88{D+%BzMpOEGI=m#13dr1gBixbX9on%5+jl{)5CW>YvQTG%yyUvIo3Z8v@lLE@}V zYQ)bmArLnU?L3QFIN?|8g}X*qEJj7=Y*onshVk>5zN1G+ee_w`ID}}U+K*dV4cvYk z=|fM&3cs&a8A?GH=PJ%$ujU_~7}l(FKA!1q<=yp}?<6^!za^Zt^m|LdU8iq#)0>K{ zZhmW{d6HN5W~edCoNou9yGyW`G1}1=I~sVH+4HxqK;}pQiq5 zY;e*2-Nbuxz09Yy#gk@4<1yQ;c(L{wZ0EyImvju@m*L@8|B0s^S+MNMXw~LkJiHqp zn{FuJNHb(fFJ&4ZBPDepC~WQ92Nybxgm~DYn{P-XB!!C}J*Ezb2tC$}RbHAlUw%OV zzf6cYDihz&#vNhsbg|~;RLo=*epf6AYbUwevB$>Cr-hh_6m;~6#Hqgow~|ryrOTt6 zy9QwvvNLf@(14P@=b$BC8nKtg_3~zi(fuN8Ru!`M81fqWr75Im04$Yn_7f=Gp!|00 zTnsEY)?4$&)ptpGZRo~iUwdtqYzDgPUH7(Cj5e>^KB!Tt%m-ChcDZvy!IOblqLSo8@YF{6>c{ z9w_pY7KYQXDO9{bq$^0WxAN_4W`uwdnM9h1PSupyvwVSc_@CgXy~#hrQj-mb|bkZWCGu_(UoB2Cjas4SavsDSJ&c z@E6|nG&GXcj$`_}>YTA)HZtaA0^olXlkDnqZe-L6xNLBHa@u=dY{>)=VaZNBi*9!9 zS`%I&Y~VVMS{5W5e$mHn3iJerZ;ldb<$OI_@!I^nE(B~iGc*}=ehr(m2(YFA?@WZ{0iGrJJ)nIYM?e{99A* zz`oU6FeSCjWb-1#WVFProL*H_k$bENZPMl~HzC^w6WfXzQ4jllm0hKDbpwIX0wKQi zxG}B-)D+05A?VS0YV3~{4pC+kmzA4P60jHyP+HAX((cgbbbZv-_^6xam28gBor^oo zBHMM+&)YE1JAlXJjM#Wt1d2ruF1(~wA=8`nuuN5Nm*Q!4rw<(OqM=+bpEwys$O#Cu z*i8UFkv#^tEEl$@_G;0-KsG&^_4h*u3h-c z#R!H@cG@oXNl@Wq!SyX1-#Hd0<*ugjg9i<}C=#bnolO@eQO8M`Io`p>RVi5>65&X8 zRg!j9zAauPdO(V9R=2SGE`sQK< z563#8DJ=5*a0;wW=A~-H#n_26-KXD)x}z_L1GYKbc$EZdL&O#v24{-iCwXhI`5F=E z;?#MM3Cdb|?DsZ%`QwmBRboj)(WfHiH>)?JtIwBOLMIQzXfdY*L|1|R5_dw+-wmm? z1nE2{SMxJ_bvl%bg|ZDnYwIoT^j@(~Ha{LNshJdM9x{{+L@KOT0ibv=Z}b2IH2DGe;CrM~Lg(J$ra~oR5D;Nj zra`oYS%iJ6_SNx~swsj?022tz;%6tELnc+<&Z%AyL0f@Qmk<~l>2OnF2sCn06p~Th z;Q0LDL^PA9({^|m1_G+^bgiGrB(*vpYfH*?EJAxT>s>V=hh57VNJM7$(8QK>C-nni zkV!!BYaQrMl|w;#XW`+QAK1c$IgK%$#|SS0q5l~Y8T4Nv&sWWWAzd#1gyeY)UaT|w zJ7gvlGKpYlFQRO3w&HjZF_@DjwG}$nI`u;ovQUIlDx--04B9ZftpOCNi2e;}0OD## zvNMech`u>gaIVLhxB?eYZF!09mHC&?5Q4cF=?hdLbzlcJ!7w0>zl5rJMRsn2Vd|eh zeTEngg!viKH8E))w`_9MBJm5gL95Wc4B4+0v~MV20pv3T49aRAto;nuCavmax(W^n zGHagG+B^-@ZH)~KinB4?T@cJgT7POE{ksQr-o~?_o-6TyAQ%w%sa|9yxdEMx_Y;E&bhS#T&ISm}PmrP(}lbkmf^J?Z1Xv*ACx zW=RtQr0s!d1)t>FT^NG@GXzC2%-+r752@Kh%om6oY=-&v$rlU@Jww+BHb!(3WKN=1 zH+!7_<|8ExVMyW3prr{Z_SS?z>>n*-(2eZ(NePR!H3&Nr*>5NYo=5+?=6o44sBa!N zmf@KNo|rCI>wAZJ|IZx;z$f`Ra_jK$cnh5OP2G3_W(8cjPG8zju1Nf7A)xD%;F0li zpS<;B-)Q$NdtOMDykA?BAszY*VndyOpi0Q(`YbV)yX0e2~I^9^{t7Bpj;`$csh8IRQE~YjDN4DEX2-^+tM9DwsK2mvk-+7?u z`g|LRPF=})l|a(%Vb=Z4M*zJaZ>S77gd%S`rARcSlH>U5pn&z`@p&P zFd-K@tHuXM&QvIj?o!28UNNIPo;!_RZ!C8(xW-s+{5+)zriM`0 zhg7%cCDGg~&cYzg!aI*SxEq}Y=UCce;M}hN-%;9E2#0sc(i7?2)(Wnlr_M#)UPo9y zf7bn7bcWpNozVGqW6Tfp=@E*(d?UAz<14w7BH=?BR^n5k+)(z$m)CfV-3K7v;CV_8 zY7`?2Jss;5Birz7%jdX$FBciNSDvq*&t|C zxq`CzAIt4etk*7O!Yl>+QVdQH(vV@uI@W$1z`@Jib;xXpH}WlKAAGa z94I3H560gj&IEJ=;|P6ve)3p4FbHFu@{0_5`^ABv4Q-5_YCP%N^fd*qS) z1#FTyJ!}sx9~=8GF^>OFG3IJ)zbu+6sMFGPg%l}Re`#v+o~aYmb6;bYYv%Ok&{}1I zcTH((VSnR(_BCRmZbHPE#B0^BP;v>j11ilVE@Z}kTiD{Os6uiB{JLzdT_eiU*Sa>oV5p{gNS*u65F z5JOGG6f_UK6?5oEURxWy6~D~u#37W-x>Zdvm{8IU$Fa`s4Ei8j&>4h-)n+n8p4*vu z8F1@=%K^qFuPa(SusM?)MMlNwI}3mKP(X#p{FG-!d${yN;w-VHJya_DR#90V^pIZL z9OsbUxOSSJmH_nd(3&t2Gx1%;Ee#9)Un<-|15I_ULkA?4U*2wCB>xKumwb&(pP`3m`D8`iuYaugnEGzTqvF3H9!r5%eEeUm7&bTv8ajYF z4yjMLwe%u$AD_5c!x>t!>^6XJ`Q#1aS{3_Bmti@ZK55A<71?NG(+1JeGrjp8O>c7T zm3_Moz#(y@5^v6vjl*XLYH0~Dcy-^wu9gb0Rxs`zL^iU)IdxV1jmt7)B_2hf`ikWg zEWS1xdk**>Vxh}(FgoY6e%^c_LZ%?W3{$jrO09x;`O%%y;nyBWyy66!GuGQ=8luUO z3=Au>sYJbNcmtlWqyKokWg%XW;6T`{qMsODTON91{W)sXYOGM9pF{zq`YV=8g9%R3 zVq@xAQ2=6I@J)Lq`gYNen0->5@4Nrh*BQ0s!@`sUO5?z1qgG_jyU+3}DqB`bGJ zRd?i7X?@kf>w*gv{kc|{3lRh8+QibJL)kN7=+UhPQOC7}Xge5|LlLkCaYETOeV1Ys zIJGJjsG6h6A{>@dvY$UI;0lW^%5J57E(4pE$0+Lw6F$zo+ zC3Mvw}^0^4Tw0>x1{r7q`L;$^1pp1R^kwUVK9j9^eh z1n59bR4Xo;LGDEKJ)&j7O5!pA<;_?NcGGv`F?OkQp~_tmbN6YSJQ7{i+41TKc0*w( zVDKmm{RgAPDGV!RDJH}66hxjuoM0(^*`;yY2=*x?@If3zm?pAi`$Y~HDyxjoK+}X3 z)l@Riu@swBlC=w{=mv2Bfyv?QhKH0@xk);hR)fLth6sZ=^u1>zr5W_grD#aQ%8dBV zq3n^mEyY`o|CcNdn$=sk&L>qhKdBlb>Nhr9os84W{9S~3A8VCkuWPO^0bI~bW%|*b z%w;J`2UBB%7>8Bps<*)xugig5{NTxdw2MR$ zKV8JHxrutcm@_N*aWgBkPzoaeGq6};a!)$t2GM>LIFcXD_K6Um zC{qzc6!uBWl!ng2jor&76yo5OnLV*(@oU`hBBdP(d6pt_m383JofMP0mEp$|Efwl0 zMbTmD;1oqQB67o@DLgqBuWi;rjHZiC#7v4NT`I-lP1UHMactDl@-Ra(NxH4sU*-%=>2KVW=s&uQ~Qvx zRg_bWa>KRC~r>jG#@84IYnFyAw^o(mO5e?>@b zWZVJHl_B;Faej%DHfZ3PN9l zp{@Ma1ku^~<9Spnr$tgq!qL)B1koE(<__#KpaLAmNKVv%l!0@>laeNGK*|aE;{QdN z1ni%bxl(6Lt#yae^*Q84qhiS9(7E}|@_vS!%=55{L>n4$Gl&yrrejbxzSvCEs=Y0f zm(uv`D|RY3x(lI>FY#fSK|5Yb&|5l2DjY!09T1w?A(WgQ2t|G3Tn*YQTvyN%w8gL` zQ&83qAgqlw?6Nj>!k zHpUcwja6UsZexCMWE-Bi*J+70ipZ?g*E*;`To}%0J{lO#&w}T5-w}49cH(N#@I?yZ zIVWwBY%j(Hq-eJ66CB*1f^)uCfHwpwTto#9+=U~U4693U#oCYGr6P)f*BC1}z(op? zEL91fE2h~%eoK)wrk(B7-qJJx&$qCAf*0&R6;ajvNS^728l*6~sTXTcw5uJwWj}(4 ziWmz9Tk?I!p`Qr;=aVlaYV;@fK1p&sTNVb!-RrxrU^aD6e`3asZRSlLAi_eU0^H|E zfddV4>iZ2aqu5ben%Q<`9EEqK!EivOWXeFL0C|4!SbLs0`Yj1qGc-A=EltA*OfozP zu9Q5^4d#$Q@IoLZZnt^57-C+Lz5{R!39iS*bD|{s*0I*kz=4?`u-)fY-e{hryY|ZJ z4pg+2g8hDhN@x3WP~9n#kV#s~onS`DDfS|oDRK59-%?`jMbcB^?FSKHq_{Gnh<2Ux z!z1EQqdyKY^I{F2F}^#+AZ*ua1f(zF7r5YbEmFV~y_(IEfTT{eyQ(A}q1?Yqv44w- zD6p*tZTg{L6&E(7;5JQI;|U%Wku3ApnEHJpcP(PPv=@uaaTlhMA?bs7?$-w5McuD{t8P{Cae*M_9rY)+J4#hBsv;zKW2$UMRaqWa>sJP zUo1h2km)HE5j56e$}j|;8Lt~hPsl8R$rjeq7pISGA-ECXcGR3yHct zd;{w;L|K&+Ycle&jhqG#ZE9Wcq&nQ({4(|WpmRA0&u+iI|80?{-YK;Nq_K+4^;sxK z#mBsO66=^JpW`uzPrj4^_k<-4Ho1sM%DB;%U8e9QYu`*$KKt(8N1w!!&f0s6-#^!r zkRXO~5$*Yg3b&9T=HU*Lm#v~Wf$$1X_6b_5l&)vxG=%aHoz3c`z&T+!gkVr8`|Ke; z|47d6M~j1&W(r>grwVd~nHd(syY1Kvj87JS)N9K^nX9wbEe$z}8Z z831|{LWQ^)`$~*oQOdW6v||=3&?r-V6foCo^lKYYAf|jil*tUmr#G|7Y?|cF_h$eC zm*@-V4fFzY_)lPzw~f^sYd)it@5XJLp#s1_0)GYK3rn89fi~9u3~U?1J4o1$<8xg= zHL0e<#klx1PaG=Xn?wAj57CwmCB$TC7DO%q67ds!4=J_5bxPx%TPs^r!ZDXf_cAo>8Ih( zQ9r?dV(%f*CsY6*gGhz@xWDj~OOf_x0_i&~XLJ9F$FYOP~%*oCW~~{F}Q{nkX12 zj2q}l4bLOGcVer)O7D`G@C$&l6;En@Gr@_Y@CFY5Q;V11&w!YJE1CN#44m|m%;lQ7 z1_~Ase(8g8M2~qN!u5RhCQvCtF?jC{ZmXGhIXBR__Q2lQLn<}`%8`eAMMgYoh?jFy zx8>YJ>SfXPa^qSJ(*)J)ImSxI#8-t+skB$ zC8p8y^ImbQc36PFC-#dA{SMWDLi3=)PZv$Y5Do5U;#h%3jLjYE!FkdQWMaM+Z!Y(Hh^bbLU`n%@HOlHw?F=f^_eYhJi8 z4*3XR%{1kj`nnqSb>s%G#aPsLVS};6{j9C~{3ZYt;PfTy2nbX14pZ_Mj1HjWNpS-I z{Wz`6BMW4R0&1tNwzb_rAT&0>iO|)M@iqjpqrYzATi7n!msJabUrHlccmFfkCqN1J z`CPw6@Pc*F!laTs=HGPI!Zug&qgTIsxmRXk0h~gzjub9rM_9d?dM&Q17dD_UcG$jH z5bd(9v&M!4oFwz^a7)s1N4ejnAowgyDnKIs8z`&Kd@n{?6@qK()iHf@cQ6C$MIR_q zr=$&m4v01{*l*EnMueVq6n~b<31Ag60dP&(r)RjNyGy0?0*S$wv@!DDIA26To6v$~ z9(i+5#huSUU#LTUgtt%cIA?3|gXEgh!I9vadW0`5UGP$e7U;s4A^$+VZpN?Y{H0rJ z(`dSQn`7FD;re(%*Fhg4fyORKW3`aE#E0u-Zp81M zT8tV>|7`K{?QvHCpnLdB1c{8n6UK`w{cYci2(HMxONN^9$IGFk!z}~T?2GBdT0J6HSGg zTLj!DTL45)Y|5mj*3*Q zv7`vPw(cnk0Jx;zj#V8&%O;5*;~vR@o1?tUdl_!*p@dL;{?U~oKSz?vOnXMDM|mwO zN*x7&*qqw|#&%0JRVd`)f#Wyj!$PLQps#OUt)hp82$MqGaRJ)AkkIc|9FpCWa_*Gz zna4P?AOY|3za>bXPj0Q; zHRa}J!q8G~M8tnu#2A-UOZ;edF*AGtgWUjwmzXeNp_G*HHzy8Ok49f^DoV##E6M`# z4>S|3OrA76izbJ`_;32C4M4Yj) z4@C;U!U8w$RFtoZfIX^55)QSoo-p89qRzdmn|P7eEDvbU&xCjzC9H-0)PPF#PZk(S z2|#BKMgHxKBPw(rX020RJytTpxFp`B8Edm+zXur=r42QuK$Yt+oVEk|uy&Dn*-W^w zKvfdI2}{W`C8Jf5qz)cu_#46EI9{ik+fyCDwET?c(Z%|jQQcG{RXXQke3+*zaULr zf#si!!2m&jX{5r9tn}AQM@&eD9r^tcW_)5?v*H3%sMt;H@3?gG5|^g@`h&!Ld9+cB z-OsTL{1{iD+>n1>OD1Rs%HZ5ldx6>YdZ79?R2;DjtFQq~J3fV`V-`Bx(RAEJr9+^O znyttOjWJCqf&fu577fh&Fu`f6k7E|Q*p3JH6i&FK)T3qb3b9J~2a7TJ_Jdt{tAc<6 z4LkUmgNa1Dkno$5@a?Sw~#R}OjJTtA|)mS za0z_aw^xjp3~9N}F93anuC%6L*&+EutfwW4STVCGp!arduhgtU3-f+);~LiG_H7=Sgu( z-^{nK9Uhg$MIq9QZKWR=(tBcKBkC#AuQsMB;YltXUprGK=jK3Ilk<3A2pRE#_gd?4 znb1W#MZUD02OV?GdEKjQnn)E5xhyIl!Cnmb33e-cxl=$p4|d^iE;CqBZ^ca!g>~?< zS&`{Nz-dvUWL7Wk2TXs?#~@BA%Gug1Zm5JOK0~uPs4r}-AFE7a-oGi#$BOV$m()E! zMf7Keq=9j*mzbR&6*Qu9qC3$f4s9)^mjs9*`WPfCW!7GsB`Q{+j~dxVh(|Xc3usIh z1$0Jewmf5F!$%@C|q)GG~qh;?;UIkPtB}Bq%i}NW_8D;0;RfObHE- zX`;<@KqO;i=z;hdGj*pSD2%e3I2d(foxMD|h(ZZI2n>x@WV(7rIz^tbfJ-`->w#Lb z47`66D&);{Q+n(mozw>TY8q#ApY-^HM0}UZFvU&(Kh$CSzpE2Q{=e$1;eqP7V7h!? z&(Qx3W_7mzImHuT+Eq-@*2NU_k}-ufhDz5M>KvYG_~VtPH`ARx!E|51d_ z$;8>&!q)81I;$qtO~-FsXx-Z-`mMXBu+0uK`_!jowOg_j*1#VL0IB~9Vsp~2O>gEOT%$Dw^CyLV!+0f92(9< zt@od4#MB6jJxh<8Rtj9y;Ie2 z(LuPnro7mt0V<>r%f-g%Q|&UzrFJAYeG{9bO_n6hik0T)AN%z8+zwg^MRZn({TwKi zI9NwSL2HU8ot$raUBs;q0N3y6b^DX&mjgSIjz1LDYA}uqkKq%O$*}@32h-$Y!};xB z0t!}EF|j&m>l}iP3}!Q*ClPol<1jpOgD9TuGa(rlI-+9J(cq7SCr#a=BA+S92`?7# zg^nSyG8A|-xj-V~&Nom$z~Dkga(f_3LqTL+E<{n_r5%z-$wFEwvi=eY-;g@ooX*b; znxLO6Y|M2MmAY?^?YA83)FuC&?CM9iv^u!lAB)dtxvH=#Fh9SHqbZJ%v{}Xx`+6gY zSl=uzu@w!=gAr&{XII)2kKPJqDLc~>lP8C|{swCnl&c;i;mJVq_(Pww~qf zT2$&>C18gmd#V_}4(}Uj9~+?mfGi$j%-I1BmN7uX%M&iFI{tL&7L6q;{^HCSij#Bq zc0e*C$E>RrA)bss$T;G_GTo)?l&4>*nCvnfR)#pKlL{9K`nMswV zb4{4#>Ap%o*A-n^EmERqTUo@07VL(-xIBIN4DaSWaMdq=lSGdxJfXzErWoenPphj? z=)qN7;W4kDNZ8u~uFhsWUn+yp70OM#>R^wB#W=Nac~~R#(7P+9#OuO%=qzhXhtiQ0 z+YJ>uc<<{+C!+6*bvZ6g>QaWfF6Ji~JT>-A!V+v8Uf8QI%rb?2oNt?qWv=p`D@J^f zT_!eUf5_St>5Xkdaa@{ip+Zi$Zj%z4(4G*0u&x$e8`e#s^HYKsm=BG8(6vOK%De+) zuzUWBsvgL!_c+fZN&fkIJ=~fW=5x5W1)QhwxdUf>K0eH+k5CARklB?sE_wu}mKek8 z&h8-vAtho2Lqe#Kl0V^Egs!;OdKKq%9dIBveV=>GSGGa_xxDg3^H2!{Sc0k<`1f8Q z`A-R|FD8ac|8c=b&GuOiFu{Y&dUp38#4GI^M>2noXTienNEB*Dvd1H5ZUQcbntJ}h zs=fN?f+(gEPgjBboQU-kt?Ybuaf~(U|ai$fnUS6$~#-6h`_5T;k<=p>8?k zGvepas6i6LGM0MDV`Sh@C68f8=HlV6s^iV!q8Of0+6D?_Z36NgNJ@1r(5qjnsR-ty zZd$0gqNVy-#~VO#m));~#8K#{#^++1H}dIEppO;66go#v>}Ft0e9~^;2#pi(CAfn5 z2pVh}6&*V1mPbz#u{F8?7+ojqY!-p@90qjW^5#(!>o-AmPrl;tS*^VvT^tY)po@qx ztlo~-ZEhj|>DVvsTqh%7McrR;ARws!a?BK1Kw8A1| zStm51q0kHmH%=hpdV+k!tHoH4yA*7j|255P9m8~4E7@^x6YFtFJ4puW4}IzGll8x_Sx`8k*Mcy*T!C{ou@nUI)B{&s`J2M$}PH$m0GVx6@D#H<}qW z7fh*IRg>GYDkwg9c~-h?IP0KC!VZ*E81_eD!Hv~&q&Ob1&A zwAMS}x`#%<2;;=6kw{?e@^oz{k+DSkS1?B{joWyHt}Blk(1{8rvS^tq9E~s?TH&5t zVlm@L8UQU+TsrfIK)am#Iai0cg*$x-OE9J1{SGE{ic724ud+m&U()HtU z1LeCDHa$?e1}oWl_;vx~;?adrQ(dOb$=5n?UL3CG0n3_W zXAf37I;N%C>2lbsZIWr5J#>1yyS^}hbbfPJGQz0$TLF{faUtHqjgtnmo$=#*&X6(E zK+UG)+aL5L-|;6aja1g| z*+GIaPSt%s{2Dgx@{-a`abDsfTP;@p_2$0{3MUGYv zsgqjiLx_7szz-(cP)rEWZsVe)5d)y(mr08(+cxOjk$+)a=Y@P*-kgJ3hk-{ca=8Qp zae5<&BkbO>q{C~1U2hu5N|2yUM^fYROnOrKIa$&vjkOw5XfyVT@4+M((hmmVNKE-n zmHVYZidkHeG!9LKE?;K$VL%{@K?qq&ed%=74eL(j`Qc$A!@{CGoelC@w`S#1Wxj)Q zcec4ml=cbj!MkE!QZg27hz&B{c_PYjQz9X$I9aY?>(m+NoFZK_xHwyGfrj%OSLLJZ zC*cLET3NG#b(?f^9PD&ce%ar*9u2mI78K^%{;yqLsOU|nf(t~bO!)_<%+k{Jjf!(M z1&b1yt_~#8rHmNH`Ot)l%PHrLo3LoB(1tj$^#B(h01Bn5EM zaWN3`PR>YqBro8R?7yuIG86#fV0^u~;0|@f&~8+dCmE{=(b*W|48l?kC(B=F^9t<; zWE*RQjoUvfw!)I6W7_tH`RdlG&XP)w+E8tL7IiI|T*ey-f-hz!LA%ErbSM7FkYP!) z8QlqZg9y?EFoN(o$a{@W!VX!Uh&%fu%qC~V>oUhJbeq8I393Aww z7up^Zr(XYgbHHc?FVfPqAI=F~p(|Ks3?_fjwVc@0BjfDLs(@bkpgC@3 zoBy?!XEV6bz@Wb5*ZOC{_6iqjr|XcpMULIUZ7~+V8P9L-a=hOy%t}k>E2S#F8+)vT zU-{g1Y|gpNXgROr8hmygO3Yo?w)53aA3mK}E0{CqJBVP+_oMBx{FWH09)`z?g$O1# zM5*4|!2n+4C{cy|GFi_DX>!RD)UpjY z7L*OBs0XD?vXD=FnKO=&YL1x%DDAUCBN{2S-bJp>1*J@7DYHKs^Q$_kzV-Xtm2QSF zb7DB}1q3uVZIyD+=?~=EL>=IZdq04+5vo<8#Mf;%TldY+SzbVn{D`yt<>HiI0$ydU znQZl#S^aSyDl$TLbTgDoJE@uB2BEl|<7}L~qDjSKNpn#%>4!?h$r$pkIos!ECNXzI znkE-EBbp9p66AH4EN~{WkImpkE@uinJgF1l8ZK|W#(rfpEGmrGM_|d`-|b4Bc0Wsi zVNSyVXnVFqoYx{l59K`ja&PDC$Hgk@buRJ0F_hG2u3z2Ta8}@tinCK1!D#6Mupr90 z8tKOarA<0MXj}hC>s&}xPE-Y{Po)M2`TTk$mNS)RJ2+%!gI$1eu`8Z=W@&m{QF`A5pMN4Y!nS>wS6c0Bh|PyG~#n?3F9a zyRE-_x=@$556k40^1S0ic0A@(XdIBW1n6z#_9k=W3q537RB$0huX+fMz^Sxz`48OT zSTl%d3%Yq~kWQi}d6D&0d@Ct1wHoFLkPwTaG&QOgw=5%md?&G#A3n)%cuFQgvEu%* zZC#laNJ1Oh6imDb|May}LdmGu8$}n;H8>%`9{XgH$^(i(Crfuiq>#WJ1nCyMcgK1)Te|>BaJquB7-N$5;bHDZq{p)OKF?~%Sl!{S|B&N4)mfy zOu4qW7`lGR8PhG=&(p8v{k@w;2kRKa^;)Cz6Z)UIShg?EN(t}-4+@yQegwW7xi~r7 z*{IuCGg>&C*!=m}tBS0H>t{j(`Qa@(7C%)zBV()B7|xnn3;VU!bw#q?CYpKR-^yN@*)2SYqexgiY7K3amFJH@}4yxReUUY zlxK!&C@zD`D*EhA@}QblxC~>*z@@eS(#1c1xYPyILkZMH@DE*oRfqkzx<931qh{)W z`8hJwPL~{Uqj|ZB8C9P8BP!V1XM5s`*qP?gqL1y;5?kH*O5oTmTll|!INA6hRkR9G z#LSfzmnZq2*xx&FoSCiq*d`G*J2cXYF`a=HK3^4l>a%P!HoplI5hB5EV=A$$8ly+1 zQ%NOCo(SYtXE4fkslPHbo6Tr{n}6yd?x0k{6C=Gdur9{LNFAhuvu8OSSXW z5-*;>VW6#k590eJSas_W*aAs!@I~(aJPc;v}1tfP{0Qm?Bm$U1(!${Qv6aymJ zEx}>h)Xm98r`cpPse~=32h`z!F78;Cz*MjEb_52^CIf1skpmV*rB0``_b4pscMRaF zQpXn+PKR_8h0o_s^Rp~#S0~b`s%$oUIvP203QhDq4k$#8fagoEpsnhIu&S-0(BFui z;pb%c`ak)$m_6C*OU9vp-X)X#{I5}3>}*Jw6>v@_44B>hd(2_$Vq<9H2%MF9&+eww zH*NR0u)4NO1mncCo5B*VG`fPK*c>!J^f4*D?#BU*np*e9}1!$FQ3)3A*PcHAj{YW{XxcH$6yM~H7J=^Ld zXz_dZEoSBy%KAJcDosrZl{(Ki%A3`15^0gvyiuH?{rAax>eq=i2R4&sQ);w$q@FWF z^RDUFDx8z`?vEhnev-Pst%nsp_HLzJK-PTirUewf{<(0 z55ycON?EhoxCa*|742Fr1D$oXzh->3O{vg5%rQv0L@P>s>nm_bZKMw^Gj zIY`3Vt8eJ>a!9%Ao8#kakGugo|gJ-_)>}d{#tM zeba_W>-^2mT_`R4W_|5;%`N|!aR`c{&Mayu`xk)AS^Kwe#O1Fh!*lx|h8+}j$5BJk z1b(>iU6SI4lry)2|l5Q*a{jgSDv%6Pa*D|^yQC-)cx1sxV)O3aqf;>eT zp=`6zdA@ah?CuLgW^)CD?=?P?)ojciN=7D|p?SUg?(_B=v5_#$FqA8yOqD&V?iu68 zEB6C{$$0UZR3CC zIWCWO{oVaRRtz2&cNY;FR9;v6hnvogbJOjv0FMsc|7q*o!=cLmIDXtOsmtY5t^wqa+z`0#M;d7 zWNVr8m_N=u=lh)Z>wC`kdA{HCd4E37bG~NjHvd>-X-Twiq**hW@`#8(`712agXm^a0mXS>U)T570}qjB#l zFO5kXBNUysz7{aFUx2G1pesRW(ymaaF@b53urnDVA=nO&4ud!vcj{pNHZMxki;TX~ zs+?J?Oe0tGJ;!$i8CEYBUb7$Y;)iQK zN{MBv;Es7I?YMQQarY9gxu@cMR+7<)8xC2d&pP~^YC{cY{`L=t$`h2a{>OqlbOw&T zwBS&b?j<*JekA_f_y^N0wLQ8q2_`PRe+!bOL~TKf>Sa(QOysr`tKP-|ZsPN@J~L)v zc47mPeU=DtE7Sxc<`>%=$)$4i6Q?cIyQzmanxscmjikz&W+PJVjcJPx|#zmvjDq zha1e!s|CqpV)aMWY^K?1eGc?S#g=KcsqwddC6(aDSA}Ow>`q!~P+#`(1h4R>v78M{ zdmfjQCx`#E$9Ai56KaaD-`&+SJl?FIGIHlSrP@AXfIbj9seVdpM@bqtkIu8IJUzzK zZPdF0?o(`P<8!}o8rO-MN_Qk&n8Uj$N8S}rw;9bhdBKqtKbGKNdX=&x-jRZp?3lVq zJctU}`DUN)oL!x+k$BD$EdQ(&ynI-h+^0jncTL7!A^)njhxlmj@UQWX56ucZtAW(2 zMZ!2E1eWi3r>HYA++%E?=+A7WY_@&!d^N$fAsB8o@;R@9DPfm8Q|BU#Z-^J zIw|Qbo2Va@q1m$*4+x}BsWOXg!P?^u2THENv3y4>CkL0EkIU)?1TGk{7@ct|g)xl)3vDcQF>v^( zLdXNf+Z4&oJ~ywddk~n#^XqJ#9YjPCVqenZ(ty>qeP`~UyhY0dBh+Rv=k~>ReEX5X zHUMxx049Sm0U@YUgg{L2xi8Tf6hP2*uv-8xWrKNS*f%x!PZoI!BL0o>S3-NJFg_OM z;tO8V2?~{kgd`FtZ^LT}?@_(OvEo9wMNG{#@eWDQn zc(_UcibAA$@O0%yfFW7e{Sog|b3wOXr`hp}HrMaXzT_0V{5RevmD%@h-k4xJq& Tz!~&qRw)CX;PgPIemVO;9{VQ3 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorer.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorer.scala deleted file mode 100644 index be96e78be..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorer.scala +++ /dev/null @@ -1,97 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.cortex - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.product_mixer.component_library.scorer.common.MLModelInferenceClient -import com.twitter.product_mixer.component_library.scorer.tensorbuilder.ModelInferRequestBuilder -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.scorer.Scorer -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.ScorerIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.pipeline.pipeline_failure.IllegalStateFailure -import com.twitter.product_mixer.core.pipeline.pipeline_failure.PipelineFailure -import com.twitter.stitch.Stitch -import com.twitter.util.logging.Logging -import inference.GrpcService.ModelInferRequest -import inference.GrpcService.ModelInferResponse.InferOutputTensor -import scala.collection.convert.ImplicitConversions.`collection AsScalaIterable` - -private[scorer] class CortexManagedInferenceServiceTensorScorer[ - Query <: PipelineQuery, - Candidate <: UniversalNoun[Any] -]( - override val identifier: ScorerIdentifier, - modelInferRequestBuilder: ModelInferRequestBuilder[ - Query, - Candidate - ], - resultFeatureExtractors: Seq[FeatureWithExtractor[Query, Candidate, _]], - client: MLModelInferenceClient, - statsReceiver: StatsReceiver) - extends Scorer[Query, Candidate] - with Logging { - - require(resultFeatureExtractors.nonEmpty, "Result Extractors cannot be empty") - - private val managedServiceRequestFailures = statsReceiver.counter("managedServiceRequestFailures") - override val features: Set[Feature[_, _]] = - resultFeatureExtractors.map(_.feature).toSet.asInstanceOf[Set[Feature[_, _]]] - - override def apply( - query: Query, - candidates: Seq[CandidateWithFeatures[Candidate]] - ): Stitch[Seq[FeatureMap]] = { - val batchInferRequest: ModelInferRequest = modelInferRequestBuilder(query, candidates) - - val managedServiceResponse: Stitch[Seq[InferOutputTensor]] = - client.score(batchInferRequest).map(_.getOutputsList.toSeq).onFailure { e => - error(s"request to ML Managed Service Failed: $e") - managedServiceRequestFailures.incr() - } - - managedServiceResponse.map { responses => - extractResponse(query, candidates.map(_.candidate), responses) - } - } - - def extractResponse( - query: Query, - candidates: Seq[Candidate], - tensorOutput: Seq[InferOutputTensor] - ): Seq[FeatureMap] = { - val featureMapBuilders = candidates.map { _ => FeatureMapBuilder.apply() } - // Extract the feature for each candidate from the tensor outputs - resultFeatureExtractors.foreach { - case FeatureWithExtractor(feature, extractor) => - val extractedValues = extractor.apply(query, tensorOutput) - if (candidates.size != extractedValues.size) { - throw PipelineFailure( - IllegalStateFailure, - s"Managed Service returned a different number of $feature than the number of candidates." + - s"Returned ${extractedValues.size} scores but there were ${candidates.size} candidates." - ) - } - // Go through the extracted features list one by one and update the feature map result for each candidate. - featureMapBuilders.zip(extractedValues).foreach { - case (builder, value) => - builder.add(feature, Some(value)) - } - } - - featureMapBuilders.map(_.build()) - } -} - -case class FeatureWithExtractor[ - -Query <: PipelineQuery, - -Candidate <: UniversalNoun[Any], - ResultType -]( - feature: Feature[Candidate, Option[ResultType]], - featureExtractor: ModelFeatureExtractor[Query, ResultType]) - -class UnexpectedFeatureTypeException(feature: Feature[_, _]) - extends UnsupportedOperationException(s"Unsupported Feature type passed in $feature") diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorerBuilder.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorerBuilder.docx new file mode 100644 index 0000000000000000000000000000000000000000..b7c7f727527e368990124071fe1aa27961231701 GIT binary patch literal 37398 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 CaQCbL literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorerBuilder.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorerBuilder.scala deleted file mode 100644 index 84ef39fd7..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/CortexManagedInferenceServiceTensorScorerBuilder.scala +++ /dev/null @@ -1,47 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.cortex - -import com.twitter.finagle.stats.StatsReceiver -import com.twitter.product_mixer.component_library.scorer.common.MLModelInferenceClient -import com.twitter.product_mixer.component_library.scorer.tensorbuilder.ModelInferRequestBuilder -import com.twitter.product_mixer.core.functional_component.scorer.Scorer -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.ScorerIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class CortexManagedInferenceServiceTensorScorerBuilder @Inject() ( - statsReceiver: StatsReceiver) { - - /** - * Builds a configurable Scorer to call into your desired Cortex Managed ML Model Service. - * - * If your service does not bind an Http.Client implementation, add - * [[com.twitter.product_mixer.component_library.module.http.FinagleHttpClientModule]] - * to your server module list - * - * @param scorerIdentifier Unique identifier for the scorer - * @param resultFeatureExtractors The result features an their tensor extractors for each candidate. - * @tparam Query Type of pipeline query. - * @tparam Candidate Type of candidates to score. - * @tparam QueryFeatures type of the query level features consumed by the scorer. - * @tparam CandidateFeatures type of the candidate level features consumed by the scorer. - */ - def build[Query <: PipelineQuery, Candidate <: UniversalNoun[Any]]( - scorerIdentifier: ScorerIdentifier, - modelInferRequestBuilder: ModelInferRequestBuilder[ - Query, - Candidate - ], - resultFeatureExtractors: Seq[FeatureWithExtractor[Query, Candidate, _]], - client: MLModelInferenceClient - ): Scorer[Query, Candidate] = - new CortexManagedInferenceServiceTensorScorer( - scorerIdentifier, - modelInferRequestBuilder, - resultFeatureExtractors, - client, - statsReceiver.scope(scorerIdentifier.name) - ) -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/ModelFeatureExtractor.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/ModelFeatureExtractor.docx new file mode 100644 index 0000000000000000000000000000000000000000..1af73980d78fb5699f064e0c1c3fa8884a23dabc GIT binary patch literal 36993 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

R_00Tq!_h*ui+yYQLYl7ihNtExXA? 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/ModelFeatureExtractor.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/ModelFeatureExtractor.scala deleted file mode 100644 index 3a44d5ceb..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cortex/ModelFeatureExtractor.scala +++ /dev/null @@ -1,15 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.cortex - -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import inference.GrpcService.ModelInferResponse.InferOutputTensor - -/** - * Extractor defining how a Scorer should go from outputted tensors to the individual results - * for each candidate being scored. - * - * @tparam Result the type of the Value being returned. - * Users can pass in an anonymous function - */ -trait ModelFeatureExtractor[-Query <: PipelineQuery, Result] { - def apply(query: Query, tensorOutput: Seq[InferOutputTensor]): Seq[Result] -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/BUILD.bazel b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/BUILD.bazel deleted file mode 100644 index ce01a28e6..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/BUILD.bazel +++ /dev/null @@ -1,18 +0,0 @@ -scala_library( - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "cr-ml-ranker/thrift/src/main/thrift:thrift-scala", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/cr_ml_ranker", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/scorer", - ], - exports = [ - "cr-ml-ranker/thrift/src/main/thrift:thrift-scala", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/feature_hydrator/query/cr_ml_ranker", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/scorer", - ], -) diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/BUILD.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..2b19675ff4ce19544b0e387b5f3f7c053fb7d082 GIT binary patch literal 36918 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 E0DHjho&W#< literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerScorer.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerScorer.docx new file mode 100644 index 0000000000000000000000000000000000000000..838b4dd7bad10f8da5282d6da7e0084763f5fb64 GIT binary patch literal 37399 zcmagEWmsIvwm*z(a1HM6?hb+A?h@P^cNz~6+=IKjySs|M<4T@2Mc z9n75dnLO-l8iCY2>x4&IY=5$d40%O)yo>>>*^9=9@i#&he@Sy=8}v zcC?zW)lrZ%p4Xi?a>j8_AT4!0seU3%8e2z9rBCo(|J@yJVGM=P!%~>R-Q29a-GsXT z2+C(pb>Ui-cF~yRQFdPLH^(D!GT)n=VBKY22?gH{2}41e0FeRj`wQf!{ZG&Z&H^iST>M2lrIqK z`8si0WDk@sTIuRkmeAM2?j<@n+chy?NYBS#qA#)y(lpkd56oTc)!L-JXlOTFgG+|* z2q5)P+X>dTO^di8M;0-oy5lm}AQ7V9z!=n}tv{U+trC+kq_dMoE(tD8K)XhCq0w~p zWt;`T0HoxaIKLEEw*Ihn|8g(fZ`JkzrKVV{wLd{WbE%G`A$NZHR}n&=lx zZOWNWW6Y8-+~|xh*V#W46!sZW)e3Z*&wvty21<}Az(mOj;NZ+`0&p_>eUoR#k1O=E zpi18PNY2S?gkPb;Ny^ZHAAR{KjTx}iddtBnZ#$mFHMzN4V5gHq??$xAKYZmNw9ehw z3~3S)A3_`&cNSp!1yLL8b=4Sq?I}x=j<+%?xbLjzarTnRg3n~ECqfzT9YReOq)a-i zzT83>ANfEXC&%39Dbmaqm7?53F;z7A<Xc8wjP+dPVRu1`Q25NmyXy-p z*7QUf%wo|DD490t?+jg&d586WZy#RYFA>n+b6-H=9$6q8(9XJxzdrX};{UTQ*Q={I z$Dq2{LVAVcF|vR96sc_T`W>j;h2UxxQrClAP+p~|33 zu`~wJ^c@YS$13Mx7~x$~HI=Hyyvgc~CoYI!9h?>Er(IT%MK&6|i`o?&e7-%KiAer( ztGypMPf}`J+W4x>qWGm8@}=6c+_Pj_kn_Xt&5?F;5)!f$#HSZ_sBzD7E1KmnDI9qc zd{(2*^9f5RYea9Cn>y2e&CoCY>5EB-AFlRd=aOK9Q{t7Wc>-ydyST@6|m+Q+j3i9${&j? zdy5S9$S=0^j4eU8A`YuV7@N?Pis4r~2Dtjg&GRmy@)A-D{LAH!r~S+tj6@MDg5@?e z3g4+2A<5eDn(~i3OckVpRYTMi$%IeF#Q5|kw5OT}2jYu5`U<*HSlOI-Xl|6-A;4Df zJpeUyqKzP~(g!!49pXDnycbla3p>_>tp`^@#3OeY9$-s7JW8CE!MX#SOqoHyT30*J;`IB@nAFx)UFE?9ZW`uZ^i#3)y7|j%Gb`}pe+*4!8;^Ip z4fw?NrIH6?l`TFa_T;+zEY3&%P=&;i1f|yXX{tEiS=H(JRS01w(m_=FS5sTjx){an zSH;~PJKq7aOu&SS$e4*^{ zQgBh;*9H%;@O%>JLr)X%$9m?HzXfCOjgPjH-V^(D^YLq{O@V-$Q)Fj+sLn1JxCM5| zpy}<>TBPMGjmCL#>_l?L54y!`1_d#a31ikmnZo9jyxy$_Fi)5M#>uIK(`~O%VBZA+ z5!ROK;nQ*+&BRyX=%vPN2Qq{_y$ei)aW+IM*WL7PIZoF-nB$+f7#3D4xidH4rgm1* z5g~e=YcAQ#0P+LmR$e+(yu{_Q-kA!1RjM4l=H~-LRGR-dv>Vwt^+Osi!d5C89k5F`_B<$_MSWUJt60d{8 zp934pwW-3fvJt z$MW%IGOR4exdA&)jx@uk>NZ_87+gQlRxj6N`ARJlwrH!qZ7}$(lQ`#()1TUDX;YOk zxzih?d7YblY}e*INRIaPYZN=mVZ>Et0#@9v+$(f*AEO}U0U+ADsiYY%;6~ta2=<*s zUt||+PG&{V?t)bF58JlNW>1$pgG6U|gC*PUwrUnnes<%=8{IQUPU+{jcl%kEr>c6q zoxp8W+V=5kI8n&vywyA@1eK<{%tMvMORDozB&-}J8aa?HdNfyWQ%8>KuuB)(@9&VT z!yitfh)m9`3tb6`+Evx$s&y%$jdCJ;xmD%J;XiUdO%Ig4uAIEV{&PmP_s2(P11+`V zprw`owAB7FqyD*3{QJE6=cX}HR56GJ_w(5+LSIM%W|4iw`(Jrf?Q~Mrg+3utEAhAD zdz-rJrVQdc0lRlxzS-1vvy-=~3mg2n^bH>ac_JZDFlR%Q%+LiaP*RS2>ZR31Z7NCN z`D%K(I+p~*NezMF?)n44`p4N zYOqbn`$-!f>+6}s0WSr37jIYy;a#D~VuBrBLM*-(E~`R?XaC!N;LM3 z)?|5Bu4k&DcprkkGygN!QRUeD5zJs<2I|mYDF4c}vx}##ne*?p3-mygup?FH+ufa) zZ}|MfE;bl!c*-6u-i_dscV|}Z8M{3D?5}U%a4cg^4E-ocMTpf^)HObq#nqE@j!_(qfbg^*r@vi>;!}>*g%6$9N!R*hQ_R!GXBhQyQfmge?wv7;G z;0m!pa`E|e|3PTV-uC$FadY|0`0-_f=b9~du`qE(Z%?PLy0>eqdL8el`PFeR z_bk<4J?8es=9^zFm5{XI(Eh;*aJkDMbB_ zo9oOdo4~J<#6HqlC!}u!)eqgqz18FMRLS+vE;^w=v@}XQmv;Eh^9{WA6k(uegj%}~ z{|N?Zb$IM`4GMH&=qWnibZ9+FXmyqFOO2tgwy-Zx2y;h!j9Cbd-^=SkzqudW%k}z; zOPbzu4RE<*Q$VoN{p>U}h5Iy%Tk-hK*We5&Se0$R_=Yjil^of!(tVz#vSV zTs`eRv!)ZP!qyksJe;spi9BzA)Bm$()3*xKMBCcOZKTZewt!t~S0?4!e-vfD{OE#QLu z2&a;cKnc}*AmK=Ql#n0H(5S5<7Q5m?OA2SPf!SjScU9z%8SJSlg0Rv-OM+;(QIVN1 z4W~j*j~?g{-|SD4@k5_KCJwbAtD`(*ixL2?%`>Vif~s(djT)TL0X@Pfc8MJu7~26| zkn_9K64Z(PuTH3K3IMq1U*oG9@hF*~m^~3k`eZgB{)K(Q5f2I_0ga>mBUA^376QWk zN9dnaP^Hvo)}$W)MR2A}4r)R8Lq&22v}x}DkoX^{Sg*?}?7$SzsJ{zy!w2b6K?Qlm zZ1}-Qg2?z^5*bP0s67$k{!l%a;NFPZ@q5(2n+lx88>ZaayD$v0_#|}ZNxFzMTz$_T z!2PuSbch$)lX^ZPNCu=(C&revGD~{`W>;@}RR5e8Qasq(AI;mokJ=R0Z@!Trj<(-n zS{6yti$3Fw!+U#jcqh*2IcuvSW#u{pR#a(fDNTgq@p8eHvS@*B>UwmWu;KWP0m z@C8u46Hpa{T59V{BhYvC;KXp`_j=P;X<@g{DdwTqb2{)qN2CKXqk!fd8 zF5V`g!hX1Qe5XnA-Y)CI+n%rT7{VFr^OdWgkNa6m0tHIphI3fW!VRP9Dj~&KTcqYv z0(QG~9r_DZjGgK+`rBP!T^V&>v&4V`-h_eX{;EKkkm5&+p%NF{3 zdgA06iBOwyzZCyKSxat(>uDe9ce0`+CT^APiBXJ4F{Tlqsi?`K5$7AB5fms}ZcJzc_jV z?_QJM7ET^#e?A{Muzc!xZ4u7AWqzI>hW2^|Ls?GuY!QMo+-z@78NMNXP>FluG+GPJ zFFAE~MwXNxry9?`O+l89#Bb|RJIzvQl??)XtD1j$#^~<$QTD&!)Ol8ycxWJbKmt5r z)nL=##KSawM6xA)zjTxqfM1?0n>NeDSsZ1m(C)q;EcWZ_D62zoN|Uw5RY2u^4G}V! z^Yroa&)8n*3*G#p=~0!!ZZZNN_pE|EfVN3vb`n+I*!X=2?-Wtkgi~CFez4hQ@~Y|n zJWPVcnl%qHbzmS<9)EL7LXSFSGrG=zKC&iGt32`|H!Gh~48z*9lQTyVdpT9In#8%U z)^vk$+Te2d(MmHXVB;7O_vaCtmeo*T&R(oy##`+&cDIM3!5q10iO;dRL-KZsKPLgq z0;=8^O&TJb#*c>xYpIb(!cF;WIRrf2RKhp3!Y|@kARibX7_GG`;$oonTjg}4Z9Sbj0GtA&8v!BaCae9h7 zmM))^mf@t=66N}+Yexn6WggqJ55y`v$ukgdFA~!EKxvCU(Kj!r$QDbgN3Ji$%CUt{S#+Cf`S@FnI#|3 zQd!Nh#-QTGU52eZMfJ~|P-S+nEs5cWL9hJ&w6@zh45g6ONIIUGxRShuLsX5y7JGGu zz6-AQX5$&wg~6M7bJt$TRY@cDaUU;FYlR9u1A76TfjJe~RH{mBg*CnT?=C;WN+~~^ z9C|%Cw(|W-y(v#QOd^YE1A>K=ur>59ff3M>v>kf@&MY%(m^Sb~_m6AhuenDu8-|{5 zd|HMq-XX*oV)`+`Z)>6ESggR)PW5o{Jcnh-EYT^tft=1>s(^>0S4AOljqt4odn?J| zu7du@3pEg{aKZgbnf55_wvuap6uIMShRL%qvs$B&IIenhCvMDmE`Eh4lcweee>iCE zFkt#}Z(1xOHz5@*wULSq2R_?m}S^1nDw?gvM(k> zAN{eCN33qA1W}{H&nCIxWKCtYRl3Q!-Kf2Yds#-uNzZzeHJ);qu$kgjid%+V;o~Ha zDBErUqPeX_eQJSVap7$S*|PHrw6}H3c7%K^_NeEbXL(ipu~PhimKKNcilXbmR%Hcw z%kKUWt~M@0Ob@9E$_Q#5?2jhfGnXayCT7Z%J+jE&Dh4o0d3wZ0t;Ohq2iW$moM%fF zo5S}M=y*~xvMO$^q~22uQp==_RTYm$i;cxSqU)+X8%s9wxHrqCgm;Hgcf46|Wyp4d zxaPg)h4y)TspbTAef$N1-O8@!*ld8sHK_Qr+KRLfpGVZ&M~&hcu1eCbL?h|WO!Ne? zyu|6L^-3AR(pqOL{WylR?Ey;j2}m=utP?M*s5z`0^|+BR$RF5KZcV>!NLR_DpGk$1%#^4e7{+2zkGJ>f^?X#`yQ9NpMEb#JG68zhx!Hc! zcUgO%4`GL_VtLgx$?-EC{IP;&%FOTayCdZF_9Rooz+>miuwRhxb8ZeWVKosGl2*u! zhPO7j7L(F751k`p?c;MKhC=9g8dGmIH!}|VswQ#OZb3e~IbHX!?x~daVwCjms>k;R zyX?RZJOXcoxM)J#JT`;PEj##|lrWsEEcQi@4-PNiiYK={5Td-NT?P?_bf7LyG6qh1K!C@3EKpJH|c9YRK$x`1n zLOMI@>VwH63gnnG`Fb1LU5Rp#6oIvGfrn^Vo$H%jjd5z-Za{Q-PW5~>YmSf6d3a}i zL(=s%lQQ4tU?qZ3&rGKD;N|sP^K2e6#C&rq-bsO0qMhK|kkGk=a|O&Ht2vbp#{J5> z_%_Kg|KO#D^i}8%a631gSjmzo2HBBGT+5whgRLiC%lK^er^t0Btb(u&E!{2L!>CRS z1?OunSKCE5k4-FBxK4NM47 zGPl--Gx%kJm^1h`#X^vswcNjKqBn+4=jw2NL7BS4cgi1JJy?!;D>*<^6C{62k9O|x z=gyhDfT)A(j5CApOodd?+q{#Kb1=53y2bANL??~bi8Z}sp2vL~u$q?Nth^;R%=S(FPo7~!56Be)W|D|+_}UY`r`?I=EPNKxf+d-FIJIfHNl4v=%WErfI#^frP5F+BEaf;U_;c0oA;xT-ZWhyhHs z#Q^*M7~|Q{%g}m*y!DHRNU9*1Ni1e20^k z7=Ul;0%F6TYZ!5a>{=?B^4k0z54^zU#U(!7m9u&F?-Uix;2&%aOB1i{5=$EC?7=VI z`?|V(P*>r9y0L>%S=kE3i{wClcA}sR^Sev~>Q#052>sgZlN-&UOm(5nXmR3_2PCD) zZ=3s<6~Ct=$S? zrXzwOXCf~p#|2@@_{se5* z@io@X$J>Z+?aS{*j!Q%2ag+g|aO`)!Qk{Q>Qe7#Jv)a2$nj2b0Z}uPjQQ z6)DxY3eH)V1(k4H%-fbH3gsIhc;xz1&&fK65izM>wHeeAMxUrDF;}N(;NA4$TcI7P zpM>VSvoppnszy{X|V4Rrl|Q2f6L0 zaP=JoLjTwJ9S)_$`z?tEPDI%oUt}?6E7@vIgvf|q5 zdCf=i?Ad{XBN~XymFeOL|MS}`H7JIqjFoAGNCY|vgc$nwg>y{VUx=taa5ux1$a<8k z3m*NFP>>Yi^A6}E5_>capJt_YmRX_2{+kDi;$J)p zyD~W7+r<}3Xf;O8M?=gkbR}>!AWMnge~PMIv+%aHN{ZF3U}Sph|57}bFaE++*<1i-;;av zf6x(FbtTZe80V0@j+VbVwmx1y)c7HOn)B^Mq@*FjkNRNXNZyJ(q#1Ni9a=qgM~PUF zM*GOw02i~SYj~$o)k&J%nH2-PfJoV*zYPVPK|~94S6i;DyhGRfA2gJSi$| zPQnzJ6Um2c@PVFahZJlHh9Y`~&t&zPBNf%Lsl1CU-aBU5+V6PVz@rryq&6WF@IM-* z5iXZgM$l#vjGM5YUzvmtV%BZ188A>~C7O^fvLhtybBu~K_tVT#ljYk zTUIb#fQE2_WjBlYb;KS)`hmM=CVcSFd&fkTL8_V^w$YSzF#pVh0R{+0RQpwoD+4BB zIYV{U@mmpU80NQt1TfxM3>t7_5e6v()Y`9AHMn0U+{o&gP-FSE$-MWa|E7_=JWWTr zXfapjx9?@a-@bc8wd5RqPfS_Q3Ea2{{`4(53W5Y(SZjP)zXyg5x`YfWnKoghHl9R` zHVsX2$)EjA<-XK!m8!%IAeH^Fzg0qk*M2n~ZvE-QvTrJmV}}qR4et5`ITFzD1{oGW zXhOmmrX{DT^-j{9KTaD5Zsg{6!p-;OKZvUw9i>o3nyc28T5@|;zeCb`dY91pM zr6pZ-70y)R(F;wsgAKBpnDnlC3Ba^-su_TchIBVN_&3+<_b$kJt1qVuXnHDq7e(yn zVhWCi)n7~|x1df|s8aHfY8Y=|mIk=O?a)_$>3odWwly=rFy2Ym8lvv9${78&n}ln@ zSVlP|lTp7)62wysY}4G&m^ZX7Yo@0LH74*_EULs0nA#bQTkd3lf~Niq;`yIJNt1hw zH~W_Zyy4F12fwMlRv_7)%V%JW-w*IcvA_4~KtHIEZ2aBthHr{`FsFDomQjC6119@I z1Gba#M>`{>jNAfDlL_@yxS7vR#!%`zL4$DTg*=_#{q0C>Va`Xz-eyzUo(@5UKnF-i zg+JPp<4w6(Qx^rYd8m^w!kzIf*seV&r?exi|4_m;LNZmFeVW8;vB!#^{K$&`ABDMu z`-H9{85om)Ds=mw3NJIRLMP)kE4aLrb45=|-aCytmFU4<4&;7k9GR^uc+bA)sWvFy zi`-kbpa!dLYy2!;vzZwkw@LVWg+6@PT<>OhYZvaw4pGLH(F;Yja$94VWqurOJiIwL zjG9oaiY}hpd)T+ik2JTbV`eEXUN+$LB7m84`Bi(`-zRh0CK<>X$msn%E~9VP*ix zpR>+bd@Gyk_g7k!N%l*u6a9vWj`T0#gSP@>^@`VjGUp)>S`P__c~ zQ?(klNey@zdeQqoh5x3O{ev1EL=7wZd-pxjy0L(iZ1e}Uo9Q@+nxE@W>hF{o5y<}s z^+neJd`Eb;;f7D^hfX8-qsp>gbo<#X28IClU!+=r9ZeMN$HEv9 zUptGSiVL0?w2;62i~`gq4*4$Sh|;a_YRu;Q$#-T}9$mOM?Z+}$lx@s{=_sEx$|(}M zy7#YYHg=*I)}?*pyeViCEOj8aEfz{%*9aLM@L-G$fWHx|ne!$^r91|s#8{eO5I$~f z6vu;ddt9gQBeABk0q%ZM&HN$9b{d{#B{2fILh@;|4Ubq797qzgW8P-kN1b(HMXvru@Eq-N*-tA+Igk*7 zFQ=5|sPYM%-51|V71F5Q-$~4J#p?9hHpZE6lE(?UwS&mm7*o%!+VScBGUQZpbEC>cCp2iLgub1imHnG4#24UAHY( z{L7=xUD4>^-@vZCXHEYw`IDparfaBewqfO8CS`SxIt#=9G#Q%o+awR-ZWV zK}npUkKn2|#a@>%v#}c9u^Lz+2X+86mGF zlNvCkv9xrgnL_93_nW;2amQ{=uPQ!n8h&zm@BmtWQ|5&b@710`ozmK^8@+@ znwf@k_a}>izvsJc=-X!ftb&KLRnz){<&TzF*m zU!s+-U@9VZ*5FPg`Xr!jh6gy4G&=JL;t{-o(lNr!rw*_y+&)A(=5*LAQj124@&Aa6 z68$X>H~3ua!e(UDc#HQ}4KZs!Q3DX11p4;{whnZGX##>XNV~lRHso||K^LBk5)L7< z#E^FM7+|toN(nvbGAE}rwgJJfH0IAC+(W&vnS0zzFbrr;-P5OFO%#^eLCHHQ110YS z4t6BKwgu{+$+OGW`zv`howi+HCzldf{!)n0kGOYCusx1XJ=p_kZKO(_Q|dtj=T%C8 z4xvs53%wOT#wto8;h-inpnT%v>yHx!Xjl6PUh}@+J>Rg`f=&eY?;BhI6gEqj_4BK7)EZWuENS7ea31Y?GMB0am#M{^?iV@GpTqDDYBeTv zm1np3r(i!bzPY)}`nL05v?HJMQ-6JTu;$w&@|l{2rbJNjrY06BFrVLtcODi^zv@_Q zy_V(BiQP2S+|>)n-&Og&m|~|RJZm>HOZT7=hXW6qwP?>!80f~95+dyHGkIQWT9Ak{j%H8lYEi2= z`-?vODkX?_5IAy6OFhCif&*@r*4euEo$R{Dj0gL=MH$Yibqh zZ#kFjX|!2)+1K2V`=$b*lAfrBoB*&nWX{>o$_4W&?SqmR`~d$B(Fh2UANV!U>JQwVd(X|6DEF&n0N(r|fb$Tdzi5!Ql&o{Qe{>9+dr zZSX_mH-?U=v*+iY?Zh7K|1Q;Zw%0Ee9QMlQk>?d*X_3G3=Kx!(e_X`Yefi>hZs$8| z9+sutKx?x$(CNGYtxR1TAbKrhYY7*Ej{iP6$8;!JUWLr$E?A+_fv1lO_A}Ssx%8aQ z7pQ@O*k%H8q@?V#G-m~#@y5u5 zq9HNpE%cU-;xHLvUTJw5?K-r6k)lAELcx3-*AMMVc8|o`#z4t1BIJrg_{;^9^6Uk1 zN}-RaYCFds;nhj(jxM5)`>=vo52!`gYoi#;xH)XuT^oS0#6|prVzKPf5TR>=l4=~K zQk3~6wO{P6kIJs(lM3wQo7S0=?$v9dN4wV0-IwAkwm0G{C0ie80}+6P%=e8>m}yKN zo6kALfy8|US^N$(_>gMnvx`sish3{6&uZuFja#8vkT*9FboaS<=?K6g1>rHmuh)D7 z@jm6QT$`PN#APw%SkH8~r)AlbGSI>w(bUe5y?U#oFj!oBpMDE|My0x0<8=lJ4*ZYc z!0b|J;XeiU{uX@xTW}Trv8x;FgT}FKmp8Pq8nGt*eG>7gZ8`C%++V;Rz12xUG5-Qq zYI8A-#+e)f!+O5H0jd^tZ14zUJG0M+?|KkbgcgqEGGA6LtY;O07WVDjOr)*mo&vS1A_5P2 zl?<74K(1>`w=9mX^Vj+TKcalx*1rxCmTWDGZXS7o{0z?{0IRfmrwap#LDJ+wDKY8T zFzRJK_X)j1f;nz+rn~=%b**+T{&g>^#aXfD_KN}CDip1a1~KXbo1`68&Rgmi#g%)OlbgupL!N3 zsze((hV?cGtd7FRAl0#Kfev65;Cr8sW@hBoAxf0G)!{|gM(>Wrg)X~%nt||kfm=|$ ztWzVDs0t(<5hQC)zk1A=*+_6VVBR&aE3=pZuE#QZsoVqQfqiV~L*S)$A3pm_`g z>e|4DdxzCA2+lAFaD;lJw|IIlnED(S>j=j8p}=}Cu%}cVKyUm9ki;C;JiM=Aqqz$w z40;^(%;`MdZVmgH~kG!&?L4C+OHzw4Kb zb|mH5!1`|hN5$U&N8x_}INZ4h?m`W>!wsMG5JfL-dhk_bC^&SO2Sq|y@MVSL2XD1p z+#aG306wO6`tP=ksrl~?_TwTr5cr@%_Ff3}I&N=N{G~uQXl8)W8Nz?d1JPzU6vKiK zha0Zfarb0~m}euA%^Q5!F{u=6IHEEh(Scx%D)mqL1CGDwi%l#9wxB`g_qSUB?GfPZ z`-2?+9Zm~5ynFw0jg3M;gv5+6jFmyu5`dMCPfU`cV9a$WJUwgej2~4k z>Qxg{!F={!QgiE}dwn2Jg2d$QKz%EKAe zRXSkXzCK(p2+G<^o=2<>Wf6U==4c1##a3wW zj@W`~PH7bqy|w6M&z-`JrFh)0@b4HFy|x;Ji5*+ z(diQ`%m#;w1Tt)hto>GHyc#_q`SYY_sLkCmK;Dka&q?R_U*0P5! zBf~8ouKAmUu^IYL&f+yaBYmdD@i9CWmRh#Vih!Z9=NTV13jl|ye3)Gw8}rvFi(isU z6}prfRMTT$UhF(8-fiqBYrSWqAHS&@lM_KsOxk;#HHT@`F2%9a0;9*kP0~u8s<6ep zWOM6eTve)Zu8<>f3r})QOp1EG7%|UA8L`cmsgNV<+)qqTM`uboHZw!Q{i>C!upnY$ zmUX=99EaR~QePKx;K_cW%V=SC^sZ8v1cpx2bo0#)SqA zpGduH%05tP6tU7@b@m`FB`7svSsZAkiu^*SKc=CtA3C+2s2X9z{{||LbT#kZeo^rF zUfP|}Jiy4<3{*$}O7gL%khdzEjhL+~%EAc#gKgb-o4T>tWktmjNyhNlmTzBp5@|gf zxB}Vq7}OTo-zy3s?BH`7ocaP&3Ce8KN70H3{tDaE=rwSBFV-hijK48@X=_8mP-zq; zaDLO$X1UAYZD)r8F(xEIUkye&EASm_geQg9)E!Dt31LMThJ3FcpR&(0%oNHgy(rpj zR1hc}=GLyvX)Xm!+upkLt$lCTnu|9?c-kr0otY~38%pdqpAR~L@K6|V zRH$;XO(hoI;Kk(r_9DIMPx(ePz;aiykoc-Js}e9ksfYs+^7j_w+gj$^aE9H2xRiR(vJdsgpO z65F2pPL0M^o~lGdNff7K>#>U)eM;R<4B8L-ogf#a$%b{NQf@)93Lae#J{_9cA*`BZ zmyE(@PTx{C6G1qYd!u;B8j@L#SS|{=D0Cn~ng}%WIaNlc6G#M|8m=d}g)sD$#&IwL zWt7l&CGd^Cpd2yg95KX9{6`op2pe0JrQ$>u&5=c9EGKTYuJE872vKPLoItEN*KNJ| zBb|`cGuWp4$_03=k8at;xez|byrLlnA|cpK7_ijbZw zLWOc=jVf!`%D@9fUL?KL<}b)tudYi17o=j(beQj#g5Qm$eVJ41zw zO_aCap-0~(?rn#$6-!Cq*@KXrrmpHH4L#4_pBwd_gJPT9qt06KRz18bv5X?73OdyM z_6F98`KpDQ2!{M6doUys{{kT#16+Ag>V8iJx$xI%xe26y|LQ_quRP- z%1IK`BjV-;gi4CT*Ix)w?DiQfQ7M3)Q6&qM>TuYiFt@x(;b~D-N-$_kPOz;}Xz%kM zOogz!&J;*O9<#N{3s^w^jhpwA?Jub3$B99rM7Z0!u;5QGAy#OEfK>hh!uk!Q`)?q- z-#~MI6P-Zm+*gYQINHedQnLsFTb$TG5CqCWbBiOhEe0*)}RW;(2IwkVD!C6Y5U~tzpH9jY^Gh zsQ3edDGEfSa}^45n$$}KL2+oskEDM(FhZf8N_=U=b!PuEBMr*Lpl-3!Q+THr5mQAN z=EqynqBsa2VhU1dF$7mK=*CR36Hr{t`Yg!7+XNmd^rjmQ8zEDq6ata}!%jeoYc^Tw zK|l(3fy2Y%1@RloKhNzOc?Qn%a)N<5SHpne{qx+urj?7Oq`A47iOZiy_JA%+abcP~4(&(WoJFj^l(wcI z8QL&MgkHV5!UV}&-dX!v?cPRnRgb$mUCx?6)h$u`*$Y#5F9AKhU%0HUTx$(|^#rSL z{fg`!Qp|yVes4|se(u)0tK+@}-49Hy0cSuzPa(sO(zaWV{Ngv>H{)^VgyHPq^w8#% zJuknOPWRP4XQ%%3n^UVBuM_U&h4=);11UOUo~s%|!_cgioY2+5#UFlENSAA`yB8mr zr-%8g?HzfxaN`=n$C*9sNdZ?r)Y|91Nylln2SAPE)ouVcpn7pZ!@BaN<<-fGUK>VY zg)d6^cE-(``)b?jB26wQCG-sV+_7PcL!6z!|IzE2N%F^w-`nE4ew~1zJyG9Y@!;we zFolShVD+_5kdU8NYcw(V_-q*>zb?L;S zeV)vljgL@vTDTC0&F`UR)dCr|e0ct)J>zEGa8$jUIcsy1e`>Pyq3Zg_mGR4ik5lXG z?Iv;ET`KQ2E9=86u=eG)|JO?2-5J}u!z1~ka(IBI#%3q>qy1f*hZdo|>4jCd+(MJ- zy=wV%IVQ){lJMI_b+gL^HsDGAmC2yqJ&rq-i1yvlcI(|J+3j`<4kZqQ@JoZ|eVxy9 zjiN$Fx3HEX^6S&EVN>}em-gD`rebk%5OFedIk84e%=pdI)AmE(&Fqom!&_GJvENy8 z%;N4FKJorr>0s#Os+XTnjx4O;8BxA4QF8UqybQfMgM$8N=g0DcYwGsMT5)_p`7t9Q z3Z@(}^6Oju`gUvnn4BOZ&d(}e?ute(%7%Rwd>p_qrS&kmwS~l7wBp><*OE+lWq#E` zx7+kka+P|!7S*imb&=>Z3vRgGr)8v^d!SnoaaZW{QbP8c{V1NdHw5JV$ZcV8K&mo?SjR(r(-NxM zFqje??2YqD>5Enc46D{AAR|ooM2eE+Zt_zfvSgrCG4Sdn;!RwV` zFp6^cu)pQ2#?KZ?TSl1Lk9iV3@hR5rgZ)q_dX3bU9K06!8U#-TnmzdBy*9)`Sd+h( z?0_y0$elL zOB#MR<<9Rx|BC)S$YatDoS>-WH%h~A_&-qoKH%>t|GNrY&Sq$buX!sFJaRMk-~=#M z&0xqu!5}cse`x(n(h9^8BN_lS3?4Mh=C5Hr0DHtO7RkonIO`BR@4o-W`TKysd9IOa zfS%JO+W-wi2Mzme4cW%2T;>t^_UbbFDP)gyPnYVsS|*_b4CpiG$0*F$JbnW?e9VZc zF+ELZl)QsRlc)T|T*8SRxE~7iqI;^mg!k8oIZaIo5ZF5s5D& z>@g19aN}`%JmqWkc{{NAeq?jYSvkDRjackHj)L=g@9_Y4;^h7FWi7J{OCYm-L+x>6ff3qIWy3!mhi=NJNoyo6CC!3W6-Ao0B*AP312!5vCQdtxTQUHr9R)7wfem9wsyORmTt7fmkpG7m_3_L;cs0NJ0%}mTddqn@m+1ZR~&4v{5kp^pz92J zeqBu?n(|vsi#9op@jSgC{{FJ{%upr#r5F~9c!mEL*4Y_OsQiu>&pPfb@B4#DQ=#lk zOa)V+tV~ny<2i8zBe$~NUzSkyMty0UHS7LIM(wp~HR+OcgL6;*88wr$&~SQXo;xGJgO?K=d8vch|GE&P0rSx*b1w!t43n!$?oo(3kkm`=VJjH891<$BCnjNu zGxyn38}X<@f=1yt(ow{-;z}oujrf}=SnY@?8xm$fhDvP3RM}G)g39!>Vq#1sT(_vx zjk?ghp!|U9Ek_uJ{9{9D*O1%tJ-~hcN=Wb|KkN1FfG@|>Kw+TwAW7i8VI0xTdEMvv z^)*ghFzd+oUi)qFV6ySGSxBFYK(3PMwSD~uH!}gFJ+i~o5=Ta?+HJ4Gn8$91ulIBN zX0CBUiPMm%eQIKZ0F`|Kkwiw#;mHi|iTZj??(F?H>=wvZD)@7wW(8iwo+;usUPbnc z`u_d9n^svzw{TQ!NfzuoQ}=JkC*c=*M%)aSta<^<>!NoVQ}Z=bK62{kPRGp56?;yGS0mgRmGEOAVen0(l-W zxAwY7qeD)OpSE3fU&H`gD;{U<-DJMb32oR6+n3pCc|0ZX$K&&@hWeoTf(@tYlluZS z88R!?NraH7-h{n}G3I2)&gw(fKK5O{BBl4~Xb#Pa(#DU|9zQPDQZk}u^lmK;*bPCy z@X!U69i$8{-Zs}b@vf-`rrMX7$OQrSfiC=HsGpg&`qt3FC7Z>gE$D1$Ua+Fsoi8aTnV#Rw*E`&n4 zNbQ}rm(43?lr|>?Q(~zzrCqi>>CGz^0~`1EjmFN~IZP~7KkeOO569!ucGBPpXIw3o zH$UkcZDQ1(DU}@&)ntAzBjU6RU41Cu(2jfe@h~eX6ji|1T+S&9 z$w@`e$s~Hzxt_12^*f&*E$h~fi`BW9_gr|eep5$-_YCDzs~#a_gJ|=W7eyVio-Wwex@Qd-XHQi&k+1E+JRnXvl8IiM zh`aJc2v6G1)%RnUcL%iZkLkZDBSnW=;Ny!Dt>}bMHgER__Jp3o*gE_Du43+#@`rq! z6m4F5__wmB6bCQQ?!7yRp1nKtAHkA%r(RHoGgsLJkKb9yn!-u=Bpy$35{gWgkX<=4 z4}={z-(H-4PK<5+7;DE*`uQ0J{lH5udV-Y|iYil;>{XA@8q@c z2km5!yp^j0zSd-^gj`;zxqiJ~czkABx6MO8H`p$?AF$j_akYF;I&T~Fm4ds;-0o#G z7hBu<-a+@QsOrm9XOX?o3BdG}Vl&HwksP&iFrDnwy1?8gP=;Z} zo%Z=SSa6*8*3Ii5(u%s!&8hy5x@@^j3^#k89cx$}K6fW&%l9I?(jR*9gv3b4>snry zG^AZlMq?@c8%8L;YqlSQB&Wm>m^()s>(T?YKaH+q)6`QAu0z?$GwOQouMsTrwY)ws zVN8cg0%S$uwCswNFOe9EQXFmk2U=NSR!di_`CNy1BH^k#$Cr0EH3bkLuH~(K(L=pe z5{`@UuV^bAC ziv>PI%RoyjRpTUXu&2Ql2WB&CK`sd4XDQj9A@^ohgOJ-MuQ#`&_vN-+5DAX_)Qk95 z&z>#uHR2||^SE_Us__>?+?HT(aD>(vk#_F4<7Hor5OS(IcNfXMZB0HPw;1Z(ZBzC* z_k|wZk!@E2lOIs4`GAkjtcm`g<^Zj}@-FV|tD&9%Z&4&IyQRORraC(OCG}_NYByi> zkTi$Uoi+0pjO&<^A>rNaXo$@$TdqYwC-=4EzC8Goy`!7r?~`qh0b9YJ|Nra&98vdq zUpAdN+qtoj!2`Sx;M=*^;goV*9mrPmkYx(FSLF-+uH^-CU-T!Kv>3?fo8Vnqk$*y6 zBl4QID9JYP*GFp)_JBfdjFN0->EEC8M0eMx*H-~YVjDOT%GWarRa?E2WxUxMKTR5~ zR-&bU*|(()8QF?Fp_;u&m|YPL*7L&f^MAqeGgv&AlOTy^Dc*vvTTU5~Uy{ z%H}Wy_(bs(+O|^Mrrxh3h)dhuLexcX(q>-L7RqaQN?^I61J0ri z6%Lb!key_%i*+#&n^Lb?=l>K6!&T-EHqaWgnIT6 zu9l*hx;g24IHy5HPlPwN@%-o6SX6sjCJ!IA9Ad~^K6STTn#G)?VCVUUn%1P{cu7Sf zJJd)!)cCjgkQo3edf42-9=H_;Iq>WWJQl(`%*Z$(y7bTS&b78d88#yz&^lcG*jP46 zNpt6^yUsR4PwM9t<$F(Eyd}nCRy~^OjS*6-O`~&V-_wG1*g~x+ zOi9{;rzBOK0?r4!{lZDe;~I&Sk=Qe_%GHRz(`$v<{d!%hr6Re;p!I|x`2AEngC!|Gx#xg0x8&ss3h_JoTxLX(uoouAJC_&HO$Wix7CNisd2e}&|G3SDZj z_*ckmC=@c`@O~uu{#@nB5>hZ1Yg!vjoDJH?7!;8xm2_q?!&!_`1bZVWaxueO@*t$O zu2fe#F%UybsL*_`b4ev0pxVkZ`)kWDpCN?vu`(BF!WzI1?LuKdoPUed@{8@>hQc(y zeEJMA8VvI*s%L82F=55*xJ~LeT9Zz(X9Y??JLtej&?3lZ2pH700$9gcoGp6wt4uXK zG8Fa#m-PiYmb*GT7*tnNxcd;8%Z$PF0meTbF!-9zfqJhd0zzOw5N7&OR1}7Ivc;03 zYO1}?k7C`a#Xume3wUFkap;A&&BH-R+K3N3MIp$yQ3ha0!O%q^^jWfIWv$iY;Cutc z=vV_*O3)%;o0*d&^te#F~fVKU}AY^^YH zo>#eoVfffWcx_NM*+W=^bkYZ4P&Hr2^TD5LDRbaZL2xnyNXv8i<{7?GoAzZ+0?&s3 zIW)`K5Fj0oB&&pEH=d#pf}bI%LSgoAmww939bvyh+~P7VbWXowSs56+M{zJ?lA&;u zw0k(>{Wl*OQ3zuyS0){8NQw6rMAE=mIip^bfKMto?Cl}A(I^2UaR_{dKeQJrP(b|) zaB+;!tq3IadD{OBnD762zyO3~zsByI9-r=jb>H;OS727aqwn&i^Yof5fF1(6F$DpI zAphCdF#er>-@5OWT*ddTJr&Yvz$iW(Y7##Q4skLoDFS^`C+YW-@FdY7$Z-fLoxqQw zfFb|90aW65dZgcDBSUGk8#6kCVfU#U-c1V5d>q})9KG!vJ>621VIi_G<@dWc1_6A; zKMXR+@iEa@)RM=dFJGgVXvf>gA{OyeR2e(cI-W`1#&nMx$D%O@p#)>_}+V= z>ic~kicMe5dy_)e?_<^f5Fmm+NHkUj96?dGoY7|_t>2{}$k_gpc`EMq)rz`#*?Z*P zf1FZ?7{$)OO3gUN#xptH@L|F8u&vusvar5+;qCUFp4pz3_js%EepAZ!s0K^~rhS5| z+v(O1Ud?-|r$2tQ_~h>KHtO*fz@Mieb1vJSf}gxpT4xF{pVDBXY1pG*Pr7?CV;sB) zTipp?Wfr2uGceWGG|x1!j4p6kB!Q98IH8f<(RC|@s>>U?_*>ZOPVedu;1x`#b<-%h z_n5T`WV%T7G~E4OEsIpQgHz{+r(iA;!EmK!uc(~Wo5-8NXfTmK99n0pFnN*I0#iq< z??l`v!^|-{*Y-JK(8o>A;|=IqdR9+H*3HYt&zG7yPrJcZBR?gxsGj%4g&s3~ zA#qRxkGJ(HOSoTvpn-PNpgVeQnhJS?iEP!cNSHxvM|`T66PTc>&HooY=SWBJ`UC&e zQhjS_ebYWN9>&+mg3A6oz9pspj0Y;q}C>};$}OmuAN6)8}S7$#pr5LH5B zFQIRV+kR!g`Ll~Z=vFQ+GnU|WOZ%+kTUp*aR;HE)@!$V~IO86&jhnsc?v3CW#>v2bW@*AMMVTf^U+;Kz15wV2cYKKD z5My^4rVKZK1Od+owS>aJq0DsZ)t1mA!79{xVhcA%nIXx1bP2&W@&8mg3_CxqpZ=L6 z$kP1eZWUC@?epL~{{qU)G-?`2<}x^fDPAG2qG7V-sD{CML3JI%JcBo`82cZLmyW?G z)_x+)#t=($W;xPK5soI8=L?WxKGMBYLaT7|<8WD&nR8GmHpF=Z8WtIj1A2vP#Z>Ar zOQ49tzcBtK;#^pi)?LpeepM8qisRbtCdTmXWH8EXxjdr3;_3-vKwJ(%)h1_K7B<*08 z!SbY+=jbI|-*jl=b!DJISkpZaiY?oICY2qbU{rNIcv8?httSqV5npoDQ=Q%KYx^ ztDw8UJ1#H|MSbzop{?1}7z!F@|2c%C$08a6*5?8n`lIEaQs>ESo#8UMcgm`Ypht|l zmUu^uruE+#>4`v(j%g)U6tD?K|zjUbNp8$2d zyZl?n`^07=8`=MZgj=Cjw%^F(i(;y>{@1^(Ku`Z;#gp>CA)d;CR-pestQa*q3>i6u zItgn`y0iA7@SL2wUB??)weB@SX#3;~;$9Q~#*k$_mpN_CD-+#pXV(GI)%R`d2Zq7) z`Wxp?1At5FSS`_#FBeb10o2+WVD#p>i(4xbWUFM_Ka65xhj-?#{DIFlYa&cQ`)pw{g*WC`O?q#R^lhenzW?bcOCo?eu#eBvE+^!xiU!Is?h< zSPq6A#aybNVm z#Z;)~AJhg32F5zf=Ee)-Kd99Kn*Tx_!AmJV{|mJtG+|&NQ{W*7%SIaqDx8x5#ag<0 zuUvgsQJvmj6TBg`SUHeqm9-cth@nFw13H{D8-@|nW*BW!M})qMX(b#HcNj06Q`>(z zPKjHmT8S1qutJ~j6vYOIE`SqLwUcp$L+C$Tl`O^zs++(Ypo|fvV~Cwod?a zQDqIa>LZw)6ici-%$J-mCXXT_ZrIj)eA|!(K1zEW2X`60f)kVGW81tzk*FBe_P7)r>LLdhsLfC^6<-Qs`* z>6tnmQB3K8yh3HmAN~5A8HS$l?V%UG8k|2dr5--(Lr6a2T%L3hcpalu=Sbr>->55ExCV5zk z+Aa4&P4?1I8p&Sjill=w+g4L;p#E7~*eO2$1(WhGz6X$hkhi)b?_3a6=cOun@I#8i z-$J2n0@sBxIRz8>)T+OUrIkfuWSk0PHl@uUI%GiwIZcqAY5*w%Yr)gfW*$JwNrjUC zMVSojpOkshXU%Q(M=}k$6vboWC=@Vx1uY7GMVc+}v5UnToA5G85@%;(Q8&NZP1S3> zuTYlL`5h>Ct2TRzpiM3d;8;LAUr8}qJ4Y)WLe3u&TR0$=oga$CeBxdU*)QHu(h;`D zvZqi|@6RZVGQyg}liJ)gD86YA!A8O09<`}`->3C2`+75t{Bi3HszE3_?xv17B?ESi zewmkop*s%(N`g-;B&$qEf6DfnaYisX?TTVevXo4{6hl3f&*7b1sY<@ksp@PN@MP9V z3(vuvCaAUMZ`o@q2##XMm+^cpSApCmvheV70$#JqQN{}s%x;rXwa2@_id(}zf~&}ab9 zg>m3QgOc`P6U-!joSts3Qx#9?kJ3;$pi&A|pi+RMAb7kZUjpN{6s!e?g3PwI@gp_` zffP?#0rw_rSTJ}okP@%Q0z(`rzu3SbIF=O8)6xY=ievjkdw1~A>`&O<3mabyZ}L4y zRZS-v`fB09fMAvL0|ltwG-=2b9o23y6O=SZG3~SjN3ri|@s47dX^D=*h%hod*-#{V zu7#0N323qCBdq*5!{^L@oMIAnXg2}UmkJ18bh!~LVu@YLWlKWVB-vY2k&IFu+@m_U zLqihU(SSCGFIvNg4J*3K5Y>7{KtrO)zB8r$Q^;M9nk?_fp>W=VX=X}+m(2f~q00j{ zGj%kG%0-e1A2tg@kquDQU{@N97+i}h+kArrn)S`>6!FV6=^hAeyrUOVt|J!knewyH z4DpVa6%Nu_@L_4uQ?fj-K6xbAfcwA0l2wRmC1Cs&mM`O=;ztStoo@iERI)OrrCz0T zrSNaI5M{{Bw5ljNTj6E|x;#)Ro}6+o>%w4k$p#Iy64U>$&-@;PmUxY#7;=J!0l_8; zTUN@jVOjr*3z9w)XM93Q5KF*=QQ=UUv3NzpwYA85cgi~>K;>iFf+Pa3>=l-eh&v-X z7rd!VZzks2aKsJvRz%O)u3@I@IU-#IsZ_LeM4eG4&tTOOm3femG2c@w?S;*!uIWam z>4?z8z5-EE_Hy@%M-c=9<%U&)7; zMlv#_a2}F<|8UVZGNc0hQOb%nR2L9_(dhwUYqj!?oV=!RK9ch}y)-x%ET=FmDpkLI zq?ezmxq}!9(6TI%Yv42??l7~XA_R9`Tj7ErtKov_tbI!d$g#q&d&V5{kH;jLnxD(Is zrif-*Lyw1f>3M-PT*yC<^xY7mBNIx5#n>W*QVJyM7x+GMdXxK%)*o*5pk?7gB=3fN z5~zM4C3D1|;fEYYnRJJpyMTY!qWZCz_*RS&3k3WU<>K-G^Phj-Jy-He6eldna!|MY z)9B}zU*NxR_mLTss(`maWFq}MUj-^<$Op55^j%hRdH;&XwTtn`3%N0xedK(M@1z97 z11toNK+pb%6!L&yLok0kCj44Zbqh_MIr5zBaT3D!p$74{V>lwU-G*FwO+rkBxA*0A zF)%Jzx6spC-p34oh^_gn{E@^$SOk=Bm|VL2P^_FDXub4K^#PZ z*2PQHFmwQWwmHwt*R_bRW48otrsDpKo6KdN=N-Klw?Uu)moGWTK$x;WFlB$k=mE-} zm8S^*{GU$tu@wqL5v|L1$NF9{5E>WYLhNqLd>4k)HP|rqJz|gJ%bFF@Zv|aj zZAK54eeBCSlW;K$eW?kBj^LQtb-~dV0Le3>hbP4|^Mp`bzUZR~E!0COM+r~6VIgSX z`lVN9%j8?>4%asmrkj&ReJ7RpaaDs1NWg94Qb@B_8Gz<+##nCC=iaQw#g)}%L8VQ9 z0CpL_uDV!KIrh=LgN)l*+XOB@kZwqO?d^eh@y9nJ{uMX^0O`^kv&2)q{~(4yV2KaZ zf)r<=TH{f$sh!7E(FnDcNXw)h0vC5qWgLU72Q5;Kk*EdKj>gX3EHrLW2D_Eq6(L+V zYcpa0%u>uq=4Y$d?@xO|0R5xiV#pLs-Y`BinePWaByc6ZJ#w_nKVOfWo$i=eK5BgI zUez(g6V4}%#hrp1`*Bng2SYxoNW(q$I@hS2QjlHA(omAkh|-^BsH2SnrUBGYEx``z zqKpCB#(CQN(>>4WIrG?F5mrbHJ4jkM3xk4wf}4fL3sA@T8RH_gISSvjLBj2qDblA; zP-ofKi?XJHleENU9K_Ku!clQ?w{C{>XC*VFN$I`8Tv}?fnkgFUKOw1sA$iZzoY52t zS?H=PJi1^%^9DGB9f=`0nA1@oG_ZeJ`+>-ALn^}CkGtwIM;NAte7RECp=LC561=B4|2S?BT3WDkh76qJKcvVeVPhl|m6aRh$n(pqVPf(f3!Lx*!tohuQNw9a*zf{?H(`K> z`#Bh|QdAx#f~JtW*RJF_m|#w@Yw-ypH0YRodb|McFW`OE9(7cFNHM#wbJ`q%gYj5T z&-Z&+oPk^{&@sYD&Na5ob|7MH5-fSM&_=9TlDtEWBIGdphB%ES1S{lwS8(jxwKNq~ zTBX^F$*aN6%I$MJN5zWT6W7CjYC8_8)+hF_t3LL*U$i_z366TD3pIQ|u6oVS z6z^9OT18lPo#;Hpsg&CSx63KiLS~ho0l$E^NIG)bRVnG+d^vr8#r+J>eTP;yD##8& zSd^u$!U;^pVuE12GEw72QTh9&Cm|xoiSp+bW@2(etMVdCxWsMzM?xlLnOjR?<6&~4 zBF4DY-skv5L9A;~UdX>*%Vrpds^Gja`@y-52B3y^G+gnEYp_8qyMD#y6IOb>u?)N= zA0# zYr=pcEdhjeFr@px2zc%`9VU~(3jB)z)e#ggChmk2M~*j`xPlx-S%}4W!eZ8fC`lPf znT&)8z%BUkz)?9-I;^EYQv@Jsq?;(_|133=xY()MrR6M>V1a$u>_|FpMSPzdm>t=H zYx0G~B$ncS%Hl6lmG{X0*@4+~xRAWdB7huK%foF&TavOphDhVIzYSSO_`@d!i13#o zrK#XRKGLgM!R+n=F&T4fV$RyYapLWfrblvybFMT6x+Hlw!Ez@flheS3fj@3_C$*Ru z=sGQF?VtVrwacrTv?NS+siPd8DYGv=KB|!_^Lq0eH3Hd{^ILb?^!z*sdujpyD={-6 zaIUqDlnY;CP!`C@d(^YkUeLeJrHfY6Qpln46Yj@CnBuf?R5$~4^5GVL@L0f#`zmjV zDQ$pP%!z#~2Aq{7OXu|C!(#_>KZS71P|wxp@Ioa$3m99>Lw(_BN3Su9`}0j<0d~aK zhLqlg8Ir#$Bu&ig{iK|NXrNKmQ@zP%2^i~X{bWE4@uv`R8H>*P9C3*vL$v4)VgiPR zctCTiIN;Ojm-XnZjGC%hhQ=5m4%v_gS8hWek=YC;zGm^LB$;7?n^j^XLn4_xnx^UA z=lb#9da1KyjMk>{xwuXLH)HyXfdMkaGcg;j!?ip6POU=$gdyAy-G%^h zU>O7qODk=bW{QmV4mUs?cs55}B1R?85E}7EWzU`jC2I6(AtPZ~Nl|N0kx2r};7uwB zEJ;mI8RD(;KqONX=%K_}3r&|1D6ERx1Q<CY?qtk&-E*0SGv)>j4d3_b~(~?t2Wx7e;zPC@H*)vl`z;K z4RWDU_6Aw?p@gsT%AEOU^Sk2hRIZQ|MT9R^!W;^nz1 z6gT(Y-H>!vo<&bPVj_iLh-uWJb*5X-8Q-8v+i#*4A>K?x51R&(?zv_Bah=bE9S9y!^&qatck2X@m@QjxK8mVfI3xa(K2MXJvnfmmv2O9FfN zm(6uJ^za(K=!DNNWZWGgcUKF(FV!KKN|k0l4X`Jo65KlYeC$yMn7vgqk_{1j4A%AK zBbms`oyJOC{11)eQ?U=F`dn9L4QV4imkU!&-dg)+5lMDVubj1)7TKbHu6He_a@Pef zRbzfAZd04`KjrO83?{aqxUS5%(IBVXcgTs&=ue42*w;#Kj2mV!1*yS{EJr5b^{r86 zvhM*|oZi1hQA$Bka(l9-B~QTA z5^Ge`)ibOptW1JvL<9{|`WIZA$TiP;zw*4k6CT8t|4X0c>JI2Xw^yEOAE|%`%neu%u^@oVdG`(;CaN5mMzelSWWyosN)~BFb|j!=Z2@kE zntA!juEmAZ^*}{>Mq07$hd0BtD_!tszdak2`hNc9k}2_zuq~5O8W?_<7_7`oxa6yi zV*N_U7o^YOF~elW6>N>tCn&&2B~Rc+=MxaFX%fuiqZ*%6+XoBfYyk?L$jbGtFl%3H zX^0kLZrf;hVr2%|C!0X=S3IvpBvBb>Cgn`0akY8?SUsnl99F>#Tt*DOik2}`8@C}2&;F7KIqm)EZcd1Z z&?Tf;Ht#1Jc6X5fbnG{8zKaR4XX$S^5D>I~J7x}S(W`1?Z2MQ^(yi11`|m6Sqd&ez z(xhd}*e11Lpwf+oHcuhpdxM}8)MITVTnTq9{Qkyo8^>~0FWvQE7w>gNKTQD|2!rb? zDg{o;`!V}${PFNcsNMF3p^-|Aj;{SjKb|AQAUJEW&mlkYOV3oO32n?Xiew=AP6q1H zW-GJyqB%{wdTK{b6&1XXceUH5s~%=F>`*0@@n8%N+(bQBn)4wWgAmoN8Hr{zC*fT9 zc}5gSd!q}!XLuBhC|H4$q@7pzhU&NxgSc=qn~u5C@fgdI z4gTpB4lABifmpeXIs0>@GQA5w#96p_>qy{n7AiIxGTHvd=(xRsruw&UnOwZ)rSHC@ zP-HSCs?n_2k-|j^j)xohhbCPY>jOBl;tyV2be5#%9GNu~*_KKuCY3?AGFgVwX;loT zk+IR4<)CZT1K;T8+V_c)GFTr;DpQY2Quo zFnSi;JA##uPw1$3yB+oGnq}MPj+~wCZ7dEUU)IxhRPVUl`A!wybBc%(0iAL$Vz2 zgZpm$?!x-f(%xq<-Iph5FNYBEI(tWjCLK{diO=H6AHQXFmnzh%zpHBKcsP)HFPN$_ zR$agE013uC)9~ZyYs5FV*R)=$i!v|yT8YZ9xBu0$HCcqLeH7R&x{D431oPjgq^qTw zof-3AN7lbOoN3EDY;fW9{?tI}JY0I&aEt5|zg)XoDMdtU6OC&Y)3K#dA~~bzMZ9wA z_cz+AAA-AV9jdPphQC~R%d{tKMLIRWpM6#ePji17wiRzVoCC|0jI>V-{BWuR)r<(^E+Ix1DF`}og}lVNW0S!XsGJS z7P_eS=2}a{>7OwkeXACvrQ^XyI3N>Ur(&G9q>@rfQx%%F&s^~?s4}%fOLG+#>9{ZO z)zIZXi7wLA%Ucv}*kxMc;bxi(%75H>HQ5(iQCaE+zV-N^VYZwJFOs0K6dszh%E~r2 zE6>*zElFj&JCVhfGh>++LK7>mq+K*`!D6gI8{_4pHdEHZ!xFLiP>8g{4GbqPWzXE7 zBy0L_AV3$|eI*dqGLBv8{rY^ckv2O}CCRM+>E&qoV62YlO&6jM_RR_H{rETYyYCC_ zuZ!m|4!J%pAmd5>JAN;hZ3cb1{wUJJ7j=1WxBKfC4uT)|VbtR7h)`kDn;_odLHws6 zmx>B>2F;Xsjg$r8*!vW&L&PqpqL561kHJ*~*K(u*;{HergpPR=#ya8cte)kxEf$1|uxkO1eTvogbirOp!pC?_o5dGo@+o#? zMR2hRaS)0wuE+&sui(*~AGStWN&rbPf&P4Orv_4J51Q%IthJ=rT&zhZQJJRGm9KLJ z#g0Sr&2^%tou8H4VaYPF?fWDA^&8aZ$fd{aXf{8KyO&L`5R8Q&l(LdxJP-_flKx`K zvZmWgY;h7XwM(cd6HV{;4vF80U!X8ex^~k$g&grR+K~?w-1lZvAz3Re)D)~dsrO2a z4SC-W?~F^(Z2Y`6WU@*SZEZdX=Ypx!6Dl_WQ#kBiNowwub^c{dNWJggv`cowHsuY_ zny|Vf_}0(2720fM)L8a=TsQEIKD&=3=Wpmb`0Hklo=vS6&07i_Mllx#(Dzw?Pmb1%AYjKq z0+Se_)@<)$LMWEQq;DBYw`m+MBFWd?&SU&aXHfpodHRNtnu>(Y`S4Scj~GK|DPm=L z@;IcR@cygHerj@e2i?-r3U!IZ)tyy^QUs2IRGiE~y4T^aD}yuCnBqaXoR`B4g;Xh8 z`6fIo>LxU_!*UjR$Y+7&N-1Wt+aaI68F}ka+Zp;xu4C2HQhAd2Lm0- zw<1@#v0V3qf?8X)%efc~hw|-W4hbcFAHh0^HEK{38+KZ42Nve7FCoW%CfNUWb15tX zud&rmwRy^}MPGo5j*=hW3g^*HX=S=aEUn}^pQNm6QL|dsUeZqasTOrQfwE`G@wt^n z!qb?p#f`&+uFI7SWy388oP`3t6}-glT#1h_eF|L5?Y-YLpkkIyjrrynEY;1@D3UyLrb+iK<4uE5h$gWsTVz*AI5wRfOY`oYW>TI{E+{ zh)SMj#>rq=vo3gD+n*WTi|MM#>L88jwBR70-)@9Ne^-q1rcv+D+R7fP$zATU8ftPG z?Xd;7j!bWV*ssbgd*s8wuh}Nag-n0{tVP3;ZV~>3id$~Ht!m%s&+hH} z_vemnbxtrDeRxYK=@P>8*KR2llTu$)eL&CfloV(DvspSHC?c^8EcZMNKx+TQSRh_B zB6m2*PF+R-xq^LJ5+=?|%Q@Nt$!d58FM|QrIgaP8PVd)$HBim<=UXiUe&9g?vsZNBZxc5c zR|h*yJ6mQeS2Mf6KK5#&8{h_6FhG9#iccg?l=6jREGnZ=qZYu`O22%EO6*Q7HvZTS z@7wkG;y89}C;tvc%)tj}6PI>zg!8_V01*GYKNh}63AqRnfzGZ)u~e~;)N*V0fFxA_ z$EKT@z&Oxl#ae<;4+gVvtUx@i35R_fcf@H9M6VnPjIz~8^`>g!z>{P?wxaA?_fsdt zQAB-Vs)gb)x~gH!-J%SsYlq7+bq-!$|1VvFlSj)vKt0qzT}1!T^>=sJ|ET+`HEhgm z128{Ff!gg+AZ@m+G_#;7(0oDzTmS4xS`|Or8eW3lDJ!+zTc`q#%eGDU@zcf554oyc zgeq>nytFdK|J3opiR;{A&CfoCq}8dJUV`NuwD{$^=+l68hpFXlgqR2!ZU;-5L(K#u z3WHiYN$ONEuO^d8u3O`^vBg|g=ljBQA88l03V{Uqy^(D(4iW5jgHvXA5Mif{|2Q*U za~GNkPuOF614rb*G47hwEXupOyqa7^m%7l~>KoWUlk1i)Ir%-HU}K`3zvmCw)N{%*>rUdyL~;aJO!l|#y%%hl4iiml~2fa?O{aC_DJ{# zQg`G9#e?B5fo)cAj>fV{=wJ7#WWWAvl@>o27GVRd$wUCNyZ@{??A`2)&76T%nZJ6k zYi`-^^WgOClnEzD=(a>8aX@f17YeKE#Ym91+=Ecz)Su^#v$AYn%U+qx&{yXOl}ED6 zp}9}Rp!@CczWV@PA%DHz1SM`GMPRsaT?gru?T9iQ%TBKxy#Gu)rMmp747-ko_HC}+ zPuS{X?>%nzH|oX$BpO{^8I302ck0`N;e!vU`Y)un-9) zMpD6M6jB#OEkU`vEKlk}zlFM8s>HwHwX>v$`-{RAh6r10;U#;zc5Cb$ zW5O@^@1%FmQi>Tx*ivEzAQ^HdM^#YKnPwo|F)V*3*Oq5e zil(K&9DsjO8W9ZGuzs%t?!dLAygxh48i!N<%`nO)Sz}aj5llZKa>~QEBWP}1N;xMc zuDNALqI2=?;3<-kd%LlIx9(AR!aM>+)nE}blKUIL-u!2>qt#^4iV$BdI79vvhCwKm6W5keZ1jjKg`7D%3e+8eXt& zee&S}Y^P#YFXmwE6?qMqs*%8KH^k`+)xqZR)pV9Z;kwWF7^fc!b0%1yc4qkQTJ*So z!}LN?8T1_2I6)mNaa^1VXZn2F!R@+jQL}i3sYQ~j4UN&u;Z5rQI{kYM)4)T+XNT}B z-$`Yx`$sRlyaWP1{vHxEsG`2^PY=CY*Ot3IAwE3@_N1J5d#?lAj=K7M6AQyyT&$&j z0rtyUsHf|(C)DHB{_E*_5kv--p>DjjegqdA!vb6=YeP}?Y2J`^>W_l$5BPu1ScT&& z7Cn$4Ai*RcAlSee3)r~(uW1Un@&aC;_C{8=OxBKO7FX&vj_7I_f?eL+w01KnG>jO~ zgI#R>#f+cn!MLoxmnL%+GuAnUN+-#qXHpq`Sxg1wB)ot;h6(t5G+?N@W;-d)2l6S4 z3rj+yz+>Qyl3Cw!3Sbz3-)?Rd!zuvTGUVZlIFAm03_BcB1zf*@3op5x>l_z7(wH=tiMlR;fA=Je+n!V)fi zh~<(R2aeAquU2)Z-|?j|t8s7w=$$j82CiH@{2d!$_ZP4}Xm+VnvClIg)i;O7KYJrl;ihSBBnRgK|=PU(F_OUNhL|V#XB>lK2CO{#w9HDoTb>$0n-aV*bdAnQ!tthrI&{%*betBoDlo}> z%fB|a>o3EP`X8aeQ!uUNj8P~`Bu1EiTTd=^n5ITEE9J`zmM5&G$Ih6F$9cgZ3kDm=1iH3)O5g`=ZLJ6KS1fxz4gk(h^^XlFW z1JQ0p;k$Q2Y)eG3X3(#=YMU_^9fu=(?upY z8BF~7#LlQ+WbxJsXC!C5_K2FluCz?yoK{Cd$f{_bXWcdHzN04u|-TOuan$_5JJL{+)2?k-Jp-|KXR~+O?n>*VlJK=Jc-NixtH@Aq**bN)*23DT zLs@oN|8Cw%zL#?^>)*#&di=Lk^MtoI|8BT_^6eu#cH!-_Uq7>Z@(oyfzgOM6TKau| zWBK|k((9*HvAy2Pz}S4$;FiI`fEh4 zeE;e}_R3wri?0?&u5<{pl4-em{muUyIYw4l`Zv@^`Y-F3UcHxJti}CL# z`&OoX&IuN*Tg5Wj_QgEIvro8Ke7d}iI-68Fe4EnQF1%k*Cd=v%?`ZeU=%& zx#vZ)3vYWW*l=C7Va-g=Xuf%!%5f|&WTkG4}*||J{}Bjl0+M(VyuJpUZEDZCiirW#AUS6f7UqU~u!m<(n1flim0~2&u92 z7o3W0*jlGxSe=^lcGHb~(VKi`>k{U@c<^XW=#q=V2}}RW1N`Hn4_t6Q_E zM=(P9u;k1aauVG;Kdn;umzWyS_ra?6)PyT0B5x$PbPgBlJgk_Pka>pr1$)wy_TJOF zmw4l!TaN_u==Y!3PkG`ITzvY~wRX9>Cl|NAmaDFLylnZrx@R|^ z&#PZpeEQn-xVqHatJm-SdF{6Ky~^#`&)4E0 z=W2f6{r)$--lG2DqxJh^fBo&Z|G%iz@Br@=yNuWyEN!YS%2iR~hs}Z;Cw_QbRC>5e z>}Blgw*K?clP4wK+)!EleFEptbH&Q9jySKJDV+Yz*UH~JSZnvzL%041r!u#yzOv$b zDU)ZRoZj-Y;Hej1$p-#qO>9yb3mUN!|BXAo9kLJbW@Hj!1`UsMFj&nrk60VDbmCNC z3-uIm%nj7-fPn^}7z0DJGjK3CHLoN-q_QBjI2P18LpPvO&D-GzQ0YD3I5Ia(H;`^% zJO(rZ(#8ij?a?)Mv~dS#0+n0@Y7|7#_#7w#uX~d7i@+n%=-R*BzAgS5s6B^;fk6O8 zdp%GDu064!0Gq2bBAgd11FJfDV3!2d@)^K@0M8r%jVR3p`W>70yas6@BcSD{fmX?& zSpEta24L+FpCcQBH57VRi&=N;Gcd%3vNG_am=wkfHL19yGA9*0U5OqB=m$!|^fxf_ z*`jDhJ6;mq9Q1ioggNy^FmsS5QP8!cPrM+s=axaWqfNu0n}9wMfiPiyIn)G{X$f@w z=%dC6{YF(#{pe%J=tiLTzY#`gH)8FLqZ@$U(M1@*+=OfZwr(%FS?GO7gjs)3%tGx+ zqML%=)k2se+yV_1l#Um=e)RSrLjSsUq%4NoIt=h;1?C`7t`cNO1ZIx~y&xU{LyzEi literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerScorer.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerScorer.scala deleted file mode 100644 index 9bc1b6aae..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerScorer.scala +++ /dev/null @@ -1,52 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.cr_ml_ranker - -import com.twitter.product_mixer.component_library.feature_hydrator.query.cr_ml_ranker.CrMlRankerCommonFeatures -import com.twitter.product_mixer.component_library.feature_hydrator.query.cr_ml_ranker.CrMlRankerRankingConfig -import com.twitter.product_mixer.component_library.model.candidate.TweetCandidate -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.FeatureMapBuilder -import com.twitter.product_mixer.core.functional_component.scorer.Scorer -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.identifier.ScorerIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.stitch.Stitch -import javax.inject.Inject -import javax.inject.Singleton - -object CrMlRankerScore extends Feature[TweetCandidate, Double] - -/** - * Scorer that scores tweets using the Content Recommender ML Light Ranker: http://go/cr-ml-ranker - */ -@Singleton -class CrMlRankerScorer @Inject() (crMlRanker: CrMlRankerScoreStitchClient) - extends Scorer[PipelineQuery, TweetCandidate] { - - override val identifier: ScorerIdentifier = ScorerIdentifier("CrMlRanker") - - override val features: Set[Feature[_, _]] = Set(CrMlRankerScore) - - override def apply( - query: PipelineQuery, - candidates: Seq[CandidateWithFeatures[TweetCandidate]] - ): Stitch[Seq[FeatureMap]] = { - val queryFeatureMap = query.features.getOrElse(FeatureMap.empty) - val rankingConfig = queryFeatureMap.get(CrMlRankerRankingConfig) - val commonFeatures = queryFeatureMap.get(CrMlRankerCommonFeatures) - val userId = query.getRequiredUserId - - val scoresStitch = Stitch.collect(candidates.map { candidateWithFeatures => - crMlRanker - .getScore(userId, candidateWithFeatures.candidate, rankingConfig, commonFeatures).map( - _.score) - }) - scoresStitch.map { scores => - scores.map { score => - FeatureMapBuilder() - .add(CrMlRankerScore, score) - .build() - } - } - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerStitchClient.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerStitchClient.docx new file mode 100644 index 0000000000000000000000000000000000000000..a241e8c1cf5ac37ada60d8e3b54f9fe486ef5843 GIT binary patch literal 37431 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerStitchClient.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerStitchClient.scala deleted file mode 100644 index 15e9103f1..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/cr_ml_ranker/CrMlRankerStitchClient.scala +++ /dev/null @@ -1,79 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.cr_ml_ranker - -import com.twitter.cr_ml_ranker.{thriftscala => t} -import com.twitter.product_mixer.component_library.model.candidate.BaseTweetCandidate -import com.twitter.stitch.SeqGroup -import com.twitter.stitch.Stitch -import com.twitter.util.Future -import com.twitter.util.Return -import com.twitter.util.Try - -case class CrMlRankerResult( - tweetId: Long, - score: Double) - -class CrMlRankerScoreStitchClient( - crMLRanker: t.CrMLRanker.MethodPerEndpoint, - maxBatchSize: Int) { - - def getScore( - userId: Long, - tweetCandidate: BaseTweetCandidate, - rankingConfig: t.RankingConfig, - commonFeatures: t.CommonFeatures - ): Stitch[CrMlRankerResult] = { - Stitch.call( - tweetCandidate, - CrMlRankerGroup( - userId = userId, - rankingConfig = rankingConfig, - commonFeatures = commonFeatures - ) - ) - } - - private case class CrMlRankerGroup( - userId: Long, - rankingConfig: t.RankingConfig, - commonFeatures: t.CommonFeatures) - extends SeqGroup[BaseTweetCandidate, CrMlRankerResult] { - - override val maxSize: Int = maxBatchSize - - override protected def run( - tweetCandidates: Seq[BaseTweetCandidate] - ): Future[Seq[Try[CrMlRankerResult]]] = { - val crMlRankerCandidates = - tweetCandidates.map { tweetCandidate => - t.RankingCandidate( - tweetId = tweetCandidate.id, - hydrationContext = Some( - t.FeatureHydrationContext.HomeHydrationContext(t - .HomeFeatureHydrationContext(tweetAuthor = None))) - ) - } - - val thriftResults = crMLRanker.getRankedResults( - t.RankingRequest( - requestContext = t.RankingRequestContext( - userId = userId, - config = rankingConfig - ), - candidates = crMlRankerCandidates, - commonFeatures = commonFeatures.commonFeatures - ) - ) - - thriftResults.map { response => - response.scoredTweets.map { scoredTweet => - Return( - CrMlRankerResult( - tweetId = scoredTweet.tweetId, - score = scoredTweet.score - ) - ) - } - } - } - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BUILD b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BUILD deleted file mode 100644 index 355427143..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BUILD +++ /dev/null @@ -1,42 +0,0 @@ -scala_library( - sources = ["*.scala"], - compiler_option_sets = ["fatal_warnings"], - strict_deps = True, - tags = ["bazel-compatible"], - dependencies = [ - "3rdparty/jvm/javax/inject:javax.inject", - "cortex-deepbird/thrift/src/main/thrift:thrift-java", - "finagle/finagle-http/src/main/scala", - "finatra-internal/mtls/src/main/scala", - "finatra/inject/inject-core/src/main/scala/com/twitter/inject", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/featurestorev1", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/configapi", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/scorer", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/pipeline_failure", - "scrooge/scrooge-serializer", - "src/java/com/twitter/ml/api:api-base", - "src/java/com/twitter/ml/common/base", - "src/java/com/twitter/ml/prediction/core", - "src/thrift/com/twitter/ml/prediction_service:prediction_service-java", - "src/thrift/com/twitter/ml/prediction_service:prediction_service-scala", - "twml/runtime/src/main/scala/com/twitter/deepbird/runtime/prediction_engine", - ], - exports = [ - "cortex-deepbird/thrift/src/main/thrift:thrift-java", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/model/candidate", - "product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/common", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/feature/featuremap/datarecord", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/configapi", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/functional_component/scorer", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline", - "product-mixer/core/src/main/scala/com/twitter/product_mixer/core/pipeline/pipeline_failure", - "src/java/com/twitter/ml/prediction/core", - "src/thrift/com/twitter/ml/prediction_service:prediction_service-java", - "twml/runtime/src/main/scala/com/twitter/deepbird/runtime/prediction_engine", - ], -) diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BUILD.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BUILD.docx new file mode 100644 index 0000000000000000000000000000000000000000..d988856734e8cd6a1c770da22606be8f42c51558 GIT binary patch literal 37135 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 aWiiy&VSqO)Fb9Ehl^{bRFni4C0r3C_iCv8V literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BaseDeepbirdV2Scorer.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BaseDeepbirdV2Scorer.docx new file mode 100644 index 0000000000000000000000000000000000000000..c578da41c0833ebef4dc698e14461b900ef3dab6 GIT binary patch literal 37893 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BaseDeepbirdV2Scorer.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BaseDeepbirdV2Scorer.scala deleted file mode 100644 index 59b1f29bf..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/BaseDeepbirdV2Scorer.scala +++ /dev/null @@ -1,91 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.deepbird - -import com.twitter.product_mixer.core.feature.datarecord.BaseDataRecordFeature -import com.twitter.ml.prediction_service.BatchPredictionRequest -import com.twitter.ml.prediction_service.BatchPredictionResponse -import com.twitter.cortex.deepbird.thriftjava.{ModelSelector => TModelSelector} -import com.twitter.ml.api.DataRecord -import com.twitter.product_mixer.component_library.scorer.common.ModelSelector -import com.twitter.product_mixer.core.feature.Feature -import com.twitter.product_mixer.core.feature.featuremap.FeatureMap -import com.twitter.product_mixer.core.feature.featuremap.datarecord.DataRecordConverter -import com.twitter.product_mixer.core.feature.featuremap.datarecord.DataRecordExtractor -import com.twitter.product_mixer.core.feature.featuremap.datarecord.FeaturesScope -import com.twitter.product_mixer.core.functional_component.scorer.Scorer -import com.twitter.product_mixer.core.model.common.CandidateWithFeatures -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.ScorerIdentifier -import scala.collection.JavaConverters._ -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.product_mixer.core.pipeline.pipeline_failure.IllegalStateFailure -import com.twitter.product_mixer.core.pipeline.pipeline_failure.PipelineFailure -import com.twitter.stitch.Stitch -import com.twitter.util.Future - -abstract class BaseDeepbirdV2Scorer[ - Query <: PipelineQuery, - Candidate <: UniversalNoun[Any], - QueryFeatures <: BaseDataRecordFeature[Query, _], - CandidateFeatures <: BaseDataRecordFeature[Candidate, _], - ResultFeatures <: BaseDataRecordFeature[Candidate, _] -]( - override val identifier: ScorerIdentifier, - modelIdSelector: ModelSelector[Query], - queryFeatures: FeaturesScope[QueryFeatures], - candidateFeatures: FeaturesScope[CandidateFeatures], - resultFeatures: Set[ResultFeatures]) - extends Scorer[Query, Candidate] { - - private val queryDataRecordConverter = new DataRecordConverter(queryFeatures) - private val candidateDataRecordConverter = new DataRecordConverter(candidateFeatures) - private val resultDataRecordExtractor = new DataRecordExtractor(resultFeatures) - - require(resultFeatures.nonEmpty, "Result features cannot be empty") - override val features: Set[Feature[_, _]] = resultFeatures.asInstanceOf[Set[Feature[_, _]]] - def getBatchPredictions( - request: BatchPredictionRequest, - modelSelector: TModelSelector - ): Future[BatchPredictionResponse] - - override def apply( - query: Query, - candidates: Seq[CandidateWithFeatures[Candidate]] - ): Stitch[Seq[FeatureMap]] = { - // Convert all candidate feature maps to java datarecords then to scala datarecords. - val thriftCandidateDataRecords = candidates.map { candidate => - candidateDataRecordConverter.toDataRecord(candidate.features) - } - - val request = new BatchPredictionRequest(thriftCandidateDataRecords.asJava) - - // Convert the query feature map to data record if available. - query.features.foreach { featureMap => - request.setCommonFeatures(queryDataRecordConverter.toDataRecord(featureMap)) - } - - val modelSelector = modelIdSelector - .apply(query).map { id => - val selector = new TModelSelector() - selector.setId(id) - selector - }.orNull - - Stitch.callFuture(getBatchPredictions(request, modelSelector)).map { response => - val dataRecords = Option(response.predictions).map(_.asScala).getOrElse(Seq.empty) - buildResults(candidates, dataRecords) - } - } - - private def buildResults( - candidates: Seq[CandidateWithFeatures[Candidate]], - dataRecords: Seq[DataRecord] - ): Seq[FeatureMap] = { - if (dataRecords.size != candidates.size) { - throw PipelineFailure(IllegalStateFailure, "Result Size mismatched candidates size") - } - - dataRecords.map { resultDataRecord => - resultDataRecordExtractor.fromDataRecord(resultDataRecord) - } - } -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/DeepbirdV2PredictionServerScorer.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/DeepbirdV2PredictionServerScorer.docx new file mode 100644 index 0000000000000000000000000000000000000000..b4ae0720d04cd7b41343f07972369b4d8c3492fa GIT binary patch literal 37541 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%0AC9Qz)nOqG+>GL7;G$Te~u+xfC#M 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 literal 0 HcmV?d00001 diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/DeepbirdV2PredictionServerScorer.scala b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/DeepbirdV2PredictionServerScorer.scala deleted file mode 100644 index 330706490..000000000 --- a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/DeepbirdV2PredictionServerScorer.scala +++ /dev/null @@ -1,55 +0,0 @@ -package com.twitter.product_mixer.component_library.scorer.deepbird - -import com.twitter.cortex.deepbird.{thriftjava => t} -import com.twitter.ml.prediction_service.BatchPredictionRequest -import com.twitter.ml.prediction_service.BatchPredictionResponse -import com.twitter.product_mixer.component_library.scorer.common.ModelSelector -import com.twitter.product_mixer.core.feature.datarecord.BaseDataRecordFeature -import com.twitter.product_mixer.core.feature.featuremap.datarecord.FeaturesScope -import com.twitter.product_mixer.core.model.common.UniversalNoun -import com.twitter.product_mixer.core.model.common.identifier.ScorerIdentifier -import com.twitter.product_mixer.core.pipeline.PipelineQuery -import com.twitter.util.Future - -/** - * Configurable Scorer that calls any Deepbird Prediction Service thrift. - * @param identifier Unique identifier for the scorer - * @param predictionService The Prediction Thrift Service - * @param modelSelector Model ID Selector to decide which model to select, can also be represented - * as an anonymous function: { query: Query => Some("Ex") } - * @param queryFeatures The Query Features to convert and pass to the deepbird model. - * @param candidateFeatures The Candidate Features to convert and pass to the deepbird model. - * @param resultFeatures The Candidate features returned by the model. - * @tparam Query Type of pipeline query. - * @tparam Candidate Type of candidates to score. - * @tparam QueryFeatures type of the query level features consumed by the scorer. - * @tparam CandidateFeatures type of the candidate level features consumed by the scorer. - * @tparam ResultFeatures type of the candidate level features returned by the scorer. - */ -case class DeepbirdV2PredictionServerScorer[ - Query <: PipelineQuery, - Candidate <: UniversalNoun[Any], - QueryFeatures <: BaseDataRecordFeature[Query, _], - CandidateFeatures <: BaseDataRecordFeature[Candidate, _], - ResultFeatures <: BaseDataRecordFeature[Candidate, _] -]( - override val identifier: ScorerIdentifier, - predictionService: t.DeepbirdPredictionService.ServiceToClient, - modelSelector: ModelSelector[Query], - queryFeatures: FeaturesScope[QueryFeatures], - candidateFeatures: FeaturesScope[CandidateFeatures], - resultFeatures: Set[ResultFeatures]) - extends BaseDeepbirdV2Scorer[ - Query, - Candidate, - QueryFeatures, - CandidateFeatures, - ResultFeatures - ](identifier, modelSelector, queryFeatures, candidateFeatures, resultFeatures) { - - override def getBatchPredictions( - request: BatchPredictionRequest, - modelSelector: t.ModelSelector - ): Future[BatchPredictionResponse] = - predictionService.batchPredictFromModel(request, modelSelector) -} diff --git a/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/LollyPredictionEngineScorer.docx b/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/scorer/deepbird/LollyPredictionEngineScorer.docx new file mode 100644 index 0000000000000000000000000000000000000000..8739307df730f991f64aab54f2ab599826e0720e GIT binary patch literal 37577 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